[PATCH] Makerules: Generate shlib.lds with -fuse-ld=bfd

Fangrui Song maskray@google.com
Sun Nov 6 18:17:50 GMT 2022


lld does not dump a linker script with --verbose (it does not use a
linker script driven design and lots of linker processing is not
serializable as a linker script anyway).  With the default
--with-default-link=no build, $@T is empty and makes `test -s $@T` fail.

Just dump the linker script with -fuse-ld=bfd.  lld since 15
(https://reviews.llvm.org/D124656) supports custom RELRO sections in the
GNU ld dumped linker script.
---
 Makerules | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makerules b/Makerules
index 09c0cf8357..2edc6ee4e1 100644
--- a/Makerules
+++ b/Makerules
@@ -553,7 +553,7 @@ else
 # not for shared objects
 $(common-objpfx)shlib.lds: $(common-objpfx)config.make $(..)Makerules
 	$(LINK.o) -shared -Wl,-O1 \
-		  -nostdlib -nostartfiles \
+		  -nostdlib -nostartfiles -fuse-ld=bfd \
 		  $(sysdep-LDFLAGS) $(rtld-LDFLAGS) $(LDFLAGS.so) \
 		  -Wl,--verbose 2>/dev/null | \
 	  sed > $@T \
-- 
2.38.1.431.g37b22c650d-goog



More information about the Libc-alpha mailing list