This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [PATCH/i386newframe] amd64newframe
- From: Elena Zannoni <ezannoni at redhat dot com>
- To: Mark Kettenis <kettenis at chello dot nl>
- Cc: gdb-patches at sources dot redhat dot com, mludvig at suse dot cz, aj at suse dot de
- Date: Mon, 19 May 2003 11:36:36 -0400
- Subject: Re: [PATCH/i386newframe] amd64newframe
- References: <200305171519.h4HFJ5Ni045634@elgar.kettenis.dyndns.org>
Mark Kettenis writes:
> Folks,
>
> I've checked in on my i386newframe branch a major overhaul of the
> x86-64 (sub)target to make it fit into the new frame unwindig
> framework. I've tried very hard to reduce the gratuitous differences
> between the i386 and x86_64 stuff, and cleaned things up quite a bit.
> However, this code is *untested*. The code compiles, that is, I can
> build a x86_64-linux cross-debugger on my i386-unknown-freebsd4.7
> system (actually I can't since the final link fails because of a
> problem with the way we do our shared library support). It would be
> great if someone could provide me with access to an amd64 system. If
> it's running *BSD, I can probably add the necessary support for it to
> GDB. Otherwise I'd appreciate it if someone could test this code on
> x86_64-linux.
>
> Mark
>
>
> Index: ChangeLog
> from Mark Kettenis <kettenis@gnu.org>
>
> Revise the x86_64 (sub)taget.
^^^^^^^
typo (meager contribution...:)
I don't know if I can grant you access to some hardware, I'll see what
I can do. However I have tried to run the gdb testsuite.
It is not running too well, I had to kill it because it was hanging,
like this below:
Breakpoint 26, marker2 (a=99) at /home/ezannoni/kettenis-branch/src/gdb/testsuite/gdb.base/break.c:49
49 int marker2 (a) int a; { return (1); }
The program being debugged stopped while in a function called from GDB.
When the function (marker2) is done executing, GDB will silently
stop (instead of continuing to evaluate the expression containing
the function call).
(gdb) PASS: gdb.base/break.exp: hit breakpoint on called function
bt
#0 marker2 (a=99) at /home/ezannoni/kettenis-branch/src/gdb/testsuite/gdb.base/break.c:49
#1 <function called from gdb>
This frame inner-to next frame (corrupt stack?)
(gdb) PASS: gdb.base/break.exp: backtrace while in called function
finish
Run till exit from #0 marker2 (a=99) at /home/ezannoni/kettenis-branch/src/gdb/testsuite/gdb.base/break.c:49
/home/ezannoni/kettenis-branch/src/gdb/dummy-frame.c:317: internal-error: dummy_frame_prev_register: Assertion `dummy != NULL' failed.
A problem internal to GDB has been detected. Further
debugging may prove unreliable.
Quit this debugging session? (y or n) FAIL: gdb.base/break.exp: (timeout) finish from called function
delete breakpoints
Please answer y or n.
Quit this debugging session? (y or n) ERROR: Delete all breakpoints in delete_breakpoints (timeout)
break main
Please answer y or n.
Quit this debugging session? (y or n) UNRESOLVED: gdb.base/break.exp: setting breakpoint at main (timeout)
I get the same internal error also in the inferior function calls tests:
(gdb) PASS: gdb.base/call-ar-st.exp: run until breakpoint set at a line
print print_double_array(double_array)
array_d :
=========
0.000000
23.456700 46.913400 70.370100 93.826800 117.283500 140.740200 164.196900 187.653600
/home/ezannoni/kettenis-branch/src/gdb/dummy-frame.c:317: internal-error: dummy_frame_prev_register: Assertion `dummy != NULL' failed.
A problem internal to GDB has been detected. Further
debugging may prove unreliable.
Quit this debugging session? (y or n) FAIL: gdb.base/call-ar-st.exp: print print_double_array(double_array) (pattern 5 + sentinel) (timeout)
print print_char_array(char_array)
(gdb) p t_char_values(0,0)
/home/ezannoni/kettenis-branch/src/gdb/dummy-frame.c:317: internal-error: dummy_frame_prev_register: Assertion `dummy != NULL' failed.
A problem internal to GDB has been detected. Further
debugging may prove unreliable.
Quit this debugging session? (y or n) ERROR: Got interactive prompt.
UNRESOLVED: gdb.base/callfuncs.exp: p t_char_values(0,0)
print 'A' == iso_8859_1_string[8]
$9 = 0
(gdb) FAIL: gdb.base/charset.exp: check value of parsed character literal in ISO-8859-1
print "abcdefABCDEF012345"
/home/ezannoni/kettenis-branch/src/gdb/dummy-frame.c:317: internal-error: dummy_frame_prev_register: Assertion `dummy != NULL' failed.
A problem internal to GDB has been detected. Further
debugging may prove unreliable.
Quit this debugging session? (y or n) Please answer y or n.
Quit this debugging session? (y or n) Create a core file of GDB? (y or n) Please answer y or n.
Create a core file of GDB? (y or n) Please answer y or n.
Create a core file of GDB? (y or n) ERROR: Got interactive prompt.
UNRESOLVED: gdb.base/charset.exp: parse string literal in ISO-8859-1
ERROR: Got interactive prompt.
It seems to occur at any inferior function call.
Let me see if I can dig further.
elena