www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1995/07/28/01:17:57

Xref: news-dnh.mv.net comp.os.msdos.djgpp:1205
Newsgroups: comp.os.msdos.djgpp
Path: news-dnh.mv.net!mv!news.sprintlink.net!newsfeed.internetmci.com!tank.news.pipex.net!pipex!dish.news.pipex.net!pipex!uunet!in1.uu.net!psinntp!psinntp!psinntp!psinntp!netrixgw.netrix.com!jasmine!ld
From: ld AT jasmine DOT netrix DOT com (Long Doan)
Subject: Re: Problem with Angband 2.7.7v4 ang Djgpp 2.0 beta1
To: Jaccard AT Dial DOT Eunet DOT Ch
Followup-To: comp.os.msdos.djgpp
Sender: ld AT jasmine (Long Doan)
Reply-To: ld AT netrix DOT com
Organization: Netrix Corporation
References: <DCDryB DOT G5E AT eunet DOT ch>
Distribution: World
Date: Thu, 27 Jul 1995 17:49:49 GMT
Lines: 62
Dj-Gateway: from newsgroup comp.os.msdos.djgpp

In article <DCDryB DOT G5E AT eunet DOT ch>, Jaccard AT Dial DOT Eunet DOT Ch (Francois Jaccard) writes:
|> Hi,
|> 
|> I tried to compile the game Angband 2.7.7v4 with the beta of Djgpp 2.0
|> and when run I have these errors:

  Based on the registers dumps, the problem seems to be related with
your stack pointer/frame pointer:
 - Under DOS, esp = e3279, ebp = ff;
 - Under NT,  esp = e029b, ebp = e53
It seems like:
  a. Your stack is growing up, which should be problematic since
     GCC expects the stack to grow down.
  b. You've overflowed the stack somehow.
  c. You're messing with the stack pointer (probably by writing values
     to areas on the stack.)
In addition, since ss == ds in both cases, it's possible that return
address, flags, etc. have been trashed.

It looks like the code is using some kind of uninitialized variable,
try to compile with -Wall -Werror and see what'll happen.

Hope that helps,
Long.

|> 
|> 
|> Dos 6.22
|> 
|> Cannot continue from exception, exiting due to signal 0123
|> General Protection Fault at eip=00072e2c
|> eax=00000001 ebx=00000017 ecx=00001fa2 edx=000e314b esi=000e61c0
|> edi=000e6180
|> ebp=000000ff esp=000e3297 cs=00a7 ds=00af es=00af fs=00cf gs=00cf
|> ss=00af
|> Call frame traceback EIPs:
|>   0x00072e2c
|> 
|> WinNT 3.50 Build 802 Service Pack 2
|> 
|> Cannot continue from exception, exiting due to signal 0123
|> General Protection Fault at eip=0000001a
|> eax=00000001 ebx=00000017 ecx=00001fa2 edx=000e014e esi=000e5380
|> edi=000e5340
|> ebp=00000e53 esp=000e029b cs=01c7 ds=01cf es=01cf fs=01f7 gs=01f7
|> ss=01cf
|> Call frame traceback EIPs:
|>   0x0000001a
|> 
|> My system is an ALR Evolution V/Q pentium 90Mhz (upgraded from 60),
|> 48Mb ram. I tried to compile with djgpp 1.12m4 but was unable to
|> compile anything since I upgraded. It is an upgrade board from ALR.
|> Everything works correctly but the compiles with Gcc (2.6.3 and 2.7.0)
|> under Linux (Kernel 1.3.9 (slackware) and 1.2.1 (debian 0.93)) and
|> djgpp under Dos/WinNT (1.12m4 and 2,0 beta).
|> 
|> Any ideas?
|> 
|> Thanks,
|> ----
|> Francois Jaccard
|> 

- Raw text -


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