From: Philippe Mathieu-Daudé Date: Tue, 6 Jun 2023 13:34:08 +0000 (+0200) Subject: tests/tcg/aarch64: Rename bti-crt.inc.c -> bti-crt.c.inc X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=0b2d8bd698517efb147d47cefc252ae0d2c984e3;p=qemu.git tests/tcg/aarch64: Rename bti-crt.inc.c -> bti-crt.c.inc Since commit 139c1837db ("meson: rename included C source files to .c.inc"), QEMU standard procedure for included C files is to use *.c.inc. Besides, since commit 6a0057aa22 ("docs/devel: make a statement about includes") this is documented as the Coding Style: If you do use template header files they should be named with the ``.c.inc`` or ``.h.inc`` suffix to make it clear they are being included for expansion. Therefore rename 'bti-crt.inc.c' as 'bti-crt.c.inc'. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Reviewed-by: Alex Bennée Message-Id: <20230606141252.95032-6-philmd@linaro.org> --- diff --git a/tests/tcg/aarch64/bti-1.c b/tests/tcg/aarch64/bti-1.c index 61924f0d7a..99a879af23 100644 --- a/tests/tcg/aarch64/bti-1.c +++ b/tests/tcg/aarch64/bti-1.c @@ -2,7 +2,7 @@ * Branch target identification, basic notskip cases. */ -#include "bti-crt.inc.c" +#include "bti-crt.c.inc" static void skip2_sigill(int sig, siginfo_t *info, ucontext_t *uc) { diff --git a/tests/tcg/aarch64/bti-3.c b/tests/tcg/aarch64/bti-3.c index a852856d9a..8c534c09d7 100644 --- a/tests/tcg/aarch64/bti-3.c +++ b/tests/tcg/aarch64/bti-3.c @@ -2,7 +2,7 @@ * BTI vs PACIASP */ -#include "bti-crt.inc.c" +#include "bti-crt.c.inc" static void skip2_sigill(int sig, siginfo_t *info, ucontext_t *uc) { diff --git a/tests/tcg/aarch64/bti-crt.c.inc b/tests/tcg/aarch64/bti-crt.c.inc new file mode 100644 index 0000000000..47805f4e35 --- /dev/null +++ b/tests/tcg/aarch64/bti-crt.c.inc @@ -0,0 +1,51 @@ +/* + * Minimal user-environment for testing BTI. + * + * Normal libc is not (yet) built with BTI support enabled, + * and so could generate a BTI TRAP before ever reaching main. + */ + +#include +#include +#include +#include + +int main(void); + +void _start(void) +{ + exit(main()); +} + +void exit(int ret) +{ + register int x0 __asm__("x0") = ret; + register int x8 __asm__("x8") = __NR_exit; + + asm volatile("svc #0" : : "r"(x0), "r"(x8)); + __builtin_unreachable(); +} + +/* + * Irritatingly, the user API struct sigaction does not match the + * kernel API struct sigaction. So for simplicity, isolate the + * kernel ABI here, and make this act like signal. + */ +void signal_info(int sig, void (*fn)(int, siginfo_t *, ucontext_t *)) +{ + struct kernel_sigaction { + void (*handler)(int, siginfo_t *, ucontext_t *); + unsigned long flags; + unsigned long restorer; + unsigned long mask; + } sa = { fn, SA_SIGINFO, 0, 0 }; + + register int x0 __asm__("x0") = sig; + register void *x1 __asm__("x1") = &sa; + register void *x2 __asm__("x2") = 0; + register int x3 __asm__("x3") = sizeof(unsigned long); + register int x8 __asm__("x8") = __NR_rt_sigaction; + + asm volatile("svc #0" + : : "r"(x0), "r"(x1), "r"(x2), "r"(x3), "r"(x8) : "memory"); +} diff --git a/tests/tcg/aarch64/bti-crt.inc.c b/tests/tcg/aarch64/bti-crt.inc.c deleted file mode 100644 index 47805f4e35..0000000000 --- a/tests/tcg/aarch64/bti-crt.inc.c +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Minimal user-environment for testing BTI. - * - * Normal libc is not (yet) built with BTI support enabled, - * and so could generate a BTI TRAP before ever reaching main. - */ - -#include -#include -#include -#include - -int main(void); - -void _start(void) -{ - exit(main()); -} - -void exit(int ret) -{ - register int x0 __asm__("x0") = ret; - register int x8 __asm__("x8") = __NR_exit; - - asm volatile("svc #0" : : "r"(x0), "r"(x8)); - __builtin_unreachable(); -} - -/* - * Irritatingly, the user API struct sigaction does not match the - * kernel API struct sigaction. So for simplicity, isolate the - * kernel ABI here, and make this act like signal. - */ -void signal_info(int sig, void (*fn)(int, siginfo_t *, ucontext_t *)) -{ - struct kernel_sigaction { - void (*handler)(int, siginfo_t *, ucontext_t *); - unsigned long flags; - unsigned long restorer; - unsigned long mask; - } sa = { fn, SA_SIGINFO, 0, 0 }; - - register int x0 __asm__("x0") = sig; - register void *x1 __asm__("x1") = &sa; - register void *x2 __asm__("x2") = 0; - register int x3 __asm__("x3") = sizeof(unsigned long); - register int x8 __asm__("x8") = __NR_rt_sigaction; - - asm volatile("svc #0" - : : "r"(x0), "r"(x1), "r"(x2), "r"(x3), "r"(x8) : "memory"); -}