Doug Evans [Thu, 11 Jun 1998 01:05:21 +0000 (01:05 +0000)]
* traps.c: New file. Trap support moved here from sim-if.c.
* Makefile.in (SIM_OBJS): Add traps.o
* sim-if.c: Don't include targ-vals.h.
(sim_engine_illegal_insn): Moved to traps.c
* sim-main.h (SIM_CORE_SIGNAL): Define.
(m32r_core_signal): Declare.
* devices.c (device_io_read_buffer): Handle cache purging via MCCR
register.
* m32r-sim.h (M32R_MISC_PROFILE): Move here from sim-main.h.
(PROFILE_COUNT_SHORTINSNS,PROFILE_COUNT_LONGINSNS): New macros.
(TRAP_SYSCALL,TRAP_BREAKPOINT): New macros.
Stu Grossman [Wed, 10 Jun 1998 23:29:59 +0000 (23:29 +0000)]
* c-exp.y: Fix problems with parsing "'foo.bar'::func". Some languages
allow symbols with dots.
* gdbtypes.c (check_stub_method): Cosmetic. Use more descriptive
names for parameters.
start-sanitize-java
* jv-exp.y: Parser now accepts primitive types.
* (parse_number): Use correct ifdef for scanf long double support.
* jv-lang.c (java_array_type): Initial cut at array support.
end-sanitize-java
* language.c language.h (set_language): Now returns previous language.
* symtab.c (find_methods): Make static. Cosmetic changes, including
indentation, and adding descriptive comments. Move local variable defs
into the block they are used in.
* Don't call check_stub_method any more. Use gdb_mangle_name to
generate the full method name. find_method doesn't need all the other
goobldegook that check_stub_method does.
* (gdb_mangle_name): Use more descriptive names for parameters. Fix
comment.
start-sanitize-java
* (lookup_partial_symbol lookup_block_symbol): Check for java to
ensure we can find mangled names.
end-sanitize-java
* (decode_line_1): Move local variable defs into the block they are
used in. (Improves code readability.)
Jason Molenda [Wed, 10 Jun 1998 21:09:45 +0000 (21:09 +0000)]
Wed Jun 10 14:06:05 1998 Jason Molenda (crash@bugshack.cygnus.com)
* configure.in: Add some tests for gnu-regex.c's benefit.
See if btowc() function is provided in C library.
* configure, config.in: Regenerated.
* Makefile.in (CLIBS, CDEPS): Add @LIBOBJS@ to build btowc.c
if necessary.
* btowc.c: New file.
* gnu-regex.c: Reorder wchar.h and wctype.h includes for Solaris'
benefit.
Drop namespace preserving defines for now.
Jason Molenda [Wed, 10 Jun 1998 21:08:38 +0000 (21:08 +0000)]
Wed Jun 10 14:06:05 1998 Jason Molenda (crash@bugshack.cygnus.com)
* configure.in: Add some tests for gnu-regex.c's benefit.
See if btowc() function is provided in C library.
* configure, config.in: Regenerated.
* Makefile.in (CLIBS, CDEPS): Add @LIBOBJS@ to build btowc.c
if necessary.
* btowc.c: New file.
* gnu-regex.c: Reorder wchar.h and wctype.h includes for Solaris'
benefit.
Drop namespace preserving defines for now.
Mods based on the modifications used in GNU grep 2.2 to make gnu-regex.c
compile on other OSes.
Joyce Janczyn [Wed, 10 Jun 1998 18:47:09 +0000 (18:47 +0000)]
Wed June 10 14:34:00 1998 Joyce Janczyn <janczyn@cygnus.com>
* dv-mn103int.c (external_group): Use enumerated types to access
correct group addresses.
* dv-mn103tim.c (do_counter_event): Underflow of cascaded timer
triggers an interrupt on the higher-numbered timer's port.
Michael Snyder [Wed, 10 Jun 1998 18:04:36 +0000 (18:04 +0000)]
Wed Jun 10 10:58:18 1998 Michael Snyder <msnyder@cleaver.cygnus.com>
*printcmd.c (disassemble_command): move overlay mapping code
"up" into find_pc_partial_function.
* blockframe.c (find_pc_partial_function): adjust start address
and end address for overlays (mapped vs. unmapped addresses),
so that all callers of this function may benefit.
* m32r-tdep.c (m32r_skip_prologue): adjust indentation.
Frank Ch. Eigler [Wed, 10 Jun 1998 17:56:19 +0000 (17:56 +0000)]
* SKY hardware interrupt tests.
Wed Jun 10 15:56:10 1998 Frank Ch. Eigler <fche@cygnus.com>
* sim/sky/t-int.c: New file to test sky hardware
interrupts.
* sim/sky/t-int-handler.s: New file for null interrupt
handler.
* sim/sky/t-int.brn: New file to build new test.
Doug Evans [Wed, 10 Jun 1998 17:56:18 +0000 (17:56 +0000)]
* sim/m32r/addx.cgs: Add another test.
* sim/m32r/jmp.cgs: Add another test.
* sim/m32r/bra8-2.cgs: New testcase.
* sim/m32r/hello.ms: Run on m32rx too.
Frank Ch. Eigler [Wed, 10 Jun 1998 17:07:10 +0000 (17:07 +0000)]
* Support for sky hardware interrupts. The sky-dma cannot trigger
interrupts properly yet (jlemke TODO).
Wed Jun 10 13:22:32 1998 Frank Ch. Eigler <fche@cygnus.com>
* interp.c (decode_coproc): For TX39, add stub COP0 register #7,
to allay warnings.
(interrupt_event): Made non-static.
start-sanitize-tx3904
* dv-tx3904tmr.c (deliver_tx3904tmr_tick): Correct accidental
interchange of configuration values for external vs. internal
clock dividers.
end-sanitize-tx3904
start-sanitize-sky
* sky-device.c (sky_signal_interrupt): New function to generate
interrupt event.
* sky-device.h: Declare it.
* sky-dma.c (check_int1): Call it.
* sky-pke.c (pke_begin_interrupt_stall): Call it.
end-sanitize-sky
* Updated several files to place all sky specific runtime options
in sky-gdb.c.
* Added two new runtime options --sky-debug and --screen-refresh
* ChangeLog.sky contains a detailed description of the mods
Jim Ingham [Tue, 9 Jun 1998 22:33:46 +0000 (22:33 +0000)]
Tue Jun 9 15:27:09 1998 Jim Ingham <jingham@cygnus.com>
* gdbtk.c: Added hooks to run gdbtk under the TclPro debugger.
To do this, build gdbtk with:
make CFLAGS="-g -DTCLPRO_DEBUGGER"
Then set the environment variable TCLPRO_DEBUG_DIR to point to
wherever you have installed the TclPro debugger. Finally, in
the Alpha of the TclPro Debugger, you have to start up the
TclPro Debugger BEFORE you start gdbtk. Unfortunately, the
debugger does not understand Itcl 1.5 style classes...
* .Sanitize: Sanitize out references to the TclPro debugger,
since it is not yet released.
Ian Carmichael [Tue, 9 Jun 1998 22:11:24 +0000 (22:11 +0000)]
* Handle 10 and 20-bit versions of Break instruction. Move handling
* of special values from signal_exception() in interp.c into mips.igen.
*
* Modified: ChangeLog gencode.c interp.c mips.igen sim-main.h
* Updates to tx3904 peripheral simulations for ECC.
Tue Jun 9 12:29:50 1998 Frank Ch. Eigler <fche@cygnus.com>
* dv-tx3904cpu.c (deliver_*_interrupt,*_port_event): Set the CAUSE
register upon non-zero interrupt event level, clear upon zero
event value.
* dv-tx3904irc.c (*_port_event): Handle deactivated interrupt signal
by passing zero event value.
(*_io_{read,write}_buffer): Endianness fixes.
* dv-tx3904tmr.c (*_io_{read,write}_buffer): Endianness fixes.
(deliver_*_tick): Reduce sim event interval to 75% of count interval.
* interp.c (sim_open): Added jmr3904pal board type that adds PAL-based
serial I/O and timer module at base address 0xFFFF0000.
Ian Carmichael [Tue, 9 Jun 1998 16:54:08 +0000 (16:54 +0000)]
* Handle 10 and 20-bit versions of Break instruction. Move handling
* of special values from signal_exception() in interp.c into mips.igen.
*
* Modified: gencode.c interp.c mips.igen sim-main.h
Tue Jun 9 12:20:05 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* config/tc-i386.h: Change Data16 to Size16, Data32 to Size32,
IgnoreDataSize to IgnoreSize as they are used for address size as
well as data size.
* config/tc-i386.c: Likewise. Add code to reject addr32/data32 in
32-bit mode, similarly addr16/data16 and variants.
Tue Jun 9 12:16:01 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* i386.h: Change occurences of Data16 to Size16, Data32 to Size32,
IgnoreDataSize to IgnoreSize. Flag address and data size prefixes
with Size16|IgnoreSize or Size32|IgnoreSize.
Ron Unrau [Mon, 8 Jun 1998 22:10:37 +0000 (22:10 +0000)]
* objfiles.c (add_to_objfile_sections): All targets to define
TARGET_KEEP_SECTION to permit them to retain bfd sections that
GDB would otherwise have discarded.
Joyce Janczyn [Mon, 8 Jun 1998 17:46:25 +0000 (17:46 +0000)]
Add timer and serial devices (mn103tim and mn103ser), support
--board=am32 for runtime control of device simulation, and adjust
interrupt settings to support am32 instead of am30.
Joyce Janczyn [Mon, 8 Jun 1998 17:23:11 +0000 (17:23 +0000)]
* interp.c: (mn10300_option_handler): New function parses arguments
using sim-options.
start-sanitize-am30
* (board): Add --board option for specifying am32.
* (sim_open): Create new timer and serial devices and control
configuration of other am32 devices via board option.
end-sanitize-am30
Mon Jun 8 12:20:30 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* config/tc-i386.c: REPNE renamed to REPNE_PREFIX_OPCODE, and
likewise for REPE.
* config/tc-i386.c (reloc): Add braces.
* config/tc-i386.c (struct _i386_insn): Rename bi to sib to be
consistent with Intel naming.
* config/tc-i386.h (base_index_byte): Rename to sib_byte. Don't
use bitfields in sib_byte.
(modrm_byte): Don't use bitfields here either.
* config/tc-i386.c (current_templates): Add const.
(parse_register): Add const to return, param, and char *s.
(i386_operand): Add const to reg_entry *r.
* config/tc-i386.h (templates): Add const to start, end.
Inspired by code for 16 bit gas support from Martynas Kunigelis
<martynas@nm3.ktu.lt>:
* config/tc-i386.c (md_assemble): Add full support for 16 bit
modrm, and Jump, JumpByte, JumpDword, JumpInterSegment insns.
(uses_mem_addrmode): Remove.
(md_estimate_size_before_relax): Add support here too.
(md_relax_table): Rewrite interface to md_relax for 16 bit
support.
(BYTE, WORD, DWORD, UNKNOWN_SIZE): Remove.
(opcode_suffix_to_type): Remove.
(CODE16, SMALL, SMALL16, BIG, BIG16): Define.
(SIZE_FROM_RELAX_STATE): Modify to suit above.
(md_convert_frag): Likewise.
(i386_operand): Add support for 16 bit base/index regs,
immediates, and displacements. Remove some unnecessary casts, and
localise end_of_operand_string, displacement_string_start,
displacement_string_end variables. Add GCC_ASM_O_HACK.
* config/tc-i386.h (NO_BASE_REGISTER_16): Define.
* config/tc-i386.c (prefix_hash): Remove.
(md_begin): Rewrite without obstacks. Remove prefix hash table
handling. Rewrite lexical table handling.
(i386_print_statistics): Don't print prefix statistics.
(md_assemble): Rewrite instruction parser so that line is not
converted to lower case. Don't do a hash_find for prefixes,
instead recognise them via opcode modifier.
(expecting_operand, paren_not_balanced): Localise variables.
* config/tc-i386.h (IsPrefix): Define.
(prefix_entry): Remove.
* config/tc-i386.h (PREFIX_SEPERATOR): Don't define.
* config/tc-i386.c (PREFIX_SEPARATOR): Define here instead, using
'\\' in case where comment_chars contains '/'.
* config/tc-i386.c (MATCH): Ensure given operand and template
match for JumpAbsolute. Makes e.g. `ljmp table(%ebx)' invalid;
you must write `ljmp *table(%ebx)'.
From H.J. Lu <hjl@gnu.org>:
* config/tc-i386.c (BFD_RELOC_16, BFD_RELOC_16_PCREL): Define
as 0 ifndef BFD_ASSEMBLER.
(md_assemble): Allow immediate operands without suffix or
other reg operand to default in size to the current code size.
Mon Jun 8 12:15:52 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* i386.h (REPNE): Rename to REPNE_PREFIX_OPCODE.
(REPE): Rename to REPE_PREFIX_OPCODE.
(i386_regtab_end): Remove.
(i386_prefixtab, i386_prefixtab_end): Remove.
(i386_optab): Use NULL as sentinel rather than "" to suit rewrite
of md_begin.
(MAX_OPCODE_SIZE): Define.
(i386_optab_end): Remove.
(sl_Suf): Define.
(sl_FP): Use sl_Suf.
* i386.h (i386_optab): Allow 16 bit displacement for `mov
mem,acc'. Combine 16 and 32 bit forms of various insns. Allow 16
bit form of ljmp. Add IsPrefix modifier to prefixes. Add addr32,
data32, dword, and adword prefixes.
(i386_regtab): Add BaseIndex modifier to valid 16 bit base/index
regs.
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.