2003-02-19 David Carlton <carlton@math.stanford.edu>
* Makefile.in (SFILES): Add block.c. (block_h): New. (COMMON_OBS): Add block.o. (block.o): New. (x86-64-tdep.o): Add $(block_h). (values.o, valops.o, tracepoint.o, symtab.o, symmisc.o, symfile.o) (stack.o, printcmd.o, p-exp.tab.o, parse.o, objfiles.o) (objc-exp.tab.o, objc-lang.o, nlmread.o, mips-tdep.o, mdebugread.o) (m2-exp.tab.o, linespec.o, jv-lang.o, jv-exp.tab.o, infcmd.o) (f-valprint.o, findvar.o, f-exp.tab.o, expprint.o, coffread.o) (c-exp.tab.o, buildsym.o, breakpoint.o, blockframe.o, ax-gdb.o) (alpha-tdep.o, ada-lang.o, ada-exp.tab.o, mi-cmd-stack.o): Ditto. * value.h: Add opaque declaration for struct block. * parser-defs.h, objc-lang.h, buildsym.h, breakpoint.h: Ditto. * ada-lang.h: Ditto. * x86-64-tdep.c: #include "block.h" * values.c, valops.c, tracepoint.c, symtab.c, symmisc.c: Ditto. * symfile.c, stack.c, printcmd.c, p-exp.y, parse.c: Ditto. * objfiles.c, objc-exp.y, objc-lang.c, nlmread.c: Ditto. * mips-tdep.c, mdebugread.c, m2-exp.y, linespec.c: Ditto. * jv-lang.c, jv-exp.y, infcmd.c, f-valprint.c: Ditto. * findvar.c, f-exp.y, expprint.c, coffread.c, c-exp.y: Ditto. * buildsym.c, breakpoint.c, blockframe.c, ax-gdb.c: Ditto. * alpha-tdep.c, ada-lang.c, ada-exp.y: Ditto. * blockframe.c (blockvector_for_pc_sect): Move to "block.c". (blockvector_for_pc, block_for_pc_sect, block_for_pc): Ditto. * symtab.c (block_function): Ditto. (contained_in): Ditto. * frame.h: Move block_for_pc and block_for_pc_sect declarations to block.h. Add opaque declaration for struct block. * symtab.h: Move block_function and contained_in declarations to block.h. Add opaque declarations for struct block, struct blockvector. (struct block): Move to block.h. (struct blockvector): Ditto. (BLOCK_START, BLOCK_END, BLOCK_FUNCTION, BLOCK_SUPERBLOCK) (BLOCK_GCC_COMPILED, BLOCK_HASHTABLE, BLOCK_NSYMS, BLOCK_SYM) (BLOCK_BUCKETS, BLOCK_BUCKET, BLOCK_HASHTABLE_SIZE) (ALL_BLOCK_SYMBOLS, BLOCK_SHOULD_SORT, BLOCKVECTOR_NBLOCKS) (BLOCKVECTOR_BLOCK, GLOBAL_BLOCK, STATIC_BLOCK, FIRST_LOCAL_BLOCK): Ditto. * block.c: New file. * block.h: New file. 2003-02-19 David Carlton <carlton@math.stanford.edu> * mi-cmd-stack.c: #include "block.h"
This commit is contained in:
parent
b3f71a301e
commit
fe898f56a1
50 changed files with 468 additions and 311 deletions
|
@ -1,3 +1,49 @@
|
||||||
|
2003-02-19 David Carlton <carlton@math.stanford.edu>
|
||||||
|
|
||||||
|
* Makefile.in (SFILES): Add block.c.
|
||||||
|
(block_h): New.
|
||||||
|
(COMMON_OBS): Add block.o.
|
||||||
|
(block.o): New.
|
||||||
|
(x86-64-tdep.o): Add $(block_h).
|
||||||
|
(values.o, valops.o, tracepoint.o, symtab.o, symmisc.o, symfile.o)
|
||||||
|
(stack.o, printcmd.o, p-exp.tab.o, parse.o, objfiles.o)
|
||||||
|
(objc-exp.tab.o, objc-lang.o, nlmread.o, mips-tdep.o, mdebugread.o)
|
||||||
|
(m2-exp.tab.o, linespec.o, jv-lang.o, jv-exp.tab.o, infcmd.o)
|
||||||
|
(f-valprint.o, findvar.o, f-exp.tab.o, expprint.o, coffread.o)
|
||||||
|
(c-exp.tab.o, buildsym.o, breakpoint.o, blockframe.o, ax-gdb.o)
|
||||||
|
(alpha-tdep.o, ada-lang.o, ada-exp.tab.o, mi-cmd-stack.o): Ditto.
|
||||||
|
* value.h: Add opaque declaration for struct block.
|
||||||
|
* parser-defs.h, objc-lang.h, buildsym.h, breakpoint.h: Ditto.
|
||||||
|
* ada-lang.h: Ditto.
|
||||||
|
* x86-64-tdep.c: #include "block.h"
|
||||||
|
* values.c, valops.c, tracepoint.c, symtab.c, symmisc.c: Ditto.
|
||||||
|
* symfile.c, stack.c, printcmd.c, p-exp.y, parse.c: Ditto.
|
||||||
|
* objfiles.c, objc-exp.y, objc-lang.c, nlmread.c: Ditto.
|
||||||
|
* mips-tdep.c, mdebugread.c, m2-exp.y, linespec.c: Ditto.
|
||||||
|
* jv-lang.c, jv-exp.y, infcmd.c, f-valprint.c: Ditto.
|
||||||
|
* findvar.c, f-exp.y, expprint.c, coffread.c, c-exp.y: Ditto.
|
||||||
|
* buildsym.c, breakpoint.c, blockframe.c, ax-gdb.c: Ditto.
|
||||||
|
* alpha-tdep.c, ada-lang.c, ada-exp.y: Ditto.
|
||||||
|
* blockframe.c (blockvector_for_pc_sect): Move to "block.c".
|
||||||
|
(blockvector_for_pc, block_for_pc_sect, block_for_pc): Ditto.
|
||||||
|
* symtab.c (block_function): Ditto.
|
||||||
|
(contained_in): Ditto.
|
||||||
|
* frame.h: Move block_for_pc and block_for_pc_sect declarations to
|
||||||
|
block.h. Add opaque declaration for struct block.
|
||||||
|
* symtab.h: Move block_function and contained_in declarations to
|
||||||
|
block.h. Add opaque declarations for struct block, struct
|
||||||
|
blockvector.
|
||||||
|
(struct block): Move to block.h.
|
||||||
|
(struct blockvector): Ditto.
|
||||||
|
(BLOCK_START, BLOCK_END, BLOCK_FUNCTION, BLOCK_SUPERBLOCK)
|
||||||
|
(BLOCK_GCC_COMPILED, BLOCK_HASHTABLE, BLOCK_NSYMS, BLOCK_SYM)
|
||||||
|
(BLOCK_BUCKETS, BLOCK_BUCKET, BLOCK_HASHTABLE_SIZE)
|
||||||
|
(ALL_BLOCK_SYMBOLS, BLOCK_SHOULD_SORT, BLOCKVECTOR_NBLOCKS)
|
||||||
|
(BLOCKVECTOR_BLOCK, GLOBAL_BLOCK, STATIC_BLOCK, FIRST_LOCAL_BLOCK):
|
||||||
|
Ditto.
|
||||||
|
* block.c: New file.
|
||||||
|
* block.h: New file.
|
||||||
|
|
||||||
2003-02-19 Theodore A. Roth <troth@openavr.org>
|
2003-02-19 Theodore A. Roth <troth@openavr.org>
|
||||||
|
|
||||||
* avr-tdep.c (avr_extract_return_value): Remove function.
|
* avr-tdep.c (avr_extract_return_value): Remove function.
|
||||||
|
|
|
@ -511,7 +511,7 @@ TARGET_FLAGS_TO_PASS = \
|
||||||
|
|
||||||
SFILES = ada-exp.y ada-lang.c ada-typeprint.c ada-valprint.c ada-tasks.c \
|
SFILES = ada-exp.y ada-lang.c ada-typeprint.c ada-valprint.c ada-tasks.c \
|
||||||
ax-general.c ax-gdb.c \
|
ax-general.c ax-gdb.c \
|
||||||
bcache.c blockframe.c breakpoint.c buildsym.c builtin-regs.c \
|
bcache.c block.c blockframe.c breakpoint.c buildsym.c builtin-regs.c \
|
||||||
c-exp.y c-lang.c c-typeprint.c c-valprint.c \
|
c-exp.y c-lang.c c-typeprint.c c-valprint.c \
|
||||||
charset.c cli-out.c coffread.c complaints.c completer.c corefile.c \
|
charset.c cli-out.c coffread.c complaints.c completer.c corefile.c \
|
||||||
cp-abi.c cp-support.c cp-valprint.c \
|
cp-abi.c cp-support.c cp-valprint.c \
|
||||||
|
@ -606,6 +606,7 @@ arm_tdep_h = arm-tdep.h
|
||||||
ax_gdb_h = ax-gdb.h
|
ax_gdb_h = ax-gdb.h
|
||||||
ax_h = ax.h $(doublest_h)
|
ax_h = ax.h $(doublest_h)
|
||||||
bcache_h = bcache.h
|
bcache_h = bcache.h
|
||||||
|
block_h = block.h
|
||||||
breakpoint_h = breakpoint.h $(frame_h) $(value_h) $(gdb_events_h)
|
breakpoint_h = breakpoint.h $(frame_h) $(value_h) $(gdb_events_h)
|
||||||
buildsym_h = buildsym.h
|
buildsym_h = buildsym.h
|
||||||
builtin_regs_h = builtin-regs.h
|
builtin_regs_h = builtin-regs.h
|
||||||
|
@ -824,7 +825,7 @@ TAGFILES_WITH_SRCDIR = $(HFILES_WITH_SRCDIR)
|
||||||
COMMON_OBS = version.o blockframe.o breakpoint.o findvar.o regcache.o \
|
COMMON_OBS = version.o blockframe.o breakpoint.o findvar.o regcache.o \
|
||||||
charset.o disasm.o dummy-frame.o \
|
charset.o disasm.o dummy-frame.o \
|
||||||
source.o values.o eval.o valops.o valarith.o valprint.o printcmd.o \
|
source.o values.o eval.o valops.o valarith.o valprint.o printcmd.o \
|
||||||
symtab.o symfile.o symmisc.o linespec.o infcmd.o infrun.o \
|
block.o symtab.o symfile.o symmisc.o linespec.o infcmd.o infrun.o \
|
||||||
expprint.o environ.o stack.o thread.o \
|
expprint.o environ.o stack.o thread.o \
|
||||||
interps.o \
|
interps.o \
|
||||||
macrotab.o macrocmd.o macroexp.o macroscope.o \
|
macrotab.o macrocmd.o macroexp.o macroscope.o \
|
||||||
|
@ -1431,32 +1432,32 @@ z8k-tdep.o: $(srcdir)/z8k-tdep.c
|
||||||
c-exp.tab.o: c-exp.tab.c $(defs_h) $(gdb_string_h) $(expression_h) \
|
c-exp.tab.o: c-exp.tab.c $(defs_h) $(gdb_string_h) $(expression_h) \
|
||||||
$(value_h) $(parser_defs_h) $(language_h) $(c_lang_h) $(bfd_h) \
|
$(value_h) $(parser_defs_h) $(language_h) $(c_lang_h) $(bfd_h) \
|
||||||
$(charset_h) \
|
$(charset_h) \
|
||||||
$(symfile_h) $(objfiles_h)
|
$(symfile_h) $(objfiles_h) $(block_h)
|
||||||
|
|
||||||
objc-exp.tab.o: objc-exp.tab.c $(objc_lang_h) $(defs_h) $(expression_h) \
|
objc-exp.tab.o: objc-exp.tab.c $(objc_lang_h) $(defs_h) $(expression_h) \
|
||||||
$(gdbtypes_h) $(language_h) $(parser_defs_h) $(symtab_h) $(value_h) \
|
$(gdbtypes_h) $(language_h) $(parser_defs_h) $(symtab_h) $(value_h) \
|
||||||
$(bfd_h) $(objfiles_h) $(symfile_h)
|
$(bfd_h) $(objfiles_h) $(symfile_h) $(block_h)
|
||||||
|
|
||||||
jv-exp.tab.o: jv-exp.tab.c jv-lang.h $(defs_h) $(expression_h) \
|
jv-exp.tab.o: jv-exp.tab.c jv-lang.h $(defs_h) $(expression_h) \
|
||||||
$(gdbtypes_h) $(language_h) $(parser_defs_h) $(symtab_h) $(value_h) \
|
$(gdbtypes_h) $(language_h) $(parser_defs_h) $(symtab_h) $(value_h) \
|
||||||
$(bfd_h) $(objfiles_h) $(symfile_h)
|
$(bfd_h) $(objfiles_h) $(symfile_h) $(block_h)
|
||||||
|
|
||||||
f-exp.tab.o: f-exp.tab.c f-lang.h $(defs_h) $(expression_h) \
|
f-exp.tab.o: f-exp.tab.c f-lang.h $(defs_h) $(expression_h) \
|
||||||
$(language_h) $(parser_defs_h) $(value_h) $(bfd_h) $(objfiles_h) \
|
$(language_h) $(parser_defs_h) $(value_h) $(bfd_h) $(objfiles_h) \
|
||||||
$(symfile_h)
|
$(symfile_h) $(block_h)
|
||||||
|
|
||||||
m2-exp.tab.o: m2-exp.tab.c $(defs_h) $(expression_h) $(gdbtypes_h) \
|
m2-exp.tab.o: m2-exp.tab.c $(defs_h) $(expression_h) $(gdbtypes_h) \
|
||||||
$(language_h) m2-lang.h $(parser_defs_h) $(symtab_h) $(value_h) \
|
$(language_h) m2-lang.h $(parser_defs_h) $(symtab_h) $(value_h) \
|
||||||
$(bfd_h) $(objfiles_h) $(symfile_h)
|
$(bfd_h) $(objfiles_h) $(symfile_h) $(block_h)
|
||||||
|
|
||||||
p-exp.tab.o: p-exp.tab.c $(defs_h) $(expression_h) $(gdbtypes_h) \
|
p-exp.tab.o: p-exp.tab.c $(defs_h) $(expression_h) $(gdbtypes_h) \
|
||||||
$(language_h) p-lang.h $(parser_defs_h) $(symtab_h) $(value_h) \
|
$(language_h) p-lang.h $(parser_defs_h) $(symtab_h) $(value_h) \
|
||||||
$(bfd_h) $(objfiles_h) $(symfile_h)
|
$(bfd_h) $(objfiles_h) $(symfile_h) $(block_h)
|
||||||
|
|
||||||
ada-exp.tab.o: ada-exp.tab.c ada-lex.c ada-lang.h \
|
ada-exp.tab.o: ada-exp.tab.c ada-lex.c ada-lang.h \
|
||||||
$(defs_h) $(expression_h) \
|
$(defs_h) $(expression_h) \
|
||||||
$(gdbtypes_h) language.h parser-defs.h $(symtab_h) $(value_h) \
|
$(gdbtypes_h) language.h parser-defs.h $(symtab_h) $(value_h) \
|
||||||
$(bfd_h) objfiles.h symfile.h
|
$(bfd_h) objfiles.h symfile.h $(block_h)
|
||||||
|
|
||||||
#
|
#
|
||||||
# The dependencies. In aphabetic order.
|
# The dependencies. In aphabetic order.
|
||||||
|
@ -1467,7 +1468,7 @@ abug-rom.o: abug-rom.c $(defs_h) $(gdbcore_h) $(target_h) $(monitor_h) \
|
||||||
ada-lang.o: ada-lang.c $(gdb_string_h) $(demangle_h) $(defs_h) $(symtab_h) \
|
ada-lang.o: ada-lang.c $(gdb_string_h) $(demangle_h) $(defs_h) $(symtab_h) \
|
||||||
$(gdbtypes_h) $(gdbcmd_h) $(expression_h) $(parser_defs_h) \
|
$(gdbtypes_h) $(gdbcmd_h) $(expression_h) $(parser_defs_h) \
|
||||||
$(language_h) $(c_lang_h) $(inferior_h) $(symfile_h) $(objfiles_h) \
|
$(language_h) $(c_lang_h) $(inferior_h) $(symfile_h) $(objfiles_h) \
|
||||||
$(breakpoint_h) $(gdbcore_h) $(ada_lang_h) $(ui_out_h)
|
$(breakpoint_h) $(gdbcore_h) $(ada_lang_h) $(ui_out_h) $(block_h)
|
||||||
ada-tasks.o: ada-tasks.c $(defs_h) $(command_h) $(value_h) $(language_h) \
|
ada-tasks.o: ada-tasks.c $(defs_h) $(command_h) $(value_h) $(language_h) \
|
||||||
$(inferior_h) $(symtab_h) $(target_h) $(gdbcore_h) $(gregset_h) \
|
$(inferior_h) $(symtab_h) $(target_h) $(gdbcore_h) $(gregset_h) \
|
||||||
$(ada_lang_h)
|
$(ada_lang_h)
|
||||||
|
@ -1491,7 +1492,7 @@ alpha-tdep.o: alpha-tdep.c $(defs_h) $(frame_h) $(inferior_h) $(symtab_h) \
|
||||||
$(value_h) $(gdbcmd_h) $(gdbcore_h) $(dis_asm_h) $(symfile_h) \
|
$(value_h) $(gdbcmd_h) $(gdbcore_h) $(dis_asm_h) $(symfile_h) \
|
||||||
$(objfiles_h) $(gdb_string_h) $(linespec_h) $(regcache_h) \
|
$(objfiles_h) $(gdb_string_h) $(linespec_h) $(regcache_h) \
|
||||||
$(doublest_h) $(arch_utils_h) $(elf_bfd_h) $(alpha_tdep_h) \
|
$(doublest_h) $(arch_utils_h) $(elf_bfd_h) $(alpha_tdep_h) \
|
||||||
$(osabi_h)
|
$(osabi_h) $(block_h)
|
||||||
alphabsd-nat.o: alphabsd-nat.c $(defs_h) $(inferior_h) $(regcache_h) \
|
alphabsd-nat.o: alphabsd-nat.c $(defs_h) $(inferior_h) $(regcache_h) \
|
||||||
$(alpha_tdep_h) $(alphabsd_tdep_h) $(gregset_h)
|
$(alpha_tdep_h) $(alphabsd_tdep_h) $(gregset_h)
|
||||||
alphabsd-tdep.o: alphabsd-tdep.c $(defs_h) $(regcache_h) $(alpha_tdep_h) \
|
alphabsd-tdep.o: alphabsd-tdep.c $(defs_h) $(regcache_h) $(alpha_tdep_h) \
|
||||||
|
@ -1527,24 +1528,26 @@ avr-tdep.o: avr-tdep.c $(defs_h) $(gdbcmd_h) $(gdbcore_h) $(inferior_h) \
|
||||||
$(symfile_h) $(arch_utils_h) $(regcache_h) $(gdb_string_h)
|
$(symfile_h) $(arch_utils_h) $(regcache_h) $(gdb_string_h)
|
||||||
ax-gdb.o: ax-gdb.c $(defs_h) $(symtab_h) $(symfile_h) $(gdbtypes_h) \
|
ax-gdb.o: ax-gdb.c $(defs_h) $(symtab_h) $(symfile_h) $(gdbtypes_h) \
|
||||||
$(value_h) $(expression_h) $(command_h) $(gdbcmd_h) $(frame_h) \
|
$(value_h) $(expression_h) $(command_h) $(gdbcmd_h) $(frame_h) \
|
||||||
$(target_h) $(ax_h) $(ax_gdb_h) $(gdb_string_h)
|
$(target_h) $(ax_h) $(ax_gdb_h) $(gdb_string_h) $(block_h)
|
||||||
ax-general.o: ax-general.c $(defs_h) $(ax_h) $(value_h) $(gdb_string_h)
|
ax-general.o: ax-general.c $(defs_h) $(ax_h) $(value_h) $(gdb_string_h)
|
||||||
bcache.o: bcache.c $(defs_h) $(gdb_obstack_h) $(bcache_h) $(gdb_string_h)
|
bcache.o: bcache.c $(defs_h) $(gdb_obstack_h) $(bcache_h) $(gdb_string_h)
|
||||||
|
block.o: block.c $(defs_h) $(block_h) $(symtab_h) $(symfile_h)
|
||||||
blockframe.o: blockframe.c $(defs_h) $(symtab_h) $(bfd_h) $(symfile_h) \
|
blockframe.o: blockframe.c $(defs_h) $(symtab_h) $(bfd_h) $(symfile_h) \
|
||||||
$(objfiles_h) $(frame_h) $(gdbcore_h) $(value_h) $(target_h) \
|
$(objfiles_h) $(frame_h) $(gdbcore_h) $(value_h) $(target_h) \
|
||||||
$(inferior_h) $(annotate_h) $(regcache_h) $(gdb_assert_h) \
|
$(inferior_h) $(annotate_h) $(regcache_h) $(gdb_assert_h) \
|
||||||
$(dummy_frame_h) $(command_h) $(gdbcmd_h)
|
$(dummy_frame_h) $(command_h) $(gdbcmd_h) $(block_h)
|
||||||
breakpoint.o: breakpoint.c $(defs_h) $(symtab_h) $(frame_h) $(breakpoint_h) \
|
breakpoint.o: breakpoint.c $(defs_h) $(symtab_h) $(frame_h) $(breakpoint_h) \
|
||||||
$(gdbtypes_h) $(expression_h) $(gdbcore_h) $(gdbcmd_h) $(value_h) \
|
$(gdbtypes_h) $(expression_h) $(gdbcore_h) $(gdbcmd_h) $(value_h) \
|
||||||
$(command_h) $(inferior_h) $(gdbthread_h) $(target_h) $(language_h) \
|
$(command_h) $(inferior_h) $(gdbthread_h) $(target_h) $(language_h) \
|
||||||
$(gdb_string_h) $(demangle_h) $(annotate_h) $(symfile_h) \
|
$(gdb_string_h) $(demangle_h) $(annotate_h) $(symfile_h) \
|
||||||
$(objfiles_h) $(linespec_h) $(completer_h) $(gdb_h) $(ui_out_h) \
|
$(objfiles_h) $(linespec_h) $(completer_h) $(gdb_h) $(ui_out_h) \
|
||||||
$(cli_script_h) $(gdb_events_h) $(source_h) $(gdb_assert_h)
|
$(cli_script_h) $(gdb_events_h) $(source_h) $(gdb_assert_h) \
|
||||||
|
$(block_h)
|
||||||
buildsym.o: buildsym.c $(defs_h) $(bfd_h) $(gdb_obstack_h) $(symtab_h) \
|
buildsym.o: buildsym.c $(defs_h) $(bfd_h) $(gdb_obstack_h) $(symtab_h) \
|
||||||
$(symfile_h) $(objfiles_h) $(gdbtypes_h) $(gdb_assert_h) \
|
$(symfile_h) $(objfiles_h) $(gdbtypes_h) $(gdb_assert_h) \
|
||||||
$(complaints_h) $(gdb_string_h) $(expression_h) $(language_h) \
|
$(complaints_h) $(gdb_string_h) $(expression_h) $(language_h) \
|
||||||
$(bcache_h) $(filenames_h) $(macrotab_h) $(demangle_h) $(buildsym_h) \
|
$(bcache_h) $(filenames_h) $(macrotab_h) $(demangle_h) $(buildsym_h) \
|
||||||
$(stabsread_h)
|
$(stabsread_h) $(block_h)
|
||||||
builtin-regs.o: builtin-regs.c $(defs_h) $(builtin_regs_h) $(gdbtypes_h) \
|
builtin-regs.o: builtin-regs.c $(defs_h) $(builtin_regs_h) $(gdbtypes_h) \
|
||||||
$(gdb_string_h) $(gdb_assert_h)
|
$(gdb_string_h) $(gdb_assert_h)
|
||||||
c-lang.o: c-lang.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(expression_h) \
|
c-lang.o: c-lang.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(expression_h) \
|
||||||
|
@ -1567,7 +1570,7 @@ coffread.o: coffread.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(demangle_h) \
|
||||||
$(breakpoint_h) $(bfd_h) $(gdb_obstack_h) $(gdb_string_h) \
|
$(breakpoint_h) $(bfd_h) $(gdb_obstack_h) $(gdb_string_h) \
|
||||||
$(coff_internal_h) $(libcoff_h) $(symfile_h) $(objfiles_h) \
|
$(coff_internal_h) $(libcoff_h) $(symfile_h) $(objfiles_h) \
|
||||||
$(buildsym_h) $(gdb_stabs_h) $(stabsread_h) $(complaints_h) \
|
$(buildsym_h) $(gdb_stabs_h) $(stabsread_h) $(complaints_h) \
|
||||||
$(target_h) $(gdb_assert_h)
|
$(target_h) $(gdb_assert_h) $(block_h)
|
||||||
complaints.o: complaints.c $(defs_h) $(complaints_h) $(gdb_assert_h) \
|
complaints.o: complaints.c $(defs_h) $(complaints_h) $(gdb_assert_h) \
|
||||||
$(command_h) $(gdbcmd_h)
|
$(command_h) $(gdbcmd_h)
|
||||||
completer.o: completer.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(expression_h) \
|
completer.o: completer.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(expression_h) \
|
||||||
|
@ -1654,7 +1657,8 @@ exec.o: exec.c $(defs_h) $(frame_h) $(inferior_h) $(target_h) $(gdbcmd_h) \
|
||||||
$(gdb_string_h) $(gdbcore_h) $(gdb_stat_h) $(xcoffsolib_h) \
|
$(gdb_string_h) $(gdbcore_h) $(gdb_stat_h) $(xcoffsolib_h) \
|
||||||
$(readline_h)
|
$(readline_h)
|
||||||
expprint.o: expprint.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(expression_h) \
|
expprint.o: expprint.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(expression_h) \
|
||||||
$(value_h) $(language_h) $(parser_defs_h) $(target_h) $(gdb_string_h)
|
$(value_h) $(language_h) $(parser_defs_h) $(target_h) $(gdb_string_h) \
|
||||||
|
$(block_h)
|
||||||
f-lang.o: f-lang.c $(defs_h) $(gdb_string_h) $(symtab_h) $(gdbtypes_h) \
|
f-lang.o: f-lang.c $(defs_h) $(gdb_string_h) $(symtab_h) $(gdbtypes_h) \
|
||||||
$(expression_h) $(parser_defs_h) $(language_h) $(f_lang_h) \
|
$(expression_h) $(parser_defs_h) $(language_h) $(f_lang_h) \
|
||||||
$(valprint_h)
|
$(valprint_h)
|
||||||
|
@ -1663,13 +1667,13 @@ f-typeprint.o: f-typeprint.c $(defs_h) $(gdb_obstack_h) $(bfd_h) $(symtab_h) \
|
||||||
$(f_lang_h) $(gdb_string_h)
|
$(f_lang_h) $(gdb_string_h)
|
||||||
f-valprint.o: f-valprint.c $(defs_h) $(gdb_string_h) $(symtab_h) \
|
f-valprint.o: f-valprint.c $(defs_h) $(gdb_string_h) $(symtab_h) \
|
||||||
$(gdbtypes_h) $(expression_h) $(value_h) $(valprint_h) $(language_h) \
|
$(gdbtypes_h) $(expression_h) $(value_h) $(valprint_h) $(language_h) \
|
||||||
$(f_lang_h) $(frame_h) $(gdbcore_h) $(command_h)
|
$(f_lang_h) $(frame_h) $(gdbcore_h) $(command_h) $(block_h)
|
||||||
fbsd-proc.o: fbsd-proc.c $(defs_h) $(gdbcore_h) $(inferior_h) \
|
fbsd-proc.o: fbsd-proc.c $(defs_h) $(gdbcore_h) $(inferior_h) \
|
||||||
$(gdb_string_h) $(elf_bfd_h) $(gregset_h)
|
$(gdb_string_h) $(elf_bfd_h) $(gregset_h)
|
||||||
findvar.o: findvar.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(frame_h) \
|
findvar.o: findvar.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(frame_h) \
|
||||||
$(value_h) $(gdbcore_h) $(inferior_h) $(target_h) $(gdb_string_h) \
|
$(value_h) $(gdbcore_h) $(inferior_h) $(target_h) $(gdb_string_h) \
|
||||||
$(gdb_assert_h) $(floatformat_h) $(symfile_h) $(regcache_h) \
|
$(gdb_assert_h) $(floatformat_h) $(symfile_h) $(regcache_h) \
|
||||||
$(builtin_regs_h)
|
$(builtin_regs_h) $(block_h)
|
||||||
fork-child.o: fork-child.c $(defs_h) $(gdb_string_h) $(frame_h) \
|
fork-child.o: fork-child.c $(defs_h) $(gdb_string_h) $(frame_h) \
|
||||||
$(inferior_h) $(target_h) $(gdb_wait_h) $(gdb_vfork_h) $(gdbcore_h) \
|
$(inferior_h) $(target_h) $(gdb_wait_h) $(gdb_vfork_h) $(gdbcore_h) \
|
||||||
$(terminal_h) $(gdbthread_h) $(command_h)
|
$(terminal_h) $(gdbthread_h) $(command_h)
|
||||||
|
@ -1791,7 +1795,7 @@ infcmd.o: infcmd.c $(defs_h) $(gdb_string_h) $(symtab_h) $(gdbtypes_h) \
|
||||||
$(frame_h) $(inferior_h) $(environ_h) $(value_h) $(gdbcmd_h) \
|
$(frame_h) $(inferior_h) $(environ_h) $(value_h) $(gdbcmd_h) \
|
||||||
$(symfile_h) $(gdbcore_h) $(target_h) $(language_h) $(symfile_h) \
|
$(symfile_h) $(gdbcore_h) $(target_h) $(language_h) $(symfile_h) \
|
||||||
$(objfiles_h) $(completer_h) $(ui_out_h) $(event_top_h) \
|
$(objfiles_h) $(completer_h) $(ui_out_h) $(event_top_h) \
|
||||||
$(parser_defs_h) $(regcache_h)
|
$(parser_defs_h) $(regcache_h) $(block_h)
|
||||||
inflow.o: inflow.c $(defs_h) $(frame_h) $(inferior_h) $(command_h) \
|
inflow.o: inflow.c $(defs_h) $(frame_h) $(inferior_h) $(command_h) \
|
||||||
$(serial_h) $(terminal_h) $(target_h) $(gdbthread_h) $(gdb_string_h) \
|
$(serial_h) $(terminal_h) $(target_h) $(gdbthread_h) $(gdb_string_h) \
|
||||||
$(inflow_h)
|
$(inflow_h)
|
||||||
|
@ -1816,7 +1820,7 @@ irix5-nat.o: irix5-nat.c $(defs_h) $(inferior_h) $(gdbcore_h) $(target_h) \
|
||||||
jv-lang.o: jv-lang.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(expression_h) \
|
jv-lang.o: jv-lang.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(expression_h) \
|
||||||
$(parser_defs_h) $(language_h) $(gdbtypes_h) $(symtab_h) \
|
$(parser_defs_h) $(language_h) $(gdbtypes_h) $(symtab_h) \
|
||||||
$(symfile_h) $(objfiles_h) $(gdb_string_h) $(value_h) $(c_lang_h) \
|
$(symfile_h) $(objfiles_h) $(gdb_string_h) $(value_h) $(c_lang_h) \
|
||||||
$(jv_lang_h) $(gdbcore_h)
|
$(jv_lang_h) $(gdbcore_h) $(block_h)
|
||||||
jv-typeprint.o: jv-typeprint.c $(defs_h) $(symtab_h) $(gdbtypes_h) \
|
jv-typeprint.o: jv-typeprint.c $(defs_h) $(symtab_h) $(gdbtypes_h) \
|
||||||
$(value_h) $(demangle_h) $(jv_lang_h) $(gdb_string_h) $(typeprint_h) \
|
$(value_h) $(demangle_h) $(jv_lang_h) $(gdb_string_h) $(typeprint_h) \
|
||||||
$(c_lang_h) $(cp_abi_h)
|
$(c_lang_h) $(cp_abi_h)
|
||||||
|
@ -1833,7 +1837,7 @@ lin-lwp.o: lin-lwp.c $(defs_h) $(gdb_assert_h) $(gdb_string_h) $(gdb_wait_h) \
|
||||||
$(gdbthread_h) $(inferior_h) $(target_h) $(regcache_h) $(gdbcmd_h)
|
$(gdbthread_h) $(inferior_h) $(target_h) $(regcache_h) $(gdbcmd_h)
|
||||||
linespec.o: linespec.c $(defs_h) $(symtab_h) $(frame_h) $(command_h) \
|
linespec.o: linespec.c $(defs_h) $(symtab_h) $(frame_h) $(command_h) \
|
||||||
$(symfile_h) $(objfiles_h) $(demangle_h) $(value_h) $(completer_h) \
|
$(symfile_h) $(objfiles_h) $(demangle_h) $(value_h) $(completer_h) \
|
||||||
$(cp_abi_h) $(source_h) $(parser_defs_h)
|
$(cp_abi_h) $(source_h) $(parser_defs_h) $(block_h)
|
||||||
linux-proc.o: linux-proc.c $(defs_h) $(inferior_h) $(regcache_h) \
|
linux-proc.o: linux-proc.c $(defs_h) $(inferior_h) $(regcache_h) \
|
||||||
$(gregset_h) $(gdbcore_h) $(gdbthread_h) $(elf_bfd_h) \
|
$(gregset_h) $(gdbcore_h) $(gdbthread_h) $(elf_bfd_h) \
|
||||||
$(cli_decode_h) $(gdb_string_h)
|
$(cli_decode_h) $(gdb_string_h)
|
||||||
|
@ -1896,6 +1900,7 @@ mcore-tdep.o: mcore-tdep.c $(defs_h) $(frame_h) $(symtab_h) $(value_h) \
|
||||||
mdebugread.o: mdebugread.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(gdbcore_h) \
|
mdebugread.o: mdebugread.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(gdbcore_h) \
|
||||||
$(symfile_h) $(objfiles_h) $(gdb_obstack_h) $(buildsym_h) \
|
$(symfile_h) $(objfiles_h) $(gdb_obstack_h) $(buildsym_h) \
|
||||||
$(stabsread_h) $(complaints_h) $(demangle_h) $(gdb_assert_h) \
|
$(stabsread_h) $(complaints_h) $(demangle_h) $(gdb_assert_h) \
|
||||||
|
$(block_h) \
|
||||||
$(coff_sym_h) $(coff_symconst_h) $(gdb_stat_h) $(gdb_string_h) \
|
$(coff_sym_h) $(coff_symconst_h) $(gdb_stat_h) $(gdb_string_h) \
|
||||||
$(bfd_h) $(coff_ecoff_h) $(libaout_h) $(aout_aout64_h) \
|
$(bfd_h) $(coff_ecoff_h) $(libaout_h) $(aout_aout64_h) \
|
||||||
$(aout_stab_gnu_h) $(expression_h) $(language_h)
|
$(aout_stab_gnu_h) $(expression_h) $(language_h)
|
||||||
|
@ -1914,7 +1919,7 @@ mips-nat.o: mips-nat.c $(defs_h) $(inferior_h) $(gdbcore_h) $(regcache_h)
|
||||||
mips-tdep.o: mips-tdep.c $(defs_h) $(gdb_string_h) $(frame_h) $(inferior_h) \
|
mips-tdep.o: mips-tdep.c $(defs_h) $(gdb_string_h) $(frame_h) $(inferior_h) \
|
||||||
$(symtab_h) $(value_h) $(gdbcmd_h) $(language_h) $(gdbcore_h) \
|
$(symtab_h) $(value_h) $(gdbcmd_h) $(language_h) $(gdbcore_h) \
|
||||||
$(symfile_h) $(objfiles_h) $(gdbtypes_h) $(target_h) $(arch_utils_h) \
|
$(symfile_h) $(objfiles_h) $(gdbtypes_h) $(target_h) $(arch_utils_h) \
|
||||||
$(regcache_h) $(osabi_h) $(mips_tdep_h) $(opcode_mips_h) \
|
$(regcache_h) $(osabi_h) $(mips_tdep_h) $(block_h) $(opcode_mips_h) \
|
||||||
$(elf_mips_h) $(elf_bfd_h) $(symcat_h)
|
$(elf_mips_h) $(elf_bfd_h) $(symcat_h)
|
||||||
mipsm3-nat.o: mipsm3-nat.c $(defs_h) $(inferior_h) $(regcache_h)
|
mipsm3-nat.o: mipsm3-nat.c $(defs_h) $(inferior_h) $(regcache_h)
|
||||||
mipsnbsd-nat.o: mipsnbsd-nat.c $(defs_h) $(inferior_h) $(regcache_h) \
|
mipsnbsd-nat.o: mipsnbsd-nat.c $(defs_h) $(inferior_h) $(regcache_h) \
|
||||||
|
@ -1939,7 +1944,7 @@ monitor.o: monitor.c $(defs_h) $(gdbcore_h) $(target_h) $(gdb_string_h) \
|
||||||
$(gdb_regex_h) $(srec_h) $(regcache_h)
|
$(gdb_regex_h) $(srec_h) $(regcache_h)
|
||||||
nbsd-tdep.o: nbsd-tdep.c $(defs_h) $(gdb_string_h) $(solib_svr4_h)
|
nbsd-tdep.o: nbsd-tdep.c $(defs_h) $(gdb_string_h) $(solib_svr4_h)
|
||||||
nlmread.o: nlmread.c $(defs_h) $(bfd_h) $(symtab_h) $(symfile_h) \
|
nlmread.o: nlmread.c $(defs_h) $(bfd_h) $(symtab_h) $(symfile_h) \
|
||||||
$(objfiles_h) $(buildsym_h) $(stabsread_h)
|
$(objfiles_h) $(buildsym_h) $(stabsread_h) $(block_h)
|
||||||
ns32k-tdep.o: ns32k-tdep.c $(defs_h) $(frame_h) $(gdbtypes_h) $(gdbcore_h) \
|
ns32k-tdep.o: ns32k-tdep.c $(defs_h) $(frame_h) $(gdbtypes_h) $(gdbcore_h) \
|
||||||
$(inferior_h) $(regcache_h) $(target_h) $(arch_utils_h) \
|
$(inferior_h) $(regcache_h) $(target_h) $(arch_utils_h) \
|
||||||
$(ns32k_tdep_h) $(gdb_string_h) $(osabi_h)
|
$(ns32k_tdep_h) $(gdb_string_h) $(osabi_h)
|
||||||
|
@ -1951,10 +1956,11 @@ objc-lang.o: objc-lang.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(expression_h) \
|
||||||
$(parser_defs_h) $(language_h) $(c_lang_h) $(objc_lang_h) \
|
$(parser_defs_h) $(language_h) $(c_lang_h) $(objc_lang_h) \
|
||||||
$(complaints_h) $(value_h) $(symfile_h) $(objfiles_h) \
|
$(complaints_h) $(value_h) $(symfile_h) $(objfiles_h) \
|
||||||
$(gdb_string_h) $(target_h) $(gdbcore_h) $(gdbcmd_h) $(frame_h) \
|
$(gdb_string_h) $(target_h) $(gdbcore_h) $(gdbcmd_h) $(frame_h) \
|
||||||
$(gdb_regex_h) $(regcache_h)
|
$(gdb_regex_h) $(regcache_h) $(block_h)
|
||||||
objfiles.o: objfiles.c $(defs_h) $(bfd_h) $(symtab_h) $(symfile_h) \
|
objfiles.o: objfiles.c $(defs_h) $(bfd_h) $(symtab_h) $(symfile_h) \
|
||||||
$(objfiles_h) $(gdb_stabs_h) $(target_h) $(bcache_h) $(gdb_stat_h) \
|
$(objfiles_h) $(gdb_stabs_h) $(target_h) $(bcache_h) $(gdb_stat_h) \
|
||||||
$(gdb_obstack_h) $(gdb_string_h) $(breakpoint_h) $(mmalloc_h)
|
$(gdb_obstack_h) $(gdb_string_h) $(breakpoint_h) $(mmalloc_h) \
|
||||||
|
$(block_h)
|
||||||
ocd.o: ocd.c $(defs_h) $(gdbcore_h) $(gdb_string_h) $(frame_h) $(inferior_h) \
|
ocd.o: ocd.c $(defs_h) $(gdbcore_h) $(gdb_string_h) $(frame_h) $(inferior_h) \
|
||||||
$(bfd_h) $(symfile_h) $(target_h) $(gdbcmd_h) $(objfiles_h) \
|
$(bfd_h) $(symfile_h) $(target_h) $(gdbcmd_h) $(objfiles_h) \
|
||||||
$(gdb_stabs_h) $(serial_h) $(ocd_h) $(regcache_h)
|
$(gdb_stabs_h) $(serial_h) $(ocd_h) $(regcache_h)
|
||||||
|
@ -1979,7 +1985,7 @@ pa64solib.o: pa64solib.c $(defs_h) $(frame_h) $(bfd_h) $(libhppa_h) \
|
||||||
parse.o: parse.c $(defs_h) $(gdb_string_h) $(symtab_h) $(gdbtypes_h) \
|
parse.o: parse.c $(defs_h) $(gdb_string_h) $(symtab_h) $(gdbtypes_h) \
|
||||||
$(frame_h) $(expression_h) $(value_h) $(command_h) $(language_h) \
|
$(frame_h) $(expression_h) $(value_h) $(command_h) $(language_h) \
|
||||||
$(parser_defs_h) $(gdbcmd_h) $(symfile_h) $(inferior_h) \
|
$(parser_defs_h) $(gdbcmd_h) $(symfile_h) $(inferior_h) \
|
||||||
$(doublest_h) $(builtin_regs_h) $(gdb_assert_h)
|
$(doublest_h) $(builtin_regs_h) $(gdb_assert_h) $(block_h)
|
||||||
ppc-bdm.o: ppc-bdm.c $(defs_h) $(gdbcore_h) $(gdb_string_h) $(frame_h) \
|
ppc-bdm.o: ppc-bdm.c $(defs_h) $(gdbcore_h) $(gdb_string_h) $(frame_h) \
|
||||||
$(inferior_h) $(bfd_h) $(symfile_h) $(target_h) $(gdbcmd_h) \
|
$(inferior_h) $(bfd_h) $(symfile_h) $(target_h) $(gdbcmd_h) \
|
||||||
$(objfiles_h) $(gdb_stabs_h) $(serial_h) $(ocd_h) $(ppc_tdep_h) \
|
$(objfiles_h) $(gdb_stabs_h) $(serial_h) $(ocd_h) $(ppc_tdep_h) \
|
||||||
|
@ -2004,7 +2010,7 @@ printcmd.o: printcmd.c $(defs_h) $(gdb_string_h) $(frame_h) $(symtab_h) \
|
||||||
$(gdbtypes_h) $(value_h) $(language_h) $(expression_h) $(gdbcore_h) \
|
$(gdbtypes_h) $(value_h) $(language_h) $(expression_h) $(gdbcore_h) \
|
||||||
$(gdbcmd_h) $(target_h) $(breakpoint_h) $(demangle_h) $(valprint_h) \
|
$(gdbcmd_h) $(target_h) $(breakpoint_h) $(demangle_h) $(valprint_h) \
|
||||||
$(annotate_h) $(symfile_h) $(objfiles_h) $(completer_h) $(ui_out_h) \
|
$(annotate_h) $(symfile_h) $(objfiles_h) $(completer_h) $(ui_out_h) \
|
||||||
$(gdb_assert_h)
|
$(gdb_assert_h) $(block_h)
|
||||||
proc-api.o: proc-api.c $(defs_h) $(gdbcmd_h) $(completer_h) $(gdb_wait_h) \
|
proc-api.o: proc-api.c $(defs_h) $(gdbcmd_h) $(completer_h) $(gdb_wait_h) \
|
||||||
$(proc_utils_h)
|
$(proc_utils_h)
|
||||||
proc-events.o: proc-events.c $(defs_h)
|
proc-events.o: proc-events.c $(defs_h)
|
||||||
|
@ -2191,7 +2197,7 @@ stabsread.o: stabsread.c $(defs_h) $(gdb_string_h) $(bfd_h) $(gdb_obstack_h) \
|
||||||
stack.o: stack.c $(defs_h) $(gdb_string_h) $(value_h) $(symtab_h) \
|
stack.o: stack.c $(defs_h) $(gdb_string_h) $(value_h) $(symtab_h) \
|
||||||
$(gdbtypes_h) $(expression_h) $(language_h) $(frame_h) $(gdbcmd_h) \
|
$(gdbtypes_h) $(expression_h) $(language_h) $(frame_h) $(gdbcmd_h) \
|
||||||
$(gdbcore_h) $(target_h) $(breakpoint_h) $(demangle_h) $(inferior_h) \
|
$(gdbcore_h) $(target_h) $(breakpoint_h) $(demangle_h) $(inferior_h) \
|
||||||
$(annotate_h) $(ui_out_h) $(source_h)
|
$(annotate_h) $(ui_out_h) $(source_h) $(block_h)
|
||||||
standalone.o: standalone.c $(gdb_stat_h) $(defs_h) $(symtab_h) $(frame_h) \
|
standalone.o: standalone.c $(gdb_stat_h) $(defs_h) $(symtab_h) $(frame_h) \
|
||||||
$(inferior_h) $(gdb_wait_h)
|
$(inferior_h) $(gdb_wait_h)
|
||||||
std-regs.o: std-regs.c $(defs_h) $(builtin_regs_h) $(frame_h) $(gdbtypes_h) \
|
std-regs.o: std-regs.c $(defs_h) $(builtin_regs_h) $(frame_h) $(gdbtypes_h) \
|
||||||
|
@ -2203,7 +2209,7 @@ symfile.o: symfile.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(gdbcore_h) \
|
||||||
$(gdbcmd_h) $(breakpoint_h) $(language_h) $(complaints_h) \
|
$(gdbcmd_h) $(breakpoint_h) $(language_h) $(complaints_h) \
|
||||||
$(demangle_h) $(inferior_h) $(gdb_stabs_h) $(gdb_obstack_h) \
|
$(demangle_h) $(inferior_h) $(gdb_stabs_h) $(gdb_obstack_h) \
|
||||||
$(completer_h) $(bcache_h) $(gdb_string_h) $(gdb_stat_h) $(source_h) \
|
$(completer_h) $(bcache_h) $(gdb_string_h) $(gdb_stat_h) $(source_h) \
|
||||||
$(gdb_assert_h) $(readline_h) $(filenames_h)
|
$(gdb_assert_h) $(readline_h) $(filenames_h) $(block_h)
|
||||||
symm-nat.o: symm-nat.c $(defs_h) $(frame_h) $(inferior_h) $(symtab_h) \
|
symm-nat.o: symm-nat.c $(defs_h) $(frame_h) $(inferior_h) $(symtab_h) \
|
||||||
$(target_h) $(regcache_h) $(gdb_wait_h) $(gdb_stat_h) $(gdbcore_h) \
|
$(target_h) $(regcache_h) $(gdb_wait_h) $(gdb_stat_h) $(gdbcore_h) \
|
||||||
$(gdbcore_h)
|
$(gdbcore_h)
|
||||||
|
@ -2212,13 +2218,13 @@ symm-tdep.o: symm-tdep.c $(defs_h) $(frame_h) $(inferior_h) $(symtab_h) \
|
||||||
symmisc.o: symmisc.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(bfd_h) \
|
symmisc.o: symmisc.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(bfd_h) \
|
||||||
$(symfile_h) $(objfiles_h) $(breakpoint_h) $(command_h) \
|
$(symfile_h) $(objfiles_h) $(breakpoint_h) $(command_h) \
|
||||||
$(gdb_obstack_h) $(language_h) $(bcache_h) $(gdb_string_h) \
|
$(gdb_obstack_h) $(language_h) $(bcache_h) $(gdb_string_h) \
|
||||||
$(readline_h)
|
$(readline_h) $(block_h)
|
||||||
symtab.o: symtab.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(gdbcore_h) \
|
symtab.o: symtab.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(gdbcore_h) \
|
||||||
$(frame_h) $(target_h) $(value_h) $(symfile_h) $(objfiles_h) \
|
$(frame_h) $(target_h) $(value_h) $(symfile_h) $(objfiles_h) \
|
||||||
$(gdbcmd_h) $(call_cmds_h) $(gdb_regex_h) $(expression_h) \
|
$(gdbcmd_h) $(call_cmds_h) $(gdb_regex_h) $(expression_h) \
|
||||||
$(language_h) $(demangle_h) $(inferior_h) $(linespec_h) \
|
$(language_h) $(demangle_h) $(inferior_h) $(linespec_h) \
|
||||||
$(filenames_h) $(gdb_obstack_h) $(gdb_string_h) $(gdb_stat_h) \
|
$(filenames_h) $(gdb_obstack_h) $(gdb_string_h) $(gdb_stat_h) \
|
||||||
$(cp_abi_h) $(source_h)
|
$(cp_abi_h) $(source_h) $(block_h)
|
||||||
target.o: target.c $(defs_h) $(gdb_string_h) $(target_h) $(gdbcmd_h) \
|
target.o: target.c $(defs_h) $(gdb_string_h) $(target_h) $(gdbcmd_h) \
|
||||||
$(symtab_h) $(inferior_h) $(bfd_h) $(symfile_h) $(objfiles_h) \
|
$(symtab_h) $(inferior_h) $(bfd_h) $(symfile_h) $(objfiles_h) \
|
||||||
$(gdb_wait_h) $(dcache_h) $(regcache_h)
|
$(gdb_wait_h) $(dcache_h) $(regcache_h)
|
||||||
|
@ -2238,8 +2244,8 @@ top.o: top.c $(defs_h) $(gdbcmd_h) $(call_cmds_h) $(cli_cmds_h) \
|
||||||
tracepoint.o: tracepoint.c $(defs_h) $(symtab_h) $(frame_h) $(gdbtypes_h) \
|
tracepoint.o: tracepoint.c $(defs_h) $(symtab_h) $(frame_h) $(gdbtypes_h) \
|
||||||
$(expression_h) $(gdbcmd_h) $(value_h) $(target_h) $(language_h) \
|
$(expression_h) $(gdbcmd_h) $(value_h) $(target_h) $(language_h) \
|
||||||
$(gdb_string_h) $(inferior_h) $(tracepoint_h) $(remote_h) \
|
$(gdb_string_h) $(inferior_h) $(tracepoint_h) $(remote_h) \
|
||||||
$(linespec_h) $(regcache_h) $(completer_h) $(gdb_events_h) $(ax_h) \
|
$(linespec_h) $(regcache_h) $(completer_h) $(gdb_events_h) \
|
||||||
$(ax_gdb_h) $(readline_h)
|
$(block_h) $(ax_h) $(ax_gdb_h) $(readline_h)
|
||||||
typeprint.o: typeprint.c $(defs_h) $(gdb_obstack_h) $(bfd_h) $(symtab_h) \
|
typeprint.o: typeprint.c $(defs_h) $(gdb_obstack_h) $(bfd_h) $(symtab_h) \
|
||||||
$(gdbtypes_h) $(expression_h) $(value_h) $(gdbcore_h) $(command_h) \
|
$(gdbtypes_h) $(expression_h) $(value_h) $(gdbcore_h) $(command_h) \
|
||||||
$(gdbcmd_h) $(target_h) $(language_h) $(cp_abi_h) $(gdb_string_h)
|
$(gdbcmd_h) $(target_h) $(language_h) $(cp_abi_h) $(gdb_string_h)
|
||||||
|
@ -2264,14 +2270,14 @@ valarith.o: valarith.c $(defs_h) $(value_h) $(symtab_h) $(gdbtypes_h) \
|
||||||
valops.o: valops.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(value_h) $(frame_h) \
|
valops.o: valops.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(value_h) $(frame_h) \
|
||||||
$(inferior_h) $(gdbcore_h) $(target_h) $(demangle_h) $(language_h) \
|
$(inferior_h) $(gdbcore_h) $(target_h) $(demangle_h) $(language_h) \
|
||||||
$(gdbcmd_h) $(regcache_h) $(cp_abi_h) $(gdb_string_h) \
|
$(gdbcmd_h) $(regcache_h) $(cp_abi_h) $(gdb_string_h) \
|
||||||
$(gdb_assert_h)
|
$(gdb_assert_h) $(block_h)
|
||||||
valprint.o: valprint.c $(defs_h) $(gdb_string_h) $(symtab_h) $(gdbtypes_h) \
|
valprint.o: valprint.c $(defs_h) $(gdb_string_h) $(symtab_h) $(gdbtypes_h) \
|
||||||
$(value_h) $(gdbcore_h) $(gdbcmd_h) $(target_h) $(language_h) \
|
$(value_h) $(gdbcore_h) $(gdbcmd_h) $(target_h) $(language_h) \
|
||||||
$(annotate_h) $(valprint_h) $(floatformat_h) $(doublest_h)
|
$(annotate_h) $(valprint_h) $(floatformat_h) $(doublest_h)
|
||||||
values.o: values.c $(defs_h) $(gdb_string_h) $(symtab_h) $(gdbtypes_h) \
|
values.o: values.c $(defs_h) $(gdb_string_h) $(symtab_h) $(gdbtypes_h) \
|
||||||
$(value_h) $(gdbcore_h) $(command_h) $(gdbcmd_h) $(target_h) \
|
$(value_h) $(gdbcore_h) $(command_h) $(gdbcmd_h) $(target_h) \
|
||||||
$(language_h) $(scm_lang_h) $(demangle_h) $(doublest_h) \
|
$(language_h) $(scm_lang_h) $(demangle_h) $(doublest_h) \
|
||||||
$(gdb_assert_h) $(regcache_h)
|
$(gdb_assert_h) $(regcache_h) $(block_h)
|
||||||
varobj.o: varobj.c $(defs_h) $(value_h) $(expression_h) $(frame_h) \
|
varobj.o: varobj.c $(defs_h) $(value_h) $(expression_h) $(frame_h) \
|
||||||
$(language_h) $(wrapper_h) $(gdbcmd_h) $(gdb_string_h) $(varobj_h)
|
$(language_h) $(wrapper_h) $(gdbcmd_h) $(gdb_string_h) $(varobj_h)
|
||||||
vax-tdep.o: vax-tdep.c $(defs_h) $(symtab_h) $(opcode_vax_h) $(gdbcore_h) \
|
vax-tdep.o: vax-tdep.c $(defs_h) $(symtab_h) $(opcode_vax_h) $(gdbcore_h) \
|
||||||
|
@ -2296,7 +2302,7 @@ x86-64-linux-tdep.o: x86-64-linux-tdep.c $(defs_h) $(inferior_h) $(gdbcore_h) \
|
||||||
$(osabi_h)
|
$(osabi_h)
|
||||||
x86-64-tdep.o: x86-64-tdep.c $(defs_h) $(inferior_h) $(gdbcore_h) \
|
x86-64-tdep.o: x86-64-tdep.c $(defs_h) $(inferior_h) $(gdbcore_h) \
|
||||||
$(gdbcmd_h) $(arch_utils_h) $(regcache_h) $(symfile_h) $(objfiles_h) \
|
$(gdbcmd_h) $(arch_utils_h) $(regcache_h) $(symfile_h) $(objfiles_h) \
|
||||||
$(x86_64_tdep_h) $(dwarf2cfi_h) $(gdb_assert_h)
|
$(x86_64_tdep_h) $(dwarf2cfi_h) $(gdb_assert_h) $(block_h)
|
||||||
xcoffread.o: xcoffread.c $(defs_h) $(bfd_h) $(gdb_string_h) $(gdb_stat_h) \
|
xcoffread.o: xcoffread.c $(defs_h) $(bfd_h) $(gdb_string_h) $(gdb_stat_h) \
|
||||||
$(coff_internal_h) $(libcoff_h) $(coff_xcoff_h) $(libxcoff_h) \
|
$(coff_internal_h) $(libcoff_h) $(coff_xcoff_h) $(libxcoff_h) \
|
||||||
$(coff_rs6000_h) $(symtab_h) $(gdbtypes_h) $(symfile_h) \
|
$(coff_rs6000_h) $(symtab_h) $(gdbtypes_h) $(symfile_h) \
|
||||||
|
@ -2512,7 +2518,7 @@ mi-cmd-env.o: $(srcdir)/mi/mi-cmd-env.c $(defs_h) $(inferior_h) $(value_h) \
|
||||||
$(environ_h) $(command_h) $(ui_out_h) $(top_h) $(gdb_string_h)
|
$(environ_h) $(command_h) $(ui_out_h) $(top_h) $(gdb_string_h)
|
||||||
$(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-cmd-env.c
|
$(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-cmd-env.c
|
||||||
mi-cmd-stack.o: $(srcdir)/mi/mi-cmd-stack.c $(defs_h) $(target_h) $(frame_h) \
|
mi-cmd-stack.o: $(srcdir)/mi/mi-cmd-stack.c $(defs_h) $(target_h) $(frame_h) \
|
||||||
$(value_h) $(mi_cmds_h) $(ui_out_h) $(symtab_h)
|
$(value_h) $(mi_cmds_h) $(ui_out_h) $(symtab_h) $(block_h)
|
||||||
$(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-cmd-stack.c
|
$(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-cmd-stack.c
|
||||||
mi-cmd-var.o: $(srcdir)/mi/mi-cmd-var.c $(defs_h) $(mi_cmds_h) $(ui_out_h) \
|
mi-cmd-var.o: $(srcdir)/mi/mi-cmd-var.c $(defs_h) $(mi_cmds_h) $(ui_out_h) \
|
||||||
$(mi_out_h) $(varobj_h) $(value_h) $(gdb_string_h)
|
$(mi_out_h) $(varobj_h) $(value_h) $(gdb_string_h)
|
||||||
|
|
|
@ -49,6 +49,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||||
#include "symfile.h" /* Required by objfiles.h. */
|
#include "symfile.h" /* Required by objfiles.h. */
|
||||||
#include "objfiles.h" /* For have_full_symbols and have_partial_symbols */
|
#include "objfiles.h" /* For have_full_symbols and have_partial_symbols */
|
||||||
#include "frame.h"
|
#include "frame.h"
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
/* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc),
|
/* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc),
|
||||||
as well as gratuitiously global symbol names, so we can have multiple
|
as well as gratuitiously global symbol names, so we can have multiple
|
||||||
|
|
|
@ -37,6 +37,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||||
#include "gdbcore.h"
|
#include "gdbcore.h"
|
||||||
#include "ada-lang.h"
|
#include "ada-lang.h"
|
||||||
#include "ui-out.h"
|
#include "ui-out.h"
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
struct cleanup *unresolved_names;
|
struct cleanup *unresolved_names;
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||||
#include "value.h"
|
#include "value.h"
|
||||||
#include "gdbtypes.h"
|
#include "gdbtypes.h"
|
||||||
|
|
||||||
|
struct block;
|
||||||
|
|
||||||
/* A macro to reorder the bytes of an address depending on the endiannes
|
/* A macro to reorder the bytes of an address depending on the endiannes
|
||||||
of the target */
|
of the target */
|
||||||
#define EXTRACT_ADDRESS(x) ((void *) extract_address (&(x), sizeof (x)))
|
#define EXTRACT_ADDRESS(x) ((void *) extract_address (&(x), sizeof (x)))
|
||||||
|
|
|
@ -35,6 +35,7 @@
|
||||||
#include "doublest.h"
|
#include "doublest.h"
|
||||||
#include "arch-utils.h"
|
#include "arch-utils.h"
|
||||||
#include "osabi.h"
|
#include "osabi.h"
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
#include "elf-bfd.h"
|
#include "elf-bfd.h"
|
||||||
|
|
||||||
|
|
|
@ -33,6 +33,7 @@
|
||||||
#include "ax.h"
|
#include "ax.h"
|
||||||
#include "ax-gdb.h"
|
#include "ax-gdb.h"
|
||||||
#include "gdb_string.h"
|
#include "gdb_string.h"
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
/* To make sense of this file, you should read doc/agentexpr.texi.
|
/* To make sense of this file, you should read doc/agentexpr.texi.
|
||||||
Then look at the types and enums in ax-gdb.h. For the code itself,
|
Then look at the types and enums in ax-gdb.h. For the code itself,
|
||||||
|
|
141
gdb/block.c
Normal file
141
gdb/block.c
Normal file
|
@ -0,0 +1,141 @@
|
||||||
|
/* Block-related functions for the GNU debugger, GDB.
|
||||||
|
|
||||||
|
Copyright 2003 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GDB.
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
Boston, MA 02111-1307, USA. */
|
||||||
|
|
||||||
|
#include "defs.h"
|
||||||
|
#include "block.h"
|
||||||
|
#include "symtab.h"
|
||||||
|
#include "symfile.h"
|
||||||
|
|
||||||
|
/* Return Nonzero if block a is lexically nested within block b,
|
||||||
|
or if a and b have the same pc range.
|
||||||
|
Return zero otherwise. */
|
||||||
|
|
||||||
|
int
|
||||||
|
contained_in (struct block *a, struct block *b)
|
||||||
|
{
|
||||||
|
if (!a || !b)
|
||||||
|
return 0;
|
||||||
|
return BLOCK_START (a) >= BLOCK_START (b)
|
||||||
|
&& BLOCK_END (a) <= BLOCK_END (b);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Return the symbol for the function which contains a specified
|
||||||
|
lexical block, described by a struct block BL. */
|
||||||
|
|
||||||
|
struct symbol *
|
||||||
|
block_function (struct block *bl)
|
||||||
|
{
|
||||||
|
while (BLOCK_FUNCTION (bl) == 0 && BLOCK_SUPERBLOCK (bl) != 0)
|
||||||
|
bl = BLOCK_SUPERBLOCK (bl);
|
||||||
|
|
||||||
|
return BLOCK_FUNCTION (bl);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Return the blockvector immediately containing the innermost lexical block
|
||||||
|
containing the specified pc value and section, or 0 if there is none.
|
||||||
|
PINDEX is a pointer to the index value of the block. If PINDEX
|
||||||
|
is NULL, we don't pass this information back to the caller. */
|
||||||
|
|
||||||
|
struct blockvector *
|
||||||
|
blockvector_for_pc_sect (register CORE_ADDR pc, struct sec *section,
|
||||||
|
int *pindex, struct symtab *symtab)
|
||||||
|
{
|
||||||
|
register struct block *b;
|
||||||
|
register int bot, top, half;
|
||||||
|
struct blockvector *bl;
|
||||||
|
|
||||||
|
if (symtab == 0) /* if no symtab specified by caller */
|
||||||
|
{
|
||||||
|
/* First search all symtabs for one whose file contains our pc */
|
||||||
|
if ((symtab = find_pc_sect_symtab (pc, section)) == 0)
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
bl = BLOCKVECTOR (symtab);
|
||||||
|
b = BLOCKVECTOR_BLOCK (bl, 0);
|
||||||
|
|
||||||
|
/* Then search that symtab for the smallest block that wins. */
|
||||||
|
/* Use binary search to find the last block that starts before PC. */
|
||||||
|
|
||||||
|
bot = 0;
|
||||||
|
top = BLOCKVECTOR_NBLOCKS (bl);
|
||||||
|
|
||||||
|
while (top - bot > 1)
|
||||||
|
{
|
||||||
|
half = (top - bot + 1) >> 1;
|
||||||
|
b = BLOCKVECTOR_BLOCK (bl, bot + half);
|
||||||
|
if (BLOCK_START (b) <= pc)
|
||||||
|
bot += half;
|
||||||
|
else
|
||||||
|
top = bot + half;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Now search backward for a block that ends after PC. */
|
||||||
|
|
||||||
|
while (bot >= 0)
|
||||||
|
{
|
||||||
|
b = BLOCKVECTOR_BLOCK (bl, bot);
|
||||||
|
if (BLOCK_END (b) > pc)
|
||||||
|
{
|
||||||
|
if (pindex)
|
||||||
|
*pindex = bot;
|
||||||
|
return bl;
|
||||||
|
}
|
||||||
|
bot--;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Return the blockvector immediately containing the innermost lexical block
|
||||||
|
containing the specified pc value, or 0 if there is none.
|
||||||
|
Backward compatibility, no section. */
|
||||||
|
|
||||||
|
struct blockvector *
|
||||||
|
blockvector_for_pc (register CORE_ADDR pc, int *pindex)
|
||||||
|
{
|
||||||
|
return blockvector_for_pc_sect (pc, find_pc_mapped_section (pc),
|
||||||
|
pindex, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Return the innermost lexical block containing the specified pc value
|
||||||
|
in the specified section, or 0 if there is none. */
|
||||||
|
|
||||||
|
struct block *
|
||||||
|
block_for_pc_sect (register CORE_ADDR pc, struct sec *section)
|
||||||
|
{
|
||||||
|
register struct blockvector *bl;
|
||||||
|
int index;
|
||||||
|
|
||||||
|
bl = blockvector_for_pc_sect (pc, section, &index, NULL);
|
||||||
|
if (bl)
|
||||||
|
return BLOCKVECTOR_BLOCK (bl, index);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Return the innermost lexical block containing the specified pc value,
|
||||||
|
or 0 if there is none. Backward compatibility, no section. */
|
||||||
|
|
||||||
|
struct block *
|
||||||
|
block_for_pc (register CORE_ADDR pc)
|
||||||
|
{
|
||||||
|
return block_for_pc_sect (pc, find_pc_mapped_section (pc));
|
||||||
|
}
|
183
gdb/block.h
Normal file
183
gdb/block.h
Normal file
|
@ -0,0 +1,183 @@
|
||||||
|
/* Code dealing with blocks for GDB.
|
||||||
|
|
||||||
|
Copyright 2003 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of GDB.
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
Boston, MA 02111-1307, USA. */
|
||||||
|
|
||||||
|
#ifndef BLOCK_H
|
||||||
|
#define BLOCK_H
|
||||||
|
|
||||||
|
/* Opaque declarations. */
|
||||||
|
|
||||||
|
struct symbol;
|
||||||
|
struct symtab;
|
||||||
|
|
||||||
|
/* All of the name-scope contours of the program
|
||||||
|
are represented by `struct block' objects.
|
||||||
|
All of these objects are pointed to by the blockvector.
|
||||||
|
|
||||||
|
Each block represents one name scope.
|
||||||
|
Each lexical context has its own block.
|
||||||
|
|
||||||
|
The blockvector begins with some special blocks.
|
||||||
|
The GLOBAL_BLOCK contains all the symbols defined in this compilation
|
||||||
|
whose scope is the entire program linked together.
|
||||||
|
The STATIC_BLOCK contains all the symbols whose scope is the
|
||||||
|
entire compilation excluding other separate compilations.
|
||||||
|
Blocks starting with the FIRST_LOCAL_BLOCK are not special.
|
||||||
|
|
||||||
|
Each block records a range of core addresses for the code that
|
||||||
|
is in the scope of the block. The STATIC_BLOCK and GLOBAL_BLOCK
|
||||||
|
give, for the range of code, the entire range of code produced
|
||||||
|
by the compilation that the symbol segment belongs to.
|
||||||
|
|
||||||
|
The blocks appear in the blockvector
|
||||||
|
in order of increasing starting-address,
|
||||||
|
and, within that, in order of decreasing ending-address.
|
||||||
|
|
||||||
|
This implies that within the body of one function
|
||||||
|
the blocks appear in the order of a depth-first tree walk. */
|
||||||
|
|
||||||
|
struct block
|
||||||
|
{
|
||||||
|
|
||||||
|
/* Addresses in the executable code that are in this block. */
|
||||||
|
|
||||||
|
CORE_ADDR startaddr;
|
||||||
|
CORE_ADDR endaddr;
|
||||||
|
|
||||||
|
/* The symbol that names this block, if the block is the body of a
|
||||||
|
function; otherwise, zero. */
|
||||||
|
|
||||||
|
struct symbol *function;
|
||||||
|
|
||||||
|
/* The `struct block' for the containing block, or 0 if none.
|
||||||
|
|
||||||
|
The superblock of a top-level local block (i.e. a function in the
|
||||||
|
case of C) is the STATIC_BLOCK. The superblock of the
|
||||||
|
STATIC_BLOCK is the GLOBAL_BLOCK. */
|
||||||
|
|
||||||
|
struct block *superblock;
|
||||||
|
|
||||||
|
/* Version of GCC used to compile the function corresponding
|
||||||
|
to this block, or 0 if not compiled with GCC. When possible,
|
||||||
|
GCC should be compatible with the native compiler, or if that
|
||||||
|
is not feasible, the differences should be fixed during symbol
|
||||||
|
reading. As of 16 Apr 93, this flag is never used to distinguish
|
||||||
|
between gcc2 and the native compiler.
|
||||||
|
|
||||||
|
If there is no function corresponding to this block, this meaning
|
||||||
|
of this flag is undefined. */
|
||||||
|
|
||||||
|
unsigned char gcc_compile_flag;
|
||||||
|
|
||||||
|
/* The symbols for this block are either in a simple linear list or
|
||||||
|
in a simple hashtable. Blocks which correspond to a function
|
||||||
|
(which have a list of symbols corresponding to arguments) use
|
||||||
|
a linear list, as do some older symbol readers (currently only
|
||||||
|
mdebugread and dstread). Other blocks are hashed.
|
||||||
|
|
||||||
|
The hashtable uses the same hash function as the minsym hashtables,
|
||||||
|
found in minsyms.c:minsym_hash_iw. Symbols are hashed based on
|
||||||
|
their demangled name if appropriate, and on their name otherwise.
|
||||||
|
The hash function ignores space, and stops at the beginning of the
|
||||||
|
argument list if any.
|
||||||
|
|
||||||
|
The table is laid out in NSYMS/5 buckets and symbols are chained via
|
||||||
|
their hash_next field. */
|
||||||
|
|
||||||
|
/* If this is really a hashtable of the symbols, this flag is 1. */
|
||||||
|
|
||||||
|
unsigned char hashtable;
|
||||||
|
|
||||||
|
/* Number of local symbols. */
|
||||||
|
|
||||||
|
int nsyms;
|
||||||
|
|
||||||
|
/* The symbols. If some of them are arguments, then they must be
|
||||||
|
in the order in which we would like to print them. */
|
||||||
|
|
||||||
|
struct symbol *sym[1];
|
||||||
|
};
|
||||||
|
|
||||||
|
#define BLOCK_START(bl) (bl)->startaddr
|
||||||
|
#define BLOCK_END(bl) (bl)->endaddr
|
||||||
|
#define BLOCK_FUNCTION(bl) (bl)->function
|
||||||
|
#define BLOCK_SUPERBLOCK(bl) (bl)->superblock
|
||||||
|
#define BLOCK_GCC_COMPILED(bl) (bl)->gcc_compile_flag
|
||||||
|
#define BLOCK_HASHTABLE(bl) (bl)->hashtable
|
||||||
|
|
||||||
|
/* For blocks without a hashtable (BLOCK_HASHTABLE (bl) == 0) only. */
|
||||||
|
#define BLOCK_NSYMS(bl) (bl)->nsyms
|
||||||
|
#define BLOCK_SYM(bl, n) (bl)->sym[n]
|
||||||
|
|
||||||
|
/* For blocks with a hashtable, but these are valid for non-hashed blocks as
|
||||||
|
well - each symbol will appear to be one bucket by itself. */
|
||||||
|
#define BLOCK_BUCKETS(bl) (bl)->nsyms
|
||||||
|
#define BLOCK_BUCKET(bl, n) (bl)->sym[n]
|
||||||
|
|
||||||
|
/* Macro used to set the size of a hashtable for N symbols. */
|
||||||
|
#define BLOCK_HASHTABLE_SIZE(n) ((n)/5 + 1)
|
||||||
|
|
||||||
|
/* Macro to loop through all symbols in a block BL, in no particular order.
|
||||||
|
i counts which bucket we are in, and sym points to the current symbol. */
|
||||||
|
|
||||||
|
#define ALL_BLOCK_SYMBOLS(bl, i, sym) \
|
||||||
|
for ((i) = 0; (i) < BLOCK_BUCKETS ((bl)); (i)++) \
|
||||||
|
for ((sym) = BLOCK_BUCKET ((bl), (i)); (sym); \
|
||||||
|
(sym) = (sym)->hash_next)
|
||||||
|
|
||||||
|
/* Nonzero if symbols of block BL should be sorted alphabetically.
|
||||||
|
Don't sort a block which corresponds to a function. If we did the
|
||||||
|
sorting would have to preserve the order of the symbols for the
|
||||||
|
arguments. Also don't sort any block that we chose to hash. */
|
||||||
|
|
||||||
|
#define BLOCK_SHOULD_SORT(bl) (! BLOCK_HASHTABLE (bl) \
|
||||||
|
&& BLOCK_FUNCTION (bl) == NULL)
|
||||||
|
|
||||||
|
struct blockvector
|
||||||
|
{
|
||||||
|
/* Number of blocks in the list. */
|
||||||
|
int nblocks;
|
||||||
|
/* The blocks themselves. */
|
||||||
|
struct block *block[1];
|
||||||
|
};
|
||||||
|
|
||||||
|
#define BLOCKVECTOR_NBLOCKS(blocklist) (blocklist)->nblocks
|
||||||
|
#define BLOCKVECTOR_BLOCK(blocklist,n) (blocklist)->block[n]
|
||||||
|
|
||||||
|
/* Special block numbers */
|
||||||
|
|
||||||
|
#define GLOBAL_BLOCK 0
|
||||||
|
#define STATIC_BLOCK 1
|
||||||
|
#define FIRST_LOCAL_BLOCK 2
|
||||||
|
|
||||||
|
extern struct symbol *block_function (struct block *);
|
||||||
|
|
||||||
|
extern int contained_in (struct block *, struct block *);
|
||||||
|
|
||||||
|
extern struct blockvector *blockvector_for_pc (CORE_ADDR, int *);
|
||||||
|
|
||||||
|
extern struct blockvector *blockvector_for_pc_sect (CORE_ADDR, asection *,
|
||||||
|
int *, struct symtab *);
|
||||||
|
|
||||||
|
extern struct block *block_for_pc (CORE_ADDR);
|
||||||
|
|
||||||
|
extern struct block *block_for_pc_sect (CORE_ADDR, asection *);
|
||||||
|
|
||||||
|
#endif /* BLOCK_H */
|
|
@ -38,6 +38,7 @@
|
||||||
#include "dummy-frame.h"
|
#include "dummy-frame.h"
|
||||||
#include "command.h"
|
#include "command.h"
|
||||||
#include "gdbcmd.h"
|
#include "gdbcmd.h"
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
/* Prototypes for exported functions. */
|
/* Prototypes for exported functions. */
|
||||||
|
|
||||||
|
@ -257,96 +258,6 @@ get_frame_function (struct frame_info *frame)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Return the blockvector immediately containing the innermost lexical block
|
|
||||||
containing the specified pc value and section, or 0 if there is none.
|
|
||||||
PINDEX is a pointer to the index value of the block. If PINDEX
|
|
||||||
is NULL, we don't pass this information back to the caller. */
|
|
||||||
|
|
||||||
struct blockvector *
|
|
||||||
blockvector_for_pc_sect (register CORE_ADDR pc, struct sec *section,
|
|
||||||
int *pindex, struct symtab *symtab)
|
|
||||||
{
|
|
||||||
register struct block *b;
|
|
||||||
register int bot, top, half;
|
|
||||||
struct blockvector *bl;
|
|
||||||
|
|
||||||
if (symtab == 0) /* if no symtab specified by caller */
|
|
||||||
{
|
|
||||||
/* First search all symtabs for one whose file contains our pc */
|
|
||||||
if ((symtab = find_pc_sect_symtab (pc, section)) == 0)
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
bl = BLOCKVECTOR (symtab);
|
|
||||||
b = BLOCKVECTOR_BLOCK (bl, 0);
|
|
||||||
|
|
||||||
/* Then search that symtab for the smallest block that wins. */
|
|
||||||
/* Use binary search to find the last block that starts before PC. */
|
|
||||||
|
|
||||||
bot = 0;
|
|
||||||
top = BLOCKVECTOR_NBLOCKS (bl);
|
|
||||||
|
|
||||||
while (top - bot > 1)
|
|
||||||
{
|
|
||||||
half = (top - bot + 1) >> 1;
|
|
||||||
b = BLOCKVECTOR_BLOCK (bl, bot + half);
|
|
||||||
if (BLOCK_START (b) <= pc)
|
|
||||||
bot += half;
|
|
||||||
else
|
|
||||||
top = bot + half;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Now search backward for a block that ends after PC. */
|
|
||||||
|
|
||||||
while (bot >= 0)
|
|
||||||
{
|
|
||||||
b = BLOCKVECTOR_BLOCK (bl, bot);
|
|
||||||
if (BLOCK_END (b) > pc)
|
|
||||||
{
|
|
||||||
if (pindex)
|
|
||||||
*pindex = bot;
|
|
||||||
return bl;
|
|
||||||
}
|
|
||||||
bot--;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Return the blockvector immediately containing the innermost lexical block
|
|
||||||
containing the specified pc value, or 0 if there is none.
|
|
||||||
Backward compatibility, no section. */
|
|
||||||
|
|
||||||
struct blockvector *
|
|
||||||
blockvector_for_pc (register CORE_ADDR pc, int *pindex)
|
|
||||||
{
|
|
||||||
return blockvector_for_pc_sect (pc, find_pc_mapped_section (pc),
|
|
||||||
pindex, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Return the innermost lexical block containing the specified pc value
|
|
||||||
in the specified section, or 0 if there is none. */
|
|
||||||
|
|
||||||
struct block *
|
|
||||||
block_for_pc_sect (register CORE_ADDR pc, struct sec *section)
|
|
||||||
{
|
|
||||||
register struct blockvector *bl;
|
|
||||||
int index;
|
|
||||||
|
|
||||||
bl = blockvector_for_pc_sect (pc, section, &index, NULL);
|
|
||||||
if (bl)
|
|
||||||
return BLOCKVECTOR_BLOCK (bl, index);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Return the innermost lexical block containing the specified pc value,
|
|
||||||
or 0 if there is none. Backward compatibility, no section. */
|
|
||||||
|
|
||||||
struct block *
|
|
||||||
block_for_pc (register CORE_ADDR pc)
|
|
||||||
{
|
|
||||||
return block_for_pc_sect (pc, find_pc_mapped_section (pc));
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Return the function containing pc value PC in section SECTION.
|
/* Return the function containing pc value PC in section SECTION.
|
||||||
Returns 0 if function is not known. */
|
Returns 0 if function is not known. */
|
||||||
|
|
||||||
|
|
|
@ -48,6 +48,7 @@
|
||||||
#include "ui-out.h"
|
#include "ui-out.h"
|
||||||
#include "cli/cli-script.h"
|
#include "cli/cli-script.h"
|
||||||
#include "gdb_assert.h"
|
#include "gdb_assert.h"
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
#include "gdb-events.h"
|
#include "gdb-events.h"
|
||||||
|
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
#include "gdb-events.h"
|
#include "gdb-events.h"
|
||||||
|
|
||||||
struct value;
|
struct value;
|
||||||
|
struct block;
|
||||||
|
|
||||||
/* This is the maximum number of bytes a breakpoint instruction can take.
|
/* This is the maximum number of bytes a breakpoint instruction can take.
|
||||||
Feel free to increase it. It's just used in a few places to size
|
Feel free to increase it. It's just used in a few places to size
|
||||||
|
|
|
@ -43,6 +43,7 @@
|
||||||
#include "filenames.h" /* For DOSish file names */
|
#include "filenames.h" /* For DOSish file names */
|
||||||
#include "macrotab.h"
|
#include "macrotab.h"
|
||||||
#include "demangle.h" /* Needed by SYMBOL_INIT_DEMANGLED_NAME. */
|
#include "demangle.h" /* Needed by SYMBOL_INIT_DEMANGLED_NAME. */
|
||||||
|
#include "block.h"
|
||||||
/* Ask buildsym.h to define the vars it normally declares `extern'. */
|
/* Ask buildsym.h to define the vars it normally declares `extern'. */
|
||||||
#define EXTERN
|
#define EXTERN
|
||||||
/**/
|
/**/
|
||||||
|
|
|
@ -34,6 +34,8 @@
|
||||||
normally extern, but which get defined in a single module using
|
normally extern, but which get defined in a single module using
|
||||||
this technique. */
|
this technique. */
|
||||||
|
|
||||||
|
struct block;
|
||||||
|
|
||||||
#ifndef EXTERN
|
#ifndef EXTERN
|
||||||
#define EXTERN extern
|
#define EXTERN extern
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -50,6 +50,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||||
#include "symfile.h" /* Required by objfiles.h. */
|
#include "symfile.h" /* Required by objfiles.h. */
|
||||||
#include "objfiles.h" /* For have_full_symbols and have_partial_symbols */
|
#include "objfiles.h" /* For have_full_symbols and have_partial_symbols */
|
||||||
#include "charset.h"
|
#include "charset.h"
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
/* Flag indicating we're dealing with HP-compiled objects */
|
/* Flag indicating we're dealing with HP-compiled objects */
|
||||||
extern int hp_som_som_object_present;
|
extern int hp_som_som_object_present;
|
||||||
|
|
|
@ -44,6 +44,7 @@
|
||||||
#include "complaints.h"
|
#include "complaints.h"
|
||||||
#include "target.h"
|
#include "target.h"
|
||||||
#include "gdb_assert.h"
|
#include "gdb_assert.h"
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
extern void _initialize_coffread (void);
|
extern void _initialize_coffread (void);
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,7 @@
|
||||||
#include "frame.h" /* For frame_map_regnum_to_name. */
|
#include "frame.h" /* For frame_map_regnum_to_name. */
|
||||||
#include "target.h"
|
#include "target.h"
|
||||||
#include "gdb_string.h"
|
#include "gdb_string.h"
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
#ifdef HAVE_CTYPE_H
|
#ifdef HAVE_CTYPE_H
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
|
@ -53,6 +53,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||||
#include "bfd.h" /* Required by objfiles.h. */
|
#include "bfd.h" /* Required by objfiles.h. */
|
||||||
#include "symfile.h" /* Required by objfiles.h. */
|
#include "symfile.h" /* Required by objfiles.h. */
|
||||||
#include "objfiles.h" /* For have_full_symbols and have_partial_symbols */
|
#include "objfiles.h" /* For have_full_symbols and have_partial_symbols */
|
||||||
|
#include "block.h"
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
/* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc),
|
/* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc),
|
||||||
|
|
|
@ -33,6 +33,7 @@
|
||||||
#include "frame.h"
|
#include "frame.h"
|
||||||
#include "gdbcore.h"
|
#include "gdbcore.h"
|
||||||
#include "command.h"
|
#include "command.h"
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
static int there_is_a_visible_common_named (char *);
|
static int there_is_a_visible_common_named (char *);
|
||||||
|
|
|
@ -35,6 +35,7 @@
|
||||||
#include "symfile.h" /* for overlay functions */
|
#include "symfile.h" /* for overlay functions */
|
||||||
#include "regcache.h"
|
#include "regcache.h"
|
||||||
#include "builtin-regs.h"
|
#include "builtin-regs.h"
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
/* Basic byte-swapping routines. GDB has needed these for a long time...
|
/* Basic byte-swapping routines. GDB has needed these for a long time...
|
||||||
All extract a target-format integer at ADDR which is LEN bytes long. */
|
All extract a target-format integer at ADDR which is LEN bytes long. */
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
|
|
||||||
struct symtab_and_line;
|
struct symtab_and_line;
|
||||||
struct frame_unwind;
|
struct frame_unwind;
|
||||||
|
struct block;
|
||||||
|
|
||||||
/* The traditional frame unwinder. */
|
/* The traditional frame unwinder. */
|
||||||
extern const struct frame_unwind *trad_frame_unwind;
|
extern const struct frame_unwind *trad_frame_unwind;
|
||||||
|
@ -506,10 +507,6 @@ extern CORE_ADDR frame_address_in_block (struct frame_info *);
|
||||||
|
|
||||||
extern CORE_ADDR get_pc_function_start (CORE_ADDR);
|
extern CORE_ADDR get_pc_function_start (CORE_ADDR);
|
||||||
|
|
||||||
extern struct block *block_for_pc (CORE_ADDR);
|
|
||||||
|
|
||||||
extern struct block *block_for_pc_sect (CORE_ADDR, asection *);
|
|
||||||
|
|
||||||
extern int frameless_look_for_prologue (struct frame_info *);
|
extern int frameless_look_for_prologue (struct frame_info *);
|
||||||
|
|
||||||
extern void print_frame_args (struct symbol *, struct frame_info *,
|
extern void print_frame_args (struct symbol *, struct frame_info *,
|
||||||
|
|
|
@ -42,6 +42,7 @@
|
||||||
#include "parser-defs.h"
|
#include "parser-defs.h"
|
||||||
#include "regcache.h"
|
#include "regcache.h"
|
||||||
#include "reggroups.h"
|
#include "reggroups.h"
|
||||||
|
#include "block.h"
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
/* Functions exported for general use, in inferior.h: */
|
/* Functions exported for general use, in inferior.h: */
|
||||||
|
|
|
@ -48,6 +48,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||||
#include "bfd.h" /* Required by objfiles.h. */
|
#include "bfd.h" /* Required by objfiles.h. */
|
||||||
#include "symfile.h" /* Required by objfiles.h. */
|
#include "symfile.h" /* Required by objfiles.h. */
|
||||||
#include "objfiles.h" /* For have_full_symbols and have_partial_symbols */
|
#include "objfiles.h" /* For have_full_symbols and have_partial_symbols */
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
/* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc),
|
/* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc),
|
||||||
as well as gratuitiously global symbol names, so we can have multiple
|
as well as gratuitiously global symbol names, so we can have multiple
|
||||||
|
|
|
@ -33,6 +33,7 @@
|
||||||
#include "c-lang.h"
|
#include "c-lang.h"
|
||||||
#include "jv-lang.h"
|
#include "jv-lang.h"
|
||||||
#include "gdbcore.h"
|
#include "gdbcore.h"
|
||||||
|
#include "block.h"
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
struct type *java_int_type;
|
struct type *java_int_type;
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
#include "completer.h"
|
#include "completer.h"
|
||||||
#include "cp-abi.h"
|
#include "cp-abi.h"
|
||||||
#include "parser-defs.h"
|
#include "parser-defs.h"
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
/* We share this one with symtab.c, but it is not exported widely. */
|
/* We share this one with symtab.c, but it is not exported widely. */
|
||||||
|
|
||||||
|
|
|
@ -50,6 +50,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||||
#include "bfd.h" /* Required by objfiles.h. */
|
#include "bfd.h" /* Required by objfiles.h. */
|
||||||
#include "symfile.h" /* Required by objfiles.h. */
|
#include "symfile.h" /* Required by objfiles.h. */
|
||||||
#include "objfiles.h" /* For have_full_symbols and have_partial_symbols */
|
#include "objfiles.h" /* For have_full_symbols and have_partial_symbols */
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
/* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc),
|
/* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc),
|
||||||
as well as gratuitiously global symbol names, so we can have multiple
|
as well as gratuitiously global symbol names, so we can have multiple
|
||||||
|
|
|
@ -53,6 +53,7 @@
|
||||||
#include "complaints.h"
|
#include "complaints.h"
|
||||||
#include "demangle.h"
|
#include "demangle.h"
|
||||||
#include "gdb_assert.h"
|
#include "gdb_assert.h"
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
/* These are needed if the tm.h file does not contain the necessary
|
/* These are needed if the tm.h file does not contain the necessary
|
||||||
mips specific definitions. */
|
mips specific definitions. */
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2003-02-19 David Carlton <carlton@math.stanford.edu>
|
||||||
|
|
||||||
|
* mi-cmd-stack.c: #include "block.h"
|
||||||
|
|
||||||
2003-02-09 Andrew Cagney <ac131313@redhat.com>
|
2003-02-09 Andrew Cagney <ac131313@redhat.com>
|
||||||
|
|
||||||
* mi-interp.c (mi_remove_notify_hooks): Convert function
|
* mi-interp.c (mi_remove_notify_hooks): Convert function
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
#include "mi-cmds.h"
|
#include "mi-cmds.h"
|
||||||
#include "ui-out.h"
|
#include "ui-out.h"
|
||||||
#include "symtab.h"
|
#include "symtab.h"
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
/* FIXME: these should go in some .h file but stack.c doesn't have a
|
/* FIXME: these should go in some .h file but stack.c doesn't have a
|
||||||
corresponding .h file. These wrappers will be obsolete anyway, once
|
corresponding .h file. These wrappers will be obsolete anyway, once
|
||||||
|
|
|
@ -40,6 +40,7 @@
|
||||||
#include "regcache.h"
|
#include "regcache.h"
|
||||||
#include "osabi.h"
|
#include "osabi.h"
|
||||||
#include "mips-tdep.h"
|
#include "mips-tdep.h"
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
#include "opcode/mips.h"
|
#include "opcode/mips.h"
|
||||||
#include "elf/mips.h"
|
#include "elf/mips.h"
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
#include "objfiles.h"
|
#include "objfiles.h"
|
||||||
#include "buildsym.h"
|
#include "buildsym.h"
|
||||||
#include "stabsread.h"
|
#include "stabsread.h"
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
extern void _initialize_nlmread (void);
|
extern void _initialize_nlmread (void);
|
||||||
|
|
||||||
|
|
|
@ -52,6 +52,7 @@
|
||||||
#include "objfiles.h" /* For have_full_symbols and have_partial_symbols. */
|
#include "objfiles.h" /* For have_full_symbols and have_partial_symbols. */
|
||||||
#include "top.h"
|
#include "top.h"
|
||||||
#include "completer.h" /* For skip_quoted(). */
|
#include "completer.h" /* For skip_quoted(). */
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
/* Remap normal yacc parser interface names (yyparse, yylex, yyerror,
|
/* Remap normal yacc parser interface names (yyparse, yylex, yyerror,
|
||||||
etc), as well as gratuitiously global symbol names, so we can have
|
etc), as well as gratuitiously global symbol names, so we can have
|
||||||
|
|
|
@ -41,6 +41,7 @@
|
||||||
#include "frame.h"
|
#include "frame.h"
|
||||||
#include "gdb_regex.h"
|
#include "gdb_regex.h"
|
||||||
#include "regcache.h"
|
#include "regcache.h"
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
Boston, MA 02111-1307, USA. */
|
Boston, MA 02111-1307, USA. */
|
||||||
|
|
||||||
struct value;
|
struct value;
|
||||||
|
struct block;
|
||||||
|
|
||||||
extern int objc_parse (void); /* Defined in c-exp.y */
|
extern int objc_parse (void); /* Defined in c-exp.y */
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,7 @@
|
||||||
#include "hashtab.h"
|
#include "hashtab.h"
|
||||||
|
|
||||||
#include "breakpoint.h"
|
#include "breakpoint.h"
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
/* Prototypes for local functions */
|
/* Prototypes for local functions */
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||||
#include "bfd.h" /* Required by objfiles.h. */
|
#include "bfd.h" /* Required by objfiles.h. */
|
||||||
#include "symfile.h" /* Required by objfiles.h. */
|
#include "symfile.h" /* Required by objfiles.h. */
|
||||||
#include "objfiles.h" /* For have_full_symbols and have_partial_symbols */
|
#include "objfiles.h" /* For have_full_symbols and have_partial_symbols */
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
/* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc),
|
/* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc),
|
||||||
as well as gratuitiously global symbol names, so we can have multiple
|
as well as gratuitiously global symbol names, so we can have multiple
|
||||||
|
|
|
@ -48,6 +48,7 @@
|
||||||
with "gdbarch.h" when appropriate. */
|
with "gdbarch.h" when appropriate. */
|
||||||
#include "doublest.h"
|
#include "doublest.h"
|
||||||
#include "gdb_assert.h"
|
#include "gdb_assert.h"
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
|
|
||||||
/* Symbols which architectures can redefine. */
|
/* Symbols which architectures can redefine. */
|
||||||
|
|
|
@ -28,6 +28,8 @@
|
||||||
|
|
||||||
#include "doublest.h"
|
#include "doublest.h"
|
||||||
|
|
||||||
|
struct block;
|
||||||
|
|
||||||
extern struct expression *expout;
|
extern struct expression *expout;
|
||||||
extern int expout_size;
|
extern int expout_size;
|
||||||
extern int expout_ptr;
|
extern int expout_ptr;
|
||||||
|
|
|
@ -41,6 +41,7 @@
|
||||||
#include "completer.h" /* for completion functions */
|
#include "completer.h" /* for completion functions */
|
||||||
#include "ui-out.h"
|
#include "ui-out.h"
|
||||||
#include "gdb_assert.h"
|
#include "gdb_assert.h"
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
extern int asm_demangle; /* Whether to demangle syms in asm printouts */
|
extern int asm_demangle; /* Whether to demangle syms in asm printouts */
|
||||||
extern int addressprint; /* Whether to print hex addresses in HLL " */
|
extern int addressprint; /* Whether to print hex addresses in HLL " */
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
#include "inferior.h"
|
#include "inferior.h"
|
||||||
#include "annotate.h"
|
#include "annotate.h"
|
||||||
#include "ui-out.h"
|
#include "ui-out.h"
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
/* Prototypes for exported functions. */
|
/* Prototypes for exported functions. */
|
||||||
|
|
||||||
|
|
|
@ -47,6 +47,7 @@
|
||||||
#include "hashtab.h"
|
#include "hashtab.h"
|
||||||
#include <readline/readline.h>
|
#include <readline/readline.h>
|
||||||
#include "gdb_assert.h"
|
#include "gdb_assert.h"
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
/* Opaque declarations. */
|
/* Opaque declarations. */
|
||||||
|
|
||||||
struct obstack;
|
struct obstack;
|
||||||
|
struct block;
|
||||||
|
|
||||||
/* Partial symbols are stored in the psymbol_cache and pointers to them
|
/* Partial symbols are stored in the psymbol_cache and pointers to them
|
||||||
are kept in a dynamically grown array that is obtained from malloc and
|
are kept in a dynamically grown array that is obtained from malloc and
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
#include "gdb_obstack.h"
|
#include "gdb_obstack.h"
|
||||||
#include "language.h"
|
#include "language.h"
|
||||||
#include "bcache.h"
|
#include "bcache.h"
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
#include "gdb_string.h"
|
#include "gdb_string.h"
|
||||||
#include <readline/readline.h>
|
#include <readline/readline.h>
|
||||||
|
|
26
gdb/symtab.c
26
gdb/symtab.c
|
@ -44,6 +44,7 @@
|
||||||
#include "hashtab.h"
|
#include "hashtab.h"
|
||||||
|
|
||||||
#include "gdb_obstack.h"
|
#include "gdb_obstack.h"
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
@ -1786,18 +1787,6 @@ find_active_alias (struct symbol *sym, CORE_ADDR addr)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Return the symbol for the function which contains a specified
|
|
||||||
lexical block, described by a struct block BL. */
|
|
||||||
|
|
||||||
struct symbol *
|
|
||||||
block_function (struct block *bl)
|
|
||||||
{
|
|
||||||
while (BLOCK_FUNCTION (bl) == 0 && BLOCK_SUPERBLOCK (bl) != 0)
|
|
||||||
bl = BLOCK_SUPERBLOCK (bl);
|
|
||||||
|
|
||||||
return BLOCK_FUNCTION (bl);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Find the symtab associated with PC and SECTION. Look through the
|
/* Find the symtab associated with PC and SECTION. Look through the
|
||||||
psymtabs and read in another symtab if necessary. */
|
psymtabs and read in another symtab if necessary. */
|
||||||
|
|
||||||
|
@ -3283,19 +3272,6 @@ rbreak_command (char *regexp, int from_tty)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Return Nonzero if block a is lexically nested within block b,
|
|
||||||
or if a and b have the same pc range.
|
|
||||||
Return zero otherwise. */
|
|
||||||
int
|
|
||||||
contained_in (struct block *a, struct block *b)
|
|
||||||
{
|
|
||||||
if (!a || !b)
|
|
||||||
return 0;
|
|
||||||
return BLOCK_START (a) >= BLOCK_START (b)
|
|
||||||
&& BLOCK_END (a) <= BLOCK_END (b);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Helper routine for make_symbol_completion_list. */
|
/* Helper routine for make_symbol_completion_list. */
|
||||||
|
|
||||||
static int return_val_size;
|
static int return_val_size;
|
||||||
|
|
157
gdb/symtab.h
157
gdb/symtab.h
|
@ -25,8 +25,11 @@
|
||||||
#define SYMTAB_H 1
|
#define SYMTAB_H 1
|
||||||
|
|
||||||
/* Opaque declarations. */
|
/* Opaque declarations. */
|
||||||
|
|
||||||
struct obstack;
|
struct obstack;
|
||||||
struct objfile;
|
struct objfile;
|
||||||
|
struct block;
|
||||||
|
struct blockvector;
|
||||||
|
|
||||||
/* Don't do this; it means that if some .o's are compiled with GNU C
|
/* 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
|
and some are not (easy to do accidentally the way we configure
|
||||||
|
@ -287,148 +290,7 @@ struct minimal_symbol
|
||||||
|
|
||||||
#define MSYMBOL_INFO(msymbol) (msymbol)->info
|
#define MSYMBOL_INFO(msymbol) (msymbol)->info
|
||||||
#define MSYMBOL_TYPE(msymbol) (msymbol)->type
|
#define MSYMBOL_TYPE(msymbol) (msymbol)->type
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* All of the name-scope contours of the program
|
|
||||||
are represented by `struct block' objects.
|
|
||||||
All of these objects are pointed to by the blockvector.
|
|
||||||
|
|
||||||
Each block represents one name scope.
|
|
||||||
Each lexical context has its own block.
|
|
||||||
|
|
||||||
The blockvector begins with some special blocks.
|
|
||||||
The GLOBAL_BLOCK contains all the symbols defined in this compilation
|
|
||||||
whose scope is the entire program linked together.
|
|
||||||
The STATIC_BLOCK contains all the symbols whose scope is the
|
|
||||||
entire compilation excluding other separate compilations.
|
|
||||||
Blocks starting with the FIRST_LOCAL_BLOCK are not special.
|
|
||||||
|
|
||||||
Each block records a range of core addresses for the code that
|
|
||||||
is in the scope of the block. The STATIC_BLOCK and GLOBAL_BLOCK
|
|
||||||
give, for the range of code, the entire range of code produced
|
|
||||||
by the compilation that the symbol segment belongs to.
|
|
||||||
|
|
||||||
The blocks appear in the blockvector
|
|
||||||
in order of increasing starting-address,
|
|
||||||
and, within that, in order of decreasing ending-address.
|
|
||||||
|
|
||||||
This implies that within the body of one function
|
|
||||||
the blocks appear in the order of a depth-first tree walk. */
|
|
||||||
|
|
||||||
struct blockvector
|
|
||||||
{
|
|
||||||
/* Number of blocks in the list. */
|
|
||||||
int nblocks;
|
|
||||||
/* The blocks themselves. */
|
|
||||||
struct block *block[1];
|
|
||||||
};
|
|
||||||
|
|
||||||
#define BLOCKVECTOR_NBLOCKS(blocklist) (blocklist)->nblocks
|
|
||||||
#define BLOCKVECTOR_BLOCK(blocklist,n) (blocklist)->block[n]
|
|
||||||
|
|
||||||
/* Special block numbers */
|
|
||||||
|
|
||||||
#define GLOBAL_BLOCK 0
|
|
||||||
#define STATIC_BLOCK 1
|
|
||||||
#define FIRST_LOCAL_BLOCK 2
|
|
||||||
|
|
||||||
struct block
|
|
||||||
{
|
|
||||||
|
|
||||||
/* Addresses in the executable code that are in this block. */
|
|
||||||
|
|
||||||
CORE_ADDR startaddr;
|
|
||||||
CORE_ADDR endaddr;
|
|
||||||
|
|
||||||
/* The symbol that names this block, if the block is the body of a
|
|
||||||
function; otherwise, zero. */
|
|
||||||
|
|
||||||
struct symbol *function;
|
|
||||||
|
|
||||||
/* The `struct block' for the containing block, or 0 if none.
|
|
||||||
|
|
||||||
The superblock of a top-level local block (i.e. a function in the
|
|
||||||
case of C) is the STATIC_BLOCK. The superblock of the
|
|
||||||
STATIC_BLOCK is the GLOBAL_BLOCK. */
|
|
||||||
|
|
||||||
struct block *superblock;
|
|
||||||
|
|
||||||
/* Version of GCC used to compile the function corresponding
|
|
||||||
to this block, or 0 if not compiled with GCC. When possible,
|
|
||||||
GCC should be compatible with the native compiler, or if that
|
|
||||||
is not feasible, the differences should be fixed during symbol
|
|
||||||
reading. As of 16 Apr 93, this flag is never used to distinguish
|
|
||||||
between gcc2 and the native compiler.
|
|
||||||
|
|
||||||
If there is no function corresponding to this block, this meaning
|
|
||||||
of this flag is undefined. */
|
|
||||||
|
|
||||||
unsigned char gcc_compile_flag;
|
|
||||||
|
|
||||||
/* The symbols for this block are either in a simple linear list or
|
|
||||||
in a simple hashtable. Blocks which correspond to a function
|
|
||||||
(which have a list of symbols corresponding to arguments) use
|
|
||||||
a linear list, as do some older symbol readers (currently only
|
|
||||||
mdebugread and dstread). Other blocks are hashed.
|
|
||||||
|
|
||||||
The hashtable uses the same hash function as the minsym hashtables,
|
|
||||||
found in minsyms.c:minsym_hash_iw. Symbols are hashed based on
|
|
||||||
their demangled name if appropriate, and on their name otherwise.
|
|
||||||
The hash function ignores space, and stops at the beginning of the
|
|
||||||
argument list if any.
|
|
||||||
|
|
||||||
The table is laid out in NSYMS/5 buckets and symbols are chained via
|
|
||||||
their hash_next field. */
|
|
||||||
|
|
||||||
/* If this is really a hashtable of the symbols, this flag is 1. */
|
|
||||||
|
|
||||||
unsigned char hashtable;
|
|
||||||
|
|
||||||
/* Number of local symbols. */
|
|
||||||
|
|
||||||
int nsyms;
|
|
||||||
|
|
||||||
/* The symbols. If some of them are arguments, then they must be
|
|
||||||
in the order in which we would like to print them. */
|
|
||||||
|
|
||||||
struct symbol *sym[1];
|
|
||||||
};
|
|
||||||
|
|
||||||
#define BLOCK_START(bl) (bl)->startaddr
|
|
||||||
#define BLOCK_END(bl) (bl)->endaddr
|
|
||||||
#define BLOCK_FUNCTION(bl) (bl)->function
|
|
||||||
#define BLOCK_SUPERBLOCK(bl) (bl)->superblock
|
|
||||||
#define BLOCK_GCC_COMPILED(bl) (bl)->gcc_compile_flag
|
|
||||||
#define BLOCK_HASHTABLE(bl) (bl)->hashtable
|
|
||||||
|
|
||||||
/* For blocks without a hashtable (BLOCK_HASHTABLE (bl) == 0) only. */
|
|
||||||
#define BLOCK_NSYMS(bl) (bl)->nsyms
|
|
||||||
#define BLOCK_SYM(bl, n) (bl)->sym[n]
|
|
||||||
|
|
||||||
/* For blocks with a hashtable, but these are valid for non-hashed blocks as
|
|
||||||
well - each symbol will appear to be one bucket by itself. */
|
|
||||||
#define BLOCK_BUCKETS(bl) (bl)->nsyms
|
|
||||||
#define BLOCK_BUCKET(bl, n) (bl)->sym[n]
|
|
||||||
|
|
||||||
/* Macro used to set the size of a hashtable for N symbols. */
|
|
||||||
#define BLOCK_HASHTABLE_SIZE(n) ((n)/5 + 1)
|
|
||||||
|
|
||||||
/* Macro to loop through all symbols in a block BL, in no particular order.
|
|
||||||
i counts which bucket we are in, and sym points to the current symbol. */
|
|
||||||
|
|
||||||
#define ALL_BLOCK_SYMBOLS(bl, i, sym) \
|
|
||||||
for ((i) = 0; (i) < BLOCK_BUCKETS ((bl)); (i)++) \
|
|
||||||
for ((sym) = BLOCK_BUCKET ((bl), (i)); (sym); \
|
|
||||||
(sym) = (sym)->hash_next)
|
|
||||||
|
|
||||||
/* Nonzero if symbols of block BL should be sorted alphabetically.
|
|
||||||
Don't sort a block which corresponds to a function. If we did the
|
|
||||||
sorting would have to preserve the order of the symbols for the
|
|
||||||
arguments. Also don't sort any block that we chose to hash. */
|
|
||||||
|
|
||||||
#define BLOCK_SHOULD_SORT(bl) (! BLOCK_HASHTABLE (bl) \
|
|
||||||
&& BLOCK_FUNCTION (bl) == NULL)
|
|
||||||
|
|
||||||
|
|
||||||
/* Represent one symbol name; a variable, constant, function or typedef. */
|
/* Represent one symbol name; a variable, constant, function or typedef. */
|
||||||
|
@ -1054,10 +916,6 @@ extern struct type *lookup_union (char *, struct block *);
|
||||||
|
|
||||||
extern struct type *lookup_enum (char *, struct block *);
|
extern struct type *lookup_enum (char *, struct block *);
|
||||||
|
|
||||||
/* lookup the function corresponding to the block */
|
|
||||||
|
|
||||||
extern struct symbol *block_function (struct block *);
|
|
||||||
|
|
||||||
/* from blockframe.c: */
|
/* from blockframe.c: */
|
||||||
|
|
||||||
/* lookup the function symbol corresponding to the address */
|
/* lookup the function symbol corresponding to the address */
|
||||||
|
@ -1112,8 +970,6 @@ extern struct partial_symbol *find_pc_sect_psymbol (struct partial_symtab *,
|
||||||
|
|
||||||
extern int find_pc_line_pc_range (CORE_ADDR, CORE_ADDR *, CORE_ADDR *);
|
extern int find_pc_line_pc_range (CORE_ADDR, CORE_ADDR *, CORE_ADDR *);
|
||||||
|
|
||||||
extern int contained_in (struct block *, struct block *);
|
|
||||||
|
|
||||||
extern void reread_symbols (void);
|
extern void reread_symbols (void);
|
||||||
|
|
||||||
extern struct type *lookup_transparent_type (const char *);
|
extern struct type *lookup_transparent_type (const char *);
|
||||||
|
@ -1317,13 +1173,6 @@ extern struct symtab *find_line_symtab (struct symtab *, int, int *, int *);
|
||||||
extern struct symtab_and_line find_function_start_sal (struct symbol *sym,
|
extern struct symtab_and_line find_function_start_sal (struct symbol *sym,
|
||||||
int);
|
int);
|
||||||
|
|
||||||
/* blockframe.c */
|
|
||||||
|
|
||||||
extern struct blockvector *blockvector_for_pc (CORE_ADDR, int *);
|
|
||||||
|
|
||||||
extern struct blockvector *blockvector_for_pc_sect (CORE_ADDR, asection *,
|
|
||||||
int *, struct symtab *);
|
|
||||||
|
|
||||||
/* symfile.c */
|
/* symfile.c */
|
||||||
|
|
||||||
extern void clear_symtab_users (void);
|
extern void clear_symtab_users (void);
|
||||||
|
|
|
@ -37,6 +37,7 @@
|
||||||
#include "regcache.h"
|
#include "regcache.h"
|
||||||
#include "completer.h"
|
#include "completer.h"
|
||||||
#include "gdb-events.h"
|
#include "gdb-events.h"
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
#include "ax.h"
|
#include "ax.h"
|
||||||
#include "ax-gdb.h"
|
#include "ax-gdb.h"
|
||||||
|
|
|
@ -33,6 +33,7 @@
|
||||||
#include "gdbcmd.h"
|
#include "gdbcmd.h"
|
||||||
#include "regcache.h"
|
#include "regcache.h"
|
||||||
#include "cp-abi.h"
|
#include "cp-abi.h"
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include "gdb_string.h"
|
#include "gdb_string.h"
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
#define VALUE_H 1
|
#define VALUE_H 1
|
||||||
|
|
||||||
struct regcache;
|
struct regcache;
|
||||||
|
struct block;
|
||||||
|
|
||||||
#include "doublest.h"
|
#include "doublest.h"
|
||||||
|
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
#include "doublest.h"
|
#include "doublest.h"
|
||||||
#include "gdb_assert.h"
|
#include "gdb_assert.h"
|
||||||
#include "regcache.h"
|
#include "regcache.h"
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
/* Prototypes for exported functions. */
|
/* Prototypes for exported functions. */
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
#include "x86-64-tdep.h"
|
#include "x86-64-tdep.h"
|
||||||
#include "dwarf2cfi.h"
|
#include "dwarf2cfi.h"
|
||||||
#include "gdb_assert.h"
|
#include "gdb_assert.h"
|
||||||
|
#include "block.h"
|
||||||
|
|
||||||
/* Register numbers of various important registers. */
|
/* Register numbers of various important registers. */
|
||||||
#define RAX_REGNUM 0
|
#define RAX_REGNUM 0
|
||||||
|
|
Loading…
Add table
Reference in a new issue