www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2002/02/21/07:16:52

X-Authentication-Warning: delorie.com: mailnull set sender to djgpp-bounces using -f
From: eplmst AT lu DOT erisoft DOT se (Martin Stromberg)
Newsgroups: comp.os.msdos.djgpp
Subject: Re: RHIDE debugger fails to start on board without floating point unit
Date: 21 Feb 2002 10:43:19 GMT
Organization: Ericsson Erisoft AB, Sweden
Lines: 44
Message-ID: <a52j07$cpa$1@antares.lu.erisoft.se>
References: <a51red$kpg$1 AT newstest DOT laserlink DOT net>
NNTP-Posting-Host: lws256.lu.erisoft.se
X-Newsreader: TIN [version 1.2 PL2]
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

Dorel Zamfir (dorel_z AT ics-iq DOT com) wrote:
: I am trying to develop a program to run on a 486 based ELAN SC400 processor
: that does not have a floating point unit.

: Even when using a small test program that does not use any floating point
: types and I try to step into the first line of code, the RHIDE debugger
: displays this error message,
: "Program has received signal: SIGFPE, Arithmetic exception".

: The program runs just fine if I run it directly from the DOS prompt (outside
: of RHIDE).  I have tried stepping into the first line using RHGDB, FSDB, and
: GDB 5.0.  They all fail to start but GDB gives more descriptive info that I
: am including below.

: I am running plain MS-DOS 6.22.  I have 8 MB RAM installed.  I am using
: DJGPP v2.03 and RHIDE v1.4.  I have tried
: adding each of the floating point libraries (libemu.a and libwmemu) to my
: project but it did not correct the issue.  I also tried setting the
: following lines for each library but that did not have an effect either:
: set 387=N
: set emu387=c:\djgpp\bin\emu387.dxe (and emu387.dxe)

: Results of go32-v2 are:
:     DPMI memory available: 5411 Kb
:     DPMI swap space available: 129821 Kb

: Results of GDB are:
: (starting to 'run' program gives)
:     Program received signal SIGEMT, Emulation trap.
:     0x59695 in _control87 ()

When you arrive here it's important that you do "cont", not "step" or
"stepi". When I do that I can debug on my 386.

You can also tell the debugger to ignore SIGEMT with "handle SIGEMT
nostop", IIRC.

There some problem with the signal handling while using 387
emulation. Volunteers are needed to trace this down.


Right,

						MartinS

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019