This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug dynamic-link/21041] IFUNC setjmp/longjmp in libpthread.so are unsafe


https://sourceware.org/bugzilla/show_bug.cgi?id=21041

--- Comment #14 from Florian Weimer <fweimer at redhat dot com> ---
Created attachment 9776
  --> https://sourceware.org/bugzilla/attachment.cgi?id=9776&action=edit
Patch to remove compatibility symbols from libpthread

(In reply to H.J. Lu from comment #13)
> (In reply to Florian Weimer from comment #12)
> > (In reply to H.J. Lu from comment #10)
> > > Can we simply remove setjmp/longjmp from libpthread.so?
> > 
> > I tried this before, but it does not work with the current dynamic linker:
> > 
> >   https://sourceware.org/ml/libc-alpha/2016-05/msg00176.html
> > 
> > I never received a clarification if this behavior is required, or a dynamic
> > linker bug.
> 
> Do you have a testcase?

Compile glibc with the attached patch and install it.  The system will no
longer boot because of errors like this one:

# /sbin/init
/sbin/init: relocation error: /usr/lib/systemd/libsystemd-shared-232.so: symbol
write, version GLIBC_2.2.5 not defined in file libpthread.so.0 with link time
reference

I'm not sure if this link failure is a dynamic linker bug.  The symbol
versioning specification is ambiguous whether the soname in the version counts
for symbol resolution.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]