No one(!) actually implements this hook. So simply delete it.
gdb/ChangeLog:
* solist.h (struct target_so_ops): Delete special_symbol_handling
hook.
* solib.c (solib_add, reload_shared_libraries): Adjust.
* solib-aix.c (solib_aix_special_symbol_handling): Delete
(_initialize_solib_aix): Adjust
* solib-darwin.c (darwin_special_symbol_handling): Delete
(_initialize_darwin_solib): Adjust
* solib-dsbt.c (dsbt_special_symbol_handling): Delete
(_initialize_dsbt_solib): Adjust
* solib-frv.c (frv_special_symbol_handling): Delete
(_initialize_frv_solib): Adjust
* solib-svr4.c (svr4_special_symbol_handling): Delete
(_initialize_svr4_solib): Adjust
* solib-target.c (solib_target_special_symbol_handling): Delete
(_initialize_solib_target): Adjust
+2016-10-21 Philipp Rudo <prudo@linux.vnet.ibm.com>
+
+ * solist.h (struct target_so_ops): Delete special_symbol_handling
+ hook.
+ * solib.c (solib_add, reload_shared_libraries): Adjust.
+ * solib-aix.c (solib_aix_special_symbol_handling): Delete
+ (_initialize_solib_aix): Adjust
+ * solib-darwin.c (darwin_special_symbol_handling): Delete
+ (_initialize_darwin_solib): Adjust
+ * solib-dsbt.c (dsbt_special_symbol_handling): Delete
+ (_initialize_dsbt_solib): Adjust
+ * solib-frv.c (frv_special_symbol_handling): Delete
+ (_initialize_frv_solib): Adjust
+ * solib-svr4.c (svr4_special_symbol_handling): Delete
+ (_initialize_svr4_solib): Adjust
+ * solib-target.c (solib_target_special_symbol_handling): Delete
+ (_initialize_solib_target): Adjust
+
2016-10-20 Yao Qi <yao.qi@linaro.org>
* configure.tgt: Don't configure if target is *-*-vxworks*.
}
}
-/* Implement the "special_symbol_handling" target_so_ops method. */
-
-static void
-solib_aix_special_symbol_handling (void)
-{
- /* Nothing needed. */
-}
-
/* Implement the "current_sos" target_so_ops method. */
static struct so_list *
solib_aix_so_ops.clear_solib = solib_aix_clear_solib;
solib_aix_so_ops.solib_create_inferior_hook
= solib_aix_solib_create_inferior_hook;
- solib_aix_so_ops.special_symbol_handling
- = solib_aix_special_symbol_handling;
solib_aix_so_ops.current_sos = solib_aix_current_sos;
solib_aix_so_ops.open_symbol_file_object
= solib_aix_open_symbol_file_object;
return 0;
}
-
-/* No special symbol handling. */
-
-static void
-darwin_special_symbol_handling (void)
-{
-}
-
/* A wrapper for bfd_mach_o_fat_extract that handles reference
counting properly. This will either return NULL, or return a new
reference to a BFD. */
darwin_so_ops.free_so = darwin_free_so;
darwin_so_ops.clear_solib = darwin_clear_solib;
darwin_so_ops.solib_create_inferior_hook = darwin_solib_create_inferior_hook;
- darwin_so_ops.special_symbol_handling = darwin_special_symbol_handling;
darwin_so_ops.current_sos = darwin_current_sos;
darwin_so_ops.open_symbol_file_object = open_symbol_file_object;
darwin_so_ops.in_dynsym_resolve_code = darwin_in_dynsym_resolve_code;
return 0;
}
-/* Once the symbols from a shared object have been loaded in the usual
- way, we are called to do any system specific symbol handling that
- is needed. */
-
-static void
-dsbt_special_symbol_handling (void)
-{
-}
-
static void
dsbt_relocate_main_executable (void)
{
dsbt_so_ops.free_so = dsbt_free_so;
dsbt_so_ops.clear_solib = dsbt_clear_solib;
dsbt_so_ops.solib_create_inferior_hook = dsbt_solib_create_inferior_hook;
- dsbt_so_ops.special_symbol_handling = dsbt_special_symbol_handling;
dsbt_so_ops.current_sos = dsbt_current_sos;
dsbt_so_ops.open_symbol_file_object = open_symbol_file_object;
dsbt_so_ops.in_dynsym_resolve_code = dsbt_in_dynsym_resolve_code;
return 1;
}
-/* Implement the "special_symbol_handling" target_so_ops method. */
-
-static void
-frv_special_symbol_handling (void)
-{
- /* Nothing needed for FRV. */
-}
-
static void
frv_relocate_main_executable (void)
{
frv_so_ops.free_so = frv_free_so;
frv_so_ops.clear_solib = frv_clear_solib;
frv_so_ops.solib_create_inferior_hook = frv_solib_create_inferior_hook;
- frv_so_ops.special_symbol_handling = frv_special_symbol_handling;
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;
return 0;
}
-/* Implement the "special_symbol_handling" target_so_ops method. */
-
-static void
-svr4_special_symbol_handling (void)
-{
- /* Nothing to do. */
-}
-
/* Read the ELF program headers from ABFD. Return the contents and
set *PHDRS_SIZE to the size of the program headers. */
svr4_so_ops.clear_so = svr4_clear_so;
svr4_so_ops.clear_solib = svr4_clear_solib;
svr4_so_ops.solib_create_inferior_hook = svr4_solib_create_inferior_hook;
- svr4_so_ops.special_symbol_handling = svr4_special_symbol_handling;
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;
return start;
}
-static void
-solib_target_special_symbol_handling (void)
-{
- /* Nothing needed. */
-}
-
static void
solib_target_solib_create_inferior_hook (int from_tty)
{
solib_target_so_ops.clear_solib = solib_target_clear_solib;
solib_target_so_ops.solib_create_inferior_hook
= solib_target_solib_create_inferior_hook;
- solib_target_so_ops.special_symbol_handling
- = solib_target_special_symbol_handling;
solib_target_so_ops.current_sos = solib_target_current_sos;
solib_target_so_ops.open_symbol_file_object
= solib_target_open_symbol_file_object;
if (loaded_any_symbols)
{
- const struct target_so_ops *ops = solib_ops (target_gdbarch ());
-
/* Getting new symbols may change our opinion about what is
frameless. */
reinit_frame_cache ();
-
- ops->special_symbol_handling ();
}
}
}
structures that are now freed. Also, getting new symbols may
change our opinion about what is frameless. */
reinit_frame_cache ();
-
- ops->special_symbol_handling ();
}
/* Wrapper for reload_shared_libraries that replaces "remote:"
/* Target dependent code to run after child process fork. */
void (*solib_create_inferior_hook) (int from_tty);
- /* Do additional symbol handling, lookup, etc. after symbols for a
- shared object have been loaded in the usual way. This is
- called to do any system specific symbol handling that might be
- needed. */
- void (*special_symbol_handling) (void);
-
/* Construct a list of the currently loaded shared objects. This
list does not include an entry for the main executable file.