mirror of
https://github.com/upx/upx
synced 2025-09-28 19:06:07 +08:00
mipsel.r3000-linux.elf-entry.S syscall clobbers t8
This commit is contained in:
parent
0a4f999ade
commit
c949beab9c
File diff suppressed because it is too large
Load Diff
|
@ -139,6 +139,7 @@ lxlzma_sv_sp = 10*4
|
|||
lxlzma_dst = 9*4
|
||||
lxlzma_dstdone = 8*4
|
||||
lxlzma_srcdone = 7*4
|
||||
lxlzma_retval = lxlzma_srcdone
|
||||
|
||||
#define a4 t0
|
||||
#define a5 t1
|
||||
|
@ -178,13 +179,16 @@ lxlzma_srcdone = 7*4
|
|||
anyway, because the probability history array (typically ushort[7990] or
|
||||
ushort[14134]) gets initialized.
|
||||
*/
|
||||
move t8,v0 # return value from decompression
|
||||
sw v0,lxlzma_retval(sp) # return value from decompression
|
||||
|
||||
lw a0,lxlzma_dst(sp)
|
||||
lw a1,lxlzma_dstdone(sp)
|
||||
li a2,ICACHE|DCACHE
|
||||
li v0,__NR_cacheflush
|
||||
syscall
|
||||
|
||||
lw v0,lxlzma_retval(sp) # return value from decompression
|
||||
|
||||
lw tmp,lxlzma_sv_sp(sp)
|
||||
lw ra,lxlzma_sv_pc(sp)
|
||||
/* Workaround suspected glibc bug: elf/rtld.c assumes uninit local is zero.
|
||||
|
@ -197,7 +201,7 @@ lxlzma_srcdone = 7*4
|
|||
sw $0,-4(sp)
|
||||
|
||||
jr ra
|
||||
move v0,t8 # return value from decompression
|
||||
nop
|
||||
|
||||
|
||||
lzma_decode:
|
||||
|
@ -220,6 +224,8 @@ lzma_decode:
|
|||
eof:
|
||||
lw v1,(lxdstlen) // original lxdst
|
||||
subu t8,lxsrc,lxsrclen // new_src - src_EOF; // return 0: good; else: bad
|
||||
addiu sp,-4
|
||||
sw t8,0(sp)
|
||||
|
||||
move a0,v1 // original lxdst
|
||||
subu a1,lxdst,v1 // actual length generated
|
||||
|
@ -228,8 +234,9 @@ eof:
|
|||
li v0,__NR_cacheflush
|
||||
syscall
|
||||
|
||||
lw v0,0(sp)
|
||||
jr ra
|
||||
move v0,t8 # return value from decompression
|
||||
addiu sp,4
|
||||
|
||||
|
||||
section ELFMAINY
|
||||
|
|
|
@ -6,14 +6,14 @@ Idx Name Size VMA LMA File off Algn Flags
|
|||
1 NRV2E 00000218 00000000 00000000 00000054 2**0 CONTENTS, RELOC, READONLY
|
||||
2 NRV2D 000001f0 00000000 00000000 0000026c 2**0 CONTENTS, RELOC, READONLY
|
||||
3 NRV2B 000001b4 00000000 00000000 0000045c 2**0 CONTENTS, RELOC, READONLY
|
||||
4 LZMA_ELF00 00000098 00000000 00000000 00000610 2**0 CONTENTS, READONLY
|
||||
5 LZMA_DEC20 00000ad8 00000000 00000000 000006a8 2**0 CONTENTS, READONLY
|
||||
6 LZMA_DEC10 00000ad8 00000000 00000000 00001180 2**0 CONTENTS, READONLY
|
||||
7 LZMA_DEC30 00000004 00000000 00000000 00001c58 2**0 CONTENTS, READONLY
|
||||
8 NRV_HEAD 00000008 00000000 00000000 00001c5c 2**0 CONTENTS, READONLY
|
||||
9 NRV_TAIL 00000028 00000000 00000000 00001c64 2**0 CONTENTS, READONLY
|
||||
10 ELFMAINY 0000002a 00000000 00000000 00001c8c 2**0 CONTENTS, RELOC, READONLY
|
||||
11 ELFMAINZ 000000bc 00000000 00000000 00001cb6 2**0 CONTENTS, READONLY
|
||||
4 LZMA_ELF00 0000009c 00000000 00000000 00000610 2**0 CONTENTS, READONLY
|
||||
5 LZMA_DEC20 00000ad8 00000000 00000000 000006ac 2**0 CONTENTS, READONLY
|
||||
6 LZMA_DEC10 00000ad8 00000000 00000000 00001184 2**0 CONTENTS, READONLY
|
||||
7 LZMA_DEC30 00000004 00000000 00000000 00001c5c 2**0 CONTENTS, READONLY
|
||||
8 NRV_HEAD 00000008 00000000 00000000 00001c60 2**0 CONTENTS, READONLY
|
||||
9 NRV_TAIL 00000034 00000000 00000000 00001c68 2**0 CONTENTS, READONLY
|
||||
10 ELFMAINY 0000002a 00000000 00000000 00001c9c 2**0 CONTENTS, RELOC, READONLY
|
||||
11 ELFMAINZ 000000bc 00000000 00000000 00001cc6 2**0 CONTENTS, READONLY
|
||||
SYMBOL TABLE:
|
||||
00000000 l d NRV_TAIL 00000000 NRV_TAIL
|
||||
00000000 l d ELFMAINZ 00000000 ELFMAINZ
|
||||
|
|
Loading…
Reference in New Issue
Block a user