delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2000/02/24/07:44:15

Date: Thu, 24 Feb 2000 14:03:57 +0200 (IST)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
X-Sender: eliz AT is
To: djgpp-workers AT delorie DOT com
Subject: Debugging difficulties with GCC 2.95.2
Message-ID: <Pine.SUN.3.91.1000224135720.14304I-100000@is>
MIME-Version: 1.0
Reply-To: djgpp-workers AT delorie DOT com

Did someone notice some debugging problems with GCC 2.95.2?  For example, 
the short test program below, when compiled with GCC 2.95.2, cannot be 
stepped on the source level.  That is, the following sequence:

	gdb fpfunc
	b main
	r
	s

causes the program to run to completion after the `s' command, instead of 
stepping into dfunc().  This doesn't happen with GCC 2.7.2.1.  I tried 
both -g and -gstabs with 2.95.2, it behaves the same with both.

FWIW, the command to compile was "gcc -Wall -O -g -o fpfunc fpfunc.c".

This might seem like a toy problem, but I have seen similar problems in 
much larger programs, like Emacs: some breakpoints simply don't break 
even though I *know* the program passed those points.  Come to think of 
it, all the cases I saw were when the breakpoint was set on the entry to 
a function.  Again, when compiled with GCC 2.7.2.1, the breakpoints 
behave like expected.

Any ideas?


#include <math.h>

double dfunc (double a)
{
  return a * sqrt (a);
}

float ffunc (float b)
{
  return b * (float)dfunc (b);
}

int main (int argc, char *argv[])
{
  return (dfunc (argc) > 2 ? 0 : 1);
}

- Raw text -


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