configure: do not invoke as/ld directly for pc-bios/optionrom
Just use using the compiler binary, with -nostdlib in the case of the linker; the compiler driver (whether i686-*-gcc, or x86_64-*-gcc with the -m32 option) will then pick the right magic option to as and ld. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
2fc7eb6897
commit
7089977a24
22
configure
vendored
22
configure
vendored
@ -2320,23 +2320,11 @@ probe_target_compiler i386-softmmu
|
||||
if test -n "$target_cc" &&
|
||||
test "$targetos" != "darwin" && test "$targetos" != "sunos" && \
|
||||
test "$targetos" != "haiku" && test "$softmmu" = yes ; then
|
||||
# Different host OS linkers have different ideas about the name of the ELF
|
||||
# emulation. Linux and OpenBSD/amd64 use 'elf_i386'; FreeBSD uses the _fbsd
|
||||
# variant; OpenBSD/i386 uses the _obsd variant; and Windows uses i386pe.
|
||||
for emu in elf_i386 elf_i386_fbsd elf_i386_obsd i386pe; do
|
||||
if "$target_ld" -verbose 2>&1 | grep -q "^[[:space:]]*${emu}[[:space:]]*$"; then
|
||||
ld_i386_emulation="$emu"
|
||||
break
|
||||
fi
|
||||
done
|
||||
if test -n "$ld_i386_emulation"; then
|
||||
roms="pc-bios/optionrom"
|
||||
config_mak=pc-bios/optionrom/config.mak
|
||||
echo "# Automatically generated by configure - do not modify" > $config_mak
|
||||
echo "TOPSRC_DIR=$source_path" >> $config_mak
|
||||
echo "LD_I386_EMULATION=$ld_i386_emulation" >> $config_mak
|
||||
write_target_makefile >> $config_mak
|
||||
fi
|
||||
roms="pc-bios/optionrom"
|
||||
config_mak=pc-bios/optionrom/config.mak
|
||||
echo "# Automatically generated by configure - do not modify" > $config_mak
|
||||
echo "TOPSRC_DIR=$source_path" >> $config_mak
|
||||
write_target_makefile >> $config_mak
|
||||
fi
|
||||
|
||||
probe_target_compiler ppc-softmmu
|
||||
|
@ -20,28 +20,24 @@ override CFLAGS += $(call cc-option, -fcf-protection=none)
|
||||
# Flags for dependency generation
|
||||
override CPPFLAGS += -MMD -MP -MT $@ -MF $(@D)/$(*F).d
|
||||
|
||||
override CFLAGS += $(filter -W%, $(QEMU_CFLAGS))
|
||||
override CFLAGS += $(call cc-option, -fno-pie)
|
||||
override CFLAGS += $(call cc-option, -no-pie)
|
||||
override CFLAGS += -ffreestanding -I$(TOPSRC_DIR)/include
|
||||
override CFLAGS += $(call cc-option, -fno-stack-protector)
|
||||
override CFLAGS += $(call cc-option, -Wno-array-bounds)
|
||||
|
||||
Wa = -Wa,
|
||||
override ASFLAGS += -32
|
||||
override CFLAGS += $(call cc-option, $(Wa)-32)
|
||||
|
||||
override LDFLAGS = -m $(LD_I386_EMULATION) -T $(SRC_DIR)/flat.lds
|
||||
override LDFLAGS = -nostdlib -Wl,-T,$(SRC_DIR)/flat.lds
|
||||
|
||||
pvh.img: pvh.o pvh_main.o
|
||||
|
||||
%.o: %.S
|
||||
$(call quiet-command,$(CC) $(CPPFLAGS) -E -o - $< | $(AS) $(ASFLAGS) -o $@,"AS","$@")
|
||||
$(call quiet-command,$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<,"AS","$@")
|
||||
|
||||
%.o: %.c
|
||||
$(call quiet-command,$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@,"CC","$@")
|
||||
|
||||
%.img: %.o
|
||||
$(call quiet-command,$(LD) $(LDFLAGS) -s -o $@ $^,"BUILD","$@")
|
||||
$(call quiet-command,$(CC) $(CFLAGS) $(LDFLAGS) -s -o $@ $^,"BUILD","$@")
|
||||
|
||||
%.raw: %.img
|
||||
$(call quiet-command,$(OBJCOPY) -O binary -j .text $< $@,"BUILD","$@")
|
||||
|
Loading…
Reference in New Issue
Block a user