summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAustin Foxley <austinf@cetoncorp.com>2009-12-16 02:52:30 -0800
committerAustin Foxley <austinf@cetoncorp.com>2009-12-16 02:52:30 -0800
commitae030fbef45996424def8c4b0bb5cb1c26b5bd9d (patch)
treeee243e8481e3ed0feec0bcbed88f8516a2d5028f
parent23cfec40b3302fda307ca9faec2f1597b3d7aebb (diff)
fix multiple definitions of pthread_once for x86_64
also add a missing weak for clone Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
-rw-r--r--libc/sysdeps/linux/x86_64/clone.S1
-rw-r--r--libpthread/nptl/sysdeps/pthread/Makefile.in4
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S2
3 files changed, 3 insertions, 4 deletions
diff --git a/libc/sysdeps/linux/x86_64/clone.S b/libc/sysdeps/linux/x86_64/clone.S
index dc5eeb0a0..8f53a8412 100644
--- a/libc/sysdeps/linux/x86_64/clone.S
+++ b/libc/sysdeps/linux/x86_64/clone.S
@@ -112,3 +112,4 @@ clone:
call HIDDEN_JUMPTARGET(_exit)
.size clone,.-clone
+weak_alias(clone, __clone)
diff --git a/libpthread/nptl/sysdeps/pthread/Makefile.in b/libpthread/nptl/sysdeps/pthread/Makefile.in
index 45240152c..9295884ff 100644
--- a/libpthread/nptl/sysdeps/pthread/Makefile.in
+++ b/libpthread/nptl/sysdeps/pthread/Makefile.in
@@ -43,10 +43,6 @@ SH_PTHREAD_EXCLUDE_LIST = pthread_spin_unlock.c pthread_spin_init.c \
libpthread_CSRC := $(filter-out $(SH_PTHREAD_EXCLUDE_LIST),$(libpthread_CSRC))
endif
-ifeq ($(TARGET_ARCH),x86_64)
-libpthread_CSRC += pthread_once.c
-endif
-
CFLAGS-pt-common = -DNOT_IN_libc=1 $(SSP_ALL_CFLAGS)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S
index 3fb89e419..d8bfa26c6 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S
@@ -17,6 +17,8 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
+#include <sysdep.h>
+
#ifndef UP
# define LOCK lock
#else