Makerules: Do not require startup files for format.lds probe object
authorFlorian Weimer <fweimer@redhat.com>
Tue, 12 Jan 2021 11:22:47 +0000 (12:22 +0100)
committerFlorian Weimer <fweimer@redhat.com>
Tue, 12 Jan 2021 11:22:47 +0000 (12:22 +0100)
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]").

Makerules

index 06c7c48..ca98854 100644 (file)
--- 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