Commit graph

4042 commits

Author SHA1 Message Date
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
Ian Lance Taylor
c7b21300a7 Tue Jun 2 15:08:36 1998 Geoff Keating <geoffk@ozemail.com.au>
* gas/ppc/ppc.exp: Run simpshft test.
	* gas/ppc/simpshft.d: New file.
	* gas/ppc/simpshft.s: New file.
1998-06-02 19:09:38 +00:00
Ian Lance Taylor
f9997132de Tue Jun 2 13:32:22 1998 Klaus Kaempf <kkaempf@progis.de>
* config/tc-alpha.c (s_alpha_comm): Defer restoring character
	until after xstrdup in OBJ_EVAX case.
1998-06-02 17:35:03 +00:00
Ian Lance Taylor
d05d27a9d1 Tue Jun 2 13:32:22 1998 Klaus Kaempf <kkaempf@progis.de>
* config/tc-alpha.c (s_alpha_comm): Allow alignment parameter in
	OBJ_EVAX case.
1998-06-02 17:33:07 +00:00
Ian Lance Taylor
dfe2482a89 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.
1998-06-02 17:15:00 +00:00
Doug Evans
c68b56efc5 * read.c (do_s_func): New function.
(s_func): Call it.
	* read.h (do_s_func): Add prototype.
	* config/tc-dvp.c (md_pseudo_table): Add .func/.endfunc.
	(s_dvp_func): New function.
1998-06-02 16:54:59 +00:00
Doug Evans
30596dfc4f * read.c (do_s_func): New function.
(s_func): Call it.
	* config/tc-dvp.c (md_pseudo_table): Add .func/.endfunc.
	(s_dvp_func): New function.
1998-06-02 16:54:20 +00:00
Doug Evans
83e207013b * read.c (s_func): Prepend `leading char' by default. 1998-06-02 16:26:43 +00:00
Jeff Law
be294de6b3 * config/tc-mips.c (hilo_interlocks): The r5900 has HILO interlocks. 1998-06-01 23:07:21 +00:00
Jeff Law
773cf1a24b * gas/mips/break5900.d: Update after interlock changes.
* gas/mips/mips.exp: The r5900 has ilocks and gpr_ilocks.
        * gas/mips/div-ilocks.d: Handle both "break" instruction variants.
        * gas/mips/{div.d, mul-ilocks.d, mul.d}: Likewise.
1998-06-01 23:04:50 +00:00
Doug Evans
98e3a972c1 * 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.
1998-06-01 22:11:21 +00:00
Doug Evans
7908eab788 Don't run the `semi' testcase if dvp-*-*. 1998-06-01 22:09:48 +00:00
Doug Evans
99b7e42e1c Don't run the `align' testcase if dvp-*-*. 1998-06-01 22:09:19 +00:00
Doug Evans
27f6715d30 * config/tc-m32r.c (m32r_do_align): Only fill code sections with
nops if fill pattern not specified.
1998-06-01 19:48:48 +00:00
Ian Lance Taylor
8b398c5354 From Andrew Crabtree <andrewc@typhoon.rose.hp.com>:
* config/te-go32.h (TE_GO32): Define.
	* config/tc-i386.h (LOCAL_LABEL): Don't define if TE_GO32.
1998-06-01 18:10:16 +00:00
Doug Evans
082a41fc7c Implement .func/.endfunc pseudo-ops.
* read.h (stabs_generate_asm_func,stabs_generate_asm_endfunc): Declare.
	(s_func): Declare.
	* read.c (potable): Add .func,.endfunc.
	(s_func): New function.
	* stabs.c (stabs_generate_asm_func,stabs_generate_asm_endfunc): New
	functions.
	(in_doc_func_p,current_function_label): New static globals.
	(stabs_generate_asm_lineno): Emit function relative stabs if in .func.
1998-06-01 04:44:48 +00:00
Doug Evans
71c2d792ef Add docs for .func/.endfunc. 1998-06-01 04:40:53 +00:00
Doug Evans
dbef2779c0 * config/tc-dvp.c (create_vuoverlay_section): Set SEC_CODE flag for
overlay sections.
1998-06-01 03:53:57 +00:00
Doug Evans
7a70182554 (create_vuoverlay_section): Set SEC_CODE flag for overlay sections. 1998-06-01 03:53:32 +00:00
Doug Evans
c3b51879b3 * config/tc-dvp.h (ELF_TC_SPECIAL_SECTIONS): Delete .vuoverlay_table.
(VUOVERLAY_SECTION_PREFIX,VUOVERLAY_TABLE_SECTION_NAME): Delete.
	* config/tc-dvp.c (vuoverlay_string_section): New static global.
	(md_begin): Create overlay string section.
	(create_vuoverlay_section): Put section name in overlay string section.
	Put string's offset in overlay table entry.
1998-05-31 22:46:56 +00:00
Ian Lance Taylor
04e6b63b72 * config/tc-a29k.h (WORKING_DOT_WORD): Define.
* config/tc-alpha.h (WORKING_DOT_WORD): Define.
	* config/tc-arm.h (WORKING_DOT_WORD): Define.
	* config/tc-h8300.h (WORKING_DOT_WORD): Define.
	* config/tc-h8500.h (WORKING_DOT_WORD): Define.
	* config/tc-hppa.h (WORKING_DOT_WORD): Define.
	* config/tc-i860.h (WORKING_DOT_WORD): Define.
	* config/tc-i960.h (WORKING_DOT_WORD): Define.
	* config/tc-tic30.h (WORKING_DOT_WORD): Define.
	* config/tc-w65.h (WORKING_DOT_WORD): Define.
	* config/tc-z8k.h (WORKING_DOT_WORD): Define.
	* config/tc-a29k.c: Don't define md_short_jump_size,
 	md_long_jump_size, md_create_short_jump or md_create_long_jump.
	* config/tc-alpha.c: Likewise.
	* config/tc-alpha.h: Likewise.
	* config/tc-arm.c: Likewise.
	* config/tc-h8300.c: Likewise.
	* config/tc-h8500.c: Likewise.
	* config/tc-hppa.c: Likewise.
	* config/tc-i860.c: Likewise.
	* config/tc-i960.c: Likewise.
	* config/tc-ppc.c: Likewise.
	* config/tc-sh.c: Likewise.
	* config/tc-sparc.h: Likewise.
	* config/tc-tic30.c: Likewise.
	* config/tc-w65.c: Likewise.
	* config/tc-z8k.c: Likewise.
1998-05-29 22:25:56 +00:00
Ian Lance Taylor
f668d839e5 tipo 1998-05-29 21:37:44 +00:00
Ian Lance Taylor
ca16ec5c81 * symbols.c (symbol_find_base): Fix case insensitive symbol name
code.  From Chris Moller <moller@bops.com>.
1998-05-29 21:22:00 +00:00
Ian Lance Taylor
1a20177a13 Fri May 29 16:03:26 1998 Pat Rankin <rankin@eql.caltech.edu>
* config/tc-vax.c (_): Delete this macro used for placeholder
	values in vax_operand_width_size; it conflicts with the _() macro
	used for internationalization.
1998-05-29 20:08:25 +00:00
Ian Lance Taylor
4ea4905324 Based on patch from Klaus Kaempf <kkaempf@progis.de>:
* struc-symbol.h (struct broken_word): Add seg and subseg fields.
	* read.c (emit_expr): Initialize seg and subseg fields of a new
	broken word.
	* write.c (write_object_file): Switch to the appropriate segment
	and subsegment when processing a broken word.
1998-05-29 19:59:55 +00:00
Ian Lance Taylor
05a43d26fe * gas/mips/mips.exp: Adjust ilocks initialization to match current
assembler defaults more closely.
1998-05-29 19:27:54 +00:00
Ian Lance Taylor
dcb76edbb8 * config/tc-m68k.c (mri_assemble): New static function.
(build_mri_control_operand): Call mri_assemble rather than
	md_assemble.
	(s_mri_else, s_mri_break, s_mri_next, s_mri_for): Likewise.
	(s_mri_endf, s_mri_endw): Likewise.
1998-05-29 17:48:03 +00:00
Ian Lance Taylor
1793f86d75 * gas/sh/fp.s: Remove ftst/nan. The assembler no longer supports
the instruction.
	* gas/sh/basic.exp: Adjust accordingly.
1998-05-29 16:12:31 +00:00
Doug Evans
5dccb8b0f4 more attempts to handle `*' as mpg address 1998-05-29 01:08:08 +00:00
Doug Evans
dfa96dc4df tweak last entry 1998-05-29 01:06:37 +00:00
Doug Evans
c371a664d5 resolve mpgloc_sym in `*' case 1998-05-29 00:39:03 +00:00
Doug Evans
1554baf3cb * config/tc-dvp.h (ELF_TC_SPECIAL_SECTIONS): Add .vuoverlay_table.
(dvp_frob_file): Declare.
	(tc_frob_file): Define.
	(VUOVERLAY_SECTION_PREFIX,VUOVERLAY_TABLE_SECTION_NAME): New macros.
	* config/tc-dvp.c (VUOVERLAY_START_PREFIX): New macro.
	(vuoverlay_section_name,create_vuoverlay_section): New functions.
	(vuoverlay_section,vuoverlay_table_section): New static globals.
	(ovlysym_table): New static global.
	(md_begin): Create .vuoverlay_table section.
	(assemble_vif): Call create_vuoverlay_section for each mpg.
	(dvp_frob_label): Record vu labels in ovlysym_table for later
	movement from absolute section to their overlay section.
	(dvp_frob_file): New function.
	(md_apply_fix3): For 8/16/32/64 bit relocs, only process if fx_done.
1998-05-28 23:29:19 +00:00
Doug Evans
899c697bfe * config/tc-dvp.c (assemble_one_insn): Parse suffix operands
even when missing in input string.
Forgot to check ChangeLog entry in.
1998-05-28 23:23:14 +00:00
Ian Lance Taylor
8a9c148140 * config/tc-sparc.c (md_show_usage): Add \n\ to new string. 1998-05-27 15:17:07 +00:00
Stan Cox
fc23c14efc sparclite 86x big endian instruction / little endian data support. 1998-05-27 01:06:20 +00:00
Doug Evans
b9cafcf462 * gas/m32r/allinsn.d: Handle 64 bit bfd_vma.
* gas/m32r/uppercase.d: Likewise.
	* gas/m32r/m32rx.d: Likewise.
1998-05-22 22:58:08 +00:00
Doug Evans
96ecb5a1e8 * gas/dvp/upper-2.[sd]: Test absent dest -> xyzw. 1998-05-21 22:16:04 +00:00
Nick Clifton
9c92d37083 Fixes to allow testsuite to pass (modulo problems with cofftag). 1998-05-21 22:04:56 +00:00
Nick Clifton
5519850dea Fix for PR15642 - apply label alignment adjustment to all labels at the given address. 1998-05-20 00:03:01 +00:00
Ian Lance Taylor
200b86ea4f * gas/mips/mips16.d: Correct to reflect bug fix to disassembler. 1998-05-19 22:17:38 +00:00
Catherine Moore
7ccd2d11c4 *** empty log message *** 1998-05-19 13:20:47 +00:00
Catherine Moore
a5002978e0 Use number_to_chars_bigendian and number_to_chars_littleendian to
write data in sparc_handle_align.
1998-05-19 13:03:09 +00:00
Nick Clifton
59bb547b06 Fix PR 15948 1998-05-19 00:12:10 +00:00
Doug Evans
93624d0b55 * write.c (fixup_segment): Change "segment" to "section" in
error message.
1998-05-18 23:06:10 +00:00
Michael Meissner
e13d507e0f Change subtraction of two symbols message; At end of file flush any debug_sym links 1998-05-18 20:56:45 +00:00
Jeff Law
1190b223b8 * config/tc-mips.c (validate_mips_insn): Handle ';' opcode completer.
(mips_ip): Likewise.
1998-05-18 17:51:56 +00:00
Frank Ch. Eigler
1cc17500c3 * Added tests for R5900 mult1 instructions. 1998-05-18 17:48:38 +00:00
Jeff Law
cb6a332528 * vu0.s: Test vopmula/vopmsub with and without opcode
completer.
        * vu0.d: Corresponding changes.
1998-05-18 17:48:37 +00:00
Nick Clifton
98c5cd5a5a Changed command line switch from --m32rx-enable-special to --hidden
Removed documentation about the switch.
1998-05-18 17:34:24 +00:00
Frank Ch. Eigler
d9c2c0c569 * Followup for SCEI PR 15853.
Mon May 18 12:37:38 1998  Frank Ch. Eigler  <fche@cygnus.com>
	* config/tc-mips.c (macro): For R5900, use "B" operand format for
 	"break" instructions generated in macro (div etc.) instructions.
1998-05-18 13:33:26 +00:00
Michael Meissner
99fcd8a007 Improve error message 1998-05-18 13:33:25 +00:00
Frank Ch. Eigler
838aec1918 * Various MIPS test case tweaks.
Mon May 18 13:11:45 1998  Frank Ch. Eigler  <fche@cygnus.com>
	* gas/mips/{div,ld,mul}.d: Add assembler -mcpu= flag to match
 	disassembler.
start-sanitize-r5900
	* gas/mips/break5900.[sd]: Test that break instructions generated
 	in div/etc. macro instructions are of 20-bit variety for R5900.
end-sanitize-r5900
1998-05-18 10:15:38 +00:00
Gavin Romig-Koch
312bba6754 add ld-ilocks-addr32.d 1998-05-15 19:39:54 +00:00
Gavin Romig-Koch
11ba9527b6 * gas/mips/mips.exp: Distinguish chains with 32-bit addresses.
* gas/mips/ld-ilocks-addr32.d : New.
1998-05-15 18:53:56 +00:00
Nick Clifton
ca6a899da7 Change command line switch fron --enable-special to --m32rx-enable-special 1998-05-14 20:54:47 +00:00
Doug Evans
472de7df0d * gas/m32r/uppercase.[sd]: Test for HIGH,SHIGH,LOW,SDA. 1998-05-14 00:02:36 +00:00
Doug Evans
7c62987898 * config/tc-m32r.c (warn_unmatched_high): New static local.
(OPTION_WARN_PARALLEL): Rename from OPTION_WARN.
	(OPTION_NO_WARN_PARALLEL): Rename from OPTION_NO_WARN.
	(md_longopts): Recognize --{no-,}warn-unmatched-high.
	(md_parse_option): Likewise.
	(md_show_usage): Likewise.
	(m32r_frob_file): Likewise.
1998-05-13 22:10:12 +00:00
Doug Evans
1fd8bfbda5 * gas/m32r/m32rx.d: Pass --enable-special to gas. 1998-05-13 22:07:23 +00:00
Doug Evans
95d33c131a * read.c (generate_file_debug,generate_lineno_debug): New functions.
(read_a_source_file): Call them.
	* read.h (stabs_generate_asm_file): Declare.
	* stabs.c (stabs_generate_asm_file): New function.
	(generate_asm_file): New function.
	(stabs_generate_asm_lineno): Move file name handling into
	generate_asm_file.
1998-05-13 17:19:22 +00:00
Nick Clifton
32c2be7633 Add --enable-special command line switch. 1998-05-12 20:38:36 +00:00
Richard Henderson
ab26b0497a PR 15889 was also in the previous tc-d30v.c commit, but
missed bringing over the log message from the branch.
1998-05-12 19:06:14 +00:00
Richard Henderson
7d515759c9 * config/tc-d30v.c (cur_mul32_p, prev_mul32_p): Make static.
(d30v_current_align, d30v_current_align_seg): New variables.
        (d30v_last_label): New variable.
        (d30v_align, s_d30v_align, s_d30v_text): New functions.
        (s_d30v_data, s_d30v_section): Likewise.
        (md_pseudo_table): Call them.
        (md_begin): Initialize d30v_current_align_seg.
        (md_assemble): Call d30v_align when needed by known current alignment.
        (d30v_frob_label, d30v_cons_align): New functions.
        * config/tc-d30v.h (md_do_align): Remove.
        (tc_frob_label): Call d30v_frob_label.
        (md_cons_align): New.

PR 15642
1998-05-12 19:04:29 +00:00
Doug Evans
cb74aaa54c * config/tc-dvp.c (md_begin): Set type of output file to mips:r5900. 1998-05-11 19:49:29 +00:00
Frank Ch. Eigler
4f6f7a3a1c * New test cases for MIPS R5900-specific 20-bit break, at customer request. 1998-05-11 17:11:54 +00:00
Jeff Law
c8f90c731e * po/Make-in (install-info): New target. 1998-05-11 04:36:09 +00:00
Doug Evans
d67094c621 * Makefile.am: Update with `make dep-am'.
(HFILES): Add cgen.h.
	(cgen.o): Depend on cgen.h.
	* Makefile.in: Regenerate.
1998-05-07 23:40:41 +00:00
Jeff Law
d41e1fba52 * config/tc-mn10200.c (md_assemble): Handle "bra" just like "jmp"
instructions.
        * config/tc-mn10300.c (md_assemble): Likewise.
1998-05-07 21:50:14 +00:00
Doug Evans
f19f301d0c * cgen.c (cgen_md_apply_fix3): Don't pass newline to as_warn_where. 1998-05-07 18:47:57 +00:00
Frank Ch. Eigler
1d99416d38 * Keep new test cases ({trap,break}20.[sd]). 1998-05-07 17:51:51 +00:00
Frank Ch. Eigler
a5c3c53c34 * Converted conditional-trap MIPS opcodes to extra-operand variety also.
* Bonus test cases to confirm behavior.

[ChangeLog]
Thu May  7 12:50:33 1998  Frank Ch. Eigler  <fche@cygnus.com>

	* config/tc-mips.c (validate_mips_insn): Removed hack
	for previously inaccessible bitfields in some INSN_TRAP
	instructions.

[testsuite/ChangeLog]

Thu May  7 13:05:25 1998  Frank Ch. Eigler  <fche@cygnus.com>

	* gas/mips/break20.[sd]: New tests for 20-bit operand break and
 	sddbp instructions.
	* gas/mips/trap20.[sd]: New tests for 20-bit operand trap
 	instructions.
	* gas/mips/mips.exp: Run them.
1998-05-07 17:45:24 +00:00
Ian Lance Taylor
82df8834c9 Thu May 7 13:20:56 1998 Anders Blomdell <anders.blomdell@control.lth.se>
* gasp.c (grab_label): Permit a label to be a preprocessor
	variable by permitting a label to start with a backslash.
1998-05-07 17:22:30 +00:00
Frank Ch. Eigler
40f0c90498 * Fixes for d30v PR 15627.
* First batch of fixes for sky PR 15853 (20-bit break/sdbbp)
* Fixes for d30v test suite.
1998-05-07 15:27:13 +00:00
Michael Meissner
b70d53742c Fix typo 1998-05-07 11:48:27 +00:00
Doug Evans
defc70bf2b * cgen.h: New file.
* cgen.c: Include it.
	(MAX_FIXUPS): Renamed to CGEN_MAX_FIXUPS.
	(cgen_asm_finish_insn): Result is now void.  New arg `result'.
	All callers updated.
	* config/tc-m32r.c: Include cgen.h.
	(m23r_insn): New members num_fixups,fixups.
	(assemble_parallel_insn): Initialize debug_sym_link for each insn.
	(md_assemble): Simplify code to pack two insns in parallel.
	When swapping two insns, update their fixups.
1998-05-07 09:31:42 +00:00
Doug Evans
2ac0ca44d3 * config/tc-dvp.c: Delete inclusion of "sysdep.h". 1998-05-06 23:30:32 +00:00
Jeff Law
8be4960fe8 * config/tc-hppa.c (md_apply_fix): Slightly rework some code
to avoid compiler warning.
1998-05-06 22:28:53 +00:00
Ian Lance Taylor
10779648f8 Wed May 6 15:26:34 1998 Klaus Kaempf <kkaempf@progis.de>
* makefile.vms: Run dec c with /nodebug.  Pass CC value when
	calling make.
1998-05-06 19:32:31 +00:00
Ian Lance Taylor
21e2eeaaf1 Wed May 6 15:26:34 1998 Klaus Kaempf <kkaempf@progis.de>
* makefile.vms (OBJS): Add ehopt.obj
1998-05-06 19:27:05 +00:00
Ian Lance Taylor
6a1421c662 Wed May 6 15:11:12 1998 Klaus Kaempf <kkaempf@progis.de>
* doc/c-vax.texi: Correct and extend vax/vms documentation.
1998-05-06 19:12:59 +00:00
Richard Henderson
daaef8f8df * config/tc-d30v.c (do_assemble): Accept a new parameter requesting
a short format insn.
	(md_assemble): Set it for explicitly packed insns.

PR 14601
1998-05-06 18:56:08 +00:00
Ian Lance Taylor
ee66b572a8 fix xgettext invocation 1998-05-06 18:16:28 +00:00
Gavin Romig-Koch
6ef925e86e * config/tc-mips.c (macro,macro2): Implement
M_DMULO_I, M_MULO_I, M_DMULOU_I, and M_MULOU_I.
1998-05-05 17:12:41 +00:00
Ian Lance Taylor
c8f28d295d Mon May 4 17:49:14 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* config/tc-m68k.h (TC_RELOC_RTSYM_LOC_FIXUP): Changed to keep
	relocations against globally visible symbols.
	* config/tc-m68k.c (relaxable_symbol): New macro.
	(m68k_ip, md_estimate_size_before_relax): Use it.
	(tc_m68k_fix_adjustable): Also handle weak symbols.
1998-05-04 21:53:49 +00:00
Ian Lance Taylor
d4931e7801 remove unnecessary blank line 1998-05-04 21:28:38 +00:00
Ian Lance Taylor
f3d491b171 * config/tc-i386.h (TC_RELOC_RTSYM_LOC_FIXUP): Keep relocs for all
references to externally visible symbols.
	* config/tc-i386.c (md_apply_fix3): When OBJ_ELF, don't add the
 	values in twice for a PC relative reloc if the symbol is
 	externally defined.
1998-05-04 21:10:49 +00:00
Ian Lance Taylor
3ccd41aef9 * config/tc-sparc.h (tc_fix_adjustable) [OBJ_AOUT]: When PIC,
don't adjust a PC relative reloc against an externally visible
	symbol.
	* config/tc-sparc.c (md_apply_fix3): When generating a.out PIC,
	for a PC relative fixup against an externally visible defined
	symbol, arrange to store object file and addend values as though
	the symbol were not defined.
	(tc_gen_reloc): Likewise.
1998-05-04 20:16:35 +00:00
Fred Fish
7f77acfddb * read.c (sizeof_leb128): Referenced externally by write.c so
don't inline.
1998-05-01 00:24:17 +00:00
Michael Meissner
5501e8ba63 Add .debugsym label which does not force a NOP after a short instruction 1998-04-29 19:51:01 +00:00
Tom Tromey
2614063dce * as.c (main): Conditionally call setlocale.
* gasp.c (main): Likewise.
	* asintl.h: Include <locale.h> if HAVE_LOCALE_H.
	(LC_MESSAGES): Now can be defined even when ENABLE_NLS.
1998-04-29 02:51:43 +00:00
Tom Tromey
5873cbec2b Fixed xgettext invocation in .Sanitize files 1998-04-29 00:11:07 +00:00
Frank Ch. Eigler
231cd2a979 * Reminded to keep lineno.d/s test. 1998-04-28 22:49:00 +00:00
Frank Ch. Eigler
3d7def9fb5 * Typo.
Tue Apr 28 18:33:23 1998  Frank Ch. Eigler  <fche@cygnus.com>

	* config/tc-d30v.c (md_show_usage): Correct gettext typo.
1998-04-28 22:36:10 +00:00
Frank Ch. Eigler
4b9180d916 * Fixes for gdb/15371 part 1: assembly source line numbering.
[ChangeLog]

Tue Apr 28 11:35:56 1998  Frank Ch. Eigler  <fche@cygnus.com>

	* ecoff.c (ecoff_build_lineno): Do not use dummy first_lineno
	for line numbers for assembly source.

[testsuite/ChangeLog]

Tue Apr 28 16:38:34 1998  Frank Ch. Eigler  <fche@cygnus.com>

	* gas/mips/lineno.[sd]: Assembly source line number test.
	* gas/mips/mips.exp: Added lineno test.
1998-04-28 20:48:30 +00:00
Ian Lance Taylor
c0fde1019f * config/tc-hppa.c: Change all calls to bzero to use memset.
(pa_ip): Add cast to avoid warning.
	(tc_gen_reloc, md_apply_fix): Likewise.
	(pa_find_space_by_number): Likewise.
	(hppa_force_relocation): Likewise.
	(pa_block): Change i to unsigned int.
	* config/obj-som.h (obj_som_copyright): Declare.
1998-04-28 16:44:24 +00:00
Ian Lance Taylor
5e04ff140d remove PR numbers 1998-04-28 02:31:15 +00:00
Ian Lance Taylor
b6177e139c * configure.in: Change version number to 2.9.4
* configure: Rebuild.
1998-04-27 19:59:14 +00:00
Doug Evans
f2980bb478 * cgen.c (cgen_asm_finish_insn): New arg relax_p. All callers updated.
* config/tc-m32r.c (assemble_parallel_insn): No need to try
	non-relaxable variant any more.  Simplify test for nop insn.
	(md_assemble): Only scan operands if m32rx.  Set orig_insn in case
	scan of operands yields an insn different from original (e.g. a macro).
	Fix call to can_make_parallel.
1998-04-27 19:36:06 +00:00
Ian Lance Taylor
567a6d7d95 * ecoff.h: Change symbolS in function declaration to struct
symbol.
1998-04-27 19:17:00 +00:00
Ian Lance Taylor
25b5beb81a * config/tc-sh.c (parse_reg): Add casts to avoid warnings.
(md_convert_frag): Fix i18n typo.
1998-04-26 17:45:34 +00:00
Richard Henderson
94fa695eca * ecoff.c (ecoff_get_cur_proc_sym): New function.
* ecoff.h: Protoype it.
        * config/tc-alpha.c [ELF] (s_alpha_prologue): New function.
        [EVAX] (s_alpha_prologue): Delete.
        (md_pseudo_table): Update.
1998-04-26 03:15:37 +00:00
Ian Lance Taylor
ad7302a081 * config/tc-i960.c (md_assemble): Change bp_error_msg from static
array to local pointer.
	(get_args, parse_expr): Add casts to avoid warnings.
1998-04-25 18:02:12 +00:00
Ian Lance Taylor
0917e2cbea Fri Apr 24 12:47:42 1998 Philippe De Muyter <phdm@macqel.be>
* read.c (s_set): Cast xmalloc return value to fragS *.
	* config/tc-m68k.c (m68k_ip): Function made static to match
	previous forward declaration.
	(insert_reg, init_regtable, md_convert_frag_1): Likewise.
1998-04-24 16:49:58 +00:00
Nick Clifton
682639a81f miseed from previous checkin 1998-04-24 16:42:08 +00:00
Nick Clifton
d0023d7e18 Add initernationalisation macros to error strings 1998-04-24 16:28:25 +00:00
Ian Lance Taylor
755b5acaac * config/tc-ppc.c (ppc_fix_adjustable): Correct test of whether a
reloc is in the TOC csect.
	(md_apply_fix3): Correct gettext typo.
1998-04-23 23:26:20 +00:00
Nick Clifton
8efdd18035 Fix bug compiling math/k_standard.c 1998-04-23 22:00:45 +00:00
Doug Evans
cc33746dfc * config/tc-dvp.c (dvp_frob_label): Don't emit _$ versions of
local labels ($ prefix).
1998-04-23 18:13:30 +00:00
Tom Tromey
d6f3da9bc4 If xgettext fails, make Sanitize fail 1998-04-23 05:17:30 +00:00
Tom Tromey
3d96e9b4cf .Sanitize now re-computes gettext-related files 1998-04-22 22:40:45 +00:00
Tom Tromey
1158ffaf2a * po/Make-in (MKINSTALLDIRS): Don't look in $(top_srcdir). 1998-04-22 22:34:05 +00:00
Ian Lance Taylor
8081c2be07 * config/tc-i386.c (md_assemble): Print operand number rather than
using ordinal_names.
	(i386_operand): Likewise.
1998-04-22 18:54:39 +00:00
Ian Lance Taylor
e33bfde75c fix sanitization for gettext changes 1998-04-22 16:18:07 +00:00
Ian Lance Taylor
d173ccbcbb remove obsolete sanitization 1998-04-22 16:12:09 +00:00
Ian Lance Taylor
8c9272025e fix indentation in comment 1998-04-22 16:05:56 +00:00
Tom Tromey
1a9136e225 * Makefile.am (INTLLIBS): Define to work around apparent automake
bug.
	All Makefiles: Regenerated.
1998-04-22 07:01:27 +00:00
Tom Tromey
48401fcf8c * Many files: Added gettext invocations around user-visible
strings.
	* acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY,
	HAVE_LC_MESSAGES): Define.
	* dep-in.sed: Added asintl.h.
	* po/Make-in: New file.
	* gasp.c (main): Call setlocale, bindtextdomain, and textdomain.
	Include "asintl.h".
	* read.c (Z_): Renamed from `_'.
	* Makefile.am (SUBDIRS): Added po.
	(POTFILES): new macro.
	(po/POTFILES.in): New target.
	($(OBJS)): Added asintl.h.
	(HFILES): Likewise.
	(INCLUDES): Added -DLOCALEDIR, -I$(top_srcdir)/../intl.
	(as_new_LDADD): Added $(INTLLIBS).
	(as_new_DEPENDENCIES): Added $(INTLDEPS).
	(gasp_new_LDADD): Added $(INTLLIBS).
	(gasp_new_DEPENDENCIES): New macro.
	* configure, aclocal.m4: Rebuilt.
	* configure.in: Call CY_GNU_GETTEXT.  Generate po/Makefile.in and
	po/Makefile.
	(ALL_LINGUAS): Define.
	* macro.c: Include "asintl.h".
	* as.c (main): Call setlocale, bindtextdomain, and textdomain.
	* as.h: Include "asintl.h".
	* config/tc-i386.c (ordinal_names): Removed.
	(md_assemble): Changed error text to avoid ordinal_names.
	(i386_operand): Likewise.
	(reloc): Added as_bad to avoid i18n problems.
	(tc_gen_reloc): Likewise.
	* config/tc-arm.c (bad_args): Now a #define.
	(bad_pc): Likewise.
	* config/obj-vms.c (VMS_stab_parse): Changed type of
	`long_const_msg'.
	(global_symbol_directory): Unified strings to avoid i18n
	problems.
	* config/tc-m68k.c (get_reloc_code): Added some as_bad calls to
	avoid i18n problems.
	* config/tc-ns32k.c (reloc): Added as_bad to avoid i18n problems.
	* config/tc-ppc.c (md_apply_fix3): Added as_bad_where to avoid
	i18n problems.
	* config/tc-sh.c (md_convert_frag): Added as_bad to avoid i18n
	problems.
start-sanitize-v850
	* config/tc-v850.c (md_assemble): Changed C++ comment into C
	comment.
end-sanitize-v850
	* config/tc-vax.c (md_assemble): Added as_warn to avoid i18n
	problems.
	* as.c (print_version_id): Added an fprintf to avoid i18n
	problems.
	* cond.c (cond_finish_check): Added as_bad call to avoid i18n
	problems.
	* expr.c (expr): Added as_warn call to avoid i18n problems.
	* messages.c (as_assert): Changed code to avoid i18n problems.
	(as_abort): Likewise.
	* read.c (pseudo_set): Added as_bad call to avoid i18n problems.
	(s_space): Likewise.
	* po/Make-in, po/POTFILES.in, po/gas.pot: New files.
1998-04-22 06:10:03 +00:00
Ian Lance Taylor
4498e3d641 Tue Apr 21 17:01:22 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* config/tc-i386.c (check_prefix): New static function, split out
	from md_assemble.
	(struct _i386_insn): Add wait_prefix field.
	(md_assemble): Remove wait_prefix local variable.  Use
	check_prefix when adding a prefix.

	* config/tc-i386.c (current_templates): New static variable.
	(md_assemble): Remove current_templates local variable.
	(md_assemble, i386_operand): Improve error and warning messages in
	many places.  Add RESTORE_END_STRING in many places before error
	return.  Clarify some comments.

	* config/tc-i386.c (struct _i386_insn): Change seg field to a two
	element array.
	(md_assemble): Parse string instruction operands, looking for
	segment override prefixes.  Check for invalid segment prefixes on
	string instruction.
	(i386_operand): i.seg[] and max mem_operand changes for string
	insns.
	* config/tc-i386.h (EsSeg): Define.

	* config/tc-i386.h (regKludge): Define.
	(iclrKludge, imulKludge): Don't define.
	* config/tc-i386.c (md_assemble): Merge imulKludge and iclrKludge
	code.  Move ReverseRegRegmem fudges into Modrm case.  Reorder
	opcode_modifier checks to look for more common cases first.  Add
	default_seg for IsString case.
1998-04-21 21:08:39 +00:00
Ian Lance Taylor
b2bb41f625 * configure.in: Call AM_PROG_LEX rather than AC_PROG_LEX and
AC_DECL_YYTEXT.
	* configure: Rebuild with new automake and libtool.
	* aclocal.m4, Makefile.in: Likewise.

	* doc/Makefile.am (as.dvi): New target.
	* doc/Makefile.in: Rebuild.
1998-04-21 20:27:16 +00:00
Stan Cox
307edcc051 Added sparc86x support. 1998-04-18 18:12:20 +00:00
Jeff Law
9067435521 * config/tc-mips.c (mips_ip): Note when we use get match on
the full instruction name.
        (mips_ip): For '&' DEST completer handling, if we got a full match
        then the DEST completer is implicitly .wxyz.
1998-04-18 07:20:01 +00:00
Doug Evans
dd7facebb7 * config/tc-dvp.c
(vif_insn_type): New function.
	(md_apply_fix3): Don't validate user specified length if unpack insn
	and wl > cl.
1998-04-16 22:07:22 +00:00
Doug Evans
a675646810 (vif_insn_type): New function.
(md_apply_fix3): Don't validate user specified length if unpack insn
	and wl > cl.
1998-04-16 22:07:02 +00:00
Doug Evans
40f3c6f84f * config/tc-dvp.c (unpackloc_sym): Delete. All uses deleted. 1998-04-16 18:51:58 +00:00
Doug Evans
a5f7c460a1 * gas/testsuite/dvp/{vif-1.[sd],vif-3.s}: Update, '*' no longer
supported as unpack address.
1998-04-16 18:27:15 +00:00
Richard Henderson
c02e446b0b * symbols.c (resolve_symbol_value) [O_symbol]: Also store the symbol
back into the expression to handle add/sub simplification correctly.

PR 15634
1998-04-15 22:34:05 +00:00
Frank Ch. Eigler
65a172239d * Customer specs changed one R5900 COP2 instruction bit-pattern.
[ChangeLog]

Wed Apr 15 10:35:59 1998  Frank Ch. Eigler <fche@cygnus.com>

        * config/tc-mips.c (mips_ip): Specs changed for
	VCALLMSR instruction.


[testsuite/ChangeLog]

Wed Apr 15 13:08:30 1998  Frank Ch. Eigler <fche.cygnus.com>

        * gas/mips/vu0.s: Updated test case for changed specs of
	VCALLMSR instruction.
        * gas/mips/vu0.d: Corresponding change.
1998-04-15 17:37:50 +00:00
Catherine Moore
2cf51495fa Remove 4300 and 5400 from hilo_interlocks definition. 1998-04-15 14:11:33 +00:00
Nick Clifton
27aa0c7e55 Added support for undocumented variant of 'msr <psrf>, #<n>' instruction. 1998-04-13 23:55:09 +00:00
Doug Evans
7ebb61af92 * config/tc-dvp.c (md_apply_fix3): Mark fixup for mpg loaded vu
branch error as being done so we don't try to emit a reloc.
1998-04-13 19:22:26 +00:00
Doug Evans
c94a25c228 tweak comment regarding state transitions 1998-04-10 18:34:49 +00:00
Doug Evans
07b2042891 * config/tc-dvp.c (VU_LABEL_PREFIX): New macro.
(compute_mpgloc): New function.
	(eval_expr): New arg `cpu'.  All callers updated.
	(non_vu_insn_seen_p): New static global.
	(RELAX_{MPG,DIRECT,VU,ENCODE,GROWTH,DONE_}): New macros.
	(struct dvp_fixup): New member `cpu'.
	(assemble_one_insn): New args init_fixup_count, fixup_offset.
	All callers updated.
	(md_assemble): Set non_vu_insn_seen_p as appropriate.
	(assemble_vif): Set `cpu' field of fixup.
	Clean up calls to frag_var.  Recorded mpgloc is now in bytes.
	(assemble_vu_insn): Delete, contents moved into ...
	(assemble_vu): ... here.  Don't record fixups until after parsing
	both upper and lower insns.  If branch insn inside mpg, properly
	compute target address.
	(dvp_frob_label): Create copies of vu labels inside mpg's.
	(dvp_relax_frag): Clean up.
	(md_convert_frag): Ditto.
	(md_apply_fix3): Signal error if mpg embedded vu code has branch
	to undefined label (not currently supported).
	(eval_expr): New arg `cpu'.  All callers updated.
	(insert_operand_final): Convert mpgloc from bytes to dwords.
	(s_endmpg): Use compute_mpgloc to update $.mpgloc.
	(s_state): If switching to vu state, initialize $.mpgloc.
1998-04-10 01:37:00 +00:00
Doug Evans
e15073a2ff * expr.h (expr_build_dot): Declare.
* expr.c (expr_build_dot): New function.
1998-04-09 17:43:37 +00:00
Doug Evans
a461558bba * symbols.c (max_indent_level): New global.
(print_symbol_value_1): Use it.
1998-04-09 17:32:27 +00:00
Jeff Law
f1b8b0f4f1 * gas/testsuite/all/gas.exp: No longer expect failures for
difference of undefined symbols on mn10x00 targets.
1998-04-09 00:46:37 +00:00
Doug Evans
8dc11c35a7 * symbols.c (print_binary): New function.
(print_expr_1): Call it.
1998-04-08 23:18:54 +00:00