aboutsummaryrefslogtreecommitdiff
path: root/gdb/dwarf2read.c
AgeCommit message (Collapse)AuthorFilesLines
2012-07-26 * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Expand parameterSiddhesh Poyarekar1-7/+7
SIZE to size_t. (dwarf2_evaluate_loc_desc): Likewise. (dwarf2_loc_desc_needs_frame): Likewise. (locexpr_describe_location_1): Likewise. * dwarf2loc.h (struct dwarf2_locexpr_baton): Make SIZE as size_t. (struct dwarf2_loclist_baton): Likewise. * dwarf2read.c (struct dwarf_block): Likewise. (dump_die_shallow): Use pulongest to print dwarf_block.size. (decode_locdesc): Expand SIZE and I to size_t.
2012-07-20 * NEWS: Document new options "set/show use-deprecated-index-sections",Doug Evans1-5/+19
and delete reference to --use-deprecated-index-sections. * symfile.h (use_deprecated_index_sections): Delete. * dwarf2read.c (use_deprecated_index_sections): Make static. (read_index_from_section): Update wording of how to load deprecated index sections. (_initialize_dwarf2_read): New options "set/show use-deprecated-index-sections". * main.c (captured_main): Delete --use-deprecated-index-sections. doc/ * gdb.texinfo (Mode Options): Delete --use-deprecated-index-sections. (Index Files): Document how to control the use of deprecated index sections. (Index Section Format): Replace --use-deprecated-index-sections with "set use-deprecated-index-sections on".
2012-07-202012-07-20 Jan Kratochvil <jan.kratochvil@redhat.com>Tom Tromey1-1/+5
Tom Tromey <tromey@redhat.com> * dwarf2read.c (dwarf_decode_macros) <DW_MACRO_GNU_define_indirect_alt, DW_MACRO_GNU_undef_indirect_alt, DW_MACRO_GNU_transparent_include_alt>: New cases. (dwarf_decode_macro_bytes) <DW_MACRO_GNU_define_indirect, DW_MACRO_GNU_undef_indirect>: Examine 'section_is_dwz'.
2012-07-20 * dwarf2read.c (try_open_dwo_file): Don't callTom Tromey1-1/+0
gdb_bfd_stash_filename.
2012-07-19 * dwarf2read.c (dwarf2_ranges_read): Ignore ranges starting at zero ifDoug Evans1-3/+25
there's no section at address zero. (dwarf2_record_block_ranges): Ditto.
2012-07-18 * dwarf2read.c (struct dwz_file) <gdb_index>: New field.Tom Tromey1-42/+131
(locate_dwz_sections): Recognize .gdb_index. (create_cus_from_index_list): New function. (create_cus_from_index): Use it. Handle .dwz data. (read_index_from_section): New function, extracted from dwarf2_read_index. (dwarf2_read_index): Use it. Read .gdb_index from dwz file, if needed.
2012-07-18 * dwarf2read.c (struct dwarf2_per_objfile) <dwz_file>: New field.Tom Tromey1-76/+409
(struct dwarf2_per_cu_data) <length>: No longer bitfield. <is_dwz>: New field. (struct dwz_file): New. (struct partial_die_info) <is_dwz, spec_is_dwz>: New fields. (locate_dwz_sections, dwarf2_get_dwz_file) (get_abbrev_section_for_cu): New functions. (error_check_comp_unit_head, read_and_check_comp_unit_head) (read_and_check_type_unit_head): Add abbrev_section argument. (create_debug_types_hash_table): Update. (init_cutu_and_read_dies): Use proper abbrev section. (init_cutu_and_read_dies_no_follow): Likewise. (set_partial_user): Do nothing if PST==NULL. (read_comp_units_from_section): New function. (create_all_comp_units): Use it. (scan_partial_symbols, partial_die_parent_scope): Update. (skip_one_die): Handle DW_FORM_GNU_ref_alt, DW_FORM_GNU_strp_alt. (process_imported_unit_die, read_partial_die): Handle .dwz files. (find_partial_die): Add offset_in_dwz argument. Update. (guess_partial_die_structure_name, fixup_partial_die): Update. (read_attribute_value): Handle DW_FORM_GNU_ref_alt, DW_FORM_GNU_strp_alt. (read_indirect_string_from_dwz): New function. (dwarf2_const_value_attr): Handle DW_FORM_GNU_strp_alt. (dump_die_shallow): Handle DW_FORM_GNU_ref_alt, DW_FORM_GNU_strp_alt. (is_ref_attr): Handle DW_FORM_GNU_ref_alt. (follow_die_offset): Add offset_in_dwz argument. (follow_die_ref, dwarf2_fetch_die_location_block): Update. (skip_form_bytes): Handle DW_FORM_GNU_strp_alt. (dwarf_decode_macro_bytes): Add section_is_dwz argument. Handle new macro forms. (dwarf_decode_macros): Update. (dwarf2_find_containing_comp_unit): Add offset_in_dwz argument. (dwarf2_per_objfile_free): Unref dwz_bfd, if it exists (lookup_die_type): Handle DW_FORM_GNU_ref_alt. (create_debug_types_hash_table): Use correct abbrev section. (get_debug_line_section): New function. (dwarf_decode_line_header, dwarf_decode_lines_1): Use it. (process_full_comp_unit): Pass 'required' argument to end_symtab_get_static_block. * buildsym.h (end_symtab_get_static_block): Update. * buildsym.c (end_symtab_get_static_block): Add 'required' argument. (end_symtab, end_expandable_symtab): Update.
2012-07-18 * dwarf2read.c: Don't include zlib.h or sys/mman.h.Tom Tromey1-189/+11
(pagesize): Remove. (struct dwarf2_section_info) <map_addr, map_len>: Remove. (zlib_decompress_section): Remove. (dwarf2_read_section): Use gdb_bfd_map_section. (munmap_section_buffer): Remove. (free_dwo_file, dwarf2_per_objfile_free): Don't use munmap_section_buffer. * gdb_bfd.c: Include zlib.h, sys/mman.h. (struct gdb_bfd_section_data): New. (free_one_bfd_section): New function. (gdb_bfd_close_or_warn): Use free_one_bfd_section. (get_section_descriptor, zlib_decompress_section) (gdb_bfd_map_section): New functions. * gdb_bfd.h (gdb_bfd_map_section): Declare.
2012-07-18 * dwarf2read.c (try_open_dwo_file): use gdb_bfd_open.Tom Tromey1-1/+1
2012-07-18 * symfile.c (symfile_bfd_open): Don't copy name. CallTom Tromey1-1/+2
gdb_bfd_stash_filename. (load_command): Open the new BFD before freeing the old. (bfd_open_maybe_remote): Call gdb_bfd_stash_filename. * symfile-mem.c (symbol_file_add_from_memory): Don't copy name. Call gdb_bfd_stash_filename. * spu-linux-nat.c (spu_bfd_open): Don't copy name. * solib-spu.c (spu_bfd_fopen): Don't copy name. Call gdb_bfd_stash_filename. * solib-darwin.c (darwin_solib_get_all_image_info_addr_at_init): Free found_pathname. * rs6000-nat.c (add_vmap): Don't copy filename. Call gdb_bfd_stash_filename. * remote.c (remote_bfd_open): Call gdb_bfd_stash_filename. * machoread.c (macho_add_oso_symfile): Call gdb_bfd_stash_filename. (macho_symfile_read_all_oso): Arrange to free archive_name. Call gdb_bfd_stash_filename. (macho_check_dsym): Don't copy filename. Call gdb_bfd_stash_filename. * jit.c (bfd_open_from_target_memory): Don't copy the filename. * gdb_bfd.c (gdb_bfd_stash_filename): New function. * gdb_bfd.h (gdb_bfd_stash_filename): Declare. * gcore.c (create_gcore_bfd): Call gdb_bfd_stash_filename. * exec.c (exec_close): Don't free the BFD's filename. (exec_file_attach): Don't copy the filename. Call gdb_bfd_stash_filename. * corelow.c (core_close): Don't free the BFD's filename. (core_open): Call gdb_bfd_stash_filename. * corefile.c (reopen_exec_file): Remove #if 0 code. * solib.c (solib_bfd_fopen): Call gdb_bfd_stash_filename. Free pathname. * dwarf2read.c (try_open_dwo_file): Call gdb_bfd_stash_filename.
2012-07-18 * dwarf2read.c (try_open_dwo_file): Use gdb_bfd_ref andTom Tromey1-6/+4
gdb_bfd_unref. (free_dwo_file): Use gdb_bfd_unref. * cli/cli-dump.c: Include gdb_bfd.h. (bfd_openw_with_cleanup): Use gdb_bfd_ref. (bfd_openr_with_cleanup): Likewise. * windows-nat.c (windows_make_so): Use gdb_bfd_ref, gdb_bfd_unref. * utils.c: Include gdb_bfd.h. (do_bfd_close_cleanup): Use gdb_bfd_unref. * symfile.c: Include gdb_bfd.h. (separate_debug_file_exists): Use gdb_bfd_unref. (bfd_open_maybe_remote): Use gdb_bfd_ref. (symfile_bfd_open): Use gdb_bfd_ref, gdb_bfd_unref. (generic_load): Use gdb_bfd_ref. (reread_symbols): Use gdb_bfd_unref. * symfile-mem.c: Include gdb_bfd.h. (symbol_file_add_from_memory): Use make_cleanup_bfd_close. * spu-linux-nat.c (spu_bfd_open): Use gdb_bfd_ref, gdb_bfd_unref. * solib.c: Include gdb_bfd.h. (solib_bfd_fopen): Use gdb_bfd_ref. (solib_bfd_open): Use gdb_bfd_unref. (free_so_symbols): Use gdb_bfd_unref. (reload_shared_libraries_1): Use gdb_bfd_unref. * solib-spu.c: Include gdb_bfd.h. (spu_bfd_fopen): Use gdb_bfd_ref, gdb_bfd_unref. * solib-pa64.c (pa64_solib_create_inferior_hook): Use gdb_bfd_ref, gdb_bfd_unref. * solib-frv.c: Include gdb_bfd.h. (enable_break2): Use gdb_bfd_unref. * solib-dsbt.c: Include gdb_bfd.h. (enable_break2): Use gdb_bfd_unref. * solib-darwin.c: Include gdb_bfd.h. (darwin_solib_get_all_image_info_addr_at_init): Use gdb_bfd_ref, gdb_bfd_unref. (darwin_bfd_open): Use gdb_bfd_unref. * rs6000-nat.c (add_vmap): Use gdb_bfd_ref, gdb_bfd_unref. * remote-mips.c: Include gdb_bfd.h. (mips_load_srec): Use gdb_bfd_ref. (pmon_load_fast): Use gdb_bfd_ref. * remote-m32r-sdi.c: Include gdb_bfd.h. (m32r_load): Use gdb_bfd_ref. * record.c: Include gdb_bfd.h. (record_save_cleanups): Use gdb_bfd_unref. (cmd_record_save): Use gdb_bfd_unref. * procfs.c (insert_dbx_link_bpt_in_file): Use gdb_bfd_ref, gdb_bfd_unref. * objfiles.h (gdb_bfd_close_or_warn): Remove. (gdb_bfd_ref, gdb_bfd_unref): Move to gdb_bfd.h. * objfiles.c: Include gdb_bfd.h. (free_objfile): Use gdb_bfd_unref. (gdb_bfd_close_or_warn, gdb_bfd_ref, gdb_bfd_unref): Move to gdb_bfd.c. * machoread.c (macho_add_oso_symfile): Use gdb_bfd_unref. (macho_symfile_read_all_oso): Use gdb_bfd_ref, gdb_bfd_unref. (macho_check_dsym): Likewise. * m32r-rom.c: Include gdb_bfd.h. (m32r_load): Use gdb_bfd_ref. (m32r_upload_command): Use gdb_bfd_ref. * jit.c: Include gdb_bfd.h. (jit_bfd_try_read_symtab): Use gdb_bfd_ref, gdb_bfd_unref. * gdb_bfd.h: New file. * gdb_bfd.c: New file. * gcore.c: Include gdb_bfd.h. (create_gcore_bfd): Use gdb_bfd_ref. (do_bfd_delete_cleanup): Use gdb_bfd_unref. (gcore_command): Use gdb_bfd_unref. * exec.c: Include gdb_bfd.h. (exec_close): Use gdb_bfd_unref. (exec_close_1): Use gdb_bfd_unref. (exec_file_attach): Use gdb_bfd_ref. * elfread.c: Include gdb_bfd.h. (build_id_verify): Use gdb_bfd_unref. * dsrec.c: Include gdb_bfd.h. (load_srec): Use gdb_bfd_ref. * corelow.c: Include gdb_bfd.h. (core_close): Use gdb_bfd_unref. (core_open): Use gdb_bfd_ref. * bfd-target.c: Include gdb_bfd.h. (target_bfd_xclose): Use gdb_bfd_unref. (target_bfd_reopen): Use gdb_bfd_ref. * Makefile.in (SFILES): Add gdb_bfd.c. (HFILES_NO_SRCDIR): Add gdb_bfd.h. (COMMON_OBS): Add gdb_bfd.o.
2012-07-16 * dwarf2read.c (stmt_list_hash): New struct.Doug Evans1-75/+143
(type_unit_group): Embed "per_cu" member, remove pointer. New union member "t", move member "tus" into it, all uses updated. New member "hash", replaces member "line_offset, all uses updated. (quick_file_names): Replace member "offset" with "hash", all uses updated. (hash_stmt_list_entry, eq_stmt_list_entry): New functions. (hash_file_name_entry, eq_file_name_entry): Call them. (hash_type_unit_group, eq_type_unit_group): Ditto. (dw2_get_cu, dw2_get_primary_cu): Replace assert with a better one. (dw2_get_file_names_reader): Fix file name table calculation for TUs. (dw2_get_file_names): Update. (create_type_unit_group): Replace "per_cu" arg with "cu". All callers updated. Fix "quick" (.gdb_index) handling. (get_type_unit_group): Replace "per_cu" arg with "cu". All callers updated. (build_type_unit_groups): Don't reset tu_stats.
2012-07-13gdb/Jan Kratochvil1-1/+12
* buildsym.c (end_symtab_1): Split it to ... (end_symtab_get_static_block): ... this ... (end_symtab_from_static_block): ... and this function. (end_symtab, end_expandable_symtab): Call them. * buildsym.h (end_symtab_get_static_block) (end_symtab_from_static_block): New declarations. * dwarf2read.c (process_full_comp_unit): New variable static_block. Set its valid CU ranges. gdb/testsuite/ * gdb.dwarf2/dw2-minsym-in-cu.S: New file. * gdb.dwarf2/dw2-minsym-in-cu.exp: New file.
2012-07-13gdb/Jan Kratochvil1-1/+12
* dwarf2read.c (read_call_site_scope): Do not gdb_assert for invalid read-in CALL_SITE_PARAMETER_PARAM_OFFSET.
2012-07-10 PR gdb/13498Doug Evans1-170/+959
* dwarf2read.c (dwarf2_per_objfile): New members n_type_unit_groups, all_type_unit_groups, type_unit_groups, tu_stats. (dwarf2_per_cu_data): Move "imported_symtabs" into new union "s". All uses updated. Add type_unit_group to union "s". (type_unit_group): New struct. (IS_TYPE_UNIT_GROUP): New macro. (abbrev_table): Delete unused member "section". (dw2_do_instantiate_symtab): Early exit if type_unit_group. (dw2_get_cu): Assert not used with type_unit_group. (dw2_get_primary_cu): New function. (dw2_build_type_unit_groups_reader): New function. (dw2_build_type_unit_groups): New function. (dw2_get_file_names): Assert not called on type units. (dw2_map_symtabs_matching_filename): Call dw2_build_type_unit_groups. Redo loop to iterate over type unit groups instead of type units. (dw2_expand_symtabs_matching, dw2_map_symbol_filenames): Ditto. (read_abbrev_offset): New function. (init_cutu_and_read_dies): New arg "abbrev_table". All callers updated. (create_partial_symtab): New function. (process_psymtab_comp_unit_reader): Assert not used with type units. Call create_partial_symtab. (process_psymtab_type_unit): Delete. (hash_type_unit_group, eq_type_unit_group): New functions. (allocate_type_unit_groups_table): New function. (NO_STMT_LIST_TYPE_UNIT_PSYMTAB): New macro. (NO_STMT_LIST_TYPE_UNIT_PSYMTAB_SIZE): New macro. (create_type_unit_group, get_type_unit_group): New functions. (tu_abbrev_offset): New struct. (sort_tu_by_abbrev_offset): New function. (add_type_unit_group_to_table): New function. (build_type_unit_groups): New function. (build_type_psymtabs_reader): New function. (build_type_psymtab_dependencies): New function. (build_type_psymtabs): Rewrite. (scan_partial_symbols): Flag an error if a DW_TAG_imported_unit is seen in a type unit. (process_queue): Move symtab expansion debugging printfs here. Call process_full_type_unit for type units. (compute_symtab_includes): Assert not called for type units. (process_cu_includes): Don't call compute_symtab_includes for type units. (process_full_type_unit): New function. (process_imported_unit_die): Flag an error if called for type units. (handle_DW_AT_stmt_list): Delete arg "want_line_info". All callers updated. Assert not called for type units. (read_file_scope): Call dwarf2_start_symtab. (setup_type_unit_groups): New function. (read_type_unit_scope): Rewrite. (abbrev_table_read_table): Initialize abbrev_table->offset. (abbrev_table_free_cleanup): New function. (dwarf2_start_symtab): New function. (load_full_type_unit): Assert not called for type unit groups.
2012-07-10 * dwarf2read.c (load_full_type_unit): Simplify.Doug Evans1-15/+6
2012-07-09 * dwarf2read.c (dwarf2_per_objfile): Change type of all_type_unitsDoug Evans1-8/+8
to struct signatured_type **. All uses updated.
2012-07-09 * dwarf2read.c (dwarf2_attr_no_follow): Delete unused arg "cu".Doug Evans1-6/+4
All callers updated.
2012-07-06 * dwarf2read.c (dw2_expand_symtabs_matching): Fix typo.Doug Evans1-1/+1
2012-07-02 * dwarf2read.c (maybe_queue_comp_unit): Move definition next to othersDoug Evans1-42/+42
related to queue management.
2012-07-02 * dwarf2read.c (create_debug_types_hash_table): Use "debug dwarf2-read"Doug Evans1-8/+33
instead of "debug dwarf2-die" in debugging printfs. (create_debug_info_hash_table_reader): Ditto. (create_debug_info_hash_table): Ditto. (init_dwo_file): Ditto. (init_cutu_and_read_dies): Add debugging printf. (init_cutu_and_read_dies_no_follow): Ditto. (process_psymtab_comp_unit_reader): Ditto.
2012-07-01 * dwarf2read.c (signatured_type): Make "per_cu" member first.Doug Evans1-25/+60
(init_cutu_and_read_dies): Handle rereading a DWO CU while it's currently being read. Propagate DW_AT_comp_dir to DWO DIE. testsuite/ * gdb.dwarf2/fission-reread.S: New file. * gdb.dwarf2/fission-reread.exp: New file.
2012-06-29 * dwarf2read.c (get_cu_length): New function.Doug Evans1-14/+17
(offset_in_cu_p, error_check_comp_unit_head): Call it. (create_debug_types_hash_table): Ditto. (init_cutu_and_read_dies): Ditto. (init_cutu_and_read_dies_no_follow): Ditto.
2012-06-29 * dwarf2read.c (dwarf2_find_base_address): Move definition.Doug Evans1-31/+31
2012-06-29remove extraneous blank lineDoug Evans1-1/+0
2012-06-29 * dwarf2read.c (ABBREV_HASH_SIZE): Remove enclosing #ifndef/#endif.Doug Evans1-80/+137
(struct abbrev_table): Define. (dwarf2_cu): Replace members dwarf2_abbrevs, abbrev_obstack with abbrev_table. (init_cutu_and_read_dies): Update. (abbrev_table_alloc_abbrev): New function. Replaces dwarf_alloc_abbrev. All callers updated. (abbrev_table_add_abbrev): New function. (abbrev_table_lookup_abbrev): New function. Replaces dwarf2_lookup_abbrev. All callers updated. (abbrev_table_read_table): New function. Contents moved here from dwarf2_read_abbrevs. (dwarf2_read_abbrevs): Call it. (abbrev_table_free): New function. (dwarf2_free_abbrev_table): Call it.
2012-06-28 * dwarf2read.c (dwarf2_cu): Add ranges_base.Doug Evans1-11/+19
Delete have_addr_base, unused. All uses updated. (init_cutu_and_read_dies): Process DW_AT_GNU_ranges_base. (dwarf2_get_pc_bounds): Add ranges_base. (dwarf2_record_block_ranges): Ditto. testsuite/ * gdb.dwarf2/fission-base.c: New file. * gdb.dwarf2/fission-base.S: New file. * gdb.dwarf2/fission-base.exp: New file.
2012-06-27 * dwarf2read.c (per_cu_header_read_in): Simplify, and handleDoug Evans1-6/+2
type units.
2012-06-27 * dwarf2read.c (read_and_check_comp_unit_head): Delete unnecessaryDoug Evans1-20/+32
prototype. (error_check_comp_unit_head): New arg abbrev_section. All callers updated. (read_and_check_comp_unit_head): Ditto. (read_and_check_type_unit_head): Ditto.
2012-06-26 * dwarf2read.c (dwo_section_names): Add macinfo_dwo, macro_dwo.Doug Evans1-17/+54
(dwo_sections): Add macinfo, macro. (dwarf2_locate_dwo_sections): Watch for macro sections. (dwarf_decode_macros): Remove args lh, abfd, section, section_name. All callers updated. Handle DWO files.
2012-06-26 * NEWS: Mention new options "set debug dwarf2-read" andDoug Evans1-0/+52
"set debug symtab-create". * dwarf2read.c (dwarf2_read_debug): New static global. (dwarf2_build_psymtabs_hard): Add debugging printfs. (process_queue): Ditto. (process_full_comp_unit): Ditto. (_initialize_dwarf2_read): Add new option "set debug dwarf2-read". * elfread.c (elf_symfile_read): Add debugging printf. * minsyms.c (install_minimal_symbols): Ditto. * psymtab.c (allocate_psymtab): Ditto. * symfile.c (allocate_symtab): Ditto. * symtab.c (symtab_create_debug): New global. (_initialize_symtab): Add new option "set debug symtab-create". * symtab.h (symtab_create_debug): Declare. doc/ * gdb.texinfo (Debugging Output): Document debug options dwarf2-read and symtab-create.
2012-06-26 * dwarf2read.c (lookup_dwo_comp_unit): Enhance comment.Doug Evans1-2/+2
(lookup_dwo_type_unit): Ditto.
2012-06-23 PR 14125Doug Evans1-36/+237
* NEWS: Document additions to .gdb_index. * dwarf2read.c: #include "gdb/gdb-index.h". (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): New macro. (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): New macro. (DW2_GDB_INDEX_CU_SET_VALUE): New macro. (dwarf2_read_index): Recognize version 7. (dw2_do_expand_symtabs_matching): New args want_specific_block, block_kind, domain): All callers updated. (dw2_find_symbol_file): Handle new index CU values. (dw2_expand_symtabs_matching): Match symbol kind if requested. (add_index_entry): New args is_static, kind. All callers updated. (offset_type_compare, uniquify_cu_indices): New functions (symbol_kind): New function. (write_psymtabs_to_index): Remove duplicate CU values. (write_psymtabs_to_index): Write .gdb_index version 7. doc/ * gdb.texinfo (Index Section Format): Document version 7 format. include/gdb/ * gdb-index.h: New file.
2012-06-19 * dwarf2expr.c (execute_stack_op): Handle DW_OP_GNU_const_index.Doug Evans1-0/+1
Adjust address for DW_OP_GNU_addr_index. * dwarf2expr.h (dwarf_expr_context): Update comment. * dwarf2loc.c (locexpr_describe_location_piece): New arg per_cu, all callers updated. Handle TLS vars described with DW_OP_GNU_const_index. (disassemble_dwarf_expression): Handle DW_OP_GNU_addr_index and DW_OP_GNU_const_index. * dwarf2read.c (decode_locdesc): Handle DW_OP_GNU_addr_index.
2012-06-17gdb/Jan Kratochvil1-4/+16
* dwarf2expr.c (execute_stack_op): Support DW_OP_GNU_parameter_ref. * dwarf2loc.c (call_site_parameter_matches): Support CALL_SITE_PARAMETER_PARAM_OFFSET. (needs_dwarf_reg_entry_value): Push stub value. * dwarf2read.c (read_call_site_scope): New variable origin. Support CALL_SITE_PARAMETER_PARAM_OFFSET and its DW_AT_abstract_origin. * gdbtypes.h (enum call_site_parameter_kind): New item CALL_SITE_PARAMETER_PARAM_OFFSET. (struct call_site.parameter.u): New field param_offset. gdb/testsuite/ * gdb.arch/amd64-entry-value-param.S: New file. * gdb.arch/amd64-entry-value-param.c: New file. * gdb.arch/amd64-entry-value-param.exp: New file.
2012-06-17gdb/Jan Kratochvil1-14/+22
Code cleanup: Generalize call_site.parameter key. * dwarf2expr.c (execute_stack_op) <DW_OP_GNU_entry_value>: Remove variable dwarf_reg. New variable kind_u. Update parameters to push_dwarf_reg_entry_value. (ctx_no_push_dwarf_reg_entry_value): Update parameters. * dwarf2expr.h (enum call_site_parameter_kind) (union call_site_parameter_u): Forward declarations. (struct dwarf_expr_context_funcs): Update parameters and their description for push_dwarf_reg_entry_value. (ctx_no_push_dwarf_reg_entry_value): Update parameters. * dwarf2loc.c (call_site_parameter_matches): New function. (dwarf_expr_reg_to_entry_parameter): Update parameters and their description. Use call_site_parameter_matches. (dwarf_expr_push_dwarf_reg_entry_value, value_of_dwarf_reg_entry): Update parameters and their description. (value_of_dwarf_block_entry): Remove variables dwarf_reg and fb_offset. New variable kind_u. Adjust the caller for updated parameters. (needs_dwarf_reg_entry_value): Update parameters. * dwarf2read.c (read_call_site_scope): New variable loc. Use it instead of attr. Update for the changed fields of struct call_site_parameter. * gdbtypes.h: Include dwarf2expr.h. (enum call_site_parameter_kind): New. (struct call_site.parameter): New field kind. Wrap dwarf_reg and fb_offset into new union u.
2012-06-15 * dwarf2read.c (dw2_find_symbol_file): Unconditionally useTom Tromey1-6/+2
init_cutu_and_read_dies. testsuite * gdb.cp/namespace.exp: Add "show lang" test.
2012-06-11 * dwarf2read.c (dw2_get_file_names_reader): Ignore partial units.Tom Tromey1-0/+8
2012-06-11 * dwarf2read.c (dw2_get_primary_filename_reader): New function.Tom Tromey1-5/+32
(dw2_find_symbol_file): Use it.
2012-06-07 * dwarf2read.c (dwarf2_cu): Add comment.Doug Evans1-1/+9
2012-06-04 * objfiles.h (ALL_OBJFILE_PRIMARY_SYMTABS): New macro.Doug Evans1-9/+8
(ALL_PRIMARY_SYMTABS): Use it. (ALL_PSPACE_PRIMARY_SYMTABS): Ditto. * dwarf2read.c (dw2_find_symbol_file): Ditto. * linespec.c (iterate_over_all_matching_symtabs): Ditto. * symtab.c (lookup_symbol_aux_objfile): Ditto. (basic_lookup_transparent_type): Ditto.
2012-05-29bfd/Tom Tromey1-1/+0
* opncls.c (bfd_fopen): Always close fd on failure. (bfd_fdopenr): Likewise. gdb/ * symfile.c (symfile_bfd_open): Don't close desc if bfd_fopen fails. * solib.c (solib_bfd_fopen): Don't close fd if bfd_fopen fails. * exec.c (exec_file_attach): Don't close scratch_chan if bfd_fopen fails. * dwarf2read.c (try_open_dwo_file): Don't close fd if bfd_fopen fails.
2012-05-24gdb/Jan Kratochvil1-28/+52
PR symtab/13277: Resolving opaque structures in ICC generated binaries. * dwarf2read.c (struct dwarf2_cu) <producer_is_icc>: New field. (producer_is_gxx_lt_4_6): Move the checking and caching to... (check_producer): ... this new function, which also checks for ICC and caches the result. (producer_is_icc): New function. (read_structure_type): Don't set TYPE_STUB_SUPPORTED if the producer was ICC. gdb/testsuite/ PR symtab/13277: Resolving opaque structures in ICC generated binaries. * gdb.dwarf2/dw2-icc-opaque.S: New file. * gdb.dwarf2/dw2-icc-opaque.exp: New file.
2012-05-22 * dwarf2-frame.c (struct dwarf2_cie): Make initial_instructions, endDoug Evans1-30/+27
"const gdb_byte *". (struct dwarf2_fde): Make instructions, end "const gdb_byte *". (execute_cfa_program): Update to match API of leb128 functions. (read_1_byte, read_4_bytes, read_8_bytes): Make buf parameter "const gdb_byte *". (read_unsigned_leb128, read_signed_leb128): Delete. (read_initial_length): Change type of buf argument to "const gdb_byte *". (read_encoded_value): Update to match API of leb128 functions. (decode_frame_entry): Change result to "const gdb_byte *", and similarly for "start" parameter. (decode_frame_entry_1): Ditto. Use new leb128 reader functions. (dwarf2_build_frame_info): Change local frame_ptr to "const gdb_byte *". * dwarf2expr.c (safe_read_uleb128, safe_read_sleb128): Replaces read_uleb128, read_sleb128. All callers updated. (safe_skip_leb128): New function. (dwarf_block_to_dwarf_reg): Update to match API of leb128 functions. Call gdb_read_uleb128, gdb_skip_leb128 instead of read_uleb128. (dwarf_block_to_dwarf_reg_deref): Update to match API of leb128 functions. Call gdb_read_uleb128, gdb_read_sleb128 instead of read_uleb128, read_sleb128. (dwarf_block_to_fb_offset, dwarf_block_to_sp_offset): Ditto. (execute_stack_op): Update to match API of leb128 functions. * dwarf2expr.h: #include "leb128.h". (read_uleb128, read_sleb128): Delete. (gdb_read_uleb128, gdb_read_sleb128, gdb_skip_leb128): New functions. (safe_read_uleb128, safe_read_sleb128, safe_skip_leb128): Declare. * dwarf2loc.c (debug_loc_kind): New enum. (decode_debug_loc_addresses): New function. (decode_debug_loc_dwo_addresses): New function. (dwarf2_find_location_expression): Rewrite. (dwarf2_compile_expr_to_ax): Update to match API of leb128 functions. (locexpr_describe_location_piece): Ditto. (disassemble_dwarf_expression): Ditto. (locexpr_describe_location_1): Ditto. (loclist_describe_location): Rewrite. * dwarf2loc.h (dwarf2_loclist_baton): New member "from_dwo". * dwarf2read.c (die_reader_specs): New member "buffer_end". (dwarf2_section_buffer_overflow_complaint): Renamed from dwarf2_macros_too_long_complaint. All callers updated. (skip_leb128): Delete. (init_cu_die_reader): Initialize reader->buffer_end. (skip_one_die): Replace call to skip_leb128 with safe_skip_leb128. (skip_form_bytes): New arg buffer_end. All callers updated. Replace call to skip_leb128 with gdb_skip_leb128. (skip_unknown_opcode): New arg mac_end. All callers updated. (fill_in_loclist_baton): Initialize baton->from_dwo.
2012-05-20 * dwarf2read.c (recursively_find_pc_sect_symtab): Initialize "s"Doug Evans1-1/+4
before use. Check for symtab->includes == NULL before scanning it.
2012-05-182012-05-18 Sergio Durigan Junior <sergiodj@redhat.com>Sergio Durigan Junior1-12/+0
* ada-lang.c: * ada-tasks.c: * ada-varobj.c: * amd64-darwin-tdep.c: * arm-symbian-tdep.c: * arm-tdep.c: * avr-tdep.c: * ax-gdb.c: * bfin-linux-tdep.c: * breakpoint.c: * c-valprint.c: * cli/cli-cmds.c: * coffread.c: * cp-support.c: * cris-tdep.c: * dwarf2-frame-tailcall.c: * dwarf2-frame.c: * dwarf2expr.c: * dwarf2loc.c: * dwarf2read.c: * elfread.c: * eval.c: * expprint.c: * f-valprint.c: * frv-tdep.c: * h8300-tdep.c: * hppa-hpux-tdep.c: * hppa-tdep.c: * hppanbsd-tdep.c: * i386-nto-tdep.c: * i386-tdep.c: * i387-tdep.c: * ia64-tdep.c: * jit.c: * linespec.c: * linux-tdep.c: * lm32-tdep.c: * m2-valprint.c: * m32c-tdep.c: * m32r-rom.c: * m32r-tdep.c: * m68k-tdep.c: * m68klinux-tdep.c: * mi/mi-main.c: * microblaze-tdep.c: * mips-linux-tdep.c: * mips-tdep.c: * mn10300-tdep.c: * p-valprint.c: * parse.c: * ppc-linux-tdep.c: * ppc-sysv-tdep.c: * printcmd.c: * python/py-finishbreakpoint.c: * python/py-inferior.c: * python/py-infthread.c: * python/py-type.c: * python/python.c: * remote-fileio.c: * remote-m32r-sdi.c: * remote-mips.c: * reverse.c: * rl78-tdep.c: * rs6000-aix-tdep.c: * rs6000-tdep.c: * s390-tdep.c: * score-tdep.c: * sh64-tdep.c: * skip.c: * solib-darwin.c: * solib-dsbt.c: * solib-frv.c: * sparc-tdep.c: * spu-multiarch.c: * spu-tdep.c: * stack.c: * symfile.c: * symtab.c: * tic6x-tdep.c: * tracepoint.c: * v850-tdep.c: * valarith.c: * valprint.c: * value.c: * xcoffread.c: * xtensa-tdep.c: * ada-lang.c: * ada-tasks.c: * ada-varobj.c: * amd64-darwin-tdep.c: * arm-symbian-tdep.c: * arm-tdep.c: Delete unused variables.
2012-05-18 * psymtab.c (find_pc_sect_symtab_from_partial): Return the symtabTom Tromey1-1/+28
directly corresponding to the found psymtab. * dwarf2read.c (recursively_find_pc_sect_symtab): New function. (dw2_find_pc_sect_symtab): Use it. * block.h (blockvector_contains_pc): Declare. * block.c (find_block_in_blockvector): New function. (blockvector_for_pc_sect): Use it. (blockvector_contains_pc): New function.
2012-05-162012-05-16 Sergio Durigan Junior <sergiodj@redhat.com>Sergio Durigan Junior1-1/+1
* coffread.c (cs_section_address): Passing proper argument for `bfd_get_section_vma'. * dwarf2read.c (dwarf2_locate_sections): Likewise, for `bfd_get_section_flags'. * remote.c (remote_trace_set_readonly_regions): Likewise, for `bfd_get_section_vma'.
2012-05-16 PR macros/13205:Tom Tromey1-3/+6
* macrotab.h: (macro_define_special): Declare. (enum macro_special_kind): New. (struct macro_definition) <argc, replacement>: Update comments. * macrotab.c (new_macro_definition): Unconditionally set 'argc'. (macro_define_object_internal): New function. (macro_define_object): Use it. (macro_define_special): New function. (fixup_definition): New function. (macro_lookup_definition, foreach_macro_in_scope) (foreach_macro): Use fixup_definition. * macroexp.h (macro_stringify): Declare. * macroexp.c (free_buffer_return_text): New function. (stringify): Constify "arg". (macro_stringify): New function. * dwarf2read.c (macro_start_file): Call macro_define_special. testsuite * gdb.base/macscp1.c (macscp_expr): Add comment. * gdb.base/macscp.exp: Test __FILE__ and __LINE__.
2012-05-10 * dwarf2read.c (recursively_write_psymbols): New function.Tom Tromey1-57/+349
(write_psymtabs_to_index): Use it. * dwarf2read.c (struct dwarf2_queue_item) <pretend_language>: New field. (load_cu, dw2_do_instantiate_symtab, process_psymtab_comp_unit) (load_partial_comp_unit): Update. (queue_comp_unit): Add argument 'pretend_language'. (process_queue): Update. (psymtab_to_symtab_1): Skip dependencies that have a user. (load_partial_comp_unit_reader): Give meaning to the 'data' argument. (load_full_comp_unit): Add 'pretend_language' argument. (process_full_comp_unit): Add 'pretend_language' argument. Set language on CU. (process_imported_unit_die, read_file_scope, read_type_unit_scope): Update. (maybe_queue_comp_unit): Add 'pretend_language' argument. (follow_die_offset, follow_die_sig, read_signatured_type_reader): Update. (prepare_one_comp_unit): Add 'pretend_language' argument. * dwarf2read.c: (dwarf2_per_cu_ptr): New typedef. (struct dwarf2_per_objfile) <just_read_cus>: New field. (struct dwarf2_per_cu_data) <imported_symtabs>: New field. (dw2_do_instantiate_symtab): Check whether symtab was read in before queueing. (dw2_instantiate_symtab): Add assertion. Call process_cu_includes. (process_psymtab_comp_unit): Compute 'dependencies' for psymtab. (partial_symtab_p): New typedef. (set_partial_user): New function. (dwarf2_build_psymtabs_hard): Use set_partial_user. (scan_partial_symbols): Add imported CU to imported_symtabs. (dwarf2_psymtab_to_symtab): Call process_cu_includes. (psymtab_to_symtab_1): Do nothing if psymtab is readin. (get_symtab, recursively_compute_inclusions) (compute_symtab_includes, process_cu_includes) (process_imported_unit_die): New functions. (process_die) <DW_TAG_imported_unit>: New case. (dwarf2_per_objfile_free): Free 'imported_symtabs'. * dwarf2read.c (struct dwarf2_per_cu_data) <psymtab>: Update comment. (struct partial_die_info) <locdesc>: Remove. <d>: New field. (process_psymtab_comp_unit): Add 'read_partial' argument. Update. (process_type_comp_unit, dwarf2_build_psymtabs_hard): Update. (scan_partial_symbols): Handle DW_TAG_imported_unit. (add_partial_symbol): Update. (process_die): Handle DW_TAG_partial_unit. (read_file_scope): Update comment. (load_partial_dies): Handle DW_TAG_imported_unit. (read_partial_die): Handle DW_TAG_partial_unit, DW_AT_import. (determine_prefix, dwarf2_name): Handle DW_TAG_partial_unit.