+2015-02-06 Roland McGrath <roland@hack.frob.com>
+
+ * elf/Makefile (routines): Include $(all-dl-routines), not just
+ $(dl-routines).
+ (rtld-routines): Likewise. Use = rather than :=.
+ * sysdeps/aarch64/Makefile [$(subdir) = elf]
+ (sysdep_routines, sysdep-rtld-routines): Don't add tlsdesc and
+ dl-tlsdesc to these; sysdep-dl-routines alone is enough.
+ * sysdeps/arm/Makefile: Likewise.
+ * sysdeps/i386/Makefile: Likewise.
+ * sysdeps/x86_64/Makefile: Likewise.
+ * sysdeps/hppa/Makefile [$(subdir) = elf]
+ (sysdep_routines, sysdep-rtld-routines): Don't add
+ $(sysdep-dl-routines) to these.
+ * sysdeps/ia64/Makefile: Likewise.
+ * sysdeps/unix/sysv/linux/ia64/Makefile: Likewise.
+ * sysdeps/unix/sysv/linux/aarch64/Makefile [$(subdir) = elf]
+ [$(build-shared) = yes] (sysdep_routines, sysdep-rtld-routines):
+ Don't add dl-static to these; sysdep-dl-routines alone is enough.
+ * sysdeps/unix/sysv/linux/m68k/Makefile: Likewise.
+ * sysdeps/unix/sysv/linux/mips/Makefile: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/Makefile: Likewise.
+ * sysdeps/unix/sysv/linux/tile/Makefile: Likewise.
+ * sysdeps/powerpc/Makefile [$(subdir) = elf]
+ (sysdep_routines, sysdep-rtld-routines): Don't add dl-machine to
+ these; sysdep-dl-routines alone is enough.
+
2015-02-06 Joseph Myers <joseph@codesourcery.com>
[BZ #17932]
include ../Makeconfig
headers = elf.h bits/elfclass.h link.h bits/link.h
-routines = $(dl-routines) dl-support dl-iteratephdr \
+routines = $(all-dl-routines) dl-support dl-iteratephdr \
dl-addr enbl-secure dl-profstub \
dl-origin dl-libc dl-sym dl-tsd dl-sysdep
# ld.so uses those routines, plus some special stuff for being the program
# interpreter and operating independent of libc.
-rtld-routines := rtld $(dl-routines) dl-sysdep dl-environ dl-minimal
+rtld-routines = rtld $(all-dl-routines) dl-sysdep dl-environ dl-minimal
all-rtld-routines = $(rtld-routines) $(sysdep-rtld-routines)
CFLAGS-dl-runtime.c = -fexceptions -fasynchronous-unwind-tables
ifeq ($(subdir),elf)
sysdep-dl-routines += tlsdesc dl-tlsdesc
-sysdep_routines += tlsdesc dl-tlsdesc
-sysdep-rtld-routines += tlsdesc dl-tlsdesc
gen-as-const-headers += dl-link.sym
endif
ifeq ($(subdir),elf)
sysdep-dl-routines += tlsdesc dl-tlsdesc
-sysdep_routines += aeabi_unwind_cpp_pr1 find_exidx tlsdesc dl-tlsdesc
-sysdep-rtld-routines += aeabi_unwind_cpp_pr1 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
sysdep-dl-routines += dl-symaddr dl-fptr
# dl-fptr.c needs a complete rewrite to fix ISO C aliasing violations.
CFLAGS-dl-fptr.c = -Wno-error
-sysdep_routines += $(sysdep-dl-routines)
-sysdep-rtld-routines += $(sysdep-dl-routines)
endif
ifeq ($(subdir),csu)
ifeq ($(subdir),elf)
sysdep-dl-routines += tlsdesc dl-tlsdesc
-sysdep_routines += tlsdesc dl-tlsdesc
-sysdep-rtld-routines += tlsdesc dl-tlsdesc
endif
ifeq ($(subdir),csu)
ifeq ($(subdir),elf)
sysdep-dl-routines += dl-symaddr dl-fptr
-sysdep_routines += $(sysdep-dl-routines)
-sysdep-rtld-routines += $(sysdep-dl-routines)
endif
ifeq ($(build-shared),yes)
# This is needed for DSO loading from static binaries.
sysdep-dl-routines += dl-static
-sysdep_routines += dl-static
-sysdep-rtld-routines += dl-static
endif
endif
ifeq ($(subdir),elf)
sysdep-dl-routines += dl-static
-sysdep_routines += $(sysdep-dl-routines)
-sysdep-rtld-routines += $(sysdep-dl-routines)
endif
ifeq ($(subdir),rt)
ifeq ($(subdir),elf)
sysdep-dl-routines += dl-static
-sysdep_routines += dl-vdso libc-m68k-vdso dl-static
-sysdep-rtld-routines += m68k-vdso dl-static
+sysdep_routines += dl-vdso libc-m68k-vdso
+sysdep-rtld-routines += m68k-vdso
sysdep-others += lddlibc4
install-bin += lddlibc4
endif
ifeq ($(build-shared),yes)
# This is needed for DSO loading from static binaries.
sysdep-dl-routines += dl-static
-sysdep_routines += dl-static
-sysdep-rtld-routines += dl-static
endif
endif
ifeq ($(build-shared),yes)
# This is needed for DSO loading from static binaries.
sysdep-dl-routines += dl-static
-sysdep_routines += dl-static
-sysdep-rtld-routines += dl-static
endif
endif
ifeq ($(build-shared),yes)
# This is needed for DSO loading from static binaries.
sysdep-dl-routines += dl-static
-sysdep_routines += dl-static
-sysdep-rtld-routines += dl-static
endif
endif
ifeq ($(subdir),elf)
sysdep-dl-routines += tlsdesc dl-tlsdesc
-sysdep_routines += tlsdesc dl-tlsdesc
-sysdep-rtld-routines += tlsdesc dl-tlsdesc
tests += tst-quad1 tst-quad2
modules-names += tst-quadmod1 tst-quadmod2