[2.24 COMMITTED] x86: Use sysdep.o from libc.a in static libraries

Florian Weimer fweimer@redhat.com
Fri Jan 1 00:00:00 GMT 2016


Static libraries can use the sysdep.o copy in libc.a without
a performance penalty.  This results in a visible difference
if libpthread.a is relinked into a single object file (which
is needed to support libraries which check for the presence
of certain symbols to enable threading support, which generally
fails with static linking unless libpthread.a is relinked).

(cherry picked from commit e67330ab57bfd0f964539576ae7dcc658c456724)

2016-08-04  Florian Weimer  <fweimer@redhat.com>

	Use sysdep.o from libc.a in static libraries.
	* sysdeps/unix/sysv/linux/i386/Makefile
	(libpthread-shared-only-routines): Add sysdep.
	(librt-shared-only-routines): Likewise.

diff --git a/sysdeps/unix/sysv/linux/i386/Makefile b/sysdeps/unix/sysv/linux/i386/Makefile
index 71ba61e..b015ff7 100644
--- a/sysdeps/unix/sysv/linux/i386/Makefile
+++ b/sysdeps/unix/sysv/linux/i386/Makefile
@@ -48,9 +48,11 @@ endif
 ifeq ($(subdir),nptl)
 # pull in __syscall_error routine
 libpthread-routines += sysdep
+libpthread-shared-only-routines += sysdep
 endif
 
 ifeq ($(subdir),rt)
 # pull in __syscall_error routine
 librt-routines += sysdep
+librt-shared-only-routines += sysdep
 endif



More information about the Libc-stable mailing list