summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2024-02-25 15:10:26 -0500
committerRich Felker <dalias@aerifal.cx>2024-02-25 15:10:26 -0500
commit69670e3bb3f78f9a1d172c9e263ca1b95f8196db (patch)
treeb726fea8ee07f1907976a57c57e2dbe57c63821d /src
parentb817541f1cfd38e4b81257b3215e276ea9d0fc61 (diff)
downloadmusl-69670e3bb3f78f9a1d172c9e263ca1b95f8196db.tar.gz
sh dlsym: fix passing of return address for RTLD_NEXT use
this code dates back to the original commit of the sh port, with no real clue as to how the bug was introduced. it looks like it was written to assume the return address was pushed to the stack like on x86, rather than arriving in the pr special register.
Diffstat (limited to 'src')
-rw-r--r--src/ldso/sh/dlsym.s2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/ldso/sh/dlsym.s b/src/ldso/sh/dlsym.s
index 11a6fff5..34f3c35c 100644
--- a/src/ldso/sh/dlsym.s
+++ b/src/ldso/sh/dlsym.s
@@ -5,7 +5,7 @@
dlsym:
mov.l L1, r0
1: braf r0
- mov.l @r15, r6
+ sts pr, r6
.align 2
L1: .long __dlsym@PLT-(1b+4-.)