summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authornwhitehorn <nwhitehorn@FreeBSD.org>2010-07-10 14:39:08 +0000
committernwhitehorn <nwhitehorn@FreeBSD.org>2010-07-10 14:39:08 +0000
commitd1c38384368935645049953f1c07565212e7fdc6 (patch)
tree92bd3e3fe65198344da42c7307867731e02cde7e /lib
parentf7d973d854e450f31f99793e431616d75cdd4955 (diff)
downloadFreeBSD-src-d1c38384368935645049953f1c07565212e7fdc6.zip
FreeBSD-src-d1c38384368935645049953f1c07565212e7fdc6.tar.gz
The 64-bit PowerPC ABI implemented in binutils 2.15 requires some special
quirks for weak-symbol handling. Text symbols require also marking weak the special dot-symbol associated with the function, and data symbols require that you not do that. To fix this, provide a hacked __weak_reference for powerpc64, and define a new __weak_reference_data for the single weak data symbol in base. Revert after: binutils 2.17 import Obtained from: projects/ppc64
Diffstat (limited to 'lib')
-rw-r--r--lib/libc/gen/_thread_init.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/libc/gen/_thread_init.c b/lib/libc/gen/_thread_init.c
index e770ee4..0c16d8f 100644
--- a/lib/libc/gen/_thread_init.c
+++ b/lib/libc/gen/_thread_init.c
@@ -32,7 +32,8 @@ __FBSDID("$FreeBSD$");
void _thread_init_stub(void);
__weak_reference(_thread_init_stub, _thread_init);
-__weak_reference(_thread_autoinit_dummy_decl_stub, _thread_autoinit_dummy_decl);
+__weak_reference_data(_thread_autoinit_dummy_decl_stub,
+ _thread_autoinit_dummy_decl);
int _thread_autoinit_dummy_decl_stub = 0;
OpenPOWER on IntegriCloud