Tested on aarch64-linux-gnu, aarch64-darwin by me and on aarch64-linux-musl by Sam James (thanks!). OK for trunk? thanks Iain
--- 8< --- This allows the same trampoline pattern to be used on all linux variants rather than restricting it to linux gnu. PR target/113971. libgcc/ChangeLog: * config/aarch64/heap-trampoline.c: Allow all linux variants. Signed-off-by: Iain Sandoe <i...@sandoe.co.uk> --- libgcc/config/aarch64/heap-trampoline.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libgcc/config/aarch64/heap-trampoline.c b/libgcc/config/aarch64/heap-trampoline.c index 9d5b19983b1..1e3460b1601 100644 --- a/libgcc/config/aarch64/heap-trampoline.c +++ b/libgcc/config/aarch64/heap-trampoline.c @@ -29,7 +29,7 @@ void *allocate_trampoline_page (void); void __gcc_nested_func_ptr_created (void *chain, void *func, void *dst); void __gcc_nested_func_ptr_deleted (void); -#if defined(__gnu_linux__) +#if defined(__linux__) static const uint32_t aarch64_trampoline_insns[] = { 0xd503245f, /* hint 34 */ 0x580000b1, /* ldr x17, .+20 */ @@ -82,7 +82,7 @@ allocate_trampoline_page (void) { void *page; -#if defined(__gnu_linux__) +#if defined(__linux__) page = mmap (0, getpagesize (), PROT_WRITE | PROT_EXEC, MAP_ANON | MAP_PRIVATE, 0, 0); #elif __APPLE__ -- 2.39.2 (Apple Git-143)