aarch64: Allow aarch64-linux-muscl for heap trampolines [PR113971].

Message ID 20240220102528.39983-1-iain@sandoe.co.uk
State Committed
Commit 61ab046a3277c256867f596e73ce5b5ee9041a9d
Headers
Series aarch64: Allow aarch64-linux-muscl for heap trampolines [PR113971]. |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_gcc_build--master-arm success Testing passed
linaro-tcwg-bot/tcwg_gcc_build--master-aarch64 warning Patch is already merged
linaro-tcwg-bot/tcwg_gcc_check--master-arm success Testing passed

Commit Message

Iain Sandoe Feb. 20, 2024, 10:25 a.m. UTC
  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 <iain@sandoe.co.uk>
---
 libgcc/config/aarch64/heap-trampoline.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

Richard Biener Feb. 20, 2024, 1:06 p.m. UTC | #1
On Tue, Feb 20, 2024 at 11:27 AM Iain Sandoe <iains.gcc@gmail.com> wrote:
>
> Tested on aarch64-linux-gnu, aarch64-darwin by me and on aarch64-linux-musl
> by Sam James (thanks!).  OK for trunk?

OK

> 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 <iain@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)
>
  

Patch

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__