All of lore.kernel.org
 help / color / mirror / Atom feed
From: Colin Watson <cjwatson@ubuntu.com>
To: The development of GRUB 2 <grub-devel@gnu.org>
Cc: Robert Millan <rmh@aybabtu.com>
Subject: Re: multiboot take partial mmap
Date: Fri, 5 Jun 2009 10:10:52 +0100	[thread overview]
Message-ID: <20090605091052.GN7367@riva.ucam.org> (raw)
In-Reply-To: <d7ead6de0906041824i3dfc7e50p180cf73a9747b2fe@mail.gmail.com>

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<dron@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.

-- 
Colin Watson                                       [cjwatson@ubuntu.com]



  parent reply	other threads:[~2009-06-05  9:11 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-03 19:52 multiboot take partial mmap Andrey Valyaev
2009-06-03 23:18 ` Vladimir 'phcoder' Serbinenko
2009-06-04 20:07   ` Andrey Valyaev
2009-06-05  1:24     ` Vladimir 'phcoder' Serbinenko
2009-06-05  4:02       ` Andrey Valyaev
2009-06-05  9:10       ` Colin Watson [this message]
2009-06-08 20:43         ` Vladimir 'phcoder' Serbinenko
2009-06-08 21:03           ` Colin Watson
2009-06-05 16:45       ` Robert Millan
2009-06-05 17:03         ` Colin Watson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090605091052.GN7367@riva.ucam.org \
    --to=cjwatson@ubuntu.com \
    --cc=grub-devel@gnu.org \
    --cc=rmh@aybabtu.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.