diff options
-rw-r--r-- | gdb/ChangeLog | 14 | ||||
-rw-r--r-- | gdb/solib-frv.c | 1 | ||||
-rw-r--r-- | gdb/solib-irix.c | 1 | ||||
-rw-r--r-- | gdb/solib-null.c | 1 | ||||
-rw-r--r-- | gdb/solib-osf.c | 1 | ||||
-rw-r--r-- | gdb/solib-pa64.c | 1 | ||||
-rw-r--r-- | gdb/solib-som.c | 1 | ||||
-rw-r--r-- | gdb/solib-sunos.c | 1 | ||||
-rw-r--r-- | gdb/solib-svr4.c | 1 | ||||
-rw-r--r-- | gdb/solib-target.c | 1 | ||||
-rw-r--r-- | gdb/solib.c | 10 |
11 files changed, 25 insertions, 8 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 661bb45..5128dc6 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,19 @@ 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> + * mi/mi-cmd-disas.c (mi_cmd_disassemble): Respect mixed_mode flag. 2009-07-16 Doug Evans <dje@google.com> diff --git a/gdb/solib-frv.c b/gdb/solib-frv.c index eec4e78..b8d5528 100644 --- a/gdb/solib-frv.c +++ b/gdb/solib-frv.c @@ -1300,6 +1300,7 @@ _initialize_frv_solib (void) frv_so_ops.current_sos = frv_current_sos; 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.bfd_open = solib_bfd_open; /* Debug this file's internals. */ add_setshow_zinteger_cmd ("solib-frv", class_maintenance, diff --git a/gdb/solib-irix.c b/gdb/solib-irix.c index 4cf8cc6..a0c1cd2 100644 --- a/gdb/solib-irix.c +++ b/gdb/solib-irix.c @@ -740,4 +740,5 @@ _initialize_irix_solib (void) irix_so_ops.current_sos = irix_current_sos; 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.bfd_open = solib_bfd_open; } diff --git a/gdb/solib-null.c b/gdb/solib-null.c index 695c114..b39ccdb 100644 --- a/gdb/solib-null.c +++ b/gdb/solib-null.c @@ -81,6 +81,7 @@ _initialize_null_solib (void) null_so_ops.current_sos = null_current_sos; 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.bfd_open = solib_bfd_open; /* Set current_target_so_ops to null_so_ops if not already set. */ if (current_target_so_ops == 0) diff --git a/gdb/solib-osf.c b/gdb/solib-osf.c index 5bd2895..c295335 100644 --- a/gdb/solib-osf.c +++ b/gdb/solib-osf.c @@ -631,6 +631,7 @@ _initialize_osf_solib (void) osf_so_ops.current_sos = osf_current_sos; 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.bfd_open = solib_bfd_open; /* FIXME: Don't do this here. *_gdbarch_init() should set so_ops. */ current_target_so_ops = &osf_so_ops; diff --git a/gdb/solib-pa64.c b/gdb/solib-pa64.c index 3d22ee5..637fc1a 100644 --- a/gdb/solib-pa64.c +++ b/gdb/solib-pa64.c @@ -658,6 +658,7 @@ _initialize_pa64_solib (void) pa64_so_ops.current_sos = pa64_current_sos; 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.bfd_open = solib_bfd_open; memset (&dld_cache, 0, sizeof (dld_cache)); } diff --git a/gdb/solib-som.c b/gdb/solib-som.c index 457930c..16f00a3 100644 --- a/gdb/solib-som.c +++ b/gdb/solib-som.c @@ -812,6 +812,7 @@ _initialize_som_solib (void) som_so_ops.current_sos = som_current_sos; 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.bfd_open = solib_bfd_open; } void diff --git a/gdb/solib-sunos.c b/gdb/solib-sunos.c index ff41847..9b2a470 100644 --- a/gdb/solib-sunos.c +++ b/gdb/solib-sunos.c @@ -840,6 +840,7 @@ _initialize_sunos_solib (void) sunos_so_ops.current_sos = sunos_current_sos; 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.bfd_open = solib_bfd_open; /* FIXME: Don't do this here. *_gdbarch_init() should set so_ops. */ current_target_so_ops = &sunos_so_ops; diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c index 0f17584..6cfaa85 100644 --- a/gdb/solib-svr4.c +++ b/gdb/solib-svr4.c @@ -1934,6 +1934,7 @@ _initialize_svr4_solib (void) svr4_so_ops.current_sos = svr4_current_sos; 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.bfd_open = solib_bfd_open; svr4_so_ops.lookup_lib_global_symbol = elf_lookup_lib_symbol; svr4_so_ops.same = svr4_same; diff --git a/gdb/solib-target.c b/gdb/solib-target.c index f41dc51..07415e4 100644 --- a/gdb/solib-target.c +++ b/gdb/solib-target.c @@ -492,4 +492,5 @@ _initialize_solib_target (void) = solib_target_open_symbol_file_object; solib_target_so_ops.in_dynsym_resolve_code = solib_target_in_dynsym_resolve_code; + solib_target_so_ops.bfd_open = solib_bfd_open; } diff --git a/gdb/solib.c b/gdb/solib.c index 53d5d1b..157aaba 100644 --- a/gdb/solib.c +++ b/gdb/solib.c @@ -285,16 +285,11 @@ solib_bfd_fopen (char *pathname, int fd) bfd * solib_bfd_open (char *pathname) { - struct target_so_ops *ops = solib_ops (target_gdbarch); char *found_pathname; int found_file; bfd *abfd; 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. */ found_pathname = solib_find (pathname, &found_file); if (found_pathname == NULL) @@ -354,6 +349,7 @@ static int solib_map_sections (void *arg) { struct so_list *so = (struct so_list *) arg; /* catch_errors bogon */ + struct target_so_ops *ops = solib_ops (target_gdbarch); char *filename; struct target_section *p; struct cleanup *old_chain; @@ -361,7 +357,7 @@ solib_map_sections (void *arg) filename = tilde_expand (so->so_name); old_chain = make_cleanup (xfree, filename); - abfd = solib_bfd_open (filename); + abfd = ops->bfd_open (filename); do_cleanups (old_chain); /* 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++) { - struct target_so_ops *ops = solib_ops (target_gdbarch); - /* Relocate the section binding addresses as recorded in the shared object's file by the base address to which the object was actually mapped. */ |