1
0
mirror of https://github.com/upx/upx synced 2025-09-28 19:06:07 +08:00
This commit is contained in:
John Reiser 2007-02-18 10:10:17 -08:00
commit b2b8a128d0
6 changed files with 1547 additions and 1480 deletions

View File

@ -585,6 +585,7 @@ void ElfLinker::relocate1(const Relocation *rel, upx_byte *,
/*************************************************************************
// ElfLinker arch subclasses
// FIXME: add more displacment overflow checks
// FIXME: add support for our special "ignore_reloc_overflow" section
**************************************************************************/
#if 0 // FIXME

File diff suppressed because it is too large Load Diff

View File

@ -101,6 +101,8 @@ def create_bindump(bindump_fn, dump_fn):
assert f[1] in "gl", (l, f)
assert f[2] in "dFO", (l, f)
section = section_names[f[3]]
elif len(f) == 5 and f[2] == "*ABS*":
pass
elif len(f) == 5:
assert f[1] in "gl", (l, f)
section = section_names[f[2]]

View File

@ -283,6 +283,10 @@ section LZMA_DEC00
call LZMA_DEC10
jmp LZMA_DEC30
ignore_reloc_overflow lzma_u_len
ignore_reloc_overflow lzma_c_len
ignore_reloc_overflow lzma_properties
section LZMA_DEC10
.arch i8086, nojumps
@ -308,6 +312,9 @@ section LZMA_DEC30
pop ds
mov di, offset lzma_u_len
ignore_reloc_overflow lzma_u_len
section LZMA_DEC31
pop ax
push ax

View File

@ -41,6 +41,14 @@
.macro section name
.section \name
.code16
.set current_section,\name
.endm
.macro ignore_reloc_overflow sym
.pushsection ignore_reloc_overflow
.byte \sym
.byte current_section
.popsection
.endm
.macro CPU id

View File

@ -46,25 +46,26 @@ Idx Name Size VMA LMA File off Algn Flags
41 NRV2EEX9 00000004 00000000 00000000 0000029b 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
44 LZMA_DEC10 000011a4 00000000 00000000 000002da 2**0 CONTENTS, READONLY
45 LZMA_DEC20 000011a4 00000000 00000000 0000147e 2**0 CONTENTS, READONLY
46 LZMA_DEC30 00000006 00000000 00000000 00002622 2**0 CONTENTS, RELOC, READONLY
47 LZMA_DEC31 00000007 00000000 00000000 00002628 2**0 CONTENTS, RELOC, READONLY
48 EXEMAIN5 00000001 00000000 00000000 0000262f 2**0 CONTENTS, READONLY
49 EXEADJUS 00000007 00000000 00000000 00002630 2**0 CONTENTS, READONLY
50 EXENOADJ 00000002 00000000 00000000 00002637 2**0 CONTENTS, READONLY
51 EXERELO1 0000001e 00000000 00000000 00002639 2**0 CONTENTS, RELOC, READONLY
52 EXEREL9A 00000012 00000000 00000000 00002657 2**0 CONTENTS, RELOC, READONLY
53 EXERELO2 00000004 00000000 00000000 00002669 2**0 CONTENTS, READONLY
54 EXEREBIG 00000002 00000000 00000000 0000266d 2**0 CONTENTS, RELOC, READONLY
55 EXERELO3 00000002 00000000 00000000 0000266f 2**0 CONTENTS, RELOC, READONLY
56 EXEMAIN8 00000003 00000000 00000000 00002671 2**0 CONTENTS, READONLY
57 DEVICEEND 00000013 00000000 00000000 00002674 2**0 CONTENTS, READONLY
58 EXESTACK 00000006 00000000 00000000 00002687 2**0 CONTENTS, RELOC, READONLY
59 EXESTASP 00000003 00000000 00000000 0000268d 2**0 CONTENTS, RELOC, READONLY
60 EXEJUMPF 00000005 00000000 00000000 00002690 2**0 CONTENTS, RELOC, READONLY
61 EXERCSPO 00000004 00000000 00000000 00002695 2**0 CONTENTS, RELOC, READONLY
62 EXERETIP 00000006 00000000 00000000 00002699 2**0 CONTENTS, RELOC, READONLY
44 ignore_reloc_overflow 00000008 00000000 00000000 000002da 2**0 CONTENTS, RELOC, READONLY
45 LZMA_DEC10 000011a4 00000000 00000000 000002e2 2**0 CONTENTS, READONLY
46 LZMA_DEC20 000011a4 00000000 00000000 00001486 2**0 CONTENTS, READONLY
47 LZMA_DEC30 00000006 00000000 00000000 0000262a 2**0 CONTENTS, RELOC, READONLY
48 LZMA_DEC31 00000007 00000000 00000000 00002630 2**0 CONTENTS, RELOC, READONLY
49 EXEMAIN5 00000001 00000000 00000000 00002637 2**0 CONTENTS, READONLY
50 EXEADJUS 00000007 00000000 00000000 00002638 2**0 CONTENTS, READONLY
51 EXENOADJ 00000002 00000000 00000000 0000263f 2**0 CONTENTS, READONLY
52 EXERELO1 0000001e 00000000 00000000 00002641 2**0 CONTENTS, RELOC, READONLY
53 EXEREL9A 00000012 00000000 00000000 0000265f 2**0 CONTENTS, RELOC, READONLY
54 EXERELO2 00000004 00000000 00000000 00002671 2**0 CONTENTS, READONLY
55 EXEREBIG 00000002 00000000 00000000 00002675 2**0 CONTENTS, RELOC, READONLY
56 EXERELO3 00000002 00000000 00000000 00002677 2**0 CONTENTS, RELOC, READONLY
57 EXEMAIN8 00000003 00000000 00000000 00002679 2**0 CONTENTS, READONLY
58 DEVICEEND 00000013 00000000 00000000 0000267c 2**0 CONTENTS, READONLY
59 EXESTACK 00000006 00000000 00000000 0000268f 2**0 CONTENTS, RELOC, READONLY
60 EXESTASP 00000003 00000000 00000000 00002695 2**0 CONTENTS, RELOC, READONLY
61 EXEJUMPF 00000005 00000000 00000000 00002698 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:
00000000 l d DEVICEENTRY 00000000 DEVICEENTRY
00000000 l d EXEENTRY 00000000 EXEENTRY
@ -80,6 +81,7 @@ SYMBOL TABLE:
00000000 l d NRV2EEX2 00000000 NRV2EEX2
00000000 l d NRV2EEX3 00000000 NRV2EEX3
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_DEC30 00000000 LZMA_DEC30
00000000 l d EXERELO1 00000000 EXERELO1
@ -113,7 +115,7 @@ SYMBOL TABLE:
00000000 l d N2E28602 00000000 N2E28602
00000000 l d N2E64K02 00000000 N2E64K02
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_DEC31 00000000 LZMA_DEC31
00000000 l d EXEMAIN5 00000000 EXEMAIN5
@ -264,6 +266,17 @@ OFFSET TYPE VALUE
00000036 R_386_PC16 LZMA_DEC10
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]:
OFFSET TYPE VALUE
00000004 R_386_16 lzma_u_len