Ian Lance Taylor [Mon, 2 Dec 1996 17:15:05 +0000 (17:15 +0000)]
* cofflink.c (_bfd_coff_final_link): If there aren't any relocs in
a relocateable link, don't try to process them. From Heinz Wrobel
<wrobel@lpr.e-technik.tu-muenchen.de>.
Jeff Law [Mon, 2 Dec 1996 08:35:20 +0000 (08:35 +0000)]
* simops.c: Fix overflow computation for many instructions.
Fixes several hangs in the c-torture execution tests. Also fixes about
40 failures.
Jeff Law [Mon, 2 Dec 1996 07:44:50 +0000 (07:44 +0000)]
* elf32-mn10300.c (mn10300_info_howto): Renamed from
mn10300-Info_howto_rel. Tweak reloc argument to be an
Elf32_Internal_Rela.
(USE_RELA): Define instead of USE_REL.
(elf_info_to_howto, elf_info_howto_rel): Corresponding changes.
Jeff Law [Mon, 2 Dec 1996 07:41:52 +0000 (07:41 +0000)]
* config/tc-mn10300.c (tc_gen_reloc): Get the addend from
fx_offset, not fx_addnumber.
Along with some simulator, compiler, bfd changes this fixes 90 or so
c-torture execution failures.
Jeff Law [Mon, 2 Dec 1996 07:38:10 +0000 (07:38 +0000)]
* simops.c: Fix "movdm, an", "movbu dm, (an)", and "movhu dm, (an)".
Along with some compiler, bfd, assembler changes this fixes 90 or so
c-torture execution failures.
Jeff Law [Mon, 2 Dec 1996 04:50:26 +0000 (04:50 +0000)]
* config/tc-mn10300.h (tc_fix_adjustable): Don't do any
reloc adjustments.
reloc adjusting is of minimal value, and quite problematical for
machines which do linker relaxing...
Jeff Law [Mon, 2 Dec 1996 04:23:37 +0000 (04:23 +0000)]
* simops.c: Fix "mov am, dn".
Fixes more c-torture problems.
Jeff Law [Sun, 1 Dec 1996 23:10:04 +0000 (23:10 +0000)]
* simops.c: Fix more bugs in "add imm,an" and
"add imm,dn".
Fixes a half-dozen (of several hundred :( c-torture failures.
Geoffrey Noer [Sun, 1 Dec 1996 08:46:59 +0000 (08:46 +0000)]
Sun Dec 1 00:40:46 1996 Geoffrey Noer <noer@cygnus.com>
* configure.tgt: add new mn10300 entry
Peter Schauer [Sun, 1 Dec 1996 08:43:48 +0000 (08:43 +0000)]
* vax-tdep.c (vax_print_insn, print_insn_arg): Use info functions
for printing. From Valeriy Ushakov <uwe@ptc.spbu.ru>.
Peter Schauer [Sun, 1 Dec 1996 08:33:39 +0000 (08:33 +0000)]
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.
Peter Schauer [Sun, 1 Dec 1996 08:31:05 +0000 (08:31 +0000)]
* configure.in, configure: Handle mips*-sgi-irix6*.
* irix-core.c (irix_core_core_file_p): Accept CORE_MAGICN32
core files.
Peter Schauer [Sun, 1 Dec 1996 08:30:09 +0000 (08:30 +0000)]
* configure.in (mips*-sgi-irix6*): Remove gdb and related
directories from noconfigdirs.
Ian Lance Taylor [Sat, 30 Nov 1996 22:35:57 +0000 (22:35 +0000)]
Sat Nov 30 17:34:48 1996 Eliot Dresselhaus <eliot@wally.edc.com>
* config/tc-i386.c: Correct misspelling: balenced to balanced.
Peter Schauer [Thu, 28 Nov 1996 08:55:13 +0000 (08:55 +0000)]
* vax-tdep.c (vax_print_insn): Made static, modified to take
disassemble_info as parameter.
(_initialize_vax_tdep): New function to initialize tm_print_insn
to vax_print_insn.
Jeff Law [Wed, 27 Nov 1996 23:20:24 +0000 (23:20 +0000)]
* simops.c: Fix bugs in "movm" and "add imm,an".
main(){write (0, "hello world\n", 13);} works!
Michael Snyder [Wed, 27 Nov 1996 19:31:26 +0000 (19:31 +0000)]
Wed Nov 27 11:29:06 1996 Michael Snyder <msnyder@cleaver.cygnus.com>
* blockframe.c: ...Remove old-style CALL_DUMMY code...
* h8300-tdep.c:
* config/h8300/tm-h8300.h:
start-sanitize-m32r
* m32r-tdep.c:
* config/m32r/tm-m32r.h:
end-sanitize-m32r
* sh-tdep.c:
* config/sh/tm-sh.h:
start-sanitize-v850
* v850-tdep.c:
* config/v850/tm-v850.h:
end-sanitize-v850
Michael Snyder [Wed, 27 Nov 1996 19:13:21 +0000 (19:13 +0000)]
Tue Nov 26 18:29:23 1996 Michael Snyder <msnyder@cleaver.cygnus.com>
* gdb.base/callfuncs.exp: Turn on function call tests for h8300.
* gdb.base/default.exp: ditto.
* gdb.base/nodebug.exp: ditto.
* gdb.base/printcmds.exp: ditto.
* gdb.base/ptype.exp: ditto.
* gdb.base/setvar.exp: ditto.
* gdb.base/structs.exp: ditto.
* gdb.base/setshow.c: Guard against uninitialized values of argc.
Michael Snyder [Wed, 27 Nov 1996 19:10:07 +0000 (19:10 +0000)]
Added target function calls for SH, M32R and H8300.
Added some generic target-independant code for managing call-dummy frames.
Wed Nov 27 10:32:14 1996 Michael Snyder <msnyder@cleaver.cygnus.com>
* breakpoint.c: DELETE command will not delete CALL_DUMMY breakpoint.
* blockframe.c: Add target-independant support for managing
CALL_DUMMY frames on the host side.
* frame.h: Declarations for generic CALL_DUMMY frame support.
* h8300-tdep.c: Add target function calls using generic frame support.
* config/h8300/tm-h8300.h: config for generic target function calls.
start-sanitize-m32r
* m32r-tdep.c: Add target function calls using generic frame support.
* config/m32r/tm-m32r.h: config for generic target function calls.
end-sanitize-m32r
* sh-tdep.c: Add target function calls using generic frame support.
* config/sh/tm-sh.h: config for generic target function calls.
start-sanitize-v850
* v850-tdep.c: Add target function calls using generic frame support.
* config/v850/tm-v850.h: config for generic target function calls.
end-sanitize-v850
* valops.c: ADD PUSH_RETURN_ADDRESS so that it doesn't have to be
done by PUSH_ARGUMENTS when there's no CALL_DUMMY.
Jeff Law [Wed, 27 Nov 1996 18:36:54 +0000 (18:36 +0000)]
* simops.c: Don't lose the upper 24 bits of the return
pointer in "call" and "calls" instructions. Rough cut
at emulated system calls.
Ian Lance Taylor [Wed, 27 Nov 1996 18:32:52 +0000 (18:32 +0000)]
* config/tc-mips.c (md_section_align): Check for an alignment of
4, not an alignment of 16. Corrects August 7 patch.
Jeff Law [Wed, 27 Nov 1996 17:56:10 +0000 (17:56 +0000)]
* simops.c: Implement the remaining 5, 6 and 7 byte instructions.
Everything except the extended instructions, the loop instructions,
trap, rti, and rtm.
Jeff Law [Wed, 27 Nov 1996 17:19:44 +0000 (17:19 +0000)]
* simops.c Implement remaining 4 byte instructions.
Ian Lance Taylor [Wed, 27 Nov 1996 17:11:05 +0000 (17:11 +0000)]
* elf32-i386.c (elf_i386_relocate_section): Warn about a
relocation against a symbol defined in a section with no output
section.
PR 11174.
Ian Lance Taylor [Wed, 27 Nov 1996 16:54:21 +0000 (16:54 +0000)]
* gencode.c (process_instructions): If ! proc64, skip DOUBLEWORD
16 bit instructions.
Jeff Law [Wed, 27 Nov 1996 16:51:30 +0000 (16:51 +0000)]
* simops.c Implement remaining 3 byte instructions.
Moving right along...
Jeff Law [Wed, 27 Nov 1996 16:25:03 +0000 (16:25 +0000)]
* simops.c: Implement remaining 2 byte instructions. Call
abort for instructions we're not implementing now.
Ian Lance Taylor [Wed, 27 Nov 1996 16:01:34 +0000 (16:01 +0000)]
Actually check in the right change to interp.c.
Jason Merrill [Wed, 27 Nov 1996 11:29:23 +0000 (11:29 +0000)]
* scripttempl/{elfd10v.sc,elfmips.sc,elfppc.sc,v850.sc}: Likewise.
Jason Merrill [Wed, 27 Nov 1996 11:23:10 +0000 (11:23 +0000)]
* scripttempl/elf.sc: Add the remaining DWARF sections.
Jeff Law [Wed, 27 Nov 1996 07:20:36 +0000 (07:20 +0000)]
* simops.c: Implement lots of random instructions.
Implments most instructions with first nibble 0x0 - 0xe and
those with the first byte 0xf0 - 0xf2.
Jeff Law [Wed, 27 Nov 1996 05:29:49 +0000 (05:29 +0000)]
* simops.c: Implement "movm" and "bCC" insns.
Function calls and conditional branches work!
Mark Alexander [Wed, 27 Nov 1996 03:40:28 +0000 (03:40 +0000)]
* config/mips/tm-mips.h (ADDR_BITS_REMOVE, TARGET_READ_SP): Define.
(mips_addr_bits_remove): Declare.
Mark Alexander [Wed, 27 Nov 1996 03:40:02 +0000 (03:40 +0000)]
* config/mips/tm-mips.h (ADDR_BITS_REMOVE, TARGET_READ_SP): Define.
(mips_addr_bits_remove): Declare.
* mips-tdep.c (mips_push_dummy_frame): Fix heuristic-fence-post
errors when hitting breakpoints during inferior function calls
in 64-bit programs.
(fix_sign_extension): Make public, rename to mips_addr_bits_remove.
* utils.c (paddr_nz, preg_nz): New functions, similar to
paddr and preg but don't print leading zeroes.
* defs.h (paddr_nz, preg_nz): Declare.
* remote-mips.c: Use paddr_nz instead of paddr throughout
to reduce packet size.
(pmon_end_download): Improve timeout error handling.
Jeff Law [Wed, 27 Nov 1996 00:53:25 +0000 (00:53 +0000)]
* mn10300_sim.h (_state): Add another register (MDR).
(REG_MDR): Define.
* simops.c: Implement "cmp", "calls", "rets", "jmp" and
a few additional random insns.
We can now function calls. We get out of crt0 into main now, then lose
when calls are nested (because don't handle movm yet).
Jeff Law [Tue, 26 Nov 1996 23:04:02 +0000 (23:04 +0000)]
* mn10300-dis.c (disasemble): Finish conversion to '$' as
register prefix.
Fixes improper disassembly of movm instructions.
Jeff Law [Tue, 26 Nov 1996 22:58:24 +0000 (22:58 +0000)]
* mn10300_sim.h (PSW_*): Define for CC status tracking.
(REG_D0, REG_A0, REG_SP): Define.
* simops.c: Implement "add", "addc" and a few other random
instructions.
Starting to simulate instructions for the mn10300. Executes some of
the crt0 code now!
Ian Lance Taylor [Tue, 26 Nov 1996 22:27:00 +0000 (22:27 +0000)]
* configure, */configure: Rebuild with autoconf 2.12.
Ian Lance Taylor [Tue, 26 Nov 1996 22:22:17 +0000 (22:22 +0000)]
* configure: Rebuild with autoconf 2.12.
Ian Lance Taylor [Tue, 26 Nov 1996 22:09:02 +0000 (22:09 +0000)]
* configure: Rebuild with autoconf 2.12.
Ian Lance Taylor [Tue, 26 Nov 1996 22:08:11 +0000 (22:08 +0000)]
* configure, conf.in: Rebuild with autoconf 2.12.
Ian Lance Taylor [Tue, 26 Nov 1996 21:59:23 +0000 (21:59 +0000)]
* configure: Rebuild with autoconf 2.12.
Ian Lance Taylor [Tue, 26 Nov 1996 21:53:58 +0000 (21:53 +0000)]
* aclocal.m4 (BFD_CC_FOR_BUILD): Don't require AC_C_CROSS.
* configure, config.in: Rebuild with autoconf 2.12.
Ian Lance Taylor [Tue, 26 Nov 1996 20:42:34 +0000 (20:42 +0000)]
* config/tc-ppc.c (ppc_elf_lcomm): Don't give an error if no
alignment is specified.
PR 11164.
Jeff Law [Tue, 26 Nov 1996 20:40:19 +0000 (20:40 +0000)]
* gencode.c, interp.c: Snapshot current simulator code.
(crude) hashing works, along with dispatch to the OP_* functions.
Jeff Law [Tue, 26 Nov 1996 20:28:34 +0000 (20:28 +0000)]
* mn10300-opc.c (mn10300_opcodes): Fix mask field for
mov am,(imm32,sp).
Found during initial simulator work.
Ian Lance Taylor [Tue, 26 Nov 1996 18:12:44 +0000 (18:12 +0000)]
Add support for mips16 (16 bit MIPS implementation):
* gencode.c (inst_type): Add mips16 instruction encoding types.
(GETDATASIZEINSN): Define.
(MIPS_DECODE): Add REG flag to dsllv, dsrav, and dsrlv. Add
jalx. Add LEFT flag to mfhi and mflo. Add RIGHT flag to mthi and
mtlo.
(MIPS16_DECODE): New table, for mips16 instructions.
(bitmap_val): New static function.
(struct mips16_op): Define.
(mips16_op_table): New table, for mips16 operands.
(build_mips16_operands): New static function.
(process_instructions): If PC is odd, decode a mips16
instruction. Break out instruction handling into new
build_instruction function.
(build_instruction): New static function, broken out of
process_instructions. Check modifiers rather than flags for SHIFT
bit count and m[ft]{hi,lo} direction.
(usage): Pass program name to fprintf.
(main): Remove unused variable this_option_optind. Change
``*loptarg++'' to ``loptarg++''.
(my_strtoul): Parenthesize && within ||.
* interp.c (sim_trace): If tracefh is NULL, set it to stderr.
(LoadMemory): Accept a halfword pAddr if vAddr is odd.
(simulate): If PC is odd, fetch a 16 bit instruction, and
increment PC by 2 rather than 4.
* configure.in: Add case for mips16*-*-*.
* configure: Rebuild.
Ian Lance Taylor [Tue, 26 Nov 1996 16:47:58 +0000 (16:47 +0000)]
Tue Nov 26 11:45:33 1996 Kim Knuttila <krk@cygnus.com>
* config.sub (basic_machine): added mips16 configuration
Ian Lance Taylor [Tue, 26 Nov 1996 16:44:22 +0000 (16:44 +0000)]
Add support for mips16 (16 bit MIPS implementation):
* config/tc-mips.c: Extensive additions for mips16 support, not
listed here.
(RELAX_OLD, RELAX_NEW): Use only 7 bits each.
(insn_uses_reg): Change last parameter to an enum.
* config/tc-mips.h (LOCAL_LABELS_DOLLAR): Define as 0.
(md_relax_frag): Define as mips_relax_frag.
(mips_relax_frag): Declare.
(struct mips_cl_insn): Add use_extend and extend fields.
(tc_fix_adjustable): Define.
* config/obj-elf.h (S_GET_OTHER): Define.
(S_SET_OTHER): Define.
Ian Lance Taylor [Tue, 26 Nov 1996 16:43:03 +0000 (16:43 +0000)]
* elf-bfd.h (struct elf_link_hash_entry): Add other field.
* elf.c (_bfd_elf_link_hash_newfunc): Initialize other field.
(swap_out_syms): Set st_other from existing st_other field.
* elflink.h (elf_link_add_object_symbols): Store st_other in hash
table other field.
(elf_link_output_extsym): Set the other field from the global hash
table entry.
* elf32-mips.c (enum reloc_type): Add R_MIPS16_26.
(elf_mips16_jump_howto): New static variable.
(mips16_jump_reloc): New static function.
(bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_MIPS16_JMP.
(mips_info_to_howto_rel): Handle R_MIPS16_26.
(mips_elf_relocate_section): Handle R_MIPS16_26. Handle R_MIPS_26
to a mips16 symbol.
* reloc.c (BFD_RELOC_MIPS16_JMP): Add to list of relocs.
* bfd-in2.h, libbfd.h: Rebuild.
* cpu-mips.c (arch_info_struct): Add mips:16 entry.
Ian Lance Taylor [Tue, 26 Nov 1996 15:59:18 +0000 (15:59 +0000)]
Add support for mips16 (16 bit MIPS implementation):
* mips16-opc.c: New file.
* mips-dis.c: Include "elf-bfd.h" and "elf/mips.h".
(mips16_reg_names): New static array.
(print_insn_big_mips): Use print_insn_mips16 in 16 bit mode or
after seeing a 16 bit symbol.
(print_insn_little_mips): Likewise.
(print_insn_mips16): New static function.
(print_mips16_insn_arg): New static function.
* mips-opc.c: Add jalx instruction.
* Makefile.in (mips16-opc.o): New target.
* configure.in: Use mips16-opc.o for bfd_mips_arch.
* configure: Rebuild.
David Edelsohn [Tue, 26 Nov 1996 03:54:26 +0000 (03:54 +0000)]
Regenerated since aclocal.m4 changed.
David Edelsohn [Tue, 26 Nov 1996 03:53:40 +0000 (03:53 +0000)]
* config.in (WORDS_BIGENDIAN): Add.
* configure: Regenerated.
* d10v_sim.h: #include "config.h"
J.T. Conklin [Tue, 26 Nov 1996 03:24:55 +0000 (03:24 +0000)]
* m68k-opc.c (m68k_opcodes): Simplify table by using < and >
operand specifiers in *save, *restore and movem* instructions.
Ian Lance Taylor [Tue, 26 Nov 1996 02:38:33 +0000 (02:38 +0000)]
* configure.host: Use long long for mips-sgi-irix6*.
J.T. Conklin [Tue, 26 Nov 1996 02:07:49 +0000 (02:07 +0000)]
* config/tc-m68k.c (m68k_ip): Implement cases for new <, >, m, n,
o and p operand specifiers.
J.T. Conklin [Tue, 26 Nov 1996 01:58:02 +0000 (01:58 +0000)]
* m68k.h: Document new <, >, m, n, o and p operand specifiers.
J.T. Conklin [Tue, 26 Nov 1996 01:54:16 +0000 (01:54 +0000)]
* m68k-opc.c (m68k-opcodes): Fix move and movem instructions for
the coldfire.
J.T. Conklin [Tue, 26 Nov 1996 00:17:17 +0000 (00:17 +0000)]
* m68k-opc.c (m68k-opcodes): Fix many forms of the move
instruction for the coldfire.
J.T. Conklin [Mon, 25 Nov 1996 22:33:46 +0000 (22:33 +0000)]
* m68k-opc.c (m68k-opcodes): The coldfire (mcf5200) can only use
register operands for immediate arithmetic, not, neg, negx, and
set according to condition instructions.
Ian Lance Taylor [Mon, 25 Nov 1996 21:54:02 +0000 (21:54 +0000)]
* objdump.c (disassemble_data): Don't crash if there is no
symbol.
J.T. Conklin [Mon, 25 Nov 1996 21:39:55 +0000 (21:39 +0000)]
* m68k-opc.c (m68k_opcodes): Consistantly Use "s" as the storage
specifier of the effective-address operand in immediate forms of
arithmetic instructions. The specifier for the immediate operand
notes how and where the constant will be stored.
David Edelsohn [Mon, 25 Nov 1996 21:25:54 +0000 (21:25 +0000)]
* write.c: Delete "ifndef md_relax_frag" around is_dnrange.
(relax_segment, case rs_org): Move code inside braces. Move locals
target,after inside too.
(relax_segment, case rs_machine_dependent): Guts moved to ...
(relax_frag): New function.
Call md_prepare_relax_scan if defined.
* config/tc-m68k.h (md_prepare_relax_scan): Renamed from
M68K_AIM_KLUDGE.
Fred Fish [Mon, 25 Nov 1996 20:09:27 +0000 (20:09 +0000)]
From: Paul Eggert <eggert@twinsun.com>
* remote-bug.c (wait_strings): Avoid creating a trigraph.
Jeff Law [Mon, 25 Nov 1996 19:52:08 +0000 (19:52 +0000)]
* Makefile.in, config.in, configure, configure.in: New files.
* gencode.c, interp.c, mn10300_sim.h, simops.c: New files.
Skeleton mn10300 simulator
Jeff Law [Mon, 25 Nov 1996 19:46:21 +0000 (19:46 +0000)]
* mn10300-opc.c (mn10300_opcodes): Remove redundant "lcc"
opcode.
Jeff Law [Mon, 25 Nov 1996 18:46:06 +0000 (18:46 +0000)]
* mn10300-dis.c (disassemble): Use '$' instead of '%' for
register prefix.
It's easier for the assembler...
Jeff Law [Mon, 25 Nov 1996 18:42:32 +0000 (18:42 +0000)]
* gas/mn10300/*.s: Use '$' as register prefix for
all register operands.
Jeff Law [Mon, 25 Nov 1996 18:24:14 +0000 (18:24 +0000)]
* config/tc-mn10300.c (address_registers): Use '%' prefix for regs.
(data_registers, other_registers, md_assemble): Likewise.
Jeff Law [Mon, 25 Nov 1996 18:21:08 +0000 (18:21 +0000)]
* mn10300-dis.c (disassemble): Prefix registers with '%'.
Jeff Law [Mon, 25 Nov 1996 16:59:47 +0000 (16:59 +0000)]
* emulparms/mn10300.sh: Remove bogus '_' prefix for
entry symbol and ctor/dtor stuff.
Getting c-torture tests to link
Jeff Law [Mon, 25 Nov 1996 15:59:07 +0000 (15:59 +0000)]
* elf32-mn10300.c (bfd_elf32_mn10300_reloc): New function.
(enum reloc_type): Add more reloc types.
(elf32_mn10300_howto_table): Update for new reloc types.
(elf32_mn10300_reloc_map): Update for new reloc types.
* reloc.c: Add some new relocs for the mn10300 series.
* bfd-in2.h, libbfd.h: Rebuilt.
Last week's reloc work.
Jeff Law [Mon, 25 Nov 1996 15:54:43 +0000 (15:54 +0000)]
* config/tc-mn10300.c (md_assemble): Correctly determine the
correct location and type for each relocation.
(md_pcrel_from): Simplify.
Last week's reloc work.
Fred Fish [Sat, 23 Nov 1996 21:33:08 +0000 (21:33 +0000)]
* gdb.base/a1-selftest.exp: Change x86 linux setup_xfails to
use new i*86-pc-linux*-gnu quads.
* gdb.base/corefile.exp: Ditto.
* gdb.base/signals.exp: Ditto.
* gdb.base/sigall.exp: Ditto.
* gdb.base/interrupt.exp: Ditto.
* gdb.base/signals.exp (signal_tests_1): Remove setup_xfail
"i*86-*-linux" for "signal SIGUSR1". Now works, at least with
RedHat 4.0.
* gdb.threads/pthreads.c (_MIT_POSIX_THREADS): Define if target is
linux. This allows the test case to at least compile on latest
linux, but still not run due to missing the threads runtime library.
Fred Fish [Sat, 23 Nov 1996 21:28:30 +0000 (21:28 +0000)]
* misc.exp: Change x86 linux setup_xfails to use new
i*86-pc-linux*-gnu quads.
* tuples.exp: Ditto.
* tests2.exp: Ditto.
* pr-5016.exp: Ditto.
* tuples.exp: Add i*86-pc-linux-gnu setup_fail to existing
xfails for 'set var vs1 := [ "bar", 42, m_ps[ a ] ]',
'set var $i := m_s1["foo", 44, m_ps[a ]]', and
'set var vs2 := [ 10+3, m_s1[ "foo" , 42, m_ps[ b ]]]'.
Jeff Law [Sat, 23 Nov 1996 20:30:54 +0000 (20:30 +0000)]
* som.c (setup_sections): Don't lose for a space which has
no data, but some symbols.
binutils/11140
Gavin Romig-Koch [Sat, 23 Nov 1996 19:33:06 +0000 (19:33 +0000)]
Handle MSDOS's (non-unix) text files.
Gavin Romig-Koch [Sat, 23 Nov 1996 15:29:11 +0000 (15:29 +0000)]
config.sub: Handle v850-unknown.
Martin Hunt [Fri, 22 Nov 1996 23:59:34 +0000 (23:59 +0000)]
Fri Nov 22 15:55:22 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* valops.c (value_at, value_fetch_lazy): Put in D10V call
to fix up address pointers.
* values.c (value_from_longest): Removed previous d10v changes.
* config/d10v/tm-d10v.h (TARGET_PTR_BIT): Change to 4 bytes.
Ian Lance Taylor [Fri, 22 Nov 1996 20:48:05 +0000 (20:48 +0000)]
* config/tc-sh.c (md_convert_frag): Improve warning when branch is
converted into branch around branch.
PR 11103.
Peter Schauer [Fri, 22 Nov 1996 18:16:24 +0000 (18:16 +0000)]
* gdb.base/a1-selftest.exp (do_steps_and_nexts): Reinitialize source
directory to search gdb directory. Accept and step over conditional
stack alignment code. Consume $prompt in failure cases.
Reset timeout to $oldtimeout instead of some arbitrary value.
* gdb.base/nodebug.exp: Limit backtrace to 10 frames to avoid
timeout problems with infinite stack backtraces.
* gdb.base/ptype.exp (ptype struct link, union tu_link):
Accept function parameters for linkfunc member.
Peter Schauer [Fri, 22 Nov 1996 18:09:47 +0000 (18:09 +0000)]
* config/i386/nm-i386v4.h (LOSING_POLL): Define, needed for
Unixware 1.1.2.
Ian Lance Taylor [Fri, 22 Nov 1996 18:02:55 +0000 (18:02 +0000)]
minor sanitization tweaks
Ian Lance Taylor [Fri, 22 Nov 1996 16:39:17 +0000 (16:39 +0000)]
* sunos.c (struct sunos_link_hash_table): Add got_needed field.
(sunos_link_hash_table_create): Initialize got_needed.
(sunos_create_dynamic_sections): Only set .got section size if it
is not already set. Set got_needed.
(bfd_sunos_size_dynamic_sections): Check got_needed. Only set
sdynptr, and only handle dynamic sections, if dynamic sections are
needed.
(sunos_scan_std_relocs): Pass false to create_dynamic_sections.
Initialize .got section.
(sunos_scan_ext_relocs): Likewise.
(sunos_write_dynamic_symbol): Set up PLT entry even if this is not
a dynamic symbol.
(sunos_finish_dynamic_link): Check got_needed. Only set up
dynamic linking information if needed.
PR 11074.
Mark Alexander [Fri, 22 Nov 1996 04:50:46 +0000 (04:50 +0000)]
* mips-tdep.c: Replace hard-coded constants with MIPS_INSTLEN.
(common_breakpoint): Use paddr instead of %x to print 64-bit values.
(heuristic_proc_desc): Add tests for 64-bit instructions.
(init_extra_frame_info, mips_push_arguments): Recognize additional
registers for EABI.
* remote-mips.c: Extend DDB target to allow TFTP downloads.
* config/mips/tm-mips.h (MIPS_LAST_ARG_REGNUM, MIPS_NUM_ARG_REGS):
Define.
Geoffrey Noer [Fri, 22 Nov 1996 00:59:24 +0000 (00:59 +0000)]
Added findutils, less, ncurses to top level .Sanitize
Geoffrey Noer [Fri, 22 Nov 1996 00:22:19 +0000 (00:22 +0000)]
Thu Nov 21 16:19:44 1996 Geoffrey Noer <noer@cygnus.com>
* Makefile.in: add findutils
* configure.in: add findutils to list of host_tools
Rob Savoye [Thu, 21 Nov 1996 19:04:56 +0000 (19:04 +0000)]
* config.bfd: Added VersaDOS format to the Ericsson configuration.
Martin Hunt [Thu, 21 Nov 1996 19:01:14 +0000 (19:01 +0000)]
Removed d10v.h.
Jeff Law [Thu, 21 Nov 1996 18:58:26 +0000 (18:58 +0000)]
* config/tc-mn10300.h (DIFF_EXPR_OK): Don't define this.
(tc_fix_adjustable): Don't adjust relocs against weak symbols or
pc-relative relocs.
* config/tc-mn10300.c (md_begin): Set linkrelax.
(md_assemble): Create fixups as needed.
(md_apply_fix3): Gut. It shouldn't ever get called anymore.
First stab at fixups/relocs.
Jeff Law [Thu, 21 Nov 1996 18:51:56 +0000 (18:51 +0000)]
* gas/all/gas.exp: xfail a couple tests for the mn10300.
For now...
Fred Fish [Thu, 21 Nov 1996 17:29:43 +0000 (17:29 +0000)]
* lib/gdb.exp (CFLAGS): Remove, unreferenced.
(CXXFLAGS): Remove, unreferenced.
(B_OPTIONS): Add for -B options and add code to initialize with previous
-B options and also add -B option to pick up cross compiled runtime.
(TARGET_INCLUDES): Add for -I options and add code to initialize when
doing cross compiles.
(target_alias): Declare global.
(xgcc): Set variable to full path of gcc in build tree. Use findfile
to verify that gcc exists in build tree, and if so set CC to that
gcc and to use B_OPTIONS and TARGET_INCLUDES.
Martin Hunt [Thu, 21 Nov 1996 03:20:03 +0000 (03:20 +0000)]
Wed Nov 20 19:09:16 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* tm-d10v.h (REGISTER_VIRTUAL_SIZE): Modified.
(REGISTER_VIRTUAL_TYPE): Modified for PC_REGNUM and SP_REGNUM.
(REGISTER_CONVERTIBLE): Make PC and SP convertible.
(REGISTER_CONVERT_TO_VIRTUAL): Define.
(REGISTER_CONVERT_TO_RAW): Define.
(D10V_MAKE_DADDR): Define.
(D10V_MAKE_IADDR): Define.
Martin Hunt [Thu, 21 Nov 1996 03:19:37 +0000 (03:19 +0000)]
Wed Nov 20 19:09:16 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* infcmd.c (do_registers_info): Call val_print with the
virtual buf instead of the raw buf. Needed for REGISTER_CONVERT
to work with non-floating point regs.
start-sanitize-d10v
* d10v-tdep.c (d10v_skip_prologue): If we have line debugging
information, then the end of the prologue should the first
assembly instruction of the first source line.
* values.c (value_from_longest): Put in D10V call to
fix up address pointers.
* config/d10v/tm-d10v.h (REGISTER_VIRTUAL_SIZE): Modified.
(REGISTER_VIRTUAL_TYPE): Modified for PC_REGNUM and SP_REGNUM.
(REGISTER_CONVERTIBLE): Make PC and SP convertible.
(REGISTER_CONVERT_TO_VIRTUAL): Define.
(REGISTER_CONVERT_TO_RAW): Define.
(D10V_MAKE_DADDR): Define.
(D10V_MAKE_IADDR): Define.
end-sanitize-d10v
Michael Meissner [Thu, 21 Nov 1996 00:44:48 +0000 (00:44 +0000)]
Make address in I/O space a bus error; properly cast calloc
Geoffrey Noer [Thu, 21 Nov 1996 00:17:54 +0000 (00:17 +0000)]
Wed Nov 20 16:15:15 1996 Geoffrey Noer <noer@cygnus.com>
* config/i386/cygwin32.mh: add MMALLOC_CFLAGS = -I$(MMALLOC_SRC)
-DMMCHECK_FORCE=1 so memory checks are loaded for cygwin32 gdb
Jeff Law [Wed, 20 Nov 1996 23:31:13 +0000 (23:31 +0000)]
* elf32-mn10300.c: Rough cut at relocs for the mn10300.
David Edelsohn [Wed, 20 Nov 1996 21:06:21 +0000 (21:06 +0000)]
* run.c: Deleted, using one in ../common now.
Stan Shebs [Wed, 20 Nov 1996 20:51:12 +0000 (20:51 +0000)]
Fix a sanitization booboo
Jeff Law [Wed, 20 Nov 1996 18:39:48 +0000 (18:39 +0000)]
* mn10300-dis.c (disassemble): Handle register lists.
More disassembler stuff.