Commit Graph

82 Commits

Author SHA1 Message Date
Kevin Buettner 749499cbc4 solib.c relocation improvements 2000-10-30 23:31:17 +00:00
Kevin Buettner 13437d4b4b Reorganize solib.c. 2000-10-24 20:05:36 +00:00
Andrew Cagney 55e0deaaae * solib.c (open_symbol_file_object): Update function signature to
match catch_errors function argument.
2000-10-24 14:42:21 +00:00
Kevin Buettner 7ff096288f Protoization. 2000-10-20 00:44:49 +00:00
Kevin Buettner 359431fb6d Rename bfd_elf_get_arch_size to bfd_get_arch_size(). 2000-08-31 00:39:10 +00:00
Michael Snyder 23e049712d 2000-08-29 Michael Snyder <msnyder@seadog.cygnus.com>
* valops.c (value_cast): Indentation fix-up.
        * acconfig.h (HAVE_PRGREGSET32_T, HAVE_PRFPREGSET32_T,
        HAVE_STRUCT_LINK_MAP32): New configure macros.
        * config.in: Ditto.
        * configure.in: Test for the above new macros.
        * breakpoint.c: Update copyright date.
        * core-sol2.c: Include v9/sys/privregs.h directly to
        work around a bug in Sun's Solaris 8 header files.
        (fetch_core_registers): Use the above new configure macros to
        handle cross-debugging of 32-bit core files on a 64-bit host.
        * sol-thread.c (ps_pdmodel) New function.
        (rw_common): For debugging of 32-bit apps on a 64-bit host,
        truncate addresses to 32 bits.
        * solib.c (solib_extract_address): Functionize.  Make 32/64 aware.
        (LM_ADDR, LM_NEXT, LM_NAME): Ditto.
        (IGNORE_FIRST_LINK_MAP): Ditto.
        (first_link_map_member): Make 32/64 aware.
        (open_symbol_file_object): Ditto.
        (current_sos): Ditto.
2000-08-30 00:58:58 +00:00
Michael Snyder 35fc82857e 2000-08-09 Michael Snyder <msnyder@cleaver.cygnus.com>
* blockframe.c (sigtramp_saved_pc): Use dynamic allocation,
        since TARGET_PTR_BIT is no longer a constant (MULTI_ARCH).
        * irix4-nat.c (get_longjmp_target): Ditto.
        * irix5-nat.c (get_longjmp_target): Ditto.
        * jv-valprint.c (java_value_print): Ditto.
        * m3-nat.c (get_cprocs):            Ditto.
        * m68k-tdep.c (get_longjmp_target): Ditto.
        * mips-nat.c  (get_longjmp_target): Ditto.
        * mipsv4-nat.c(get_longjmp_target): Ditto.
        * pa64solib.c (read_dynamic_info):  Ditto.
        * solib.c (elf_locate_base):        Ditto.
2000-08-09 20:09:01 +00:00
Mark Kettenis 8554b7d530 * solib.c (bfd_lookup_symbol): Fall back on the dynamic symbol
table if the symbol couldn't be found in the normal symbol table
(i.e. if the shared object in question was stripped).
2000-08-07 10:56:22 +00:00
Kevin Buettner fba45db2fa Protoization. 2000-07-30 01:48:28 +00:00
Andrew Cagney 6ceadee453 * solib.c (elf_locate_base, info_sharedlibrary_command): Rename
bfd_elf_get_arch_size to bfd_get_arch_size.
2000-07-19 02:55:55 +00:00
Kevin Buettner a14ed312fd PARAMS removal. 2000-05-28 01:12:42 +00:00
Andrew Cagney 74b7792f0f Purge (almost) make_cleanup_func. 2000-05-22 09:02:23 +00:00
Andrew Cagney 56e290f494 Cleanup discard_minimal_symbols cleanup. 2000-05-16 04:07:39 +00:00
Elena Zannoni 9e12421610 2000-05-10 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* solib.c (symbol_add_stub): Remember the index and the name of
        the section with the lowest address. Use this data (instead of
        data from .text) to pass info into symbol_file_add.

        * elfread.c (record_minimal_symbol_and_info): Use the section
        where the symbol lives to get the index, instead of guessing.
2000-05-11 00:36:17 +00:00
Michael Snyder f5b8946ca6 2000-05-03 Michael Snyder <msnyder@seadog.cygnus.com>
* solib.c (elf_locate_base, info_sharedlibrary_command):
        Look at the bfd to determine if it is elf32 or elf64, rather
        than using an ifdef.  This makes it runtime teststable and
        multi-arch.
2000-05-05 18:14:27 +00:00
Elena Zannoni e7cf9df194 2000-04-17 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* symfile.h (struct section_addr_info ): Remove fields for special
 	treatment of .text, .data and .bss sections.

	* solib.c (symbol_add_stub): The special field text_addr is not
 	available anymore. Search for the .text field the hard way.

	* symfile.c (build_section_addr_info_from_section_table): Don't
 	fill in {text, data, bss}_addr any more.
	(default_symfile_offsets): Don't use {text, data, bss}_addr fields
 	to fill in section_offsets for objfile.
	(syms_from_objfile): Don't deal with {text, data, bss}_addr as a
 	special case anymore.
        (add_symbol_file_command): Ditto.
2000-04-17 16:09:04 +00:00
Jim Blandy 105b175f27 * solib.c (update_solib_list): New function.
(solib_add): Call update_solib_list, and then read symbols.
(info_sharedlibrary_command): Call update_solib_list, not
solib_add.
2000-04-05 20:40:22 +00:00
H.J. Lu 8898755195 2000-04-03 H.J. Lu <hjl@gnu.org>
* gdb_regex.h: New. Include "regex.h" if USE_INCLUDED_REGEX
	is defined and <regex.h> otherwise.

        * irix5-nat.c: Include "gdb_regex.h" instead of "gnu-regex.h".
	* monitor.c: Likewise.
	* osfsolib.c: Likewise.
	* solib.c: Likewise.
	* source.c: Likewise.
	* symtab.c: Likewise.

	* Makefile.in (REGEX): Changed to @REGEX@.
	(REGEX_CFLAGS): New.
	(REGEX1): Removed.
	(ADD_DEPS): Use $(REGEX) instead of $(REGEX1).
	(INTERNAL_WARN_CFLAGS): Add $(REGEX_CFLAGS).

	* configure.in (--with-included-regex): New switch.
	(REGEX): New. Subsstitue @REGEX@ in Makefile.in.
	(REGEX_CFLAGS): New. Subsstitue @REGEX_CFLAGS@ in Makefile.in.
	* configure: Regenerated.
2000-04-04 02:08:52 +00:00
Jim Blandy e8930304b2 * solib.c (solib_add): Move all the code for loading symbol tables
below the code to sort out additions and removals.  That way, we
always catch all loaded shared libraries whose symbols we haven't
grabbed yet.

* solib.c (solib_add): Don't try to free a shared object's objfile
if it doesn't have one.  Duh.

* solib.c (solib_add): If a pattern was given, but it doesn't
match any currently loaded shared libraries, print a message;
don't just be silent.
2000-04-03 17:45:17 +00:00
Michael Snyder 9452d09b0d 2000-03-23 Michael Snyder <msnyder@cleaver.cygnus.com>
* solib.c (open_symbol_file_object): to sneak an int argument
        past catch_errors, instead of casting it to a pointer, simply
        pass it by address.
2000-03-24 23:49:10 +00:00
Kevin Buettner 62557bbcee Make sure section addresses from a shared object are correctly set in
a new struct objfile.
2000-03-21 22:37:42 +00:00
Jim Blandy c2d3b4ed35 * solib.c (solib_add): Delete debugging code. 2000-03-17 20:12:23 +00:00
Jim Blandy 15588ebb21 * solib.c (current_sos): Be more careful about freeing the new
so_list node if an error occurs.
2000-03-16 23:12:42 +00:00
Jim Blandy 07cd4b9723 Deal with the inferior unloading shared objects.
* solib.c (current_sos): New function, replacing find_solib.
(find_solib): Deleted.
(free_so): New function.
(clear_solib): Call free_so, instead of writing it out.
(solib_add): Rewritten: compare the inferior's current list of
shared objects with GDB's list, and do the required loads and
unloads.
(info_sharedlibrary_command, solib_address): Don't use find_solib
to walk the list of shared libraries: call solib_add, and then
walk the list at so_list_head normally.
* objfiles.c (free_objfile): Don't call CLEAR_SOLIB, and don't
detach the core target.  These tasks are taken care of elsewhere.
* target.c (remove_target_sections): New function.
* target.h (remove_target_sections): New declaration.

* solib.c (symbol_add_stub): Check whether we've already created
an objfile for this shared object first, before doing all that
work to compute section addresses, etc.

* objfiles.c (unlink_objfile): Report an internal error if objfile
doesn't occur in the object_files list.

* solib.c (special_symbol_handling): Delete argument; it's not
used.

* solib.c (SOLIB_EXTRACT_ADDRESS):  New macro to extract addresses
from solib structures. Use it throughout solib.c, get rid of all
CORE_ADDR casts.
(struct so_list):  Change type of lmaddr to CORE_ADDR.
(first_link_map_member):  Change return value type to CORE_ADDR,
update callers.
(solib_add_common_symbols):  Change parameter type to CORE_ADDR,
update callers.
(open_symbol_file_object, find_solib):  Change type of lm variable
to CORE_ADDR.
2000-03-15 16:55:07 +00:00
Jim Blandy 9ddea9f1c1 Doc fix. 2000-03-06 18:04:56 +00:00
Jason Molenda 4ce44c668d import gdb-1999-11-16 snapshot 1999-11-17 02:31:06 +00:00
Jason Molenda 2df3850c7b import gdb-1999-10-11 snapshot 1999-10-12 04:37:53 +00:00
Jason Molenda 2acceee218 import gdb-1999-10-04 snapshot 1999-10-05 23:13:56 +00:00
Jason Molenda 6426a772a2 import gdb-1999-09-28 snapshot 1999-09-28 21:55:21 +00:00
Jason Molenda 104c1213b4 import gdb-1999-08-30 snapshot 1999-08-31 01:14:27 +00:00
Jason Molenda 96baa820df import gdb-1999-08-09 snapshot 1999-08-09 21:36:23 +00:00
Jason Molenda c5aa993b1f import gdb-1999-07-07 post reformat 1999-07-07 20:19:36 +00:00
Jason Molenda 085dd6e638 import gdb-1999-06-28 snapshot 1999-06-28 16:06:02 +00:00
Stan Shebs 7a292a7adf import gdb-19990422 snapshot 1999-04-26 18:34:20 +00:00
Stan Shebs c906108c21 Initial creation of sourceware repository 1999-04-16 01:35:26 +00:00
Stan Shebs 071ea11e85 Initial creation of sourceware repository 1999-04-16 01:34:07 +00:00
David Taylor 5337bd558b disable_breakpoints_in_shlibs now takes a new parameter -- silent; callers
updated.  new callers -- clear_solib (irix5-nat.c, osfsolib.c, solib.c).
PR 16495 / PR 18213.
1999-01-19 16:20:39 +00:00
Andrew Cagney 3b06727073 More make_cleanups/catch_errors warning fixes. 1999-01-19 12:28:20 +00:00
David Taylor 65b07ddca8 all remaining *.c *.h files from hp merge. 1998-12-31 21:58:30 +00:00
Peter Schauer b420cea7eb Handle missing shared libraries during the examination of a core
dump gracefully.
	* solib.c (find_solib):  Use catch_errors around call to
	solib_map_sections. Use warning instead of error if reading of
	the shared library name fails.
	(solib_map_sections):  Change return and argument types to make
	it callable from catch_errors.
	(symbol_add_stub):  Avoid GDB core dump if solib->abfd is NULL.
	* irix5-nat.c, osfsolib.c (xfer_link_map_member, solib_map_sections,
	symbol_add_stub):  Ditto.
1998-04-22 20:17:44 +00:00
Stan Shebs e3147bf286 Humoring RMS by saying "GNU/Linux" instead of just "Linux" 1998-04-22 01:44:38 +00:00
Martin Hunt 65c0c9787f Wed Apr 15 12:19:42 1998 Martin M. Hunt <hunt@cygnus.com>
* solib.c (enable_break): Only call warning once
	instead of three times.
1998-04-15 19:18:41 +00:00
Jason Molenda 5b944218be Wed Apr 8 16:47:33 1998 Jason Molenda (crash@bugshack.cygnus.com)
* solib.c (solib_create_inferior_hook): Remove Ulrich Drepper's
        patch of March 23 1998.
        * breakpoint.c (breakpoint_re_set_one): Remove Ulrich Drepper's
        patch of March 23 1998.
1998-04-08 23:49:14 +00:00
Jason Molenda 124e64bb67 Mon Mar 23 13:52:28 1998 Ulrich Drepper (drepper@cygnus.com)
* breakpoint.c (breakpoint_re_set_one): Treat bp_shlib_events
        like bp_breakpoints.
        * solib.c (solib_create_inferior_hook): Relocate section addresses
        if the alleged start address doesn't agree with the PC.
1998-03-23 21:58:12 +00:00
David Taylor 7d0a3fc844 Changes by Peter.Schauer to fix gdb/13521 -- gdb step command fails to step
from a function in one dynamically linked library into a function in another
dynamically linked library.
1998-01-30 20:33:43 +00:00
Stu Grossman 76420d4630 * command.c (do_setshow_command): Don't segfault when showing
var_string and var_string_noescape vars that are NULL.

From the fsf:
	* solib.c (solib_absolute_prefix, solib_search_path): New variables.
	(_initialize_solib): Add set/show commands for those variables.
	(solib_map_sections): Implement searching using them.
1996-07-17 06:41:25 +00:00
Fred Fish ace4b8d75a (laying some groundwork for a fix for PR 8443)
* coffread.c (record_minimal_symbol): Don't presave name string
	on symbol_obstack before passing to prim_record_minimal_symbol.
	It now handles saving the string itself.
	* dbxread.c (read_dbx_dynamic_symtab): Ditto.
	* mipsread.c (read_alphacoff_dynamic_symtab): Ditto.
	* os9kread.c (record_minimal_symbol): Ditto.
	* solib.c (solib_add_common_symbols): Ditto.

	* coffread.c (coff_symtab_read): Don't presave name string on
	symbol_obstack before passing to prim_record_minimal_symbol_and_info.
	It now handles saving the string itself.
	* dbxread.c (record_minimal_symbol): Ditto.
	* elfread.c (record_minimal_symbol_and_info): Ditto.

	* dstread.c (record_minimal_symbol): Remove static function that just
	called prim_record_minimal_symbol with the same args (after change to
 	prim_record_minimal_symbol to do it's own name string saves).
	* nlmread.c (record_minimal_symbol): Ditto.
	* somread.c (record_minimal_symbol): Ditto.

	* hpread.c (hpread_read_enum_type): Save symbol name on symbol obstack.
	(hpread_read_function_type): Ditto.
	(hpread_process_one_debug_symbol): Ditto.
	* mdebugread.c (parse_symbol): Ditto.
	(new_symbol): Ditto.
	* minsyms.c (prim_record_minimal_symbol_and_info): Ditto.

	* coffread.c (process_coff_symbol): Use obsavestring to save
	SYMBOL_NAME, rather than obstack_copy0.
	* dstread.c (create_new_symbol): Ditto
	* symfile.c (obconcat): Ditto.
	* stabsread.c (patch_block_stabs): Ditto.
	* xcoffread.c (SYMNAME_ALLOC): Ditto.

	* symfile.c (obsavestring): Update comments
	* solib.c (solib_add_common_symbols): Remove local var origname.
1996-07-08 09:05:18 +00:00
Jeff Law a404ea2596 * solib.c (solib_break_names): Add _r_debug_state for
vanilla SVR4 implementations.  From Peter Schauer.
1996-03-14 17:32:12 +00:00
Jeff Law 11be829fa1 * From Peter Schauer:
* infrun.c (wait_for_inferior): Remove breakpoints and
        switch terminal settings before calling SOLIB_ADD.
        * solib.c (enable_break, SVR4 variant): Don't map in symbols
        for the dynamic linker, the namespace pollution causes real
        problems.
1996-03-04 21:50:10 +00:00
Jeff Law 13f6c7eac1 * solib.c (solib_create_inferior_hook): Fix thinko.
Don't screw sunos4 with 7763 fixes..
1996-02-21 21:27:08 +00:00