[Bug target/113971] [14 Regression] failure to build on arm64 musl (#error "Unsupported AArch64 platform for heap trampolines")
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113971 Iain Sandoe changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #4 from Iain Sandoe --- fixed on trunk
[Bug target/113971] [14 Regression] failure to build on arm64 musl (#error "Unsupported AArch64 platform for heap trampolines")
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113971 --- Comment #3 from GCC Commits --- The master branch has been updated by Iain D Sandoe : https://gcc.gnu.org/g:61ab046a3277c256867f596e73ce5b5ee9041a9d commit r14-9084-g61ab046a3277c256867f596e73ce5b5ee9041a9d Author: Iain Sandoe Date: Sun Feb 18 06:49:26 2024 + aarch64: Allow aarch64-linux-muscl for heap trampolines [PR113971]. 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
[Bug target/113971] [14 Regression] failure to build on arm64 musl (#error "Unsupported AArch64 platform for heap trampolines")
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113971 Iain Sandoe changed: What|Removed |Added Assignee|unassigned at gcc dot gnu.org |iains at gcc dot gnu.org Status|UNCONFIRMED |ASSIGNED Ever confirmed|0 |1 Last reconfirmed||2024-02-18 --- Comment #2 from Iain Sandoe --- Created attachment 57456 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57456=edit patch to allow heap trampolines for all aarch64-linux This has been tested so far on aarch64-linux-gnu and aarch64-darwin; I do not have access to an aarch64-linux-muscl system to check that.
[Bug target/113971] [14 Regression] failure to build on arm64 musl (#error "Unsupported AArch64 platform for heap trampolines")
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113971 --- Comment #1 from Iain Sandoe --- the intent was not to enable this feature for platforms we could not test. but libgcc/config.host has "aarch64*-*-linux*" so we have inadvertently enabled it for aarch64-linux-musl. assuming linux-musl defines __linux__ ... something like: 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, /* hint34 */ 0x58b1, /* 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__
[Bug target/113971] [14 Regression] failure to build on arm64 musl (#error "Unsupported AArch64 platform for heap trampolines")
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113971 Andrew Pinski changed: What|Removed |Added Keywords||build Summary|failure to build on arm64 |[14 Regression] failure to |musl (#error "Unsupported |build on arm64 musl (#error |AArch64 platform for heap |"Unsupported AArch64 |trampolines") |platform for heap ||trampolines") Target Milestone|--- |14.0 Target||aarch64-linux-musl