* solib.c (libpthread_solib_p): New function.
(solib_add): Always read the symbols from the libpthread library.
This commit is contained in:
parent
d674a25c2b
commit
6612ad7f9f
2 changed files with 25 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2006-10-19 Joel Brobecker <brobecker@adacore.com>
|
||||||
|
|
||||||
|
* solib.c (libpthread_solib_p): New function.
|
||||||
|
(solib_add): Always read the symbols from the libpthread library.
|
||||||
|
|
||||||
2006-10-19 Andrew Stubbs <andrew.stubbs@st.com>
|
2006-10-19 Andrew Stubbs <andrew.stubbs@st.com>
|
||||||
|
|
||||||
* breakpoint.c (describe_other_breakpoints): Add thread parameter.
|
* breakpoint.c (describe_other_breakpoints): Add thread parameter.
|
||||||
|
|
21
gdb/solib.c
21
gdb/solib.c
|
@ -615,6 +615,17 @@ update_solib_list (int from_tty, struct target_ops *target)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Return non-zero if SO is the libpthread shared library.
|
||||||
|
|
||||||
|
Uses a fairly simplistic heuristic approach where we check
|
||||||
|
the file name against "/libpthread". This can lead to false
|
||||||
|
positives, but this should be good enough in practice. */
|
||||||
|
|
||||||
|
static int
|
||||||
|
libpthread_solib_p (struct so_list *so)
|
||||||
|
{
|
||||||
|
return (strstr (so->so_name, "/libpthread") != NULL);
|
||||||
|
}
|
||||||
|
|
||||||
/* GLOBAL FUNCTION
|
/* GLOBAL FUNCTION
|
||||||
|
|
||||||
|
@ -661,8 +672,16 @@ solib_add (char *pattern, int from_tty, struct target_ops *target, int readsyms)
|
||||||
for (gdb = so_list_head; gdb; gdb = gdb->next)
|
for (gdb = so_list_head; gdb; gdb = gdb->next)
|
||||||
if (! pattern || re_exec (gdb->so_name))
|
if (! pattern || re_exec (gdb->so_name))
|
||||||
{
|
{
|
||||||
|
/* Normally, we would read the symbols from that library
|
||||||
|
only if READSYMS is set. However, we're making a small
|
||||||
|
exception for the pthread library, because we sometimes
|
||||||
|
need the library symbols to be loaded in order to provide
|
||||||
|
thread support (x86-linux for instance). */
|
||||||
|
const int add_this_solib =
|
||||||
|
(readsyms || libpthread_solib_p (gdb));
|
||||||
|
|
||||||
any_matches = 1;
|
any_matches = 1;
|
||||||
if (readsyms && solib_read_symbols (gdb, from_tty))
|
if (add_this_solib && solib_read_symbols (gdb, from_tty))
|
||||||
loaded_any_symbols = 1;
|
loaded_any_symbols = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue