mirror of
https://github.com/upx/upx
synced 2025-09-28 19:06:07 +08:00
merge
This commit is contained in:
commit
b2b8a128d0
|
@ -585,6 +585,7 @@ void ElfLinker::relocate1(const Relocation *rel, upx_byte *,
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
// ElfLinker arch subclasses
|
// ElfLinker arch subclasses
|
||||||
// FIXME: add more displacment overflow checks
|
// FIXME: add more displacment overflow checks
|
||||||
|
// FIXME: add support for our special "ignore_reloc_overflow" section
|
||||||
**************************************************************************/
|
**************************************************************************/
|
||||||
|
|
||||||
#if 0 // FIXME
|
#if 0 // FIXME
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -101,6 +101,8 @@ def create_bindump(bindump_fn, dump_fn):
|
||||||
assert f[1] in "gl", (l, f)
|
assert f[1] in "gl", (l, f)
|
||||||
assert f[2] in "dFO", (l, f)
|
assert f[2] in "dFO", (l, f)
|
||||||
section = section_names[f[3]]
|
section = section_names[f[3]]
|
||||||
|
elif len(f) == 5 and f[2] == "*ABS*":
|
||||||
|
pass
|
||||||
elif len(f) == 5:
|
elif len(f) == 5:
|
||||||
assert f[1] in "gl", (l, f)
|
assert f[1] in "gl", (l, f)
|
||||||
section = section_names[f[2]]
|
section = section_names[f[2]]
|
||||||
|
|
|
@ -283,6 +283,10 @@ section LZMA_DEC00
|
||||||
call LZMA_DEC10
|
call LZMA_DEC10
|
||||||
jmp LZMA_DEC30
|
jmp LZMA_DEC30
|
||||||
|
|
||||||
|
ignore_reloc_overflow lzma_u_len
|
||||||
|
ignore_reloc_overflow lzma_c_len
|
||||||
|
ignore_reloc_overflow lzma_properties
|
||||||
|
|
||||||
|
|
||||||
section LZMA_DEC10
|
section LZMA_DEC10
|
||||||
.arch i8086, nojumps
|
.arch i8086, nojumps
|
||||||
|
@ -308,6 +312,9 @@ section LZMA_DEC30
|
||||||
pop ds
|
pop ds
|
||||||
mov di, offset lzma_u_len
|
mov di, offset lzma_u_len
|
||||||
|
|
||||||
|
ignore_reloc_overflow lzma_u_len
|
||||||
|
|
||||||
|
|
||||||
section LZMA_DEC31
|
section LZMA_DEC31
|
||||||
pop ax
|
pop ax
|
||||||
push ax
|
push ax
|
||||||
|
|
|
@ -41,6 +41,14 @@
|
||||||
.macro section name
|
.macro section name
|
||||||
.section \name
|
.section \name
|
||||||
.code16
|
.code16
|
||||||
|
.set current_section,\name
|
||||||
|
.endm
|
||||||
|
|
||||||
|
.macro ignore_reloc_overflow sym
|
||||||
|
.pushsection ignore_reloc_overflow
|
||||||
|
.byte \sym
|
||||||
|
.byte current_section
|
||||||
|
.popsection
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
.macro CPU id
|
.macro CPU id
|
||||||
|
|
|
@ -46,25 +46,26 @@ Idx Name Size VMA LMA File off Algn Flags
|
||||||
41 NRV2EEX9 00000004 00000000 00000000 0000029b 2**0 CONTENTS, READONLY
|
41 NRV2EEX9 00000004 00000000 00000000 0000029b 2**0 CONTENTS, READONLY
|
||||||
42 LZMA_DEC99 00000000 00000000 00000000 0000029f 2**0 CONTENTS, READONLY
|
42 LZMA_DEC99 00000000 00000000 00000000 0000029f 2**0 CONTENTS, READONLY
|
||||||
43 LZMA_DEC00 0000003b 00000000 00000000 0000029f 2**0 CONTENTS, RELOC, READONLY
|
43 LZMA_DEC00 0000003b 00000000 00000000 0000029f 2**0 CONTENTS, RELOC, READONLY
|
||||||
44 LZMA_DEC10 000011a4 00000000 00000000 000002da 2**0 CONTENTS, READONLY
|
44 ignore_reloc_overflow 00000008 00000000 00000000 000002da 2**0 CONTENTS, RELOC, READONLY
|
||||||
45 LZMA_DEC20 000011a4 00000000 00000000 0000147e 2**0 CONTENTS, READONLY
|
45 LZMA_DEC10 000011a4 00000000 00000000 000002e2 2**0 CONTENTS, READONLY
|
||||||
46 LZMA_DEC30 00000006 00000000 00000000 00002622 2**0 CONTENTS, RELOC, READONLY
|
46 LZMA_DEC20 000011a4 00000000 00000000 00001486 2**0 CONTENTS, READONLY
|
||||||
47 LZMA_DEC31 00000007 00000000 00000000 00002628 2**0 CONTENTS, RELOC, READONLY
|
47 LZMA_DEC30 00000006 00000000 00000000 0000262a 2**0 CONTENTS, RELOC, READONLY
|
||||||
48 EXEMAIN5 00000001 00000000 00000000 0000262f 2**0 CONTENTS, READONLY
|
48 LZMA_DEC31 00000007 00000000 00000000 00002630 2**0 CONTENTS, RELOC, READONLY
|
||||||
49 EXEADJUS 00000007 00000000 00000000 00002630 2**0 CONTENTS, READONLY
|
49 EXEMAIN5 00000001 00000000 00000000 00002637 2**0 CONTENTS, READONLY
|
||||||
50 EXENOADJ 00000002 00000000 00000000 00002637 2**0 CONTENTS, READONLY
|
50 EXEADJUS 00000007 00000000 00000000 00002638 2**0 CONTENTS, READONLY
|
||||||
51 EXERELO1 0000001e 00000000 00000000 00002639 2**0 CONTENTS, RELOC, READONLY
|
51 EXENOADJ 00000002 00000000 00000000 0000263f 2**0 CONTENTS, READONLY
|
||||||
52 EXEREL9A 00000012 00000000 00000000 00002657 2**0 CONTENTS, RELOC, READONLY
|
52 EXERELO1 0000001e 00000000 00000000 00002641 2**0 CONTENTS, RELOC, READONLY
|
||||||
53 EXERELO2 00000004 00000000 00000000 00002669 2**0 CONTENTS, READONLY
|
53 EXEREL9A 00000012 00000000 00000000 0000265f 2**0 CONTENTS, RELOC, READONLY
|
||||||
54 EXEREBIG 00000002 00000000 00000000 0000266d 2**0 CONTENTS, RELOC, READONLY
|
54 EXERELO2 00000004 00000000 00000000 00002671 2**0 CONTENTS, READONLY
|
||||||
55 EXERELO3 00000002 00000000 00000000 0000266f 2**0 CONTENTS, RELOC, READONLY
|
55 EXEREBIG 00000002 00000000 00000000 00002675 2**0 CONTENTS, RELOC, READONLY
|
||||||
56 EXEMAIN8 00000003 00000000 00000000 00002671 2**0 CONTENTS, READONLY
|
56 EXERELO3 00000002 00000000 00000000 00002677 2**0 CONTENTS, RELOC, READONLY
|
||||||
57 DEVICEEND 00000013 00000000 00000000 00002674 2**0 CONTENTS, READONLY
|
57 EXEMAIN8 00000003 00000000 00000000 00002679 2**0 CONTENTS, READONLY
|
||||||
58 EXESTACK 00000006 00000000 00000000 00002687 2**0 CONTENTS, RELOC, READONLY
|
58 DEVICEEND 00000013 00000000 00000000 0000267c 2**0 CONTENTS, READONLY
|
||||||
59 EXESTASP 00000003 00000000 00000000 0000268d 2**0 CONTENTS, RELOC, READONLY
|
59 EXESTACK 00000006 00000000 00000000 0000268f 2**0 CONTENTS, RELOC, READONLY
|
||||||
60 EXEJUMPF 00000005 00000000 00000000 00002690 2**0 CONTENTS, RELOC, READONLY
|
60 EXESTASP 00000003 00000000 00000000 00002695 2**0 CONTENTS, RELOC, READONLY
|
||||||
61 EXERCSPO 00000004 00000000 00000000 00002695 2**0 CONTENTS, RELOC, READONLY
|
61 EXEJUMPF 00000005 00000000 00000000 00002698 2**0 CONTENTS, RELOC, READONLY
|
||||||
62 EXERETIP 00000006 00000000 00000000 00002699 2**0 CONTENTS, RELOC, READONLY
|
62 EXERCSPO 00000004 00000000 00000000 0000269d 2**0 CONTENTS, RELOC, READONLY
|
||||||
|
63 EXERETIP 00000006 00000000 00000000 000026a1 2**0 CONTENTS, RELOC, READONLY
|
||||||
SYMBOL TABLE:
|
SYMBOL TABLE:
|
||||||
00000000 l d DEVICEENTRY 00000000 DEVICEENTRY
|
00000000 l d DEVICEENTRY 00000000 DEVICEENTRY
|
||||||
00000000 l d EXEENTRY 00000000 EXEENTRY
|
00000000 l d EXEENTRY 00000000 EXEENTRY
|
||||||
|
@ -80,6 +81,7 @@ SYMBOL TABLE:
|
||||||
00000000 l d NRV2EEX2 00000000 NRV2EEX2
|
00000000 l d NRV2EEX2 00000000 NRV2EEX2
|
||||||
00000000 l d NRV2EEX3 00000000 NRV2EEX3
|
00000000 l d NRV2EEX3 00000000 NRV2EEX3
|
||||||
00000000 l d NRV2EEX9 00000000 NRV2EEX9
|
00000000 l d NRV2EEX9 00000000 NRV2EEX9
|
||||||
|
00000000 l d LZMA_DEC00 00000000 LZMA_DEC00
|
||||||
00000000 l d LZMA_DEC10 00000000 LZMA_DEC10
|
00000000 l d LZMA_DEC10 00000000 LZMA_DEC10
|
||||||
00000000 l d LZMA_DEC30 00000000 LZMA_DEC30
|
00000000 l d LZMA_DEC30 00000000 LZMA_DEC30
|
||||||
00000000 l d EXERELO1 00000000 EXERELO1
|
00000000 l d EXERELO1 00000000 EXERELO1
|
||||||
|
@ -113,7 +115,7 @@ SYMBOL TABLE:
|
||||||
00000000 l d N2E28602 00000000 N2E28602
|
00000000 l d N2E28602 00000000 N2E28602
|
||||||
00000000 l d N2E64K02 00000000 N2E64K02
|
00000000 l d N2E64K02 00000000 N2E64K02
|
||||||
00000000 l d LZMA_DEC99 00000000 LZMA_DEC99
|
00000000 l d LZMA_DEC99 00000000 LZMA_DEC99
|
||||||
00000000 l d LZMA_DEC00 00000000 LZMA_DEC00
|
00000000 l d ignore_reloc_overflow 00000000 ignore_reloc_overflow
|
||||||
00000000 l d LZMA_DEC20 00000000 LZMA_DEC20
|
00000000 l d LZMA_DEC20 00000000 LZMA_DEC20
|
||||||
00000000 l d LZMA_DEC31 00000000 LZMA_DEC31
|
00000000 l d LZMA_DEC31 00000000 LZMA_DEC31
|
||||||
00000000 l d EXEMAIN5 00000000 EXEMAIN5
|
00000000 l d EXEMAIN5 00000000 EXEMAIN5
|
||||||
|
@ -264,6 +266,17 @@ OFFSET TYPE VALUE
|
||||||
00000036 R_386_PC16 LZMA_DEC10
|
00000036 R_386_PC16 LZMA_DEC10
|
||||||
00000039 R_386_PC16 LZMA_DEC30
|
00000039 R_386_PC16 LZMA_DEC30
|
||||||
|
|
||||||
|
RELOCATION RECORDS FOR [ignore_reloc_overflow]:
|
||||||
|
OFFSET TYPE VALUE
|
||||||
|
00000000 R_386_8 lzma_u_len
|
||||||
|
00000001 R_386_8 LZMA_DEC00
|
||||||
|
00000002 R_386_8 lzma_c_len
|
||||||
|
00000003 R_386_8 LZMA_DEC00
|
||||||
|
00000004 R_386_8 lzma_properties
|
||||||
|
00000005 R_386_8 LZMA_DEC00
|
||||||
|
00000006 R_386_8 lzma_u_len
|
||||||
|
00000007 R_386_8 LZMA_DEC30
|
||||||
|
|
||||||
RELOCATION RECORDS FOR [LZMA_DEC30]:
|
RELOCATION RECORDS FOR [LZMA_DEC30]:
|
||||||
OFFSET TYPE VALUE
|
OFFSET TYPE VALUE
|
||||||
00000004 R_386_16 lzma_u_len
|
00000004 R_386_16 lzma_u_len
|
||||||
|
|
Loading…
Reference in New Issue
Block a user