]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Fix static build when configured with --disable-hidden-plt
authorSiddhesh Poyarekar <siddhesh@redhat.com>
Thu, 4 Apr 2013 14:13:56 +0000 (19:43 +0530)
committerSiddhesh Poyarekar <siddhesh@redhat.com>
Thu, 4 Apr 2013 14:13:56 +0000 (19:43 +0530)
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.

nptl/ChangeLog
nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S

index 3a1dde6f431deecc91b18331b76edae8662b50b9..505f9af38cd9c9dc1332716e93e2ecb5b7036162 100644 (file)
@@ -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]:
index b2845723fc71cd2f3e88a968f645e76a5c963f1b..2cc84c189b65f01659084c735649d5f39edd1f61 100644 (file)
@@ -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