David Edelsohn [Thu, 5 Dec 1996 22:26:44 +0000 (22:26 +0000)]
* tm-sparclet.h (TM_PRINT_INSN_MACH): Redefine for sparclet.
David Edelsohn [Thu, 5 Dec 1996 22:09:15 +0000 (22:09 +0000)]
* config/sparc/tm-sparclet.h (TARGET_BYTE_ORDER): Undef.
(TARGET_BYTE_ORDER_SELECTABLE): Define.
(BREAKPOINT): Undef.
({BIG,LITTLE}_BREAKPOINT): Define.
David Edelsohn [Thu, 5 Dec 1996 22:04:46 +0000 (22:04 +0000)]
* config/h8300/h8300.mt (SIM): Change to ../sim/h8300/libsim.a.
* config/h8500/h8500.mt (SIM): Change to ../sim/h8500/libsim.a.
Entries missing from Nov. 20 change.
J.T. Conklin [Thu, 5 Dec 1996 20:12:47 +0000 (20:12 +0000)]
* m68k-dis.c (print_insn_arg): Handle new < and > operand
specifiers.
* m68k-opc.c (m68k_opcodes): Simplify table by using < and >
operand specifiers in fmovm* instructions.
Ian Lance Taylor [Thu, 5 Dec 1996 18:47:22 +0000 (18:47 +0000)]
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
use hold_rel unless SEC_ALLOC is set for the reloc section.
(gld${EMULATION_NAME}_place_section): Only set hold_rel if
SEC_ALLOC is set.
PR 11174.
Ian Lance Taylor [Thu, 5 Dec 1996 18:47:03 +0000 (18:47 +0000)]
* elflink.h (elf_link_add_object_symbols): Calling check_relocs
even if SEC_ALLOC is not set.
* elf32-i386.c (elf_i386_check_relocs): Don't check SEC_ALLOC
when deciding whether to copy a reloc into a shared object.
(elf_i386_relocate_section): Likewise.
* elf32-sparc.c (elf32_sparc_check_relocs): Likewise.
(elf32_sparc_relocate_section): Likewise.
* elf32-i386.c (elf_i386_check_relocs): Don't set SEC_ALLOC in a
reloc section if it is not set in the source section.
* elf32-sparc.c (elf32_sparc_check_relocs): Likewise.
* elf.c (bfd_section_from_shdr): Mark a reloc section associated
with a SEC_DEBUGGING section as SEC_DEBUGGING.
PR 11174.
Ian Lance Taylor [Thu, 5 Dec 1996 16:06:14 +0000 (16:06 +0000)]
* write.c (fixup_segment): Don't discard the symbol for a PC
relative fixup to an absolute symbol.
PR 11204.
Geoffrey Noer [Thu, 5 Dec 1996 00:55:29 +0000 (00:55 +0000)]
Wed Dec 4 16:53:05 1996 Geoffrey Noer <noer@cygnus.com>
* configure.in: don't avoid building gdb for mn10300 any more
* Makefile.in: double-quote GCC_FOR_TARGET line in EXTRA_GCC_FLAGS
instead of single-quoting it.
Geoffrey Noer [Thu, 5 Dec 1996 00:37:33 +0000 (00:37 +0000)]
fixed sanitize files
Geoffrey Noer [Thu, 5 Dec 1996 00:36:45 +0000 (00:36 +0000)]
Wed Dec 4 16:34:05 1996 Geoffrey Noer <noer@cygnus.com>
* config/mn10300/mn10300.mt
* config/mn10300/tm-mn10300.h: new config files for mn10300
processor
Martin Hunt [Wed, 4 Dec 1996 23:47:30 +0000 (23:47 +0000)]
Wed Dec 4 15:42:41 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* tc-d10v.c (md_assemble, d10v_cleanup): Fix bug
with multiple sections.
Martin Hunt [Wed, 4 Dec 1996 23:47:16 +0000 (23:47 +0000)]
Wed Dec 4 15:42:41 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* config/tc-d10v.c (md_assemble, d10v_cleanup): Fix bug
with multiple sections.
Michael Meissner [Wed, 4 Dec 1996 21:12:01 +0000 (21:12 +0000)]
Update .Sanitize files
Ian Lance Taylor [Wed, 4 Dec 1996 19:53:09 +0000 (19:53 +0000)]
* ppc-opc.c (insert_li): Give an error if the offset has the two
least significant bits set.
PR 11201.
Michael Meissner [Wed, 4 Dec 1996 19:19:15 +0000 (19:19 +0000)]
#if 0 some code that is not used yet
Jeff Law [Wed, 4 Dec 1996 18:02:00 +0000 (18:02 +0000)]
* simops.c: "add imm,sp" does not effect the condition codes.
"inc dn" does effect the condition codes.
Just something I noticed.
Ian Lance Taylor [Wed, 4 Dec 1996 18:01:48 +0000 (18:01 +0000)]
* config/tc-mips.c (md_longopts): Rename mips-16 to mips16, and
no-mips-16 to no-mips16.
(s_mipsset): Accept .set mips16 and .set nomips16.
Michael Meissner [Wed, 4 Dec 1996 15:42:14 +0000 (15:42 +0000)]
Allow foo@suffix+constant relocations
Jason Merrill [Wed, 4 Dec 1996 13:10:04 +0000 (13:10 +0000)]
* configure.in: Don't use --with-stabs on IRIX 6.
Jeff Law [Wed, 4 Dec 1996 05:00:49 +0000 (05:00 +0000)]
* simops.c: Treat both operands as signed values for
"div" instruction.
Fixes another dozen c-torture execution failures.
Michael Meissner [Wed, 4 Dec 1996 04:26:04 +0000 (04:26 +0000)]
Add -m{,no-}solaris support to enable/disable solaris comments & setting ppc flags
Rob Savoye [Wed, 4 Dec 1996 00:56:56 +0000 (00:56 +0000)]
* configure.in: Look for libtermcap.a.
* Makefile.in: Only link in -ltermcap if it exists.
* erc32.c: Update to version 2.6a. Fix uart handling.
* exec.c: Update to version 2.6a. Add sparclite support.
* float.c: Update to version 2.6a. Convert comments to
preprocessor warnings. Add __setfpucw() for i385 hosts so floating
point exceptions work.
* func.c: Update to version 2.6a. Fix uart handling, add support
for user error traps.
* help.c: Update to version 2.6a. Add help note on user error
traps.
* interf.c: Update to version 2.6a. Fix uart handling, and add
sparclite support.
* examples/gccx: Use sparclite cross compiler, not native gcc.
* examples/srt0.S: Use "mov" rather than "wr" for manipulating
the psr register.
Jeff Law [Wed, 4 Dec 1996 00:42:01 +0000 (00:42 +0000)]
* simops.c: Fix simulation of division instructions.
Fix typos/thinkos in several "cmp" and "sub" instructions.
Another couple dozen c-torture failures fixed.
Michael Snyder [Tue, 3 Dec 1996 19:44:51 +0000 (19:44 +0000)]
Tue Dec 3 11:38:14 1996 Michael Snyder <msnyder@cleaver.cygnus.com>
* blockframe.c: add macro USE_GENERIC_DUMMY_FRAMES to enable/disable
code for generic call_dummy frames.
* config/h8300/tm-h8300.h: turn on USE_GENERIC_DUMMY_FRAMES
* config/m32r/tm-m32r.h: turn on USE_GENERIC_DUMMY_FRAMES
* config/sh/tm-sh.h: turn on USE_GENERIC_DUMMY_FRAMES
* config/v850/tm-v850.h: turn on USE_GENERIC_DUMMY_FRAMES
David Edelsohn [Tue, 3 Dec 1996 17:15:36 +0000 (17:15 +0000)]
* configure.in (m32r): Build gdb, libg++ now.
Brendan Kehoe [Mon, 2 Dec 1996 22:29:55 +0000 (22:29 +0000)]
fix sanitize typo
Jeff Law [Mon, 2 Dec 1996 20:12:08 +0000 (20:12 +0000)]
* simomps.c: Fix carry bit handling in "sub" and "cmp"
instructions.
Another dozen execution failures fixed.
Jeff Law [Mon, 2 Dec 1996 19:35:55 +0000 (19:35 +0000)]
* simops.c: Fix "mov imm8,an" and "mov imm16,dn".
Fixes 80 or so c-torture execution failures. 400 to go.
Ian Lance Taylor [Mon, 2 Dec 1996 18:18:33 +0000 (18:18 +0000)]
* cofflink.c (_bfd_coff_generic_relocate_section): Print an error
message for bfd_reloc_outofrange, rather than aborting. From
Philippe De Muyter <phdm@info.ucl.ac.be>.
Ian Lance Taylor [Mon, 2 Dec 1996 17:30:09 +0000 (17:30 +0000)]
comment fix
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 '%'.