summaryrefslogtreecommitdiffstats
path: root/gdb/dwarf2read.c
Commit message (Collapse)AuthorAgeFilesLines
* 2000-11-07 Daniel Berlin <dberlin@redhat.com>Daniel Berlin2000-11-081-39/+2
| | | | | * dwarf2read.c: Revert June 5th change for caching of types, as per Jim Blandy's request.
* In new_symbol(), relocate symbol address by base address of the sectionKevin Buettner2000-11-031-2/+8
| | | | it is in instead of using the base address of the .text section.
* Fix date in comment.Kevin Buettner2000-08-041-1/+1
|
* DWARF2.1 64-bit support.Kevin Buettner2000-08-041-17/+122
|
* Protoization.Kevin Buettner2000-07-301-143/+58
|
* * dwarf2read.c (read_structure_scope): Correct overzealousJim Blandy2000-07-241-1/+1
| | | | addition of cu_header argument.
* Eliminate global address_size. Replace with functionAndrew Cagney2000-07-241-283/+306
| | | | | | | read_comp_unit_head() and ``struct compu_unit_head'' parameter. Include support for signed address case. Fixes problem of global address size / sign being out-of-sync with with current section.
* From Richard Henderson <rth@cygnus.com>:Andrew Cagney2000-07-181-4/+6
| | | | | | * dwarf2read.c (dwarf2_empty_hash_tables): Renamed from dwarf2_empty_die_ref_table; zero dwarf2_cached_types as well. Update all callers.
* 2000-06-14 Jim Blandy <jimb@redhat.com>Jim Blandy2000-06-141-14/+15
| | | | | | | | | | | | | | | | | * dwarf2read.c (dump_die): Use the proper printf format for printing DW_UNSND values; they're longs now. * dwarf2read.c (dump_die): We can read DW_FORM_data8 now, on at least some platforms, so print it out too. 2000-06-14 James E. Wilson <wilson@bletchleypark.cygnus.com> * dwarf2read.c (struct attribute): Change unsnd and snd field types to long. (read_8_bytes): Change return type to long. (read_unsigned_leb128): Change return type to long. Change type of local result to long. Cast argument of left shift to long. (read_signed_leb128): Likewise.
* C++ improvementsDaniel Berlin2000-06-051-6/+43
|
* PARAMS removal.Kevin Buettner2000-05-281-110/+93
|
* Purge (almost) make_cleanup_func.Andrew Cagney2000-05-221-1/+16
|
* Fix typo in sign extension code in dwarf2_const_value_data().Kevin Buettner2000-05-131-1/+1
|
* * ax-gdb.c (agent_command): Remove now useless cast ofPhilippe De Muyter2000-04-261-11/+6
| | | | | | | | | | | | | | | | `free_current_contents' when passed to `make_cleanup'. * coffread.c (coff_symfile_read): Ditto. * dwarf2read.c (dwarf2_add_member_fn, read_array_type): Ditto. (dwarf_decode_lines): Ditto. * eval.c (parse_and_eval_address, parse_and_eval_address_1): Ditto. (parse_and_eval, parse_to_comma_and_eval): Ditto. * parse.c (parse_exp_1): Ditto. * printcmd.c (print_command_1, output_command, set_command): Ditto. (x_command, print_frame_args, printf_command): Ditto. * top.c (execute_control_command): Ditto. * tracepoint.c (validate_actionline): Ditto. * typeprint.c (whatis_exp, ptype_command): Ditto. (maintenance_print_type): Ditto.
* * dwarf2read.c: Revert Andrew Cagney's change of Dec 15, 1997.Jim Blandy2000-04-081-31/+2
| | | | | | | | | | | | Don't include "bfd-elf.h". (address_significant_size): Delete variable. (dwarf2_build_psymtabs_hard): Don't set it, or check for consistency between it and the Dwarf 2 compilation unit header address size. (read_address): Don't mask off bits above address_significant_size. * Makefile.in (dwarf2read.o): Don't depend on $(elf_bfd_h). (elf_bfd_h): Remove variable; it's no longer used.
* Read 2 byte (16 bit addresses) when needed.Andrew Cagney2000-02-291-0/+3
|
* From Jason Merrill: (die_is_declaration): New fn..Andrew Cagney2000-02-141-1/+10
|
* import gdb-2000-02-04 snapshotJason Molenda2000-02-051-0/+8
|
* import gdb-1999-10-11 snapshotJason Molenda1999-10-121-93/+63
|
* import gdb-1999-10-04 snapshotJason Molenda1999-10-051-4/+4
|
* import gdb-1999-09-21Jason Molenda1999-09-221-1/+7
|
* import gdb-1999-09-08 snapshotStan Shebs1999-09-091-17/+10
|
* import gdb-1999-08-09 snapshotJason Molenda1999-08-091-1/+1
|
* import gdb-1999-08-02 snapshotJason Molenda1999-08-021-1/+1
|
* import gdb-1999-07-07 post reformatJason Molenda1999-07-071-245/+250
|
* import gdb-19990422 snapshotStan Shebs1999-04-261-11/+55
|
* Initial creation of sourceware repositoryStan Shebs1999-04-161-0/+5865
|
* Initial creation of sourceware repositoryStan Shebs1999-04-161-5865/+0
|
* * dwarf2read.c (dump_die): Change stderr gdb_stderr.Stu Grossman1999-01-111-1/+1
| | | | | | | | | * expprint.c (print_subexp): fprintf => fprintf_unfiltered. * jv-typeprint.c (java_type_print_base): fputs => fputs_filtered. * stack.c (struct function_bounds): Remove superfluous `typedef'. * symfile.c (list_overlays_command): stdout => gdb_stdout. * symmisc.c (maintenance_check_symtabs): stdout => gdb_stdout. * utils.c (print_spaces): Make more efficient.
* Start of HP merge changes to GDB.David Taylor1998-12-101-3/+3
|
* 1998-10-13 Jason Molenda (jsm@bugshack.cygnus.com)Jason Molenda1998-10-141-8/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * blockframe.c (find_pc_sect_partial_function): Add braces to avoid possible nested-if confusion. * breakpoint.c (breakpoint_here_p): Ditto. (breakpoint_inserted_here_p): Ditto. (breakpoint_thread_match): Ditto. * gnu-regex.c: Define _REGEX_RE_COMP only if it isn't already defined. * gnu-regex.h: Define _REGEX_RE_COMP to pick up old compatability prototypes. * symtab.h: Add prototype for _initialize_source. * value.h: Add prototype for _initialize_value. * defs.h: Include sys/types.h or stddef.h to get size_t. (make_cleanup): Add make_cleanup_func typedef and switch to using a prototype for this function. (mfree): Add prototypes for mmalloc, mrealloc, mfree if we aren't using mmalloc. * ax-gdb.c breakpoint.c coffread.c corelow.c dbxread.c dwarf2read.c dwarfread.c elfread.c eval.c exec.c gdbtk-cmds.c gdbtk.c infcmd.c infrun.c mipsread.c nlmread.c os9kread.c parse.c printcmd.c symfile.c symmisc.c symtab.c thread.c top.c tracepoint.c typeprint.c valops.c: Cast parameters passed to make_cleanup to use the new make_cleanup_func typedef. More warning cleanups. There are still a bunch of places where the first argument to make_cleanup is not cast to (make_cleanup_func); these are either due to the function fitting the make_cleanup_func specification already (e.g. free()) or they are in files that weren't compiled when I did my make on a Linux native system. Bwahahaha. You can see them like this: grep make_cleanup\ * | grep -v make_cleanup_func I'll surely go back and clean up the remaining suspicious calls in GDB one of these days. :-)
* * dwarf2read.c (dwarf2_build_psymtabs_hard): Do not adjust thePeter Schauer1998-10-111-8/+10
| | | | | | | address range of a compilation unit without children. * mdebugread.c (parse_partial_symbols): Fix handling of stabs continuations, use xmalloc and xrealloc.
* Modifications/fixes to support the ARM/ELF port.Zdenek Radouch1998-09-011-6/+6
|
* * dwarf2read.c (read_subroutine_type): Set TYPE_FLAG_PROTOTYPEDPeter Schauer1998-05-231-2/+5
| | | | | | | | | on C++ functions. * valops.c (value_arg_coerce): Add new argument to indicate whether the function has a prototype, handle integer and float promotions accordingly. (call_function_by_hand): Always call value_arg_coerce, pass down prototype information.
* * config/sparc/tm-sp64.h (CALL_DUMMY): Store and retrieveBob Manson1998-05-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | %o0-%o5 as 64-bit values; compensate for stack bias. (USE_STRUCT_CONVENTION): We only pass pointers to structs if they're larger than 32 bytes. (REG_STRUCT_HAS_ADDR): Ditto. * sparc-tdep.c (sparc_init_extra_frame_info): Use read_sp() instead of read_register. If the target is a sparc64 and the frame pointer is odd, compensate for the stack bias. (get_saved_register): Use read_sp(). (DUMMY_STACK_REG_BUF_SIZE): Use FP_REGISTER_BYTES. (sparc_push_dummy_frame): Use read_sp()/write_sp(). On sparc64, save the PC, NPC, CCR, FSR, FPRS, Y and ASI registers. (sparc_frame_find_saved_regs): Use read_sp(). Read the PC, NPC, CCR, FSR, FPRS, Y and ASI registers from the frame, if it's a dummy frame. (sparc_pop_frame): Use write_sp(). If the target is a sparc64 and the FP is odd, compensate for stack bias. (sparc_store_return_value): Right-justify the return value before writing it to %o0. (sparc_fix_call_dummy): Don't NOP out part of the call dummy on sparc64. (sparc64_read_sp, sparc64_read_fp, sparc64_write_sp, sparc64_write_fp, sp64_push_arguments, sparc64_extract_return_value): New functions to support the sparc64 ABI. * dwarfread.c (handle_producer): Set processing_gcc_compilation to the right version number. * dwarf2read.c (read_file_scope): Assume we're processing GCC2 output.
* Suggested by Chris Walter <walter@budoe.bu.edu>:Stan Shebs1998-01-281-7/+5
| | | | | | * dwarfread.c (set_cu_language): Recognize Fortran. * dwarf2read.c (set_cu_language): Ditto. (read_array_type): Fix language test.
* (Mostly from Gavin Koch)Andrew Cagney1997-12-151-5/+40
| | | | | | | | In dwarf2read.c, if the ABI is 32 bit and 64 bit addresses are encountered discard the most significant 32 bits. Use CORE_ADDR for address variables instead of long. Add more explicit tx49 configur target. Check/use sigaction/SA_RESTART in remote-sim.c
* (CVS is doing wierd things)Andrew Cagney1997-12-101-3/+7
| | | | | Re-checkin fixes to code verifying dwarf debug info CU headers before using it.
* * dwarf2read.c (dwarf2_build_psymtabs_hard): Check cu_header.length isAndrew Cagney1997-12-101-2/+3
| | | | within dwarf_info_buffer not dwarf_abbrev_buffer.
* Check the abbrev offset found in the .debug_info section before usingAndrew Cagney1997-11-261-2/+12
| | | | it.
* * dwarf2read.c (dwarf2_build_psymtabs_hard): Handle the caseDawn Perchik1997-11-011-4/+14
| | | | | | where a compilation unit die has no children (DW_TAG_compile_unit has DW_children_no). (scan_partial_symbols): Add comment for nesting_level.
* * gdbtypes.h: Re-interpret struct field. Suppport address of static.Per Bothner1997-08-051-20/+19
| | | | | | | | | Add a bunch of macros. * coffread.c, dwarf2read.c, dwarfread.c, mdebugread.c, stabsread.c: Update to use new macros. * coffread.c, hpread.c, stabsread.c: Remove bugus TYPE_FIELD_VALUE. * value.h, values.c (value_static_field): New function. * cp-valprint.c, valops.c: Modify to use value_static_field.
* * buildsym.h (struct subfile): Add debugformat member.Fred Fish1997-06-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (record_debugformat): Declare global function. * buildsym.c (start_subfile): Initialize debugformat member to NULL. (record_debugformat): New function to record the format. (end_symtab): Copy format into symtab debugformat member. (end_symtab): Free subfile debugformat member. * symmisc.c (free_symtab): Free debugformat when freeing symtab. * symfile.c (allocate_symtab): Initialize the new debugformat member for new symtabs. * symtab.h (struct symtab): Add debugformat member. * source.c (source_info): Print the debug format. * os9kread.c (os9k_process_one_symbol): Call record_debugformat with "OS9". * hpread.c (hpread_expand_symtab): Call record_debugformat with "HP". (hpread_process_one_debug_symbol): Ditto. * dbxread.c (process_one_symbol): Call record_debugformat with "stabs". * coffread.c (coff_start_symtab): Call record_debugformat with "COFF". * xcoffread.c (read_xcoff_symtab): Call record_debugformat with "XCOFF". * dwarfread.c (read_file_scope): Call record_debugformat with "DWARF 1". * dwarf2read.c (read_file_scope): Call record_debugformat with "DWARF 2". * dstread.c (dst_end_symtab): Set debugformat to be "Apollo DST". * mdebugread.c (new_symtab): Set debugformat to be "ECOFF".
* * dwarf2read.c (dwarf2_linkage_name): New function to getPeter Schauer1997-02-081-31/+48
| | | | | | | | | | the linkage name of a die from DW_AT_MIPS_linkage_name or DW_AT_name. (read_func_scope, dwarf2_add_field, dwarf2_add_member_fn, new_symbol): Use it instead of accessing DW_AT_name. (read_partial_die): Use DW_AT_MIPS_linkage name as name of the partial die if present. (dwarf2_add_member_fn): Make a copy of physname on the type obstack.
* * dwarf2read.c: Replace integral tag, name and form fields inPeter Schauer1997-01-251-566/+1264
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | internal structure definitions with the corresponding enumeration types from dwarf2.h. Add default cases to switches on enumerations where appropriate. Make quoting of string arguments in complaint messages consistent. Check for NULL returns from DW_STRING. (struct partial_die_info): Add sibling and has_type fields, remove unused value field. (DW_*): Move access macro definitions near the definition of the attribute structure. (struct field_info): New structure to pass information about fields and member functions between die processing routines. (dwarf2_build_psymtabs_hard): Set cu_header_offset. (scan_partial_symbols): Do not enter DW_TAG_subprogram dies into the partial symbol table if the DW_AT_*_pc attributes are missing. Add file scope base type definitions to the partial symbol table. Skip over child dies if the die has a sibling attribute. (add_partial_symbol): Enter global variables with type attributes and without location descriptors into the partial symbol table. Store value of DW_TAG_variable dies in the partial symbol table. Do not enter global variables into the minimal symbol table. Add base type definitions to the partial symbol table. (psymtab_to_symtab_1): Use dwarf2_get_pc_bounds to determine highpc. (process_die): Move check for DW_AT_low_pc to read_func_scope. Add a typedef symbol for base type definitions to the symbol table. Ignore DW_TAG_inlined_subroutine tags for now. (read_file_scope): Use dwarf2_get_pc_bounds to determine pc bounds. (read_func_scope, read_lexical_block_scope): Use dwarf2_get_pc_bounds to determine pc bounds, ignore dies with invalid bounds. (dwarf2_get_pc_bounds): New routine to extract and validate the DW_AT_*_pc attributes of a die. (dwarf2_add_field, dwarf2_attach_fields_to_type, skip_member_fn_name, dwarf2_add_member_fn, dwarf2_attach_fn_fields_to_type): New functions to handle fields and member functions. (read_structure_scope): Rewritten to use them. (read_array_type): Renamed from dwarf_read_array_type. Default upper array bound to describe an array with unspecified length. Create array types in backwards order, as dwarf2 puts out the array dimensions from left to right. (read_subroutine_type): Handle DW_TAG_unspecified_parameters, DW_AT_artificial and DW_AT_prototyped. (read_base_type): Make an unsigned type for DW_ATE_boolean. Pass objfile to dwarf_base_type. (read_partial_die): Use read_attribute to read in the attributes. Handle DW_AT_sibling and DW_AT_type. Follow references when determining DW_AT_name and DW_AT_external attributes of the die. Validate DW_AT_*_pc attributes. (read_full_die): Use read_attribute to read in the attributes. (read_attribute): New function to read an attribute described by an abbreviated attribute. (new_symbol): Relocate symbol value for DW_TAG_label with baseaddr. Do not set SYMBOL_VALUE_ADDRESS for DW_TAG_subprogram, SYMBOL_BLOCK_VALUE for the symbol will be set later by finish_block. Change symbol class for global variables with a zero valued location descriptor to LOC_UNRESOLVED. Handle DW_AT_const_value attributes for DW_TAG_variable, DW_TAG_formal_parameter and DW_TAG_enumerator. Build a typedef symbol for DW_TAG_base_type. (dwarf2_const_value): New routine to copy a constant value from an attribute to a symbol. (dwarf_base_type): Use passed in objfile, not current_objfile when calling dwarf2_fundamental_type. (dump_die): Use DW_* accessor macros to access values of attributes. (decode_locdesc): Handle DW_OP_plus_uconst.
* Add support for Irix 6.2 native O32 and N32 ABI.Peter Schauer1996-12-011-646/+1281
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* Sun Oct 6 22:43:06 1996 Jason Merrill <jason@yorick.cygnus.com>Jason Merrill1996-10-071-0/+47
| | | | | | | * dwarf2read.c (read_tag_reference_type): New fn. (read_type_die): Call it. (dwarf_attr): Also look in the DIEs referred to by specification or abstract_origin attributes.
* * defs.h: Define CONST_PTR as blank if compiling with MicrosoftStu Grossman1996-08-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | C, else it's `const'. * c-lang.c c-lang.h ch-lang.c f-lang.c language.c m2-lang.c scm-lang.c: Microsoft C can't hack const pointers. Use CONST_PTR macro instead. * configure configure.in defs.h: Use AC_C_CONST to figure out if the compiler supports const. Gets rid of some cruft in defs.h. * dwarf2read.c: <string.h> -> "gdb_string.h" * remote-sim.c: Add prototypes. Fix call to gdbsim_kill. * sparcl-tdep.c (download): Add prototypes to write_routine and start_routine args. * mswin/gdbwin.c: Don't include both varargs.h AND stdarg.h. Get rid of varargs.h Include string.h. * (gdbwin_update gdbwin_fputs regs_changed_f bpt_changed_f update): Fix prototypes, fix calls. * (update): Return value for catch_errors. * (run_execute_command togdb_command_from_tty togdb_command): Cleanup catching of errors from calls to execute_command. Also, dup command string to avoid modifying const strings. * (togdb_breakinfo_i_init togdb_breakinfo_i_next): Use 0 instead of NULL when see if b->address isn't set. * (bi_disable_bpt bi_enable_bpt bi_delete_all bi_delete_breakpoint): Add arg to calls to update. * (gui_command): Add prototype. * (mswin_query): Fix prototype. * (_initialize_gdbwin): Dup string to avoid modifying const. * (info_path togdb_get_info_path): Remove const from decls cuz this can't be const (it points at malloc'ed memory). * (togdb_searchpath): Remove const from path. Dup string to avoid modifying const strings. * rindex -> strrchr. * (gdbwin_list_symbols): Regexp param is const. * Fix lots of refs to psymtabs to deref correct pointers. * (togdb_set_breakpoint_sal): Call set_breakpoint_sal with sal, not &sal. * mswin/gdbwin.h (togdb_searchpath togdb_get_info_path toget_set_info_path): Fix prototypes to match reality. * mswin/gui.cpp: Define _beginthreadex and _endthreadex routines with proper prototypes. * mswin/iface.cpp (gdbwin_fputs): Define with correct number of args. * mswin/ser-win32s.c: Fix defs of min and max. * mswin/serdll32.c (OpenComm16): Make cbInQueue and cbOutQueue be USHORT. * (WriteComm16): Change lpBug from LPVOID to LPCSTR. * mswin/serdll32.h: Fix prototypes for OpenComm16 and WriteComm16.
* * dwarf2read.c dwarfread.c exec.c infcmd.c infrun.c main.cStu Grossman1996-08-081-4/+0
| | | | | | | | | | | | | | | | | | | | | mdebugread.c os9kread.c source.c top.c utils.c: Don't include param.h or sys/file.h (or unistd.h in some cases). * defs.h exec.c inflow.c remote-array.c remote-e7000.c sparcl-tdep.c terminal.h utils.c: Replace all occurances of __WIN32__, WINGDB, WIN32, etc... with _WIN32. * main.c: Remove #ifndef WINGDB around option processing. Fix bug with passing argc==0 and argv==NULL to getopt. * (main) Remove calls to access() before source_command. Let soure_command handle access errors. * maint.c (maintenance_dump_me): #ifdef out for _WIN32. * symtab.c (operator_chars): Make this global for wingdb. * top.c (disconnect): #ifdef out for _WIN32. * (source_command): If got an error and from_tty, then call print error, else just return quietly. * utils.c (fatal_dump_core): Can't kill ourselves under windows. Just exit. * (pollquit notice_quit): #ifdef out stuff that doesn't exist under windows.
* * dwarf2read.c (struct filenames): Change internal "struct file"Fred Fish1996-07-201-3/+3
| | | | | to "struct fileinfo" to avoid conflict with "struct file" in <sys/file.h> on HPUX and Solaris.
OpenPOWER on IntegriCloud