Age | Commit message (Collapse) | Author | Files | Lines |
|
* complaints.h (struct deprecated_complaint): Rename `struct
complaint'.
* complaints.c (complain): Update.
* remote-vx68.c, remote-vxmips.c, remote-vxsparc.c: Delete
incorrect comment indicating that "symfile.h" was being included
for the `struct complaint' definition.
* remote-vx.c: Update.
* objc-lang.c: Update.
* xcoffread.c: Update.
* hpread.c: Update.
* mdebugread.c: Update.
* stabsread.c: Update.
* dwarf2read.c: Update.
* dwarfread.c: Update.
* elfread.c: Update.
* coffread.c: Update.
* stabsread.h: Update.
* dbxread.c: Update.
* buildsym.c: Update.
* gdbtypes.c: Update.
* macrotab.c: Update.
|
|
* dwarf2read.c (dwarf_tag_name): Add DWARF 3 names.
(dwarf_attr_name): Ditto.
(dwarf_type_encoding_name): Ditto.
(scan_partial_symbols): Descend into DW_TAG_namespace entries.
(process_die): Handle DW_TAG_namespace,
DW_TAG_imported_declaration, DW_TAG_imported_module.
(read_namespace): New function.
|
|
Elena Zannoni <ezannoni@redhat.com>
* symtab.h (address_class): Re-add LOC_THREAD_LOCAL_STATIC
for thread local storage locations.
(struct symbol): Add objfile field.
(SYMBOL_OBJFILE): Define.
* dwarf2read.c (is_thread_local): New static variable.
(new_symbol): If variable is in thread local fill in address class
and objfile appropriately.
(decode_locdesc): Recognize and handle DW_OP_GNU_push_tls_address
stack operation.
* printcmd.c (address_info): Print the information for thread
local storage variable.
* findvar.c (read_var_value): In case of thread local variable,
defer to the target vector code to compute address.
|
|
|
|
Revised and re-submitted by John Wolfe <jlw@caldera.com>
Move the Dwarf 2 abbrev table to a per-compilation-unit structure,
so we can work on more than one compilation unit at a time. This
helps prepare GDB to handle inter-CU die references.
* dwarf2read.c (ABBREV_HASH_SIZE): moved definition forward in
the code to be defined before struct comp_unit_head.
(comp_unit_head): Added new members - offset, cu_head,
begin_die, next and dwarf2_abbrevs.
(dwarf2_abbrevs): Removed single static var; now member of
struct comp_unit_head.
dwarf2_build_psymtabs_hard): Complete new struct comp_unit_head
members.
(psymtab_to_symtab_1): Changed to work with the new
struct comp_unit_head.
(dwarf2_read_abbrevs): Now accepts a cu_header parameter and
constructs the dwarf2_abbrevs[] inside the cu_header.
(dwarf2_empty_abbrev_table): Now expects a ptr to a
dwarf2_abbrev table to clean up.
(dwarf2_lookup_abbrev): Now accepts a cu_header parameter and
handling of dwarf2_abbrevs inside the cu_header.
(read_partial_die): Now supports the call to the new
dwarf2_lookup_abbrev.
(read_full_die): Now supports the call to the new
dwarf2_lookup_abbrev.
|
|
* dwarf2read.c (dwarf_stack_op_name): Recognize more dwarf3 and
GNU operators.
|
|
* dwarf2read.c (dwarf2_add_member_fn): Add the 'type'
argument (PR gdb/653). Update call to smash_to_method_type.
(read_structure_scope): Update call to dwarf2_add_member_fn.
|
|
* dwarf2read.c (dwarf2_build_psymtabs): Check that
dwarf_line_offset is nonzero before creating dwarf_line_buffer.
(read_file_scope): Check that line_header is nonzero before
decoding macro information.
|
|
This does not change anything at the moment, but will be helpful
later when full Ada support is integrated.
|
|
64-bit DWARF2 format.
|
|
* dwarf2read.c (dwarf2_invalid_attrib_class): New
complaint for invalid attribute class or form.
(read_func_scope): DW_AT_frame_base
better handling of DW_AT_block*.
(dwarf2_add_member_fn): DW_AT_vtable_elem_location
better handling of DW_AT_block*.
(read_common_block): DW_AT_location
better handling of DW_AT_block*.
(read_partial_die): DW_AT_location better handling
of DW_AT_block*.
(new_symbol): DW_AT_external better handling of
DW_AT_block*. Proper initialization of variable
"addr".
(attr_form_is_block): New function that returns true
if the attribute's form is of DW_FORM_block*.
|
|
(struct bstring, struct bcache): Move definition to "bcache.c".
Replaced by opaque declaration.
(bcache_xfree): Replace free_bcache.
(bcache_xmalloc, bcache_memory_used): Declare.
* bcache.c: Update copyright.
(struct bstring, struct bcache): Moved to here from "bcache.h".
Update comments.
(bcache_xmalloc, bcache_memory_used): New functions.
(bcache_xfree): Replace function free_bcache.
* Makefile.in (objfiles.o): Add $(bcache_h).
(objfiles_h): Remove $(bcache_h).
(symfile.o): Add $(bcache_h).
* symmisc.c: Update copyright.
(print_symbol_bcache_statistics): Pass psymbol_cache by value.
(print_objfile_statistics): Use bcache_memory_used.
* symfile.c: Include "bcache.h".
(reread_symbols): Use bcache_xfree.
(reread_symbols): Use bcache_xmalloc and bcache_xfree.
(add_psymbol_to_list): Pass psymbol_cache by value.
(add_psymbol_with_dem_name_to_list): Ditto.
* objfiles.h: Update copyright.
(struct bcache): Declare opaque. Do not include "bcache.h".
(struct objfile): Change psymbol_cache and macro_cache to ``struct
bcache'' pointers.
* dwarf2read.c (macro_start_file): Pass macro_cache by value.
* objfiles.c: Include "bcache.h". Update copyright.
(allocate_objfile): Use bcache_xmalloc to create psymbol_cache and
macro_cache.
(free_objfile): Use bcache_xfree.
|
|
* dwarf2read.c (decode_locdesc): Remove `#if' block for Harris 88k
register numbering quirk.
* elfread.c (elf_symtab_read): Remove `#if' block for skipping
odd symbols occurring in Harris 88k ELF targets.
|
|
* gdbtypes.h (TYPE_FLAG_VARARGS): Update comment.
(struct main_type): Remove arg_types member. Update comments for
struct field.
(TYPE_ARG_TYPES): Remove.
(TYPE_FN_FIELD_ARGS): Update.
(smash_to_method_type): Update prototype.
* c-typeprint.c (cp_type_print_method_args): Take method type
instead of argument list. Use new argument layout. Simplify.
(c_type_print_args): Use new argument layout. Simplify.
(c_type_print_base): Update call to cp_type_print_method_args.
* dwarf2read.c (dwarf2_add_member_fn): Remove unneeded type
argument; use die->type instead. Update call to
smash_to_method_type.
(read_structure_scope): Update call to dwarf2_add_member_fn.
* gdbtypes.c (allocate_stub_method): Update comment.
(smash_to_method_type): Take new NARGS and VARARGS arguments.
Use new argument layout.
(check_stub_method): Use new argument layout. Don't count
void as an argument.
(print_arg_types): Update comments. Use new argument layout.
(recursive_dump_type): Don't print arg_types member.
* hpread.c (hpread_read_struct_type): Use new argument layout.
(fixup_class_method_type): Likewise.
(hpread_type_lookup): Likewise.
* stabsread.c (read_type): Update calls to read_args and
smash_to_method_type.
(read_args): Use new argument layout. Simplify.
* valops.c (typecmp): Use new argument layout. Update parameters
and comments. Simplify.
(hand_function_call): Use new argument layout.
(search_struct_method): Update call to typecmp.
(find_overload_match): Use new argument layout.
|
|
|
|
* dwarf2read.c: #include "macrotab.h".
(dwarf_macinfo_buffer): New variable.
(struct dwarf2_pinfo): New members: dwarf_macinfo_buffer, and
dwarf_macinfo_size.
(DWARF_MACINFO_BUFFER, DWARF_MACINFO_SIZE): New macros.
(dwarf2_missing_macinfo_section, dwarf2_macros_too_long,
dwarf2_macros_not_terminated, dwarf2_macro_outside_file,
dwarf2_macro_unmatched_end_file, dwarf2_macro_malformed_definition,
dwarf2_macro_spaces_in_definition): New complaints.
(dwarf2_has_info): Initialize dwarf_macinfo_offset.
(dwarf2_build_psymtabs): Read the .dwarf_macinfo section.
(dwarf2_build_psymtabs_hard): Record the buffer and its size in
the partial symbol table.
(psymtab_to_symtab_1): Set the macinfo buffer and size globals
from what's recorded in the partial symbol table.
(read_file_scope): If the compilation unit has a
`DW_AT_macro_info' attribute, read its macro information.
* Makefile.in (dwarf2read.o): Depend on macrotab.h.
|
|
* gdbtypes.h: Update accessor macros to use TYPE_MAIN_TYPE.
(TYPE_CONST, TYPE_VOLATILE, TYPE_CODE_SPACE, TYPE_DATA_SPACE): Use
TYPE_INSTANCE_FLAGS.
(struct main_type): New.
(struct type): Move most members to struct main_type. Change
cv_type and as_type to new type_chain member. Add instance_flags.
(TYPE_MAIN_TYPE, TYPE_CHAIN, TYPE_INSTANCE_FLAGS): New macros.
(TYPE_CV_TYPE, TYPE_AS_TYPE): Remove.
(finish_cv_type): Remove prototype.
* gdbtypes.c (alloc_type): Update comment. Allocate TYPE_MAIN_TYPE.
Set TYPE_CHAIN.
(alloc_type_instance): New function.
(smash_type): New function.
(make_pointer_type, make_reference_type, make_function_type)
(smash_to_member_type, smash_to_method_type): Call smash_type.
(make_qualified_type): New function.
(make_type_with_address_space): Call make_qualified_type.
(make_cv_type): Likewise.
(finish_cv_type): Remove unnecessary function.
(replace_type): Update comment. Copy TYPE_MAIN_TYPE.
(recursive_dump_type): Dump TYPE_CHAIN and TYPE_INSTANCE_FLAGS;
remove TYPE_CV_TYPE and TYPE_AS_TYPE.
* c-typeprint.c (c_type_print_modifier): Use TYPE_INSTANCE_FLAGS.
* dwarf2read.c (read_structure_scope): Don't call finish_cv_type.
* hpread.c (hpread_read_struct_type): Likewise.
* stabsread.c (read_struct_type): Likewise.
2002-05-14 Daniel Jacobowitz <drow@mvista.com>
* gdb.base/maint.exp (maint print type): Update for new type
structure.
|
|
* dwarf2read.c (struct dwarf2_pinfo): New member: dwarf_line_size.
(DWARF_LINE_SIZE): New macro.
(dwarf2_build_psymtabs_hard): Record the line section's size in
the partial symbol table.
(psymtab_to_symtab_1): Restore dwarf_line_size from the partial
symbol table.
|
|
header (...expialidocious) out into its own function.
* dwarf2read.c (struct line_head, struct filenames, struct
directories): Replace with...
(struct line_header): New structure, containing the full
contents of the statement program header, including the
include directory and file name tables.
(read_file_scope): If we have line number info, instead of just
calling dwarf_decode_lines to do all the work, call
dwarf_decode_line_header first to get a `struct line_header'
containing the data in the statement program header, and then
pass that to dwarf_decode_lines, which will pick up where that
left off. Be sure to clean up the `struct line_header' object.
(dwarf_decode_line_header, free_line_header, add_include_dir,
add_file_name): New functions.
(dwarf_decode_lines): Move all the code to read the statement
program header into dwarf_decode_line_header. Take the line
header it built as the first argument, instead of the offset to
the compilation unit's line number info. Use the new `struct
line_header' type instead of the old structures. No need to do
cleanups here now, since we don't allocate anything.
(dwarf2_statement_list_fits_in_line_number_section,
dwarf2_line_header_too_long): New complaints.
|
|
* gdbtypes.h (TYPE_FLAG_VECTOR, TYPE_VECTOR): Define.
* gdbtypes.c (recursive_dump_type): Output the vector flag.
* dwarf2read.c (dwarf_attr_name): Handle new attribute for
vectors.
(read_array_type): Record the fact that this array type is really a
vector (i.e. are passed in by value).
|
|
* dwarf2read.c (struct function_range): New.
(cu_first_fn, cu_last_fn, cu_cached_fn): New.
(check_cu_functions): New.
(read_file_scope): Initialize global function lists.
Call dwarf_decode_line after processing children.
(read_func_scope): Add to global function list.
(dwarf_decode_lines): Call check_cu_functions everywhere
record_line is called. Call record_line with a linenumber
of 0 to mark sequence ends.
|
|
Fix PR gdb/422.
* c-lang.c (c_create_fundamental_type): Handle FT_COMPLEX,
FT_DBL_PREC_COMPLEX, and FT_EXT_PREC_COMPLEX.
* dwarf2read.c (read_base_type): Set TYPE_TARGET_TYPE for
complex types.
* stabsread.c (rs6000_builtin_type): Likewise.
(read_sun_floating_type): Likewise.
|
|
a constant array bound.
|
|
|
|
* dwarf2read.c: Replace fprintf (stderr, ...) by
fprintf_unfiltered (gdb_stderr, ...).
|
|
* buildsym.c: Update copyright years.
* c-typeprint.c: Likewise.
* dwarf2read.c: Likewise.
* f-typeprint.c: Likewise.
* gdbtypes.c: Likewise.
* gdbtypes.h: Likewise.
* hp-symtab-read.c: Likewise.
* hpread.c: Likewise.
* mdebugread.c: Likewise.
* p-typeprint.c: Likewise.
|
|
* gdbtypes.h (struct cplus_struct_type): Add is_artificial to
member function fields. Add accessor macro
TYPE_FN_FIELD_ARTIFICIAL.
* dwarf2read.c (dwarf2_add_member_fn): Check for artificial methods.
* c-typeprint.c (c_type_print_base): Skip artificial member
functions.
|
|
* gdbtypes.h (struct type): Fix whitespace. Remove obsolete
comment. Add ``artificial'' to ``union field_location''.
* dwarf2read.c: Remove ad-hoc TYPE_FIELD_ARTIFICIAL.
* buildsym.c (finish_block): Initialize TYPE_FIELD_ARTIFICIAL to 0.
* mdebugread.c (parse_symbol): Likewise.
* stabsread.c (define_symbol): Likewise.
* hp-symtab-read.c (hpread_function_type): Likewise, instead of
initializing TYPE_FIELD_BITPOS to n (obsolete).
(hpread_doc_function_type): Likewise.
* hpread.c (hpread_function_type): Likewise.
|
|
DW_TAG_string_type (this is acceptable under the current DWARF 2.1/3.0
standard.)
2) In read_tag_string_type(), a fix for FORTRAN that propagates the
first string length to all string types. This is important as FORTRAN
strings are not delimited as in C/C++.
3) Handling of the DW_LANG_Fortran95.
|
|
Fix DW_OP_minus.
|
|
2001-12-11 Fred Fish <fnf@redhat.com>
* c-typeprint.c (c_type_print_base): Use type flags access macros
to test bits.
* ch-typeprint.c (chill_type_print_base): Ditto.
* ch-valprint.c (chill_val_print): Ditto.
* d10v-tdep.c (d10v_pointer_to_address): Ditto.
* dwarf2read.c (dwarf2_add_member_fn): Ditto.
* dwarfread.c (read_structure_scope): Ditto.
* gdbtypes.c (create_range_type): Dittol
(create_set_type): Ditto.
(check_typedef): Ditto.
* jv-typeprint.c (java_type_print_base): Ditto.
* p-typeprint.c (pascal_type_print_base): Ditto
* p-valprint.c (pascal_val_print): Ditto.
* stabsread.c (read_cfront_member_functions): Ditto.
(read_member_functions): Ditto.
(cleanup_undefined_types): Ditto.
* valprint.c (val_print): Ditto.
* valops.c (hand_function_call): Remove is_prototyped
variable and just use type flag test macro directly.
|
|
2001-12-08 Fred Fish <fnf@redhat.com>
* dwarf2read.c (read_typedef): Replace hand crafted type
initialization with a call to the init_type() function, which
is how the rest of gdb creates types.
|
|
2001-12-08 Fred Fish <fnf@redhat.com>
* dwarf2read.c (TYPE_FLAG_VARARGS): Remove from here.
* gdbtypes.h (TYPE_FLAG_VARARGS): Add here and change value to
not collide with other flag bits.
|
|
2001-12-08 Fred Fish <fnf@redhat.com>
* dwarf2read.c (read_base_type): Rename is_unsigned to type_flags.
For unsigned types set TYPE_FLAG_UNSIGNED and pass it to
init_type().
|
|
(check_typedef): Remove ``register'' keyword from argument.
Preserve const and volatile attributes across filling in
opaque types.
* gdbtypes.h (finish_cv_type): Add prototype.
* hp-symtab-read.c (hpread_read_struct_type): Call finish_cv_type.
* stabsread.c (read_struct_type): Likewise.
* dwarf2read.c (read_structure_scope): Likewise. Remove redundant
assignment to die->type.
|
|
* dwarf2cfi.h: New file.
* dwarf2read.c (dwarf_frame_offset, dwarf_frame_size): New variables.
(dwarf_eh_frame_offset, dwarf_eh_frame_size): New variables.
(dwarf2_read_section): Change to non static.
(dwarf2_locate_sections): Add .debug_frame and .eh_frame section
recognition.
(FRAME_SECTION, EH_FRAME_SECTION): New define.
* elfread.c (elf_symfile_read): Add call of frame informations build.
* frame.h (frame_info): Add pointer to unwind_context.
* symfile.h (dwarf2_build_frame_info): Add declaration.
* gdbarch.sh (DWARF2_BUILD_FRAME_INFO): Add.
* gdbarch.h, gdbarch.c: Regenerate.
* Makefile.in: Add dwarf2cfi_h, dwarf2cfi.o
* x86-64-tdep.c (i386_gdbarch_init): Initialize target vector to
use debug frame info.
|
|
(read_attribute): uses read_attribute_value
|
|
(struct dwarf2_pinfo): Add dwarf_str_buffer and dwarf_str_size.
(DWARF_STR_BUFFER, DWARF_STR_SIZE): Define.
(dwarf2_has_info): Clear dwarf_str_offset.
(dwarf2_build_psymtabs): Read .debug_str section if present.
(dwarf2_build_psymtabs_hard): Save DWARF_STR_BUFFER and
DWARF_STR_SIZE.
(psymtab_to_symtab_1): Restore DWARF_STR_BUFFER and DWARF_STR_SIZE.
(read_attribute): Handle DW_FORM_strp.
(read_n_bytes, read_string): Remove HOST_CHAR_BIT != 8
handling code.
(read_indirect_string): New.
(dump_die): Handle DW_FORM_strp.
|
|
unknown standard opcodes.
|
|
* complaints.c (info_verbose): Remove unneeded decl, is in defs.h.
* dbxread.c: Ditto
* dwarf2read.c: Ditto.
* dwarfread.c: Ditto.
* exec.c: Ditto.
* hpread.c: Ditto.
* hpread.h: Ditto.
* mdebugread.c: Ditto.
* os9kread.c: Ditto.
* stack.c: Ditto.
* symfile.c: Ditto.
* tracepoint.c: Ditto.
|
|
* dbxread.c: Likewise.
* dwarf2read.c: Likewise.
* dwarfread.c: Likewise.
* somread.c: Likewise.
* ultra3-nat.c: Likewise.
* xcoffread.c: Likewise.
|
|
From Daniel Jacobowitz <drow@mvista.com>
* dbxread.c (dbx_symfile_read): Only reinitialize
the psymbol list if mainline or if both static
and global lists are empty.
* dwarf2read.c (dwarf2_build_psymtabs): Likewise.
* dwarfread.c (dwarf_build_psymtabs): Likewise.
* xcoffread.c (xcoff_initial_scan): Likewise.
* os9kread.c (os9k_symfile_read): Likewise.
|
|
|
|
|
|
(read_partial_die): Delete fourth argument; we return this info in
the struct partial_die_info object itself now.
(dwarf2_build_psymtabs_hard, scan_partial_symbols): Use the
has_pc_info field of the partial die struct, rather than passing a
variable by reference to read_partial_die.
|
|
code in loop condition. This seemed to be trying to round
info_ptr up to the next four-byte boundary, but that's not what it
actually did. If we discover the problem the old code was really
trying to address, we can fix it properly.
|
|
dump_die_list, store_in_ref_table, follow_die_ref): Make these
static; they're private functions.
|
|
|
|
(top-level): #include filenames.h.
* dwarf2read.c (dwarf2_start_subfile): Use IS_ABSOLUTE_PATH and
FILENAME_CMP, to DTRT on non-Posix platforms.
(top-level): #include filenames.h.
|
|
|