eglibc-2.15-shlib-make.patch 2 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
Index: eglibc-2.15/Makerules
===================================================================
--- eglibc-2.15.orig/Makerules	2011-10-25 03:37:10.000000000 +0300
+++ eglibc-2.15/Makerules	2013-07-16 14:35:52.581191695 +0300
@@ -509,25 +509,19 @@
 else
 # binutils only position loadable notes into the first page for binaries,
 # not for shared objects
-$(common-objpfx)shlib.lds: $(common-objpfx)config.make $(..)Makerules
-	$(LINK.o) -shared -Wl,-O1 \
-		  -nostdlib -nostartfiles \
-		  $(sysdep-LDFLAGS) $(config-LDFLAGS) $(LDFLAGS.so) \
-		  -Wl,--verbose 2>&1 | \
-	  sed > $@T \
-	      -e '/^=========/,/^=========/!d;/^=========/d' \
+shlib-lds-hash = -e '/^=========/,/^=========/!d;/^=========/d' \
 	      $(if $(filter yes,$(have-hash-style)), \
 		   -e 's/^.*\.gnu\.hash[ 	]*:.*$$/  .note.ABI-tag : { *(.note.ABI-tag) } &/' \
 		   -e '/^[ 	]*\.hash[ 	]*:.*$$/{h;d;}' \
 		   -e '/DATA_SEGMENT_ALIGN/{H;g}' \
 		, \
 		   -e 's/^.*\.hash[ 	]*:.*$$/  .note.ABI-tag : { *(.note.ABI-tag) } &/' \
-	       ) \
-	      -e 's/^.*\*(\.dynbss).*$$/& \
+	       )
+shlib-lds-dynbss = -e 's/^.*\*(\.dynbss).*$$/& \
 		 PROVIDE(__start___libc_freeres_ptrs = .); \
 		 *(__libc_freeres_ptrs) \
-		 PROVIDE(__stop___libc_freeres_ptrs = .);/'\
-	      -e 's@^.*\*(\.jcr).*$$@& \
+		 PROVIDE(__stop___libc_freeres_ptrs = .);/'
+shlib-lds-jcr = -e 's@^.*\*(\.jcr).*$$@& \
 		 PROVIDE(__start___libc_subfreeres = .);\
 		 __libc_subfreeres : { *(__libc_subfreeres) }\
 		 PROVIDE(__stop___libc_subfreeres = .);\
@@ -538,6 +532,13 @@
 		 __libc_thread_subfreeres : { *(__libc_thread_subfreeres) }\
 		 PROVIDE(__stop___libc_thread_subfreeres = .);\
 		 /DISCARD/ : { *(.gnu.glibc-stub.*) }@'
+$(common-objpfx)shlib.lds: $(common-objpfx)config.make $(..)Makerules
+	$(LINK.o) -shared -Wl,-O1 \
+		  -nostdlib -nostartfiles \
+		  $(sysdep-LDFLAGS) $(config-LDFLAGS) $(LDFLAGS.so) \
+		  -Wl,--verbose 2>&1 | \
+	  sed > $@T \
+	      $(shlib-lds-hash) $(shlib-lds-dynbss) $(shlib-lds-jcr)
 	test -s $@T
 	mv -f $@T $@
 common-generated += shlib.lds