diff options
author | Alan Modra <amodra@gmail.com> | 2020-09-28 16:42:33 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2020-10-01 10:34:48 +0930 |
commit | 2dd7b93778d551b6981c8086ecb38e26f677bd2b (patch) | |
tree | 513fb58bfdd39b9e1778ce3e2f1ae7f5d92d7897 /libitm/config | |
parent | c6be439b37702f6ac4c2fc447c6f3ed1042b80a3 (diff) | |
download | gcc-2dd7b93778d551b6981c8086ecb38e26f677bd2b.tar.gz |
[RS6000] Adjust gcc asm for power10
Generate assembly with .localentry,1 functions using @notoc calls.
This patch makes libgcc.a asm look the same as power10 pcrel as far as
toc/notoc is concerned.
Otherwise calling between functions that advertise as using the TOC
and those that don't, will require linker call stubs in statically
linked code.
gcc/
* config/rs6000/ppc-asm.h: Support __PCREL__ code.
libgcc/
* config/rs6000/morestack.S,
* config/rs6000/tramp.S: Support __PCREL__ code.
libitm/
* config/powerpc/sjlj.S: Support __PCREL__ code.
Diffstat (limited to 'libitm/config')
-rw-r--r-- | libitm/config/powerpc/sjlj.S | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/libitm/config/powerpc/sjlj.S b/libitm/config/powerpc/sjlj.S index a963fc350bb..bcb0e73a285 100644 --- a/libitm/config/powerpc/sjlj.S +++ b/libitm/config/powerpc/sjlj.S @@ -26,7 +26,23 @@ #include "asmcfi.h" -#if defined(__powerpc64__) && _CALL_ELF == 2 +#if defined(__powerpc64__) && _CALL_ELF == 2 && defined(__PCREL__) +.macro FUNC name + .globl \name + .type \name, @function +\name: + .localentry \name, 1 +.endm +.macro END name + .size \name, . - \name +.endm +.macro HIDDEN name + .hidden \name +.endm +.macro CALL name + bl \name @notoc +.endm +#elif defined(__powerpc64__) && _CALL_ELF == 2 .macro FUNC name .globl \name .type \name, @function |