The QEMU headers contain macros and functions that are useful in the test context. Add them to tests' include path. Also provide a header similar to "qemu/osdep.h" for use in the freestanding environment.
Tests that include <sys/auxv.h> get QEMU's copy of <elf.h>, which does not work without <stdint.h>. Make use of the new header in these tests in order to fix this. Signed-off-by: Ilya Leoshkevich <i...@linux.ibm.com> --- tests/include/qemu/testdep.h | 14 ++++++++++++++ tests/tcg/Makefile.target | 4 ++-- tests/tcg/aarch64/sve-ioctls.c | 1 + tests/tcg/aarch64/sysregs.c | 1 + 4 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 tests/include/qemu/testdep.h diff --git a/tests/include/qemu/testdep.h b/tests/include/qemu/testdep.h new file mode 100644 index 00000000000..ddf7c543bf4 --- /dev/null +++ b/tests/include/qemu/testdep.h @@ -0,0 +1,14 @@ +/* + * Common dependencies for QEMU tests. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ +#ifndef QEMU_TESTDEP_H +#define QEMU_TESTDEP_H + +#include <stdint.h> +#include "qemu/compiler.h" + +#define g_assert_not_reached __builtin_trap + +#endif diff --git a/tests/tcg/Makefile.target b/tests/tcg/Makefile.target index 8318caf9247..5474395e693 100644 --- a/tests/tcg/Makefile.target +++ b/tests/tcg/Makefile.target @@ -85,8 +85,8 @@ TESTS= # additional tests which may re-use existing binaries EXTRA_TESTS= -# Start with a blank slate, the build targets get to add stuff first -CFLAGS= +# Start with the minimal build flags, the build targets will extend them +CFLAGS=-I$(SRC_PATH)/include -I$(SRC_PATH)/tests/include LDFLAGS= QEMU_OPTS= diff --git a/tests/tcg/aarch64/sve-ioctls.c b/tests/tcg/aarch64/sve-ioctls.c index 9544dffa0ee..11a0a4e47ff 100644 --- a/tests/tcg/aarch64/sve-ioctls.c +++ b/tests/tcg/aarch64/sve-ioctls.c @@ -8,6 +8,7 @@ * * SPDX-License-Identifier: GPL-2.0-or-later */ +#include "qemu/testdep.h" #include <sys/prctl.h> #include <asm/hwcap.h> #include <stdio.h> diff --git a/tests/tcg/aarch64/sysregs.c b/tests/tcg/aarch64/sysregs.c index 46b931f781d..35ec25026a9 100644 --- a/tests/tcg/aarch64/sysregs.c +++ b/tests/tcg/aarch64/sysregs.c @@ -11,6 +11,7 @@ * SPDX-License-Identifier: GPL-2.0-or-later */ +#include "qemu/testdep.h" #include <asm/hwcap.h> #include <stdio.h> #include <sys/auxv.h> -- 2.39.2