From 35f4cc780ef844e974eebb8bcdbbdb187cc4ab61 Mon Sep 17 00:00:00 2001 From: Ilya Leoshkevich Date: Thu, 17 Sep 2026 17:55:49 +0100 Subject: [PATCH] tests/tcg/s390x: Provide the libc bits needed by the system tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The meson conversion dropped the SLOF libc include path that commit 3fa010d5317 ("tests/tcg/s390x: Use the SLOF libc headers for the multiarch tests") had added, breaking the build on systems without a cross-libc, such as Fedora. Rather than reintroducing a dependency on the SLOF submodule, which no other tcg test has, declare the three functions that the reused pc-bios code actually needs: memcpy(), memset(), and printf(). Reported-by: Daniel P. Berrangé Reported-by: Alex Bennée Closes: https://patchew.org/QEMU/20260910100120.2076092-1-berrange@redhat.com/ Suggested-by: Pierrick Bouvier Fixes: cd81cf86834 ("tests/tcg/s390x: system tests") Signed-off-by: Ilya Leoshkevich Reviewed-by: Pierrick Bouvier Tested-by: Richard Henderson Message-ID: <20260915110959.492195-1-iii@linux.ibm.com> Message-ID: <20260917165602.3405537-6-alex.bennee@linaro.org> Signed-off-by: Alex Bennée --- tests/tcg/s390x/libc/stdio.h | 11 +++++++++++ tests/tcg/s390x/libc/string.h | 12 ++++++++++++ tests/tcg/s390x/system/meson.build | 2 ++ 3 files changed, 25 insertions(+) create mode 100644 tests/tcg/s390x/libc/stdio.h create mode 100644 tests/tcg/s390x/libc/string.h diff --git a/tests/tcg/s390x/libc/stdio.h b/tests/tcg/s390x/libc/stdio.h new file mode 100644 index 0000000000..c3e45995f6 --- /dev/null +++ b/tests/tcg/s390x/libc/stdio.h @@ -0,0 +1,11 @@ +/* + * SPDX-License-Identifier: GPL-2.0-or-later + */ +#ifndef QEMU_TESTS_S390X_STDIO_H +#define QEMU_TESTS_S390X_STDIO_H + +#include + +#define printf ml_printf + +#endif diff --git a/tests/tcg/s390x/libc/string.h b/tests/tcg/s390x/libc/string.h new file mode 100644 index 0000000000..1cabeb90ad --- /dev/null +++ b/tests/tcg/s390x/libc/string.h @@ -0,0 +1,12 @@ +/* + * SPDX-License-Identifier: GPL-2.0-or-later + */ +#ifndef QEMU_TESTS_S390X_STRING_H +#define QEMU_TESTS_S390X_STRING_H + +#include + +void *memcpy(void *dest, const void *src, size_t n); +void *memset(void *dest, int c, size_t size); + +#endif diff --git a/tests/tcg/s390x/system/meson.build b/tests/tcg/s390x/system/meson.build index ca07f50305..1e360e7082 100644 --- a/tests/tcg/s390x/system/meson.build +++ b/tests/tcg/s390x/system/meson.build @@ -6,11 +6,13 @@ link_script = files('../softmmu.ld')[0] head64 = files('../head64.S')[0] console = files('../console.c')[0] ipl_inc = meson.project_source_root()/'include'/'hw'/'s390x'/'ipl' +libc_inc = meson.current_source_dir()/'..'/'libc' cflags = ['-nostdlib', '-ffreestanding', '-Wa,--noexecstack', '-I', minilib_dir, minilib_printf, '-I', ipl_inc, + '-I', libc_inc, '-march=z13', head64, console] asmflags = ['-nostdlib',