Massive eh_frame bloat in busybox (stripped)
Rich Felker
dalias at aerifal.cx
Fri May 11 03:47:21 UTC 2012
On Thu, May 10, 2012 at 07:21:47PM +0300, Timo Teras wrote:
> > It's used for C++ exceptions, which the GCC developers believe should
> > be in C too... Also for backtrace, but that falls under debugging.
>
> And also by pthreads when a thread is cancelled.
This ia a consequence of NPTL's pthread cancellation being implemented
as a C++ exception. And it has really nasty consequences, like the
fact that your program gets aborted if dlopen'ing libgcc_s.so fails
(which could happen because of memory or fd exhaustion, etc.). I
consider this a fatal quality-of-implementation flaw...
> Also note that if unwinding is needed, the absence of .eh_frame may
> crash the program (especially if compiled with -fomit-framepointer).
Yes. But again that's a consequence of being implemented as
exceptions.
Rich
More information about the busybox
mailing list