This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

SGI/Irix: how to call procedure from GDB?


I'm trying to debug a problem in gcc using gdb (6.7.1)
on SGI/Irix 6.5.  GCC has been compiled with GCC 3.3
with '-g -O0' switches.  After hitting a breakpoint,
I try executing "p debug_tree(exp)" (via the gcc supplied
macro, "pt"), but instead, GDB issues the following somewhat
cryptic diagnostic:

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

Any suggestions on what might've happened here, and what I
need to do to get GDB to to run the "debug_tree()" procedure?

thanks,
  - Gary

(Output excerpted below.)
-------------------------

Breakpoint 1, fancy_abort (file=0x10b75720 "/upc/dev/gary/gcc-upc-4-2/src/gcc/expr.c", 
    line=6882, function=0x10b75f58 "expand_expr_real_1")
    at /upc/dev/gary/gcc-upc-4-2/src/gcc/diagnostic.c:642
642       internal_error ("in %s, at %s:%d", function, trim_filename (file), line);
(gdb) up
#1  0x1031b788 in expand_expr_real_1 (exp=0x4200230, target=0x0, tmode=DImode, 
    modifier=EXPAND_INITIALIZER, alt_rtl=0x0)
    at /upc/dev/gary/gcc-upc-4-2/src/gcc/expr.c:6882
6882                      || TREE_CODE (exp) == FUNCTION_DECL);
(gdb) l
6877          context = decl_function_context (exp);
6878          gcc_assert (!context
6879                      || context == current_function_decl
6880                      || TREE_STATIC (exp)
6881                      /* ??? C++ creates functions that are not TREE_STATIC.  */
6882                      || TREE_CODE (exp) == FUNCTION_DECL);
6883    
6884          /* This is the case of an array whose size is to be determined
6885             from its initializer, while the initializer is still being parsed.
6886             See expand_decl.  */
(gdb) p exp
$1 = (tree) 0x4200230
(gdb) pt

Breakpoint 1, fancy_abort (file=0x10b75720 "/upc/dev/gary/gcc-upc-4-2/src/gcc/expr.c", 
    line=6882, function=0x10b75f58 "expand_expr_real_1")
    at /upc/dev/gary/gcc-upc-4-2/src/gcc/diagnostic.c:642
642       internal_error ("in %s, at %s:%d", function, trim_filename (file), line);
The program being debugged stopped while in a function called from GDB.
When the function (debug_tree) is done executing, GDB will silently
stop (instead of continuing to evaluate the expression containing
the function call).


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]