in short: that '-z defs' makes tls symbols invisible on gcc 3.3.6 gmake[1]: Entering directory `/home/glen/rpm/pld/BUILD/mozilla-firefox-3.0/mozilla/obj-amd64/memory/jemalloc' rm -f libjemalloc.so ccache amd64-pld-linux-g++ -I/usr/X11R6/include -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-long-long -pedantic -fno-strict-aliasing -fshort-wchar -pthread -pipe -DNDEBUG -DTRIMMED -O2 -fno-strict-aliasing -fPIC -shared -Wl,-z,defs -Wl,-h,libjemalloc.so -o libjemalloc.so jemalloc.o -lpthread -Wl,-rpath-link,../../dist/bin -ldl -lm jemalloc.o(.text+0x1b5c): In function `choose_arena_hard': jemalloc.c: undefined reference to `__tls_get_addr' jemalloc.o(.text+0x3cf1): In function `arena_ralloc': jemalloc.c: undefined reference to `__tls_get_addr' jemalloc.o(.text+0x4921): In function `malloc_init_hard': jemalloc.c: undefined reference to `__tls_get_addr' jemalloc.o(.text+0x4ce1): In function `malloc': jemalloc.c: undefined reference to `__tls_get_addr' jemalloc.o(.text+0x4eb7): In function `calloc': jemalloc.c: undefined reference to `__tls_get_addr' jemalloc.o(.text+0x5051):jemalloc.c: more undefined references to `__tls_get_addr' follow collect2: ld returned 1 exit status gmake[1]: *** [libjemalloc.so] Error 1 --- mozilla-firefox-3.0rc1/mozilla/configure~ 2008-05-06 00:11:03.000000000 +0300 +++ mozilla-firefox-3.0rc1/mozilla/configure 2008-05-27 08:09:43.180357890 +0300 @@ -5444,7 +5444,7 @@ DSO_LDOPTS='-shared' if test "$GCC_USE_GNU_LD"; then # Don't allow undefined symbols in libraries - DSO_LDOPTS="$DSO_LDOPTS -Wl,-z,defs" +: # DSO_LDOPTS="$DSO_LDOPTS -Wl,-z,defs" fi WARNINGS_AS_ERRORS='-Werror' DSO_CFLAGS='' --- mozilla-firefox-3.0rc1/mozilla/configure.in~ 2008-05-06 00:08:14.000000000 +0300 +++ mozilla-firefox-3.0rc1/mozilla/configure.in 2008-05-27 08:09:43.210357726 +0300 @@ -1273,7 +1273,7 @@ DSO_LDOPTS='-shared' if test "$GCC_USE_GNU_LD"; then # Don't allow undefined symbols in libraries - DSO_LDOPTS="$DSO_LDOPTS -Wl,-z,defs" +: # DSO_LDOPTS="$DSO_LDOPTS -Wl,-z,defs" fi WARNINGS_AS_ERRORS='-Werror' DSO_CFLAGS=''