mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-07-21 18:34:33 +00:00
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" &&
|
if test -n "$target_cc" &&
|
||||||
test "$targetos" != "darwin" && test "$targetos" != "sunos" && \
|
test "$targetos" != "darwin" && test "$targetos" != "sunos" && \
|
||||||
test "$targetos" != "haiku" && test "$softmmu" = yes ; then
|
test "$targetos" != "haiku" && test "$softmmu" = yes ; then
|
||||||
# Different host OS linkers have different ideas about the name of the ELF
|
roms="pc-bios/optionrom"
|
||||||
# emulation. Linux and OpenBSD/amd64 use 'elf_i386'; FreeBSD uses the _fbsd
|
config_mak=pc-bios/optionrom/config.mak
|
||||||
# variant; OpenBSD/i386 uses the _obsd variant; and Windows uses i386pe.
|
echo "# Automatically generated by configure - do not modify" > $config_mak
|
||||||
for emu in elf_i386 elf_i386_fbsd elf_i386_obsd i386pe; do
|
echo "TOPSRC_DIR=$source_path" >> $config_mak
|
||||||
if "$target_ld" -verbose 2>&1 | grep -q "^[[:space:]]*${emu}[[:space:]]*$"; then
|
write_target_makefile >> $config_mak
|
||||||
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
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
probe_target_compiler ppc-softmmu
|
probe_target_compiler ppc-softmmu
|
||||||
|
|
|
@ -20,28 +20,24 @@ override CFLAGS += $(call cc-option, -fcf-protection=none)
|
||||||
# Flags for dependency generation
|
# Flags for dependency generation
|
||||||
override CPPFLAGS += -MMD -MP -MT $@ -MF $(@D)/$(*F).d
|
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, -fno-pie)
|
||||||
|
override CFLAGS += $(call cc-option, -no-pie)
|
||||||
override CFLAGS += -ffreestanding -I$(TOPSRC_DIR)/include
|
override CFLAGS += -ffreestanding -I$(TOPSRC_DIR)/include
|
||||||
override CFLAGS += $(call cc-option, -fno-stack-protector)
|
override CFLAGS += $(call cc-option, -fno-stack-protector)
|
||||||
override CFLAGS += $(call cc-option, -Wno-array-bounds)
|
override CFLAGS += $(call cc-option, -Wno-array-bounds)
|
||||||
|
|
||||||
Wa = -Wa,
|
override LDFLAGS = -nostdlib -Wl,-T,$(SRC_DIR)/flat.lds
|
||||||
override ASFLAGS += -32
|
|
||||||
override CFLAGS += $(call cc-option, $(Wa)-32)
|
|
||||||
|
|
||||||
override LDFLAGS = -m $(LD_I386_EMULATION) -T $(SRC_DIR)/flat.lds
|
|
||||||
|
|
||||||
pvh.img: pvh.o pvh_main.o
|
pvh.img: pvh.o pvh_main.o
|
||||||
|
|
||||||
%.o: %.S
|
%.o: %.S
|
||||||
$(call quiet-command,$(CC) $(CPPFLAGS) -E -o - $< | $(AS) $(ASFLAGS) -o $@,"AS","$@")
|
$(call quiet-command,$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<,"AS","$@")
|
||||||
|
|
||||||
%.o: %.c
|
%.o: %.c
|
||||||
$(call quiet-command,$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@,"CC","$@")
|
$(call quiet-command,$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@,"CC","$@")
|
||||||
|
|
||||||
%.img: %.o
|
%.img: %.o
|
||||||
$(call quiet-command,$(LD) $(LDFLAGS) -s -o $@ $^,"BUILD","$@")
|
$(call quiet-command,$(CC) $(CFLAGS) $(LDFLAGS) -s -o $@ $^,"BUILD","$@")
|
||||||
|
|
||||||
%.raw: %.img
|
%.raw: %.img
|
||||||
$(call quiet-command,$(OBJCOPY) -O binary -j .text $< $@,"BUILD","$@")
|
$(call quiet-command,$(OBJCOPY) -O binary -j .text $< $@,"BUILD","$@")
|
||||||
|
|
Loading…
Reference in a new issue