summaryrefslogtreecommitdiffstats
path: root/lib/csu
diff options
context:
space:
mode:
authorkmacy <kmacy@FreeBSD.org>2006-10-08 02:50:34 +0000
committerkmacy <kmacy@FreeBSD.org>2006-10-08 02:50:34 +0000
commit3785d22822bc425cde879bea3c1758e71a30892a (patch)
tree6ad8c75d0dc911debb2ae132787ef8e5be588a57 /lib/csu
parente36fa6ead363211fd86ded1eefa0869c344737ba (diff)
downloadFreeBSD-src-3785d22822bc425cde879bea3c1758e71a30892a.zip
FreeBSD-src-3785d22822bc425cde879bea3c1758e71a30892a.tar.gz
Fix TLS on sparc64 for statically and dynamically linked binaries
Approved by: rwatson (mentor) Reviewed by: jmg and marcel
Diffstat (limited to 'lib/csu')
-rw-r--r--lib/csu/sparc64/crt1.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/csu/sparc64/crt1.c b/lib/csu/sparc64/crt1.c
index 19c0fad..5d8e371 100644
--- a/lib/csu/sparc64/crt1.c
+++ b/lib/csu/sparc64/crt1.c
@@ -98,13 +98,12 @@ _start(char **ap, void (*cleanup)(void), struct Struct_Obj_Entry *obj __unused,
__progname = s + 1;
}
- __sparc_utrap_setup();
-
if (&_DYNAMIC != NULL)
atexit(cleanup);
- else
+ else {
+ __sparc_utrap_setup();
_init_tls();
-
+ }
#ifdef GCRT
atexit(_mcleanup);
#endif
OpenPOWER on IntegriCloud