diff mbox

Btrfs-progs: -U_FORTIFY_SOURCE before -D

Message ID 1360366221-22703-1-git-send-email-pomac@demius.net (mailing list archive)
State Accepted, archived
Headers show

Commit Message

Ian Kumlien Feb. 8, 2013, 11:30 p.m. UTC
My builds are cluttered with:
<command-line>:0:0: warning: "_FORTIFY_SOURCE" redefined [enabled by
default]

Which makes it hard to tell if something breaks or not.

Signed-off-by: Ian Kumlien <pomac@demius.net>
---

I don't know about you, but bilding with 
GCC 4.7.2 on gentoo, this is a issue.

 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Sergei Trofimovich Feb. 9, 2013, 6:02 p.m. UTC | #1
On Sat,  9 Feb 2013 00:30:21 +0100
Ian Kumlien <pomac@demius.net> wrote:

> My builds are cluttered with:
> <command-line>:0:0: warning: "_FORTIFY_SOURCE" redefined [enabled by
> default]
> 
> Which makes it hard to tell if something breaks or not.

> I don't know about you, but bilding with 
> GCC 4.7.2 on gentoo, this is a issue.

Unfortunately it's a gentoo specific gcc bug. I'd suggest reporting
it to bugs.gentoo.org. That -D by default breaks linux's perf as well
(due to -D_FOTIFY_SOURCE=2 -Werror in perf sources).

Current workaround is to pass AM_CFLAGS to make:
    make AM_CFLAGS=stuff_w/o_fortify_source
It's what gentoo's live ebuild does.
Ian Kumlien Feb. 9, 2013, 6:57 p.m. UTC | #2
On Sat, Feb 09, 2013 at 09:02:06PM +0300, Sergei Trofimovich wrote:
> On Sat,  9 Feb 2013 00:30:21 +0100
> Ian Kumlien <pomac@demius.net> wrote:
> 
> > My builds are cluttered with:
> > <command-line>:0:0: warning: "_FORTIFY_SOURCE" redefined [enabled by
> > default]
> > 
> > Which makes it hard to tell if something breaks or not.
> 
> > I don't know about you, but bilding with 
> > GCC 4.7.2 on gentoo, this is a issue.
> 
> Unfortunately it's a gentoo specific gcc bug. I'd suggest reporting
> it to bugs.gentoo.org. That -D by default breaks linux's perf as well
> (due to -D_FOTIFY_SOURCE=2 -Werror in perf sources).

Is it? There is a workaround in the android build system for compilers
on ubuntu.

Where can i find that bug report?

This is not a emerge, this is a normal system build.

> Current workaround is to pass AM_CFLAGS to make:
>     make AM_CFLAGS=stuff_w/o_fortify_source
> It's what gentoo's live ebuild does.

I can't see it here in the live ebuild... 

> -- 
> 
>   Sergei


--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Sergei Trofimovich Feb. 9, 2013, 10:06 p.m. UTC | #3
On Sat, 9 Feb 2013 19:57:20 +0100
Ian Kumlien <pomac@vapor.com> wrote:

> On Sat, Feb 09, 2013 at 09:02:06PM +0300, Sergei Trofimovich wrote:
> > On Sat,  9 Feb 2013 00:30:21 +0100
> > Ian Kumlien <pomac@demius.net> wrote:
> > 
> > > My builds are cluttered with:
> > > <command-line>:0:0: warning: "_FORTIFY_SOURCE" redefined [enabled by
> > > default]
> > > 
> > > Which makes it hard to tell if something breaks or not.
> > 
> > > I don't know about you, but bilding with 
> > > GCC 4.7.2 on gentoo, this is a issue.
> > 
> > Unfortunately it's a gentoo specific gcc bug. I'd suggest reporting
> > it to bugs.gentoo.org. That -D by default breaks linux's perf as well
> > (due to -D_FOTIFY_SOURCE=2 -Werror in perf sources).
> 
> Is it? There is a workaround in the android build system for compilers
> on ubuntu.
> 
> Where can i find that bug report?

I think you need to fill the new one.

> This is not a emerge, this is a normal system build.

Yeah, gentoo has patched gcc specs so you get -D_FORTIFY_SOURCE=2
in gcc command line by default.

http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/10_all_default-fortify-source.patch?view=markup

> > Current workaround is to pass AM_CFLAGS to make:
> >     make AM_CFLAGS=stuff_w/o_fortify_source
> > It's what gentoo's live ebuild does.
> 
> I can't see it here in the live ebuild... 

sys-fs/btrfs-progs/btrfs-progs-9999.ebuild:
...
src_compile() {
        emake \
                CC="$(tc-getCC)" \
                AM_CFLAGS=-D_FILE_OFFSET_BITS=64 \
                ...
}

This line overrides in-Makefiles AM_CFLAGS.
Ian Kumlien Feb. 9, 2013, 10:33 p.m. UTC | #4
On Sun, Feb 10, 2013 at 01:06:26AM +0300, Sergei Trofimovich wrote:
> On Sat, 9 Feb 2013 19:57:20 +0100
> Ian Kumlien <pomac@vapor.com> wrote:
> 
> > On Sat, Feb 09, 2013 at 09:02:06PM +0300, Sergei Trofimovich wrote:
> > > On Sat,  9 Feb 2013 00:30:21 +0100
> > > Ian Kumlien <pomac@demius.net> wrote:
> > > 
> > > > My builds are cluttered with:
> > > > <command-line>:0:0: warning: "_FORTIFY_SOURCE" redefined [enabled by
> > > > default]
> > > > 
> > > > Which makes it hard to tell if something breaks or not.
> > > 
> > > > I don't know about you, but bilding with 
> > > > GCC 4.7.2 on gentoo, this is a issue.
> > > 
> > > Unfortunately it's a gentoo specific gcc bug. I'd suggest reporting
> > > it to bugs.gentoo.org. That -D by default breaks linux's perf as well
> > > (due to -D_FOTIFY_SOURCE=2 -Werror in perf sources).
> > 
> > Is it? There is a workaround in the android build system for compilers
> > on ubuntu.
> > 
> > Where can i find that bug report?
> 
> I think you need to fill the new one.
> 
> > This is not a emerge, this is a normal system build.
> 
> Yeah, gentoo has patched gcc specs so you get -D_FORTIFY_SOURCE=2
> in gcc command line by default.
> 
> http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo/src/patchsets/gcc/4.6.0/gentoo/10_all_default-fortify-source.patch?view=markup

Actually they don't patch the specs they patch the source.

If they'd patched the specs i would have found it, i actually checked
gcc -dumpspecs

Again, is there any harm in adding this patch? Apparently other distors
has done the same...

> > > Current workaround is to pass AM_CFLAGS to make:
> > >     make AM_CFLAGS=stuff_w/o_fortify_source
> > > It's what gentoo's live ebuild does.
> > 
> > I can't see it here in the live ebuild... 
> 
> sys-fs/btrfs-progs/btrfs-progs-9999.ebuild:
> ...
> src_compile() {
>         emake \
>                 CC="$(tc-getCC)" \
>                 AM_CFLAGS=-D_FILE_OFFSET_BITS=64 \
>                 ...
> }
> 
> This line overrides in-Makefiles AM_CFLAGS.

Must have changed recently... Was it changed on the 4:th, 5 days ago?

> -- 
> 
>   Sergei


--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Sterba Feb. 12, 2013, 2:18 p.m. UTC | #5
On Sat, Feb 09, 2013 at 09:02:06PM +0300, Sergei Trofimovich wrote:
> On Sat,  9 Feb 2013 00:30:21 +0100
> Ian Kumlien <pomac@demius.net> wrote:
> 
> > My builds are cluttered with:
> > <command-line>:0:0: warning: "_FORTIFY_SOURCE" redefined [enabled by
> > default]
> > 
> > Which makes it hard to tell if something breaks or not.
> 
> > I don't know about you, but bilding with 
> > GCC 4.7.2 on gentoo, this is a issue.
> 
> Unfortunately it's a gentoo specific gcc bug. I'd suggest reporting
> it to bugs.gentoo.org. That -D by default breaks linux's perf as well
> (due to -D_FOTIFY_SOURCE=2 -Werror in perf sources).
> 
> Current workaround is to pass AM_CFLAGS to make:
>     make AM_CFLAGS=stuff_w/o_fortify_source
> It's what gentoo's live ebuild does.

The fortify flag was added without a special reason, it's good to have
it. I'm ok with adding the forced undefine to keep the build quiet and
working as specified in the Makefile.

david
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/Makefile b/Makefile
index afd6cb2..ae3abdc 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@ 
 CC = gcc
-AM_CFLAGS = -Wall -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2
+AM_CFLAGS = -Wall -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2
 CFLAGS = -g -O1
 objects = ctree.o disk-io.o radix-tree.o extent-tree.o print-tree.o \
 	  root-tree.o dir-item.o file-item.o inode-item.o \