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.
This commit is contained in:
Florian Weimer 2016-08-17 14:57:00 +02:00
parent c20809709a
commit d9067fca40
14 changed files with 50 additions and 1 deletions

View File

@ -1,3 +1,37 @@
2016-08-17 Florian Weimer <fweimer@redhat.com>
[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-16 Joseph Myers <joseph@codesourcery.com> 2016-08-16 Joseph Myers <joseph@codesourcery.com>
* soft-fp/extended.h [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_RAW_E): * soft-fp/extended.h [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_RAW_E):

View File

@ -21,4 +21,5 @@ endif
ifeq ($(subdir),nptl) ifeq ($(subdir),nptl)
libpthread-routines += ptw-sysdep ptw-sigblock ptw-sigprocmask libpthread-routines += ptw-sysdep ptw-sigblock ptw-sigprocmask
libpthread-shared-only-routines += ptw-sysdep ptw-sigblock ptw-sigprocmask
endif endif

View File

@ -9,6 +9,7 @@ endif
ifeq ($(subdir),rt) ifeq ($(subdir),rt)
librt-sysdep_routines += rt-sysdep librt-sysdep_routines += rt-sysdep
librt-shared-only-routines += rt-sysdep
endif endif
ifeq ($(subdir),debug) ifeq ($(subdir),debug)

View File

@ -21,4 +21,5 @@ endif
ifeq ($(subdir),nptl) ifeq ($(subdir),nptl)
libpthread-sysdep_routines += nptl-sysdep libpthread-sysdep_routines += nptl-sysdep
libpthread-shared-only-routines += nptl-sysdep
endif endif

View File

@ -21,4 +21,5 @@ endif
ifeq ($(subdir),nptl) ifeq ($(subdir),nptl)
libpthread-routines += ptw-sysdep libpthread-routines += ptw-sysdep
libpthread-shared-only-routines += ptw-sysdep
endif endif

View File

@ -1,3 +1,4 @@
ifeq ($(subdir),rt) ifeq ($(subdir),rt)
librt-sysdep_routines += rt-sysdep librt-sysdep_routines += rt-sysdep
librt-shared-only-routines += rt-sysdep
endif endif

View File

@ -40,4 +40,5 @@ endif # math
ifeq ($(subdir),nptl) ifeq ($(subdir),nptl)
# pull in __syscall_error routine, __sigprocmask, __syscall_rt_sigaction # pull in __syscall_error routine, __sigprocmask, __syscall_rt_sigaction
libpthread-routines += ptw-sysdep ptw-sigprocmask ptw-rt_sigaction libpthread-routines += ptw-sysdep ptw-sigprocmask ptw-rt_sigaction
libpthread-shared-only-routines += ptw-sysdep ptw-sigprocmask ptw-rt_sigaction
endif endif

View File

@ -31,6 +31,7 @@ endif
# libpthread uses six-argument inline syscalls. # libpthread uses six-argument inline syscalls.
ifeq ($(subdir),nptl) ifeq ($(subdir),nptl)
libpthread-sysdep_routines += libc-do-syscall libpthread-sysdep_routines += libc-do-syscall
libpthread-shared-only-routines += libc-do-syscall
endif endif
ifeq ($(subdir),resource) ifeq ($(subdir),resource)

View File

@ -19,6 +19,7 @@ endif
ifeq ($(subdir),rt) ifeq ($(subdir),rt)
librt-routines += rt-sysdep librt-routines += rt-sysdep
librt-shared-only-routines += rt-sysdep
endif endif
ifeq ($(subdir),nptl) ifeq ($(subdir),nptl)

View File

@ -5,4 +5,5 @@ endif
ifeq ($(subdir),nptl) ifeq ($(subdir),nptl)
# pull in __syscall_error routine # pull in __syscall_error routine
libpthread-routines += sysdep libpthread-routines += sysdep
libpthread-shared-only-routines += sysdep
endif endif

View File

@ -8,6 +8,7 @@ abi-64-v2-condition := __WORDSIZE == 64 && _CALL_ELF == 2
ifeq ($(subdir),rt) ifeq ($(subdir),rt)
librt-routines += rt-sysdep librt-routines += rt-sysdep
librt-shared-only-routines += rt-sysdep
endif endif
ifeq ($(subdir),stdlib) ifeq ($(subdir),stdlib)
@ -34,4 +35,5 @@ ifeq ($(subdir),nptl)
libpthread-routines += sysdep libpthread-routines += sysdep
libpthread-sysdep_routines += elision-lock elision-unlock elision-timed \ libpthread-sysdep_routines += elision-lock elision-unlock elision-timed \
elision-trylock elision-trylock
libpthread-shared-only-routines += sysdep
endif endif

View File

@ -6,6 +6,7 @@ abi-64-condition := __WORDSIZE == 64
ifeq ($(subdir),rt) ifeq ($(subdir),rt)
librt-routines += rt-sysdep librt-routines += rt-sysdep
librt-shared-only-routines += rt-sysdep
endif endif
ifeq ($(subdir),stdlib) ifeq ($(subdir),stdlib)

View File

@ -6,6 +6,7 @@ abi-64-condition := __WORDSIZE == 64
ifeq ($(subdir),rt) ifeq ($(subdir),rt)
librt-routines += rt-sysdep librt-routines += rt-sysdep
librt-shared-only-routines += rt-sysdep
endif endif
ifeq ($(subdir),sysvipc) ifeq ($(subdir),sysvipc)
@ -15,4 +16,5 @@ endif
ifeq ($(subdir),nptl) ifeq ($(subdir),nptl)
# pull in __syscall_error routine # pull in __syscall_error routine
libpthread-routines += sysdep libpthread-routines += sysdep
libpthread-shared-only-routines += sysdep
endif endif

View File

@ -25,4 +25,5 @@ endif
ifeq ($(subdir),nptl) ifeq ($(subdir),nptl)
# pull in __syscall_error routine # pull in __syscall_error routine
libpthread-routines += sysdep libpthread-routines += sysdep
libpthread-shared-only-routines += sysdep
endif endif