Re: gdb doesn't work well with DSO on Linux/mips

H . J . Lu
2002-03-23T08:08:20Z

On Fri, Mar 22, 2002 at 11:46:48PM -0800, H . J . Lu wrote:
> # gdb /lib/ld-2.2.4.so
> (gdb) b _dl_start
> Breakpoint 1 at 0xfe4: file rtld.c, line 181.
> (gdb) r
> Starting program: /lib/ld-2.2.4.so
> Breakpoint 1 at 0x55550fe4: file rtld.c, line 181.
> warning: shared library handler failed to enable breakpoint
>
> The problem is the entry point for SVR4/MIPS is __start. But bkpt_names
> in solib-svr4.c only checks _start. Should I add __start to bkpt_names
> or define SOLIB_BKPT_NAME to __start for Linux/MIPS?
>
>

This seems to work for me.

H.J.
---
2002-03-22 H.J. Lu (hjl@gnu.org)

* config/mips/tm-linux.h (SOLIB_BKPT_NAME): New.

--- gdb/config/mips/tm-linux.h.dso Wed Mar 6 22:31:53 2002
+++ gdb/config/mips/tm-linux.h Fri Mar 22 23:53:42 2002
@@ -49,6 +49,9 @@ extern struct link_map_offsets *mips_lin
#define SVR4_FETCH_LINK_MAP_OFFSETS() \
mips_linux_svr4_fetch_link_map_offsets ()

+#undef SOLIB_BKPT_NAME
+#define SOLIB_BKPT_NAME "__start"
+
/* Details about jmp_buf. */

#define JB_ELEMENT_SIZE 4