Commit graph

22769 commits

Author SHA1 Message Date
Ian Carmichael
895a7dc2aa * 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
1998-06-09 16:54:08 +00:00
Nick Clifton
18993a6868 Make 'send' be CONST char * to avoid compiler warning. 1998-06-09 16:38:11 +00:00
Nick Clifton
4e707af32c Add definition of EM_ARM 1998-06-09 16:36:31 +00:00
Ian Lance Taylor
e03a97575f Tue Jun 9 12:20:05 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* doc/c-i386.texi: Update 16 bit documentation.
1998-06-09 16:30:26 +00:00
Ian Lance Taylor
284f02bba8 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.
1998-06-09 16:21:35 +00:00
Ian Lance Taylor
b8e4d255f3 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.
1998-06-09 16:18:24 +00:00
Doug Evans
5724515d03 * sim/sky/dma.h: New file.
* sim/sky/vif.h: New file.
	* sim/sky/vu.h: New file.
	* sim/sky/sce_main.c: Move magic numbers to .h files.
1998-06-09 16:01:59 +00:00
James Lemke
a77734aa1e sky.ld: Remove big endian stuff in OUTPUT_FORMAT 1998-06-09 15:55:49 +00:00
Gavin Romig-Koch
2b5d87dfa4 * mips.igen (SWC1) : Correct the handling of ReverseEndian
and BigEndianCPU.
1998-06-09 15:54:05 +00:00
Gavin Romig-Koch
55ad270f9a * configure.in (mips_fpu_bitsize) : Set this correctly for 32-bit mips
parts.
	* configure: Update.
1998-06-09 15:42:04 +00:00
Nick Clifton
a94e9d4f75 Updated to match latest assembler results. 1998-06-09 01:48:34 +00:00
Nick Clifton
7a0f469b1c Foixes for PR16116 and ER15940 - improve parallel insn handling. 1998-06-09 01:33:23 +00:00
Nick Clifton
f79ebb2c0f Fix for PR16116 - remove FLAG_MUL32 attribute from MULX2H insn. 1998-06-09 01:18:34 +00:00
Doug Evans
cacc867752 * sim/m32r/trap.cgs: Test trap 2. 1998-06-08 23:09:54 +00:00
Doug Evans
02c6148370 Test trap 2. 1998-06-08 23:08:49 +00:00
Doug Evans
2dc7ca5026 * config/tc-dvp.c (dvp_relax_frag): Adjust target address by stretch.
PR 16132.
1998-06-08 22:44:03 +00:00
Doug Evans
c49fcb32e2 * gas/dvp/relax-1.[sd]: Test .org/relaxing interaction. 1998-06-08 22:41:55 +00:00
Nick Clifton
5aa6fe96a0 Use signed comparisons against addend. 1998-06-08 22:22:21 +00:00
Ron Unrau
a2266bed50 * 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.
1998-06-08 22:10:37 +00:00
Joyce Janczyn
3d64946ded Support for timers for mn103002. Still needs more testing/debugging. 1998-06-08 21:57:42 +00:00
David Taylor
e62b6fed2a add test to verify that changes made to the PSW in-parallel-with a trap
instruction end up in the bPSW and not in the PSW.  (PR 16026).
1998-06-08 19:18:21 +00:00
Joyce Janczyn
d38f2372a0 Add dv-mn103tim.c and dv-mn103ser.c 1998-06-08 18:09:40 +00:00
Joyce Janczyn
d3f76d42ac 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.
1998-06-08 17:46:25 +00:00
Joyce Janczyn
7cb5d42660 Skeleton file for mn1030002 serial device implementation. 1998-06-08 17:34:04 +00:00
Joyce Janczyn
5f69de151a Fix typo. 1998-06-08 17:28:08 +00:00
Joyce Janczyn
7146013910 Fix interrupt settings for mn103002, not mn10300 implementation. 1998-06-08 17:27:10 +00:00
Joyce Janczyn
6adf5185c1 * 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
1998-06-08 17:23:11 +00:00
Joyce Janczyn
7f1e9a13b2 Add new devices: mn103tim and mn103ser. 1998-06-08 17:18:02 +00:00
Ian Lance Taylor
0351b70c21 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.
1998-06-08 17:06:00 +00:00
Ian Lance Taylor
038915c98c 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.
1998-06-08 16:20:19 +00:00
Catherine Moore
3f59a76366 Mon Jun 8 09:45:00 1998 Catherine Moore <clm@cygnus.com>
* config/tc-v850.c (md_begin):  Restore creation of
        .call_table_text and .call_table_data sections.
1998-06-08 14:36:19 +00:00
Nick Clifton
0203fbf278 Add prototypes. 1998-06-06 07:42:09 +00:00
Nick Clifton
7c3b369de0 Add prototypes. 1998-06-06 07:32:18 +00:00
Nick Clifton
dbf2a52296 Another fix for PR16116 1998-06-06 07:03:45 +00:00
Ian Lance Taylor
06aa0337a8 x 1998-06-06 04:00:25 +00:00
Ian Lance Taylor
80119c9ee4 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.
1998-06-06 03:54:24 +00:00
Ian Lance Taylor
ed44fb7a0d 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.
1998-06-06 03:47:33 +00:00
Ian Lance Taylor
73a8be66ca Fri Jun 5 23:27:04 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* config/tc-i386.c (mode_from_disp_size): Disp16 is mode 2.
	(i386_operand): Simplify checks for valid base/index combinations.
	Disallow `in 4(%dx),%al'.

	* config/tc-i386.c (struct _i386_insn): Make regs, base_reg, and
	index_reg const.
	(add_prefix): Change parameter from char to int.

	* config/tc-i386.h (Ugh): Define opcode modifier.
	* config/tc-i386.c (md_assemble): Print warnings for Ugh insns.

	* 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.
1998-06-06 03:42:14 +00:00
Nick Clifton
40afcc4cd4 sort sections by LMA then VMA. 1998-06-06 00:28:46 +00:00
Nick Clifton
c84c3b965c Add prototypes for static functions.
Chnage type of addend from long to bfd_vma.
1998-06-06 00:23:25 +00:00
Ian Lance Taylor
4bb22852ba 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.
1998-06-05 23:16:49 +00:00
Ian Lance Taylor
587b388d85 Fri Jun 5 19:15:04 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* m68k-opc.c (tstb, tstw, tstl): Don't allow pcrel on
	68000/68008/68010.
1998-06-05 23:15:45 +00:00
Doug Evans
71dfb81d2c * configure.tgt (dvp-*-*): Set targ_emul=elf32l5900. 1998-06-05 23:00:19 +00:00
Doug Evans
bf86ea82b3 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Set vma to 0
for .DVP.overlay.*.
1998-06-05 22:58:06 +00:00
Ian Lance Taylor
aaaf948f2d * objcopy.c (setup_section): Adjust the section size if copy_byte
is >= 0.
	(copy_section): Do not call bfd_set_section_size.
1998-06-05 22:44:15 +00:00
Ian Lance Taylor
b469b73492 * emultempl/aix.em (gld${EMULATION_NAME}_before_parse): Set
config.has_shared to true.
	* emultempl/linux.em (gld${EMULATION_NAME}_before_parse):
	Likewise.
	* emultempl/sunos.em (gld${EMULATION_NAME}_before_parse):
	Likewise.
1998-06-05 22:21:31 +00:00
Ian Lance Taylor
118bd5952f * aoutx.h (howto_table_ext): Change RELOC_BASE13 to use
complain_overflow_signed instead of complain_overflow_bitfield.
1998-06-05 22:19:09 +00:00
Doug Evans
705b12dfdf * dbxread.c (read_dbx_symtab): Don't lower texthigh for last psymtab. 1998-06-05 20:57:54 +00:00
Ian Lance Taylor
5e3da1b0d3 Fri Jun 5 15:11:11 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf.c (elf_map_symbols): Don't add section VMA to symbol value
	when comparing against 0.
1998-06-05 19:17:08 +00:00
Nick Clifton
bc67c82378 Fix PR16116 - stoe previous subseg state with prev instructionss. 1998-06-05 17:51:58 +00:00