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