summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2006-01-16 00:32:46 +0000
committermarcel <marcel@FreeBSD.org>2006-01-16 00:32:46 +0000
commit7a983061443b850ed3c2f0d4ab810733ad0b9af6 (patch)
tree88da52b8740532eedb3351b562b5b21de4c8809c /lib
parentb4fd2a3c905285757af8a8213ed0bb7a76a47d7d (diff)
downloadFreeBSD-src-7a983061443b850ed3c2f0d4ab810733ad0b9af6.zip
FreeBSD-src-7a983061443b850ed3c2f0d4ab810733ad0b9af6.tar.gz
Define NO_TLS on ia64. The dynamic TLS implementation on ia64 is
broken for non-threaded shared processes in that __tls_get_addr() assumes the thread pointer is always initialized. This is not the case. When arenas_map is referenced in choose_arena() and it is defined as a thread-local variable, it will result in a SIGSEGV. PR: ia64/91846 (describes the TLS/ia64 bug).
Diffstat (limited to 'lib')
-rw-r--r--lib/libc/stdlib/malloc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/libc/stdlib/malloc.c b/lib/libc/stdlib/malloc.c
index a3bc335..2ccf1a5 100644
--- a/lib/libc/stdlib/malloc.c
+++ b/lib/libc/stdlib/malloc.c
@@ -216,6 +216,7 @@ __FBSDID("$FreeBSD$");
#ifdef __ia64__
# define QUANTUM_2POW_MIN 4
# define SIZEOF_PTR 8
+# define NO_TLS
#endif
#ifdef __alpha__
# define QUANTUM_2POW_MIN 4
OpenPOWER on IntegriCloud