forked from Imagelibrary/binutils-gdb
* 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:
29
gdb/symtab.h
29
gdb/symtab.h
@@ -26,8 +26,12 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
#define obstack_chunk_alloc xmalloc
|
||||
#define obstack_chunk_free free
|
||||
|
||||
/* GNU C supports enums that are bitfields. Some old compilers don't. */
|
||||
#if defined(__GNUC__) && !defined(BYTE_BITFIELD)
|
||||
/* Don't do this; it means that if some .o's are compiled with GNU C
|
||||
and some are not (easy to do accidentally the way we configure
|
||||
things; also it is a pain to have to "make clean" every time you
|
||||
want to switch compilers), then GDB dies a horrible death. */
|
||||
/* GNU C supports enums that are bitfields. Some compilers don't. */
|
||||
#if 0 && defined(__GNUC__) && !defined(BYTE_BITFIELD)
|
||||
#define BYTE_BITFIELD :8;
|
||||
#else
|
||||
#define BYTE_BITFIELD /*nothing*/
|
||||
@@ -57,6 +61,9 @@ struct general_symbol_info
|
||||
|
||||
union
|
||||
{
|
||||
/* The fact that this is a long not a LONGEST mainly limits the
|
||||
range of a LOC_CONST. Since LOC_CONST_BYTES exists, I'm not
|
||||
sure that is a big deal. */
|
||||
long value;
|
||||
|
||||
struct block *block;
|
||||
@@ -299,6 +306,15 @@ struct minimal_symbol
|
||||
mst_data, /* Generally initialized data */
|
||||
mst_bss, /* Generally uninitialized data */
|
||||
mst_abs, /* Generally absolute (nonrelocatable) */
|
||||
/* GDB uses mst_solib_trampoline for the start address of a shared
|
||||
library trampoline entry. Breakpoints for shared library functions
|
||||
are put there if the shared library is not yet loaded.
|
||||
After the shared library is loaded, lookup_minimal_symbol will
|
||||
prefer the minimal symbol from the shared library (usually
|
||||
a mst_text symbol) over the mst_solib_trampoline symbol, and the
|
||||
breakpoints will be moved to their true address in the shared
|
||||
library via breakpoint_re_set. */
|
||||
mst_solib_trampoline, /* Shared library trampoline code */
|
||||
/* For the mst_file* types, the names are only guaranteed to be unique
|
||||
within a given .o file. */
|
||||
mst_file_text, /* Static version of mst_text */
|
||||
@@ -1016,6 +1032,12 @@ lookup_minimal_symbol PARAMS ((const char *, struct objfile *));
|
||||
extern struct minimal_symbol *
|
||||
lookup_minimal_symbol_by_pc PARAMS ((CORE_ADDR));
|
||||
|
||||
extern struct minimal_symbol *
|
||||
lookup_solib_trampoline_symbol_by_pc PARAMS ((CORE_ADDR));
|
||||
|
||||
extern CORE_ADDR
|
||||
find_solib_trampoline_target PARAMS ((CORE_ADDR));
|
||||
|
||||
extern void
|
||||
init_minimal_symbol_collection PARAMS ((void));
|
||||
|
||||
@@ -1097,6 +1119,9 @@ maintenance_print_msymbols PARAMS ((char *, int));
|
||||
void
|
||||
maintenance_print_objfiles PARAMS ((char *, int));
|
||||
|
||||
void
|
||||
maintenance_check_symtabs PARAMS ((char *, int));
|
||||
|
||||
#endif
|
||||
|
||||
extern void
|
||||
|
||||
Reference in New Issue
Block a user