summaryrefslogtreecommitdiff
path: root/Makerules
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2001-06-18 01:09:45 +0000
committerRoland McGrath <roland@gnu.org>2001-06-18 01:09:45 +0000
commitc7414a8e3038b5406f4dff49ad2e99ea46f2789d (patch)
tree1fd25c7dda390c23f6fceccdf65b7031f760f69f /Makerules
parent9b17c7605f47e56accbd8e835d469aca77aecea5 (diff)
* sysdeps/unix/sysv/linux/i386/sigaction.c (restore, restore_rt):
Declare these without `static', to avoid warning that we haven't defined them. * Makerules (build-module-helper-objlist): New variable, broken out of build-module. Insert --whole-archive/--no-whole-archive immediately each *_pic.a file in the link object list. (whole-archive): New variable, used by that. (build-module-objlist): New variable using build-module-helper-objlist. (build-module, build-module-helper): Use it. (build-shlib-objlist): New variable using build-module-helper-objlist. (build-shlib): Use that. * sysdeps/mach/hurd/Makefile ($(link-rpcuserlibs)): Likewise.
Diffstat (limited to 'Makerules')
-rw-r--r--Makerules31
1 files changed, 19 insertions, 12 deletions
diff --git a/Makerules b/Makerules
index 53d82c0204..596f3cf3b0 100644
--- a/Makerules
+++ b/Makerules
@@ -117,6 +117,11 @@ $(common-objpfx)abi-versions.h: $(..)scripts/abi-versions.awk \
$(common-objpfx)Versions.all
LC_ALL=C $(AWK) -v oldest_abi=$(oldest-abi) -f $^ > $@T
mv -f $@T $@
+
+$(common-objpfx)%.latest: $(common-objpfx)abi-versions.h
+ sed -n '/ VERSION_$*_/{s/^.*_\([A-Z0-9_]*\).*$$/\1/;h;};$${g;p;}' \
+ $(common-objpfx)abi-versions.h > $@T
+ mv -f $@T $@
endif # avoid-generated
endif # $(versioning) = yes
@@ -410,17 +415,13 @@ $(build-shlib-helper) \
> $@.lds
rm -f $@.new
$(build-shlib-helper) -o $@ -T $@.lds \
- -Wl,--whole-archive $(csu-objpfx)abi-note.o \
- $(filter-out $(map-file) $(+preinit) $(+postinit),$^) \
- $(no-whole-archive) $(LDLIBS-$(@F:lib%.so=%).so)
+ $(csu-objpfx)abi-note.o $(build-shlib-objlist)
rm -f $@.lds
endef
else
define build-shlib
$(build-shlib-helper) \
- -o $@ -Wl,--whole-archive \
- $(filter-out $(map-file) $(+preinit) $(+postinit),$^) \
- $(no-whole-archive) $(LDLIBS-$(@F:lib%.so=%).so)
+ $(build-shlib-objlist)
endef
endif
@@ -445,20 +446,26 @@ $(build-module-helper) \
> $@.lds
rm -f $@.new
$(build-module-helper) -o $@ -T $@.lds \
- -Wl,--whole-archive $(csu-objpfx)abi-note.o \
- $(filter-out $(map-file) $(+preinit) $(+postinit),$^) \
- $(no-whole-archive) $(LDLIBS-$(@F:lib%.so=%).so)
+ $(csu-objpfx)abi-note.o $(build-module-objlist)
rm -f $@.lds
endef
else
define build-module
$(build-module-helper) \
- -o $@ -Wl,--whole-archive \
- $(filter-out $(map-file) $(+preinit) $(+postinit),$^) \
- $(no-whole-archive) $(LDLIBS-$(@F:%.so=%).so)
+ -o $@ \
+ $(build-module-objlist)
endef
endif
+build-module-helper-objlist = \
+ $(patsubst %_pic.a,$(whole-archive) %_pic.a $(no-whole-archive),\
+ $(filter-out $(map-file) $(+preinit) $(+postinit),$^))
+whole-archive := -Wl,--whole-archive
+
+build-module-objlist = $(build-module-helper-objlist) $(LDLIBS-$(@F:%.so=%).so)
+build-shlib-objlist = $(build-module-helper-objlist) \
+ $(LDLIBS-$(@F:lib%.so=%).so)
+
# Don't try to use -lc when making libc.so itself.
# Also omits crti.o and crtn.o, which we do not want
# since we define our own `.init' section specially.