Consolidate shlib.lds references in new variables.
authorRoland McGrath <roland@hack.frob.com>
Sat, 11 Jun 2011 10:41:23 +0000 (03:41 -0700)
committerRoland McGrath <roland@hack.frob.com>
Sat, 2 Jul 2011 22:13:05 +0000 (15:13 -0700)
ChangeLog
Makerules
iconvdata/extra-module.mk

index 7c8c2e2..7b36252 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2011-07-02  Roland McGrath  <roland@hack.frob.com>
 
+       * Makerules (shlib-lds): New variable.
+       (shlib-lds-flags): New variable.
+       (build-shlib, build-moduile, build-module-asneeded): Use it.
+       ($(common-objpfx)libc.so): Use $(shlib-lds).
+       ($(extra-modules-build:%=$(objpfx)%.so)): Likewise.
+       * iconvdata/extra-module.mk ($(objpfx)$(mod).so): Likewise.
+
        * elf/dynamic-link.h (elf_get_dynamic_info): Make asserts accept
        DT_FLAGS/DT_FLAGS_1 with zero flags.
 
index 6b4b0e1..d3cb4cc 100644 (file)
--- a/Makerules
+++ b/Makerules
@@ -514,8 +514,11 @@ $(common-objpfx)shlib.lds: $(common-objpfx)config.make $(..)Makerules
        mv -f $@T $@
 common-generated += shlib.lds
 
+shlib-lds = $(common-objpfx)shlib.lds
+shlib-lds-flags = -T $(shlib-lds)
+
 define build-shlib
-$(build-shlib-helper) -o $@ -T $(common-objpfx)shlib.lds \
+$(build-shlib-helper) -o $@ $(shlib-lds-flags) \
          $(csu-objpfx)abi-note.o $(build-shlib-objlist)
 endef
 else
@@ -557,11 +560,11 @@ ifeq (yes,$(elf))
 # binutils only position loadable notes into the first page for binaries,
 # not for shared objects
 define build-module
-$(build-module-helper) -o $@ -T $(common-objpfx)shlib.lds \
+$(build-module-helper) -o $@ $(shlib-lds-flags) \
          $(csu-objpfx)abi-note.o $(build-module-objlist)
 endef
 define build-module-asneeded
-$(build-module-helper) -o $@ -T $(common-objpfx)shlib.lds \
+$(build-module-helper) -o $@ $(shlib-lds-flags) \
          $(csu-objpfx)abi-note.o \
          -Wl,--as-needed $(build-module-objlist) -Wl,--no-as-needed
 endef
@@ -618,7 +621,7 @@ $(common-objpfx)libc.so: $(elfobjdir)/soinit.os \
                         $(common-objpfx)libc_pic.os \
                         $(elfobjdir)/sofini.os \
                         $(elfobjdir)/interp.os $(elfobjdir)/ld.so \
-                        $(common-objpfx)shlib.lds
+                        $(shlib-lds)
        $(build-shlib)
 ifeq ($(versioning),yes)
 $(common-objpfx)libc.so: $(common-objpfx)libc.map
@@ -689,7 +692,7 @@ include $(patsubst %,$(..)extra-modules.mk,$(modules-names))
 
 extra-modules-build := $(filter-out $(modules-names-nobuild),$(modules-names))
 $(extra-modules-build:%=$(objpfx)%.so): $(objpfx)%.so: \
-               $(objpfx)%.os $(common-objpfx)shlib.lds \
+               $(objpfx)%.os $(shlib-lds) \
                $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a
        $(build-module)
 endif
index 163074f..43f4e12 100644 (file)
@@ -4,7 +4,7 @@ extra-modules-left := $(strip $(filter-out $(mod),$(extra-modules-left)))
 extra-objs := $(extra-objs) $(patsubst %,%.os,$($(mod)-routines))
 
 $(objpfx)$(mod).so: $(addprefix $(objpfx),$(addsuffix .os,$($(mod)-routines)))\
-                   $(common-objpfx)shlib.lds
+                   $(shlib-lds)
        $(build-module-asneeded)
 
 # Depend on libc.so so a DT_NEEDED is generated in the shared objects.