mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-22 02:50:08 +08:00
* solib.c (solib_bfd_open): Do not call ops->bfd_open.
(solib_map_sections): Call ops->bfd_open instead of solib_bfd_open. * solib-frv.c (_initialize_frv_solib): Initialize bfd_open member. * solib-irix.c (_initialize_irix_solib): Likewise. * solib-null.c (_initialize_null_solib): Likewise. * solib-osf.c (_initialize_osf_solib): Likewise. * solib-pa64.c (_initialize_pa64_solib): Likewise. * solib-som.c (_initialize_som_solib): Likewise. * solib-sunos.c (_initialize_sunos_solib): Likewise. * solib-svr4.c (_initialize_svr4_solib): Likewise. * solib-target.c (_initialize_solib_target): Likewise.
This commit is contained in:
@ -1,3 +1,17 @@
|
|||||||
|
2009-07-17 Ulrich Weigand <uweigand@de.ibm.com>
|
||||||
|
|
||||||
|
* solib.c (solib_bfd_open): Do not call ops->bfd_open.
|
||||||
|
(solib_map_sections): Call ops->bfd_open instead of solib_bfd_open.
|
||||||
|
* solib-frv.c (_initialize_frv_solib): Initialize bfd_open member.
|
||||||
|
* solib-irix.c (_initialize_irix_solib): Likewise.
|
||||||
|
* solib-null.c (_initialize_null_solib): Likewise.
|
||||||
|
* solib-osf.c (_initialize_osf_solib): Likewise.
|
||||||
|
* solib-pa64.c (_initialize_pa64_solib): Likewise.
|
||||||
|
* solib-som.c (_initialize_som_solib): Likewise.
|
||||||
|
* solib-sunos.c (_initialize_sunos_solib): Likewise.
|
||||||
|
* solib-svr4.c (_initialize_svr4_solib): Likewise.
|
||||||
|
* solib-target.c (_initialize_solib_target): Likewise.
|
||||||
|
|
||||||
2009-07-17 Ulrich Weigand <uweigand@de.ibm.com>
|
2009-07-17 Ulrich Weigand <uweigand@de.ibm.com>
|
||||||
|
|
||||||
* mi/mi-cmd-disas.c (mi_cmd_disassemble): Respect mixed_mode flag.
|
* mi/mi-cmd-disas.c (mi_cmd_disassemble): Respect mixed_mode flag.
|
||||||
|
@ -1300,6 +1300,7 @@ _initialize_frv_solib (void)
|
|||||||
frv_so_ops.current_sos = frv_current_sos;
|
frv_so_ops.current_sos = frv_current_sos;
|
||||||
frv_so_ops.open_symbol_file_object = open_symbol_file_object;
|
frv_so_ops.open_symbol_file_object = open_symbol_file_object;
|
||||||
frv_so_ops.in_dynsym_resolve_code = frv_in_dynsym_resolve_code;
|
frv_so_ops.in_dynsym_resolve_code = frv_in_dynsym_resolve_code;
|
||||||
|
frv_so_ops.bfd_open = solib_bfd_open;
|
||||||
|
|
||||||
/* Debug this file's internals. */
|
/* Debug this file's internals. */
|
||||||
add_setshow_zinteger_cmd ("solib-frv", class_maintenance,
|
add_setshow_zinteger_cmd ("solib-frv", class_maintenance,
|
||||||
|
@ -740,4 +740,5 @@ _initialize_irix_solib (void)
|
|||||||
irix_so_ops.current_sos = irix_current_sos;
|
irix_so_ops.current_sos = irix_current_sos;
|
||||||
irix_so_ops.open_symbol_file_object = irix_open_symbol_file_object;
|
irix_so_ops.open_symbol_file_object = irix_open_symbol_file_object;
|
||||||
irix_so_ops.in_dynsym_resolve_code = irix_in_dynsym_resolve_code;
|
irix_so_ops.in_dynsym_resolve_code = irix_in_dynsym_resolve_code;
|
||||||
|
irix_so_ops.bfd_open = solib_bfd_open;
|
||||||
}
|
}
|
||||||
|
@ -81,6 +81,7 @@ _initialize_null_solib (void)
|
|||||||
null_so_ops.current_sos = null_current_sos;
|
null_so_ops.current_sos = null_current_sos;
|
||||||
null_so_ops.open_symbol_file_object = null_open_symbol_file_object;
|
null_so_ops.open_symbol_file_object = null_open_symbol_file_object;
|
||||||
null_so_ops.in_dynsym_resolve_code = null_in_dynsym_resolve_code;
|
null_so_ops.in_dynsym_resolve_code = null_in_dynsym_resolve_code;
|
||||||
|
null_so_ops.bfd_open = solib_bfd_open;
|
||||||
|
|
||||||
/* Set current_target_so_ops to null_so_ops if not already set. */
|
/* Set current_target_so_ops to null_so_ops if not already set. */
|
||||||
if (current_target_so_ops == 0)
|
if (current_target_so_ops == 0)
|
||||||
|
@ -631,6 +631,7 @@ _initialize_osf_solib (void)
|
|||||||
osf_so_ops.current_sos = osf_current_sos;
|
osf_so_ops.current_sos = osf_current_sos;
|
||||||
osf_so_ops.open_symbol_file_object = osf_open_symbol_file_object;
|
osf_so_ops.open_symbol_file_object = osf_open_symbol_file_object;
|
||||||
osf_so_ops.in_dynsym_resolve_code = osf_in_dynsym_resolve_code;
|
osf_so_ops.in_dynsym_resolve_code = osf_in_dynsym_resolve_code;
|
||||||
|
osf_so_ops.bfd_open = solib_bfd_open;
|
||||||
|
|
||||||
/* FIXME: Don't do this here. *_gdbarch_init() should set so_ops. */
|
/* FIXME: Don't do this here. *_gdbarch_init() should set so_ops. */
|
||||||
current_target_so_ops = &osf_so_ops;
|
current_target_so_ops = &osf_so_ops;
|
||||||
|
@ -658,6 +658,7 @@ _initialize_pa64_solib (void)
|
|||||||
pa64_so_ops.current_sos = pa64_current_sos;
|
pa64_so_ops.current_sos = pa64_current_sos;
|
||||||
pa64_so_ops.open_symbol_file_object = pa64_open_symbol_file_object;
|
pa64_so_ops.open_symbol_file_object = pa64_open_symbol_file_object;
|
||||||
pa64_so_ops.in_dynsym_resolve_code = pa64_in_dynsym_resolve_code;
|
pa64_so_ops.in_dynsym_resolve_code = pa64_in_dynsym_resolve_code;
|
||||||
|
pa64_so_ops.bfd_open = solib_bfd_open;
|
||||||
|
|
||||||
memset (&dld_cache, 0, sizeof (dld_cache));
|
memset (&dld_cache, 0, sizeof (dld_cache));
|
||||||
}
|
}
|
||||||
|
@ -812,6 +812,7 @@ _initialize_som_solib (void)
|
|||||||
som_so_ops.current_sos = som_current_sos;
|
som_so_ops.current_sos = som_current_sos;
|
||||||
som_so_ops.open_symbol_file_object = som_open_symbol_file_object;
|
som_so_ops.open_symbol_file_object = som_open_symbol_file_object;
|
||||||
som_so_ops.in_dynsym_resolve_code = som_in_dynsym_resolve_code;
|
som_so_ops.in_dynsym_resolve_code = som_in_dynsym_resolve_code;
|
||||||
|
som_so_ops.bfd_open = solib_bfd_open;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -840,6 +840,7 @@ _initialize_sunos_solib (void)
|
|||||||
sunos_so_ops.current_sos = sunos_current_sos;
|
sunos_so_ops.current_sos = sunos_current_sos;
|
||||||
sunos_so_ops.open_symbol_file_object = open_symbol_file_object;
|
sunos_so_ops.open_symbol_file_object = open_symbol_file_object;
|
||||||
sunos_so_ops.in_dynsym_resolve_code = sunos_in_dynsym_resolve_code;
|
sunos_so_ops.in_dynsym_resolve_code = sunos_in_dynsym_resolve_code;
|
||||||
|
sunos_so_ops.bfd_open = solib_bfd_open;
|
||||||
|
|
||||||
/* FIXME: Don't do this here. *_gdbarch_init() should set so_ops. */
|
/* FIXME: Don't do this here. *_gdbarch_init() should set so_ops. */
|
||||||
current_target_so_ops = &sunos_so_ops;
|
current_target_so_ops = &sunos_so_ops;
|
||||||
|
@ -1934,6 +1934,7 @@ _initialize_svr4_solib (void)
|
|||||||
svr4_so_ops.current_sos = svr4_current_sos;
|
svr4_so_ops.current_sos = svr4_current_sos;
|
||||||
svr4_so_ops.open_symbol_file_object = open_symbol_file_object;
|
svr4_so_ops.open_symbol_file_object = open_symbol_file_object;
|
||||||
svr4_so_ops.in_dynsym_resolve_code = svr4_in_dynsym_resolve_code;
|
svr4_so_ops.in_dynsym_resolve_code = svr4_in_dynsym_resolve_code;
|
||||||
|
svr4_so_ops.bfd_open = solib_bfd_open;
|
||||||
svr4_so_ops.lookup_lib_global_symbol = elf_lookup_lib_symbol;
|
svr4_so_ops.lookup_lib_global_symbol = elf_lookup_lib_symbol;
|
||||||
svr4_so_ops.same = svr4_same;
|
svr4_so_ops.same = svr4_same;
|
||||||
|
|
||||||
|
@ -492,4 +492,5 @@ _initialize_solib_target (void)
|
|||||||
= solib_target_open_symbol_file_object;
|
= solib_target_open_symbol_file_object;
|
||||||
solib_target_so_ops.in_dynsym_resolve_code
|
solib_target_so_ops.in_dynsym_resolve_code
|
||||||
= solib_target_in_dynsym_resolve_code;
|
= solib_target_in_dynsym_resolve_code;
|
||||||
|
solib_target_so_ops.bfd_open = solib_bfd_open;
|
||||||
}
|
}
|
||||||
|
10
gdb/solib.c
10
gdb/solib.c
@ -285,16 +285,11 @@ solib_bfd_fopen (char *pathname, int fd)
|
|||||||
bfd *
|
bfd *
|
||||||
solib_bfd_open (char *pathname)
|
solib_bfd_open (char *pathname)
|
||||||
{
|
{
|
||||||
struct target_so_ops *ops = solib_ops (target_gdbarch);
|
|
||||||
char *found_pathname;
|
char *found_pathname;
|
||||||
int found_file;
|
int found_file;
|
||||||
bfd *abfd;
|
bfd *abfd;
|
||||||
const struct bfd_arch_info *b;
|
const struct bfd_arch_info *b;
|
||||||
|
|
||||||
/* Use target-specific override if present. */
|
|
||||||
if (ops->bfd_open)
|
|
||||||
return ops->bfd_open (pathname);
|
|
||||||
|
|
||||||
/* Search for shared library file. */
|
/* Search for shared library file. */
|
||||||
found_pathname = solib_find (pathname, &found_file);
|
found_pathname = solib_find (pathname, &found_file);
|
||||||
if (found_pathname == NULL)
|
if (found_pathname == NULL)
|
||||||
@ -354,6 +349,7 @@ static int
|
|||||||
solib_map_sections (void *arg)
|
solib_map_sections (void *arg)
|
||||||
{
|
{
|
||||||
struct so_list *so = (struct so_list *) arg; /* catch_errors bogon */
|
struct so_list *so = (struct so_list *) arg; /* catch_errors bogon */
|
||||||
|
struct target_so_ops *ops = solib_ops (target_gdbarch);
|
||||||
char *filename;
|
char *filename;
|
||||||
struct target_section *p;
|
struct target_section *p;
|
||||||
struct cleanup *old_chain;
|
struct cleanup *old_chain;
|
||||||
@ -361,7 +357,7 @@ solib_map_sections (void *arg)
|
|||||||
|
|
||||||
filename = tilde_expand (so->so_name);
|
filename = tilde_expand (so->so_name);
|
||||||
old_chain = make_cleanup (xfree, filename);
|
old_chain = make_cleanup (xfree, filename);
|
||||||
abfd = solib_bfd_open (filename);
|
abfd = ops->bfd_open (filename);
|
||||||
do_cleanups (old_chain);
|
do_cleanups (old_chain);
|
||||||
|
|
||||||
/* Leave bfd open, core_xfer_memory and "info files" need it. */
|
/* Leave bfd open, core_xfer_memory and "info files" need it. */
|
||||||
@ -381,8 +377,6 @@ solib_map_sections (void *arg)
|
|||||||
|
|
||||||
for (p = so->sections; p < so->sections_end; p++)
|
for (p = so->sections; p < so->sections_end; p++)
|
||||||
{
|
{
|
||||||
struct target_so_ops *ops = solib_ops (target_gdbarch);
|
|
||||||
|
|
||||||
/* Relocate the section binding addresses as recorded in the shared
|
/* Relocate the section binding addresses as recorded in the shared
|
||||||
object's file by the base address to which the object was actually
|
object's file by the base address to which the object was actually
|
||||||
mapped. */
|
mapped. */
|
||||||
|
Reference in New Issue
Block a user