aboutsummaryrefslogtreecommitdiff
path: root/gdb/dwarf2read.c
AgeCommit message (Collapse)AuthorFilesLines
2008-08-21 * dwarf2read.c (processing_current_prefix): Delete staticDaniel Jacobowitz1-245/+186
variable. (process_full_comp_unit): Do not set processing_current_prefix. (dwarf2_full_name): New function. (read_func_scope): Do not set processing_current_prefix. Use determine_prefix. (read_structure_type): Do not set processing_current_prefix. Remove unused inner cleanup. (process_structure_scope): Do not set processing_current_prefix. (read_enumeration_type): Use dwarf2_full_name. (determine_class_name): Return a const char *. Put the result on the objfile obstack. Use dwarf2_full_name. (read_namespace_type): New function. (read_namespace): Do not create the type here. Use determine_prefix. (read_typedef): Use dwarf2_full_name. Do not pass the name to init_type. (read_base_type): Do not pass the name to init_type. Handle TYPE_FLAG_NOSIGN. (read_unspecified_type): Do not pass the name to init_type. (new_symbol): Use dwarf2_full_name instead of processing_current_prefix. (read_type_die): Do not set processing_current_prefix. Handle DW_TAG_namespace. (determine_prefix): Handle specifications. Return the result on the objfile obstack. Handle unions correctly.
2008-08-21 * buildsym.c (add_symbol_to_list): Do not callDaniel Jacobowitz1-0/+38
cp_scan_for_anonymous_namespaces here. (finish_block): Do not call cp_set_block_scope here. * cp-namespace.c (processing_has_namespace_info) (processing_current_prefix): Delete. (cp_initialize_namespace): Do not initialize processing_has_namespace_info. (cp_scan_for_anonymous_namespaces): Use SYMBOL_DEMANGLED_NAME. Do not check processing_has_namespace_info. (cp_set_block_scope): Take prefix and namespace info flag as arguments. Honor namespaces regardless of a demangled name. * cp-support.h (processing_has_namespace_info) (processing_current_prefix): Delete declarations. (cp_set_block_scope): Update prototype. * dwarf2read.c (processing_has_namespace_info) (processing_current_prefix): New static variables. (read_file_scope): Initialize processing_has_namespace_info. (read_func_scope): Call cp_set_block_scope for C++. (new_symbol): Call cp_scan_for_anonymous_namespaces for C++. * symtab.c (symbol_demangled_name): Accept a const argument. * symtab.h (symbol_demangled_name): Update prototype.
2008-08-21 * ax-gdb.c (gen_var_ref): Use SYMBOL_LINKAGE_NAME.Daniel Jacobowitz1-3/+3
* blockframe.c (find_pc_partial_function): Likewise. * buildsym.c (find_symbol_in_list): Likewise. * c-valprint.c (c_val_print): Likewise. * coffread.c (patch_opaque_types, process_coff_symbol): Likewise. (coff_read_enum_type): Likewise. Use SYMBOL_SET_LINKAGE_NAME. * cp-support.c (cp_remove_params): Renamed from remove_params and made global. (overload_list_add_symbol): Update call to remove_params. * cp-support.h (cp_remove_params): Declare. * dwarf2read.c (process_enumeration_scope): Use SYMBOL_LINKAGE_NAME. (dwarf2_const_value): Use SYMBOL_PRINT_NAME. * expprint.c (dump_subexp_body_standard): Likewise. * f-valprint.c (info_common_command, there_is_a_visible_common_named): Use SYMBOL_LINKAGE_NAME to find symbols and SYMBOL_PRINT_NAME for messages. * findvar.c (read_var_value): Use SYMBOL_LINKAGE_NAME. * gnu-v2-abi.c (gnuv2_value_rtti_type): Likewise. * hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline) (hppa_hpux_skip_trampoline_code): Use SYMBOL_LINKAGE_NAME to find symbols and SYMBOL_PRINT_NAME for messages. * jv-lang.c (add_class_symbol): Use SYMBOL_SET_LINKAGE_NAME. * linespec.c (decode_line_2): Use SYMBOL_LINKAGE_NAME. * mdebugread.c (parse_symbol): Use SYMBOL_LINKAGE_NAME and SYMBOL_SET_LINKAGE_NAME. (mylookup_symbol): Use SYMBOL_LINKAGE_NAME. * minsyms.c (add_minsym_to_demangled_hash_table): Use SYMBOL_SEARCH_NAME. (lookup_minimal_symbol): Use SYMBOL_LINKAGE_NAME or SYMBOL_MATCHES_SEARCH_NAME, depending on the pass. * objfiles.h (ALL_OBJFILE_MSYMBOLS): Use SYMBOL_LINKAGE_NAME. * printcmd.c (build_address_symbolic): Use SYMBOL_LINKAGE_NAME. (address_info): Use SYMBOL_PRINT_NAME for messages and SYMBOL_LINKAGE_NAME for lookups. * sol-thread.c (info_cb): Use SYMBOL_PRINT_NAME for messages. * stabsread.c (patch_block_stabs, define_symbol) (read_type, read_enum_type, common_block_end) (cleanup_undefined_types_1, scan_file_globals): Use SYMBOL_LINKAGE_NAME, SYMBOL_SET_LINKAGE_NAME, ALL_OBJFILE_MSYMBOLS, and SYMBOL_PRINT_NAME. * stack.c (print_frame_args): Use SYMBOL_LINKAGE_NAME. (print_frame, frame_info): Use SYMBOL_PRINT_NAME for output. Use cp_remove_params instead of cplus_demangle. (print_block_frame_labels, print_frame_arg_vars): Use SYMBOL_LINKAGE_NAME. * symmisc.c (dump_msymbols): Use ALL_OBJFILE_MSYMBOLS and SYMBOL_LINKAGE_NAME. (dump_symtab_1, print_symbol, print_partial_symbols) (maintenance_check_symtabs): Use SYMBOL_LINKAGE_NAME. * symtab.h (DEPRECATED_SYMBOL_NAME): Delete. (SYMBOL_SET_LINKAGE_NAME): New. (SYMBOL_SET_NAMES): Add a comment. * tracepoint.c (set_traceframe_context, validate_actionline) (collect_symbol, scope_info): Use SYMBOL_LINKAGE_NAME for lookups and SYMBOL_PRINT_NAME for output. * typeprint.c (typedef_print): Use SYMBOL_LINKAGE_NAME. * xcoffread.c (process_xcoff_symbol): Use SYMBOL_SET_LINKAGE_NAME.
2008-08-20 * dwarf2read.c (die_specification, dwarf2_extension, follow_die_ref):Daniel Jacobowitz1-22/+31
Make the dwarf2_cu * parameter output as well as input. Update it if we follow a reference to another CU. (read_func_scope, determine_class_name, namespace_name, dwarf2_attr) (die_type, die_containing_type): Update calls to changed functions. Use the returned CU along with the returned DIE. (read_namespace): Use dwarf2_attr instead of dwarf2_extension.
2008-08-20 * dwarf2read.c (queue_comp_unit): Take an objfile argument. ReadDaniel Jacobowitz1-54/+43
in the DIEs here. (process_queue): Do not read in the DIEs here. (psymtab_to_symtab_1): Update call to queue_comp_unit. (read_full_die): Do not call queue_comp_unit from here. (maybe_queue_comp_unit): New function. (follow_die_ref): Use it.
2008-08-20 * dwarf2read.c (struct attribute): Move earlier.Daniel Jacobowitz1-24/+28
(struct die_info): Change attrs to a trailing array. (dwarf_alloc_die): Take the number of attributes. Allocate space for them. (read_full_die): Update call to dwarf_alloc_die. Do not manually allocate attributes.
2008-08-20 * dwarf2read.c (REF_HASH_SIZE): Delete.Daniel Jacobowitz1-28/+42
(struct dwarf2_cu): Replace die_ref_table with die_hash. (struct die_info): Remove next_ref. (store_in_ref_table): Remove offset argument. Rewrite to use htab_find_slot_with_hash. (die_hash, die_eq): New. (read_comp_unit): Allocate the die_hash. (read_die_and_children): Update call to store_die_ref. (follow_die_ref): Rewrite to use htab_find_with_hash.
2008-08-20 * dwarf2read.c (free_die_list, copy_die): Delete.Daniel Jacobowitz1-62/+7
(dwarf_alloc_die): Take a CU argument. Allocate the new DIE on the obstack. (read_full_die): Update call to dwarf_alloc_die. Allocate attributes on the CU obstack. (free_one_comp_unit): Do not call free_die_list.
2008-08-20 * dwarf2read.c (read_die_and_children): Ignore NULL DIEs.Daniel Jacobowitz1-18/+14
(read_die_and_siblings): Likewise. Do not add padding DIEs to the sibling list. (read_full_die): Do not allocate DIEs for abbrev 0. (follow_die_ref): Correct error message.
2008-06-27 * dwarf2read.c (read_attribute_value): Issue a complaint whenJoel Brobecker1-1/+7
adjusting size attribute values of 0xffffffff as zero.
2008-06-26 * dwarf2read.c (read_attribute_value): Treat size attributeJoel Brobecker1-0/+12
values of 0xffffffff as if the attribute value was zero.
2008-05-27 * symtab.h (enum address_class): Remove LOC_REGPARM andAndreas Schwab1-3/+1
LOC_COMPUTED_ARG. (struct symbol): Add is_argument. (SYMBOL_IS_ARGUMENT): Define. * ada-lang.c (ada_add_block_symbols): Use SYMBOL_IS_ARGUMENT. * buildsym.c (finish_block): Likewise. * stack.c (print_frame_args, print_block_frame_locals) (print_frame_arg_vars): Likewise. * symtab.c (lookup_block_symbol): Likewise. * tracepoint.c (add_local_symbols): Likewise. * mi/mi-cmd-stack.c (list_args_or_locals): Likewise. * coffread.c (process_coff_symbol): Set SYMBOL_IS_ARGUMENT. * dwarf2read.c (new_symbol): Likewise. * mdebugread.c (parse_symbol): Likewise. * stabsread.c (define_symbol): Likewise. * ada-exp.y (select_possible_type_sym): Don't handle LOC_REGPARM and LOC_COMPUTED_ARG. * ada-lang.c (resolve_subexp, symtab_for_sym): Likewise. * ax-gdb.c (gen_var_ref): Likewise. * eval.c (evaluate_subexp_for_address): Likewise. * findvar.c (symbol_read_needs_frame, read_var_value): Likewise. * m2-exp.y (yylex): Likewise. * printcmd.c (address_info): Likewise. * symmisc.c (print_symbol, print_partial_symbols): Likewise. * tracepoint.c (collect_symbol, scope_info): Likewise. testsuite/: * gdb.base/frame-args.exp: Handle arguments that are optimized out.
2008-05-16gdb/Ulrich Weigand1-1/+1
2008-05-15 Pedro Alves <pedro@codesourcery.com> Ulrich Weigand <uweigand@de.ibm.com> * minsyms.c (lookup_minimal_symbol_by_pc_name): New function. * symtab.h (lookup_minimal_symbol_by_pc_name): Add prototype. * symtab.c (fixup_section): Remove prototype. Add ADDR parameter; use it instead of ginfo->value.address. Look up minimal symbol by address and name. Assume OBJFILE is non-NULL. (fixup_symbol_section): Ensure we always have an objfile to look into. Extract and pass to fixup_section the symbol's address that will match the minimal symbol's address. (fixup_psymbol_section): Likewise. (find_pc_sect_psymtab): Fall back to non-addrmap case when debugging overlays and the addrmap returned the wrong section. * dwarf2read.c (var_decode_location): Set SYMBOL_CLASS before calling fixup_symbol_section. gdb/testsuite/ 2008-05-15 Pedro Alves <pedro@codesourcery.com> * gdb.base/fixsection.exp: New file. * gdb.base/fixsection0.c: New file. * gdb.base/fixsection1.c: New file.
2008-05-05 * ada-lang.c: Update throughout to use symbol_matches_domainAleksandar Ristovski1-18/+1
instead of matching the symbol domain explictly. * dwarf2read.c (add_partial_symbol): Do not add new psym for STRUCT_DOMAIN. Make sure you recognize c++ struct and java and ada class as typedefs. See lookup_partial_symbol function. (new_symbol): Similar to add_partial_symbol, do not create symbol for the typedef. See lookup_block_symbol. * symtab.c (symbol_matches_domain): New function, takes care of dual meaning of STRUCT_DOMAIN symbol for c++, ada and java. (lookup_partial_symbol): Use symbol_matches_domain to see if the found psym domain matches the given domain. (lookup_block_symbol): Likewise.
2008-05-04 * dwarf2read.c (struct dwarf2_cu): Add type_hash.Daniel Jacobowitz1-288/+170
(struct die_info): Remove type. (read_type_die, read_typedef, read_base_type, read_subrange_type) (read_structure_type, read_enumeration_type, read_array_type) (read_tag_pointer_type, read_tag_ptr_to_member_type) (read_tag_reference_type, read_tag_const_type, read_tag_volatile_type) (read_tag_string_type, read_subroutine_type, read_set_type) (read_unspecified_type): Delete prototypes. Remove check for already-loaded type. Return the new type. (set_die_type): Return the new type. (reset_die_and_siblings_types): Delete. (load_comp_unit, load_full_comp_unit): Set type_hash. (process_queue): Remove call to reset_die_and_siblings_types. (process_die): Do not read most types here. Use read_type_die for others. (read_func_scope, dwarf2_add_member_fn): Use read_type_die. (quirk_gcc_member_function_pointer): Return the new type. (process_structure_scope, process_enumeration_scope): Use get_die_type and read the DIE's type. (read_full_die): Do not initialize die->type. (tag_type_to_type): Use read_type_die. (read_type_die): Check for already defined types. Return the type. (determine_prefix): Use get_die_type. (set_die_type): Return the type. (get_die_type): Take a CU argument. Check for no type_hash.
2008-05-04 * dwarf2read.c (dwarf2_ranges_read, read_partial_die): InitializeDaniel Jacobowitz1-3/+2
locals.
2008-05-04 gdb/Jan Kratochvil1-7/+53
* Makefile.in: Update dependencies. * dwarf2read.c: Include "addrmap.h" (struct dwarf2_cu): New fields RANGES_OFFSET and HAS_RANGES_OFFSET. (dwarf2_ranges_read): New prototype. (dwarf2_build_psymtabs_hard): Initialize and prepare PSYMTABS_ADDRMAP. Add discontiguous range to PSYMTABS_ADDRMAP by DWARF2_RANGES_READ on HAS_RANGES_OFFSET, otherwise add there the contiguous range. (dwarf2_ranges_read): New parameter RANGES_PST, update the function comment for it. Add the found ranges to RANGES_PST. New variable BASEADDR, initialize it the common way. (dwarf2_get_pc_bounds): Update the caller for the new parameter. (read_partial_die): `DW_AT_ranges' now only sets RANGES_OFFSET and HAS_RANGES_OFFSET for the later processing. * objfiles.h (struct objfile): New field PSYMTABS_ADDRMAP. * symtab.c: Include "addrmap.h" (find_pc_sect_psymtab): Support reading the field PSYMTABS_ADDRMAP. Move the psymtab locator into ... (find_pc_sect_psymtab_closer): ... a new function. gdb/testsuite/ * gdb.dwarf2/dw2-ranges.S: Merge the secondary section with `.fini'. * gdb.dwarf2/dw2-ranges.exp: Compile also `dw2-ranges2.S' and `dw2-ranges3.S' and test also their MAIN2, FUNC2 and MAIN3 symbols. * gdb.dwarf2/dw2-ranges2.S, gdb.dwarf2/dw2-ranges3.S: New files.
2008-05-04 Set CU BASE_ADDRESS already from partial DIEs.Jan Kratochvil1-0/+31
* dwarf2read.c (read_partial_die): New variables BASE_ADDRESS and BASE_ADDRESS_TYPE. Set these variables from DW_AT_LOW_PC and DW_AT_ENTRY_PC. Set CU->HEADER.BASE_KNOWN and CU->HEADER.BASE_ADDRESS from these variables if it was still unset.
2008-04-25gdb/Pedro Alves1-0/+6
* dwarf2read.c (dwarf2_const_value): Handle DW_FORM_strp. gdb/testsuite/ * gdb.dwarf2/dw2-strp.S, gdb.dwarf2/dw2-strp.exp: New files.
2008-04-22doc/ChangeLog:Corinna Vinschen1-0/+6
-------------- * gdb.texinfo (Set SH Calling convention): New @item. (Show SH Calling convention): Ditto. ChangeLog: ---------- * NEWS: Add information on calling convention and new SH CLI options. * sh-tdep.c (sh_cc_gcc): New static string. (sh_cc_renesas): Ditto. (sh_cc_enum): New static string array. (sh_active_calling_convention): New static string pointer denoting active user chosen ABI. (sh_is_renesas_calling_convention): New function to return function specific ABI, or user choice if necessary. (sh_use_struct_convention): Rename first argument and turn around its meaning. Check for renesas ABI and return accordingly. (sh_use_struct_convention_nofpu): New function. (sh_next_flt_argreg): Get function type as third parameter. Check for renesas ABI and choose floating registers accordingly. (sh_push_dummy_call_fpu): Check for ABI and choose argument slot and struct return slot accordingly. (sh_push_dummy_call_nofpu): Ditto. (sh_return_value_nofpu): Call sh_use_struct_convention_nofpu from here. Evaluate ABI and give to sh_use_struct_convention_nofpu. (sh_return_value_fpu): Evaluate ABI and give to sh_use_struct_convention. (show_sh_command): New function. (set_sh_command): Ditto. (_initialize_sh_tdep): Initialize `set/show sh calling-convention CLI command. * gdbarch.sh (return_value): Add func_type argument. * gdbarch.c: Regenerate. * gdbarch.h: Ditto. * eval.c (evaluate_subexp_standard): Rename local variable value_type to val_type so as not to collide with value_type function. Call using_struct_return with additional function type argument. * infcall.c (call_function_by_hand): Call using_struct_return and gdbarch_return_value with additional function type argument. * infcmd.c (print_return_value): Take addition func_type argument. Call gdbarch_return_value with additional function type argument. (finish_command_continuation): Call print_return_value with additional function type argument. (finish_command): Ditto. * sparc-tdep.c (sparc32_push_dummy_code): Call using_struct_return with additional function type argument. * stack.c (return_command): Call using_struct_return and gdbarch_return_value with additional function type argument. * value.c (using_struct_return): Take additional function type argument. * value.h (using_struct_return): Accommodate declaration. * alpha-tdep.c (alpha_return_value): Add func_type argument. * amd64-tdep.c (amd64_return_value): Ditto. * arm-tdep.c (arm_return_value): Ditto. * avr-tdep.c (avr_return_value): Ditto. * cris-tdep.c (cris_return_value): Ditto. * frv-tdep.c (frv_return_value): Ditto. * h8300-tdep.c (h8300_return_value): Ditto. (h8300h_return_value): Ditto. * hppa-tdep.c (hppa32_return_value): Ditto. (hppa64_return_value): Ditto. * i386-tdep.c (i386_return_value): Ditto. * ia64-tdep.c (ia64_return_value): Ditto. * iq2000-tdep.c (iq2000_return_value): Ditto. * m32c-tdep.c (m32c_return_value): Ditto. * m32r-tdep.c (m32r_return_value): Ditto. * m68hc11-tdep.c (m68hc11_return_value): Ditto. * m68k-tdep.c (m68k_return_value): Ditto. (m68k_svr4_return_value): Ditto. * m88k-tdep.c (m88k_return_value): Ditto. * mep-tdep.c (mep_return_value): Ditto. * mips-tdep.c (mips_eabi_return_value): Ditto. (mips_n32n64_return_value): Ditto. (mips_o32_return_value): Ditto. (mips_o64_return_value): Ditto. * mn10300-tdep.c (mn10300_return_value): Ditto. * mt-tdep.c (mt_return_value): Ditto. * ppc-linux-tdep.c (ppc_linux_return_value): Ditto. * ppc-sysv-tdep.c (ppc_sysv_abi_return_value): Ditto. (ppc_sysv_abi_broken_return_value): Ditto. (ppc64_sysv_abi_return_value): Ditto. * ppc-tdep.h (ppc_sysv_abi_return_value): Ditto. (ppc_sysv_abi_broken_return_value): Ditto. (ppc64_sysv_abi_return_value): Ditto. * ppcnbsd-tdep.c (ppcnbsd_return_value): Ditto. * rs6000-tdep.c (rs6000_return_value): Ditto. * s390-tdep.c (s390_return_value): Ditto. * score-tdep.c (score_return_value): Ditto. * sh-tdep.c (sh_return_value_nofpu): Ditto. (sh_return_value_fpu): Ditto. * sh64-tdep.c (sh64_return_value): Ditto. * sparc-tdep.c (sparc32_return_value): Ditto. * sparc64-tdep.c (sparc64_return_value): Ditto. * spu-tdep.c (spu_return_value): Ditto. * v850-tdep.c (v850_return_value): Ditto. * vax-tdep.c (vax_return_value): Ditto. * xstormy16-tdep.c (xstormy16_return_value): Ditto. * xtensa-tdep.c (xtensa_return_value): Ditto. * gdbtypes.h (struct type): Add calling_convention member. * dwarf2read.c (read_subroutine_type): Add calling convention read from DW_AT_calling_convention attribute to function type.
2008-04-21 * dwarf2read.c (zlib_decompress_section): Define abfd in theCraig Silverstein1-1/+1
!HAVE_ZLIB_H case.
2008-04-19 * configure.ac (AC_SEARCH_LIBS): Add check for zlib.Craig Silverstein1-23/+174
* config.in, configure: Regenerate. * dwarf2read.c: Include zlib.h if present. Modified *_SECTION macros. (section_is_p): New. (dwarf2_locate_sections): Use section_is_p instead of strcmp (dwarf2_resize_section): New. to determine whether a given section has a given name. (zlib_decompress_section): New. (dwarf2_read_section): Read the compressed section if present in the binary. * testsuite/gdb.dwarf2/dw2-compressed.S: New file. * testsuite/gdb.dwarf2/dw2-compressed.exp: New file. * MAINTAINERS: Added myself to section Write After Approval.
2008-03-26 * objfiles.h (struct objfile): New GDBARCH member.Ulrich Weigand1-6/+11
(get_objfile_arch): Add prototype. * objfiles.c: Include "arch-utils.h". (allocate_objfile): Look up gdbarch associated with bfd. (get_objfile_arch): New function. * Makefile (objfiles.o): Update dependencies. * dwarf2-frame.c (decode_frame_entry_1): Replace current_gdbarch by objfile arch. * dwarf2loc.c (dwarf_expr_read_reg): Replace current_gdbarch by frame arch. (locexpr_describe_location): Replace current_gdbarch by objfile arch. * dwarf2read.c (die_type): Replace current_gdbarch by objfile arch. (dwarf2_add_field): Likewise. (read_tag_pointer_type): Likewise. (read_base_type): Likewise. (new_symbol): Likewise. * coffread.c (decode_type): Add OBJFILE argument. Update callers. (decode_base_type, decode_function_type): Likewise. (coff_read_struct_type, coff_read_enum_type): Likewise. (coff_symtab_read): Replace current_gdbarch by objfile arch. (decode_base_type): Likewise. (coff_read_enum_type): Likewise. (coff_read_struct_type): Replace current_objfile by OBJFILE argument. (coff_read_enum_type): Likewise. * dbxread.c (read_dbx_symtab): Replace current_gdbarch by objfile arch. (end_psymtab): Likewise. (process_one_symbol): Likewise. * mdebugread.c (parse_symbol): Replace current_gdbarch by objfile arch. (parse_procedure): Likewise. (parse_partial_symbols): Likewise. * somread.c (som_symtab_read): Replace current_gdbarch by objfile arch. * stabsread.c (define_symbol): Replace current_gdbarch by objfile arch. Replace static pcc_promotion_type and pcc_unsigned_promotion_type by built-in types. (read_range_type): Replace current_gdbarch by objfile arch. Replace static range_index_type by built-in type. (read_one_struct_field): Replace current_gdbarch by objfile arch. (read_enum_type): Likewise. * xcoffread.c (read_xcoff_symtab): Replace current_gdbarch by objfile arch.
2008-03-182008-03-18 Ulrich Weigand <uweigand@de.ibm.com>Ulrich Weigand1-9/+41
Jim Blandy <jimb@codesourcery.com> Daniel Jacobowitz <drow@false.org> * dwarf2expr.h (struct dwarf_expr_context): Add ADDR_SIZE member. (dwarf2_read_address): Update prototype. * dwarf2expr.c (unsigned_address_type): Add ADDR_SIZE parameter. (signed_address_type): Likewise. (dwarf2_read_address): Replace BYTES_READ parameter with ADDR_SIZE. (execute_stack_op): Update calls to unsigned_address_type, signed_address_type and dwarf2_read_address. Fix implementation of DW_OP_deref_size. * dwarf2loc.h (dwarf2_per_cu_objfile): Add prototype. (dwarf2_per_cu_addr_size): Likewise. (struct dwarf2_locexpr_baton): Replace OBJFILE with PER_CU. (struct dwarf2_loclist_baton): Likewise. * dwarf2loc.c (find_location_expression): Update calls to dwarf2_read_address. Use dwarf2_per_cu_objfile and dwarf2_per_cu_addr_size to retrieve PER_CU parameters. (locexpr_describe_location): Likewise. (dwarf2_evaluate_loc_desc): Replace OBJFILE with PER_CU parameter. Set ctx->addr_size to dwarf2_per_cu_addr_size (per_cu). (dwarf2_loc_desc_needs_frame): Add PER_CU parameter. Set ctx->addr_size to dwarf2_per_cu_addr_size (per_cu). (locexpr_read_variable): Update dwarf2_evaluate_loc_desc call. (loclist_read_variable): Likewise. (locexpr_read_needs_frame): Update dwarf2_loc_desc_needs_frame call. * dwarf2read.c (dwarf2_symbol_mark_computed): Set baton->per_cu instead of baton->objfile. (dwarf2_per_cu_obfile): New function. (dwarf2_per_cu_addr_size): Likewise. * dwarf2-frame.c (struct comp_unit): Move higher. (struct dwarf2_cie): Add UNIT and ADDR_SIZE members. (execute_stack_op): Add ADDR_SIZE parameter; set ctx->addr_size. (execute_cfa_program): Add FDE parameter. Replace EH_FRAME_P parameter by using fde->eh_frame_p. Use read_encoded_value to implement DW_CFA_set_loc. (struct dwarf2_frame_cache): Add ADDR_SIZE member. (dwarf2_frame_cache): Set cache->addr_size. Update calls to execute_stack_op and execute_cfa_program. (dwarf2_frame_prev_register): Update calls to execute_stack_op. (size_of_encoded_value): Remove. (read_encoded_value): Add PTR_LEN and FUNC_BASE parameters. Remove call to size_of_encoded_value. Implement DW_EH_PE_funcrel. (add_cie): Set cie->unit backlink. (decode_frame_entry_1): Set cie->addr_size. Update calls to read_encoded_value. (dwarf2_build_frame_info): Allocate UNIT on objfile obstack.
2008-03-102008-03-10 Matt Rice <ratmice@gmail.com>Daniel Jacobowitz1-0/+3
* dwarf2read.c (set_cu_language): Add DW_LANG_ObjC.
2008-02-01 * dwarf2read.c (add_partial_symbol): Always store all Ada subprogramsJoel Brobecker1-2/+13
in the global scope. (new_symbol): Likewise.
2008-01-18 * gdbarch.sh (function_list): Add new property bits_big_endian toMarkus Deuling1-1/+1
gdbarch structure. * gdbarch.{c,h}: Regenerate. * value.c (struct value): Replace BITS_BIG_ENDIAN by gdbarch_bits_big_endian (comment). (unpack_field_as_long, modify_field): Likewise. * value.h: Likewise (comment). * valops.c (value_slice): Likewise. * valarith.c (value_subscript, value_bit_index): Likewise. * gdbtypes.h (field): Likewise (comment). * eval.c (evaluate_subexp_standard): Likewise. * dwarf2read.c (dwarf2_add_field): Likewise. * ada-lang.c (decode_packed_array, ada_value_primitive_packed_val) (move_bits, ada_value_assign, value_assign_to_component): Likewise. * defs.h (BITS_BIG_ENDIAN): Remove. * gdbint.texinfo (Target Conditionals): Replace the description of BITS_BIG_ENDIAN with a description of gdbarch_bits_big_endian.
2008-01-11 * exec.c: #include "arch-utils.h"Markus Deuling1-1/+1
(print_section_info): Use gdbarch_from_bfd to get at the current architecture. Replace current_gdbarch. Fix indention. Replace deprecated_print_address_numeric by paddress. * Makefile.in (exec.o) Add dependency to arch-utils.h. * valprint.c (val_print_string): Replace deprecated_print_address_numeric. * tracepoint.c (trace_mention, scope_info): Likewise. * symmisc.c (dump_msymbols, dump_psymtab, dump_symtab_1, print_symbol) (print_symbol, print_partial_symbols, maintenance_info_psymtabs) (maintenance_check_symtabs): Likewise. * symfile.c (list_overlays_command): Likewise. * stack.c (frame_info, print_block_frame_labels): Likewise. * printcmd.c (print_address, print_address_demangle) (address_info): Likewise. * corefile.c (memory_error): Likewise. * infcmd.c (jump_command): Likewise. * breakpoint.c (insert_bp_location, describe_other_breakpoints) (mention, delete_breakpoint): Likewise. * c-valprint.c (print_function_pointer_address, c_val_print): Likewise. * dwarf2read.c (dump_die): Likewise. * ada-valprint.c (ada_val_print_1): Likewise. * f-valprint.c (f_val_print): Likewise. * linux-fork.c (info_forks_command): Likewise. * m32r-com.c (m32r_load_section, m32r_load) (m32r_upload_command): Likewise. * ui-out.c (ui_out_field_core_addr): Remove unnecessary comment.
2008-01-09 * dwarf2read.c (read_enumeration_type): Add comment.Joel Brobecker1-0/+5
2008-01-03 * dwarf2read.c (read_enumeration_type): Flag type as stub ifJoel Brobecker1-0/+3
the given die is a declaration.
2008-01-01 Updated copyright notices for most files.Daniel Jacobowitz1-1/+1
2007-12-26 * dwarf2read.c (read_base_type): Fix obvious &&/|| confusion.Joel Brobecker1-2/+2
2007-12-24 * dwarf2read.c (read_base_type): Set code to TYPE_CODE_CHARJoel Brobecker1-2/+2
for char and unsigned char types of Ada compilation units. * ada-lang.c (ada_is_character_type): Always return true if the type code is TYPE_CODE_CHAR.
2007-12-22 * dwarf2read.c (scan_partial_symbols partial_die_parent_scope)Jan Kratochvil1-0/+10
(add_partial_symbol, pdi_needs_namespace, process_die) (is_type_tag_for_partial, load_partial_dies, new_symbol) (read_type_die, determine_prefix): Extend the current code of `DW_TAG_class_type' also for `DW_TAG_interface_type'.
2007-12-17* dwarf2read.c (dwarf2_add_field): Correctly scale all byteJim Blandy1-7/+15
offsets obtained from DW_AT_data_member_location before recording them in FIELD_BITPOS (*fp). * dwarf2read.c (attr_form_is_section_offset): Doc fixes.
2007-12-16 * dwarf2read.c (dwarf_attr_name): Rename `DW_AT_stride_size' to itsJan Kratochvil1-4/+4
DWARF3 equivalent `DW_AT_bit_stride'. Rename `DW_AT_stride' to its DWARF3 equivalent `DW_AT_byte_stride'.
2007-12-13* dwarf2read.c (attr_form_is_constant): New function.Jim Blandy1-6/+58
(dwarf2_add_field): Use it and attr_form_is_section_offset to recognize DW_AT_data_member_location attributes. Use dwarf2_get_attr_constant_value when the attribute is a constant. * dwarf2read.c (attr_form_is_section_offset): New function. (dwarf_add_member_fn, read_common_block, read_partial_die) (dwarf2_symbol_mark_computed): Use it, instead of writing it out.
2007-12-04Support lexical blocks and function bodies that occupyJim Blandy1-4/+118
non-contiguous address ranges. * addrmap.c, addrmap.h: New files. * block.h (struct addrmap): New forward declaration. (struct blockvector): New member, 'map'. (BLOCKVECTOR_MAP): New accessor macro. * block.c: #include "addrmap.h" (blockvector_for_pc_sect): If the blockvector we've found has an address map, use it instead of searching the blocks. * buildsym.c: #include "addrmap.h" (pending_addrmap_obstack, pending_addrmap_interesting): New static variables. (really_free_pendings): If we have a pending addrmap, free it too. (record_block_range): New function. (make_blockvector): If we have an interesting pending addrmap, record it in the new blockvector. (start_symtab, buildsym_init): Assert that there is no pending addrmap now; we should have cleaned up any addrmaps we'd built previously. (end_symtab): If there is a pending addrmap left over that didn't get included in the blockvector, free it. * buildsym.h (struct addrmap): New forward declaration. (record_block_range): New prototype. * objfiles.c: #include "addrmap.h". (objfile_relocate): Relocate the blockvector's address map, if present. * dwarf2read.c (dwarf2_record_block_ranges): New function. (read_func_scope, read_lexical_block_scope): Call it. * Makefile.in (SFILES): Add addrmap.c. (addrmap_h): New header dependency variable. (COMMON_OBS): Add addrmap.o. (addrmap.o): New rule.l (block.o, objfiles.o, buildsym.o): Depend on $(addrmap_h). * block.c (blockvector_for_pc, blockvector_for_pc_sect): Return a pointer to the block, not its index in the blockvector. (block_for_pc_sect): Use the returned block, instead of looking it up ourselves. * block.h (blockvector_for_pc, blockvector_for_pc_sect): Update declarations. * breakpoint.c (resolve_sal_pc): Use returned block, instead of looking it up ourselves. * stack.c (print_frame_label_vars): Disable function, which depends on the block's index. * buildsym.c (finish_block): Return the block we've built. * buildsym.h (finish_block): Update prototype. * defs.h (CORE_ADDR_MAX): New constant.
2007-12-04 * coffread.c (decode_type): Use builtin_type_int32 insteadUlrich Weigand1-205/+58
of FT_INTEGER fundamental type for array range index type. (decode_base_type): Use builtin types of current_gdbarch instead of fundamental types. * dwarf2read.c (struct dwarf2_cu): Remove ftypes member. (read_file_scope): Do not initialize ftypes member. (dwarf_base_type, dwarf2_fundamental_types): Remove functions. (read_array_type): Use builtin_type_int32 instead of FT_INTEGER fundamental type for array range index type. (read_tag_string_type): Likewise for string range index type. Also, do not overwrite FT_CHAR type with new string type. (read_base_type): If DW_AT_name is missing, create unnamed type with given properties instead of looking for a fundamental type. Create new types as TYPE_TARGET_TYPE for DW_ATE_address and DW_ATE_complex_float types. (read_subrange_type): Create new type to represent missing DW_AT_type instead of looking for a fundamental type. (die_type): Use builtin type to represent "void" instead of looking for a fundamental type. * stabsread.c (define_symbol): Use builtin types to represent 'r' and 'i' floating-point and integer constants. * gdbtypes.c (lookup_fundamental_type): Remove. * gdbtypes.h (lookup_fundamental_type): Remove prototype. (FT_VOID, FT_BOOLEAN, FT_CHAR, FT_SIGNED_CHAR, FT_UNSIGNED_CHAR, FT_SHORT, FT_SIGNED_SHORT, FT_UNSIGNED_SHORT, FT_INTEGER, FT_SIGNED_INTEGER, FT_UNSIGNED_INTEGER, FT_LONG, FT_SIGNED_LONG, FT_UNSIGNED_LONG, FT_LONG_LONG, FT_SIGNED_LONG_LONG, FT_UNSIGNED_LONG_LONG, FT_FLOAT, FT_DBL_PREC_FLOAT, FT_EXT_PREC_FLOAT, FT_COMPLEX, FT_DBL_PREC_COMPLEX, FT_EXT_PREC_COMPLEX, FT_STRING, FT_FIXED_DECIMAL, FT_FLOAT_DECIMAL, FT_BYTE, FT_UNSIGNED_BYTE, FT_TEMPLATE_ARG, FT_DECFLOAT, FT_DBL_PREC_DECFLOAT, FT_EXT_PREC_DECFLOAT, FT_NUM_MEMBERS): Remove macros. * objfiles.c (struct objfile): Remove fundamental_types member. * symfile.c (reread_symbols): Do not clear fundamental_types. * language.h (struct language_defn): Remove la_fund_type member. (create_fundamental_type): Remove. * language.c (unk_lang_create_fundamental_type): Remove. (unknown_language_defn, auto_language_defn, local_language_defn): Adapt initializer. * ada-lang.c (ada_create_fundamental_type): Remove. (ada_language_defn): Adapt initializer. * c-lang.h (c_create_fundamental_type): Remove prototype. * c-lang.c (c_create_fundamental_type): Remove. (c_language_defn, cplus_language_defn, asm_language_defn, minimal_language_defn): Adapt initializer. * f-lang.c (f_create_fundamental_type): Remove. (f_language_defn): Adapt initializer. * jv-lang.c (java_create_fundamental_type): Remove. (java_language_defn): Adapt initializer. * m2-lang.c (m2_create_fundamental_type): Remove. (m2_language_defn): Adapt initializer. * objc-lang.c (objc_create_fundamental_type): Remove. (objc_language_defn): Adapt initializer. * p-lang.h (pascal_create_fundamental_type): Remove prototype. * p-lang.c (pascal_create_fundamental_type): Remove. (pascal_language_defn): Adapt initializer. * scm-lang.c (scm_language_defn): Adapt initializer.
2007-11-25gdb/Jan Kratochvil1-102/+125
* dwarf2read.c (dwarf2_get_pc_bounds): Moved the `DW_AT_ranges' parsing code with its variables OBJFILE, CU_HEADER and OBFD into ... (dwarf2_ranges_read): ... a new function. (read_partial_die): Implemented the parsing of `DW_AT_ranges'. gdb/testsuite/ * gdb.dwarf2/dw2-ranges.S, gdb.dwarf2/dw2-ranges.exp: New files.
2007-10-25 * dwarf2read.c (read_partial_die): check the valueCarlos Eduardo Seo1-0/+19
of DW_AT_calling_convention in Fortran programs.
2007-10-252007-10-25 Wu Zhou <woodzltc@cn.ibm.com>Thiago Jung Bauermann1-0/+11
Thiago Jung Bauermann <bauerman@br.ibm.com> * c-lang.c (c_create_fundamental_type): Create fundamental types for DFP. * c-typeprint.c (c_type_print_varspec_prefix): Add TYPE_CODE_DECFLOAT to no prefix needed case. (c_type_print_varspec_suffix): Add TYPE_CODE_DECFLOAT to no suffix needed case. * c-valprint.c (c_val_print): Call print_decimal_floating to print DFP values. * dwarf2read.c (read_base_type): Read DW_ATE_decimal_float attribute code and return TYPE_CODE_DECFLOAT. (dwarf_base_type): Set dwarf2_fundamental_type for DFP values. * gdbtypes.c (gdbtypes_post_init): Initialize builtin_decfloat, builtin_decdouble and builtin_declong. * gdbtypes.h (enum type_code): Add TYPE_CODE_DECFLOAT as a type code for DFP. (FT_DECFLOAT, FT_DBL_PREC_DECFLOAT, FT_EXT_PREC_DECFLOAT): New types, for decimal floating point. (FT_NUM_MEMBERS): Increment, new types added. (struct builtin_type): Add builtin_decfloat, builtin_decdouble and builtin_declong. * valprint.c (print_decimal_floating): New function to print DFP values. * value.h (print_decimal_floating): Prototype.
2007-10-22 * dwarf2read.c (read_file_scope): Add a comment.Daniel Jacobowitz1-38/+33
(dwarf2_add_field, dwarf2_add_member_fn, read_structure_type) (read_enumeration_type, process_enumeration_scope, read_array_type) (read_typedef, read_base_type, read_subrange_type) (read_unspecified_type): Use dwarf2_name.
2007-10-22 * coffread.c (coff_symfile_finish): Call dwarf2_free_objfile.Daniel Jacobowitz1-0/+16
* dwarf2read.c (dwarf2_free_objfile): New. * elfread.c (elf_symfile_finish): Call dwarf2_free_objfile. * symfile.h (dwarf2_free_objfile): Declare.
2007-09-262007-09-26 Pierre Muller <muller@ics.u-strasbg.fr>Pierre Muller1-2/+3
* Fix PR pascal/2231 dwarf2read.c (read_subroutine_type): All pascal functions are prototyped.
2007-09-05 * NEWS: Update description of string changes. Mention print/s.Daniel Jacobowitz1-1/+1
* c-valprint.c (textual_element_type): New. (c_val_print): Use it. Do not skip address printing for pointers with a string format. (c_value_print): Doc update. * dwarf2read.c (read_array_type): Use make_vector_type. * gdbtypes.c (make_vector_type): New. (init_vector_type): Use it. (gdbtypes_post_init): Initialize builtin_true_unsigned_char. (_initialize_gdbtypes): Mark int8_t and uint8_t as TYPE_FLAG_NOTTEXT. * gdbtypes.h (struct builtin_type): Add builtin_true_unsigned_char. (TYPE_FLAG_NOTTEXT, TYPE_NOTTEXT): New. (make_vector_type): New. * printcmd.c (print_formatted): Only handle 's' and 'i' for examine. Call the language print routine for string format. (print_scalar_formatted): Call val_print for string format. Handle unsigned original types for char format. (validate_format): Do not reject string format. * stabsread.c (read_type): Use make_vector_type. * xml-tdesc.c (tdesc_start_vector): Use init_vector_type. * gdb.texinfo (Output Formats): Update 'c' description. Describe 's'. (Examining Memory): Update mentions of the 's' format. (Automatic Display): Likewise. * gdb.arch/i386-sse.exp: Do not expect character constants. * gdb.base/charsign.c, gdb.base/charsign.exp: Delete. * gdb.base/display.exp: Allow print/s. * gdb.base/printcmds.exp, gdb.base/setvar.exp: Revert signed and unsigned char array changes.
2007-08-23 Switch the license of all .c files to GPLv3.Joel Brobecker1-9/+7
Switch the license of all .h files to GPLv3. Switch the license of all .cc files to GPLv3.
2007-08-082007-08-08 Michael Snyder <msnyder@access-company.com>Michael Snyder1-5/+11
* dwarf2read.c (add_partial_symbol): Memory leak.
2007-07-17 * dwarf2read.c (dwarf_decode_lines): Detect address size mismatches.Daniel Jacobowitz1-3/+13
2007-06-22 * gdbtypes.h (struct builtin_type): New members nodebug_text_symbol,Ulrich Weigand1-5/+3
nodebug_data_symbol, nodebug_unknown_symbol, and nodebug_tls_symbol. * gdbtypes.c (gdbtypes_post_init): Initialize nodebug_ default types. * parse.c (msym_text_symbol_type, msym_data_symbol_type): Remove. (msym_unknown_symbol_type, msym_tls_symbol_type): Remove. (write_exp_msymbol): Use builtin nodebug_ types instead of them. (build_parse): Remove. (_initialize_parse): Do not call build_parse. Do not register msym_ types for gdbarch-swapping. * dwarf2read.c (new_symbol): Use default nodebug_data_symbol type instead of creating private type. * xcoffread.c (func_symbol_type, var_symbol_type): Remove. (_initialize_xcoffread): Do not initialized them. (process_xcoff_symbol): Use builtin nodebug_ types instead of them. * mdebugread.c (nodebug_func_symbol_type): Remove. (nodebug_var_symbol_type): Remove. (_initialize_mdebugread): Do not initialize them. (parse_symbol): Use builtin nodebug_ type instead of them. (parse_procedure): Likewise.