From 3a97372dbe373e02cb1d4053a449d246c32cf454 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Wed, 17 Aug 2016 14:57:00 +0200 Subject: Do not override objects in libc.a in other static libraries [BZ #20452] With this change, we no longer add sysdep.o and similar objects which are present in libc.a to other static libraries. (cherry picked from commit d9067fca40b8aac156d73cfa44d6875813555a6c) --- ChangeLog | 34 +++++++++++++++++++++++++++++ sysdeps/ia64/nptl/Makefile | 1 + sysdeps/mips/Makefile | 1 + sysdeps/mips/nptl/Makefile | 1 + sysdeps/s390/nptl/Makefile | 1 + sysdeps/unix/alpha/Makefile | 1 + sysdeps/unix/sysv/linux/alpha/Makefile | 1 + sysdeps/unix/sysv/linux/i386/Makefile | 1 + sysdeps/unix/sysv/linux/ia64/Makefile | 1 + sysdeps/unix/sysv/linux/microblaze/Makefile | 3 ++- sysdeps/unix/sysv/linux/powerpc/Makefile | 2 ++ sysdeps/unix/sysv/linux/s390/Makefile | 1 + sysdeps/unix/sysv/linux/sparc/Makefile | 2 ++ sysdeps/unix/sysv/linux/tile/Makefile | 1 + 14 files changed, 50 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index eeb9973dd1..0598caa614 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,37 @@ +2016-08-17 Florian Weimer + + [BZ #20452] + Avoid additional copies of objects in libc.a in static libraries. + * sysdeps/ia64/nptl/Makefile (libpthread-shared-only-routines): + Add ptw-sysdep, ptw-sigblock, ptw-sigprocmask. + * sysdeps/mips/Makefile (librt-shared-only-routines): Add + rt-sysdep. + * sysdeps/mips/nptl/Makefile (libpthread-shared-only-routines): + Add nptl-sysdep. + * sysdeps/s390/nptl/Makefile (libpthread-shared-only-routines): + Add ptw-sysdep. + * sysdeps/unix/alpha/Makefile (librt-shared-only-routines): Add + rt-sysdep. + * sysdeps/unix/sysv/linux/alpha/Makefile + (libpthread-shared-only-routines): Add ptw-sysdep, + ptw-sigprocmask, ptw-rt_sigaction. + * sysdeps/unix/sysv/linux/ia64/Makefile + (librt-shared-only-routines): Add rt-sysdep. + * sysdeps/unix/sysv/linux/i386/Makefile + (libpthread-shared-only-routines): Add libc-do-syscall. + * sysdeps/unix/sysv/linux/microblaze/Makefile + (libpthread-shared-only-routines): Add sysdep. + * sysdeps/unix/sysv/linux/powerpc/Makefile + (librt-shared-only-routines): Add rt-sysdep. + (libpthread-shared-only-routines): Add sysdep. + * sysdeps/unix/sysv/linux/s390/Makefile + (librt-shared-only-routines): Add rt-sysdep. + * sysdeps/unix/sysv/linux/sparc/Makefile + (librt-shared-only-routines): Add rt-sysdep. + (libpthread-shared-only-routines): Add sysdep. + * sysdeps/unix/sysv/linux/tile/Makefile + (libpthread-shared-only-routines): Likewise. + 2016-08-02 Florian Weimer [BZ #20370] diff --git a/sysdeps/ia64/nptl/Makefile b/sysdeps/ia64/nptl/Makefile index 48f1327446..1e6be8eea8 100644 --- a/sysdeps/ia64/nptl/Makefile +++ b/sysdeps/ia64/nptl/Makefile @@ -21,4 +21,5 @@ endif ifeq ($(subdir),nptl) libpthread-routines += ptw-sysdep ptw-sigblock ptw-sigprocmask +libpthread-shared-only-routines += ptw-sysdep ptw-sigblock ptw-sigprocmask endif diff --git a/sysdeps/mips/Makefile b/sysdeps/mips/Makefile index 3d3552322b..7c1d77941e 100644 --- a/sysdeps/mips/Makefile +++ b/sysdeps/mips/Makefile @@ -9,6 +9,7 @@ endif ifeq ($(subdir),rt) librt-sysdep_routines += rt-sysdep +librt-shared-only-routines += rt-sysdep endif ifeq ($(subdir),debug) diff --git a/sysdeps/mips/nptl/Makefile b/sysdeps/mips/nptl/Makefile index 117744ffe2..dda154d842 100644 --- a/sysdeps/mips/nptl/Makefile +++ b/sysdeps/mips/nptl/Makefile @@ -21,4 +21,5 @@ endif ifeq ($(subdir),nptl) libpthread-sysdep_routines += nptl-sysdep +libpthread-shared-only-routines += nptl-sysdep endif diff --git a/sysdeps/s390/nptl/Makefile b/sysdeps/s390/nptl/Makefile index 5734b983b0..3a391c8217 100644 --- a/sysdeps/s390/nptl/Makefile +++ b/sysdeps/s390/nptl/Makefile @@ -21,4 +21,5 @@ endif ifeq ($(subdir),nptl) libpthread-routines += ptw-sysdep +libpthread-shared-only-routines += ptw-sysdep endif diff --git a/sysdeps/unix/alpha/Makefile b/sysdeps/unix/alpha/Makefile index 441aa02a83..0660847f15 100644 --- a/sysdeps/unix/alpha/Makefile +++ b/sysdeps/unix/alpha/Makefile @@ -1,3 +1,4 @@ ifeq ($(subdir),rt) librt-sysdep_routines += rt-sysdep +librt-shared-only-routines += rt-sysdep endif diff --git a/sysdeps/unix/sysv/linux/alpha/Makefile b/sysdeps/unix/sysv/linux/alpha/Makefile index c089545e9b..3b523b70cf 100644 --- a/sysdeps/unix/sysv/linux/alpha/Makefile +++ b/sysdeps/unix/sysv/linux/alpha/Makefile @@ -40,4 +40,5 @@ endif # math ifeq ($(subdir),nptl) # pull in __syscall_error routine, __sigprocmask, __syscall_rt_sigaction libpthread-routines += ptw-sysdep ptw-sigprocmask ptw-rt_sigaction +libpthread-shared-only-routines += ptw-sysdep ptw-sigprocmask ptw-rt_sigaction endif diff --git a/sysdeps/unix/sysv/linux/i386/Makefile b/sysdeps/unix/sysv/linux/i386/Makefile index b015ff7c76..6073a9fe04 100644 --- a/sysdeps/unix/sysv/linux/i386/Makefile +++ b/sysdeps/unix/sysv/linux/i386/Makefile @@ -31,6 +31,7 @@ endif # libpthread uses six-argument inline syscalls. ifeq ($(subdir),nptl) libpthread-sysdep_routines += libc-do-syscall +libpthread-shared-only-routines += libc-do-syscall endif ifeq ($(subdir),resource) diff --git a/sysdeps/unix/sysv/linux/ia64/Makefile b/sysdeps/unix/sysv/linux/ia64/Makefile index 1de62c528a..4d6766db5e 100644 --- a/sysdeps/unix/sysv/linux/ia64/Makefile +++ b/sysdeps/unix/sysv/linux/ia64/Makefile @@ -19,6 +19,7 @@ endif ifeq ($(subdir),rt) librt-routines += rt-sysdep +librt-shared-only-routines += rt-sysdep endif ifeq ($(subdir),nptl) diff --git a/sysdeps/unix/sysv/linux/microblaze/Makefile b/sysdeps/unix/sysv/linux/microblaze/Makefile index 44a838fa11..d178bc6f34 100644 --- a/sysdeps/unix/sysv/linux/microblaze/Makefile +++ b/sysdeps/unix/sysv/linux/microblaze/Makefile @@ -5,4 +5,5 @@ endif ifeq ($(subdir),nptl) # pull in __syscall_error routine libpthread-routines += sysdep -endif \ No newline at end of file +libpthread-shared-only-routines += sysdep +endif diff --git a/sysdeps/unix/sysv/linux/powerpc/Makefile b/sysdeps/unix/sysv/linux/powerpc/Makefile index c89ed9ec7d..2cfb46eca3 100644 --- a/sysdeps/unix/sysv/linux/powerpc/Makefile +++ b/sysdeps/unix/sysv/linux/powerpc/Makefile @@ -8,6 +8,7 @@ abi-64-v2-condition := __WORDSIZE == 64 && _CALL_ELF == 2 ifeq ($(subdir),rt) librt-routines += rt-sysdep +librt-shared-only-routines += rt-sysdep endif ifeq ($(subdir),stdlib) @@ -34,4 +35,5 @@ ifeq ($(subdir),nptl) libpthread-routines += sysdep libpthread-sysdep_routines += elision-lock elision-unlock elision-timed \ elision-trylock +libpthread-shared-only-routines += sysdep endif diff --git a/sysdeps/unix/sysv/linux/s390/Makefile b/sysdeps/unix/sysv/linux/s390/Makefile index 497ffd566c..f8ed013e9e 100644 --- a/sysdeps/unix/sysv/linux/s390/Makefile +++ b/sysdeps/unix/sysv/linux/s390/Makefile @@ -6,6 +6,7 @@ abi-64-condition := __WORDSIZE == 64 ifeq ($(subdir),rt) librt-routines += rt-sysdep +librt-shared-only-routines += rt-sysdep endif ifeq ($(subdir),stdlib) diff --git a/sysdeps/unix/sysv/linux/sparc/Makefile b/sysdeps/unix/sysv/linux/sparc/Makefile index e67aecf8f0..a67d199eb5 100644 --- a/sysdeps/unix/sysv/linux/sparc/Makefile +++ b/sysdeps/unix/sysv/linux/sparc/Makefile @@ -6,6 +6,7 @@ abi-64-condition := __WORDSIZE == 64 ifeq ($(subdir),rt) librt-routines += rt-sysdep +librt-shared-only-routines += rt-sysdep endif ifeq ($(subdir),sysvipc) @@ -15,4 +16,5 @@ endif ifeq ($(subdir),nptl) # pull in __syscall_error routine libpthread-routines += sysdep +libpthread-shared-only-routines += sysdep endif diff --git a/sysdeps/unix/sysv/linux/tile/Makefile b/sysdeps/unix/sysv/linux/tile/Makefile index 1c1cfff280..43acea3633 100644 --- a/sysdeps/unix/sysv/linux/tile/Makefile +++ b/sysdeps/unix/sysv/linux/tile/Makefile @@ -25,4 +25,5 @@ endif ifeq ($(subdir),nptl) # pull in __syscall_error routine libpthread-routines += sysdep +libpthread-shared-only-routines += sysdep endif -- cgit 1.4.1