OSDN Git Service

tests/tcg: compile system emulation tests as freestanding
authorPaolo Bonzini <pbonzini@redhat.com>
Wed, 22 Jun 2022 09:06:27 +0000 (11:06 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 6 Jul 2022 07:31:16 +0000 (09:31 +0200)
System emulation tests do not run in a hosted environment, since they
do not link with libc.  They should only use freestanding headers
(float.h, limits.h, stdarg.h, stddef.h, stdbool.h, stdint.h,
stdalign.h, stdnoreturn.h) and should be compiled with -ffreestanding
in order to use the compiler implementation of those headers
rather than the one in libc.

Some tests are using inttypes.h instead of stdint.h, so fix that.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
tests/tcg/Makefile.target
tests/tcg/aarch64/system/pauth-3.c
tests/tcg/aarch64/system/semiconsole.c
tests/tcg/aarch64/system/semiheap.c
tests/tcg/multiarch/system/memory.c

index f427a03..e68830a 100644 (file)
@@ -111,6 +111,7 @@ else
 # For softmmu targets we include a different Makefile fragement as the
 # build options for bare programs are usually pretty different. They
 # are expected to provide their own build recipes.
+EXTRA_CFLAGS += -ffreestanding
 -include $(SRC_PATH)/tests/tcg/minilib/Makefile.target
 -include $(SRC_PATH)/tests/tcg/multiarch/system/Makefile.softmmu-target
 -include $(SRC_PATH)/tests/tcg/$(TARGET_NAME)/Makefile.softmmu-target
index 42eff4d..77a4672 100644 (file)
@@ -1,4 +1,4 @@
-#include <inttypes.h>
+#include <stdint.h>
 #include <minilib.h>
 
 int main()
index bfe7c9e..81324c6 100644 (file)
@@ -6,7 +6,7 @@
  * SPDX-License-Identifier: GPL-2.0-or-later
  */
 
-#include <inttypes.h>
+#include <stdint.h>
 #include <minilib.h>
 
 #define SYS_READC 0x7
index 4ed2584..a254bd8 100644 (file)
@@ -6,7 +6,7 @@
  * SPDX-License-Identifier: GPL-2.0-or-later
  */
 
-#include <inttypes.h>
+#include <stdint.h>
 #include <stddef.h>
 #include <minilib.h>
 
index 41c7f66..214f7d4 100644 (file)
@@ -12,7 +12,7 @@
  *   - sign extension when loading
  */
 
-#include <inttypes.h>
+#include <stdint.h>
 #include <stdbool.h>
 #include <minilib.h>