diff options
author | Rich Felker <dalias@aerifal.cx> | 2012-11-17 17:25:17 -0500 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2012-11-17 17:25:17 -0500 |
commit | bb9abdef48969671ee51f28379981a13c440d0d9 (patch) | |
tree | a1d8c18eb5308533784a67e972cd57ff6f598bc1 /src/ldso/powerpc | |
parent | a4db94ab78db29eddc957879251f3e0bc7ffb571 (diff) | |
download | musl-bb9abdef48969671ee51f28379981a13c440d0d9.tar.gz musl-bb9abdef48969671ee51f28379981a13c440d0d9.tar.xz musl-bb9abdef48969671ee51f28379981a13c440d0d9.zip |
arg-skipping code for powerpc dynamic linker
this allows using the dynamic linker as a command to load programs.
Diffstat (limited to 'src/ldso/powerpc')
-rw-r--r-- | src/ldso/powerpc/start.s | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/ldso/powerpc/start.s b/src/ldso/powerpc/start.s index 08b5979a..6c499e8e 100644 --- a/src/ldso/powerpc/start.s +++ b/src/ldso/powerpc/start.s @@ -16,6 +16,14 @@ _start: bl __dynlink addi 1, 1, 16 + lwz 4, 0(1) +1: addi 4, 4, -1 + lwzu 5, 4(1) + cmpwi 5, -1 + beq- 1b + addi 4, 4, 1 + stwu 4, -4(1) + mtlr 3 li 3, 0 blr |