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.
This commit is contained in:
Siddhesh Poyarekar 2013-04-04 19:43:56 +05:30
parent 05e166c887
commit 9ac3b5047e
2 changed files with 9 additions and 1 deletions

View 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]:

View 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