summaryrefslogtreecommitdiff
path: root/Makerules
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2005-02-16 12:31:10 +0000
committerRoland McGrath <roland@gnu.org>2005-02-16 12:31:10 +0000
commit833861be818bb5d45ab0c47370b84068dfb2fedf (patch)
tree2f1754a415c378f6b067f9158cc42df24d4641d2 /Makerules
parentc397a0064061e28a00eea873669e59f3983db791 (diff)
import later fedora-branch tweaks
Diffstat (limited to 'Makerules')
-rw-r--r--Makerules32
1 files changed, 17 insertions, 15 deletions
diff --git a/Makerules b/Makerules
index 887d7275c3..5d7b24f31f 100644
--- a/Makerules
+++ b/Makerules
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+# Copyright (C) 1991-2002, 2003, 2004 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@@ -338,8 +338,7 @@ $(common-objpfx)Versions.def.v.i: $(..)Versions.def \
$(common-objpfx)Versions.all: $(..)scripts/firstversions.awk \
$(common-objpfx)soversions.i \
$(common-objpfx)Versions.def.v
- { while read which lib version setname; do \
- test x"$$which" = xDEFAULT || continue; \
+ { while read lib version setname; do \
test -z "$$setname" || echo "$$lib : $$setname"; \
done < $(word 2,$^); \
cat $(word 3,$^); \
@@ -492,7 +491,7 @@ $(common-objpfx)shlib.lds: $(common-objpfx)config.make $(..)Makerules
PROVIDE(__start___libc_freeres_ptrs = .); \
*(__libc_freeres_ptrs) \
PROVIDE(__stop___libc_freeres_ptrs = .);/'\
- -e 's@^.*\*(\.jcr).*$$@& \
+ -e 's/^.*\*(\.jcr).*$$/& \
PROVIDE(__start___libc_subfreeres = .);\
__libc_subfreeres : { *(__libc_subfreeres) }\
PROVIDE(__stop___libc_subfreeres = .);\
@@ -501,8 +500,7 @@ $(common-objpfx)shlib.lds: $(common-objpfx)config.make $(..)Makerules
PROVIDE(__stop___libc_atexit = .);\
PROVIDE(__start___libc_thread_subfreeres = .);\
__libc_thread_subfreeres : { *(__libc_thread_subfreeres) }\
- PROVIDE(__stop___libc_thread_subfreeres = .);\
- /DISCARD/ : { *(.gnu.glibc-stub.*) }@'
+ PROVIDE(__stop___libc_thread_subfreeres = .);/'
mv -f $@T $@
common-generated += shlib.lds
@@ -1386,15 +1384,19 @@ ifdef objpfx
.PHONY: stubs # The parent Makefile calls this target.
stubs: $(objpfx)stubs
endif
-objs-for-stubs := $(foreach o,$(object-suffixes-for-libc),$(o-objects)) \
- $(addprefix $(objpfx),$(extra-objs))
-$(objpfx)stubs: $(objs-for-stubs)
-ifneq (,$(strip $(objs-for-stubs)))
- $(OBJDUMP) -h $^ | \
- $(AWK) '/\.gnu\.glibc-stub\./ { \
- sub(/\.gnu\.glibc-stub\./, "", $$2); \
- stubs[$$2] = 1; } \
- END { for (s in stubs) print "#define __stub_" s }' > $@T
+$(objpfx)stubs: $(+depfiles)
+ifneq (,$(strip $(+depfiles)))
+# Use /dev/null since `...` might expand to empty.
+ c=`($(patsubst %/,cd % &&,$(objpfx)) \
+ sed -n -e 's@\$$(common-objpfx)@$(common-objpfx)@g' \
+ -e 's@\$$(objpfx)@$(objpfx)@g' \
+ -e '/stub-tag\.h/{; g; s/./&/p; }' \
+ -e '/:/{x; s/^.*$$//; x; }' \
+ -e 's/^.*://;s/\\$$//;s/^ *\([^ ][^ ]*\) .*$$/\1/' \
+ -e '/^[^ ][^ ]*$$/{G;s/^.*\n\(..*\)/\1/;s/\n//;h; }' \
+ $(patsubst $(objpfx)%,%,$^)) | sort | uniq`; \
+ sed -n 's/^stub_warning *(\([^)]*\).*$$/#define __stub_\1/p' \
+ $$c /dev/null > $@T
mv -f $@T $@
else
> $@