Gentoo Archives: gentoo-user

From: Florian Philipp <lists@×××××××××××.net>
To: gentoo-user@l.g.o
Subject: Re: Devs and rice flags (Was: Re: [gentoo-user] emerge -j, make -j and make -l )
Date: Mon, 28 Nov 2011 19:40:33
Message-Id: 4ED3E30C.8060302@binarywings.net
In Reply to: Re: Devs and rice flags (Was: Re: [gentoo-user] emerge -j, make -j and make -l ) by Michael Mol
1 Am 28.11.2011 20:14, schrieb Michael Mol:
2 > On Mon, Nov 28, 2011 at 1:56 PM, Florian Philipp <lists@×××××××××××.net> wrote:
3 >> Am 28.11.2011 18:56, schrieb Michael Mol:
4 >>> On Mon, Nov 28, 2011 at 11:46 AM, Pandu Poluan <pandu@××××××.info> wrote:
5 >>> No, you've got some ugly flags in there. -fexcess-precision and
6 >>> -funsafe-math-optimizations, in particular. (I must have been talking
7 >>> to someone else last week; sorry, I'm terrible with names.)
8 >>>
9 >>
10 >> I doubt -fexcess-precision=fast does anything at all. Pandu uses an
11 >> AMD64 system, right? Then you have -mfpmath=sse set per default and SSE
12 >> does not have excess precision issues (that's just for the old x87 FPU).
13 >> Even if you used that, is redundant because of your other flags. To
14 >> quote `man gcc`:
15 >> "-fexcess-precision=standard is not implemented for languages other than
16 >> C, and has no effect if -funsafe-math-optimizations or -ffast-math is
17 >> specified." <-- Therefore you always have ..=fast anyway.
18 >>
19 >> -funsafe-math-optimizations is really terrible. Either you us floating
20 >> point arithmetic, then you have to rely on it because it is hard enough
21 >> already to gain necessary precision with it, or you don't, then you
22 >> don't need that flag because it doesn't improve performance.
23 >
24 > I didn't know (or forgot) what arch he was using.
25 >
26 >>> -fomit-frame-pointer shouldn't cause any headaches unless you're
27 >>> feeding a gdb stack trace, and you're not adding any debugging data,
28 >>> so your stack traces would be pretty useless, anyway.
29 >>>
30 >>
31 >> If you are on an AMD64 system, this flag is implied because it doesn't
32 >> affect stack traces on x86_64 anymore.
33 >
34 > AMD64 puts the requisite data in its own register, right?
35 >
36
37 I guess so. Never actually looked up how stack traces are produced. I
38 just reproduced what `man gcc` tells me :)
39
40 > Yeah, it sounds like Pandu's setup CFLAGS can use some cleanup.
41 >
42
43 I wonder how many CPU cycles you save by reducing the number of
44 parameters emerge has to pass to gcc. ;)
45
46 >>> I don't know about -floop-interchange, -floop-strip-mine or
47 >>> -floop-block. I recognize at least one of them from the discussion of
48 >>> graphite the other day.
49 >>>
50 >>
51 >> These definitely need graphite to have any effect. Then they should be
52 >> reasonably safe (as far as anything relying on experimental compiler
53 >> frameworks can be considered safe).
54 >
55 > Upstream devs might take issue with them, but I'm still not sure they
56 > should affect bug reports of build-time failures. I would *hope*
57 > upstream gcc is doing tests on its own build tools compiled with its
58 > graphite optimizations. I don't know about make and autotools, though.
59 >
60
61 Agreed. Even if upstream for failing package doesn't want to handle it,
62 you can still redirect it to the gcc folks. Even a bug report flagged
63 WONTFIX or INVALID is helpful for the next user who stumbles upon weird
64 compile issues.
65
66 Regards,
67 Florian Philipp

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: Devs and rice flags (Was: Re: [gentoo-user] emerge -j, make -j and make -l ) Michael Mol <mikemol@×××××.com>