On Wed, Feb 22, 2012 at 05:50:31PM +0100, Vladimir 'φ-coder/phcoder' Serbinenko wrote: > === modified file 'conf/Makefile.common' > --- conf/Makefile.common 2012-02-22 15:27:39 +0000 > +++ conf/Makefile.common 2012-02-22 16:29:31 +0000 > @@ -104,7 +104,7 @@ > CFLAGS_GCRY = -Wno-error -Wno-missing-field-initializers > CPPFLAGS_GCRY = -I$(top_srcdir)/grub-core/lib/libgcrypt_wrap > > -CFLAGS_GNULIB = -Wno-undef -Wno-sign-compare -Wno-unused > -Wno-unused-parameter -Wno-redundant-decls -Wno-unreachable-code > -Wno-conversion -Wno-old-style-definition > +CFLAGS_GNULIB = -Wno-undef -Wno-sign-compare -Wno-unused > -Wno-unused-parameter -Wno-redundant-decls -Wno-unreachable-code > -Wno-conversion -Wno-old-style-definition -Wno-unsafe-loop-optimisations > CPPFLAGS_GNULIB = -I$(top_builddir)/grub-core/gnulib > -I$(top_srcdir)/grub-core/gnulib > > CFLAGS_POSIX = -fno-builtin > > === modified file 'configure.ac' > --- configure.ac 2012-02-22 03:56:45 +0000 > +++ configure.ac 2012-02-22 16:32:32 +0000 > @@ -377,7 +377,7 @@ > LIBS="" > > # debug flags. > -WARN_FLAGS="-Wall -W -Wshadow -Wold-style-declaration -Wold-style-definition > -Wpointer-arith -Wundef -Wextra -Waddress -Warray-bounds -Wattributes > -Wbuiltin-macro-redefined -Wcast-align -Wchar-subscripts -Wclobbered > -Wcomment -Wcoverage-mismatch -Wdeprecated -Wdeprecated-declarations > -Wdisabled-optimization -Wdiv-by-zero -Wempty-body -Wendif-labels > -Wfloat-equal -Wformat-contains-nul -Wformat-extra-args -Wformat-security > -Wformat-y2k -Wignored-qualifiers -Wimplicit -Wimplicit-function-declaration > -Wimplicit-int -Winit-self -Wint-to-pointer-cast -Winvalid-pch > -Wunsafe-loop-optimizations -Wlogical-op -Wmain -Wmissing-braces > -Wmissing-field-initializers -Wmissing-format-attribute -Wmissing-noreturn > -Wmudflap -Wmultichar -Wnonnull -Woverflow -Wpacked-bitfield-compat > -Wparentheses -Wpointer-arith -Wpointer-to-int-cast -Wreturn-type > -Wsequence-point -Wshadow -Wsign-compare -Wstrict-aliasing -Wswitch > -Wsync-nand -Wtrigraphs -Wtype-limits -Wundef -Wuninitialized > -Wunknown-pragmas -Wunused -Wunused-function -Wunused-label > -Wunused-parameter -Wunused-value -Wunused-variable -Wvariadic-macros > -Wvolatile-register-var -Wwrite-strings -Wmissing-declarations > -Wmissing-parameter-type -Wmissing-prototypes -Wnested-externs > -Wstrict-prototypes -Wpointer-sign" > +WARN_FLAGS="-Wall -W -Wshadow -Wold-style-declaration -Wold-style-definition > -Wpointer-arith -Wundef -Wextra -Waddress -Warray-bounds -Wattributes > -Wbuiltin-macro-redefined -Wcast-align -Wchar-subscripts -Wclobbered > -Wcomment -Wcoverage-mismatch -Wdeprecated -Wdeprecated-declarations > -Wdisabled-optimization -Wdiv-by-zero -Wempty-body -Wendif-labels > -Wfloat-equal -Wformat-contains-nul -Wformat-extra-args -Wformat-security > -Wformat-y2k -Wignored-qualifiers -Wimplicit -Wimplicit-function-declaration > -Wimplicit-int -Winit-self -Wint-to-pointer-cast -Winvalid-pch > -Wunsafe-loop-optimizations -Wlogical-op -Wmain -Wmissing-braces > -Wmissing-field-initializers -Wmissing-format-attribute -Wmissing-noreturn > -Wmudflap -Wmultichar -Wnonnull -Woverflow -Wpacked-bitfield-compat > -Wparentheses -Wpointer-arith -Wpointer-to-int-cast -Wreturn-type > -Wsequence-point -Wshadow -Wsign-compare -Wstrict-aliasing -Wswitch > -Wsync-nand -Wtrigraphs -Wtype-limits -Wundef -Wuninitialized > -Wunknown-pragmas -Wunused -Wunused-function -Wunused-label > -Wunused-parameter -Wunused-value -Wunused-variable -Wvariadic-macros > -Wvolatile-register-var -Wwrite-strings -Wmissing-declarations > -Wmissing-parameter-type -Wnested-externs -Wstrict-prototypes -Wpointer-sign" > HOST_CFLAGS="$HOST_CFLAGS $WARN_FLAGS" > TARGET_CFLAGS="$TARGET_CFLAGS $WARN_FLAGS -g -Wredundant-decls > -Wmissing-prototypes" > TARGET_CCASFLAGS="$TARGET_CCASFLAGS -g" [snip]
OK I checked out the latest bzr tree, and applied this patch. I now get: ../../grub-core/gnulib/argp.h:610:1: warning: no previous declaration for 'argp_usage' [-Wmissing-declarations] ../../grub-core/gnulib/argp.h:616:1: warning: no previous declaration for '_option_is_short' [-Wmissing-declarations] ../../grub-core/gnulib/argp.h:628:1: warning: no previous declaration for '_option_is_end' [-Wmissing-declarations] instead of the missing prototypes. Other than that we are down to: ../../grub-core/disk/ldm.c:834: warning: 'res_lv' may be used uninitialized in this function cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" ../../grub-core/lib/minilzo/minilzo.c:4187: warning: logical '&&' with non-zero constant will always evaluate as true ../../grub-core/lib/minilzo/minilzo.c:4526: warning: logical '&&' with non-zero constant will always evaluate as true grub_script.tab.c:2134: warning: cannot optimize loop, the loop counter may overflow ../../grub-core/lib/libgcrypt-grub/cipher/serpent.c:591: warning: comparison between signed and unsigned integer expressions ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:173: warning: comparison between signed and unsigned integer expressions ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:324: warning: dereferencing type-punned pointer will break strict-aliasing rules ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:324: warning: dereferencing type-punned pointer will break strict-aliasing rules ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:347: warning: dereferencing type-punned pointer will break strict-aliasing rules ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:371: warning: dereferencing type-punned pointer will break strict-aliasing rules ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:515: warning: dereferencing type-punned pointer will break strict-aliasing rules ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:539: warning: dereferencing type-punned pointer will break strict-aliasing rules ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:562: warning: dereferencing type-punned pointer will break strict-aliasing rules ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:582: warning: dereferencing type-punned pointer will break strict-aliasing rules cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" ../../util/grub-mkfont.c:720: warning: cannot optimize possibly infinite loops cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" ../../../grub-core/gnulib/regexec.c:2802: warning: cannot optimize possibly infinite loops ../../../grub-core/gnulib/regexec.c:2443: warning: cannot optimize possibly infinite loops ../../../grub-core/gnulib/regcomp.c:2588: warning: cannot optimize possibly infinite loops ../../../grub-core/gnulib/regcomp.c:2554: warning: cannot optimize possibly infinite loops cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" ../../../grub-core/normal/charset.c:737: warning: cannot optimize possibly infinite loops grub_script.tab.c:2134: warning: cannot optimize loop, the loop counter may overflow ../../../grub-core/net/net.c:621: warning: cannot optimize possibly infinite loops ../../../grub-core/commands/legacycfg.c:567: warning: cannot optimize loop, the loop counter may overflow ../../../grub-core/lib/minilzo/minilzo.c:4187: warning: logical '&&' with non-zero constant will always evaluate as true ../../../grub-core/lib/minilzo/minilzo.c:4526: warning: logical '&&' with non-zero constant will always evaluate as true ../../../grub-core/lib/libgcrypt-grub/cipher/serpent.c:591: warning: comparison between signed and unsigned integer expressions ../../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:173: warning: comparison between signed and unsigned integer expressions grub.po: warning: Charset "CHARSET" is not a portable encoding name. ../../grub-core/disk/ldm.c:834: warning: 'res_lv' may be used uninitialized in this function cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" ../../grub-core/lib/minilzo/minilzo.c:4187: warning: logical '&&' with non-zero constant will always evaluate as true ../../grub-core/lib/minilzo/minilzo.c:4526: warning: logical '&&' with non-zero constant will always evaluate as true grub_script.tab.c:2134: warning: cannot optimize loop, the loop counter may overflow ../../grub-core/lib/libgcrypt-grub/cipher/serpent.c:591: warning: comparison between signed and unsigned integer expressions ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:173: warning: comparison between signed and unsigned integer expressions ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:324: warning: dereferencing type-punned pointer will break strict-aliasing rules ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:324: warning: dereferencing type-punned pointer will break strict-aliasing rules ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:347: warning: dereferencing type-punned pointer will break strict-aliasing rules ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:371: warning: dereferencing type-punned pointer will break strict-aliasing rules ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:515: warning: dereferencing type-punned pointer will break strict-aliasing rules ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:539: warning: dereferencing type-punned pointer will break strict-aliasing rules ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:562: warning: dereferencing type-punned pointer will break strict-aliasing rules ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:582: warning: dereferencing type-punned pointer will break strict-aliasing rules cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" ../../util/grub-mkfont.c:720: warning: cannot optimize possibly infinite loops cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" ../../../grub-core/gnulib/regexec.c:2802: warning: cannot optimize possibly infinite loops ../../../grub-core/gnulib/regexec.c:2443: warning: cannot optimize possibly infinite loops ../../../grub-core/gnulib/regcomp.c:2588: warning: cannot optimize possibly infinite loops ../../../grub-core/gnulib/regcomp.c:2554: warning: cannot optimize possibly infinite loops cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" ../../../grub-core/normal/charset.c:737: warning: cannot optimize possibly infinite loops grub_script.tab.c:2134: warning: cannot optimize loop, the loop counter may overflow ../../../grub-core/net/net.c:621: warning: cannot optimize possibly infinite loops ../../../grub-core/lib/minilzo/minilzo.c:4187: warning: logical '&&' with non-zero constant will always evaluate as true ../../../grub-core/lib/minilzo/minilzo.c:4526: warning: logical '&&' with non-zero constant will always evaluate as true ../../../grub-core/lib/libgcrypt-grub/cipher/serpent.c:591: warning: comparison between signed and unsigned integer expressions ../../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:173: warning: comparison between signed and unsigned integer expressions Apparently gcc 4.4 doesn't like -Wno-unsafe-loop-optimisations. Neither does gcc 4.6: ../../grub-core/disk/ldm.c:850:6: warning: 'res_lv' may be used uninitialized in this function [-Wuninitialized] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] ../../grub-core/lib/libgcrypt-grub/cipher/serpent.c:591:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:173:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:324:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:324:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:347:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:371:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:515:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:539:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:562:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:582:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] ../../util/grub-mkfont.c:720:7: warning: cannot optimize possibly infinite loops [-Wunsafe-loop-optimizations] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] ../../../grub-core/normal/charset.c:737:6: warning: cannot optimize possibly infinite loops [-Wunsafe-loop-optimizations] ../../../grub-core/commands/legacycfg.c:567:3: warning: cannot optimize loop, the loop counter may overflow [-Wunsafe-loop-optimizations] ../../../grub-core/lib/libgcrypt-grub/cipher/serpent.c:591:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] ../../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:173:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] grub.po: warning: Charset "CHARSET" is not a portable encoding name. ../../grub-core/disk/ldm.c:850:6: warning: 'res_lv' may be used uninitialized in this function [-Wuninitialized] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] ../../grub-core/lib/libgcrypt-grub/cipher/serpent.c:591:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:173:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:324:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:324:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:347:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:371:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:515:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:539:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:562:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] ../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:582:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] ../../util/grub-mkfont.c:720:7: warning: cannot optimize possibly infinite loops [-Wunsafe-loop-optimizations] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] cc1: warning: unrecognized command line option "-Wno-unsafe-loop-optimisations" [enabled by default] ../../../grub-core/normal/charset.c:737:6: warning: cannot optimize possibly infinite loops [-Wunsafe-loop-optimizations] ../../../grub-core/lib/libgcrypt-grub/cipher/serpent.c:591:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] ../../../grub-core/lib/libgcrypt-grub/cipher/rijndael.c:173:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] I don't think -Wno-unsafe-loop-optimisations is valid. One has to remove -Wunsafe-loop-optimisations instead, which is currently in WARN_FLAGS. -- Len Sorensen _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel