diff options
author | marcel <marcel@FreeBSD.org> | 2006-01-16 00:32:46 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2006-01-16 00:32:46 +0000 |
commit | 7a983061443b850ed3c2f0d4ab810733ad0b9af6 (patch) | |
tree | 88da52b8740532eedb3351b562b5b21de4c8809c /lib | |
parent | b4fd2a3c905285757af8a8213ed0bb7a76a47d7d (diff) | |
download | FreeBSD-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.c | 1 |
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 |