From 85b1563e576dd43f962ac92a725247dcfd665d49 Mon Sep 17 00:00:00 2001 From: Christian Prochaska Date: Sat, 20 Jul 2019 18:19:30 +0200 Subject: [PATCH] mk: generate .data symbols with distinct values/addresses Prevent the static linker from assuming weak object symbols to be alias symbols for unrelated non-weak symbols with the same value/address. Fixes #3458 --- repos/base/mk/generic.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/repos/base/mk/generic.mk b/repos/base/mk/generic.mk index 5eefc8cc7..7bd7783b9 100644 --- a/repos/base/mk/generic.mk +++ b/repos/base/mk/generic.mk @@ -153,8 +153,8 @@ endif %.symbols.s: %.symbols $(MSG_CONVERT)$@ $(VERBOSE)\ - sed -e "s/^\(\w\+\) D \(\w\+\)\$$/.data; .global \1; .type \1,%object; .size \1,\2; \1:/" \ - -e "s/^\(\w\+\) V/.data; .weak \1; .type \1,%object; \1:/" \ + sed -e "s/^\(\w\+\) D \(\w\+\)\$$/.data; .global \1; .type \1,%object; .size \1,\2; \1: .skip 1/" \ + -e "s/^\(\w\+\) V/.data; .weak \1; .type \1,%object; \1: .skip 1/" \ -e "s/^\(\w\+\) T/.text; .global \1; .type \1,%function; \1:/" \ -e "s/^\(\w\+\) R \(\w\+\)\$$/.section .rodata; .global \1; .type \1,%object; .size \1,\2; \1:/" \ -e "s/^\(\w\+\) W/.text; .weak \1; .type \1,%function; \1:/" \