[PATCH] Makerules: Do not require startup files for format.lds probe object

Florian Weimer fweimer@redhat.com
Tue Jan 12 12:02:57 GMT 2021


During statically linked bootstrap, the compiler does not have
the required startup files, so do a smaller dummy link to obtain
the output format information.

Fixes commit 87d583c6e8cd0e49f64da76636ebeec033298b4d ("install:
Replace scripts/output-format.sed with objdump -f [BZ #26559]").

Testing is still in progress, but looks good so far.

---
 Makerules | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/Makerules b/Makerules
index 06c7c48310..ca9885436e 100644
--- a/Makerules
+++ b/Makerules
@@ -1067,9 +1067,8 @@ install: $(inst_slibdir)/libc.so$(libc.so-version)
 # used by a link for a different format on a multi-architecture system.
 $(common-objpfx)format.lds: $(common-objpfx)config.make \
 			    $(common-objpfx)config.h $(..)Makerules
-	$(LINK.o) -shared $(sysdep-LDFLAGS) $(rtld-LDFLAGS) \
-		  $(LDFLAGS.so) $(LDFLAGS-lib.so) \
-		  -x c /dev/null -o $@.so 2>/dev/null
+	$(LINK.o) -shared -nostdlib -nostartfiles \
+		  -x assembler /dev/null -o $@.so
 	$(OBJDUMP) -f $@.so | sed -n 's/.*file format \(.*\)/OUTPUT_FORMAT(\1)/;T;p' > $@
 	rm -f $@.so
 common-generated += format.lds

-- 
Red Hat GmbH, https://de.redhat.com/ , Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Brian Klemm, Laurie Krebs, Michael O'Neill



More information about the Libc-alpha mailing list