aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2016-08-04 11:10:57 +0200
committerFlorian Weimer <fweimer@redhat.com>2016-08-04 11:52:46 +0200
commite3e0bedf697c8c5858cd7ad1a541a179a20a6320 (patch)
tree995a98d3973fdd536fd3ab2485a91718cddf6990
parentbbe472f4e02c18f998d8e327f4a0e7c5004c8010 (diff)
downloadglibc-e3e0bedf697c8c5858cd7ad1a541a179a20a6320.tar
glibc-e3e0bedf697c8c5858cd7ad1a541a179a20a6320.tar.gz
glibc-e3e0bedf697c8c5858cd7ad1a541a179a20a6320.tar.bz2
glibc-e3e0bedf697c8c5858cd7ad1a541a179a20a6320.zip
x86: Use sysdep.o from libc.a in static libraries
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)
-rw-r--r--ChangeLog7
-rw-r--r--sysdeps/unix/sysv/linux/i386/Makefile2
2 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 4310cc0dd3..ab1ab1fc9b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+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.
+
2016-06-30 Aurelien Jarno <aurelien@aurel32.net>
* sysdeps/unix/sysv/linux/sparc/sparc64/localplt.data: Add _Qp_cmp.
diff --git a/sysdeps/unix/sysv/linux/i386/Makefile b/sysdeps/unix/sysv/linux/i386/Makefile
index 71ba61e9d7..b015ff7c76 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