mirror of
https://github.com/upx/upx
synced 2025-10-05 19:20:23 +08:00
Work around assembler bug: double-indexing by symbolic stride fails.
This commit is contained in:
parent
4b0ebf2b80
commit
481be44879
|
@ -28,8 +28,8 @@
|
||||||
|
|
||||||
|
|
||||||
#define LINUX_I386SH_FOLD_SIZE 1194
|
#define LINUX_I386SH_FOLD_SIZE 1194
|
||||||
#define LINUX_I386SH_FOLD_ADLER32 0xbb9cf7de
|
#define LINUX_I386SH_FOLD_ADLER32 0x63b3f90a
|
||||||
#define LINUX_I386SH_FOLD_CRC32 0xd5a101a8
|
#define LINUX_I386SH_FOLD_CRC32 0xe2bc019d
|
||||||
|
|
||||||
unsigned char linux_i386sh_fold[1194] = {
|
unsigned char linux_i386sh_fold[1194] = {
|
||||||
127, 69, 76, 70, 1, 1, 1, 0, 76,105,110,117,120, 0, 0, 0, /* 0x 0 */
|
127, 69, 76, 70, 1, 1, 1, 0, 76,105,110,117,120, 0, 0, 0, /* 0x 0 */
|
||||||
|
@ -42,8 +42,8 @@ unsigned char linux_i386sh_fold[1194] = {
|
||||||
0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 70 */
|
0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 70 */
|
||||||
137,230,129,236, 80, 1, 0, 0,137,231,173,171,133,192,117,250, /* 0x 80 */
|
137,230,129,236, 80, 1, 0, 0,137,231,173,171,133,192,117,250, /* 0x 80 */
|
||||||
173,171,133,192,117,250, 87, 64,106, 82, 89,243,171, 72,171,171, /* 0x 90 */
|
173,171,133,192,117,250, 87, 64,106, 82, 89,243,171, 72,171,171, /* 0x 90 */
|
||||||
95,173,133,192,145,173,116, 15,131,249, 42,115,244,137, 76, 57, /* 0x a0 */
|
95,173,133,192,145,173,116, 15,131,249, 42,115,244,137, 76,207, /* 0x a0 */
|
||||||
248,137, 68, 57,252,235,234,129,236, 0, 10, 0, 0,147,139, 10, /* 0x b0 */
|
248,137, 68,207,252,235,234,129,236, 0, 10, 0, 0,147,139, 10, /* 0x b0 */
|
||||||
139, 90, 4,137,198, 96,232,123, 2, 0, 0, 89, 80, 97,129,196, /* 0x c0 */
|
139, 90, 4,137,198, 96,232,123, 2, 0, 0, 89, 80, 97,129,196, /* 0x c0 */
|
||||||
0, 10, 0, 0, 89, 90, 82, 65, 86,131,238, 3,102,199, 6, 45, /* 0x d0 */
|
0, 10, 0, 0, 89, 90, 82, 65, 86,131,238, 3,102,199, 6, 45, /* 0x d0 */
|
||||||
99, 65, 86, 65, 82, 81, 87,141,188, 36, 0,245,255,255, 96,137, /* 0x e0 */
|
99, 65, 86, 65, 82, 81, 87,141,188, 36, 0,245,255,255, 96,137, /* 0x e0 */
|
||||||
|
|
|
@ -98,8 +98,8 @@ L30: // distribute existing Elf32_auxv into new table
|
||||||
je L40
|
je L40
|
||||||
cmp ecx, AT_NUMBER
|
cmp ecx, AT_NUMBER
|
||||||
jae L30
|
jae L30
|
||||||
mov [a_type + sz_auxv*(ecx -1) + edi], ecx
|
mov [a_type - sz_auxv + edi + 8*ecx], ecx
|
||||||
mov [a_val + sz_auxv*(ecx -1) + edi], eax
|
mov [a_val - sz_auxv + edi + 8*ecx], eax
|
||||||
jmp L30
|
jmp L30
|
||||||
L40:
|
L40:
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user