Please do not reply directly to this email. All additional comments should be made in the comments box of this bug report.
Summary: Review Request: ustr - String library, very low memory overhead, simple to import
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=248231
------- Additional Comments From rc040203@freenet.de 2007-07-31 00:03 EST ------- (In reply to comment #19)
Ralf, I'm not sure if you know the context for the above. The Fedora flags are, roughly:
-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
...and you appear to be saying that adding other options is fine, as long as you don't change the behaviour of any of the above?
More or less, yes, that's what I am saying.
The core behind this is: A package's CFLAGS must not use a different ABI.
(although I'd be shocked if nothing did -Wno-* which turned off a -Wall option).
-W* options are warnings. They don't change the ABI.
I can sort of understand it for all of them apart from -O1, but what is the rationale for requiring optimizations at that specific level?
-O* flags imply many other flags and have many side-effects (such as inlining, certain optimizations, certain arch-dependent optimizations etc.), which implicitly gradually change over time.
I.e. what you currently think about -O1 might be true on your current setup, but is not unlikely not apply in 2 years and on other archs. Therefore, using a consistent set of optimizations (RPM_OPT_FLAGS) and not to play tricks with them is important for a distro's quality.
That said, unless there is an inevitable technical requirement (which I don't see in this case), things like -ggdb3 are just silly. Requiring -O1 in almost all cases means a major bug inside of a package and questions its usability.
You are requiring making the debugging worse in Fedora, for no good reason that I can see. If you are going to hold to that line, due to it being policy, I'd like to know how I can go about getting this policy fixed.
In this case, I am going to be hard - Fix the package.