summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makerules6
-rw-r--r--Rules.mak4
-rw-r--r--debian/config2
-rw-r--r--docs/PORTING2
-rw-r--r--extra/Configs/Config.alpha10
-rw-r--r--extra/Configs/Config.arm4
-rw-r--r--extra/Configs/Config.bfin10
-rw-r--r--extra/Configs/Config.cris4
-rw-r--r--extra/Configs/Config.e18
-rw-r--r--extra/Configs/Config.frv10
-rw-r--r--extra/Configs/Config.h83006
-rw-r--r--extra/Configs/Config.hppa6
-rw-r--r--extra/Configs/Config.i3866
-rw-r--r--extra/Configs/Config.i9606
-rw-r--r--extra/Configs/Config.m68k8
-rw-r--r--extra/Configs/Config.microblaze6
-rw-r--r--extra/Configs/Config.mips4
-rw-r--r--extra/Configs/Config.nios6
-rw-r--r--extra/Configs/Config.nios26
-rw-r--r--extra/Configs/Config.powerpc6
-rw-r--r--extra/Configs/Config.sh8
-rw-r--r--extra/Configs/Config.sh648
-rw-r--r--extra/Configs/Config.sparc4
-rw-r--r--extra/Configs/Config.v8506
-rw-r--r--extra/Configs/Config.x86_646
-rw-r--r--include/libc-internal.h36
-rw-r--r--libc/sysdeps/linux/h8300/crt0.S4
-rw-r--r--libc/sysdeps/linux/h8300/vfork.S2
-rw-r--r--libc/sysdeps/linux/i960/README3
-rw-r--r--libc/sysdeps/linux/m68k/Makefile.arch4
-rw-r--r--libc/sysdeps/linux/m68k/vfork.S2
-rw-r--r--libc/sysdeps/linux/nios/vfork.S2
-rw-r--r--libc/sysdeps/linux/sh/clone.S4
-rw-r--r--libc/sysdeps/linux/sh/setjmp.S2
-rw-r--r--libc/sysdeps/linux/sh/syscall_error.S4
-rw-r--r--libpthread/linuxthreads.old/attr.c2
36 files changed, 39 insertions, 178 deletions
diff --git a/Makerules b/Makerules
index 95acacc7b..14b05b7e2 100644
--- a/Makerules
+++ b/Makerules
@@ -151,10 +151,8 @@ $(top_builddir)lib/interp.c:
$(Q)$(INSTALL) -d $(dir $@)
$(Q)echo "/* Force shared libraries to know about the correct library loader */" > $@
$(Q)echo "#include <features.h>" >> $@
- $(Q)echo "#ifdef __HAVE_ELF__" >> $@
$(Q)echo "const char __dl_ldso__[] __attribute__ ((section " \
"(\".interp\"))) =\""$(SHARED_LIB_LOADER_PREFIX)/$(UCLIBC_LDSO)"\";" >> $@
- $(Q)echo "#endif" >> $@
$(interp): $(top_builddir)lib/interp.c
$(compile.c)
@@ -169,11 +167,7 @@ $(libc):
$(headers_dep):
@cd $(top_builddir); $(MAKE) headers
-#ifeq ($(HAVE_ELF),y)
CRT=crt1
-#else
-#CRT=crt0
-#endif
ifeq ($(HAVE_SHARED),y)
CRTS=$(top_builddir)lib/$(CRT).o $(top_builddir)lib/S$(CRT).o
diff --git a/Rules.mak b/Rules.mak
index 41cc0c22b..590eed289 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -432,10 +432,6 @@ ifneq ($(DOASSERTS),y)
CFLAGS+=-DNDEBUG
endif
-ifneq ($(strip $(C_SYMBOL_PREFIX)),"")
-CFLAGS+=-D__SYMBOL_PREFIX=1
-endif
-
# moved from ldso/{ldso,libdl}
# BEWARE!!! At least mips* will die if -O0 is used!!!
ifeq ($(TARGET_ARCH),mips)
diff --git a/debian/config b/debian/config
index 8ec73e231..301f7b31b 100644
--- a/debian/config
+++ b/debian/config
@@ -25,7 +25,6 @@
#
# Target Architecture Features and Options
#
-HAVE_ELF=y
# ARCH_SUPPORTS_LITTLE_ENDIAN is not set
TARGET_ARCH="none"
# ARCH_LITTLE_ENDIAN is not set
@@ -53,7 +52,6 @@ UCLIBC_HAS_FLOATS=y
HAS_FPU=y
DO_C99_MATH=y
KERNEL_SOURCE="/usr/src/linux"
-C_SYMBOL_PREFIX=""
HAVE_DOT_CONFIG=y
#
diff --git a/docs/PORTING b/docs/PORTING
index 469effbdb..5c1a3989a 100644
--- a/docs/PORTING
+++ b/docs/PORTING
@@ -11,7 +11,7 @@ you are hacking on.
- Initially you will want to disable shared libraries, since making
the shared library loader work requires you first have basic architecture
support working. Thus you should add HAVE_NO_SHARED and ARCH_HAS_NO_LDSO
- to Config.ARCH's HAVE_ELF
+ to Config.ARCH's TARGET_ARCH
====================
=== libc sysdeps ===
diff --git a/extra/Configs/Config.alpha b/extra/Configs/Config.alpha
index 47545ce5d..1b5768bb7 100644
--- a/extra/Configs/Config.alpha
+++ b/extra/Configs/Config.alpha
@@ -3,18 +3,14 @@
# see extra/config/Kconfig-language.txt
#
-config HAVE_ELF
- select ARCH_HAS_MMU
- select ARCH_HAS_NO_LDSO
- select UCLIBC_HAS_LFS
- bool
- default y
-
config ARCH_SUPPORTS_LITTLE_ENDIAN
bool
default y
config TARGET_ARCH
+ select ARCH_HAS_MMU
+ select ARCH_HAS_NO_LDSO
+ select UCLIBC_HAS_LFS
default "alpha"
config ARCH_CFLAGS
diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm
index fc775ba23..62ebf73db 100644
--- a/extra/Configs/Config.arm
+++ b/extra/Configs/Config.arm
@@ -3,10 +3,6 @@
# see extra/config/Kconfig-language.txt
#
-config HAVE_ELF
- bool
- default y
-
config TARGET_ARCH
default "arm"
diff --git a/extra/Configs/Config.bfin b/extra/Configs/Config.bfin
index 986351088..c65b5fa40 100644
--- a/extra/Configs/Config.bfin
+++ b/extra/Configs/Config.bfin
@@ -4,20 +4,12 @@
#
config TARGET_ARCH
- default "bfin"
-
-config HAVE_ELF
- bool
select ARCH_HAS_NO_MMU
select ARCH_LITTLE_ENDIAN
- default y
+ default "bfin"
config ARCH_CFLAGS
string
config LIBGCC_CFLAGS
string
-
-config HAVE_ELF
- bool
- default y
diff --git a/extra/Configs/Config.cris b/extra/Configs/Config.cris
index c8fc23e73..07f2cbe77 100644
--- a/extra/Configs/Config.cris
+++ b/extra/Configs/Config.cris
@@ -3,10 +3,6 @@
# see extra/config/Kconfig-language.txt
#
-config HAVE_ELF
- bool
- default y
-
config TARGET_ARCH
default "cris"
diff --git a/extra/Configs/Config.e1 b/extra/Configs/Config.e1
index 841ac9b9b..d134a0c83 100644
--- a/extra/Configs/Config.e1
+++ b/extra/Configs/Config.e1
@@ -3,17 +3,13 @@
# see extra/config/Kconfig-language.txt
#
-config HAVE_ELF
- select ARCH_HAS_NO_MMU
- select HAVE_NO_SHARED
- bool
- default n
-
config ARCH_SUPPORTS_BIG_ENDIAN
bool
default y
config TARGET_ARCH
+ select ARCH_HAS_NO_MMU
+ select HAVE_NO_SHARED
default "e1"
config ARCH_E1
diff --git a/extra/Configs/Config.frv b/extra/Configs/Config.frv
index ee523b8b9..f9ee6ab67 100644
--- a/extra/Configs/Config.frv
+++ b/extra/Configs/Config.frv
@@ -3,14 +3,10 @@
# see extra/config/Kconfig-language.txt
#
-config HAVE_ELF
- bool
+config TARGET_ARCH
select UCLIBC_HAS_FPU
select ARCH_BIG_ENDIAN
select ARCH_HAS_NO_MMU
- default y
-
-config TARGET_ARCH
string
default "frv"
@@ -19,7 +15,3 @@ config ARCH_CFLAGS
config LIBGCC_CFLAGS
string
-
-config HAVE_DOT_HIDDEN
- bool
- default y
diff --git a/extra/Configs/Config.h8300 b/extra/Configs/Config.h8300
index 57fbe8fdd..c9b74d87e 100644
--- a/extra/Configs/Config.h8300
+++ b/extra/Configs/Config.h8300
@@ -3,11 +3,6 @@
# see extra/config/Kconfig-language.txt
#
-config HAVE_ELF
- bool
- select ARCH_HAS_NO_MMU
- default y
-
config ARCH_SUPPORTS_BIG_ENDIAN
bool
default y
@@ -17,6 +12,7 @@ config ARCH_SUPPORTS_LITTLE_ENDIAN
default y
config TARGET_ARCH
+ select ARCH_HAS_NO_MMU
default "h8300"
choice
diff --git a/extra/Configs/Config.hppa b/extra/Configs/Config.hppa
index c198e18d6..2d91b613f 100644
--- a/extra/Configs/Config.hppa
+++ b/extra/Configs/Config.hppa
@@ -4,15 +4,11 @@
#
config TARGET_ARCH
- default "hppa"
-
-config HAVE_ELF
- bool
select ARCH_HAS_MMU
select HAS_NO_THREADS
select ARCH_HAS_NO_LDSO
select HAVE_NO_SSP
- default y
+ default "hppa"
config ARCH_SUPPORTS_BIG_ENDIAN
bool
diff --git a/extra/Configs/Config.i386 b/extra/Configs/Config.i386
index 14f575e89..7fbce37f5 100644
--- a/extra/Configs/Config.i386
+++ b/extra/Configs/Config.i386
@@ -3,12 +3,8 @@
# see extra/config/Kconfig-language.txt
#
-config HAVE_ELF
- bool
- select ARCH_HAS_MMU
- default y
-
config TARGET_ARCH
+ select ARCH_HAS_MMU
string
default "i386"
diff --git a/extra/Configs/Config.i960 b/extra/Configs/Config.i960
index 336b3d69a..17eb6a2cc 100644
--- a/extra/Configs/Config.i960
+++ b/extra/Configs/Config.i960
@@ -4,13 +4,9 @@
#
config TARGET_ARCH
- default "i960"
-
-config HAVE_ELF
- bool
select ARCH_HAS_NO_MMU
select HAS_NO_THREADS
- default n
+ default "i960"
config ARCH_SUPPORTS_LITTLE_ENDIAN
bool
diff --git a/extra/Configs/Config.m68k b/extra/Configs/Config.m68k
index 056172fff..abb9335cc 100644
--- a/extra/Configs/Config.m68k
+++ b/extra/Configs/Config.m68k
@@ -6,10 +6,6 @@
config TARGET_ARCH
default "m68k"
-config HAVE_ELF
- bool
- default y
-
config ARCH_SUPPORTS_BIG_ENDIAN
bool
default y
@@ -20,7 +16,3 @@ config ARCH_CFLAGS
config LIBGCC_CFLAGS
string
-
-config HAVE_ELF
- bool
- default y
diff --git a/extra/Configs/Config.microblaze b/extra/Configs/Config.microblaze
index 4eb2e3d4a..c4fe727b6 100644
--- a/extra/Configs/Config.microblaze
+++ b/extra/Configs/Config.microblaze
@@ -4,12 +4,8 @@
#
config TARGET_ARCH
- default "microblaze"
-
-config HAVE_ELF
- bool
select ARCH_HAS_NO_MMU
- default y
+ default "microblaze"
config ARCH_SUPPORTS_BIG_ENDIAN
bool
diff --git a/extra/Configs/Config.mips b/extra/Configs/Config.mips
index bca298a69..bc14230b9 100644
--- a/extra/Configs/Config.mips
+++ b/extra/Configs/Config.mips
@@ -6,10 +6,6 @@
config TARGET_ARCH
default "mips"
-config HAVE_ELF
- bool
- default y
-
config ARCH_CFLAGS
string
default "-mno-split-addresses"
diff --git a/extra/Configs/Config.nios b/extra/Configs/Config.nios
index 1c64234ed..ed862951d 100644
--- a/extra/Configs/Config.nios
+++ b/extra/Configs/Config.nios
@@ -4,14 +4,10 @@
#
config TARGET_ARCH
- default "nios"
-
-config HAVE_ELF
- bool
select ARCH_HAS_NO_MMU
select ARCH_LITTLE_ENDIAN
select HAVE_NO_PIC
- default y
+ default "nios"
config ARCH_CFLAGS
string
diff --git a/extra/Configs/Config.nios2 b/extra/Configs/Config.nios2
index a57750e79..1a98e413b 100644
--- a/extra/Configs/Config.nios2
+++ b/extra/Configs/Config.nios2
@@ -4,14 +4,10 @@
#
config TARGET_ARCH
- default "nios2"
-
-config HAVE_ELF
- bool
select ARCH_HAS_NO_MMU
select ARCH_LITTLE_ENDIAN
select HAVE_NO_PIC
- default y
+ default "nios2"
config ARCH_CFLAGS
string
diff --git a/extra/Configs/Config.powerpc b/extra/Configs/Config.powerpc
index b0ee1a45b..7129f0012 100644
--- a/extra/Configs/Config.powerpc
+++ b/extra/Configs/Config.powerpc
@@ -4,12 +4,8 @@
#
config TARGET_ARCH
- default "powerpc"
-
-config HAVE_ELF
- bool
select ARCH_HAS_MMU
- default y
+ default "powerpc"
config ARCH_SUPPORTS_BIG_ENDIAN
bool
diff --git a/extra/Configs/Config.sh b/extra/Configs/Config.sh
index fa2159636..2443e02f0 100644
--- a/extra/Configs/Config.sh
+++ b/extra/Configs/Config.sh
@@ -6,20 +6,12 @@
config TARGET_ARCH
default "sh"
-config HAVE_ELF
- bool
- default y
-
config ARCH_CFLAGS
string
config LIBGCC_CFLAGS
string
-config HAVE_DOT_HIDDEN
- bool
- default y
-
config ARCH_SUPPORTS_BIG_ENDIAN
bool
default y
diff --git a/extra/Configs/Config.sh64 b/extra/Configs/Config.sh64
index 3c3ed9d8e..7bdbe5685 100644
--- a/extra/Configs/Config.sh64
+++ b/extra/Configs/Config.sh64
@@ -6,20 +6,12 @@
config TARGET_ARCH
default "sh64"
-config HAVE_ELF
- bool
- default y
-
config ARCH_CFLAGS
string
config LIBGCC_CFLAGS
string
-config HAVE_DOT_HIDDEN
- bool
- default y
-
config ARCH_SUPPORTS_BIG_ENDIAN
bool
default y
diff --git a/extra/Configs/Config.sparc b/extra/Configs/Config.sparc
index e169d48a7..e5319e9e9 100644
--- a/extra/Configs/Config.sparc
+++ b/extra/Configs/Config.sparc
@@ -6,10 +6,6 @@
config TARGET_ARCH
default "sparc"
-config HAVE_ELF
- bool
- default y
-
config ARCH_SUPPORTS_BIG_ENDIAN
bool
default y
diff --git a/extra/Configs/Config.v850 b/extra/Configs/Config.v850
index 2f900fc54..93755878e 100644
--- a/extra/Configs/Config.v850
+++ b/extra/Configs/Config.v850
@@ -4,13 +4,9 @@
#
config TARGET_ARCH
- default "v850"
-
-config HAVE_ELF
- bool
select ARCH_HAS_NO_MMU
select HAVE_NO_PIC
- default y
+ default "v850"
config ARCH_SUPPORTS_LITTLE_ENDIAN
bool
diff --git a/extra/Configs/Config.x86_64 b/extra/Configs/Config.x86_64
index 68002268d..847fed69f 100644
--- a/extra/Configs/Config.x86_64
+++ b/extra/Configs/Config.x86_64
@@ -3,13 +3,9 @@
# see extra/config/Kconfig-language.txt
#
-config HAVE_ELF
- bool
+config TARGET_ARCH
select ARCH_HAS_MMU
select UCLIBC_HAS_LFS
- default y
-
-config TARGET_ARCH
string
default "x86_64"
diff --git a/include/libc-internal.h b/include/libc-internal.h
index 9f1c36fbb..21280e4af 100644
--- a/include/libc-internal.h
+++ b/include/libc-internal.h
@@ -22,8 +22,6 @@
#include <features.h>
#include <bits/uClibc_arch_features.h>
-#define HAVE_ELF 1
-
#ifdef __UCLIBC_NO_UNDERSCORES__
# define NO_UNDERSCORES
#else
@@ -197,35 +195,29 @@
#endif /* __ASSEMBLER__ */
-/* When a reference to SYMBOL is encountered, the linker will emit a
- warning message MSG. */
-#ifdef HAVE_ELF
-
/* We want the .gnu.warning.SYMBOL section to be unallocated. */
-# define __make_section_unallocated(section_string) \
+#define __make_section_unallocated(section_string) \
asm (".section " section_string "\n\t.previous");
/* Tacking on "\n\t#" to the section name makes gcc put it's bogus
section attributes on what looks like a comment to the assembler. */
-# ifdef __sparc__ //HAVE_SECTION_QUOTES
-# define __sec_comment "\"\n\t#\""
-# else
-# define __sec_comment "\n\t#"
-# endif
-# ifdef __cris__
-# define link_warning(symbol, msg)
-# else
-# define link_warning(symbol, msg) \
+#ifdef __sparc__ //HAVE_SECTION_QUOTES
+# define __sec_comment "\"\n\t#\""
+#else
+# define __sec_comment "\n\t#"
+#endif
+
+/* When a reference to SYMBOL is encountered, the linker will emit a
+ warning message MSG. */
+#ifdef __cris__
+# define link_warning(symbol, msg)
+#else
+# define link_warning(symbol, msg) \
__make_section_unallocated (".gnu.warning." #symbol) \
static const char __evoke_link_warning_##symbol[] \
__attribute__ ((used, section (".gnu.warning." #symbol __sec_comment))) \
= msg;
-# endif
-#else /* HAVE_ELF */
-# define link_warning(symbol, msg) \
- asm (".stabs \"" msg "\",30,0,0,0\n\t" \
- ".stabs \"" __USER_LABEL_PREFIX__ #symbol "\",1,0,0,0\n");
-#endif /* HAVE_ELF */
+#endif
#ifndef weak_function
/* If we do not have the __attribute__ ((weak)) syntax, there is no way we
diff --git a/libc/sysdeps/linux/h8300/crt0.S b/libc/sysdeps/linux/h8300/crt0.S
index a593b88e2..ebdca18e5 100644
--- a/libc/sysdeps/linux/h8300/crt0.S
+++ b/libc/sysdeps/linux/h8300/crt0.S
@@ -56,12 +56,8 @@ __exit:
*/
empty_func:
rts
-#if defined(__HAVE_ELF__)
.weak atexit
atexit = empty_func
-#else
- .set atexit,empty_func
-#endif
/* Define a symbol for the first piece of initialized data. */
diff --git a/libc/sysdeps/linux/h8300/vfork.S b/libc/sysdeps/linux/h8300/vfork.S
index 343bb0183..4156fae17 100644
--- a/libc/sysdeps/linux/h8300/vfork.S
+++ b/libc/sysdeps/linux/h8300/vfork.S
@@ -14,9 +14,7 @@
.align 2
.globl _errno
.globl _vfork
-#if defined __HAVE_ELF__
.type vfork,@function
-#endif
_vfork:
mov.l @sp+, er1
sub.l er0,er0
diff --git a/libc/sysdeps/linux/i960/README b/libc/sysdeps/linux/i960/README
index e1ca11f9a..185fe2572 100644
--- a/libc/sysdeps/linux/i960/README
+++ b/libc/sysdeps/linux/i960/README
@@ -16,8 +16,7 @@ prepended underscore
--------------------
As the i960 compiler prepends an underscore to symbols, it is critical that
-the Config file define __C_SYMBOL_PREFIX__ as
- __C_SYMBOL_PREFIX__ = _
+bits/uClibc_arch_features.h undefines __UCLIBC_NO_UNDERSCORES__
to make sure that underscores are applied to symbol names when needed.
diff --git a/libc/sysdeps/linux/m68k/Makefile.arch b/libc/sysdeps/linux/m68k/Makefile.arch
index 1ce72a61a..a1ded80f2 100644
--- a/libc/sysdeps/linux/m68k/Makefile.arch
+++ b/libc/sysdeps/linux/m68k/Makefile.arch
@@ -9,8 +9,4 @@ CSRC := ptrace.c brk.c __syscall_error.c syscall.c
SSRC := __longjmp.S bsd-_setjmp.S bsd-setjmp.S clone.S setjmp.S vfork.S
-ifneq ($(HAVE_ELF),y)
-ARCH_HEADERS := float.h
-endif
-
include $(top_srcdir)libc/sysdeps/linux/Makefile.commonarch
diff --git a/libc/sysdeps/linux/m68k/vfork.S b/libc/sysdeps/linux/m68k/vfork.S
index ec319d077..58564f765 100644
--- a/libc/sysdeps/linux/m68k/vfork.S
+++ b/libc/sysdeps/linux/m68k/vfork.S
@@ -18,9 +18,7 @@
.align 2
.globl errno
.globl vfork
-#ifdef __HAVE_ELF__
.type vfork,@function
-#endif
vfork:
movl %sp@+, %a1 /* save the return address for later */
diff --git a/libc/sysdeps/linux/nios/vfork.S b/libc/sysdeps/linux/nios/vfork.S
index 3ac3da9b3..2479fe752 100644
--- a/libc/sysdeps/linux/nios/vfork.S
+++ b/libc/sysdeps/linux/nios/vfork.S
@@ -23,9 +23,7 @@
.text
.align 2
.globl vfork
-#if defined __HAVE_ELF__
.type vfork,@function
-#endif
vfork:
MOVIP %g1, __NR_vfork
trap 63
diff --git a/libc/sysdeps/linux/sh/clone.S b/libc/sysdeps/linux/sh/clone.S
index 80c623b81..1806313e0 100644
--- a/libc/sysdeps/linux/sh/clone.S
+++ b/libc/sysdeps/linux/sh/clone.S
@@ -25,7 +25,7 @@
#include <bits/errno.h>
-#if defined __HAVE_ELF__ && defined __HAVE_SHARED__
+#ifdef __HAVE_SHARED__
#define PLTJMP(_x) _x##@PLT
#else
#define PLTJMP(_x) _x
@@ -98,7 +98,7 @@ clone:
/* we are done, passing the return value through r0 */
mov.l .L1, r1
-#if defined __HAVE_ELF__ && defined __HAVE_SHARED__
+#ifdef __HAVE_SHARED__
mov.l r12, @-r15
sts.l pr, @-r15
mov r0, r4
diff --git a/libc/sysdeps/linux/sh/setjmp.S b/libc/sysdeps/linux/sh/setjmp.S
index bb87ff0fb..3296c2ba9 100644
--- a/libc/sysdeps/linux/sh/setjmp.S
+++ b/libc/sysdeps/linux/sh/setjmp.S
@@ -77,7 +77,7 @@ __sigsetjmp_intern:
mov.l r9, @-r4
mov.l r8, @-r4
-#if defined __HAVE_ELF__ && defined __HAVE_SHARED__
+#ifdef __HAVE_SHARED__
mov.l .LG, r2
mova .LG, r0
add r0, r2
diff --git a/libc/sysdeps/linux/sh/syscall_error.S b/libc/sysdeps/linux/sh/syscall_error.S
index 7115120db..1764ebfc8 100644
--- a/libc/sysdeps/linux/sh/syscall_error.S
+++ b/libc/sysdeps/linux/sh/syscall_error.S
@@ -3,7 +3,7 @@ __syscall_error:
/* Call errno_location, store '-r4' in errno and return -1 */
mov.l r12, @-r15
sts.l pr, @-r15
-#if defined __HAVE_ELF__ && defined __HAVE_SHARED__
+#ifdef __HAVE_SHARED__
mova .LG, r0
mov.l .LG, r12
add r0, r12
@@ -27,7 +27,7 @@ __syscall_error:
.align 4
-#if defined __HAVE_ELF__ && defined __HAVE_SHARED__
+#ifdef __HAVE_SHARED__
1: .long __errno_location@GOT
.LG: .long _GLOBAL_OFFSET_TABLE_
#else
diff --git a/libpthread/linuxthreads.old/attr.c b/libpthread/linuxthreads.old/attr.c
index e5f110b0e..287f2636d 100644
--- a/libpthread/linuxthreads.old/attr.c
+++ b/libpthread/linuxthreads.old/attr.c
@@ -49,7 +49,7 @@ int pthread_attr_init(pthread_attr_t *attr)
/* uClibc: leave out this for now. */
#if DO_PTHREAD_VERSIONING_WITH_UCLIBC
-#if defined __HAVE_ELF__ && defined __PIC__ && defined DO_VERSIONING
+#if defined __PIC__ && defined DO_VERSIONING
default_symbol_version (__pthread_attr_init_2_1, pthread_attr_init, GLIBC_2.1);
int __pthread_attr_init_2_0(pthread_attr_t *attr)