summaryrefslogtreecommitdiff
path: root/sysdeps/sh/dl-machine.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2001-05-23 23:56:31 +0000
committerUlrich Drepper <drepper@redhat.com>2001-05-23 23:56:31 +0000
commit64b7897d6d453e67afe3f9d81c8fc37c26f8d483 (patch)
tree8ba245ec72d14cb2dd1ca5adcd89d4f0589f2c78 /sysdeps/sh/dl-machine.h
parent2210704803b8ed0181109021488119f76b9868a1 (diff)
Update.
2001-05-23 kaz Kojima <kkojima@rr.iij4u.or.jp> * sysdeps/sh/dl-machine.h (_dl_runtime_resolve): Handle newer PLT. (_dl_runtime_profile): Likewise.. 2001-05-23 Thorsten Kukuk <kukuk@suse.de> * sysdeps/posix/getaddrinfo.c: Support for AF_UNIX commented out. * posix/tst-getaddrinfo.c: Remove AF_UNIX test. 2001-05-19 H.J. Lu <hjl@gnu.org> * elf/dl-deps.c (_dl_map_object_deps): Pass objname and errstring of the failed DSO to _dl_signal_error ().
Diffstat (limited to 'sysdeps/sh/dl-machine.h')
-rw-r--r--sysdeps/sh/dl-machine.h24
1 files changed, 21 insertions, 3 deletions
diff --git a/sysdeps/sh/dl-machine.h b/sysdeps/sh/dl-machine.h
index 6a4aecf7da..aaaf9946a6 100644
--- a/sysdeps/sh/dl-machine.h
+++ b/sysdeps/sh/dl-machine.h
@@ -165,6 +165,7 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
.type _dl_runtime_resolve, @function
.align 5
_dl_runtime_resolve:
+ mov.l r2,@-r15
mov.l r3,@-r15
mov.l r4,@-r15
mov.l r5,@-r15
@@ -175,6 +176,10 @@ _dl_runtime_resolve:
mov.l r3,@-r15
" FGR_SAVE "
sts.l pr,@-r15
+ tst r0,r0
+ bt 1f
+ mov r0,r2
+1:
mov r0,r4 ! PLT type
mov r2,r5 ! link map address
" FUN_ADDR "
@@ -189,8 +194,9 @@ _dl_runtime_resolve:
mov.l @r15+,r6
mov.l @r15+,r5
mov.l @r15+,r4
+ mov.l @r15+,r3
jmp @r0 ! Jump to function address.
- mov.l @r15+,r3
+ mov.l @r15+,r2
.align 2
3:
.long " GOTJMP (fixup) "
@@ -200,6 +206,7 @@ _dl_runtime_resolve:
.type _dl_runtime_profile, @function
.align 5
_dl_runtime_profile:
+ mov.l r2,@-r15
mov.l r3,@-r15
mov.l r4,@-r15
mov.l r5,@-r15
@@ -210,6 +217,10 @@ _dl_runtime_profile:
mov.l r3,@-r15
" FGR_SAVE "
sts.l pr,@-r15
+ tst r0,r0
+ bt 1f
+ mov r0,r2
+1:
mov r0,r4 ! PLT type
mov r2,r5 ! link map address
sts pr,r7 ! return address
@@ -225,8 +236,9 @@ _dl_runtime_profile:
mov.l @r15+,r6
mov.l @r15+,r5
mov.l @r15+,r4
+ mov.l @r15+,r3
jmp @r0 ! Jump to function address.
- mov.l @r15+,r3
+ mov.l @r15+,r2
.align 2
3:
.long " GOTJMP (profile_fixup) "
@@ -243,6 +255,7 @@ _dl_runtime_profile:
.align 5
_dl_runtime_resolve:
_dl_runtime_profile:
+ mov.l r2,@-r15
mov.l r3,@-r15
mov.l r4,@-r15
mov.l r5,@-r15
@@ -253,6 +266,10 @@ _dl_runtime_profile:
mov.l r3,@-r15
" FGR_SAVE "
sts.l pr,@-r15
+ tst r0,r0
+ bt 1f
+ mov r0,r2
+1:
mov r0,r4 ! PLT type
mov r2,r5 ! link map address
sts pr,r7 ! return address
@@ -268,8 +285,9 @@ _dl_runtime_profile:
mov.l @r15+,r6
mov.l @r15+,r5
mov.l @r15+,r4
+ mov.l @r15+,r3
jmp @r0 ! Jump to function address.
- mov.l @r15+,r3
+ mov.l @r15+,r2
.align 2
3:
.long " GOTJMP (fixup) "