* infrun.c (IN_SOLIB_TRAMPOLINE): Correct comment, trampolines

are in the .plt section.
	* minsyms.c (lookup_solib_trampoline_symbol_by_pc,
	find_solib_trampoline_target):  New functions for handling
	stepping into -g compiled shared libraries.
	* symtab.h (lookup_solib_trampoline_symbol_by_pc,
	find_solib_trampoline_target):  Add prototypes.
	* config/tm-sunos.h (IN_SOLIB_TRAMPOLINE, SKIP_TRAMPOLINE_CODE):
	Define to handle stepping into  -g compiled shared libraries.
	* config/tm-sysv4.h (SKIP_TRAMPOLINE_CODE):  Define to handle
	stepping into  -g compiled shared libraries.
	* configure.in:  Add mips-*-sysv4* support.
	* config/mips/mipsv4.mh, config/mips/mipsv4.mt,
	config/mips/tm-mipsv4.h, config/mips/xm-mipsv4.h, mipsv4-nat.c:
	New files for MIPS SVR4 support.
	* Makefile.in:  Update for new mipsv4 files.
	* alpha-tdep.c (heuristic_proc_desc, find_proc_desc):  Use
	read_next_frame_reg to obtain the frame relative stack pointer.
	* mips-tdep.c (heuristic_proc_desc):  Use read_next_frame_reg to
	obtain the frame relative stack pointer.
	* mdebugread.c (parse_partial_symbols, psymtab_to_symtab1):
	Handle stStatic and stStaticProc symbols in stabs-in-ecoff output
	by entering them into the minimal symbol table.
	* printcmd.c (print_scalar_formatted):  Do not try to unpack to
	a long for float formats.
	* solib.c:  Include "elf/mips.h" only if DT_MIPS_RLD_MAP does not
	get defined in <link.h>.
	* solib.c (solib_add):  Add shared library sections to the section
	table of the target before adding the symbols.
	* partial-stab.h:  Relocate static and global functions.
	* dbxread.c (read_dbx_symtab):  Remove unused variable
	end_of_text_address.  Relocate text_addr when passing it
	to end_psymtab.

	For Alpha OSF/1 targets, enable gdb to set breakpoints in shared
	library functions before the executable is run. Retrieve dynamic
	symbols from stripped executables.
	* mipsread.c (read_alphacoff_dynamic_symtab):  New function.
	* mipsread.c (mipscoff_symfile_read):  Use it. Issue warning message
	if no debugging symbols were found.
	* alpha-tdep.c (alpha_skip_prologue):  Silently return the unaltered
	pc if memory at the pc is not accessible and GDB_TARGET_HAS_SHARED_LIBS
	is defined.
	* config/alpha/nm-alpha.h (GDB_TARGET_HAS_SHARED_LIBS):  Define,
	OSF/1 has shared libraries.
This commit is contained in:
Peter Schauer
1994-04-08 00:35:15 +00:00
parent 44c1515dc7
commit 2fe3b329f6
14 changed files with 772 additions and 225 deletions

View File

@ -74,11 +74,6 @@ static unsigned int max_symbolic_offset = UINT_MAX;
printing a symbolic value as `<symbol at filename:linenum>' if set. */
static int print_symbol_filename = 0;
/* Switch for quick display of symbolic addresses -- only uses minsyms,
not full search of symtabs. */
int fast_symbolic_addr = 1;
/* Number of auto-display expression currently being displayed.
So that we can disable it if we get an error or a signal within it.
-1 when not doing one. */
@ -374,7 +369,8 @@ print_scalar_formatted (valaddr, type, format, size, stream)
return;
}
val_long = unpack_long (type, valaddr);
if (format != 'f')
val_long = unpack_long (type, valaddr);
/* If we are printing it as unsigned, truncate it in case it is actually
a negative signed value (e.g. "print/u (short)-1" should print 65535
@ -533,15 +529,15 @@ print_address_symbolic (addr, stream, do_demangle, leadin)
/* First try to find the address in the symbol table, then
in the minsyms. Take the closest one. */
if (fast_symbolic_addr)
{
/* This is defective in the sense that it only finds text symbols. */
symbol = find_pc_function (addr);
if (symbol)
name_location = BLOCK_START (SYMBOL_BLOCK_VALUE (symbol));
}
else
find_addr_symbol (addr, &symtab, &name_location);
/* This is defective in the sense that it only finds text symbols. So
really this is kind of pointless--we should make sure that the
minimal symbols have everything we need (by changing that we could
save some memory, but for many debug format--ELF/DWARF or
anything/stabs--it would be inconvenient to eliminate those minimal
symbols anyway). */
symbol = find_pc_function (addr);
if (symbol)
name_location = BLOCK_START (SYMBOL_BLOCK_VALUE (symbol));
if (symbol)
{
@ -2183,13 +2179,6 @@ environment, the value is printed in its own window.");
&setprintlist),
&showprintlist);
add_show_from_set (
add_set_cmd ("fast-symbolic-addr", no_class, var_boolean,
(char *)&fast_symbolic_addr,
"Set fast printing of symbolic addresses (using minimal symbols).",
&setprintlist),
&showprintlist);
examine_b_type = init_type (TYPE_CODE_INT, 1, 0, NULL, NULL);
examine_h_type = init_type (TYPE_CODE_INT, 2, 0, NULL, NULL);
examine_w_type = init_type (TYPE_CODE_INT, 4, 0, NULL, NULL);