diff options
author | Fred Fish <fnf@specifix.com> | 2001-11-01 16:17:08 +0000 |
---|---|---|
committer | Fred Fish <fnf@specifix.com> | 2001-11-01 16:17:08 +0000 |
commit | 990f9fe3aa352be5de8c798a21164f52248590ee (patch) | |
tree | 3509d599735b6d91cff79bb7f75589eb85f7899f /gdb/pa64solib.c | |
parent | 4fe7ef963907aafdb4e47bce11f8d1ca49a6bd5e (diff) | |
download | gdb-990f9fe3aa352be5de8c798a21164f52248590ee.zip gdb-990f9fe3aa352be5de8c798a21164f52248590ee.tar.gz gdb-990f9fe3aa352be5de8c798a21164f52248590ee.tar.bz2 |
Approved by kev@cygnus.com
ChangeLog entry:
2001-11-01 Fred Fish <fnf@redhat.com>
* coff-solib.c (coff_solib_add): Add new readsyms arg.
* irix5-nat.c (solib_add): Ditto.
* osfsolib.c (solib_add): Ditto.
* pa64solib.c (pa64_solib_add): Ditto.
* pa64solib.c (add_to_solist): Ditto.
* pa64solib.c (read_dld_descriptor): Ditto.
* solib.c (solib_add): Ditto.
* somsolib.c (som_solib_add): Ditto.
* win32-nat.c (child_solib_add): Ditto.
* xcoffsolib.c (solib_add): Ditto.
* coff-solib.h (coff_solib_add): Add new readsyms arg to prototype.
* pa64solib.c (add_to_solist): Ditto.
* pa64solib.c (read_dld_descriptor): Ditto.
* pa64solib.h (pa64_solib_add): Ditto.
* solib.h (solib_add): Ditto.
* somsolib.h (som_solib_add): Ditto.
* config/i386/tm-cygwin.h (child_solib_add): Ditto.
* coff-solib.c (coff_solib_add): If readsyms is zero don't read
symbols but do any other needed work for shared libs.
* irix5-nat.c: Ditto.
* osfsolib.c (solib_add): Ditto.
* solib.c (solib_add): Ditto.
* win32-nat.c (child_solib_add): Ditto.
* xcoffsolib.c (solib_add): Ditto.
* irix5-nat.c (sharedlibrary_command): Pass 1 as readsyms to
solib_add to force reading of shared library symbols.
* osfsolib.c (sharedlibrary_command;): Ditto.
* pa64solib.c (pa64_solib_sharedlibrary_command): Ditto.
* solib.c (sharedlibrary_command): Ditto.
* somsolib.c (som_solib_sharedlibrary_command): Ditto.
* xcoffsolib.c (sharedlibrary_command): Ditto.
* coff-solib.c (coff_solib_create_inferior_hook): Call solib_add
unconditionally with auto_solib_add.
* irix5-nat.c (solib_create_inferior_hook): Ditto.
* osfsolib.c (solib_create_inferior_hook): Ditto.
* solib.c (solib_create_inferior_hook): Ditto.
* solib-osf.c (osf_solib_create_inferior_hook): Ditto.
* solib-svr4.c (enable_break): Ditto.
* solib-sunos.c (sunos_solib_create_inferior_hook): Ditto.
* corelow.c (solib_add_stub): Add auto_solib_add to args passed
via SOLIB_ADD.
* sol-thread.c (sol_thread_attach): Ditto.
* config/rs6000/nm-rs6000.h (SOLIB_ADD): Ditto.
* infcmd.c (attach_command): Remove auto_solib_add decl.
Call SOLIB_ADD directly with auto_solib_add.
* infrun.c (handle_inferior_event): Ditto.
* coff-solib.h (SOLIB_ADD): Add readsyms arg.
* pa64solib.h (SOLIB_ADD): Ditto.
* solib.h (SOLIB_ADD): Ditto.
* somsolib.h (SOLIB_ADD): Ditto.
* config/i386/tm-cygwin.h (SOLIB_ADD): Ditto.
* fork-child.c (clone_and_follow_inferior): Remove unused
auto_solib_add decl.
* pa64solib.c (pa64_solib_add): Call add_to_solist with readsyms.
(read_dld_descriptor): Ditto.
(pa64_solib_add): Call read_dld_descriptor with readsyms.
(pa64_solib_in_dynamic_linker): Ditto.
* corelow.c (symfile.h): Need this for auto_solib_add declaration.
* sol-thread.c (symfile.h): Ditto.
Approved by eliz@is.elta.co.il
doc/ChangeLog entry:
2001-11-01 Fred Fish <fnf@redhat.com>
* gdbint.texinfo (SOLIB_ADD): Document additional new
"readsyms" arg.
Diffstat (limited to 'gdb/pa64solib.c')
-rw-r--r-- | gdb/pa64solib.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/gdb/pa64solib.c b/gdb/pa64solib.c index 441095e..0058cbf 100644 --- a/gdb/pa64solib.c +++ b/gdb/pa64solib.c @@ -127,11 +127,11 @@ static void pa64_solib_sharedlibrary_command (char *, int); static void *pa64_target_read_memory (void *, CORE_ADDR, size_t, int); -static boolean read_dld_descriptor (struct target_ops *); +static boolean read_dld_descriptor (struct target_ops *, int readsyms); static boolean read_dynamic_info (asection *, dld_cache_t *); -static void add_to_solist (boolean, char *, struct load_module_desc *, +static void add_to_solist (boolean, char *, int, struct load_module_desc *, CORE_ADDR, struct target_ops *); /* When examining the shared library for debugging information we have to @@ -372,7 +372,7 @@ pa64_solib_load_symbols (struct so_list *so, char *name, int from_tty, be exceeded. */ void -pa64_solib_add (char *arg_string, int from_tty, struct target_ops *target) +pa64_solib_add (char *arg_string, int from_tty, struct target_ops *target, int readsyms) { struct minimal_symbol *msymbol; CORE_ADDR addr; @@ -415,7 +415,7 @@ pa64_solib_add (char *arg_string, int from_tty, struct target_ops *target) /* Read in the load map pointer if we have not done so already. */ if (! dld_cache.have_read_dld_descriptor) - if (! read_dld_descriptor (target)) + if (! read_dld_descriptor (target, readsyms)) return; /* If the libraries were not mapped private, warn the user. */ @@ -439,7 +439,7 @@ pa64_solib_add (char *arg_string, int from_tty, struct target_ops *target) if (!dll_path) error ("pa64_solib_add, unable to read shared library path."); - add_to_solist (from_tty, dll_path, &dll_desc, 0, target); + add_to_solist (from_tty, dll_path, readsyms, &dll_desc, 0, target); } } @@ -700,7 +700,7 @@ pa64_solib_in_dynamic_linker (int pid, CORE_ADDR pc) return 0; if (!dld_cache.have_read_dld_descriptor) - if (!read_dld_descriptor (¤t_target)) + if (!read_dld_descriptor (¤t_target, auto_solib_add)) return 0; return (pc >= dld_cache.dld_desc.text_base @@ -818,7 +818,7 @@ static void pa64_solib_sharedlibrary_command (char *args, int from_tty) { dont_repeat (); - pa64_solib_add (args, from_tty, (struct target_ops *) 0); + pa64_solib_add (args, from_tty, (struct target_ops *) 0, 1); } /* Return the name of the shared library containing ADDR or NULL if ADDR @@ -936,7 +936,7 @@ so_lib_thread_start_addr (struct so_list *so) return nonzero. */ static boolean -read_dld_descriptor (struct target_ops *target) +read_dld_descriptor (struct target_ops *target, int readsyms) { char *dll_path; asection *dyninfo_sect; @@ -995,7 +995,7 @@ read_dld_descriptor (struct target_ops *target) pa64_target_read_memory, 0, dld_cache.load_map); - add_to_solist(0, dll_path, &dld_cache.dld_desc, 0, target); + add_to_solist(0, dll_path, readsyms, &dld_cache.dld_desc, 0, target); return 1; } @@ -1102,7 +1102,7 @@ pa64_target_read_memory (void *buffer, CORE_ADDR ptr, size_t bufsiz, int ident) be read from the inferior process at the address load_module_desc_addr. */ static void -add_to_solist (boolean from_tty, char *dll_path, +add_to_solist (boolean from_tty, char *dll_path, int readsyms, struct load_module_desc *load_module_desc_p, CORE_ADDR load_module_desc_addr, struct target_ops *target) { @@ -1166,7 +1166,7 @@ add_to_solist (boolean from_tty, char *dll_path, st_size = pa64_solib_sizeof_symbol_table (dll_path); pa64_solib_st_size_threshhold_exceeded = !from_tty - && auto_solib_add + && readsyms && ( (st_size + pa64_solib_total_st_size) > (auto_solib_limit * (LONGEST) (1024 * 1024))); if (pa64_solib_st_size_threshhold_exceeded) |