summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libexec/rtld-elf/mips/rtld_start.S8
1 files changed, 5 insertions, 3 deletions
diff --git a/libexec/rtld-elf/mips/rtld_start.S b/libexec/rtld-elf/mips/rtld_start.S
index b4b7079..630e5e5 100644
--- a/libexec/rtld-elf/mips/rtld_start.S
+++ b/libexec/rtld-elf/mips/rtld_start.S
@@ -68,7 +68,8 @@ LEAF(rtld_start)
move a0, s0 /* sp */
PTR_ADDU a1, sp, 2*PTR_SIZE /* &our atexit function */
PTR_ADDU a2, sp, 3*PTR_SIZE /* obj_main entry */
- jal _C_LABEL(_rtld) /* v0 = _rtld(sp, cleanup, objp) */
+ PTR_LA t9, _C_LABEL(_rtld)
+ jalr t9 /* v0 = _rtld(sp, cleanup, objp) */
nop
PTR_L a1, 2*PTR_SIZE(sp) /* our atexit function */
@@ -123,7 +124,7 @@ _rtld_bind_start:
move s0, sp
move a0, v1 /* old GP */
- subu a0, a0, 0x7ff0 /* The offset of $gp from the */
+ PTR_SUBU a0, a0, 0x7ff0 /* The offset of $gp from the */
/* beginning of the .got section: */
/* $gp = .got + 0x7ff0, so */
/* .got = $gp - 0x7ff0 */
@@ -136,7 +137,8 @@ _rtld_bind_start:
and a0, a0, 0x7fffffff
move a1, t8 /* symbol index */
- jal _C_LABEL(_mips_rtld_bind)
+ PTR_LA t9, _C_LABEL(_mips_rtld_bind)
+ jalr t9
nop
move sp, s0
OpenPOWER on IntegriCloud