GCC 3.4 and glibc/nptl: Cancellation broken
Jakub Jelinek
jakub@redhat.com
Fri Jan 23 15:33:00 GMT 2004
On Fri, Jan 23, 2004 at 04:20:32PM +0100, Michael Matz wrote:
> > *libgcc:
> > %{static|static-libgcc:-lgcc -lgcc_eh} \
> > %{!static:%{!static-libgcc:%{!shared-libgcc:-lgcc --start-only-if-used -lgcc_s%M --end-only-if-used} \
> > %{shared-libgcc:-lgcc_s%M %{!shared:-lgcc}}}}
> >
> > That way, -static or -static-libgcc will link in libgcc.a and libgcc_eh.a,
> > but nothing else. The program/shared library will have DT_NEEDED
> > libgcc_s.so.1 if linked with -shared-libgcc or if some symbol from
> > libgcc_s.so.1 minus libgcc.a was needed by the executable or shared library
> > (e.g. if it used -fexceptions and __attribute__((cleanup)) ).
>
> I see. Especially no non-static programs would link against libgcc_eh.a.
>
> I guess in a static executable (i.e. linked against libgcc_eh) glibc will
> not dlopen libgcc_s.so ? Because otherwise we would have the same
> situation as currently.
glibc doesn't use dlopen on libgcc_s.so.1 in libc.a nor libpthread.a.
Jakub
More information about the Libc-alpha
mailing list