www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/07/22/14:40:43

Sender: richdawe AT bigfoot DOT com
Message-ID: <37971021.D7D5CA69@tudor21.net>
Date: Thu, 22 Jul 1999 12:35:45 +0000
From: Richard Dawe <richdawe AT bigfoot DOT com>
X-Mailer: Mozilla 4.51 [en] (X11; I; Linux 2.2.10 i586)
X-Accept-Language: de,fr
MIME-Version: 1.0
To: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
CC: DJGPP newsgroup <djgpp AT delorie DOT com>
Subject: Re: Bizarre debugging format problem
References: <Pine DOT SUN DOT 3 DOT 91 DOT 990720120029 DOT 4115H-100000 AT is>
Reply-To: djgpp AT delorie DOT com

Hello again.

Eli Zaretskii wrote:
> Well, I never upgraded to 2.8.1, since it has so many bugs.

Is there a web page that lists these bugs? I think maybe I will downgrade
to gcc 2.7.2.1.

> Modify your program so that it pauses at some point, e.g. by calling
> `getch', and when it does, interrupt it with Ctrl-BREAK.  Then run
> SYMIFY and see if it reports source line numbers.  If it does, then
> the problem is in GDB, and perhaps the latest version of GDB solves
> that.

I modified testit.c to:

/* A minimal program that will cause libsocket to be linked in. */
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <lsck/lsck.h>

int main (void) {
        int n;

        printf("Here we go...\n");
        __lsck_init();
        n = getch();
        return(EXIT_SUCCESS);
}

This gave the following when symify'd:

Here we go...
Exiting due to signal SIGINT
Control-Break Pressed at eip=00010ce6
eax=00000000 ebx=00000021 ecx=00000000 edx=0000000e esi=00000054
edi=000643ac
ebp=0006439c esp=00064390 program=D:\DEVELOP\TEST\DBGINFO\TESTIT
cs: sel=00ef  base=83231000  limit=0007ffff
ds: sel=00f7  base=83231000  limit=0007ffff
es: sel=00ff  base=83231000  limit=0007ffff
fs: sel=0117  base=00015bf0  limit=000028ff
gs: sel=0107  base=00000000  limit=ffffffff
ss: sel=00f7  base=83231000  limit=0007ffff

Call frame traceback EIPs:
  0x00010ce6   ___dpmi_int+114
  0x0000da99   _getch+49
  0x00001de1   _main+29
  0x0000d0aa   ___crt1_startup+138

BTW is the result of running symify a symification?

I also wrote a new program that doesn't depend on libsocket, testit2.c:

#include <conio.h>
#include <stdio.h>
#include <stdlib.h>

int main (void)
{
        int n;

        printf("Hello mum!\n");
        printf("Hello world!\n");
        n = getch();
        printf("Goodbye\n");
        return(EXIT_SUCCESS);
}

This gives the following symification:

Hello mum!
Hello world!
Exiting due to signal SIGINT
Control-Break Pressed at eip=000081a6
eax=00000000 ebx=00000021 ecx=00000000 edx=0000000d esi=00000054
edi=00050098
ebp=00050088 esp=0005007c program=D:\DEVELOP\TEST\DBGINFO\TESTIT2
cs: sel=00f7  base=8331c000  limit=0005ffff
ds: sel=00ff  base=8331c000  limit=0005ffff
es: sel=0107  base=8331c000  limit=0005ffff
fs: sel=00d7  base=00011940  limit=0000ffff
gs: sel=010f  base=00000000  limit=ffffffff
ss: sel=00ff  base=8331c000  limit=0005ffff

Call frame traceback EIPs:
  0x000081a6   ___dpmi_int+114
  0x0000363d   _getch+49
  0x00001dfd   _main+37
  0x00002c4e   ___crt1_startup+138

> I can let let you download the latest binary of GDB 4.18 that
> I'm using, to see whether it does any better; or I can try it myself
> if you tell me where can I download the binary of your terst program.

I think I'd prefer to download a new version of gdb, because I'd like to
use command-line editing, etc. Also, the test progs are rather large
(0.5MB for testit.exe).

It seems the problem isn't with gdb anyway, from what you say about line
numbers.

Again, thanks for the help. I hope the above helps diagnosing this
annoyance. Bye,

-- 
--------------+----------------------+------------------------------------
 Richard Dawe | richdawe AT bigfoot DOT com | http://www.bigfoot.com/~richdawe/ 
--------------+----------------------+------------------------------------

- Raw text -


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