about summary refs log tree commit diff
path: root/Makerules
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2005-02-11 09:01:54 +0000
committerJakub Jelinek <jakub@redhat.com>2005-02-11 09:01:54 +0000
commitbf8419b987d24394676108127af8a599f7f7a9fa (patch)
treefdb3f9da34d5c942f223afc6736cd67b433cdf36 /Makerules
parentd4f7a4c095da67f295204513c4be90f602daa7b4 (diff)
downloadglibc-bf8419b987d24394676108127af8a599f7f7a9fa.tar.gz
glibc-bf8419b987d24394676108127af8a599f7f7a9fa.tar.xz
glibc-bf8419b987d24394676108127af8a599f7f7a9fa.zip
Updated to fedora-glibc-20050211T0853
Diffstat (limited to 'Makerules')
-rw-r--r--Makerules32
1 files changed, 15 insertions, 17 deletions
diff --git a/Makerules b/Makerules
index 5d7b24f31f..887d7275c3 100644
--- a/Makerules
+++ b/Makerules
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-2002, 2003, 2004 Free Software Foundation, Inc.
+# Copyright (C) 1991-2002, 2003, 2004, 2005 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,7 +338,8 @@ $(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 lib version setname; do \
+	{ while read which lib version setname; do \
+	    test x"$$which" = xDEFAULT || continue; \
 	    test -z "$$setname" || echo "$$lib : $$setname"; \
 	  done < $(word 2,$^); \
 	  cat $(word 3,$^); \
@@ -491,7 +492,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 = .);\
@@ -500,7 +501,8 @@ $(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 = .);/'
+		 PROVIDE(__stop___libc_thread_subfreeres = .);\
+		 /DISCARD/ : { *(.gnu.glibc-stub.*) }@'
 	mv -f $@T $@
 common-generated += shlib.lds
 
@@ -1384,19 +1386,15 @@ ifdef objpfx
 .PHONY: stubs # The parent Makefile calls this target.
 stubs: $(objpfx)stubs
 endif
-$(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
+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
 	mv -f $@T $@
 else
 	> $@