Re: GDB Remote debug: Why several "$Z0,address,length" msg when only set one breakpoint?

Peng Fan <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>

On 08/28/2014 05:58 AM, Pedro Alves wrote:
> On 08/27/2014 01:11 PM, Yao Qi wrote:
> 
>> GDB is interested in entry address, but I don't know why GDB insert
>> breakpoint there.  In GDB, command 'maintenance info breakpoints' can
>> list all the user breakpoints and internal breakpoints.  If it still
>> doesn't help, you can debug your gdb, set breakpoint
>> remote_insert_breakpoint, and check why the breakpoint is inserted at
>> 0x87800000.
> 
Breakpoint 1, do_bootz (cmdtp=0x8784cbc4 <_u_boot_list_2_cmd_2_bootz>, flag=0, 
    argc=1, argv=0xbf552a20) at common/cmd_bootm.c:1928
1928	{
(gdb) maintenance info breakpoints
Num     Type           Disp Enb Address    What
-1      shlib events   keep y   0x87800000 <_start> inf 1
1       breakpoint     keep y   0x87809580 in do_bootz 
                                           at common/cmd_bootm.c:1928 inf 1
	breakpoint already hit 2 times
> I'd guess this is a build of GDB targeting Linux, and then that
> breakpoint is the solib-event breakpoint.  One of the
> last-resort addresses solib-svr4.c tries is _start:
> 
> static const char * const bkpt_names[] =
> {
>   "_start",
> ...
> 
$arm-poky-linux-gnueabi-nm u-boot |grep start
87899130 B NetRestartWrap
87899094 b NetRestarted
8784d35c B __bss_start
87800000 T __image_copy_start
8784d35c D __rel_dyn_start
87800000 T _start

Yeah. I just objdump the elf file, but not `nm`.  symbol __image_copy_start and __start both point to 0x87800000.

Thanks all.

Regards,
Peng.
> Thanks,
> Pedro Alves
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.