Switching back to using Watcom C - this seems to work.
This commit is contained in:
+1488
-1492
File diff suppressed because it is too large
Load Diff
@@ -143,7 +143,7 @@ lzma_d_c%.S : lzma_d_c%.i cleanasm.py $(MAKEFILE_LIST)
|
||||
python cleanasm.py --label-prefix=$(LABEL_PREFIX) $< $@
|
||||
|
||||
ifneq ($(wildcard $(UPX_LZMADIR)/C/7zip/.),)
|
||||
ifneq ($(wildcard $(DM849DIR)/bin/dmc.exe),)
|
||||
##ifneq ($(wildcard $(DM849DIR)/bin/dmc.exe),)
|
||||
ifneq ($(wildcard $(WATCOM)/binl/wcl),)
|
||||
ifneq ($(wildcard /usr/bin/wine),)
|
||||
|
||||
@@ -170,7 +170,7 @@ ifneq ($(wildcard $(WATCOM)/binl/wcl),)
|
||||
$(call tc,wdis) tmp/$T_wc.obj | $(RTRIM) > tmp/$T_wc.obj.disasm
|
||||
endif
|
||||
# convert
|
||||
python wdis2gas.py tmp/$T_dm.obj.disasm tmp/$T.S
|
||||
python wdis2gas.py tmp/$T_wc.obj.disasm tmp/$T.S
|
||||
$(call tc,gcc) -c -o tmp/$T.o tmp/$T.S
|
||||
$(call tc,f-objstrip,tmp/$T.o)
|
||||
$(call tc,objdump) -b elf32-i386 -m i8086 -M intel -dr -j .text.LzmaDecode --no-show -w tmp/$T.o | $(RTRIM) | perl -pe 's/DWORD/dword/g; s/WORD/word/g; s/BYTE/byte/g; s/PTR/ptr/g;' > $@
|
||||
@@ -180,7 +180,7 @@ endif
|
||||
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
##endif
|
||||
endif
|
||||
|
||||
lzma_d_cf.% : PP_FLAGS = -DFAST
|
||||
|
||||
@@ -41,8 +41,12 @@ class opts:
|
||||
|
||||
|
||||
inline_map = {
|
||||
"__aNNalshl": "M_aNNalshl",
|
||||
"__aNahdiff": "M_aNahdiff",
|
||||
"__aNNalshl": ["M_aNNalshl", 1],
|
||||
"__aNahdiff": ["M_aNahdiff", 1],
|
||||
"__PIA": ["M_PIA", 999],
|
||||
"__PTS": ["M_PTS", 999],
|
||||
"__PTC": ["M_PTC", 999],
|
||||
"__U4M": ["M_U4M", 999],
|
||||
}
|
||||
|
||||
|
||||
@@ -261,11 +265,11 @@ def main(argv):
|
||||
if opts.auto_inline and inst == "call":
|
||||
v = labels[args_label]
|
||||
if v[:2] == [1, 2]: # external 2-byte
|
||||
if v[3] == 1: # only one call
|
||||
x = inline_map.get(v[2])
|
||||
x = inline_map.get(v[2])
|
||||
if x and v[3] <= x[1]: # max. number of calls
|
||||
##print "inline", v, x
|
||||
if x:
|
||||
olines[i][1] = x
|
||||
olines[i][1] = x[0]
|
||||
olines[i][2] = "/* inlined */"
|
||||
olines[i][2] = ""
|
||||
olines[i][3] = None
|
||||
|
||||
@@ -167,6 +167,28 @@ L2:
|
||||
|
||||
section LZMA_DEC99
|
||||
|
||||
#if 0
|
||||
__PIA: M_WCC_PIA
|
||||
ret
|
||||
__PTC: M_WCC_PTC
|
||||
ret
|
||||
__PTS: ret
|
||||
__U4M: M_LMUL_dxax_00bx
|
||||
ret
|
||||
#else
|
||||
.macro M_PIA
|
||||
M_WCC_PIA
|
||||
.endm
|
||||
.macro M_PTC
|
||||
M_WCC_PTC
|
||||
.endm
|
||||
.macro M_PTS
|
||||
.endm
|
||||
.macro M_U4M
|
||||
M_LMUL_dxax_00bx
|
||||
.endm
|
||||
#endif
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
//
|
||||
|
||||
+1649
-1624
File diff suppressed because it is too large
Load Diff
+1606
-1682
File diff suppressed because it is too large
Load Diff
+1649
-1624
File diff suppressed because it is too large
Load Diff
+1606
-1682
File diff suppressed because it is too large
Load Diff
@@ -139,7 +139,7 @@
|
||||
#define __AHINCR (1 << __AHSHIFT) /* 4096 */
|
||||
|
||||
|
||||
#if 0
|
||||
#if 1
|
||||
// huge pointer add: dx:ax = dx:ax + cx:bx
|
||||
.macro M_WCC_PIA
|
||||
add ax, bx
|
||||
@@ -177,7 +177,7 @@
|
||||
#endif
|
||||
|
||||
|
||||
#if 0
|
||||
#if 1
|
||||
// huge pointer compare: set zero and carry flags: dx:ax cmp cx:bx
|
||||
.macro M_WCC_PTC
|
||||
// FIXME: should we normalize the pointers ???
|
||||
|
||||
@@ -46,25 +46,25 @@ 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 00000043 00000000 00000000 0000029f 2**0 CONTENTS, RELOC, READONLY
|
||||
44 LZMA_DEC10 00001289 00000000 00000000 000002e2 2**0 CONTENTS, READONLY
|
||||
45 LZMA_DEC20 00001289 00000000 00000000 0000156b 2**0 CONTENTS, READONLY
|
||||
46 LZMA_DEC30 00000006 00000000 00000000 000027f4 2**0 CONTENTS, RELOC, READONLY
|
||||
47 LZMA_DEC31 00000007 00000000 00000000 000027fa 2**0 CONTENTS, RELOC, READONLY
|
||||
48 EXEMAIN5 00000001 00000000 00000000 00002801 2**0 CONTENTS, READONLY
|
||||
49 EXEADJUS 00000007 00000000 00000000 00002802 2**0 CONTENTS, READONLY
|
||||
50 EXENOADJ 00000002 00000000 00000000 00002809 2**0 CONTENTS, READONLY
|
||||
51 EXERELO1 0000001e 00000000 00000000 0000280b 2**0 CONTENTS, RELOC, READONLY
|
||||
52 EXEREL9A 00000012 00000000 00000000 00002829 2**0 CONTENTS, RELOC, READONLY
|
||||
53 EXERELO2 00000004 00000000 00000000 0000283b 2**0 CONTENTS, READONLY
|
||||
54 EXEREBIG 00000002 00000000 00000000 0000283f 2**0 CONTENTS, RELOC, READONLY
|
||||
55 EXERELO3 00000002 00000000 00000000 00002841 2**0 CONTENTS, RELOC, READONLY
|
||||
56 EXEMAIN8 00000003 00000000 00000000 00002843 2**0 CONTENTS, READONLY
|
||||
57 DEVICEEND 00000013 00000000 00000000 00002846 2**0 CONTENTS, READONLY
|
||||
58 EXESTACK 00000006 00000000 00000000 00002859 2**0 CONTENTS, RELOC, READONLY
|
||||
59 EXESTASP 00000003 00000000 00000000 0000285f 2**0 CONTENTS, RELOC, READONLY
|
||||
60 EXEJUMPF 00000005 00000000 00000000 00002862 2**0 CONTENTS, RELOC, READONLY
|
||||
61 EXERCSPO 00000004 00000000 00000000 00002867 2**0 CONTENTS, RELOC, READONLY
|
||||
62 EXERETIP 00000006 00000000 00000000 0000286b 2**0 CONTENTS, RELOC, READONLY
|
||||
44 LZMA_DEC10 00001267 00000000 00000000 000002e2 2**0 CONTENTS, READONLY
|
||||
45 LZMA_DEC20 00001267 00000000 00000000 00001549 2**0 CONTENTS, READONLY
|
||||
46 LZMA_DEC30 00000006 00000000 00000000 000027b0 2**0 CONTENTS, RELOC, READONLY
|
||||
47 LZMA_DEC31 00000007 00000000 00000000 000027b6 2**0 CONTENTS, RELOC, READONLY
|
||||
48 EXEMAIN5 00000001 00000000 00000000 000027bd 2**0 CONTENTS, READONLY
|
||||
49 EXEADJUS 00000007 00000000 00000000 000027be 2**0 CONTENTS, READONLY
|
||||
50 EXENOADJ 00000002 00000000 00000000 000027c5 2**0 CONTENTS, READONLY
|
||||
51 EXERELO1 0000001e 00000000 00000000 000027c7 2**0 CONTENTS, RELOC, READONLY
|
||||
52 EXEREL9A 00000012 00000000 00000000 000027e5 2**0 CONTENTS, RELOC, READONLY
|
||||
53 EXERELO2 00000004 00000000 00000000 000027f7 2**0 CONTENTS, READONLY
|
||||
54 EXEREBIG 00000002 00000000 00000000 000027fb 2**0 CONTENTS, RELOC, READONLY
|
||||
55 EXERELO3 00000002 00000000 00000000 000027fd 2**0 CONTENTS, RELOC, READONLY
|
||||
56 EXEMAIN8 00000003 00000000 00000000 000027ff 2**0 CONTENTS, READONLY
|
||||
57 DEVICEEND 00000013 00000000 00000000 00002802 2**0 CONTENTS, READONLY
|
||||
58 EXESTACK 00000006 00000000 00000000 00002815 2**0 CONTENTS, RELOC, READONLY
|
||||
59 EXESTASP 00000003 00000000 00000000 0000281b 2**0 CONTENTS, RELOC, READONLY
|
||||
60 EXEJUMPF 00000005 00000000 00000000 0000281e 2**0 CONTENTS, RELOC, READONLY
|
||||
61 EXERCSPO 00000004 00000000 00000000 00002823 2**0 CONTENTS, RELOC, READONLY
|
||||
62 EXERETIP 00000006 00000000 00000000 00002827 2**0 CONTENTS, RELOC, READONLY
|
||||
SYMBOL TABLE:
|
||||
00000000 l d DEVICEENTRY 00000000 DEVICEENTRY
|
||||
00000000 l d EXEENTRY 00000000 EXEENTRY
|
||||
|
||||
Reference in New Issue
Block a user