[Top][All Lists]
[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