From 707ca316b6d09971b713473134980fab3a347e0c Mon Sep 17 00:00:00 2001 From: Marcel Moolenaar Date: Mon, 16 Jan 2006 00:32:46 +0000 Subject: 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). --- lib/libc/stdlib/malloc.c | 1 + 1 file changed, 1 insertion(+) (limited to 'lib/libc/stdlib/malloc.c') diff --git a/lib/libc/stdlib/malloc.c b/lib/libc/stdlib/malloc.c index a3bc33511512b..2ccf1a5ec3dde 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 -- cgit v1.2.3