Commit graph

1578 commits

Author SHA1 Message Date
Nick Clifton
a03925a2fc Fixed generation of thumb function symbols. 1998-09-05 02:58:46 +00:00
Richard Henderson
b90891398c * config/tc-sparc.c (sparc_ip): Allow all digits in an instruction
to handle edge8 and edge16.
1998-09-02 18:30:59 +00:00
Richard Henderson
11e07ad09a * config/obj-elf.c (obj_elf_vtable_inherit): Print error message
before we clobber the symbol involved.
1998-08-31 16:52:18 +00:00
Catherine Moore
cdb3d5f902 * config/tc-arm.c: Remove OBJ_ELF definitions for
S_GET_STORAGE_CLASS and S_SET_STORAGE_CLASS.  Only
        use arm_adjust_symtab for OBJ_COFF.
        (armelf_adjust_symtab):  New Routine.
        * config/tc-arm.h:  Define obj_adjust_symtab to
        armelf_adjust_symtab for OBJ_ELF.
1998-08-31 16:06:30 +00:00
Richard Henderson
a1624e3f1b * configure.in: Make all i386-elf targets use bfd_gas.
* config/tc-i386.c (tc_i386_force_relocation): New.
        (tc_i386_fix_adjustable): Don't fix vtable relocs.
        (md_apply_fix3): Likewise.
        (tc_gen_reloc): Handle them.
        * config/tc-i386.h (TC_FORCE_RELOCATION): Always define, calling
        tc_i386_force_relocation.
1998-08-30 05:23:16 +00:00
Nick Clifton
080a50b635 Improve formatting of --help output 1998-08-24 20:41:35 +00:00
Ian Lance Taylor
61c49d6652 Thu Aug 20 23:17:04 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* config/tc-i386.c (md_assemble): Only warn for address/data size
	prefixes.
1998-08-21 03:18:04 +00:00
Ian Lance Taylor
6e60709bd3 rework last patch 1998-08-20 21:58:15 +00:00
Nick Clifton
e93a31e414 do not adjust relocations against thumb function names as the linker needs
this information.
1998-08-20 21:47:17 +00:00
Ian Lance Taylor
af98e836ec check for mentions of sanitized files 1998-08-20 21:16:39 +00:00
Catherine Moore
38a29f0275 Add sanitization markers. 1998-08-19 16:40:22 +00:00
Catherine Moore
aae39e3784 tc-arm.h: Define obj_fix_adjustable for OBJ_ELF.
tc-arm.c (arm_fix_adjustable): New routine.
1998-08-18 17:03:48 +00:00
Ian Lance Taylor
6b34ac5a5c * config/tc-mips.c (macro): Correct M_SGE_I/M_SGEUI_I case for a
small immediate constant to use the constant itself rather than
	always using 1.
1998-08-13 19:09:25 +00:00
Nick Clifton
80522b7d5b Document .req directive
Improve error message when unrecognised register name is encountered.
1998-08-12 17:32:39 +00:00
Ken Raeburn
3d759c53c9 sanitize-vr5400 -> sanitize-cygnus, for 98r2 1998-08-12 10:50:35 +00:00
Richard Henderson
a582ac33a3 * config/tc-alpha.c (alpha_fix_adjustable): Don't adjust weak syms. 1998-08-08 22:23:44 +00:00
Nick Clifton
41129369a6 Set BFD private flags based on command line switches. 1998-08-05 22:55:12 +00:00
Catherine Moore
35fa3babe2 add armelf. 1998-08-02 17:30:11 +00:00
Richard Henderson
edc27ea5da * as.h (debug_info_type): Add entries for unspecified and dwarf*.
* ecoff.c (ecoff_generate_asm_lineno): Take no arguments; call
        as_where ourselves.  Provide a stub for !ECOFF_DEBUGGING.
        * ecoff.h: Move ECOFF_DEBUGGING protection inside GAS_ECOFF_H.
        Move ecoff_generate_asm_lineno outside ECOFF_DEBUGGING protection.
        * read.c (generate_lineno_debug): Tidy ECOFF bits.  Use
        DEBUG_UNSPECIFIED rather than DEBUG_NONE for initial test.
        * config/obj-elf.h (ECOFF_DEBUGGING) [TC_ALPHA]: Define to a variable.
        (SEPARATE_STAB_SECTIONS): Conditionalize on value of ECOFF_DEBUGGING.
        (INIT_STAB_SECTION): Likewise.
        (OBJ_PROCESS_STAB): Likewise.

        * config/tc-alpha.c (md_longopts): New options -mdebug/-no-mdebug.
        (md_parse_option): Watch for them.
        (alpha_cur_ent_sym, alpha_flag_mdebug): New variables.
        (md_begin): Kill neverdef code.
        (s_alpha_ent, s_alpha_end, s_alpha_mask, s_alpha_frame): New.
        (s_alpha_prologue): Watch alpha_cur_ent_sym.
        (s_alpha_coff_wrapper): New.
        (md_pseudo_table): Trap all ECOFF pseudos.
1998-08-02 02:39:52 +00:00
Ron Unrau
4f528afaf1 Start of changes to remove mdebug section from mips*-elf
Based on MIPS_STAB_ELF definition
        * acconfig.h: undef if not configured
        * config.in: undef if not configured
        * config/mips-elf.h: only set ECOFF debugging if not stabs-in-elf
        * config/tc-mips.c (s_ent): set BSF_FUNCTION
        * stabs.c (s_stab_generic): flush frag
1998-07-31 21:56:15 +00:00
Catherine Moore
1667e4c2e0 * config/tc-arm.h: Add definitions for OBJ_ELF. 1998-07-31 21:44:56 +00:00
Catherine Moore
0a8aeb55e4 * configure.in: (arm-*-elf): Handle.
(thumb-*-elf): Handle.
        * configure:  Regenerate.
        * read.c (stringer): Fix typo in comment.
        * write.c (fixup_segment): Don't add symbol value to addend if
        TC_ARM and OBJ_ELF.
        * config/tc-arm.c (md_section_align):  Don't align dwarf debug
        sections.
        (tc_gen_reloc):  Always set the reloc addend to fixp->fx_offset
        for OBJ_ELF.
1998-07-31 21:15:51 +00:00
Frank Ch. Eigler
e21cafde4e * Fix for PR 16389, brought over from d30v branch.
Thu Jul 30 21:38:43 1998  Frank Ch. Eigler  <fche@cygnus.com>
	* config/tc-d30v.c ({cur,prev}_left_kills_right_p): New variables.
	(write_2_short): Emit warning if new flag is set.
	(do_assemble): Set flags if left instruction is one of special
	"right-instruction-killer" type.
1998-07-30 19:41:18 +00:00
Jeff Law
711eeac0eb * config/tc-mn10300.c (md_assemble): Fix "errmsg" initialization
to work with internationalization code.  Issue an error when two
        operands match that are not allowed to match.
1998-07-28 17:03:05 +00:00
Ian Lance Taylor
cc88a10633 remove d30v sanitization 1998-07-24 03:39:19 +00:00
Jeff Law
41e9f56c74 * config/tc-mn10300.c (md_assemble): Make sure "errmsg" has a non-NULL
value.
1998-07-23 19:20:47 +00:00
Frank Ch. Eigler
e4d7741205 * Bringing over sky (dvp) gas change from branch.
Wed Jul 22 17:39:28 1998  Frank Ch. Eigler  <fche@cygnus.com>
        * config/tc-dvp.c (parse_float): Accept 0xhex constants
        also for VU LOI operand.
1998-07-22 18:38:27 +00:00
Nick Clifton
99bf7e37cc Changed format of help message 1998-07-17 18:44:05 +00:00
Ian Lance Taylor
4a07363fae Tue Jul 14 12:33:44 1998 Chris Torek <torek@bsdi.com>
* config/tc-sparc.c (log2): New static function.
	(s_reserve): Use log2 to convert alignment before calling
	record_alignment.
	(s_common): Use log2 to convert alignment before calling
	record_alignment and frag_align.
	(sparc_cons_align): Use log2.
1998-07-14 16:44:28 +00:00
Ian Lance Taylor
04a92367bc * config/tc-sparc.c (sparc_handle_align): Reindent a bit. Correct
initialization of waddr.
	(sparc_elf_final_processing): Add default case to switch.
1998-07-14 15:59:28 +00:00
Nick Clifton
0c407dd6dd Changed format of help output 1998-07-10 23:01:30 +00:00
Ian Lance Taylor
5819d6324a Tue Jul 7 13:00:37 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* config/tc-i386.c (i386_operand): Don't set the size of an
 	immediate address based solely on the suffix and the mode.

	* config/tc-i386.c (md_assemble): Add assertion to make sure
	overlap2 does not set Imm.
1998-07-07 17:20:59 +00:00
Ian Lance Taylor
4edc93e913 Tue Jul 7 13:00:37 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
* config/tc-i386.c (space_chars): Remove. The scrubber converts
	sequences of whitespace to a single space.
	(is_space_chars): Just compare with space.
	(md_begin): Don't initialize space_chars.
	(md_assemble): Just skip a single whitespace character.
	(i386_operand): Rewrite base-index parsing to use new
	parse_register, and to skip white space.  Skip white space in a
	number of other places too.  Don't give error message if
	parse_register fails.
	(parse_register): Change reg_string parameter to be non-const.
	Add end_op parameter.  Skip white space after the `%', and return
	end of register string.  Give error message here rather than
	caller.
1998-07-07 17:09:55 +00:00
Ian Lance Taylor
8e6950e33b Thu Jul 2 14:06:22 1998 Klaus Kaempf <kkaempf@rmi.de>
* obj-vms.c: Add C++ support with ctors/dtors sections.  Add weak
	symbol definitions.
	(Ctors_Symbols, Dtors_Symbols): New symbol chains.
	(ps_CTORS, ps_DTORS): New section types.
	(vms_fixup_xtors_section): New function
	(Ctors_Psect, Dtors_Psect): Define.
	(IS_GXX_XTOR): Define
	(global_symbol_directory): Change check of gxx_bug_fixed to 0.
	Filter static constructors/destructors and add to
	Ctors_Symbols/Dtors_Symbols chain.
	(vms_write_object_file): Write Ctors_Symbols/Dtors_Symbols to
	appropriate section.

        * tc-alpha.h (TARGET_FORMAT): Rename "evax-alpha" to "vms-alpha".
	* makefile.vms: Merge vax/vms support.
1998-07-02 18:55:33 +00:00
Richard Henderson
7e6566495b * config/obj-elf.c (obj_elf_vtable_inherit, obj_elf_vtable_entry): New.
(elf_pseudo_table): Add them.
        * config/tc-mips.c (mips_force_relocation): Force vtable relocs.
        (md_apply_fix): Accept them.
        (mips_fix_adjustable): Don't adjust them.
        (tc_gen_reloc): Mung BFD_RELOC_VTABLE_ENTRY for Rel.
        * config/tc-ppc.c (md_apply_fix3): Accept vtable relocs.
        * config/tc-ppc.h (TC_FORCE_RELOCATION_SECTION): Force vtable relocs.
        (tc_fix_adjustable): Don't adjust them.
1998-07-02 05:34:36 +00:00
Joern Rennecke
d1a7caf901 I found that the relax failure for execute/930628-1.c is due to gas
incorrectly relaxing an out-of-range conditional branch with delay slot.
It turned:
                        bf.s    L6              (slot mov.l   r12,@(44,r0))
into:

   2c:  8f 01 a0 8b     bf.s    32 <_main+32>   (slot bra       L6)
   30:  00 09           nop
   32:  10 cb           mov.l   r12,@(44,r0)

	* config/tc-sh (COND_JUMP_DELAY, COND12_DELAY_LENGTH): Define.
	Changed all users of COND12_DELAY.
1998-07-01 20:42:42 +00:00
Gavin Romig-Koch
b08a983c45 * config/tc-mips.c (prev_insn_labels): New.
(mips_fix_4011_branch_bug): New.
	(append_insn): Watch for and handle branchs with labels.
	(mips_no_prev_insn): Initialize prev_insn_labels.
	(md_longopts,md_parse_option): Add {no-}fix-4011-branch-bug option.
1998-06-29 13:38:34 +00:00
Jeff Law
3be26805cc * config/tc-mn10300.c (set_arch_mach): New function.
(md_pseudo_table): Add pseudo-ops to set the current machine type.
        (md_begin): Default to mn10300 mode.
        (md_assemble): Only accept instructions for the core mn10300
        chip and the active machine type.
1998-06-26 17:24:34 +00:00
Ian Lance Taylor
35111bf8a7 * subsegs.h (segment_info_type): Give the struct a name.
* config/tc-h8300.h (tc_reloc_mangle): Add prototype.
	* config/tc-h8500.h (tc_reloc_mangle): Declare.
	* config/tc-sh.h (sh_coff_reloc_mangle): Add prototype.
	* config/tc-w65.h (tc_reloc_mangle): Declare.
	* config/tc-z8k.h (tc_reloc_mangle): Declare.
1998-06-24 23:08:26 +00:00
Ian Lance Taylor
499ecd2f43 Wed Jun 24 11:50:54 1998 Klaus Kaempf <kkaempf@progis.de>
* config/obj-vms.c (Create_VMS_Object_File): Force binary file.
1998-06-24 15:54:05 +00:00
Jeff Law
5d626b5ece * config/tc-mn10300.c (r_registers): Add a0-a3,d0-d3 and e0-e7
as synonyms for "rN" registers.
        (xr_registers): Add mcrh, mcrl, mcvf, mdrq and sp as synonyms
        for "xrN" registers.
        (md_assemble): Fix typo computing the size of relocations.
1998-06-24 15:44:27 +00:00
Nick Clifton
e98d1a3265 Fixed testsuite macros/reloc.s failure. 1998-06-23 22:14:25 +00:00
Nick Clifton
7699bb0ba2 Conceal ugly code behing macro. 1998-06-23 20:56:19 +00:00
Ian Lance Taylor
aa3c8d2d37 * config/obj-coff.c (c_symbol_merge): Fix copying of auxiliary
information.
1998-06-22 23:53:10 +00:00
Jeff Law
573916e377 * config/tc-mn10300: Handle FMT_D10 instructions. 1998-06-22 19:50:23 +00:00
Frank Ch. Eigler
ec85f6bc51 * Fix small typo. 1998-06-20 09:21:44 +00:00
Jeff Law
f26a329970 * config/tc-mips.c (hilo_interlocks): Check mips_5900, not
mips_cpu == 5900.
1998-06-20 02:00:03 +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
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
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
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
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
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
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
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
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
Jeff Law
be294de6b3 * config/tc-mips.c (hilo_interlocks): The r5900 has HILO interlocks. 1998-06-01 23:07:21 +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
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
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
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
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
Stan Cox
fc23c14efc sparclite 86x big endian instruction / little endian data support. 1998-05-27 01:06:20 +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
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
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
Nick Clifton
32c2be7633 Add --enable-special command line switch. 1998-05-12 20:38:36 +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
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
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
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
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
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
d0023d7e18 Add initernationalisation macros to error strings 1998-04-24 16:28:25 +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
8c9272025e fix indentation in comment 1998-04-22 16:05:56 +00:00