This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
RE: Dummy Breakpoint Priority
- From: "Thomas,Stephen" <stephen dot thomas at superh dot com>
- To: "Andrew Cagney" <ac131313 at redhat dot com>
- Cc: <gdb at sources dot redhat dot com>, "Bowers, Antony" <antony dot bowers at superh dot com>, "McGoogan,Sean" <sean dot mcgoogan at superh dot com>
- Date: Fri, 27 Jun 2003 09:14:25 +0100
- Subject: RE: Dummy Breakpoint Priority
Hi Andrew,
In the version I'm using (V5.2.1), i386 used ON_STACK. I actually verified (using gdb!) that x86 gdb really did set a bp of type bp_shlib_event at _start.
But I just checked the latest sources, & can't find a setting anywhere for call dummy location. So it looks like i386 uses the default, i.e. AT_ENTRY_POINT (now set in gdbarch.c). Can you verify that the latest gdb doesn't suffer from the same problem? To reproduce, you need to call function in a statically linked program.
Thanks,
Steve Thomas
SuperH (UK) Ltd.
-----Original Message-----
From: Andrew Cagney [mailto:ac131313@redhat.com]
Sent: 26 June 2003 18:47
To: Thomas,Stephen
Cc: gdb@sources.redhat.com; Bowers, Antony; McGoogan,Sean
Subject: Re: Dummy Breakpoint Priority
> Hi,
>
> I am currently porting gdb to the new SuperH SH5 architecture. I have
> just hit a problem, which sounds exactly the same as that reported on
> 31 Aug 2001 (by Jiri Smid, titled 'Dummy Breakpoint Priority').
>
> When a target function is called from the command line, a special
> dummy breakpoint is inserted at the program entry point. (We have
> CALL_DUMMY_LOCATION defined as AT_ENTRY_POINT). Trouble is, when the
> program is statically linked, gdb has already placed an internal
> breakpoint at _start, of type bp_shlib_event. On return from the
> function, this causes bpstat_what() in breakpoint.c to return an
> action which causes gdb to carry on executing (what.main_action =
> BPSTAT_WHAT_CHECK_SHLIBS).
>
> The reply to Jiri Smid's mail asked why solib-svr4.c was setting a bp
> on the entry point. But it looks like this is the normal thing for gdb
> to do - I verified that x86 gdb does the same thing (it doesn't suffer
> from this problem though because it doesn't use AT_ENTRY_POINT).
Are you sure that the i386 isn't using at AT_ENTRY_POINT?
> So please can anyone tell me what the resolution of this problem was?
> NB: Please reply using 'Reply All' as I am leaving SuperH shortly...
I'm puzzled to.
Andrew