diff --git a/mach/i386/.distr b/mach/i386/.distr index 447a00fdc..a51782859 100644 --- a/mach/i386/.distr +++ b/mach/i386/.distr @@ -2,11 +2,8 @@ Action as ce cv -libbc -libcc +libend libem libfp -libm2 -liboc -libpc +libsys ncg diff --git a/mach/i386/Action b/mach/i386/Action index 158a9e08b..619ad1642 100644 --- a/mach/i386/Action +++ b/mach/i386/Action @@ -7,27 +7,15 @@ end name "Intel 80386 Xenix System V conversion program" dir cv end -name "Intel 80386 C libraries" -dir libcc -end name "Intel 80386 EM library" dir libem end -name "Intel 80386 Pascal library" -dir libpc -end -name "Intel 80386 Basic library" -dir libbc -end -name "Intel 80836 Occam library" -dir liboc +name "Intel 80386 etext,edata,end library" +dir libend end name "Intel 80836 floating point library" dir libfp end -name "Intel 80836 Modula-2 library" -dir libm2 -end name "Intel 80836 Xenix systemcall library" dir libsys end diff --git a/mach/i386/libem/.distr b/mach/i386/libem/.distr index e862ca95b..d2b4f2884 100644 --- a/mach/i386/libem/.distr +++ b/mach/i386/libem/.distr @@ -1,5 +1,2 @@ LIST -Makefile -compmodule -end.s libem_s.a diff --git a/mach/i386/libem/print.s b/mach/i386/libem/print.s index a18cd920a..8b09b5044 100644 --- a/mach/i386/libem/print.s +++ b/mach/i386/libem/print.s @@ -39,7 +39,7 @@ printc: push eax push ebx push eax - call _write + call __write pop ebx pop ebx pop ebx diff --git a/mach/i386/libem/stop.s b/mach/i386/libem/stop.s index 16d55c612..200d6422d 100644 --- a/mach/i386/libem/stop.s +++ b/mach/i386/libem/stop.s @@ -2,4 +2,4 @@ .sect .text .define .stop .stop: - jmp _exit + jmp __exit diff --git a/mach/i386/libem/strhp.s b/mach/i386/libem/strhp.s index 869410315..d28131c0f 100644 --- a/mach/i386/libem/strhp.s +++ b/mach/i386/libem/strhp.s @@ -13,7 +13,7 @@ and eax,~0777 push ebx push eax - call _brk + call __brk pop ecx pop ebx cmp eax,-1 diff --git a/mach/i386/libend/.distr b/mach/i386/libend/.distr new file mode 100644 index 000000000..b48ec8483 --- /dev/null +++ b/mach/i386/libend/.distr @@ -0,0 +1,2 @@ +LIST +end_s.a diff --git a/mach/i386/libend/LIST b/mach/i386/libend/LIST new file mode 100644 index 000000000..2efbd3eb2 --- /dev/null +++ b/mach/i386/libend/LIST @@ -0,0 +1,5 @@ +end_s.a +edata.s +em_end.s +end.s +etext.s diff --git a/mach/i386/libend/edata.s b/mach/i386/libend/edata.s new file mode 100644 index 000000000..f53adc109 --- /dev/null +++ b/mach/i386/libend/edata.s @@ -0,0 +1,9 @@ +.sect .text +.sect .rom +.sect .data +.sect .bss +.define _edata +.sect .data + .align 4 + .sect .data +_edata: diff --git a/mach/i386/libend/em_end.s b/mach/i386/libend/em_end.s new file mode 100644 index 000000000..a062368da --- /dev/null +++ b/mach/i386/libend/em_end.s @@ -0,0 +1,22 @@ +.sect .text +.sect .rom +.sect .data +.sect .bss +.define endtext,enddata,endbss,__end +.sect .text + .align 4 +.sect .rom + .align 4 +.sect .data + .align 4 +.sect .bss + .align 4 +.sect .end ! only for declaration of _end, __end and endbss. + + .sect .text +endtext: + .sect .data +enddata: + .sect .end +__end: +endbss: diff --git a/mach/i386/libend/end.s b/mach/i386/libend/end.s new file mode 100644 index 000000000..93a1e6e00 --- /dev/null +++ b/mach/i386/libend/end.s @@ -0,0 +1,7 @@ +.sect .text +.sect .rom +.sect .data +.sect .bss +.define _end +.sect .end ! only for declaration of _end, __end and endbss. +_end: diff --git a/mach/i386/libend/etext.s b/mach/i386/libend/etext.s new file mode 100644 index 000000000..8c7453cb4 --- /dev/null +++ b/mach/i386/libend/etext.s @@ -0,0 +1,9 @@ +.sect .text +.sect .rom +.sect .data +.sect .bss +.define _etext +.sect .text + .align 4 + .sect .text +_etext: diff --git a/mach/i386/libsys/.distr b/mach/i386/libsys/.distr index d5a561d2c..1edec9f14 100644 --- a/mach/i386/libsys/.distr +++ b/mach/i386/libsys/.distr @@ -1,5 +1,3 @@ LIST -Makefile -compmodule head_em.s libmon_s.a diff --git a/mach/i386/mach_params b/mach/i386/mach_params new file mode 100644 index 000000000..72100647c --- /dev/null +++ b/mach/i386/mach_params @@ -0,0 +1,4 @@ +MACH=i386 +SUF=o +ASAR=aal +RANLIB=: