1
0
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:
John Reiser
2002-12-20 02:48:39 +00:00
parent fb3375112e
commit 54d01790b5

View File

@ -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