Tried to configure GCC-4.0.2 for target
i586-pc-msdosdjgpp using DJGPP tools under DOSEMU-1.3.3.
Got stuck on the following problem:
GNU Sed edits Makefile.in and write Makefile. This
process fails and Sed writes file up to 2 Gb size and
after that DOSEMU quits with error message
Tested that the same command works without problems in
DOS session under WinXP.
The problem may however be related also with FreeDos.
Executable can be found at:
http://www.delorie.com/djgpp/dl/ofc/current/v2gnu/sed414b.zip/bin/sed.exe
Command:
sed -f foo.sed foo >foo.out
Files except sed.exe (see link above) are in the
attached ZIP archive
System information:
Linux distribution: Fedora Core 4
CPU: Pentium 4
GCC-4.0.2, kernel-2.6.15-1.1831_FC4
PS. LFN seems to work OK
Linux DOS emulator 1.3.3.0 $Date: 2005-12-22$
Last configured at Mon Feb 6 21:40:45 EET 2006 on linux
This is work in progress.
Please test against a recent version before reporting
bugs and problems.
Submit Bug Reports, Patches & New Code to
linux-msdos@vger.kernel.org or via
the SourceForge tracking system at
http://www.sourceforge.net/projects/dosemu
DPMI-Server Version 0.9 installed
FreeDOS kernel version 1.1.35 (Build 2035) [May 30 2004
22:09:36]
Kernel compatibility 7.10 - WATCOMC - FAT32 support
(C) Copyright 1995-2004 Pasquale J. Villani and The
FreeDOS Project.
All Rights Reserved. This is free software and comes
with ABSOLUTELY NO
WARRANTY; you can redistribute it and/or modify it
under the terms of the
GNU General Public License as published by the Free
Software Foundation;
either version 2, or (at your option) any later version.
C: HD1, Pri[ 1], CHS= 0-1-1, start= 0 MB, size=
392 MB
dosemu EMS 4.0 driver installed.
Kernel: allocated 39 Diskbuffers = 20748 Bytes in HMA
FreeCom version 0.82 pl 3 XMS_Swap [Mar 06 2004 10:49:37]
D
Test example in ZIP archive
Logged In: YES
user_id=501371
Looks FreeDOS-specific indeed.
Try the FreeDOS bugzilla too please.
Logged In: YES
user_id=1359396
Found similar error with standard DPMI programs which ran fine with 1.3.2. Now I get a DPMI error 0d. Freedos works fine with 1.3.2. Seems like it definitely something with 1.3.3.
Logged In: YES
user_id=1359396
Simple DPMI status program under 1.3.2 and freedos-
FreeDOS kernel version 1.1.35 (Build 2035) [May 30 2004 22:09:36]
Kernel compatibility 7.10 - WATCOMC - FAT32 support
C:>xstats
DPMI extended memory manager detected
CMOS reports base memory: 640K
CMOS reports extended memory: 0K
DPMI Version 0.50
DPMI Extended memory currently unused: 19456K
Total physical memory: 20480K
TopSpeed Extender Version 3.03
Extended memory available: 16384K
Low memory available: 0K
Total memory available: 16384K
Under 1.3.3
C:>xstats
DPMI: Unhandled Exception 0d - Terminating Client
It is likely that dosemu is unstable now and should be rebooted
Same with microemacs, and other standard dpmi programs.
Pretty much a showstopper inasmuch backporting to 1.3.2 works fine.
Here's the boot log.
CONF: config variable parser_version_3 set
CONF: config variable c_system set
CONF: Parsing built-in dosemu.conf file.
CONF: config variable version_3_style_used set
CONF: Parsing built-in global.conf file.
CONF: config variable version_3_style_used unset
CONF: config variable version_3_style_used set
CONF: opened include file /etc/dosemu//dosemu.conf
CONF: closed include file /etc/dosemu//dosemu.conf
CONF: opened include file /home/peter/.dosemurc
CONF: closed include file /home/peter/.dosemurc
CONF: config variable skip_dosrc set
CONF: mapping driver = 'auto'
debug flags: -a+cw
CONF: Disabling use of pentium timer
CONF: dosbanner on
CONF: timer freq=18, update=54925
CONF: CPU set to 386
CONF: CPUEMU set to 0 for 386
CONF: 8192k bytes XMS memory
CONF: 2048k bytes EMS memory
CONF: EMS-frame = 0xe400
CONF: DPMI-Server on (0x5000)
CONF: DPMI base addr = 0x10000000
CONF: PM DOS API Translator on
CONF: No DJGPP NULL deref checks: off
CONF: dosemu running on _terminal
CONF: time mode = 'bios'
SER: directory /var/lock namestub LCK.. binary No
MOUSE: no device specified, type 0 using internaldriver: yes, emulate3buttons: no baudrate: 0
CONF: Keyboard-layout keyb-user
CONF: **** Warning: floppy /dev/fd0 not accessable, disabled
CONF: fastfloppy = 1
CONF: IPX support off
CONF(LPT0) f: (null) c: lpr -l t: 20 port: 0
CONF(LPT1) f: (null) c: lpr -l -P lpt2 t: 20 port: 0
CONF(LPT2) f: (null) c: lpr -l -P lpt3 t: 20 port: 0
CONF: not allowing speaker port access
CONF: Packet Driver enabled.
device: /home/peter/.dosemu/drives/c type 4 h: -1 s: -1 t: -1 drive C:
CONF: config variable c_system unset
Linux kernel 2.6.15; CPU speed is 2083204000 Hz
CPU-EMU speed is 2083 MHz
CONF: mostly running as USER: uid=1000 (cached 1000) gid=100 (cached 100)
DBG_FD already set
DOSEMU-1.3.3.0 is coming up on Linux version 2.6.15-gentoo-r1
CONF: reserving 640Kb at 0x00000 for 'd' (Base DOS memory (first 640K))
CONF: reserving 48Kb at 0xF4000 for 'r' (Dosemu reserved area)
CPU: Stack bottom 0xbfb4b000, top 0xbfb60000, esp=0xbfb4e2f0
major = 136 minor = 0
CONF: reserving 128Kb at 0xA0000 for 'v' (Video memory)
CONF: reserving 4Kb at 0xC0000 for 'V' (VGAEMU Video BIOS)
SERIAL $Header: /cvsroot/dosemu/dosemu/src/base/serial/ser_init.c,v 1.23 2005/08/22 00:05:17 bartoldeman Exp $
PKT: Cannot allocate TAP device (dynamic): No such file or directory
CONF: detected layout is "auto"
CONF: detected alternate layout: (null)
CONF: reserving 64Kb at 0xE4000 for 'E' (EMS page frame)
CONF: reserving 140Kb at 0xC1000 for 'U' (Upper Memory Block (UMB, XMS 3.0))
TIME: using 9154 usec for updating ALRM timer
leavedos(1|0x1) called - shutting down
ERROR: slang_keyb_close(): failed to restore keyboard termios settings!
Logged In: YES
user_id=501371
It would be better to not mix the multiple reports
in the same bug entry. The original problem have nothing
to do with an "Unhandled Exception 0d" and is reproduceable
only on FreeDOS (I tried on a few different doses).
So, if you have the DPMI problems with 1.3.3, please
try CVS code, and if the problem is still there - open
another report and attach your xstats.exe to it.
Logged In: YES
user_id=176505
Originator: NO
It is indeed a problem in the FreeDOS kernel.
What happens is that SED tries to read from the NUL device in raw mode; that only works correctly in cooked mode.
It is fixed in the FreeDOS kernel CVS now.