No description
Find a file
Peter Schauer 0db3fe94c3 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.
1996-12-01 08:33:39 +00:00
bfd * configure.in, configure: Handle mips*-sgi-irix6*. 1996-12-01 08:31:05 +00:00
binutils * objdump.c (disassemble_data): Don't crash if there is no 1996-11-25 21:54:02 +00:00
config Use target_cflags to set -mrelocatable-lib -mno-eabi, not config/mt-ppc. 1996-11-11 17:27:33 +00:00
gas Sat Nov 30 17:34:48 1996 Eliot Dresselhaus <eliot@wally.edc.com> 1996-11-30 22:35:57 +00:00
gdb Add support for Irix 6.2 native O32 and N32 ABI. 1996-12-01 08:33:39 +00:00
gprof * configure: Rebuild with autoconf 2.12. 1996-11-26 22:09:02 +00:00
include * m68k.h: Document new <, >, m, n, o and p operand specifiers. 1996-11-26 01:58:02 +00:00
ld * scripttempl/{elfd10v.sc,elfmips.sc,elfppc.sc,v850.sc}: Likewise. 1996-11-27 11:29:23 +00:00
mmalloc * configure configure.in: Don't default CC to cc. It causes problems 1996-09-05 01:06:10 +00:00
opcodes * mn10300-dis.c (disasemble): Finish conversion to '$' as 1996-11-26 23:04:02 +00:00
readline * tilde.c (tilde_word_expand): __MSDOS___ -> __MSDOS__ 1996-10-08 16:00:54 +00:00
sim * simops.c: Fix bugs in "movm" and "add imm,an". 1996-11-27 23:20:24 +00:00
.Sanitize Added findutils, less, ncurses to top level .Sanitize 1996-11-22 00:59:24 +00:00
Build-A-Release.mk didn't get propagated from progressive to devo. 1992-07-31 17:33:55 +00:00
build-all.mk change [ -d foo ] to test -d foo 1996-03-22 21:50:27 +00:00
ChangeLog * configure.in (mips*-sgi-irix6*): Remove gdb and related 1996-12-01 08:30:09 +00:00
config-ml.in * config-ml.in (ml_realsrcdir): New, to account for ${subdir}. 1995-12-27 23:52:53 +00:00
config.guess * config.guess: Combine mips-mips-riscos cases, and use cpp to 1996-06-08 01:13:04 +00:00
config.sub config.sub: Handle v850-unknown. 1996-11-23 15:29:11 +00:00
configure * configure: Don't get confused by CPU-VENDOR-linux-gnu. 1996-10-10 18:15:03 +00:00
configure.bat additions for binutils release from dj 1994-10-22 02:17:33 +00:00
configure.in * configure.in (mips*-sgi-irix6*): Remove gdb and related 1996-12-01 08:30:09 +00:00
DOC.Sanitize Updated documentation for lose-inet -> keep-inet change 1996-06-19 15:40:45 +00:00
INSTALL Nearly complete. Still needs pointer to "more doc". 1991-04-13 07:41:11 +00:00
install-texi.in Add some files from Progressive shich shouldn't be lost. 1992-07-29 16:21:34 +00:00
Install.in Add some files from Progressive shich shouldn't be lost. 1992-07-29 16:21:34 +00:00
install.sh * install.sh (chmodcmd): Set to null if the DST directory already 1996-11-11 18:12:15 +00:00
intro.texi Add some files from Progressive shich shouldn't be lost. 1992-07-29 16:21:34 +00:00
make-all.com Wed Oct 2 15:52:36 1996 Klaus Kaempf <kkaempf@progis.de> 1996-10-02 19:53:12 +00:00
makeall.bat additions for binutils release from dj 1994-10-22 02:17:33 +00:00
Makefile.in * Makefile.in (EXTRA_GCC_FLAGS): Pass down GCC_FOR_TARGET 1996-10-24 16:13:43 +00:00
mpw-build.in Sun Feb 27 16:05:15 1994 Stan Shebs (shebs@andros.cygnus.com) 1994-02-28 00:15:29 +00:00
mpw-config.in Sun Feb 27 16:05:15 1994 Stan Shebs (shebs@andros.cygnus.com) 1994-02-28 00:15:29 +00:00
mpw-configure * mpw-configure: Add support for exec-prefix. 1995-12-04 20:48:19 +00:00
mpw-README Sun Feb 27 16:05:15 1994 Stan Shebs (shebs@andros.cygnus.com) 1994-02-28 00:15:29 +00:00
Pack-A-Progressive Add some files from Progressive shich shouldn't be lost. 1992-07-29 16:21:34 +00:00
setup.com Thu Aug 8 12:18:59 1996 Klaus Kaempf <kkaempf@progis.de> 1996-08-08 16:20:25 +00:00
SUPPORTED Initial revision 1991-06-12 21:44:36 +00:00
tape-labels-tex.in Add some files from Progressive shich shouldn't be lost. 1992-07-29 16:21:34 +00:00
test-build.mk add support for i386-unixware target, m68k-vxworks5.1 target, i960-vxworks5.1 target... always configure with --enable-gdbtk 1995-05-18 09:27:23 +00:00