about summary refs log tree commit diff
path: root/Makerules
diff options
context:
space:
mode:
Diffstat (limited to 'Makerules')
-rw-r--r--Makerules8
1 files changed, 7 insertions, 1 deletions
diff --git a/Makerules b/Makerules
index f50f7a4884..b0be86b368 100644
--- a/Makerules
+++ b/Makerules
@@ -487,7 +487,13 @@ $(common-objpfx)shlib.lds: $(common-objpfx)config.make $(..)Makerules
 		  -Wl,--verbose 2>&1 | \
 	  sed > $@T \
 	      -e '/^=========/,/^=========/!d;/^=========/d' \
-	      -e 's/^.*\.hash[ 	]*:.*$$/  .note.ABI-tag : { *(.note.ABI-tag) } &/' \
+	      $(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).*$$/& \
 		 PROVIDE(__start___libc_freeres_ptrs = .); \
 		 *(__libc_freeres_ptrs) \