gcc build with -O0 results in corrupted -debuginfo package
h.reindl at thelounge.net
Fri Apr 25 14:50:38 UTC 2014
Am 25.04.2014 16:43, schrieb Petr Spacek:
> On 25.4.2014 16:28, Reindl Harald wrote:
>> Am 25.04.2014 16:10, schrieb Petr Spacek:
>>> I'm trying to rebuild bind-9.9.4-12.P2.fc20.src.rpm with
>>> CFLAGS="$CFLAGS $RPM_OPT_FLAGS -O0 -ggdb".
>>> I did the simplest possible thing - edited the original spec file (see spec.diff) and built the package:
>>> $ rpmbuild -ba bind.spec
>>> The package builds and BIND itself seems to work. The problem is that new debuginfo package is missing 118 out of
>>> 283 header files in /usr/src/debug/bind-9.9.4-P2.
>>> It seems that "-O0" alone (instead of "-O0 -ggdb") causes the same problem.
>>> I would be glad if anyone can give me advice how to debug this.
>>> Original packages from Fedora 20 (with all headers in /usr/src/debug):
>>> Packages built with -O0 -ggdb (scratch build):
>> just don't do that
> I'm going to reproduce and debug issue in named. Do you see any specific reason
> why I should use -O2 for serious debugging/development sessions?
no but then don't include $CFLAGS $RPM_OPT_FLAGS
>> and read compiler warnings
> Thank you very much for your very helpful advice! :-)
>> the debuginfo package is your smallest problem
> I'm afraid it is not
please look at the whole picture of the FLAGS you are using
>> you just kill security features like D_FORTIFY_SOURCE with -O0
>> warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
> I think my use case justifies it
but it don't justify incompatible flags
IMHO you enter the area of "undefined behavior" with that
-D_FORTIFY_SOURCE=2 is part of the Fedora default flags
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 246 bytes
Desc: OpenPGP digital signature
More information about the devel