mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 08:43:55 -06:00

The non-standard .fa library suffix breaks the link source
de-duplication done by Meson so drop it.
The lack of link source de-duplication causes AddressSanitizer to
complain ODR violations, and makes GNU ld abort when combined with
clang's LTO.
Fortunately, the non-standard suffix is not necessary anymore for
two reasons.
First, the non-standard suffix was necessary for fork-fuzzing.
Meson wraps all standard-suffixed libraries with --start-group and
--end-group. This made a fork-fuzz.ld linker script wrapped as well and
broke builds. Commit d2e6f9272d
("fuzz: remove fork-fuzzing
scaffolding") dropped fork-fuzzing so we can now restore the standard
suffix.
Second, the libraries are not even built anymore, because it is
possible to just use the object files directly via extract_all_objects().
The occurences of the suffix were detected and removed by performing
a tree-wide search with 'fa' and .fa (note the quotes and dot).
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20240524-xkb-v4-4-2de564e5c859@daynix.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
74 lines
1.7 KiB
Meson
74 lines
1.7 KiB
Meson
libqos_srcs = files(
|
|
'../libqtest.c',
|
|
'../libqmp.c',
|
|
|
|
'qgraph.c',
|
|
'qos_external.c',
|
|
'pci.c',
|
|
'fw_cfg.c',
|
|
'libqos-malloc.c',
|
|
'libqos.c',
|
|
'sdhci-cmd.c',
|
|
|
|
# spapr
|
|
'malloc-spapr.c',
|
|
'libqos-spapr.c',
|
|
'rtas.c',
|
|
'pci-spapr.c',
|
|
|
|
# pc
|
|
'pci-pc.c',
|
|
'malloc-pc.c',
|
|
'libqos-pc.c',
|
|
'ahci.c',
|
|
|
|
# usb
|
|
'usb.c',
|
|
|
|
# qgraph devices:
|
|
'e1000e.c',
|
|
'i2c.c',
|
|
'i2c-imx.c',
|
|
'i2c-omap.c',
|
|
'igb.c',
|
|
'sdhci.c',
|
|
'tpci200.c',
|
|
'virtio.c',
|
|
'virtio-balloon.c',
|
|
'virtio-blk.c',
|
|
'vhost-user-blk.c',
|
|
'virtio-mmio.c',
|
|
'virtio-net.c',
|
|
'virtio-pci.c',
|
|
'virtio-pci-modern.c',
|
|
'virtio-rng.c',
|
|
'virtio-scsi.c',
|
|
'virtio-serial.c',
|
|
'virtio-iommu.c',
|
|
'virtio-gpio.c',
|
|
'virtio-scmi.c',
|
|
'generic-pcihost.c',
|
|
|
|
# qgraph machines:
|
|
'aarch64-xlnx-zcu102-machine.c',
|
|
'arm-imx25-pdk-machine.c',
|
|
'arm-n800-machine.c',
|
|
'arm-raspi2-machine.c',
|
|
'arm-sabrelite-machine.c',
|
|
'arm-smdkc210-machine.c',
|
|
'arm-virt-machine.c',
|
|
'arm-xilinx-zynq-a9-machine.c',
|
|
'ppc64_pseries-machine.c',
|
|
'x86_64_pc-machine.c',
|
|
'riscv-virt-machine.c',
|
|
'loongarch-virt-machine.c',
|
|
)
|
|
|
|
if have_virtfs
|
|
libqos_srcs += files('virtio-9p.c', 'virtio-9p-client.c')
|
|
endif
|
|
|
|
libqos = static_library('qos', libqos_srcs + genh,
|
|
build_by_default: false)
|
|
|
|
qos = declare_dependency(objects: libqos.extract_all_objects(recursive: false))
|