aboutsummaryrefslogtreecommitdiff
path: root/gdb/dwarf2read.c
AgeCommit message (Collapse)AuthorFilesLines
2012-11-20 ARI fixes: sprintf rule.Pierre Muller1-1/+2
Replace sprintf function calls for char arrays by calls to xsnprintf calls. * arm-tdep.c (arm_push_dummy_call): Replace sprintf by xsnprintf. (arm_dwarf_reg_to_regnum, arm_return_value): Ditto. (arm_neon_quad_read, arm_pseudo_read): Ditto. (arm_neon_quad_write, arm_pseudo_write): Ditto. * breakpoint.c (condition_completer): Ditto. (create_tracepoint_from_upload): Ditto. * dwarf2read.c (file_full_name): Ditto. * gcore.c (gcore_command): Ditto. * gnu-nat.c (proc_string, gnu_pid_to_str): Ditto. * go32-nat.c (go32_sysinfo): Ditto. * interps.c (interp_set): Ditto. * m32c-tdep.c (make_types): Ditto. * ppc-linux-nat.c (fetch_register, store_register): Ditto. * remote-m32r-sdi.c (m32r_open): Ditto. * sol-thread.c (td_err_string): Ditto. (td_state_string, solaris_pid_to_str): Ditto. * symtab.c (gdb_mangle_name): Ditto. * cli/cli-script.c (execute_control_command): Ditto. (define_command, document_command): Ditto. * tui/tui-io.c (tui_rl_display_match_list): Ditto. * tui/tui-stack.c (tui_make_status_line): Ditto. * tui/tui-win.c (tui_update_gdb_sizes): Ditto.
2012-11-15 ARI xasprintf rule fixes.Pierre Muller1-8/+9
* dwarf2read.c (create_dwo_in_dwp): Use xstrprintf function instead of xasprintf. (open_and_init_dwp_file): Ditto.
2012-11-12 * ada-lang.c (user_select_syms, ada_print_subexp): Pass flagsTom Tromey1-3/+4
to type-printing functions. * ada-lang.h (ada_print_type): Add argument. * ada-typeprint.c (print_array_type, print_variant_clauses, print_variant_part, print_selected_record_field_types, print_record_field_types, print_unchecked_union_type, print_func_type, ada_print_type): Add flags argument. (ada_print_typedef): Update. * c-exp.y (OPERATOR conversion_type_id): Update. * c-lang.h (c_print_type, c_type_print_base): Update. * c-typeprint.c (c_print_type, c_type_print_varspec_prefix, c_type_print_modifier, c_type_print_args, c_type_print_varspec_suffix, c_type_print_base): Add flags argument. * cp-valprint.c (cp_print_class_member): Update. * dwarf2read.c (dwarf2_compute_name): Update. * f-lang.h (f_print_type): Add argument. * f-typeprint.c (f_print_type): Add flags argument. * gnu-v3-abi.c (gnuv3_print_method_ptr): Update. * go-lang.h (go_print_type): Add argument. * go-typeprint.c (go_print_type): Add flags argument. * jv-lang.h (java_print_type): Add argument. * jv-typeprint.c (java_type_print_base, java_print_type): Add flags argument. * language.c (unk_lang_print_type): Add flags argument. * language.h (struct language_defn) <la_print_type>: Add flags argument. (LA_PRINT_TYPE): Likewise. * m2-lang.h (m2_print_type): Add argument. * m2-typeprint.c (m2_print_type, m2_range, m2_typedef, m2_array, m2_pointer, m2_ref, m2_procedure, m2_long_set, m2_unbounded_array, m2_record_fields): Add flags argument. * p-lang.h (pascal_print_type, pascal_type_print_base, pascal_type_print_varspec_prefix): Add argument. * p-typeprint.c (pascal_print_type, pascal_type_print_varspec_prefix, pascal_print_func_args, pascal_type_print_varspec_suffix, pascal_type_print_base): Add flags argument. * symmisc.c (print_symbol): Update. * typeprint.c (type_print_raw_options, default_ptype_flags): New globals. (type_print): Update. * typeprint.h (struct type_print_options): New. (type_print_raw_options): Declare. (c_type_print_varspec_suffix, c_type_print_args): Add argument.
2012-11-05 Add support for DWP files. http://gcc.gnu.org/wiki/DebugFissionDWPDoug Evans1-185/+872
* contrib/cc-with-tweaks.sh: Add -p parameter to invoke dwp. * dwarf2read.c: #include "elf-bfd.h". (struct dwarf2_per_objfile): New members dwp_checked, dwp_file. (dwop_section_names): Renamed from dwo_section names. All uses updated. Add entries for .debug_cu_index, .debug_tu_index. (struct dwo_file): Rename dwo_name to name, dwo_bfd to dbfd. All uses updated. (struct dwp_sections): New type. (struct virtual_dwo_sections): New type. (struct dwp_hash_table): New type. (struct dwp_file): New type. (init_cutu_and_read_dies): Ensure DWO info/types section has been read in. Handle DWOs coming from DWP files. (lookup_dwo_file_slot): New function. (dwarf2_locate_dwo_sections): Move definition closer to use. (create_dwo_debug_info_hash_table_reader): Renamed from create_debug_info_hash_table_reader. All callers updated. (create_dwo_debug_info_hash_table): Renamed from create_debug_info_hash_table. All callers updated. (create_dwp_hash_table): New function. (locate_virtual_dwo_sections, create_dwo_in_dwp): New functions. (lookup_dwo_in_dwp): New function. (try_open_dwop_file): Renamed from try_open_dwo_file. New parameter is_dwp. All callers updated. (open_dwop_file): Renamed from open_dwo_file. All callers updated. (open_and_init_dwo_file): Renamed from init_dwo_file. All callers updated. (lookup_dwo_file): Delete. (dwarf2_locate_dwp_sections): New function. (hash_dwp_loaded_cutus, eq_dwp_loaded_cutus): New functions. (allocate_dwp_loaded_cutus_table): New function. (open_and_init_dwp_file): New function. (lookup_dwo_cutu): New function. (lookup_dwo_comp_unit, lookup_dwo_type_unit): Call it.
2012-10-11 * dwarf2read.c (process_psymtab_comp_unit_reader): Remove duplicateDoug Evans1-1/+1
"0x" prefix on address in log message.
2012-10-11 * dwarf2read.c (read_1_byte): Add const to buf parameter.Doug Evans1-17/+17
(read_1_signed_byte, read_2_bytes, read_2_signed_bytes): Ditto. (read_4_bytes, read_4_signed_bytes, read_8_bytes): Ditto. (lookup_dwo_file): Add const to dwo_name parameter. (lookup_dwo_comp_unit, lookup_dwo_type_unit): Ditto.
2012-09-26 * dwarf2read.c (mark_common_block_symbol_computed): New function.Tom Tromey1-4/+142
(read_common_block): Handle child DIEs with DW_AT_data_member_location. (new_symbol_full): Add special case for common blocks. gdb/testsuite * gdb.dwarf2/dw2-common-block.S: New file. * gdb.dwarf2/dw2-common-block.exp: New file.
2012-09-262012-09-26 Jan Kratochvil <jan.kratochvil@redhat.com>Tom Tromey1-35/+45
Tom Tromey <tromey@redhat.com> * dwarf2read.c (read_common_block): Rewrite. (new_symbol_full): Handle DW_TAG_common_block. * f-lang.c (head_common_list, find_common_for_function): Remove. * f-lang.h (struct common_entry, struct saved_f77_common, SAVED_F77_COMMON, SAVED_F77_COMMON_PTR, COMMON_ENTRY, COMMON_ENTRY_PTR, head_common_list, find_common_for_function, BLANK_COMMON_NAME_LOCAL): Remove. (struct common_block): New. * f-valprint.c (list_all_visible_commons): Remove. (info_common_command_for_block): New function. (info_common_command): Use it. * stack.c (iterate_over_block_locals): Special case for COMMON_BLOCK_DOMAIN. * symtab.h (enum domain_enum_tag) <COMMON_BLOCK_DOMAIN>: New constant. (struct general_symbol_info) <value.common_block>: New field. (SYMBOL_VALUE_COMMON_BLOCK): New define. gdb/testsuite 2012-09-26 Jan Kratochvil <jan.kratochvil@redhat.com> * gdb.fortran/common-block.exp: New file. * gdb.fortran/common-block.f90: New file.
2012-09-19 * buildsym.h (param_symbols): Delete, unused.Doug Evans1-1/+0
(context_stack): Delete member "params", unused. * buildsym.c (push_context): Update. * dwarf2read.c (read_func_scope): Update.
2012-09-12 * dwarf2read.c (dwarf2_read_addr_index): Fix handling the case whereDoug Evans1-3/+6
cu == NULL.
2012-09-11 * dwarf2read.c (dw2_do_expand_symtabs_matching): Don't examineDoug Evans1-6/+12
.gdb_index symbol attributes if there are none.
2012-08-27gdb/Jan Kratochvil1-8/+7
* dwarf2read.c (dwarf2_locate_sections): Move variable aflag here. Move the SEC_HAS_CONTENTS check here - for any NAMES use. (dwarf2_locate_sections) <eh_frame>: Move the variable and check from here.
2012-08-22 * dwarf2read.c (macro_start_file): Update.Tom Tromey1-2/+2
* objfiles.c (get_objfile_bfd_data): Initialize macro_cache. (free_objfile_per_bfd_storage): Destroy macro_cache. (allocate_objfile, free_objfile): Update. * objfiles.h (struct objfile_per_bfd_storage) <macro_cache>: New field. (struct objfile) <macro_cache>: Remove. * symfile.c (reread_symbols): Update. * symmisc.c (print_symbol_bcache_statistics): Update. (print_objfile_statistics): Update.
2012-08-15 * dwarf2read.c (dwarf_decode_macro_bytes)Tom Tromey1-24/+25
<DW_MACRO_GNU_transparent_include>: Use pointer to included data as hash key.
2012-08-02gdb/Yao Qi1-5/+5
* dwarf2loc.c (entry_values_debug): Add 'unsigned'. (_initialize_dwarf2loc): Call add_setshow_zuinteger_cmd instead of add_setshow_zinteger_cmd. * dwarf2loc.h: Update the declaration of 'entry_values_debug'. * dwarf2read.c (dwarf2_die_debug): Add 'unsigned'. (_initialize_dwarf2_read): Call add_setshow_zuinteger_cmd instead of add_setshow_zinteger_cmd. * darwin-nat.c (dwarwin_debug_flag): Add 'unsigned'. (_initialize_darwin_inferior): Call add_setshow_zuinteger_cmd instead of add_setshow_zinteger_cmd. * frame.c (frame_debug): Add 'unsigned'. (_intialize_frame): Call add_setshow_zuinteger_cmd instead of add_setshow_zinteger_cmd. * frame.h: Update the declaration of 'frame_debug'. * gdbtypes.c (overload_debug): Add 'unsigned'. (_initialize_gdbtypes): Call add_setshow_zuinteger_cmd instead of add_setshow_zinteger_cmd. * inferior.h: Update declaration of 'debug_infrun'. * infrun.c (debug_infrun): Add 'unsigned'. (_initialize_infrun): Call add_setshow_zuinteger_cmd instead of add_setshow_zinteger_cmd. * jit.c (jit_debug): Add 'unsigned'. (_initialize_jit): Call add_setshow_zuinteger_cmd instead of add_setshow_zinteger_cmd. * linux-nat.c (debug_linux_nat): Add 'unsigned'. (_initialize_linux_nat): Call add_setshow_zuinteger_cmd instead of add_setshow_zinteger_cmd. * linux-thread-db.c (libthread_db_debug): Add 'unsigned'. (_initialize_thread_db): Call add_setshow_zuinteger_cmd instead of add_setshow_zinteger_cmd. * machoread.c (mach_o_debug_level): Add 'unsigned'. (_initialize_machoread): Call add_setshow_zuinteger_cmd instead of add_setshow_zinteger_cmd. * mi/mi-cmd-var.c: Update the declaration of 'varobjdebug'. * microblaze-tdep.c (microblaze_debug_flag): Add 'unsigned'. (_initialize_microblaze_tdep): Call add_setshow_zuinteger_cmd intead of add_setshow_zinteger_cmd. * mips-tdep.c (mips_debug): Add 'unsigned'. (_initialize_mips_tdep): Call add_setshow_zuinteger_cmd instead of add_setshow_zinteger_cmd. * monitor.c (monitor_debug): Add 'unsigned'. (_initialize_remote_monitors): Call add_setshow_zuinteger_cmd instead of add_setshow_zinteger_cmd. * observer.c (observer_debug): Add 'unsigned'. (_initialize_observer): Call add_setshow_zuinteger_cmd instead of add_setshow_zinteger_cmd. * parse.c (expressiondebug): Add 'unsigned'. (_initialize_parse): Call add_setshow_zuinteger_cmd instead of add_setshow_zinteger_cmd. * record.c (record_debug): Add 'unsigned'. (_initialize_record): Call add_setshow_zuinteger_cmd instead of add_setshow_zinteger_cmd. * record.h: Update the declaration of 'record_debug'. * stap-probe.c (stap_expression_debug): Add 'unsigned'. (_initialize_stap_probe): Call add_setshow_zuinteger_cmd instead of add_setshow_zinteger_cmd. * serial.c (global_serial_debug_p): Add 'unsigned'. (_initialize_serial): Call add_setshow_zuinteger_cmd instead of add_setshow_zinteger_cmd. * solib-dsbt.c (solib_dsbt_debug): Add 'unsigned'. (_initialize_dsbt_solib): Call add_setshow_zuinteger_cmd instead of add_setshow_zinteger_cmd. * solib-frv.c (solib_frv_debug): Add 'unsigned'. (_initialize_frv_solib): Call add_setshow_zuinteger_cmd instead of add_setshow_zinteger_cmd. * target.c (targetdebug): Add 'unsigned'. (initialize_targets): Call add_setshow_zuinteger_cmd instead of add_setshow_zinteger_cmd. * valops.c (overload_debug): Add 'unsigned'. * varobj.c (varobjdebug): Add 'unsigned'. (_initialize_varobj): Call add_setshow_zuinteger_cmd instead of add_setshow_zinteger_cmd. * xtensa-tdep.c (xtensa_debug_level): Add 'unsigned'. (_initialize_xtensa_tdep): Call add_setshow_zuinteger_cmd instead of add_setshow_zinteger_cmd. * arch-utils.h: Remove the declaration of 'gdbarch_debug'. * gdbarch.sh (gdbarch_debug): Add 'unsigned'. (extern void _initialize_gdbarch): Call add_setshow_zuinteger_cmd instead of add_setshow_zinteger_cmd. * gdbarch.c, gdbarch.h: Re-generated.
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.