Commit Graph

3976 Commits

Author SHA1 Message Date
Jeff Law
f26a329970 * config/tc-mips.c (hilo_interlocks): Check mips_5900, not
mips_cpu == 5900.
1998-06-20 02:00:03 +00:00
Jeff Law
68a3f9c550 * config/tc-mn10300.c (md_assemble): Handle FMT_D8 and FMT_D9
instruction formats.  Handle MN10300_OPERAND_24BIT modifier.
        (mn10300_insert_operand): Likewise.
        (mn10300_check_operand): Likewise.
1998-06-19 22:54:36 +00:00
Jeff Law
3f98014f76 * gas/mn10300/am33_4.s: New test.
* gas/mn10300/am33_5.s: New test.
        * gas/mn10300/basic.exp: Run them.
1998-06-19 22:50:44 +00:00
Ian Lance Taylor
622b1860e1 * write.c (adjust_reloc_syms): Never adjust relocs against weak
symbols.
	* config/tc-mips.c (md_apply_fix): Adjust accordingly.
1998-06-19 17:58:12 +00:00
Jeff Law
e7ffb037ca start-sanitize-am33
* config/tc-mn10300.c (r_registers): Add missing registers.
        (xr_registers): New set of registers.
        (xr_register_name): New function.
        (md_assemble): Handle XRREG and PLUS operands.  Tweak handling of
        RREG operand insertion.  Handle new D6 and D7 instruction formats.
end-sanitize-am33
        * config/tc-mn10300.c (mn10300_insert_operand): Do not hardcode the
        shift amount for a repeated operand.  The shift amount for the
        repeated copy comes from the size of the operand.
1998-06-19 15:54:22 +00:00
Jeff Law
1d5e24f40a * gas/mn10300/am33_2.s: New test.
* gas/mn10300/am33_3.s: New test.
        * gas/mn10300/basic.exp: Run them.
1998-06-19 15:47:03 +00:00
Jeff Law
daaab34a77 * config/tc-h8300.c (get_operand): Fix typos in ldm/stm support. 1998-06-19 06:47:19 +00:00
Jeff Law
cefa6a6107 Remove reference to vr5400 inside a r5900 ChangeLog entry. 1998-06-18 19:12:41 +00:00
release
3bb1e046d0 fix sanitization typo 1998-06-18 07:31:22 +00:00
Jeff Law
a2d41a258b * gas/mn10300/am33.s: New test.
* gas/mn10300/basic.exp: Run it.
1998-06-18 00:17:18 +00:00
Jeff Law
82169ecef7 * config/tc-mn10300.c (r_registers): New register table.
(r_register_name): New function.
        (md_assemble): Handle new am33 operand types.
1998-06-18 00:12:44 +00:00
Ian Lance Taylor
31493cdfd6 * config/tc-mips.c (md_show_usage): Fix -mipsN usage. 1998-06-17 17:07:54 +00:00
Frank Ch. Eigler
0f70e64f0e * MIPS test suite changes that allow cross-assemblers to test MIPS dialects
other than their native tongues.
Wed Jun 17 14:02:10 1998  Frank Ch. Eigler  <fche@cygnus.com>
	* gas/mips/delay.d: Add -mcpu=NNNN to gas flags to let test case
 	run on differently targeted assembler.
	* gas/mips/{ld-ilocks-addr32,ld-svr4pic.d}: Ditto.
	* gas/mips/{ld-xgot.d,lif-svr4pic.d,lif-xgot.d}: Same.
	* gas/mips/{mips16.d,mips4.d,nodelay.d}: Again.
	* gas/mips/{trunc.d,uld.d,ulh-xgot.d,usd.d}: And then some.
	* gas/mips/ld-ilocks.d: Removed disassembler flags to let target
 	defaults go unmodified.  Replaced $f4/$f5 with $fp[45], as the
	original `ld.d' had.  Find `ld.s'.
	* gas/mips/mul-ilocks.d: Nearly ditto.
1998-06-17 11:31:32 +00:00
Ian Lance Taylor
fe55a7e7ca Tue Jun 16 13:06:21 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* app.c (do_scrub_begin): If tc_symbol_chars is defined, treat all
	characters in it as LEX_IS_SYMBOL_COMPONENT.
	* config/tc-i386.h (tc_symbol_chars): Define.
	(extra_symbol_chars): Declare.
	* config/tc-i386.c (extra_symbol_chars): Define.
	(comment_chars): Don't use '/' as comment start if TE_LINUX.
	(line_comment_chars): Set to '/' if TE_LINUX.
	* doc/c-i386.texi (i386-prefixes): Update.
	* doc/internals.texi (CPU backend): Document tc_symbol_chars.
1998-06-16 17:10:17 +00:00
Ian Lance Taylor
5cd989d5af rebuild 1998-06-12 23:13:41 +00:00
Tom Tromey
27a0ce8805 * po/Make-in (all-yes): If maintainer mode, depend on .pot file.
($(PACKAGE).pot): Unconditionally depend on POTFILES.
1998-06-12 22:32:29 +00:00
Vladimir Makarov
a85e84c530 PR15067 1998-06-12 19:54:28 +00:00
Doug Evans
79259a91a3 * config/tc-dvp.c (create_vuoverlay_section): Don't set a non-zero
section vma.
1998-06-12 19:49:54 +00:00
Vladimir Makarov
9b8eef07ef PR15067 1998-06-12 19:42:17 +00:00
Nick Clifton
29830d737e Adjust tests and results after applying patch for PR12542 1998-06-11 23:52:11 +00:00
Nick Clifton
671cdc7eaa Fix for PR12542 - if check_range is passed a constant for a shifted operand,
shift the constant first.
1998-06-11 23:51:16 +00:00
Nick Clifton
d32f7037b2 Fix for PR11938 - display suitable error messages for bogus .byte, .short and .quad directives. 1998-06-11 22:58:05 +00:00
Nick Clifton
e2a15d35a8 Add more checks for NULL pointers. 1998-06-11 16:14:19 +00:00
Nick Clifton
4250a53291 Fix for PR 16143 - set SEC_COMMON bit on .scommon, .zcommon and .tcommon sections. 1998-06-11 15:58:53 +00:00
Nick Clifton
fb9702790f Create v850 special sections upon demand. 1998-06-11 00:27:54 +00:00
Vladimir Makarov
c2a5732b78 PR15041 1998-06-10 15:50:08 +00:00
Doug Evans
8b9286ecf1 * config/tc-dvp.c (assemble_vu): Print better error message if
lower insn is missing.
1998-06-09 19:22:21 +00:00
Ian Lance Taylor
9d0a6b0089 * Makefile.am: Rebuild dependencies.
(DEP_INCLUDES): Fix reference to intl build directory.
	* Makefile.in: Rebuild.
1998-06-09 17:53:29 +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
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
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
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
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
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
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
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
Nick Clifton
bc67c82378 Fix PR16116 - stoe previous subseg state with prev instructionss. 1998-06-05 17:51:58 +00:00
Ian Lance Taylor
be5fbc8388 x 1998-06-04 00:08:42 +00:00
Ian Lance Taylor
aa56747a9b 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.
1998-06-03 23:11:04 +00:00
Ian Lance Taylor
ec1e6bb850 Wed Jun 3 18:21:56 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* config/tc-i386.c (SCALE1_WHEN_NO_INDEX): Define.
	(ebp, esp): Remove static variables.
	(MATCH): Remove test for InOutPortReg.
	(i386_operand): Properly handle InOutPortReg here instead.
	Disallows `inb (%dx,2)', `inb %es:(%dx)' and `mov (%dx),%ax'
	(md_assemble): Simplify and correct modrm and sib generation.
	(i386_operand): Add warning for scale without index.
	Rewrite checks for valid base/index combinations.
1998-06-03 22:28:28 +00:00
Ian Lance Taylor
921d7728b0 * configure.in: Recognize m5200 as a cpu_type of m68k.
* aclocal.m4: Rebuild with current libtool.
	* configure: Rebuild.
1998-06-03 19:12:08 +00:00
Ian Lance Taylor
5b3fc700b4 Wed Jun 3 14:11:59 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* config/tc-m68k.c (md_estimate_size_before_relax): Add more calls
	to relaxable_symbol to prevent references to external symbol from
	being relaxed.

Wed Jun  3 14:10:36 1998  Ian Lance Taylor  <ian@cygnus.com>

	* config/tc-m68k.c (relaxable_symbol): If TARGET_OS is "elf", all
	symbols are relaxable.
1998-06-03 18:16:11 +00:00
Doug Evans
7f7d7bc009 * config/tc-dvp.c (md_begin): Change alignment of .DVP.ovlytab to 4.
(create_vuoverlay_section): Entries are 4 bytes not 8.
1998-06-03 17:27:56 +00:00
Catherine Moore
1e3fba9b78 config/tc-v850.c (md_begin): Don't create special sections by default. 1998-06-03 14:32:15 +00:00
Jeff Law
edc8f76e73 * config/tc-mips.c (macro): For div and udiv, close the
reorder block as soon as possible.
1998-06-02 20:54:35 +00:00
Ian Lance Taylor
936433a9fd 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.
1998-06-02 19:39:45 +00:00