trace: Put all trace.o into libqemuutil.a

Currently all trace.o are linked into qemu-system, qemu-img,
qemu-nbd, qemu-io etc., even the corresponding components
are not included.
Put all trace.o into libqemuutil.a that the linker would only pull in .o
files containing symbols that are actually referenced by the
program.

Signed-off -by: Anthony Xu <anthony.xu@intel.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
Xu, Anthony 2017-04-04 21:39:39 +00:00 committed by Stefan Hajnoczi
parent c53eeaf75a
commit 3d1baccb08
3 changed files with 6 additions and 7 deletions

View File

@ -346,7 +346,7 @@ dtc/%:
mkdir -p $@ mkdir -p $@
$(SUBDIR_RULES): libqemuutil.a libqemustub.a $(common-obj-y) $(chardev-obj-y) \ $(SUBDIR_RULES): libqemuutil.a libqemustub.a $(common-obj-y) $(chardev-obj-y) \
$(qom-obj-y) $(crypto-aes-obj-$(CONFIG_USER_ONLY)) $(trace-obj-y) $(qom-obj-y) $(crypto-aes-obj-$(CONFIG_USER_ONLY))
ROMSUBDIR_RULES=$(patsubst %,romsubdir-%, $(ROMS)) ROMSUBDIR_RULES=$(patsubst %,romsubdir-%, $(ROMS))
# Only keep -O and -g cflags # Only keep -O and -g cflags
@ -366,11 +366,11 @@ Makefile: $(version-obj-y)
# Build libraries # Build libraries
libqemustub.a: $(stub-obj-y) libqemustub.a: $(stub-obj-y)
libqemuutil.a: $(util-obj-y) libqemuutil.a: $(util-obj-y) $(trace-obj-y)
###################################################################### ######################################################################
COMMON_LDADDS = $(trace-obj-y) libqemuutil.a libqemustub.a COMMON_LDADDS = libqemuutil.a libqemustub.a
qemu-img.o: qemu-img-cmds.h qemu-img.o: qemu-img-cmds.h

View File

@ -188,8 +188,7 @@ dummy := $(call unnest-vars,.., \
qom-obj-y \ qom-obj-y \
io-obj-y \ io-obj-y \
common-obj-y \ common-obj-y \
common-obj-m \ common-obj-m)
trace-obj-y)
target-obj-y := $(target-obj-y-save) target-obj-y := $(target-obj-y-save)
all-obj-y += $(common-obj-y) all-obj-y += $(common-obj-y)
all-obj-y += $(target-obj-y) all-obj-y += $(target-obj-y)
@ -201,7 +200,7 @@ all-obj-$(CONFIG_SOFTMMU) += $(io-obj-y)
$(QEMU_PROG_BUILD): config-devices.mak $(QEMU_PROG_BUILD): config-devices.mak
COMMON_LDADDS = $(trace-obj-y) ../libqemuutil.a ../libqemustub.a COMMON_LDADDS = ../libqemuutil.a ../libqemustub.a
# build either PROG or PROGW # build either PROG or PROGW
$(QEMU_PROG_BUILD): $(all-obj-y) $(COMMON_LDADDS) $(QEMU_PROG_BUILD): $(all-obj-y) $(COMMON_LDADDS)

View File

@ -519,7 +519,7 @@ QEMU_CFLAGS += -I$(SRC_PATH)/tests
# Deps that are common to various different sets of tests below # Deps that are common to various different sets of tests below
test-util-obj-y = $(trace-obj-y) libqemuutil.a libqemustub.a test-util-obj-y = libqemuutil.a libqemustub.a
test-qom-obj-y = $(qom-obj-y) $(test-util-obj-y) test-qom-obj-y = $(qom-obj-y) $(test-util-obj-y)
test-qapi-obj-y = tests/test-qapi-visit.o tests/test-qapi-types.o \ test-qapi-obj-y = tests/test-qapi-visit.o tests/test-qapi-types.o \
tests/test-qapi-event.o tests/test-qmp-introspect.o \ tests/test-qapi-event.o tests/test-qmp-introspect.o \