dos/exe: don't clear the dirty stack - DOS does not do this either

This commit is contained in:
Markus F.X.J. Oberhumer
2007-03-04 17:10:32 +01:00
parent 009caee82d
commit 7eb0b195b8
5 changed files with 896 additions and 864 deletions
+854 -833
View File
File diff suppressed because it is too large Load Diff
+4 -5
View File
@@ -123,7 +123,7 @@ section LZMA_DEC20
section LZMA_DEC30
pop ds
#if 1
section LZMA_DEC31
// clear dirty stack
mov sp, bp
mov bx, offset clear_dirty_stack_low
@@ -131,14 +131,13 @@ section LZMA_DEC30
1: push ax
cmp sp, bx
jnzs 1b
#endif
section LZMA_DEC32
mov sp, bp
mov di, offset lzma_u_len
ignore_reloc_overflow lzma_u_len
section LZMA_DEC31
section LZMA_DEC33
pop ax
push ax
add ax, offset lzma_u_len_segment
+31 -24
View File
@@ -75,23 +75,25 @@ Idx Name Size VMA LMA File off Algn Flags
70 ignore_reloc_overflow 00000008 00000000 00000000 0000036d 2**0 CONTENTS, RELOC, READONLY
71 LZMA_DEC10 000011a3 00000000 00000000 00000375 2**0 CONTENTS, READONLY
72 LZMA_DEC20 0000123b 00000000 00000000 00001518 2**0 CONTENTS, READONLY
73 LZMA_DEC30 00000012 00000000 00000000 00002753 2**0 CONTENTS, RELOC, READONLY
74 LZMA_DEC31 00000007 00000000 00000000 00002765 2**0 CONTENTS, RELOC, READONLY
75 EXEMAIN5 00000001 00000000 00000000 0000276c 2**0 CONTENTS, READONLY
76 EXEADJUS 00000007 00000000 00000000 0000276d 2**0 CONTENTS, READONLY
77 EXENOADJ 00000002 00000000 00000000 00002774 2**0 CONTENTS, READONLY
78 EXERELO1 0000001e 00000000 00000000 00002776 2**0 CONTENTS, RELOC, READONLY
79 EXEREL9A 00000012 00000000 00000000 00002794 2**0 CONTENTS, RELOC, READONLY
80 EXERELO2 00000004 00000000 00000000 000027a6 2**0 CONTENTS, READONLY
81 EXEREBIG 00000002 00000000 00000000 000027aa 2**0 CONTENTS, RELOC, READONLY
82 EXERELO3 00000002 00000000 00000000 000027ac 2**0 CONTENTS, RELOC, READONLY
83 EXEMAIN8 00000003 00000000 00000000 000027ae 2**0 CONTENTS, READONLY
84 DEVICEEND 00000013 00000000 00000000 000027b1 2**0 CONTENTS, READONLY
85 EXESTACK 00000006 00000000 00000000 000027c4 2**0 CONTENTS, RELOC, READONLY
86 EXESTASP 00000003 00000000 00000000 000027ca 2**0 CONTENTS, RELOC, READONLY
87 EXEJUMPF 00000005 00000000 00000000 000027cd 2**0 CONTENTS, RELOC, READONLY
88 EXERCSPO 00000004 00000000 00000000 000027d2 2**0 CONTENTS, RELOC, READONLY
89 EXERETIP 00000006 00000000 00000000 000027d6 2**0 CONTENTS, RELOC, READONLY
73 LZMA_DEC30 00000001 00000000 00000000 00002753 2**0 CONTENTS, READONLY
74 LZMA_DEC31 0000000c 00000000 00000000 00002754 2**0 CONTENTS, RELOC, READONLY
75 LZMA_DEC32 00000005 00000000 00000000 00002760 2**0 CONTENTS, RELOC, READONLY
76 LZMA_DEC33 00000007 00000000 00000000 00002765 2**0 CONTENTS, RELOC, READONLY
77 EXEMAIN5 00000001 00000000 00000000 0000276c 2**0 CONTENTS, READONLY
78 EXEADJUS 00000007 00000000 00000000 0000276d 2**0 CONTENTS, READONLY
79 EXENOADJ 00000002 00000000 00000000 00002774 2**0 CONTENTS, READONLY
80 EXERELO1 0000001e 00000000 00000000 00002776 2**0 CONTENTS, RELOC, READONLY
81 EXEREL9A 00000012 00000000 00000000 00002794 2**0 CONTENTS, RELOC, READONLY
82 EXERELO2 00000004 00000000 00000000 000027a6 2**0 CONTENTS, READONLY
83 EXEREBIG 00000002 00000000 00000000 000027aa 2**0 CONTENTS, RELOC, READONLY
84 EXERELO3 00000002 00000000 00000000 000027ac 2**0 CONTENTS, RELOC, READONLY
85 EXEMAIN8 00000003 00000000 00000000 000027ae 2**0 CONTENTS, READONLY
86 DEVICEEND 00000013 00000000 00000000 000027b1 2**0 CONTENTS, READONLY
87 EXESTACK 00000006 00000000 00000000 000027c4 2**0 CONTENTS, RELOC, READONLY
88 EXESTASP 00000003 00000000 00000000 000027ca 2**0 CONTENTS, RELOC, READONLY
89 EXEJUMPF 00000005 00000000 00000000 000027cd 2**0 CONTENTS, RELOC, READONLY
90 EXERCSPO 00000004 00000000 00000000 000027d2 2**0 CONTENTS, RELOC, READONLY
91 EXERETIP 00000006 00000000 00000000 000027d6 2**0 CONTENTS, RELOC, READONLY
SYMBOL TABLE:
00000000 l d DEVICEENTRY 00000000 DEVICEENTRY
00000000 l d COMPRESSED_LZMA_START 00000000 COMPRESSED_LZMA_START
@@ -114,7 +116,7 @@ SYMBOL TABLE:
00000000 l d NRV2EEX3 00000000 NRV2EEX3
00000000 l d NRV2EEX9 00000000 NRV2EEX9
00000000 l d LZMA_DEC00 00000000 LZMA_DEC00
00000000 l d LZMA_DEC30 00000000 LZMA_DEC30
00000000 l d LZMA_DEC32 00000000 LZMA_DEC32
00000000 l d EXERELO1 00000000 EXERELO1
00000000 l d EXERELO2 00000000 EXERELO2
00000000 l d LZMADEVICE 00000000 LZMADEVICE
@@ -169,7 +171,9 @@ SYMBOL TABLE:
00000000 l d ignore_reloc_overflow 00000000 ignore_reloc_overflow
00000000 l d LZMA_DEC10 00000000 LZMA_DEC10
00000000 l d LZMA_DEC20 00000000 LZMA_DEC20
00000000 l d LZMA_DEC30 00000000 LZMA_DEC30
00000000 l d LZMA_DEC31 00000000 LZMA_DEC31
00000000 l d LZMA_DEC33 00000000 LZMA_DEC33
00000000 l d EXEMAIN5 00000000 EXEMAIN5
00000000 l d EXEADJUS 00000000 EXEADJUS
00000000 l d EXENOADJ 00000000 EXENOADJ
@@ -389,15 +393,18 @@ OFFSET TYPE VALUE
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 clear_dirty_stack_low
00000010 R_386_16 lzma_u_len
00000007 R_386_8 LZMA_DEC32
RELOCATION RECORDS FOR [LZMA_DEC31]:
OFFSET TYPE VALUE
00000003 R_386_16 clear_dirty_stack_low
RELOCATION RECORDS FOR [LZMA_DEC32]:
OFFSET TYPE VALUE
00000003 R_386_16 lzma_u_len
RELOCATION RECORDS FOR [LZMA_DEC33]:
OFFSET TYPE VALUE
00000003 R_386_16 lzma_u_len_segment
RELOCATION RECORDS FOR [EXERELO1]: