Re: dosemu compile crashes with 2.3.3x

Erik Mouw (J.A.K.Mouw@its.tudelft.nl)
Thu, 30 Dec 1999 11:48:42 +0100 (MET)


On Thu, 30 Dec 1999 10:31:57 +0100, Jean-Luc Coulon wrote:
> I tried to compile dosemu from linux 2.3.xx. After decompressing the
> tarball, I do a make :
>
> after a while there is the following command executing :
>
> ---
> ld86 -0 -T 0 -s -o booton.tmp booton.o
> dd if=booton.tmp
> of=/usr/local/src/dosemu-0.98.6/0.98.6.0/commands/booton.com bs=1
> skip=288
> 288+0 enregistrements lus.
> 288+0 enregistrements écrits.
> rm -f booton.tmp booton.o
> gcc -E -D__AS86__ --traditional -I../include fossil.S > fossil.s
> as86 -l -0 -o fossil.o fossil.s > fossil.s.out
> ---
>
> Then the following file extends to use all the free space on the disk
> partition
> -rw-rw-r-- 1 root root 1411096576 déc 12 19:17 fossil.s.out
>
> And the compile crashes when the device is full

The file fossil.s.out contains just the output from as86. I'm not quite
sure if it can be ignored but I don't have a Linux 2.3.x system available
to test. Can you apply the following patch to the Makefile in src/commands
and see if this solves your problem? The patch is against dosemu-0.99.12,
but I think it can also be used against other versions (I haven't tested
this). In particular you should have a look if the generated .com and .sys
files are valid, i.e. are bigger than 0 bytes.

-----------------------------------------------------------------------------------
--- Makefile-old Thu Dec 30 11:38:44 1999
+++ Makefile Thu Dec 30 11:39:16 1999
@@ -54,13 +54,13 @@
$(CC) -E -D__AS86__ --traditional -I../include $< > $*.s

$(D)/%.sys: %.s
- $(AS86) -0 -o $*.o $< > $<.out
+ $(AS86) -0 -o $*.o $< > /dev/null
$(LD86) -T 0 -s -o $*.tmp $*.o
dd if=$*.tmp of=$@ bs=1 skip=32
rm $*.tmp $*.o

$(D)/%.com: %.s
- $(AS86) -0 -o $*.o $< > $<.out
+ $(AS86) -0 -o $*.o $< > /dev/null
$(LD86) -T 0 -s -o $*.tmp $*.o
dd if=$*.tmp of=$@ bs=1 skip=288
rm -f $*.tmp $*.o
@@ -97,7 +97,7 @@
$(CALLDOS) -I $(subst COMMAND,dir /w,$(DOSINVOKE_KEEP))

clean:
- rm -f *.o *.tmp *.out *.s
+ rm -f *.o *.tmp *.s
rm -f $(COM) $(SYS) *.obj *.bak tcconfig.tc tcpick.tcp

realclean: clean
-----------------------------------------------------------------------------------

> All works fine with 2.2.13, the same 'make' on the same source tree give
> the same result. Dosemu is 0.98.6 ; I've tried 0.99.x and egcs too. I
> get always the same result : the compile goes ok with 2.2.13 and crashes
> with 2.3.3x.
>
> I have this problem only with 2.3.xx kernel.
> I've tested with dosemu-0.98.6 and 0.99.xx.
> I've tested it with gcc 2.7.3 and with egcs 2.91.60
> as86 come with the Debian 2.1 bin86 package (bin86-0.14.3)
>
> System is Pentium 200MMX with :
>
> - Kernel modutils 2.3.7 2.3.7
> - Gnu C 2.7.2.3 2.7.2.3
> - Binutils 2.9.1.0.7 2.9.5
> - Linux libc5 C Library 5.4.46 5.4.46
> - Linux libc6 C Library 2.0.7pre6 2.0.7
> - Dynamic Linker (ld.so) 1.9.9 1.9.10
> - Linux C++ Library 2.7.2.8 27.2.1
> - Procps 1.2.9 1.2.9
> - Procinfo 16 0.9
> - Psmisc 17 17
> - Net-tools 1.50 2.01
> - Sh-utils 1.16 1.16
> - Autofs 3.1.1 3.1.3
> - NFS (client) 2.2beta40 2.2beta37
> - nfs-utils (server) 0.1.4
> - Bash 1.14.7 2.01.1(1)
> - PPP 2.3.9 2.3.10
> - Util-linux 2.9i 2.9i-1.2

My apologies for the great amount of original text, but I CC-ed my answer
to the DOSemu developers mailinglist. Maybe one of the more active DOSemu
developers can shed a light on this issue?

Erik

-- 
J.A.K. (Erik) Mouw, Information and Communication Theory Group, Department
of Electrical Engineering, Faculty of Information Technology and Systems,
Delft University of Technology, PO BOX 5031,  2600 GA Delft, The Netherlands
Phone: +31-15-2785859  Fax: +31-15-2781843  Email J.A.K.Mouw@its.tudelft.nl
WWW: http://www-ict.its.tudelft.nl/~erik/

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/