public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
From: Gary Funck <gary@intrepid.com>
To: GDB List <gdb@sources.redhat.com>
Cc: Robert Norton <rnorton@broadcom.com>
Subject: Re: SGI/Irix: how to call procedure from GDB?
Date: Mon, 19 Nov 2007 15:03:00 -0000	[thread overview]
Message-ID: <20071119150348.GA32008@intrepid.com> (raw)
In-Reply-To: <B0D822BFECD50F4991F2516EA50F273C0367C768@NT-IRVA-0752.brcm.ad.broadcom.com>

On 11/19/07 03:04:38, Robert Norton wrote:
> > -----Original Message-----
> > From: Gary Funck
> > Sent: 19 November 2007 04:30
> > To: GDB List
> > Subject: SGI/Irix: how to call procedure from GDB?
> > 
> > [...]
> > Any suggestions on what might've happened here, and what I
> > need to do to get GDB to to run the "debug_tree()" procedure?
> 
> GDB called the debug_tree function _on the target_ in order to evaluate
> the expression. During execution of this the breakpoint at fancy_abort
> was hit again. You could try disabling the breakpoint, continuing then
> doing the pt command again, but it looks like you've run into another
> internal error during the evaluation of debug_tree so this probably
> isn't going to help.

That makes sense.  Thanks.

However, I just tried something simple.  A test program:

1       #include <stdio.h>
2       
3       int sq(int x)
4       {
5         return x * x;
6       }
7       
8       int main()
9       {
10        int x = 10;
11        int s = sq(x);
12        printf ("x = %d s = %d\n", x, s);
13      }

% gcc t.c -O0 -g -o t
% gdb t
GNU gdb 6.7.1
Copyright (C) 2007 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "mips-sgi-irix6.5"...
(gdb) b 11
Breakpoint 1 at 0x100013c0: file t.c, line 11.
(gdb) r
Starting program: /upc/dev/gary/gcc-upc-4-2/wrk/upc_test/test/t 
Breakpoint 1, main () at t.c:11
11        int s = sq(x);
(gdb) p sq(x)
Breakpoint 1, main () at t.c:11
11        int s = sq(x);
The program being debugged stopped while in a function called from GDB.
When the function (sq) is done executing, GDB will silently
stop (instead of continuing to evaluate the expression containing
the function call).

### if I delete all breakpoints, the following occurs:

(gdb) d
Delete all breakpoints? (y or n) y
(gdb) p sq(x)
x = 10 s = 100

Program exited normally.
The program being debugged stopped while in a function called from GDB.
When the function (sq) is done executing, GDB will silently
stop (instead of continuing to evaluate the expression containing
the function call).

Interestingly, I saw the same behavior with gdb 6.5, which I
had installed a while back.  But when I try the "freeware"
version built by SGI (gdb 5.3), all is well:

% /usr/freeware/bin/gdb --version
GNU gdb 5.3
Copyright 2002 Free Software Foundation, Inc.
[...]
This GDB was configured as "mips-sgi-irix6.5"...
(gdb) b 12
Breakpoint 1 at 0x100013a8: file t.c, line 12.
(gdb) c
The program is not being run.
(gdb) r
Starting program: /upc/dev/gary/gcc-upc-4-2/wrk/upc_test/test/t 

Breakpoint 1, main () at t.c:12
12        int s = sq(x);
(gdb) p sq(x)
$1 = 100

It's been a while since I ran anything on that now antiquated
SGI/MIPS Irix box.  I recall installing gdb 6.5 because there
were limitations in gdb 5.3's understanding of the dwarf
debugging info.  What I don't recall is whether I tried calling
a procedure from gdb.

  parent reply	other threads:[~2007-11-19 15:03 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-19  4:30 Gary Funck
     [not found] ` <B0D822BFECD50F4991F2516EA50F273C0367C768@NT-IRVA-0752.brcm.ad.broadcom.com>
2007-11-19 15:03   ` Gary Funck [this message]
2007-11-19 17:23     ` Joel Brobecker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20071119150348.GA32008@intrepid.com \
    --to=gary@intrepid.com \
    --cc=gdb@sources.redhat.com \
    --cc=rnorton@broadcom.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).