diff options
author | Siddhesh Poyarekar <siddhesh@redhat.com> | 2013-04-04 19:43:56 +0530 |
---|---|---|
committer | Siddhesh Poyarekar <siddhesh@redhat.com> | 2013-04-04 19:43:56 +0530 |
commit | 9ac3b5047e6bbea03437d020fab9a728e123445b (patch) | |
tree | 60cfab46f5909eed9f35c160abf1c47d40df3294 | |
parent | 05e166c887612250d461b5fe7c0f0064cd1a0c41 (diff) | |
download | glibc-9ac3b5047e6bbea03437d020fab9a728e123445b.tar.gz glibc-9ac3b5047e6bbea03437d020fab9a728e123445b.tar.xz glibc-9ac3b5047e6bbea03437d020fab9a728e123445b.zip |
Fix static build when configured with --disable-hidden-plt
Fixes BZ #15337. Static builds fail with the following warning: /home/tools/glibc/glibc/nptl/../nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S:80: undefined reference to `__GI___pthread_unwind' When the source is configured with --disable-hidden-plt. This is because the preprocessor conditional in cancellation.S only checks if the build is for SHARED, whereas hidden_def is defined appropriately only for a SHARED build that will have symbol versioning *and* hidden defs are enabled. The last case is false here.
-rw-r--r-- | nptl/ChangeLog | 8 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 3a1dde6f43..505f9af38c 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,11 @@ +2013-04-04 Siddhesh Poyarekar <siddhesh@redhat.com> + + [BZ #15337] + * sysdeps/unix/sysv/linux/x86_64/cancellation.S + [IS_IN_libpthread] + [SHARED && defined DO_VERSIONING && !defined NO_HIDDEN]: Mark + __pthread_unwind hidden. + 2013-03-28 Roland McGrath <roland@hack.frob.com> * pthread_create.c (start_thread) [!SHARED]: diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S b/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S index b2845723fc..2cc84c189b 100644 --- a/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S +++ b/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S @@ -22,7 +22,7 @@ #include "lowlevellock.h" #ifdef IS_IN_libpthread -# ifdef SHARED +# if defined SHARED && defined DO_VERSIONING && !defined NO_HIDDEN # define __pthread_unwind __GI___pthread_unwind # endif #else |