On Fri, Jun 5, 2009 at 11:10 AM, Colin Watson<cjwat...@ubuntu.com> wrote: > On Fri, Jun 05, 2009 at 03:24:09AM +0200, Vladimir 'phcoder' Serbinenko wrote: >> On Thu, Jun 4, 2009 at 10:07 PM, Andrey Valyaev<d...@osrc.info> wrote: >> > PS: latest svn revision (from 2243) failed with message: >> > >> > gcc -Icommands -I./commands -I. -I./include -I./include -Wall -W -Wall -W >> > - >> > Wshadow -Wpointer-arith -Wmissing-prototypes -Wundef - >> > Wstrict-prototypes -g -Os -falign-jumps=1 -falign-loops=1 >> > -falign-functions=1 >> > -m32 -fno-stack-protector -mno-stack-arg-probe -fno-builtin -mrtd >> > -mregparm=3 >> > -m32 -Werror -Wall -MD -c -o search_mod-commands_search.o commands/search.c >> > cc1: warnings being treated as errors >> > commands/search.c: In function 'search_fs': >> > commands/search.c:42: error: generating trampoline in object (requires >> > executable stack) >> > commands/search.c: In function 'grub_cmd_search': >> > commands/search.c:105: error: generating trampoline in object (requires >> > executable stack) >> > make[1]: *** [search_mod-commands_search.o] Error 1 >> > >> > $ gcc --version >> > gcc (Gentoo 4.3.3-r2 p1.1, pie-10.1.5) 4.3.3 >> > >> This is because of commit 2243 by Robert Millan. The commit was about >> floppy probing but also added -Wall -Werror to search.mod >> I myself stepped on this mine once with adding -Wall -Werror to my xnu >> module. >> I'll revert this change (only -Werror, not the rest of commit) as it >> causes build error for all gentoo users. Sorry, Robert, but we can't >> enable -Werror and still have nested functions. I don't think we >> should use -Werror at all because different compilers, versions or >> modifications of same compiler cause different warnings and imho >> maintaintaining cost is too high and breaks are too frequent. Or >> perhaps we can enable -Werror only on some compilers? Or perhaps >> anyone has a better idea > > You could use -Wno-trampolines (IIRC that's the spelling) on Gentoo's > patched GCC; it's generally good to minimise unwanted warnings even if > they aren't errors. Here's the macro I use in man-db to add GCC warning > options: > > # man-gcc-warning.m4 serial 1 > dnl MAN_GCC_WARNING(WARNING) > dnl Add -WWARNING to CFLAGS if it is supported by the compiler. > AC_DEFUN([MAN_GCC_WARNING], > [man_saved_CFLAGS="$CFLAGS" > CFLAGS="$CFLAGS -W$1" > AC_CACHE_CHECK([that GCC supports -W$1], > [AS_TR_SH([man_cv_gcc_warning_$1])], > [AS_TR_SH([man_cv_gcc_warning_$1])=no > AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], > [AS_TR_SH([man_cv_gcc_warning_$1])=yes])]) > if test "$AS_TR_SH([man_cv_gcc_warning_$1])" = no; then > CFLAGS="$man_saved_CFLAGS" > fi]) # MAN_GCC_WARNING > > I then use this in configure.ac: > > if test "$GCC" = yes > then > MAN_GCC_WARNING([]) # -W > MAN_GCC_WARNING([pointer-arith]) > MAN_GCC_WARNING([write-strings]) > MAN_GCC_WARNING([strict-prototypes]) > MAN_GCC_WARNING([shadow]) > MAN_GCC_WARNING([format-security]) > MAN_GCC_WARNING([no-missing-field-initializers]) > fi > > Feel free to use and adjust to taste if you want. I think we could use it with -W, -Wall, -Wno-trampolines. Is everybody ok with that? Is this code copyrighted by you? > > -- > Colin Watson [cjwat...@ubuntu.com] > > > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > http://lists.gnu.org/mailman/listinfo/grub-devel >
-- Regards Vladimir 'phcoder' Serbinenko _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel