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

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 87d583c6e8 ("install:
Replace scripts/output-format.sed with objdump -f [BZ #26559]").
This commit is contained in:
Florian Weimer 2021-01-12 12:22:47 +01:00
parent 87d583c6e8
commit 0400f92833

View File

@ -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