mirror of
https://github.com/upx/upx.git
synced 2025-08-11 22:52:30 +08:00
Linux 2.5.53 has some Elf32_auxv_t.a_type >= 32
committer: jreiser <jreiser> 1040352519 +0000
This commit is contained in:
@ -181,11 +181,14 @@ L20: ; move envp
|
||||
L30: ; process auxv
|
||||
lodsd ; a_type
|
||||
stosd
|
||||
test eax, eax ; AT_NULL ? [flags: Zero, Sign, Parity; C=0, V=0]
|
||||
cmp al, 32
|
||||
jae L32 ; prevent aliasing of 'btr' when 32<=a_type
|
||||
btr edx, eax ; no longer need a slot of type eax [Carry only]
|
||||
L32:
|
||||
test eax, eax ; AT_NULL ? [flags: Zero, Sign, Parity; C=0, V=0]
|
||||
lodsd
|
||||
stosd
|
||||
jne L30 ; checks only Zero bit of flags
|
||||
jnz L30 ; checks only Zero bit of flags
|
||||
|
||||
sub edi, byte 8 ; backup to AT_NULL
|
||||
add ecx, ecx ; two words per auxv
|
||||
|
Reference in New Issue
Block a user