Fri Jun 5 23:47:55 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* i386-dis.c: Combine aflag and dflag into sizeflag. Change OP_*
functions to void.
(OP_DSreg): Rename from OP_DSSI.
(OP_ESreg): Rename from OP_ESDI.
(Xb, Xv, Yb, Yv): Use index reg code, not b_mode or v_mode.
(DSBX): Define.
(append_seg): Rename from append_prefix.
(ptr_reg): New function.
(dis386): Add S suffix to pushf, popf, ret, lret, enter, leave.
Add DSBX for xlat.
(PREFIX_ADDR): Rename from PREFIX_ADR.
(float_reg): Add non-broken opcodes for people who don't want
UNIXWARE_COMPAT.
Fri Jun 5 23:42:43 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* i386.h (i386_regtab): Remove BaseIndex modifier from esp.
* i386.h: Allow `l' suffix on fld, fst, fstp, fcom, fcomp with
register operands, because this is a common idiom. Flag them with
a warning. Allow illegal faddp, fsubp, fsubrp, fmulp, fdivp,
fdivrp because gcc erroneously generates them. Also flag with a
warning.
* i386.h: Add suffix modifiers to most insns, and tighter operand
checks in some cases. Fix a number of UnixWare compatibility
issues with float insns. Merge some floating point opcodes, using
new FloatMF modifier.
(WORD_PREFIX_OPCODE): Rename to DATA_PREFIX_OPCODE for
consistency.
* i386.h: Change occurence of ShortformW to W|ShortForm. Add
IgnoreDataSize where appropriate.
* config/tc-i386.c (md_assemble): Rewrite MATCH and
CONSISTENT_REGISTER_MATCH macros to check register types more
thoroughly. Check for illegal suffix/operand combinations
when matching insns with operands. Handle new `s' suffix, and
associated FloatMF opcode modifier for float insns with memory
operands.
* config/tc-i386.h (FloatMF): Define new opcode modifier.
(No_sSuf, No_bSuf, No_wSuf, No_lSuf): Likewise.
(SHORT_OPCODE_SUFFIX, LONG_OPCODE_SUFFIX): Define.
* config/tc-i386.c: Rename WORD_PREFIX_OPCODE to
DATA_PREFIX_OPCODE throughout.
* config/tc-i386.c (REGISTER_WARNINGS): Define.
(md_assemble): Rewrite suffix/register operand checking code to be
more thorough. Remove Abs8,16,32. Change occurrences of Mem to
AnyMem, the better to grep.
(pi): Remove Abs.
(i386_operand): Don't set Mem bits in i.types[this_operand] when
given a memory operand. Don't set Abs bits either.
(type_names): Remove Mem*, Abs*.
* config/tc-i386.h (Mem8, Mem16, Mem32, Abs8, Abs16, Abs32): Don't
define opcode_modifiers as these cases are handled by Disp8,
Disp16, Disp32 and suffix checks.
(COMES_IN_BOTH_DIRECTIONS): Remove.
(FloatR): Define. It's OK to share the bit with ReverseRegRegmem.
* config/tc-i386.c (md_assemble): Don't emit operand size prefix
if IgnoreDataSize modifier given. Remove ShortformW modifier
test. Add test for ShortForm in W base_opcode modification.
Merge Seg2ShortForm and Seg3ShortForm code.
* config/tc-i386.h (ShortFormW): Remove.
(IgnoreDataSize): Define.
Fri Jun 5 19:15:59 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* gas/m68k/operands.s: For all pc relative addresses change tstl
to pea since the former does not allow pcrel on m68000. Do not
make label foo global, so that references to it can be relaxed on
ELF targets.
* gas/m68k/operands.d, gas/m68k/op68000.d: Updated.
Stan Shebs [Fri, 5 Jun 1998 01:38:26 +0000 (01:38 +0000)]
* remote.c (init_extended_remote_ops): Make extended_remote_ops
by copying from remote_ops, move it and init_remote_ops to
usual place at end of file, remove "void" from arg lists.
Mark Alexander [Fri, 5 Jun 1998 00:57:00 +0000 (00:57 +0000)]
* sparc-tdep.c (sparc_fix_call_dummy): Byte-swap the call dummy
on bi-endian machines.
(sparc_extract_return_value): Handle values smaller than int on
machines with little-endian data.
(sparc_target_architecture_hook): Set bi_endian flag.
Elena Zannoni [Thu, 4 Jun 1998 18:10:21 +0000 (18:10 +0000)]
Thu Jun 4 10:15:03 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* gdbtk.c: merged:
- Elena Zannoni <ezannoni@kwikemart.cygnus.com>
(call_obj_wrapper): in case of error, copy the
error message from the result to the error_string.
(gdbtk_fputs): add comments.
(gdb_actions_command): call validate_actionline when installing the
tracepoint, to do the syntax checking of the actions for us.
- Elena Zannoni <ezannoni@kwikemart.cygnus.com>
(gdb_get_trace_frame_num): new function to get the
trace frame number from gdb.
(gdbtk_init): added new command gdb_get_trace_frame_num.
- Jim Blandy <jimb@zwingli.cygnus.com>
(struct wrapped_call_objs): Change the `func' member to
be a Tcl_ObjCmdProc, not an Tcl_CmdProc, since it accepts a vector
of objects as arguments. Change the object vector to be const,
since that's what all the users of this structure seem to expect.
(call_obj_wrapper): Cast clientData properly before storing it in
the wrapped_args structure.
Elena Zannoni [Thu, 4 Jun 1998 18:07:32 +0000 (18:07 +0000)]
Thu Jun 4 10:15:03 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* remote.c: merged.
- Jim Blandy <jimb@zwingli.cygnus.com>
(print_packet, remote_packet_command): New functions.
(_initialize_remote): Register the remote-packet command.
- David Taylor <taylor@texas.cygnus.com>
(_initialize_remote): remote-compare is now
compare-sections.
- Elena Zannoni <ezannoni@kwikemart.cygnus.com>
(remote_compare_command): added warning, issued in case
of mismatch only.
Michael Snyder [Thu, 4 Jun 1998 15:29:58 +0000 (15:29 +0000)]
Thu Jun 4 08:25:38 1998 Michael Snyder <msnyder@cleaver.cygnus.com>
* remote.c (remote_compare_command): New function, new command.
Compare object file binary image with corresponding memory on
remote target. Report differences.
* Early check-in of tx3904 timer sim implementation for ECC.
It is not yet properly tested.
Thu Jun 4 15:37:33 1998 Frank Ch. Eigler <fche@cygnus.com>
* dv-tx3904tmr.c: New file - implements tx3904 timer.
* dv-tx3904{irc,cpu}.c: Mild reformatting.
* configure.in: Include tx3904tmr in hw_device list.
* configure: Rebuilt.
* interp.c (sim_open): Instantiate three timer instances.
Fix address typo of tx3904irc instance.
Andrew Cagney [Thu, 4 Jun 1998 08:46:56 +0000 (08:46 +0000)]
The r5900 doesn't have HI/LO DIV/MUL register problems. Hobble
checks on hi/lo usage but retain functions so that they can be used
for HI/LO stall counting code.
Andrew Cagney [Thu, 4 Jun 1998 06:33:02 +0000 (06:33 +0000)]
Memory corruption problems - hw-event list wasn't correct
unlinking/freeing events. Couldn't handle the removal of a hw-event
that just been scheduled.
Wed Jun 3 18:21:56 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* config/tc-i386.c (END_STRING_AND_SAVE): Protect arguments of
macros and enclose in do while(0).
(RESTORE_END_STRING): Likewise.
(md_assemble): Add one to printed operand number so we start
from 1 not 0. Add some more gettext invocations.
(i386_operand): Fix `%%s' -> `%%%s'. Inc printed operand
number here too.
* config/tc-i386.h (WAIT_PREFIX, LOCKREP_PREFIX, ADDR_PREFIX,
DATA_PREFIX, SEG_PREFIX): Define.
* config/tc-i386.c (struct _i386_insn): Remove wait_prefix field.
(check_prefix): Remove function.
(add_prefix): New function. Add prefix to i.prefix as well as
doing checks.
(md_assemble): Changes for add_prefix. Remove hack for wait
prefix, instead always output prefixes in fixed order. Test
for jcxz/loop when selecting between word & dword operations,
and add address size prefix rather than operand size prefix.
Remove operand -> address size hack when emitting jcxz/loop.
(i386_operand): Remove O_Absent check as it's done in expr.
Doug Evans [Wed, 3 Jun 1998 19:15:56 +0000 (19:15 +0000)]
* mips.h (Elf32_Dvp_Internal_Overlay,Elf32_Dvp_External_Overlay):
Rename from 64 bit versions, update members to be 32 bits.
(bfd_dvp_elf32_swap_overlay_in,bfd_dvp_elf32_swap_overlay_out):
Rename from 64 bit versions.
Mark Alexander [Tue, 2 Jun 1998 22:43:46 +0000 (22:43 +0000)]
* interf.c (sim_open): Use revamped memory_read, which makes
byte-swapping unnecessary. Add -sparclite-board option for
emulating RAM found on typical SPARClite boards. Print
error message for unrecognized option.
* erc32.c: Change RAM address and size from constants to variables,
to allow emulation of SPARClite board RAM.
(fetch_bytes, store_bytes): New helper functions for revamped
mememory_read and memory_write.
(memory_read, memory_write): Rewrite to store bytes in target
byte order instead of storing words in host byte order; this
greatly simplifies support of little-endian programs.
(get_mem_ptr): Remove unnecessary byte parameter.
(sis_memory_write, sis_memory_read): Store words in target
byte order instead of host byte order.
(byte_swap_words): Remove, no longer needed.
* sis.h ((byte_swap_words): Remove declaration, no longer needed.
(memory_read): Add new sz parameter.
* sis.c (run_sim): Use revamped memory_read, which makes
byte-swapping unnecessary.
* exec.c (dispatch_instruction): Use revamped memory_read, which
makes byte-swapping and double-word fetching unnecessary.
* func.c (sparclite_board): Declare new variable.
(get_regi): Handle little-endian data.
(bfd_load): Recognize little-endian SPARClite as having
little-endian data.
* elflink.h (elf_merge_symbol): Don't always set type_change_ok
and size_change_ok.
(elf_link_add_object_symbols): Set type_change_ok and
size_change_ok before calling elf_merge_symbol.
From Matt Semersky <matts@scd.hp.com>:
* macro.c (macro_mri_mode): New function.
* macro.h (macro_mri_mode): Declare.
* read.c (s_mri): Call macro_mri_mode when switching in and out of
MRI mode.
Tue Jun 2 15:06:46 1998 Geoff Keating <geoffk@ozemail.com.au>
* ppc-opc.c (powerpc_macros): Support shifts and rotates of size
0; produce error message for shifts of size 32 (or 64 for 64-bit
shifts), because the hardware doesn't support them.
Tue Jun 2 13:51:00 1998 Geoff Keating <geoffk@ozemail.com.au>
* elf32-ppc.c (ppc_elf_relocate_section): The target of an
R_PPC_LOCAL24PC relocation should be local; if not, print an error
message instead of crashing.
Tue Jun 2 13:11:13 1998 Pat Rankin <rankin@eql.caltech.edu>
* config/tc-vax.c (md_create_short_jump): Fix off by two bug in
offset calculation. Also, use VAX_BRW from vax-inst.h instead
of hardcoded magic number.
(md_create_long_jump): Use VAX_JMP and VAX_ABSOLUTE_MODE macros.
Mark Alexander [Tue, 2 Jun 1998 09:19:54 +0000 (09:19 +0000)]
* sparc-tdep.c (sparc_target_architecture_hook): New function to
set endianness based on machine type.
(_initialize_sparc_tdep): Initialize target_architecture_hook.
(sparc_print_register_hook): Print PSR and FPSR in fancy format
on 32-bit machines.
* config/sparc/tm-sparc.h (PRINT_REGISTER_HOOK): Redefine to
call sparc_print_register_hook instead of using inline code.
* config/sparc/tm-sp64.h (PRINT_REGISTER_HOOK): Remove.
Jason Molenda [Tue, 2 Jun 1998 00:18:31 +0000 (00:18 +0000)]
Mon Jun 1 17:14:19 1998 Anthony Thompson (athompso@cambridge.arm.com)
* armos.c (ARMul_OSHandleSWI::SWI_Open): Handle special case
of ":tt" to catch stdin in addition to stdout.
(ARMul_OSHandleSWI::SWI_Seek): Return 0 or 1 to indicate failure
or success of lseek().
From PR 15839, modified a bit by me to appease my sense of style--but
not too much because I am lazy.
Mon Jun 1 18:23:12 1998 Yuli Barcohen <yuli.barcohen@telrad.co.il>
* archures.c (bfd_mach_cpu32): Define.
(bfd_default_scan): Add case for 68060. Fix 68332 case to use
bfd_mach_cpu32.
* cpu-m68k.c (arch_info_struct): Add m68k:cpu32.
* ieee.c: Include <ctype.h>.
(ieee_object_p): Parse out process ID string to make it more
likely to be acceptable for bfd_scan_arch.
* bfd-in2.h: Rebuild.
Doug Evans [Mon, 1 Jun 1998 22:11:21 +0000 (22:11 +0000)]
* gas/all/gas.exp: Don't run `align' test for dvp-*-*.
* gas/macros/macros.exp: Don't run `semi' test for dvp-*-*.
* gas/dvp/align.[sd]: New testcase.
* gas/dvp/semi.[sd]: New testcase.
* Small TX39-only patch for ECC.
Mon Jun 1 18:18:26 1998 Frank Ch. Eigler <fche@cygnus.com>
* interp.c (decode_coproc): For TX39, add stub COP0 register #3,
to allay warnings.