grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: multiboot take partial mmap


From: Vladimir 'phcoder' Serbinenko
Subject: Re: multiboot take partial mmap
Date: Mon, 8 Jun 2009 22:43:42 +0200

On Fri, Jun 5, 2009 at 11:10 AM, Colin Watson<address@hidden> 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<address@hidden> 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                                       address@hidden
>
>
> _______________________________________________
> Grub-devel mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/grub-devel
>



-- 
Regards
Vladimir 'phcoder' Serbinenko




reply via email to

[Prev in Thread] Current Thread [Next in Thread]