Commit Graph

85 Commits

Author SHA1 Message Date
Daniel Jacobowitz 5fb290d7a3 2002-04-04 Daniel Jacobowitz <drow@mvista.com>
* dwarf2read.c (struct function_range): New.
        (cu_first_fn, cu_last_fn, cu_cached_fn): New.
        (check_cu_functions): New.
        (read_file_scope): Initialize global function lists.
        Call dwarf_decode_line after processing children.
        (read_func_scope): Add to global function list.
        (dwarf_decode_lines): Call check_cu_functions everywhere
        record_line is called.  Call record_line with a linenumber
        of 0 to mark sequence ends.
2002-04-04 22:26:43 +00:00
Daniel Jacobowitz f65ca430eb 2002-03-20 Daniel Jacobowitz <drow@mvista.com>
Fix PR gdb/422.
        * c-lang.c (c_create_fundamental_type): Handle FT_COMPLEX,
        FT_DBL_PREC_COMPLEX, and FT_EXT_PREC_COMPLEX.
        * dwarf2read.c (read_base_type): Set TYPE_TARGET_TYPE for
        complex types.
        * stabsread.c (rs6000_builtin_type): Likewise.
        (read_sun_floating_type): Likewise.
2002-03-21 00:53:44 +00:00
Richard Henderson 963838355f * dwarf2read.c (read_array_type): Accept DW_FORM_data8 as
a constant array bound.
2002-03-14 22:53:35 +00:00
Jason Merrill 985cb1a306 * dwarf2read.c (dwarf_cfi_name): Add new codes. 2002-02-28 11:21:16 +00:00
Pierre Muller 48cd0caa88 2002-02-14 Pierre Muller <muller@ics.u-strasbg.fr>
* dwarf2read.c: Replace fprintf (stderr, ...) by
	fprintf_unfiltered (gdb_stderr, ...).
2002-02-15 22:42:33 +00:00
Daniel Jacobowitz d7f0b9ce2d 2002-01-20 Daniel Jacobowitz <drow@mvista.com>
* buildsym.c: Update copyright years.
	* c-typeprint.c: Likewise.
	* dwarf2read.c: Likewise.
	* f-typeprint.c: Likewise.
	* gdbtypes.c: Likewise.
	* gdbtypes.h: Likewise.
	* hp-symtab-read.c: Likewise.
	* hpread.c: Likewise.
	* mdebugread.c: Likewise.
	* p-typeprint.c: Likewise.
2002-01-20 19:42:04 +00:00
Daniel Jacobowitz b02dede253 2002-01-20 Daniel Jacobowitz <drow@mvista.com>
* gdbtypes.h (struct cplus_struct_type): Add is_artificial to
	member function fields.  Add accessor macro
	TYPE_FN_FIELD_ARTIFICIAL.
	* dwarf2read.c (dwarf2_add_member_fn): Check for artificial methods.
	* c-typeprint.c (c_type_print_base): Skip artificial member
	functions.
2002-01-20 19:20:16 +00:00
Daniel Jacobowitz 8176bb6dee 2002-01-15 Daniel Jacobowitz <drow@mvista.com>
* gdbtypes.h (struct type): Fix whitespace.  Remove obsolete
	comment.  Add ``artificial'' to ``union field_location''.

	* dwarf2read.c: Remove ad-hoc TYPE_FIELD_ARTIFICIAL.

	* buildsym.c (finish_block): Initialize TYPE_FIELD_ARTIFICIAL to 0.
	* mdebugread.c (parse_symbol): Likewise.
	* stabsread.c (define_symbol): Likewise.
	* hp-symtab-read.c (hpread_function_type): Likewise, instead of
	initializing TYPE_FIELD_BITPOS to n (obsolete).
	(hpread_doc_function_type): Likewise.
	* hpread.c (hpread_function_type): Likewise.
2002-01-20 19:12:23 +00:00
Petr Sorfa b21b22e068 1) Handling of the DW_AT_byte_size attribute when processing a
DW_TAG_string_type (this is acceptable under the current DWARF 2.1/3.0
standard.)
2) In read_tag_string_type(), a fix for FORTRAN that propagates the
first string length to all string types. This is important as FORTRAN
strings are not delimited as in C/C++.
3) Handling of the DW_LANG_Fortran95.
2002-01-11 16:56:04 +00:00
Jason Merrill f1bea926d1 * dwarf2read.c (decode_locdesc): Implement DW_OP_litn, DW_OP_dup.
Fix DW_OP_minus.
2002-01-11 09:32:50 +00:00
Fred Fish 74a9bb82c5 Approved by Jim Blandy:
2001-12-11  Fred Fish  <fnf@redhat.com>
	* c-typeprint.c (c_type_print_base): Use type flags access macros
	to test bits.
	* ch-typeprint.c (chill_type_print_base): Ditto.
	* ch-valprint.c (chill_val_print): Ditto.
	* d10v-tdep.c (d10v_pointer_to_address): Ditto.
	* dwarf2read.c (dwarf2_add_member_fn): Ditto.
	* dwarfread.c (read_structure_scope): Ditto.
	* gdbtypes.c (create_range_type): Dittol
	(create_set_type): Ditto.
	(check_typedef): Ditto.
	* jv-typeprint.c (java_type_print_base): Ditto.
	* p-typeprint.c (pascal_type_print_base): Ditto
	* p-valprint.c (pascal_val_print): Ditto.
	* stabsread.c (read_cfront_member_functions): Ditto.
	(read_member_functions): Ditto.
	(cleanup_undefined_types): Ditto.
	* valprint.c (val_print): Ditto.
	* valops.c (hand_function_call): Remove is_prototyped
	variable and just use type flag test macro directly.
2001-12-12 02:11:52 +00:00
Fred Fish 2f038fcb08 Approved by Elena Zannoni:
2001-12-08  Fred Fish  <fnf@redhat.com>
	* dwarf2read.c (read_typedef):  Replace hand crafted type
	initialization with a call to the init_type() function, which
	is how the rest of gdb creates types.
2001-12-09 23:17:07 +00:00
Fred Fish 878ac5308a Approved by Jim Blandy:
2001-12-08  Fred Fish  <fnf@redhat.com>
	* dwarf2read.c (TYPE_FLAG_VARARGS): Remove from here.
	* gdbtypes.h (TYPE_FLAG_VARARGS): Add here and change value to
	not collide with other flag bits.
2001-12-09 07:29:46 +00:00
Fred Fish f5ef7c67f8 Approved by Jim Blandy:
2001-12-08  Fred Fish  <fnf@redhat.com>
	* dwarf2read.c (read_base_type): Rename is_unsigned to type_flags.
	For unsigned types set TYPE_FLAG_UNSIGNED and pass it to
	init_type().
2001-12-09 07:26:47 +00:00
Daniel Jacobowitz a02fd225ed * gdbtypes.c (finish_cv_type): New function.
(check_typedef): Remove ``register'' keyword from argument.
        Preserve const and volatile attributes across filling in
        opaque types.
        * gdbtypes.h (finish_cv_type): Add prototype.

        * hp-symtab-read.c (hpread_read_struct_type): Call finish_cv_type.
        * stabsread.c (read_struct_type): Likewise.
        * dwarf2read.c (read_structure_scope): Likewise.  Remove redundant
        assignment to die->type.
2001-12-07 22:11:51 +00:00
Jiri Smid b6af0555b5 * dwarf2cfi.c: New file.
* dwarf2cfi.h: New file.
* dwarf2read.c (dwarf_frame_offset, dwarf_frame_size): New variables.
(dwarf_eh_frame_offset, dwarf_eh_frame_size): New variables.
(dwarf2_read_section): Change to non static.
(dwarf2_locate_sections): Add .debug_frame and .eh_frame section
recognition.
(FRAME_SECTION, EH_FRAME_SECTION): New define.
* elfread.c (elf_symfile_read): Add call of frame informations build.
* frame.h (frame_info): Add pointer to unwind_context.
* symfile.h (dwarf2_build_frame_info): Add declaration.
* gdbarch.sh (DWARF2_BUILD_FRAME_INFO): Add.
* gdbarch.h, gdbarch.c: Regenerate.
* Makefile.in: Add dwarf2cfi_h, dwarf2cfi.o
* x86-64-tdep.c (i386_gdbarch_init): Initialize target vector to
use debug frame info.
2001-12-07 12:10:15 +00:00
Keith Walker a8329558c7 * dwarf2read.c (read_attribute_value): New function to handle DW_FORM_indirect
(read_attribute): uses read_attribute_value
2001-11-29 13:19:06 +00:00
Jakub Jelinek 4bdf3d3415 * dwarf2read.c (dwarf_str_buffer): New.
(struct dwarf2_pinfo): Add dwarf_str_buffer and dwarf_str_size.
	(DWARF_STR_BUFFER, DWARF_STR_SIZE): Define.
	(dwarf2_has_info): Clear dwarf_str_offset.
	(dwarf2_build_psymtabs): Read .debug_str section if present.
	(dwarf2_build_psymtabs_hard): Save DWARF_STR_BUFFER and
	DWARF_STR_SIZE.
	(psymtab_to_symtab_1): Restore DWARF_STR_BUFFER and DWARF_STR_SIZE.
	(read_attribute): Handle DW_FORM_strp.
	(read_n_bytes, read_string): Remove HOST_CHAR_BIT != 8
	handling code.
	(read_indirect_string): New.
	(dump_die): Handle DW_FORM_strp.
2001-11-17 00:08:10 +00:00
Geoffrey Keating 9aa1fe7eee * dwarf2read.c (dwarf_decode_lines): Properly deal with
unknown standard opcodes.
2001-11-12 20:36:55 +00:00
Fred Fish 4dc13854e5 2001-11-06 Fred Fish <fnf@redhat.com>
* complaints.c (info_verbose): Remove unneeded decl, is in defs.h.
	* dbxread.c: Ditto
	* dwarf2read.c: Ditto.
	* dwarfread.c: Ditto.
	* exec.c: Ditto.
	* hpread.c: Ditto.
	* hpread.h: Ditto.
	* mdebugread.c: Ditto.
	* os9kread.c: Ditto.
	* stack.c: Ditto.
	* symfile.c: Ditto.
	* tracepoint.c: Ditto.
2001-11-06 23:38:15 +00:00
Alan Modra 3a42e9d062 * coffread.c: Replace all occurrences of bfd_read with bfd_bread.
* dbxread.c: Likewise.
	* dwarf2read.c: Likewise.
	* dwarfread.c: Likewise.
	* somread.c: Likewise.
	* ultra3-nat.c: Likewise.
	* xcoffread.c: Likewise.
2001-09-20 03:03:40 +00:00
Elena Zannoni ef96bde82e 2001-09-04 Elena Zannoni <ezannoni@redhat.com>
From Daniel Jacobowitz  <drow@mvista.com>
	* dbxread.c (dbx_symfile_read): Only reinitialize
	the psymbol list if mainline or if both static
	and global lists are empty.
	* dwarf2read.c (dwarf2_build_psymtabs): Likewise.
	* dwarfread.c (dwarf_build_psymtabs): Likewise.
	* xcoffread.c (xcoff_initial_scan): Likewise.
	* os9kread.c (os9k_symfile_read): Likewise.
2001-09-05 02:13:11 +00:00
Jim Blandy 9e84cbde42 * dwarf2read.c (dwarf2_build_psymtabs_hard): Doc fix. 2001-07-30 23:16:45 +00:00
Jim Blandy af703f9620 * dwarf2read (dwarf2_build_psymtabs_hard): Doc fix. 2001-07-05 16:45:48 +00:00
Jim Blandy 0b010bcc00 * dwarf2read.c (struct partial_die_info): New member: has_pc_info.
(read_partial_die): Delete fourth argument; we return this info in
the struct partial_die_info object itself now.
(dwarf2_build_psymtabs_hard, scan_partial_symbols): Use the
has_pc_info field of the partial die struct, rather than passing a
variable by reference to read_partial_die.
2001-07-04 16:08:20 +00:00
Jim Blandy 2541c7cf08 * dwarf2read.c (dwarf2_build_psymtabs_hard): Remove extraneous
code in loop condition.  This seemed to be trying to round
info_ptr up to the next four-byte boundary, but that's not what it
actually did.  If we discover the problem the old code was really
trying to address, we can fix it properly.
2001-07-04 16:00:08 +00:00
Jim Blandy f9aca02d5a * dwarf2read.c (read_comp_unit, sibling_die, dump_die,
dump_die_list, store_in_ref_table, follow_die_ref): Make these
static; they're private functions.
2001-07-02 17:43:07 +00:00
Per Bothner bebd888e23 * dwarf2read.c (set_cu_language): Handle DW_LANG_Java. 2001-06-08 18:08:03 +00:00
Eli Zaretskii d5166ae11e * buildsym.c (start_subfile): Use FILENAME_CMP instead of STREQ.
(top-level): #include filenames.h.

	* dwarf2read.c (dwarf2_start_subfile): Use IS_ABSOLUTE_PATH and
	FILENAME_CMP, to DTRT on non-Posix platforms.
	(top-level): #include filenames.h.
2001-04-30 10:30:27 +00:00
Kevin Buettner b6ba6518e9 Update/correct copyright notices. 2001-03-06 08:22:02 +00:00
Andrew Cagney 8e65ff28b0 Add __FILE__ and __LINE__ parameter to internal_error() /
internal_verror().
2001-02-08 06:03:54 +00:00
Jim Blandy 090c42a489 * dwarf2read.c (read_tag_const_type, read_tag_volatile_type):
Implement these correctly, using make_cv_type.
2001-01-24 00:22:47 +00:00
Kevin Buettner b8c9b27d1e Replace free() with xfree(). 2000-12-15 01:01:51 +00:00
Michael Snyder 88496bb5c6 2000-12-08 Michael Snyder <msnyder@mvstp600e.cygnus.com>
* dwarf2read.c (DWARF2_REG_TO_REGNUM): New macro.  Provide default
        definition.  Will be used to translate between the compiler's
        register numbering and GDB's (for register variables etc).
        (new_symbol): Use DWARF2_REG_TO_REGNUM to translate register ids.
2000-12-08 20:12:36 +00:00
Daniel Berlin b3810801a5 2000-11-07 Daniel Berlin <dberlin@redhat.com>
* dwarf2read.c: Revert June 5th change for caching of types,
        as per Jim Blandy's request.
2000-11-08 02:50:51 +00:00
Kevin Buettner a275699e3a In new_symbol(), relocate symbol address by base address of the section
it is in instead of using the base address of the .text section.
2000-11-03 22:38:38 +00:00
Kevin Buettner 679ebd0f9c Fix date in comment. 2000-08-04 16:51:47 +00:00
Kevin Buettner 613e165759 DWARF2.1 64-bit support. 2000-08-04 16:25:30 +00:00
Kevin Buettner fba45db2fa Protoization. 2000-07-30 01:48:28 +00:00
Jim Blandy 8713b1b135 * dwarf2read.c (read_structure_scope): Correct overzealous
addition of cu_header argument.
2000-07-24 17:07:26 +00:00
Andrew Cagney 107d2387e3 Eliminate global address_size. Replace with function
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.
2000-07-24 01:26:10 +00:00
Andrew Cagney 7f0e3f52b0 From Richard Henderson <rth@cygnus.com>:
* dwarf2read.c (dwarf2_empty_hash_tables): Renamed from
dwarf2_empty_die_ref_table; zero dwarf2_cached_types as well.
Update all callers.
2000-07-18 07:47:02 +00:00
Jim Blandy ce5d95e1bc 2000-06-14 Jim Blandy <jimb@redhat.com>
* 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.
2000-06-14 23:29:06 +00:00
Daniel Berlin 357e46e7c9 C++ improvements 2000-06-05 20:49:53 +00:00
Kevin Buettner a14ed312fd PARAMS removal. 2000-05-28 01:12:42 +00:00
Andrew Cagney 74b7792f0f Purge (almost) make_cleanup_func. 2000-05-22 09:02:23 +00:00
Kevin Buettner bf9198f149 Fix typo in sign extension code in dwarf2_const_value_data(). 2000-05-13 00:51:35 +00:00
Philippe De Muyter c13c43fdda * ax-gdb.c (agent_command): Remove now useless cast of
`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.
2000-04-26 12:41:48 +00:00
Jim Blandy 64367e0abc * dwarf2read.c: Revert Andrew Cagney's change of Dec 15, 1997.
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.
2000-04-08 22:35:35 +00:00
Andrew Cagney 244106e863 Read 2 byte (16 bit addresses) when needed. 2000-02-29 05:10:04 +00:00