From 21744811bb7638830a7ca495694d295acbadc150 Mon Sep 17 00:00:00 2001 From: Julius Werner Date: Mon, 4 May 2020 17:44:04 -0700 Subject: tests: Add wrapper header and fix --gc-sections requires a few standard headers to be explicitly included before itself or it will throw compilation errors. Having to always include these headers in the right order in every test is cumbersome. Instead, this patch encapsulates the problem in a new header that all tests should include (instead of directly). Also fix --gc-sections in the test framework which needs to be passed for linking, not for compiling. Signed-off-by: Julius Werner Change-Id: I4284d74c8673708e21a5266eb42f7b9ae19a1b12 Reviewed-on: https://review.coreboot.org/c/coreboot/+/41045 Tested-by: build bot (Jenkins) Reviewed-by: Jan Dabros Reviewed-by: Paul Fagerburg --- tests/Makefile.inc | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'tests/Makefile.inc') diff --git a/tests/Makefile.inc b/tests/Makefile.inc index debb2f9868..9ee27cd831 100644 --- a/tests/Makefile.inc +++ b/tests/Makefile.inc @@ -1,5 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-only +testsrc = $(top)/tests testobj = $(obj)/tests TEST_DEFAULT_CONFIG = $(top)/configs/config.emulation_qemu_x86_i440fx @@ -10,12 +11,12 @@ TEST_KCONFIG_DEPENDENCIES := $(testobj)/auto.conf.cmd TEST_KCONFIG_SPLITCONFIG := $(testobj)/config TEST_KCONFIG_TRISTATE := $(testobj)/tristate.conf -TEST_CFLAGS = -include$(src)/include/kconfig.h \ - -include$(src)/commonlib/bsd/include/commonlib/bsd/compiler.h \ - -include $(src)/include/rules.h \ +TEST_CFLAGS = -include $(src)/include/kconfig.h \ + -include $(src)/commonlib/bsd/include/commonlib/bsd/compiler.h \ + -include $(src)/include/rules.h # Include generic test mock headers, before original ones -TEST_CFLAGS += -Itests/include/mocks +TEST_CFLAGS += -I$(testsrc)/include/mocks -I$(testsrc)/include TEST_CFLAGS += -I$(src)/include -I$(src)/commonlib/include \ -I$(src)/commonlib/bsd/include -I$(src)/arch/x86/include \ @@ -24,10 +25,10 @@ TEST_CFLAGS += -I$(src)/include -I$(src)/commonlib/include \ TEST_CFLAGS += -I$(dir $(TEST_KCONFIG_AUTOHEADER)) TEST_CFLAGS += -std=gnu11 -Os -ffunction-sections -fdata-sections \ - -Wl,--gc-sections -fno-builtin + -fno-builtin # Link against Cmocka -TEST_LDFLAGS = -lcmocka +TEST_LDFLAGS = -lcmocka -Wl,--gc-sections # Extra attributes for unit tests, declared per test attributes:= srcs cflags mocks stage -- cgit v1.2.3