gdb/
Add from_tty to solib_create_inferior_hook. * infcmd.c (post_create_inferior): Move solib_add after solib_create_inferior_hook. Pass from_tty to solib_create_inferior_hook. Call solib_add and SOLIB_ADD with 0 from_tty and comment why. * infrun.c (follow_exec): Pass from_tty solib_create_inferior_hook as 0. * linux-nat.c (linux_child_follow_fork): Likewise. * nto-procfs.c (procfs_post_attach, procfs_create_inferior): Likewise. * solib-darwin.c (darwin_solib_create_inferior_hook): New parameter from_tty. * solib-frv.c (frv_solib_create_inferior_hook): Likewise. * solib-irix.c (irix_solib_create_inferior_hook): Likewise. * solib-null.c (null_solib_create_inferior_hook): Likewise. * solib-osf.c (osf_solib_create_inferior_hook): Likewise. * solib-pa64.c (pa64_solib_create_inferior_hook): Likewise. * solib-som.c (som_solib_create_inferior_hook): Likewise. * solib-spu.c (spu_solib_create_inferior_hook): New parameter from_tty. Pass it to svr4_so_ops.solib_create_inferior_hook. * solib-sunos.c (sunos_solib_create_inferior_hook): New parameter from_tty. * solib-svr4.c (enable_break): New parameter from_tty. Pass it to solib_add. (svr4_solib_create_inferior_hook): New parameter from_tty. Pass it to enable_break. * solib-target.c (solib_target_solib_create_inferior_hook): New parameter from_tty. * solib.c (solib_create_inferior_hook): New parameter from_tty. Pass it to ops->solib_create_inferior_hook. (reload_shared_libraries): Pass from_tty to solib_create_inferior_hook. Move solib_add after solib_create_inferior_hook, call it now with from_tty as 0. New comment there. * solib.h (solib_create_inferior_hook): New parameter from_tty. * solist.h (struct target_so_ops <solib_create_inferior_hook>): Likewise.
This commit is contained in:
parent
339d40a3d9
commit
268a4a75bd
|
@ -1,3 +1,40 @@
|
||||||
|
2010-01-08 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||||
|
|
||||||
|
Add from_tty to solib_create_inferior_hook.
|
||||||
|
* infcmd.c (post_create_inferior): Move solib_add after
|
||||||
|
solib_create_inferior_hook. Pass from_tty to
|
||||||
|
solib_create_inferior_hook. Call solib_add and SOLIB_ADD with
|
||||||
|
0 from_tty and comment why.
|
||||||
|
* infrun.c (follow_exec): Pass from_tty solib_create_inferior_hook as 0.
|
||||||
|
* linux-nat.c (linux_child_follow_fork): Likewise.
|
||||||
|
* nto-procfs.c (procfs_post_attach, procfs_create_inferior): Likewise.
|
||||||
|
* solib-darwin.c (darwin_solib_create_inferior_hook): New parameter
|
||||||
|
from_tty.
|
||||||
|
* solib-frv.c (frv_solib_create_inferior_hook): Likewise.
|
||||||
|
* solib-irix.c (irix_solib_create_inferior_hook): Likewise.
|
||||||
|
* solib-null.c (null_solib_create_inferior_hook): Likewise.
|
||||||
|
* solib-osf.c (osf_solib_create_inferior_hook): Likewise.
|
||||||
|
* solib-pa64.c (pa64_solib_create_inferior_hook): Likewise.
|
||||||
|
* solib-som.c (som_solib_create_inferior_hook): Likewise.
|
||||||
|
* solib-spu.c (spu_solib_create_inferior_hook): New parameter from_tty.
|
||||||
|
Pass it to svr4_so_ops.solib_create_inferior_hook.
|
||||||
|
* solib-sunos.c (sunos_solib_create_inferior_hook): New parameter
|
||||||
|
from_tty.
|
||||||
|
* solib-svr4.c (enable_break): New parameter from_tty. Pass it to
|
||||||
|
solib_add.
|
||||||
|
(svr4_solib_create_inferior_hook): New parameter from_tty. Pass it to
|
||||||
|
enable_break.
|
||||||
|
* solib-target.c (solib_target_solib_create_inferior_hook): New
|
||||||
|
parameter from_tty.
|
||||||
|
* solib.c (solib_create_inferior_hook): New parameter from_tty. Pass
|
||||||
|
it to ops->solib_create_inferior_hook.
|
||||||
|
(reload_shared_libraries): Pass from_tty to solib_create_inferior_hook.
|
||||||
|
Move solib_add after solib_create_inferior_hook, call it now with
|
||||||
|
from_tty as 0. New comment there.
|
||||||
|
* solib.h (solib_create_inferior_hook): New parameter from_tty.
|
||||||
|
* solist.h (struct target_so_ops <solib_create_inferior_hook>):
|
||||||
|
Likewise.
|
||||||
|
|
||||||
2010-01-08 Vladimir Prus <vladimir@codesourcery.com>
|
2010-01-08 Vladimir Prus <vladimir@codesourcery.com>
|
||||||
|
|
||||||
Fix multiexec race.
|
Fix multiexec race.
|
||||||
|
@ -22,7 +59,7 @@
|
||||||
(ada_print_type): Remove support for VAX floats.
|
(ada_print_type): Remove support for VAX floats.
|
||||||
* ada-valprint.c (ada_val_print_1): Remove support for VAX floats.
|
* ada-valprint.c (ada_val_print_1): Remove support for VAX floats.
|
||||||
|
|
||||||
2010-01-08 jan kratochvil <jan.kratochvil@redhat.com>
|
2010-01-08 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||||
|
|
||||||
* stabsread.c (read_args): Handle zero arguments.
|
* stabsread.c (read_args): Handle zero arguments.
|
||||||
|
|
||||||
|
|
36
gdb/infcmd.c
36
gdb/infcmd.c
|
@ -397,22 +397,6 @@ post_create_inferior (struct target_ops *target, int from_tty)
|
||||||
/* Now that we know the register layout, retrieve current PC. */
|
/* Now that we know the register layout, retrieve current PC. */
|
||||||
stop_pc = regcache_read_pc (get_current_regcache ());
|
stop_pc = regcache_read_pc (get_current_regcache ());
|
||||||
|
|
||||||
/* If the solist is global across processes, there's no need to
|
|
||||||
refetch it here. */
|
|
||||||
if (exec_bfd && !gdbarch_has_global_solist (target_gdbarch))
|
|
||||||
{
|
|
||||||
/* Sometimes the platform-specific hook loads initial shared
|
|
||||||
libraries, and sometimes it doesn't. Try to do so first, so
|
|
||||||
that we can add them with the correct value for FROM_TTY.
|
|
||||||
If we made all the inferior hook methods consistent,
|
|
||||||
this call could be removed. */
|
|
||||||
#ifdef SOLIB_ADD
|
|
||||||
SOLIB_ADD (NULL, from_tty, target, auto_solib_add);
|
|
||||||
#else
|
|
||||||
solib_add (NULL, from_tty, target, auto_solib_add);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
if (exec_bfd)
|
if (exec_bfd)
|
||||||
{
|
{
|
||||||
/* Create the hooks to handle shared library load and unload
|
/* Create the hooks to handle shared library load and unload
|
||||||
|
@ -420,7 +404,25 @@ post_create_inferior (struct target_ops *target, int from_tty)
|
||||||
#ifdef SOLIB_CREATE_INFERIOR_HOOK
|
#ifdef SOLIB_CREATE_INFERIOR_HOOK
|
||||||
SOLIB_CREATE_INFERIOR_HOOK (PIDGET (inferior_ptid));
|
SOLIB_CREATE_INFERIOR_HOOK (PIDGET (inferior_ptid));
|
||||||
#else
|
#else
|
||||||
solib_create_inferior_hook ();
|
solib_create_inferior_hook (from_tty);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If the solist is global across processes, there's no need to
|
||||||
|
refetch it here. */
|
||||||
|
if (exec_bfd && !gdbarch_has_global_solist (target_gdbarch))
|
||||||
|
{
|
||||||
|
/* Sometimes the platform-specific hook loads initial shared
|
||||||
|
libraries, and sometimes it doesn't. If it doesn't FROM_TTY will be
|
||||||
|
incorrectly 0 but such solib targets should be fixed anyway. If we
|
||||||
|
made all the inferior hook methods consistent, this call could be
|
||||||
|
removed. Call it only after the solib target has been initialized by
|
||||||
|
solib_create_inferior_hook. */
|
||||||
|
|
||||||
|
#ifdef SOLIB_ADD
|
||||||
|
SOLIB_ADD (NULL, 0, target, auto_solib_add);
|
||||||
|
#else
|
||||||
|
solib_add (NULL, 0, target, auto_solib_add);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -764,7 +764,7 @@ follow_exec (ptid_t pid, char *execd_pathname)
|
||||||
#ifdef SOLIB_CREATE_INFERIOR_HOOK
|
#ifdef SOLIB_CREATE_INFERIOR_HOOK
|
||||||
SOLIB_CREATE_INFERIOR_HOOK (PIDGET (inferior_ptid));
|
SOLIB_CREATE_INFERIOR_HOOK (PIDGET (inferior_ptid));
|
||||||
#else
|
#else
|
||||||
solib_create_inferior_hook ();
|
solib_create_inferior_hook (0);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
jit_inferior_created_hook ();
|
jit_inferior_created_hook ();
|
||||||
|
|
|
@ -769,7 +769,7 @@ holding the child stopped. Try \"set detach-on-fork\" or \
|
||||||
breakpoint. If a "cloned-VM" event was propagated
|
breakpoint. If a "cloned-VM" event was propagated
|
||||||
better throughout the core, this wouldn't be
|
better throughout the core, this wouldn't be
|
||||||
required. */
|
required. */
|
||||||
solib_create_inferior_hook ();
|
solib_create_inferior_hook (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Let the thread_db layer learn about this new process. */
|
/* Let the thread_db layer learn about this new process. */
|
||||||
|
@ -952,7 +952,7 @@ Attaching after process %d fork to child process %d.\n"),
|
||||||
shared libraries, and install the solib event breakpoint.
|
shared libraries, and install the solib event breakpoint.
|
||||||
If a "cloned-VM" event was propagated better throughout
|
If a "cloned-VM" event was propagated better throughout
|
||||||
the core, this wouldn't be required. */
|
the core, this wouldn't be required. */
|
||||||
solib_create_inferior_hook ();
|
solib_create_inferior_hook (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Let the thread_db layer learn about this new process. */
|
/* Let the thread_db layer learn about this new process. */
|
||||||
|
|
|
@ -654,7 +654,7 @@ static void
|
||||||
procfs_post_attach (pid_t pid)
|
procfs_post_attach (pid_t pid)
|
||||||
{
|
{
|
||||||
if (exec_bfd)
|
if (exec_bfd)
|
||||||
solib_create_inferior_hook ();
|
solib_create_inferior_hook (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static ptid_t
|
static ptid_t
|
||||||
|
@ -1215,7 +1215,7 @@ procfs_create_inferior (struct target_ops *ops, char *exec_file,
|
||||||
|
|
||||||
if (exec_bfd != NULL
|
if (exec_bfd != NULL
|
||||||
|| (symfile_objfile != NULL && symfile_objfile->obfd != NULL))
|
|| (symfile_objfile != NULL && symfile_objfile->obfd != NULL))
|
||||||
solib_create_inferior_hook ();
|
solib_create_inferior_hook (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -295,7 +295,7 @@ darwin_special_symbol_handling (void)
|
||||||
/* Shared library startup support. See documentation in solib-svr4.c */
|
/* Shared library startup support. See documentation in solib-svr4.c */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
darwin_solib_create_inferior_hook (void)
|
darwin_solib_create_inferior_hook (int from_tty)
|
||||||
{
|
{
|
||||||
struct minimal_symbol *msymbol;
|
struct minimal_symbol *msymbol;
|
||||||
char **bkpt_namep;
|
char **bkpt_namep;
|
||||||
|
|
|
@ -984,7 +984,7 @@ frv_relocate_main_executable (void)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static void
|
static void
|
||||||
frv_solib_create_inferior_hook (void)
|
frv_solib_create_inferior_hook (int from_tty)
|
||||||
{
|
{
|
||||||
/* Relocate main executable. */
|
/* Relocate main executable. */
|
||||||
frv_relocate_main_executable ();
|
frv_relocate_main_executable ();
|
||||||
|
|
|
@ -392,7 +392,7 @@ enable_break (void)
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
|
|
||||||
void solib_create_inferior_hook ()
|
void solib_create_inferior_hook (int from_tty)
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
|
|
||||||
|
@ -437,7 +437,7 @@ enable_break (void)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static void
|
static void
|
||||||
irix_solib_create_inferior_hook (void)
|
irix_solib_create_inferior_hook (int from_tty)
|
||||||
{
|
{
|
||||||
struct inferior *inf;
|
struct inferior *inf;
|
||||||
struct thread_info *tp;
|
struct thread_info *tp;
|
||||||
|
|
|
@ -32,7 +32,7 @@ null_special_symbol_handling (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
null_solib_create_inferior_hook (void)
|
null_solib_create_inferior_hook (int from_tty)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -306,7 +306,7 @@ osf_clear_solib (void)
|
||||||
Also, what if child has exit()ed? Must exit loop somehow. */
|
Also, what if child has exit()ed? Must exit loop somehow. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
osf_solib_create_inferior_hook (void)
|
osf_solib_create_inferior_hook (int from_tty)
|
||||||
{
|
{
|
||||||
struct inferior *inf;
|
struct inferior *inf;
|
||||||
struct thread_info *tp;
|
struct thread_info *tp;
|
||||||
|
|
|
@ -329,7 +329,7 @@ bfd_lookup_symbol (bfd *abfd, char *symname)
|
||||||
with shared libraries mapped shareable. */
|
with shared libraries mapped shareable. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
pa64_solib_create_inferior_hook (void)
|
pa64_solib_create_inferior_hook (int from_tty)
|
||||||
{
|
{
|
||||||
struct minimal_symbol *msymbol;
|
struct minimal_symbol *msymbol;
|
||||||
unsigned int dld_flags, status;
|
unsigned int dld_flags, status;
|
||||||
|
|
|
@ -183,7 +183,7 @@ struct {
|
||||||
means running until the "_start" is called. */
|
means running until the "_start" is called. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
som_solib_create_inferior_hook (void)
|
som_solib_create_inferior_hook (int from_tty)
|
||||||
{
|
{
|
||||||
enum bfd_endian byte_order = gdbarch_byte_order (target_gdbarch);
|
enum bfd_endian byte_order = gdbarch_byte_order (target_gdbarch);
|
||||||
struct minimal_symbol *msymbol;
|
struct minimal_symbol *msymbol;
|
||||||
|
|
|
@ -371,7 +371,7 @@ spu_enable_break (struct objfile *objfile)
|
||||||
|
|
||||||
/* Create inferior hook. */
|
/* Create inferior hook. */
|
||||||
static void
|
static void
|
||||||
spu_solib_create_inferior_hook (void)
|
spu_solib_create_inferior_hook (int from_tty)
|
||||||
{
|
{
|
||||||
/* Remove all previously installed solib breakpoints. Both the SVR4
|
/* Remove all previously installed solib breakpoints. Both the SVR4
|
||||||
code and us will re-install all required breakpoints. */
|
code and us will re-install all required breakpoints. */
|
||||||
|
@ -402,7 +402,7 @@ spu_solib_create_inferior_hook (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Call SVR4 hook -- this will re-insert the SVR4 solib breakpoints. */
|
/* Call SVR4 hook -- this will re-insert the SVR4 solib breakpoints. */
|
||||||
svr4_so_ops.solib_create_inferior_hook ();
|
svr4_so_ops.solib_create_inferior_hook (from_tty);
|
||||||
|
|
||||||
/* If the inferior is statically linked against libspe, we need to install
|
/* If the inferior is statically linked against libspe, we need to install
|
||||||
our own solib breakpoint right now. Otherwise, it will be installed by
|
our own solib breakpoint right now. Otherwise, it will be installed by
|
||||||
|
|
|
@ -741,7 +741,7 @@ sunos_special_symbol_handling (void)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static void
|
static void
|
||||||
sunos_solib_create_inferior_hook (void)
|
sunos_solib_create_inferior_hook (int from_tty)
|
||||||
{
|
{
|
||||||
struct thread_info *tp;
|
struct thread_info *tp;
|
||||||
struct inferior *inf;
|
struct inferior *inf;
|
||||||
|
|
|
@ -1265,7 +1265,7 @@ exec_entry_point (struct bfd *abfd, struct target_ops *targ)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static int
|
static int
|
||||||
enable_break (struct svr4_info *info)
|
enable_break (struct svr4_info *info, int from_tty)
|
||||||
{
|
{
|
||||||
struct minimal_symbol *msymbol;
|
struct minimal_symbol *msymbol;
|
||||||
char **bkpt_namep;
|
char **bkpt_namep;
|
||||||
|
@ -1285,7 +1285,7 @@ enable_break (struct svr4_info *info)
|
||||||
mean r_brk has already been relocated. Assume the dynamic linker
|
mean r_brk has already been relocated. Assume the dynamic linker
|
||||||
is the object containing r_brk. */
|
is the object containing r_brk. */
|
||||||
|
|
||||||
solib_add (NULL, 0, ¤t_target, auto_solib_add);
|
solib_add (NULL, from_tty, ¤t_target, auto_solib_add);
|
||||||
sym_addr = 0;
|
sym_addr = 0;
|
||||||
if (info->debug_base && solib_svr4_r_map (info) != 0)
|
if (info->debug_base && solib_svr4_r_map (info) != 0)
|
||||||
sym_addr = solib_svr4_r_brk (info);
|
sym_addr = solib_svr4_r_brk (info);
|
||||||
|
@ -1412,7 +1412,7 @@ enable_break (struct svr4_info *info)
|
||||||
info->debug_loader_name = xstrdup (interp_name);
|
info->debug_loader_name = xstrdup (interp_name);
|
||||||
info->debug_loader_offset_p = 1;
|
info->debug_loader_offset_p = 1;
|
||||||
info->debug_loader_offset = load_addr;
|
info->debug_loader_offset = load_addr;
|
||||||
solib_add (NULL, 0, ¤t_target, auto_solib_add);
|
solib_add (NULL, from_tty, ¤t_target, auto_solib_add);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Record the relocated start and end address of the dynamic linker
|
/* Record the relocated start and end address of the dynamic linker
|
||||||
|
@ -1651,7 +1651,7 @@ svr4_relocate_main_executable (void)
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
|
|
||||||
void svr4_solib_create_inferior_hook ()
|
void svr4_solib_create_inferior_hook (int from_tty)
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
|
|
||||||
|
@ -1696,7 +1696,7 @@ svr4_relocate_main_executable (void)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static void
|
static void
|
||||||
svr4_solib_create_inferior_hook (void)
|
svr4_solib_create_inferior_hook (int from_tty)
|
||||||
{
|
{
|
||||||
struct inferior *inf;
|
struct inferior *inf;
|
||||||
struct thread_info *tp;
|
struct thread_info *tp;
|
||||||
|
@ -1710,7 +1710,7 @@ svr4_solib_create_inferior_hook (void)
|
||||||
if (!svr4_have_link_map_offsets ())
|
if (!svr4_have_link_map_offsets ())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!enable_break (info))
|
if (!enable_break (info, from_tty))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
#if defined(_SCO_DS)
|
#if defined(_SCO_DS)
|
||||||
|
|
|
@ -306,7 +306,7 @@ solib_target_special_symbol_handling (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
solib_target_solib_create_inferior_hook (void)
|
solib_target_solib_create_inferior_hook (int from_tty)
|
||||||
{
|
{
|
||||||
/* Nothing needed. */
|
/* Nothing needed. */
|
||||||
}
|
}
|
||||||
|
|
19
gdb/solib.c
19
gdb/solib.c
|
@ -1015,7 +1015,7 @@ clear_solib (void)
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
|
|
||||||
void solib_create_inferior_hook ()
|
void solib_create_inferior_hook (int from_tty)
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
|
|
||||||
|
@ -1025,10 +1025,10 @@ clear_solib (void)
|
||||||
SOLIB_CREATE_INFERIOR_HOOK. */
|
SOLIB_CREATE_INFERIOR_HOOK. */
|
||||||
|
|
||||||
void
|
void
|
||||||
solib_create_inferior_hook (void)
|
solib_create_inferior_hook (int from_tty)
|
||||||
{
|
{
|
||||||
struct target_so_ops *ops = solib_ops (target_gdbarch);
|
struct target_so_ops *ops = solib_ops (target_gdbarch);
|
||||||
ops->solib_create_inferior_hook();
|
ops->solib_create_inferior_hook (from_tty);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* GLOBAL FUNCTION
|
/* GLOBAL FUNCTION
|
||||||
|
@ -1104,7 +1104,6 @@ reload_shared_libraries (char *ignored, int from_tty,
|
||||||
struct cmd_list_element *e)
|
struct cmd_list_element *e)
|
||||||
{
|
{
|
||||||
no_shared_libraries (NULL, from_tty);
|
no_shared_libraries (NULL, from_tty);
|
||||||
solib_add (NULL, from_tty, NULL, auto_solib_add);
|
|
||||||
/* Creating inferior hooks here has two purposes. First, if we reload
|
/* Creating inferior hooks here has two purposes. First, if we reload
|
||||||
shared libraries then the address of solib breakpoint we've computed
|
shared libraries then the address of solib breakpoint we've computed
|
||||||
previously might be no longer valid. For example, if we forgot to set
|
previously might be no longer valid. For example, if we forgot to set
|
||||||
|
@ -1119,9 +1118,19 @@ reload_shared_libraries (char *ignored, int from_tty,
|
||||||
#ifdef SOLIB_CREATE_INFERIOR_HOOK
|
#ifdef SOLIB_CREATE_INFERIOR_HOOK
|
||||||
SOLIB_CREATE_INFERIOR_HOOK (PIDGET (inferior_ptid));
|
SOLIB_CREATE_INFERIOR_HOOK (PIDGET (inferior_ptid));
|
||||||
#else
|
#else
|
||||||
solib_create_inferior_hook ();
|
solib_create_inferior_hook (from_tty);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Sometimes the platform-specific hook loads initial shared
|
||||||
|
libraries, and sometimes it doesn't. If it doesn't FROM_TTY will be
|
||||||
|
incorrectly 0 but such solib targets should be fixed anyway. If we
|
||||||
|
made all the inferior hook methods consistent, this call could be
|
||||||
|
removed. Call it only after the solib target has been initialized by
|
||||||
|
solib_create_inferior_hook. */
|
||||||
|
|
||||||
|
solib_add (NULL, 0, NULL, auto_solib_add);
|
||||||
|
|
||||||
/* We have unloaded and then reloaded debug info for all shared libraries.
|
/* We have unloaded and then reloaded debug info for all shared libraries.
|
||||||
However, frames may still reference them, for example a frame's
|
However, frames may still reference them, for example a frame's
|
||||||
unwinder might still point of DWARF FDE structures that are now freed.
|
unwinder might still point of DWARF FDE structures that are now freed.
|
||||||
|
|
|
@ -42,7 +42,7 @@ extern int solib_read_symbols (struct so_list *, int);
|
||||||
addresses to which they are linked, and sufficient information to
|
addresses to which they are linked, and sufficient information to
|
||||||
read in their symbols at a later time. */
|
read in their symbols at a later time. */
|
||||||
|
|
||||||
extern void solib_create_inferior_hook (void);
|
extern void solib_create_inferior_hook (int from_tty);
|
||||||
|
|
||||||
/* If ADDR lies in a shared library, return its name. */
|
/* If ADDR lies in a shared library, return its name. */
|
||||||
|
|
||||||
|
|
|
@ -90,7 +90,7 @@ struct target_so_ops
|
||||||
void (*clear_solib) (void);
|
void (*clear_solib) (void);
|
||||||
|
|
||||||
/* Target dependent code to run after child process fork. */
|
/* Target dependent code to run after child process fork. */
|
||||||
void (*solib_create_inferior_hook) (void);
|
void (*solib_create_inferior_hook) (int from_tty);
|
||||||
|
|
||||||
/* Do additional symbol handling, lookup, etc. after symbols
|
/* Do additional symbol handling, lookup, etc. after symbols
|
||||||
for a shared object have been loaded. */
|
for a shared object have been loaded. */
|
||||||
|
|
Loading…
Reference in New Issue