New type of packages? "foo-profile"
Kevin Kofler
kevin.kofler at chello.at
Thu Apr 12 00:58:20 UTC 2012
Ryan Lewis wrote:
> I'm proposing that we consider a new type of extra software package:
> foo-profile. This
> package would be close to a "release" build of software, but, would
> have options such as
> "-fno-emit-frame-pointer" enabled.
>
> Having stack frame pointers enabled within libraries is extremely
> valuable for profiling.
> When you have complex scientific codes it can be challenging to
> pinpoint from where the symbol
> __pthread_cond_wait is being hit the most from. On the other hand
> using a debug compilation
> means that you can't be sure that you are profiling something at all
> similar to what happens when
> you enable optimizations.
>
> Thoughts?
That's not reasonable at all, as it'd double the build efforts for every
Fedora package.
You have to know that we also DO NOT build separate debug and release
builds. We build our packages once, with optimization enabled and with
debugging information. Then RPM runs a tool called eu-strip which separates
the stripped executable from the debugging information: The stripped
executable ends up in the main package or some subpackage, the debugging
information ends up in the -debuginfo package. There are no debug binaries,
only stripped binaries and separate debuginfo files (which, together, are
equivalent to a binary with debugging information included).
As for backtraces with frame pointers omitted, that's what unwinding
information (part of the debugging information we generate) is for. GCC and
GDB have made a lot of progress on allowing to debug optimized binaries (and
for the special case of unwinding, unwinding libraries such as libunwind
should work fine with unwinding information and without frame pointer too).
Kevin Kofler
More information about the devel
mailing list