glibc/sysdeps/arm/Makefile
Joseph Myers 56583289b1 Remove configure test for ARM TLS descriptors support.
GCC 4.7 added support for ARM TLS descriptors.  The binutils support
is present in binutils 2.22.  Thus, this patch removes the associated
configure test as obsolete (leaving Makefile conditionals, as NaCl
sets have-arm-tls-desc = no in its sysdeps fragment).

Tested for ARM that installed shared libraries are unchanged by the
patch.

	* sysdeps/arm/configure.ac (libc_cv_arm_tls_desc): Remove
	configure test.
	* sysdeps/arm/configure: Regenerated.
	* sysdeps/arm/Makefile [!have-arm-tls-desc] (have-arm-tls-desc):
	Define variable if not already defined.
2015-10-27 23:56:50 +00:00

80 lines
2.6 KiB
Makefile

gnulib-arch = $(elf-objpfx)libgcc-stubs.a
static-gnulib-arch = $(elf-objpfx)libgcc-stubs.a
# All supported build tools support TLS descriptors, but the OS may not.
ifndef have-arm-tls-desc
have-arm-tls-desc = yes
endif
ifeq ($(subdir),elf)
sysdep-dl-routines += tlsdesc dl-tlsdesc
sysdep_routines += aeabi_unwind_cpp_pr1 find_exidx
sysdep-rtld-routines += aeabi_unwind_cpp_pr1
shared-only-routines += aeabi_unwind_cpp_pr1
$(objpfx)libgcc-stubs.a: $(objpfx)aeabi_unwind_cpp_pr1.os
$(build-extra-lib)
lib-noranlib: $(objpfx)libgcc-stubs.a
ifeq ($(build-shared),yes)
ifeq ($(have-arm-tls-desc),yes)
tests += tst-armtlsdescloc tst-armtlsdescextnow tst-armtlsdescextlazy
modules-names += tst-armtlsdesclocmod
modules-names += tst-armtlsdescextlazymod tst-armtlsdescextnowmod
CPPFLAGS-tst-armtlsdescextnowmod.c += -Dstatic=
CPPFLAGS-tst-armtlsdescextlazymod.c += -Dstatic=
CFLAGS-tst-armtlsdesclocmod.c += -mtls-dialect=gnu2
CFLAGS-tst-armtlsdescextnowmod.c += -mtls-dialect=gnu2
CFLAGS-tst-armtlsdescextlazymod.c += -mtls-dialect=gnu2
LDFLAGS-tst-armtlsdescextnowmod.so += -Wl,-z,now
tst-armtlsdescloc-ENV = LD_BIND_NOW=1
tst-armtlsdescextnow-ENV = LD_BIND_NOW=1
tst-armtlsdescextlazy-ENV = LD_BIND_NOW=1
$(objpfx)tst-armtlsdescloc: $(objpfx)tst-armtlsdesclocmod.so
$(objpfx)tst-armtlsdescextnow: $(objpfx)tst-armtlsdescextnowmod.so
$(objpfx)tst-armtlsdescextlazy: $(objpfx)tst-armtlsdescextlazymod.so
endif
endif
endif
ifeq ($(subdir),csu)
# get offset to rtld_global._dl_hwcap
gen-as-const-headers += rtld-global-offsets.sym tlsdesc.sym
aeabi_constants = aeabi_lcsts aeabi_sighandlers aeabi_math
aeabi_routines = aeabi_assert aeabi_localeconv aeabi_errno_addr \
aeabi_mb_cur_max aeabi_atexit aeabi_memclr aeabi_memcpy \
aeabi_memmove aeabi_memset \
aeabi_read_tp libc-aeabi_read_tp
sysdep_routines += $(aeabi_constants) $(aeabi_routines)
static-only-routines += $(aeabi_constants) aeabi_read_tp
shared-only-routines += libc-aeabi_read_tp
# In order for unwinding to fail when it falls out of main, we need a
# cantunwind marker. There's one in start.S. To make sure we reach it, add
# unwind tables for __libc_start_main.
CFLAGS-libc-start.c += -fexceptions
sysdep_routines += arm-unwind-resume
shared-only-routines += arm-unwind-resume
endif
ifeq ($(subdir),gmon)
sysdep_routines += arm-mcount
endif
ifeq ($(subdir),debug)
CFLAGS-backtrace.c += -funwind-tables
endif
ifeq ($(subdir),rt)
librt-sysdep_routines += rt-aeabi_unwind_cpp_pr1 rt-arm-unwind-resume
librt-shared-only-routines += rt-aeabi_unwind_cpp_pr1 rt-arm-unwind-resume
endif
ifeq ($(subdir),nptl)
libpthread-sysdep_routines += pt-arm-unwind-resume
libpthread-shared-only-routines += pt-arm-unwind-resume
endif