Commit graph

2500 commits

Author SHA1 Message Date
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
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
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
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
bc67c82378 Fix PR16116 - stoe previous subseg state with prev instructionss. 1998-06-05 17:51:58 +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
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
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
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
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
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
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
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
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
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
Catherine Moore
7ccd2d11c4 *** empty log message *** 1998-05-19 13:20:47 +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
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
Nick Clifton
ca6a899da7 Change command line switch fron --enable-special to --m32rx-enable-special 1998-05-14 20:54:47 +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
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
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
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
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
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
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
d173ccbcbb remove obsolete sanitization 1998-04-22 16:12:09 +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
40f3c6f84f * config/tc-dvp.c (unpackloc_sym): Delete. All uses deleted. 1998-04-16 18:51:58 +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
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
Doug Evans
8dc11c35a7 * symbols.c (print_binary): New function.
(print_expr_1): Call it.
1998-04-08 23:18:54 +00:00
Doug Evans
bfb27620b9 * config/tc-dvp.c (md_convert_frag): Fix thinko. 1998-04-07 19:26:40 +00:00
Doug Evans
a9589a2ca7 * config/tc-dvp.c (assemble_vif): 0 is a valid length value (= max+1).
(install_vif_length): 0 is a valid length value (= max+1).
1998-04-07 03:22:22 +00:00
Doug Evans
b25ce8e1fa * config/tc-dvp.c (assemble_vif): Watch for macro insns. 1998-04-07 00:12:27 +00:00
Ian Lance Taylor
5388e7d159 Mon Apr 6 12:06:39 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* config/tc-m68k.c (m68k_ip, case "#B"): Install the offset of the
	operand in the opcode.
1998-04-06 16:07:22 +00:00
Doug Evans
050ac694c5 * config/tc-dvp.c (assemble_vif): Put relaxable insns in their
own fragment.
1998-04-03 20:15:57 +00:00
Ian Lance Taylor
dd4dec6ac7 Fri Apr 3 11:58:19 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* config/tc-i386.h: Reorder operand flags and opcode modifier
	flags for clarity.  Remove unused definitions: Unknown,
	ImmUnknown, DispUnknown, NoModrm.
	* config/tc-i386.c (type_names): Add missing Debug type.
	(md_assemble): Better duplicate prefix checking.  Quicker string
	instruction check via new opcode_modifier flag.
1998-04-03 17:04:07 +00:00
Ian Lance Taylor
7f633717a6 * doc/as.texinfo (Invoking): Clarify -Wa example. 1998-04-03 16:47:00 +00:00
Gavin Romig-Koch
3c69baf939 * config/tc-mips.c (mips_pseudo_table): Add weakext entry.
(s_mips_weakext): Define.
	* ecoff.c (ecoff_directive_weakext): Don't define if defined(TC_MIPS).
	* config/obj-ecoff.c (obj_pseudo_table): Don't add weakext if
	defined(TC_MIPS).
1998-04-03 14:13:52 +00:00
Jeff Law
24733f0ed2 * config/tc-mn10200.c (tc_gen_reloc): The difference of two symbols
is an error if the value can not be computed at assembly time.
        * config/tc-mn10300.c (tc_gen-reloc): Likewise.
1998-04-03 05:42:44 +00:00
Ian Lance Taylor
335c5c6c9d * gasp.c (main): Set next field of new include_path structure to
NULL.  From Avery Pennarun <averyp@gdc.ca>.
1998-04-03 02:51:47 +00:00
Ian Lance Taylor
91852c944d fix copyright 1998-04-01 19:44:29 +00:00
Nick Clifton
f71d1797c5 Add patch from Dean Deaver (deaver@amt.tay1.dec.com) via Richard Earnshaw
(richard.earnshaw@arm.com) to fix addressing mode 2 using rrx.
Add super interworking support.
1998-04-01 19:17:20 +00:00
Ian Lance Taylor
8f6a0cad4a Wed Apr 1 13:13:20 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* doc/as.texinfo: Use @itemx for a secondary item in a table.
	* doc/c-hppa.texi: Likewise.
1998-04-01 18:14:54 +00:00
Ian Lance Taylor
08eefd3ef1 x 1998-04-01 17:00:11 +00:00
Catherine Moore
cb720e4fb6 Mods to generate RELA style relocations instead
of REL style.
1998-04-01 16:53:51 +00:00
Ian Lance Taylor
b9b299ba24 Final tweaks for dependency building with relative srcdir, and rebuild
dependencies.
1998-03-31 23:58:45 +00:00
Ian Lance Taylor
ba91002682 * Makefile.am (DEP_INCLUDES): New variable.
(.dep1): Change to work when srcdir is not an absolute path.
	(.tcdep, .objdep, .dep2): Likewise.
	* Makefile.in: Rebuild.
1998-03-31 22:54:00 +00:00
Ian Lance Taylor
504a476485 * config/tc-i386.h, config/tc-i386.c: Revert March 24
LinearAddress patch.
1998-03-31 02:36:59 +00:00
Ian Lance Taylor
f3aa01e2a4 * configure.in: Set version to 2.9.1.
* configure: Rebuild.
1998-03-30 22:35:51 +00:00
Ian Lance Taylor
8a81fdbbd5 Mon Mar 30 11:22:08 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* config/tc-i386.h (FWait): Define.
	* config/tc-i386.c (md_assemble): Emit fwait prefix before any
	other prefixes.  Check FWait flag in opcode table to see which
	instructions require an fwait prefix.
1998-03-30 16:24:28 +00:00
Ian Lance Taylor
14ff3d69bc Mon Mar 30 10:12:00 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* stabs.c (get_stab_string_offset): Always create a stab string
	section.
1998-03-30 15:13:33 +00:00
Ian Lance Taylor
c246596af7 Fix gcc -Wall warnings. See ChangeLog for details. 1998-03-29 03:45:46 +00:00
Ian Lance Taylor
19db82d5fc * config/tc-m68k.c (m68k_ip): Check legal addressing modes for
mcf5200 just as we do for m68000.
	(m68k_init_after_args): Likewise.
	(md_estimate_size_before_relax): Likewise.
1998-03-27 17:48:28 +00:00
Ian Lance Taylor
227b6b55fa Thu Mar 26 23:07:18 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* config/tc-i386.c (md_assemble): Swap template arguments to
	CONSISTENT_REGISTER_MATCH macro in reverse direction test.
	This macro is currently symmetric, so passing them the wrong
	way didn't cause any problem, but may if the macro is changed
	in the future.
	After copying template to i.tm, use i.tm. rather than t-> to
	access fields, and make t a const*
	Move i.tm.operand_types[] swap to immediately after the copy.
1998-03-27 04:10:05 +00:00
Doug Evans
5c4442531f * config/tc-dvp.c (s_endunpack): Round up to word boundary after
we've computed the data length.
1998-03-26 21:34:03 +00:00
Doug Evans
d747041128 changelog entry for yesterday's tc-dvp.[ch] changes 1998-03-26 17:59:21 +00:00
Doug Evans
e5d62150f3 * expr.h (expr_build_uconstant): Add prototype.
(expr_build_unary,expr_build_binary): Add prototypes.
	* expr.c (expr_build_uconstant): New function.
	(expr_build_unary,expr_build_binary): New functions.
1998-03-25 22:03:19 +00:00
Ian Lance Taylor
36abac7fd3 Wed Mar 25 13:10:42 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
* gasp.c (IS*): Cast argument to unsigned char, not unsigned int.
        * macro.c (macro_expand_body): Increase buffer size.
        * messages.c (as_warn): Likewise.
	(as_warn_where, as_bad, as_bad_where): Likewise.
1998-03-25 18:12:52 +00:00
Ian Lance Taylor
fb8a5cecae Based on patch from H.J. Lu <hjl@gnu.org>:
* Makefile.am (DISTSTUFF): New variable.
	(diststuff): New target.
	* Makefile.in: Rebuild.
1998-03-25 18:00:09 +00:00
Nick Clifton
c671714870 Fix PR15434 by emitting a nop if a section ends with a 16 bit instruction. 1998-03-25 00:54:54 +00:00
Ian Lance Taylor
75777e9b0e * config/obj-coff.c (obj_coff_bss): Compile unconditionally. Call
s_lcomm rather than obj_coff_lcomm.
	(obj_pseudo_table): Compile .bss pseudo-op unconditionally.
1998-03-25 00:48:51 +00:00
Ian Lance Taylor
dddc8a823d Tue Mar 24 18:30:58 1998 H.J. Lu <hjl@gnu.org>
* config/tc-i386.h (LinearAddress): Define.
	* config/tc-i386.c (md_assemble): If LinearAddress is set for the
	instruction, don't use a default segment.
1998-03-24 23:34:45 +00:00
Ian Lance Taylor
1cc7b6b26c Mon Mar 23 18:53:40 1998 Joel Sherrill <joel@OARcorp.com>
* configure.in: (sh*-*-rtems*): Switched from ELF to COFF.
	* configure: Rebuild.
1998-03-23 23:54:49 +00:00
Doug Evans
e7201c9e36 * config/tc-dvp.c (insert_mpg_marker): Update mpgloc. 1998-03-23 21:19:04 +00:00
Jeff Law
04f385a916 * config/tc-mips.c (validate_mips_insn): Handle r5900 operands. 1998-03-23 07:46:11 +00:00
Jeff Law
0bc0e337fc * config/tc-mips.c (append_insn): Handle BFD_RELOC_MIPS16_S3.
(mips_ip): Handle 'O' operand.
        (md_apply_fix): Handle BFD_RELOC_MIPS16_S3.
1998-03-22 20:17:34 +00:00
Ian Lance Taylor
fc6f7f6cb7 * aclocal.m4, configure: Rebuild with libtool 1.2. 1998-03-21 00:16:42 +00:00
Jeff Law
981ce1861f * config/tc-mips.c: Change '%' to '#' in r5900 code to avoid conflict
with vr5400 support.
1998-03-20 16:04:15 +00:00
Nick Clifton
15752c5ba1 Fix for PR15358 (out of range PC relative branches not being caught)
submitted by Jonathan Walton, c/o Tony Thompson at ARM.
1998-03-20 00:09:24 +00:00
Jeff Law
059a638882 * config/tc-mips.c (mips_ip): Handle opcodes which have the form
"name.completer" where only the name is actually in the opcode
        table.  Allow various operands for base register in load/store
        instructions.  Handle various new argument characters for the
        cop2/vu0 co-processor.
1998-03-19 21:28:24 +00:00
Frank Ch. Eigler
4ebb52f117 * Added forced 16-byte alignment to a sky-only (tc-dvp) assembler
pseudo-op: `.dmadata'.
1998-03-18 19:02:00 +00:00
Nick Clifton
22d3fbd6a2 Add thumb-pe target. 1998-03-18 17:31:54 +00:00
Doug Evans
8903601144 * config/tc-dvp.c (s_enddmadata): Always fill dma data out to 16
byte boundary.
1998-03-17 22:19:12 +00:00
Doug Evans
3b4389e23e * config/tc-dvp.h (TC_START_LABEL): Define.
* config/tc-dvp.c (force_mach_label): New function.
	(md_begin,create_colon_label,s_dmadata): Use it.
1998-03-17 22:10:10 +00:00
Ken Raeburn
9636f59b6a * itbl-lex.l (yywrap): Don't define if already defined as a macro. 1998-03-17 22:01:10 +00:00
Doug Evans
7f28a81d93 * config/tc-dvp.c (md_begin): Turn dma/vif packing on by default.
(assemble_dma): Only output 8 bytes for actual dma insn if dma/vif
	packing is enabled.  Emit VIF cpu marker after dma insn.
1998-03-17 18:51:57 +00:00
Doug Evans
fa3671a34f * config/tc-dvp.c (md_pseudo_table): Make .quad 16 bytes. 1998-03-16 18:22:18 +00:00
Tom Tromey
008a80d207 Merged recent change from rembrandt branch
* depend.c (quote_string_for_make): New function.
	(wrap_output): Use it.
1998-03-14 00:27:43 +00:00
Doug Evans
6d0a565ce2 * config/tc-dvp.h (TC_FIX_TYPE,TC_INIT_FIX_DATA): Define.
* config/tc-dvp.c (compute_nloop,check_nloop): New functions.
	(gif_insn_frag_loc): New static global.
	(assemble_gif): Record frag and location frag of insn.
	(md_apply_fix3): Validate user specified nloop if we couldn't do
	it earlier.
	(s_endgif): Queue fixup to install nloop if we can't compute it here.
1998-03-13 00:17:35 +00:00
Doug Evans
ba4be194df (insert_mpg_marker): New function.
(insert_file): New args insert_marker, size.  All callers updated.
	(assemble_vif): Rewrite varlen insn handling.
	(assemble_vu): Call insert_mpg_marker when 256th insn reached.
	(s_enddirect,s_endunpack): Rename arg to internal_p.
1998-03-07 03:22:18 +00:00
Doug Evans
65309b9834 (install_vif_length): Second pass at unpack len calcs.
(s_endunpack): Round data up to word boundary.
1998-03-07 01:43:32 +00:00
Joern Rennecke
5f1a734712 Remove SH4 sanitation. 1998-03-07 00:31:19 +00:00
Gavin Romig-Koch
e599ab169e Scrap the un-needed vr4111 stuff. 1998-03-06 21:22:59 +00:00
Doug Evans
d030671bfc * config/tc-dvp.c (s_endgif): Fix nloop calc and test. Warn if
insufficient data present.  Fix insertion of computed nloop value.
1998-03-06 19:40:53 +00:00
Gavin Romig-Koch
2d035a507f * config/tc-mips.c : Added vr4320 similar to vr4300. 1998-03-03 16:45:13 +00:00
Richard Henderson
626d6b2e55 * config/tc-alpha.c (md_shortopts, md_longopts, md_parse_option):
Recognize -GN and -relax.
        (md_begin): Initialize gp size from -G switch.
        (alpha_force_relocation): Always force if -relax.
        (alpha_align): Take a new argument that will specify when to
        emit an R_ALPHA_ALIGN relocation (though we don't do that now).
        Change all callers.  Emit nop alignment padding as nop+unop pair.
1998-03-01 01:34:22 +00:00
Richard Henderson
c35d42c21a * config/obj-elf.c [TC_ALPHA]: Include <elf/alpha.h>.
* config/tc-alpha.h (ELF_TC_SPECIAL_SECTIONS): New.
1998-03-01 01:08:03 +00:00
Michael Meissner
6c116dfc4b Delayed jsr instructions do not require padding to next long word boundary 1998-02-27 19:15:38 +00:00
Doug Evans
1fb06680cf * config/tc-dvp.c (assemble_vif): Insert cpu type marker before
inserted binary files.
1998-02-27 18:10:03 +00:00
Doug Evans
8ca85ce00a * config/tc-m32r.c (optimize): New static local.
(md_shortopts): Add -O.
	(md_parse_option): Recognize it.
	(md_show_usage): Document it.
	(md_assemble): Don't try to combine insns in parallel if !optimize.
1998-02-25 19:54:59 +00:00
Nick Clifton
39149be224 Fix bug detected by Michael snyder. 1998-02-25 02:05:09 +00:00
Doug Evans
b439fb8117 (s_endgif): Update. NLOOP is in quadwords for IMAGE mode now. 1998-02-25 01:05:10 +00:00
Doug Evans
9152bebae6 (UNIQUE_LABEL_PREFIX): New macro.
(unique_label): Use it.
	(assemble_gif): Emit start label before mach label.
	(s_endgif): Update.
1998-02-24 22:08:40 +00:00
Doug Evans
b6d331b9cd (create_colon_label): New argument `sto'. All callers updated.
(record_mach): New argument `force_next_p'.  All callers updated.
	(cpu_sto): New function.
1998-02-24 20:40:41 +00:00
Doug Evans
69312dac86 * config/tc-dvp.h (tc_frob_label): Define.
* config/tc-dvp.c (dvp_frob_label): New function.
1998-02-24 19:04:22 +00:00
Doug Evans
e9cb12e459 * config/tc-dvp.c (assemble_dma): Do alignment before parsing insn.
(setup_dma_autocount): Renamed from setup_autocount.  New argument
	inline_p.  All callers changed.  Fix word address of count.
	(parse_dma_addr_autocount): Fix word address of address.
1998-02-24 00:00:18 +00:00
James Lemke
c74ca124fe Added sanitization for my latest changelog entry. 1998-02-23 23:50:39 +00:00
James Lemke
96f5b6b2a5 Instead of changing the names of .bss etc, add .vubss etc via
the macro ELF_TC_SPECIAL_SECTIONS.  As per Ian's suggestion.
1998-02-23 22:27:12 +00:00
Doug Evans
a15a45e51f * cgen.c: #include symcat.h.
* config/tc-m32r.c: Likewise.
1998-02-23 19:30:18 +00:00
Jeff Law
65d2c7d3de * config/tc-mips.c (mips_ip, case 'P'): Make 'P' arguments be
absolute expressions instead of '$' prefixed register names.
1998-02-23 17:26:25 +00:00
Richard Henderson
56c99b3ea7 * read.c (s_set): Record file and line info for symbols when -as.
(pseudo_set): Don't overwrite that dummy fragment.

PR 14986
1998-02-22 06:36:20 +00:00
Doug Evans
83920d292b (vu_count): New static local.
(assemble_vif): Temporary hack to properly align mpg/direct data.
	(assemble_vu): Insert mpg every 256 insns.
1998-02-21 07:44:25 +00:00
Doug Evans
ee753b4b6b tc-dvp.c (cur_mach): New static local.
(record_mach): New function.
	(md_begin): Initialize `cur_mach'.
	(assemble_*): Record current mach type.
1998-02-21 06:28:46 +00:00
Doug Evans
498fcb9cdb (asm_state_stack): Maintain stack of parsing states.
({push,pop,set}_asm_state): New functions.
	(CUR_ASM_STATE): Renamed from cur_asm_state, all uses updated.
1998-02-21 03:26:47 +00:00
Doug Evans
8151801a09 (asm_state): New state ASM_GIF.
(gif_{insn_type,data_name,insn_frag}): New static locals.
	(md_assemble): Watch for .endgif if in ASM_GIF state.
	(assemble_gif): Complete.
	(s_endgif): Complete.
1998-02-21 02:12:15 +00:00
Doug Evans
d3c6610c00 * confirg/tc-dvp.c (md_assemble): Handle ASM_DIRECT state.
(dvp_parse_done): Comment out contents.
	(s_enddirect,s_endmpg,s_endunpack): Call demand_empty_rest_of_line.
	(s_state): Handle .vu in included file.
1998-02-20 20:48:39 +00:00
Ian Lance Taylor
c634d13e18 * config/tc-ppc.c (md_pseudo_table): Add "section".
(ppc_named_section): New static function.
1998-02-20 20:04:09 +00:00
Richard Henderson
9db4b37c3f * tc-ppc.c (ppc_biei): Cache the last symbol we inserted
so we don't have to scan the entire list.
1998-02-20 06:27:12 +00:00
Fred Fish
a1bbc57c69 Fixup my email addresses to be at cygnus.com 1998-02-20 05:52:58 +00:00
Fred Fish
ccc12f73ce * config/tc-d30v.c (parallel_ok): For the explicitly parallel
case, allow the parallel instructions to modify the same flag
 	bits.
PR 14883
1998-02-20 05:47:40 +00:00
Richard Henderson
ecc9627d6f * listing.c (list_symbol_table): Categorize symbols by
undefined_section rather than sy_frag->line == NULL.

PR 14986
1998-02-20 00:16:51 +00:00
Doug Evans
915729414d * config/tc-dvp.c (LOCAL_LABEL_PREFIX,END_LABEL_PREFIX): New macros.
(inline_dmadata): Renamed from s_dmadata_implied.
	(assemble_one_insn): Rewrite dma operand processing.
	(md_apply_fix3): Handle DVP_OPERAND_DMA_NEXT.
	(unique_name,setup_autocount): New functions.
1998-02-19 22:51:08 +00:00
Richard Henderson
9c0e2b9ee4 * Makefile.am (install-exec-local): Install properly when ln
fails or tooldir == prefix.
1998-02-19 07:44:04 +00:00
Nick Clifton
65850016ba Special case handling of updates to the condition bit to allow for the fact
that it is shadowed by several registers.
1998-02-19 02:13:27 +00:00
Doug Evans
1028c33feb * tc-dvp.c: Allow FAKE arguments to have a parser handler. 1998-02-19 00:40:15 +00:00
Doug Evans
19f12fb41c * config/tc-dvp.c (parse_float): New function.
(assemble_vu): Handle loi insns.
	(assemble_one_insn): Simplify suffix parsing.
	Handle DVP_OPERAND_FLOAT.
1998-02-18 23:56:15 +00:00
Nick Clifton
20419451ad Added --Wp and --Wnp abbreviations for --[no-]warn-explicit-parallel-conflicts.
Forced parallel constructions to use non-relaxable aliases of insns.
1998-02-18 22:35:08 +00:00