diff options
Diffstat (limited to 'gdb/ChangeLog')
-rw-r--r-- | gdb/ChangeLog | 201 |
1 files changed, 201 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1df7d8e..b29fed2 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,204 @@ +Sun Dec 1 00:18:59 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + Add support for Irix 6.2 native O32 and N32 ABI. + + * config.in, configure.in, configure: Check for <objlist.h>. + * configure.tgt: Handle mips*-sgi-irix6* like irix5 for now. + + * cp-valprint.c (cp_print_value_fields): Use SYMBOL_VALUE_ADDRESS + instead of SYMBOL_BLOCK_VALUE to get the address of a static member. + + * dwarf2read.c: Turn warnings and recoverable errors into complaints, + add new complaints where appropriate. + gcc -Wall cleanup. + (struct line_head): Change line_base from char to int to avoid + problems with compilers whose plain char is represented by an + unsigned char. + (struct partial_die_info): Add is_declaration field. + (dwarf2_tmp_obstack): New obstack for allocating temporary storage + used during symbol reading. + (cu_header_offset): New variable for resolving relative reference + dies. + (optimized_out, basereg, islocal, frame_base_reg, frame_base_offset): + New interface variables for decode_locdesc. + (struct dwarf2_pinfo): New structure for communication between + psymtab and symtab reading, passed via pst->read_symtab_private. + (dwarf2_has_info, dwarf2_build_psymtabs): Accept objects files + without line number sections. + (dwarf2_build_psymtabs_hard): Initialize temporary obstack + for symbol reading. + Allocate and initialize pst->read_symtab_private. + Relocate pst->textlow and pst->texthigh with baseaddr. + (scan_partial_symbols): Do not add DW_AT_declaration symbols + to the partial symbol table. + Add file scope enumerator symbols to the partial symbol table. + Fix typo in highpc computation. + If we didn't find a lowpc, set it to highpc to avoid complaints + from `maint check. + (add_partial_symbol): Relocate symbol values with baseaddr. + Add static DW_TAG_subprogram and DW_TAG_variable symbols to the + minimal symbol table. + Obtain symbol values for DW_TAG_variable symbols from the location + descriptor, skip symbols with missing location desciptors. + Skip symbols for aggregate types without children. + Handle enumerator symbols. + (dwarf2_psymtab_to_symtab): Issue symbol reading message if verbose. + (psymtab_to_symtab_1): Set local variables from + pst->read_symtab_private, set cu_header_offset and baseaddr. + Initialize temporary obstack for symbol reading, initialize + buildsym and add a cleanup to really_free_pendings. + Relocate highpc with baseaddr when calling end_symtab. + If the compilation is from a C file generated by language + preprocessors, do not set the symtab language if it was already + deduced by start_subfile. + Removed verbose sorting symbol table message. + (process_die): Handle DW_TAG_ptr_to_member_type and + DW_TAG_reference_type. + Use read_subroutine_type to get the function type for + DW_TAG_subprogram before calling read_func_scope. + (read_file_scope): Initialize file name to <unknown>, start_subfile + expects a non-NULL name. + If we didn't find a lowpc, set it to highpc to avoid complaints + from finish_symbol. + Relocate lowpc and highpc with baseaddr. + Get rid of Irix6.2 native cc compile machine prefix in comp_dir. + Zero out ftypes for each new compilation unit (may be different + language or different objfile). + Accept compilation units without line number information, pass + comp_dir to decode_lines. + (read_func_scope): Initialize function name to <unknown> to avoid + core dumps when DW_AT_name is missing. + Relocate lowpc and highpc with baseaddr. + Handle DW_AT_frame_base, keep result for DW_OP_fbreg operations. + Pass function type to new_symbol. + (read_lexical_block_scope): Relocate lowpc and highpc with baseaddr. + (read_structure_scope): Set TYPE_TAG_NAME, not TYPE_NAME. + Handle DW_TAG_class_type. + Copy fields to type_obstack, release temporary storage for fields. + Don't add symbol if die is a stub die and has no children. + Handle C++ static member fields. + (read_enumeration): Set TYPE_TAG_NAME, not TYPE_NAME. + Copy fields to type_obstack, release temporary storage for fields. + Let new_symbol handle the symbol creation for enumerators + instead of handcrafting a symbol. + Determine signedness of enum type from enumerators. + (dwarf_read_array_type): Handle variable length arrays. + Use lookup_pointer_type instead of handcrafting a type. + Create array type only if a DW_TAG_subrange_type was found. + (read_tag_pointer_type, read_tag_reference_type): + Use lookup_pointer_type and lookup_reference_type instead + of handcrafting a type. + (read_tag_ptr_to_member_type): New function to handle + DW_TAG_ptr_to_member_type. + (read_subroutine_type): Handle parameter dies. + Use lookup_function_type instead of handcrafting a type. + (read_typedef): Allocate a TYPE_CODE_TYPEDEF type for the typedef. + (read_base_type): If the type has a name, use init_type to create + a new type instead of second guessing a fundamental type. + (read_comp_unit): Reset die reference table before building + a new one. + (dwarf2_read_section): Read section contents into psymbol_obstack. + (dwarf2_read_abbrevs): Handle unterminated abbreviations + for a compile unit gracefully. + (read_partial_die): Zero partial die before reading its info. + Handle DW_AT_declaration. + Fix typo in handling of DW_FORM_block4. + (read_full_die): Fix typo in handling of DW_FORM_block4. + (read_1_signed_byte, read_2_signed_bytes, read_4_signed_bytes): + New routines to get signed values from a buffer. + (read_n_bytes, read_string): Allocate storage from the temporary + obstack. If the host char size permits it, return pointer + to buffer instead of allocating storage. + (set_cu_language): Handle DW_LANG_Mips_Assembler. + (dwarf_attr): Return NULL if reference die for DW_AT_specification + or DW_AT_abstract_origin die is not found. + (record_minimal_symbol): Removed, replaced with a direct call to + prim_record_minimal_symbol, it now handles saving the string itself. + (convert_locdesc): Removed, partial symtab reading now uses + decode_locdesc. + (dwarf_attr): Use dwarf2_get_ref_die_offset to get the absolute + offset for the die reference. + (dwarf_decode_lines): Complain if the line section info is missing. + Use read_1_signed_byte to extract lh.line_base to avoid + problems with compilers whose plain char is represented by an + unsigned char. + Add cleanups for allocated temporary storage. + Start a subfile for the first file in the state machine. + Fix off by one problem with dirs.dirs access. + Use comp_dir when directory index is 0. + Support multiple sequences (from Jason Merrill <jason@cygnus.com>). + (dwarf2_start_subfile): Try to keep line numbers from identical + absolute and relative file names in a common subfile. + (new_symbol): Allocate symbol and symbol name on the symbol_obstack. + Set SYMBOL_LINE from DW_AT_decl_line if present. + Set SYMBOL_TYPE from passed type if not NULL. + Change DW_TAG_variable symbol types with missing type entries + to a sensible type. + Handle optimized_out, offreg and islocal storage classes. + Add external symbols with type information whose address isn't + known as LOC_UNRESOLVED symbols. + Synthesize typedefs for C++ classes, structs, unions and enumerations. + Handle DW_TAG_enumerator symbols, complain for unrecognized + symbol tags. + (die_type): A missing DW_AT_type represents a void type. + Use dwarf2_get_ref_die_offset to get the absolute offset for + the die reference. + (die_containing_type): New function to build type from + DW_AT_containing_type attribut. + (read_type_die): Handle DW_TAG_ptr_to_member_type. + Treat DW_TAG_subprogram like DW_TAG_subroutine_type. + (dwarf_base_type): Fix typo with creation of FT_UNSIGNED_SHORT + fundamental type. + (create_name): Removed, symbol name allocation is now done + in new_symbol. + (dump_die): Use print_address_numeric to print a CORE_ADDR. + (dwarf2_empty_die_ref_table): New function to clear the die + reference table. + (dwarf2_get_ref_die_offset): New function to get the absolute + die offset from a die reference attribute. + (decode_locdesc): Complete rewrite using a stack, code mostly + borrowed from dwarfread.c:locval. + (dwarf_alloc_type): Removed, replaced by direct calls to alloc_type. + (dwarf_alloc_block): Allocate block on temporary obstack. + + * elfread.c (elf_symtab_read): When handling Irix dynamic symbols, + skip section name symbols and relocate all others. + (elf_symfile_read): Build dwarf2 psymtab even if offset is non-zero. + + * irix5-nat.c (fetch_core_registers): Handle core_reg_sect + from N32 executables. Call registers_fetched after extracting + the registers. + (obj_list_variant, struct link_map, LM_OFFSET, LM_ADDR): New + definitions to enable support of O32 and N32 format objlists. + (struct so_list): New members offset, so_name and lmstart to + eliminate dependencies from the objlist format used. + (solib_map_sections, symbol_add_stub, solib_add, + info_sharedlibrary_command, solib_address, clear_solib): Use + so_name and LM_OFFSET. + (first_link_map_member): Rewrite to enable support of O32 and N32 + format objlists. + (next_link_map_member, xfer_link_map_member): New functions to + support O32 and N32 format objlists. + (find_solib): Use first_link_map_member, next_link_map_member and + xfer_link_map_member. + (solib_create_inferior_hook): Use TARGET_SIGNAL_* instead of + host signal numbers. + + * mdebugread.c (parse_partial_symbols, handle_psymbol_enumerators): + Pass CORE_ADDR variant to add_psymbol_to_list. + + * mips-tdep.c (heuristic_proc_desc): Stop examining the prologue + if we encounter a positive stack adjustment. Handle `move $30,$sp'. + Handle `sd reg,offset($sp)' for 32 bit ABIs. + + * symmisc.c (dump_msymbols, print_partial_symbols): Use + print_address_numeric to print a SYMBOL_VALUE_ADDRESS. + (dump_symtab): Print compilation directory if it is not NULL. + + * valops.c (search_struct_field, value_struct_elt_for_reference): + Use SYMBOL_VALUE_ADDRESS instead of SYMBOL_BLOCK_VALUE to get the + address of a static member. + Thu Nov 28 00:46:24 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) * vax-tdep.c (vax_print_insn): Made static, modified to take |