Ian Lance Taylor [Tue, 31 Dec 1996 18:03:09 +0000 (18:03 +0000)]
* config/tc-sparc.c (md_apply_fix3): Rename from md_apply_fix, and
add segment argument. If OBJ_ELF, treat a relocation against a
symbol in a linkonce section like a relocation against an external
symbol.
* config/tc-sparc.h (MD_APPLY_FIX3): Define.
Mark Alexander [Tue, 31 Dec 1996 15:02:30 +0000 (15:02 +0000)]
* config/mips/tm-mips.h: Undefine BREAKPOINT, replace
with separate LITTLE_BREAKPOINT and BIG_BREAKPOINT definitions;
this fixes problem with setting breakpoints in little-endian
programs in the simulator.
Mark Alexander [Tue, 31 Dec 1996 15:01:12 +0000 (15:01 +0000)]
* config/i386/xm-windows.h: Undo previous change to SIGTRAP
and SIGQUIT values; it messed up non-MIPS targets.
* config/mips/tm-mips.h: Undefine BREAKPOINT, replace
with separate LITTLE_BREAKPOINT and BIG_BREAKPOINT definitions;
this fixes problem with setting breakpoints in little-endian
programs in the simulator.
Ian Lance Taylor [Mon, 30 Dec 1996 23:50:56 +0000 (23:50 +0000)]
* xcofflink.c (xcoff_build_ldsyms): When exporting all defined
symbols, don't export a symbol which is defined by an object in an
archive which contains shared objects.
PR 11379.
Ian Lance Taylor [Mon, 30 Dec 1996 22:37:30 +0000 (22:37 +0000)]
* interp.c (store_word, load_word): New static functions.
(mips16_entry): New static function.
(SignalException): Look for mips16 entry and exit instructions.
(simulate): Use the correct index when setting fpr_state after
doing a pending move.
David Edelsohn [Mon, 30 Dec 1996 08:34:35 +0000 (08:34 +0000)]
* remote-sim.c (gdbsim_open_p): New static local.
(gdbsim_open): Call unpush_target if sim open. Set gdbsim_open_p.
(gdbsim_close): Only call sim_close if sim open. Reset gdbsim_open_p.
Fred Fish [Sun, 29 Dec 1996 18:01:29 +0000 (18:01 +0000)]
* Makefile.in (ALL_MACHINES): Add tic80-dis.o and tic80-opc.o.
* disassemble.c (ARCH_tic80): Define if ARCH_all is defined.
(disassembler): Add bfd_arch_tic80 support to set disassemble
to print_insn_tic80.
* tic80-dis.c (print_insn_tic80): Add stub.
Fred Fish [Sat, 28 Dec 1996 22:33:53 +0000 (22:33 +0000)]
* Makefile.in (mm.o): New target that combines all the functions
into a single object module. This avoids client programs picking
up part of the allocation routines from mmalloc and part from libc,
which can lead to undefined behavior.
(CFILES): Add mm.c
(TARGETOBJS): Define to be either the individual objects or the
single combined object.
(TARGETLIB): Create the archive using TARGETOBJS.
* mm.c: New file that simply #includes the other source C files.
Fred Fish [Sat, 28 Dec 1996 05:59:26 +0000 (05:59 +0000)]
* NOTES.config (Implementation): as.h #define's "GAS" not "gas",
includes config.h instead of host.h, tc.h instead of tp.h, and
targ-env.h instead of target-environment.h.
Also, obj-format.h includes targ-cpu.h instead of
target-processor.h.
start-sanitize-tic80
(Laying groundwork, that will be incrementally fleshed out,
for TIc80 support)
* configure.in (case ${generic_target}): Add tic80-*-coff entry.
* configure: Rebuild with autoconf.
* config/obj-coff.h (coff/tic80.h): Include if TC_TIC80 defined.
(TARGET_FORMAT): Define to "coff-tic80".
* config/tc-tic80.c: New file for TIc80 support.
* config/tc-tic80.h: New file for TIc80 support.
end-sanitize-tic80
Fred Fish [Sat, 28 Dec 1996 04:09:34 +0000 (04:09 +0000)]
(Lay some groundwork for TIc80 port that will be filled in incrementally.)
* TODO: Correct a misspelling.
start-sanitize-tic80
* coff-tic80.c: New file for TI TMS320C80 (MVP).
* cpu-tic80.c: New file for TI TMS320C80 (MVP).
* configure.in (case $vec): Add tic80coff_vec entry.
* configure: Regenerate with autoconf.
* archures.c (bfd_tic80_arch): Declare.
* bfd-in2.h (enum bfd_architecture): Add bfd_arch_tic80.
* config.bfd (case ${targ}): Add tic80*-*-coff* target.
* targets.c (tic80coff_vec): Add decl as extern bfd_target.
(bfd_target_vector): Add tic80coff_vec entry.
end-sanitize-tic80
Mark Alexander [Fri, 27 Dec 1996 04:04:44 +0000 (04:04 +0000)]
* valprint.c (print_longest): Don't lose upper bits
of 64-bit values on Windows.
* config/i386/xm-windows.h: Leave CC_HAS_LONG_LONG defined,
undefine PRINTF_HAS_LONG_LONG, so that 64-bit values will
be printed without loss of upper bits.
Michael Snyder [Fri, 27 Dec 1996 00:03:41 +0000 (00:03 +0000)]
Thu Dec 26 15:56:09 1996 Michael Snyder <msnyder@cleaver.cygnus.com>
* sparclet-stub.c: a few clean-ups, removing dead code
* config/sparc/tm-sparclet.h: make registers ASR15, ASR19 invisible
(they're not useful, you can't change, write or even read them)
Michael Snyder [Thu, 26 Dec 1996 23:16:27 +0000 (23:16 +0000)]
Thu Dec 26 15:15:21 1996 Michael Snyder <msnyder@cleaver.cygnus.com>
* sparclet-rom.c: Remove includes of Unix system files.
Add function "sparclet_supply_register" so that parse_register_dump
will not seg-fault by calling a null function pointer.
Remove XMODEM support (unfinished work?).
Remove flag "MO_HANDLE_NL", so monitor's output can be read by humans.
Add fill command.
Remove colon from getreg.resp_delim so PSR register will work.
Remove pointer to sparclet_load (downloading SREC's doesn't work).
Null out local register names for %g0, all %cc and all %asr regs,
since the monitor can't report them. Will return zero instead.
* sparclet-stub.c: New -- remote protocol support for sparclet CPU.
* config/sparc/tm-sparclet.h: Re-arrange REGISTER_NAMES:
Add back %g0 and %psr, add %cc coprocessor regs, add %asr regs.
Adjust NUM_REGS and REGISTER_BYTES accordingly
Jeff Law [Tue, 24 Dec 1996 17:34:41 +0000 (17:34 +0000)]
* remote-e7000.c (want_h8300h, want_nopc_h8300h): Renamed
from want and want_nopc.
(want_h8300s, want_nopc_h8300s): New variables for H8/S register
lists.
(e7000_fetch_registers): Use H8/300H or H8/S register list string
as needed.
(e7000_wait): Likewise.
Bringing over a change from hmse-h8s-beta branch.
Peter Schauer [Mon, 23 Dec 1996 10:30:51 +0000 (10:30 +0000)]
* mips-tdep.c (mips_find_saved_regs): If a frame has been
interrupted by a signal, figure out whether the registers that
the proc_desc claims are saved have been saved yet.
(mips_push_dummy_frame): Write dummy frame register after all
registers have been saved in the dummy frame. Update comments
to reflect the fact that we are now using an AT_ENTRY_POINT
call dummy.
Peter Schauer [Sat, 21 Dec 1996 21:01:01 +0000 (21:01 +0000)]
* config/mips/tm-mips.h (PC_IN_CALL_DUMMY): Removed, the default
definition in inferior.h is sufficient.
* mips-tdep.c (mips_pc_in_call_dummy): Ditto.
(mips_push_arguments): Make sure that the stack is aligned to a
multiple of 8 after the arguments are pushed.
Structures are always passed by value in the old ABI.
Adjust argument register value on big endian targets when passing
a value whose length is less than the register size.
Write stack arguments with a single write_memory call.
(mips_pop_frame): Use frame_saved_regs instead of proc_desc to
decide which registers have to be restored.
Stan Shebs [Thu, 19 Dec 1996 19:17:01 +0000 (19:17 +0000)]
* mpw-build.in: Build ld before gcc, use NewFolderRecursive.
* mpw-config.in: Test for NewFolderRecursive.
* mpw-install: Use symbolic name for startup filename.
* mpw-README: Add various additional details.
PR 10971
Ian Lance Taylor [Thu, 19 Dec 1996 19:08:46 +0000 (19:08 +0000)]
* gencode.c (build_instruction) [MUL]: Cast operands to word64, to
force a 64 bit multiplication.
(build_instruction) [OR]: In mips16 mode, don't do anything if the
destination register is 0, since that is the default mips16 nop
instruction.
Mark Alexander [Thu, 19 Dec 1996 17:45:57 +0000 (17:45 +0000)]
* values.c (unpack_double): Make it compile with MSVC++ 2.x.
* remote-mips.c (S_IROTH): Define if not defined by stat.h, e.g.
when using MSVC++.
(common_open): Fix help string.
Ian Lance Taylor [Thu, 19 Dec 1996 17:07:14 +0000 (17:07 +0000)]
* write.c (adjust_reloc_syms): If the fixup symbol has been
equated to an undefined symbol, convert the fixup to being against
the target symbol. Remove obsolete code handling a special case
for i386 PIC.
Jeff Law [Wed, 18 Dec 1996 17:14:10 +0000 (17:14 +0000)]
* config/tc-mn10200.c (mn10200_insert_operand): Don't
range check operands with MN10200_OPERAND_NOCHECK set.
(check_operand): Likewise.
So the assembler won't check on "and -1,dn".
Ian Lance Taylor [Wed, 18 Dec 1996 01:01:56 +0000 (01:01 +0000)]
* config/tc-mips.c: Undo part of last Friday's alignment changes.
(md_begin): Always align the text section to a four byte
boundary.
(append_insn): Remove call to record_align.
Ian Lance Taylor [Tue, 17 Dec 1996 20:58:57 +0000 (20:58 +0000)]
* config/tc-mips.c (insn_label): Remove.
(struct insn_label_list): Define.
(insn_labels, free_insn_labels): New static variables.
(mips_clear_insn_labels): New static function.
(append_insn): Mark all mips16 text labels, and make them odd.
Handle all labels after emitting a nop, not just one. Call
mips_clear_insn_labels rather than just clearing insn_label.
(mips_emit_delays): Add insns parameter, and use it to decide
whether to mark mips16 labels. Handle all labels, not just one.
Force mips16 labels to be odd. Change all callers.
(mips16_immed): Don't check for an odd branch target.
(md_apply_fix): Don't check mips16 mode for a branch reloc.
(mips16_extended_frag): Ignore the low bit in a branch target.
(md_convert_frag): Likewise.
(mips_no_prev_insn): Call mips_clear_insn_labels rather than just
clearing insn_label.
(mips_align, mips_flush_pending_output, s_cons): Likewise.
(s_float_cons, s_gpword): Likewise.
(s_align): Use insn_labels rather than insn_label.
(s_cons, s_float_cons, s_gpword): Likewise.
(mips_frob_file_after_relocs): New function.
(mips_define_label): Rewrite to add to insn_labels list.
* config/tc-mips.h (tc_frob_file_after_relocs): Define.
* ecoff.c (ecoff_build_symbols): If the size of a function comes
out odd, increment it.
Ian Lance Taylor [Tue, 17 Dec 1996 18:58:59 +0000 (18:58 +0000)]
* elf32-mips.c (mips_elf_add_symbol_hook): Add 1 to the value of a
mips16 symbol during the link.
(mips_elf_finish_dynamic_symbol): Subtract 1 from the value of a
mips16 symbol.
(mips_elf_link_output_symbol_hook): New static function.
(elf_backend_link_output_symbol_hook): Define.
Ian Lance Taylor [Mon, 16 Dec 1996 21:47:23 +0000 (21:47 +0000)]
* gencode.c (MIPS16_DECODE): SWRASP is I8, not RI.
(build_endian_shift): Don't check proc64.
(build_instruction): Always set memval to uword64. Cast op2 to
uword64 when shifting it left in memory instructions. Always use
the same code for stores--don't special case proc64.
Ian Lance Taylor [Mon, 16 Dec 1996 20:01:15 +0000 (20:01 +0000)]
* gencode.c (build_mips16_operands): Fix base PC value for PC
relative operands.
(build_instruction): Call JALDELAYSLOT rather than DELAYSLOT for a
jal instruction.
* interp.c (simJALDELAYSLOT): Define.
(JALDELAYSLOT): Define.
(INDELAYSLOT, INJALDELAYSLOT): Define.
(simulate): Clear simJALDELAYSLOT when simDELAYSLOT is cleared.
Ian Lance Taylor [Mon, 16 Dec 1996 19:39:39 +0000 (19:39 +0000)]
* elf.c (bfd_section_from_shdr): Don't check for reloc sections
against SEC_DEBUGGING sections here (revert patch of December 5).
* elfcode.h (elf_object_p): Check for them here, instead.