aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox at gentoo dot org>2022-03-19 15:09:36 -0400
committerJeff Law <jeffreyalaw@gmail.com>2022-03-19 15:14:21 -0400
commit638e630142b2cf691db890ab9eb6d77a65339c54 (patch)
treeea56d45a5a9c00d6125a65e1a533799cd9f9f99f /libgcc
parent981524428b21bf6935f8f9a3b8394d5504f4f0fc (diff)
downloadgcc-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.S19
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