diff options
author | Sergei Trofimovich <slyfox at gentoo dot org> | 2022-03-19 15:09:36 -0400 |
---|---|---|
committer | Jeff Law <jeffreyalaw@gmail.com> | 2022-03-19 15:14:21 -0400 |
commit | 638e630142b2cf691db890ab9eb6d77a65339c54 (patch) | |
tree | ea56d45a5a9c00d6125a65e1a533799cd9f9f99f /libgcc | |
parent | 981524428b21bf6935f8f9a3b8394d5504f4f0fc (diff) | |
download | gcc-638e630142b2cf691db890ab9eb6d77a65339c54.zip gcc-638e630142b2cf691db890ab9eb6d77a65339c54.tar.gz gcc-638e630142b2cf691db890ab9eb6d77a65339c54.tar.bz2 |
libgcc: m68k: avoid TEXTRELs in shared library (PR 86224)
libgcc/
PR libgcc/86224
* config/m68k/lb1sf68.S (__mulsi3_internal): Internal, hidden alias
for __mulsi3.
(__udivsi3_internal, __divsi3_internal): Similarly.
(__umodsi3, __modsi3): Use the internal function names.
Diffstat (limited to 'libgcc')
-rw-r--r-- | libgcc/config/m68k/lb1sf68.S | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/libgcc/config/m68k/lb1sf68.S b/libgcc/config/m68k/lb1sf68.S index 177ce87..dc6e6dd 100644 --- a/libgcc/config/m68k/lb1sf68.S +++ b/libgcc/config/m68k/lb1sf68.S @@ -435,7 +435,10 @@ $_exception_handler: .text FUNC(__mulsi3) .globl SYM (__mulsi3) + .globl SYM (__mulsi3_internal) + .hidden SYM (__mulsi3_internal) SYM (__mulsi3): +SYM (__mulsi3_internal): movew sp@(4), d0 /* x0 -> d0 */ muluw sp@(10), d0 /* x0*y1 */ movew sp@(6), d1 /* x1 -> d1 */ @@ -458,7 +461,10 @@ SYM (__mulsi3): .text FUNC(__udivsi3) .globl SYM (__udivsi3) + .globl SYM (__udivsi3_internal) + .hidden SYM (__udivsi3_internal) SYM (__udivsi3): +SYM (__udivsi3_internal): #ifndef __mcoldfire__ movel d2, sp@- movel sp@(12), d1 /* d1 = divisor */ @@ -534,7 +540,10 @@ L2: subql IMM (1),d4 .text FUNC(__divsi3) .globl SYM (__divsi3) + .globl SYM (__divsi3_internal) + .hidden SYM (__divsi3_internal) SYM (__divsi3): +SYM (__divsi3_internal): movel d2, sp@- moveq IMM (1), d2 /* sign of result stored in d2 (=1 or =-1) */ @@ -557,7 +566,7 @@ L1: movel sp@(8), d0 /* d0 = dividend */ L2: movel d1, sp@- movel d0, sp@- - PICCALL SYM (__udivsi3) /* divide abs(dividend) by abs(divisor) */ + PICCALL SYM (__udivsi3_internal) /* divide abs(dividend) by abs(divisor) */ addql IMM (8), sp tstb d2 @@ -577,13 +586,13 @@ SYM (__umodsi3): movel sp@(4), d0 /* d0 = dividend */ movel d1, sp@- movel d0, sp@- - PICCALL SYM (__udivsi3) + PICCALL SYM (__udivsi3_internal) addql IMM (8), sp movel sp@(8), d1 /* d1 = divisor */ #ifndef __mcoldfire__ movel d1, sp@- movel d0, sp@- - PICCALL SYM (__mulsi3) /* d0 = (a/b)*b */ + PICCALL SYM (__mulsi3_internal) /* d0 = (a/b)*b */ addql IMM (8), sp #else mulsl d1,d0 @@ -603,13 +612,13 @@ SYM (__modsi3): movel sp@(4), d0 /* d0 = dividend */ movel d1, sp@- movel d0, sp@- - PICCALL SYM (__divsi3) + PICCALL SYM (__divsi3_internal) addql IMM (8), sp movel sp@(8), d1 /* d1 = divisor */ #ifndef __mcoldfire__ movel d1, sp@- movel d0, sp@- - PICCALL SYM (__mulsi3) /* d0 = (a/b)*b */ + PICCALL SYM (__mulsi3_internal) /* d0 = (a/b)*b */ addql IMM (8), sp #else mulsl d1,d0 |