Commit graph

2420 commits

Author SHA1 Message Date
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
Nick Clifton
af82efaf88 Treat a double vertical bar as a seperator between instructions. 1998-02-18 19:01:59 +00:00
Doug Evans
63aa1c7407 * cen.c (cgen_md_apply_fix3): Delete call to validate_operand.
Test result of insert_operand for error.
1998-02-18 02:59:52 +00:00
Nick Clifton
b86c0dd361 Only parallelise instructions when assembling for the m32rx, and when
neither instruction is relaxable.
1998-02-16 20:30:58 +00:00
Nick Clifton
c9cec4ef98 Do not bother checking the operands of instructions which have no operands! 1998-02-13 22:45:14 +00:00
Nick Clifton
8e7a5a048a Reverted writes_to_pc() back to old version of code until PC operands are
supported by cgen.
1998-02-13 21:52:13 +00:00
Ian Lance Taylor
ba4da4fe4e * Makefile.am (AUTOMAKE_OPTIONS): Add cygnus.
* configure, Makefile.in, aclocal.m4: Rebuild with automake 1.2e.
	* doc/Makefile.am (AUTOMAKE_OPTIONS): Define.
	* doc/Makefile.in: Rebuild.
1998-02-13 21:48:00 +00:00
Nick Clifton
6cf2575a22 Parallelisation code changed to used cgen's new ins operands feature. 1998-02-13 18:01:19 +00:00
Ian Lance Taylor
679f7845cc * config/tc-mips.c (macro_build): Handle operand type 'C'.
(macro): Fix handling of M_COP[0-3].
1998-02-13 05:49:55 +00:00
Ian Lance Taylor
618ea80814 Based on patches from Ross Harvey <ross@teraflop.com>:
* macro.c (ISSEP): Only treat '<' and '>' as separator characters
	if macro_alternate or macro_mri.
	(getstring): Remove support for byte constants between < and >.
	(get_any_string): '<' only starts a string if macro_alternate or
	macro_mri.
	(macro_expand_body): Permit keyword parameters following
	positional parameters.
1998-02-13 01:09:32 +00:00
Ian Lance Taylor
69d0b6d3d0 NetBSD patches from Gordon W. Ross <gwr@mc.com>:
* configure.in (alpha*-*-netbsd*): New target.
	* config/te-nbsd.h (LOCAL_LABELS_FB): Define.
	* configure: Rebuild.
1998-02-12 23:12:45 +00:00
Ian Lance Taylor
1b9bf4a503 * as.h (flag_warn_suppress_instructionswap): Move from here...
* config/tc-d10v.c (flag_warn_suppress_instructionswap): ...to
	here, and make static.
1998-02-12 21:46:32 +00:00
Ian Lance Taylor
8642a20358 * ehopt.c (eh_frame_code_alignment): Only use seg_info if
BFD_ASSEMBLER or MANY_SEGMENTS.
1998-02-12 21:22:04 +00:00
Ian Lance Taylor
43448efe7d * as.c (show_usage): Update bug-gnu-utils address.
* gasp.c (show_usage): Likewise.
	* doc/as.texinfo (Bug Reporting): Likewise.
1998-02-12 19:09:49 +00:00
James Lemke
be0ed38bef Improve my ChangeLog etiquette. 1998-02-12 15:08:57 +00:00
Jeff Law
9a1f316032 * config/tc-mips.c (load_address): Don't use mips III or mips IV
insns regardless of the size of a pointer if we're in mips I or
        MIPS II mode.
        (macro, macro2, s_cprestore, s_cpadd): Likewise.
Fix problems in recent code to handle address sizes more sanely.
1998-02-12 09:45:13 +00:00
Joern Rennecke
fc3c25b9e0 opcodes:
* d10v-opc.c (d10v_predefined_registers, d10v_operands, d10v_opcodes):
	Split OPERAND_ACC into OPERAND_ACC0 and OPERAND_ACC1.
	Introduce OPERAND_GPR.
	* d10v-dis.c (print_operand): Likewise.
include/opcode:
	* d10v.h (OPERAND_ACC): Split into:
	(OPERAND_ACC0, OPERAND_ACC1) .
	(OPERAND_GPR): Define.
gas/config:
	* tc-d10v.c (parallel_ok, find_opcode):
	Split OPERAND_ACC into OPERAND_ACC0 and OPERAND_ACC1.
	Introduce OPERAND_GPR.
1998-02-12 03:56:57 +00:00
Richard Henderson
a699db2270 * read.c (s_fill): Handle non-constant repeat counts by creating
an rs_space fragment.

PR 14940
1998-02-12 00:27:08 +00:00
Nick Clifton
ef582182d5 Document M32Rx warnings and errors.
Document --warn-explicit-parallel-conflicts.
1998-02-11 18:35:50 +00:00
Doug Evans
8be4a8f74c * config/tc-dvp.c (*): pke->vif, gpuif->gif. 1998-02-10 23:19:44 +00:00
Doug Evans
45fb7b894f Remove dvp testsuite entry.
Fix up sky sanitization.
1998-02-10 23:15:04 +00:00
James Lemke
ffc3a16015 [TEXT|DATA|BSS]_SECTION_NAME 1998-02-10 23:06:13 +00:00
Ian Lance Taylor
3081e56786 * ehopt.c (eh_frame_code_alignment): If not BFD_ASSEMBLER, use
seg_fix_rotP rather than fix_root from seg_info.
1998-02-10 22:59:19 +00:00
Ian Carmichael
f64479baa4 * Add support for 0x1_2_3_4 bignums. 1998-02-10 20:41:10 +00:00
Ian Lance Taylor
5023c3ab9c * configure.in: Change -linux* to -linux-gnu*.
* configure: Rebuild.
1998-02-10 20:07:42 +00:00
Ian Lance Taylor
dfb3ecb277 * app.c (do_scrub_begin): Treat \r as whitespace. 1998-02-10 19:44:46 +00:00
Nick Clifton
47aa559218 Improved warning message generation for parallel instructions 1998-02-10 00:30:25 +00:00
Ian Lance Taylor
6c4e47861f * Makefile.am: Update dependencies.
* Makefile.in: Rebuild.
1998-02-09 19:19:16 +00:00
Ian Lance Taylor
7ee4e307d6 * configure, aclocal.m4: Rebuild with new libtool. 1998-02-07 20:35:04 +00:00
Michael Meissner
ca1a4060b1 Move code from branch 1998-02-06 23:21:00 +00:00
Jeff Law
6766132db9 * config/tc-mips.c (md_begin): If mips_cpu is set, then use it as
the argument to bfd_set_arch_mach.
        (load_address): Use bfd_arch_bits_per_address to determine the
        bit size of an address instead of looking at the isa level.
        (macro, macro2, s_cprestore, s_cpadd): Likewise.
1998-02-06 23:11:01 +00:00
Nick Clifton
3cb46b33bb Add -mv850any command line option for PR 14732 1998-02-06 22:47:04 +00:00
Ian Lance Taylor
ffd652c313 * ehopt.c: New file.
* as.h (enum _relax_state): Add rs_cfa.
	(check_eh_frame, eh_frame_estimate_size_before_relax): Declare.
	(eh_frame_relax_frag, eh_frame_convert_frag): Declare.
	* read.c (emit_expr): Call check_eh_frame.
	* write.c (cvt_frag_to_fill): Handle rs_cfa.
	(relax_segment): Likewise.
	* Makefile.am: Rebuild dependencies.
 	(GAS_CFILES): Add ehopt.c.
	(GENERIC_OBJS): Add ehopt.o.
	* doc/internals.texi (Frags): Document rs_cfa.

	* as.c (show_usage): Mention --traditional-format.
	(parse_args): Accept --traditional-format.
	* as.h (flag_traditional_format): Declare.
	* output-file.c (output_file_create): If flag_traditional_format,
	set BFD_TRADITIONAL_FORMAT on stdoutput.
	* doc/as.texinfo, doc/as.1: Document --traditional-format.
1998-02-06 03:42:05 +00:00
Ian Lance Taylor
b073d4281c * config/tc-mips.c (append_insn): Make sure that if we have a
fixup for an unmatched %hi reloc, it does not associated with a
	variant frag.
1998-02-06 03:08:45 +00:00
Ian Lance Taylor
a52052dbac * configure, Makefile.in, aclocal.m4: Rebuild with new libtool.
* doc/Makefile.in: Likewise.
1998-02-05 17:45:32 +00:00
Nick Clifton
89285fc92b Add checks for side effects of instructions preventing their parallelisation. 1998-02-04 23:44:58 +00:00
Nick Clifton
da9a396b5f Applied patch submitted by Jamie Smith <jsmith@teknema.demon.co.uk> to fix
literal pool appearances instigated by macros.
1998-02-04 23:26:03 +00:00
Ian Lance Taylor
6e2604ced5 * config/tc-ppc.h (tc_fix_adjustable) [OBJ_ELF]: A reloc against
a gas internal symbol is adjustable.
1998-02-04 20:33:12 +00:00
Ian Lance Taylor
dfe0d219ce * config/tc-sparc.h (tc_fix_adjustable) [OBJ_ELF]: A reloc against
a gas internal symbol is adjustable.
1998-02-04 20:29:30 +00:00
Ian Lance Taylor
e869646749 * as.h: If gcc version greater than 2.6, use `__format__' and
`__printf__' in function attributes, rather than `format' and
	`printf'.
1998-02-04 18:18:54 +00:00
Ian Lance Taylor
0e034c7751 Mon Feb 2 18:30:34 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU>
Add tms320c30 support:
	* config/tc-tic30.h: New file.
	* config/tc-tic30.c: New file.
	* config/obj-coff.h: If TC_TIC30, include coff/tic30.h and define
	TARGET_FORMAT as "coff-tic30".
	* configure.in (tic30-*-*aout*, tic30-*-*coff*): New targets.
	* Makefile.am: Rebuild dependencies.
	(CPU_TYPES): Add tic30.
	(CPU_OBJ_VALID): tic30-aout is valid.
	(TARGET_CPU_CFILES): Add config/tc-tic30.c.
	(TARGET_CPU_HFILES): Add config/tc-tic30.h.
	* configure, Makefile.in: Rebuild.
1998-02-03 00:17:20 +00:00
Nick Clifton
c519430b50 Improvments to error message reporting for PR14720 1998-02-02 18:22:20 +00:00
Ian Lance Taylor
32715d71b8 Mon Feb 2 12:39:05 1998 Geoff Keating <geoffk@ozemail.com.au>
* config/tc-ppc.c (md_apply_fix3): Change BFD_RELOC_HI16 and
 	BFD_RELOC_HI16_S to store the high bits of any value.

	* config/tc-ppc.h (tc_fix_adjustable): Undo change of Fri Jun 27.
	(TC_RELOC_RTSYM_LOC_FIXUP): Don't let the
	assembler calculate relocations to any external symbol at all.
	* config/tc-ppc.c (md_apply_fix3) [OBJ_ELF]: Correct bugs
	involving generation of pc-relative relocs.
	(md_pcrel_from_section) [OBJ_ELF]: The job this code used to do
	has been moved to md_apply_fix3.

	* config/tc-ppc.c (md_apply_fix3): Fix test for too-far branch.
	(ppc_elf_suffix): Warn about 'identifier+constant@got' syntax,
	which actually means (the address of identifier's GOT entry) +
	constant, which is not particularly useful.
1998-02-02 17:44:57 +00:00
Doug Evans
32729d87dd config/tc-dvp.c (md_pcrel_from_section): Add offset to delay slot for
undefined symbols.
1998-01-31 02:51:33 +00:00
Ian Lance Taylor
f2e272e077 * configure.in: Correct check for shared opcodes library.
* configure: Rebuild.
1998-01-30 22:04:36 +00:00
Doug Evans
cd9a4eec49 tweak last dvp entry 1998-01-30 20:10:19 +00:00
Doug Evans
5b86203923 * config/tc-dvp.c (md_longopts): Add -no-dma, -no-dma-pke.
(md_parse_option): Handle them.
	(md_show_usage): Print them.
	(output_dma,output_pke): New static globals.
	(md_begin): Initialize them to 1.
	(assemble_pke): Handle -no-dma-pke.
	(insert_file): Search include dir list.
	(s_enddirect): Validate length if prespecified.
	(s_endmpg): Likewise.  Handle -no-dma-pke.
	(s_endunpack): Handle -no-dma-pke.
1998-01-30 20:02:46 +00:00
Doug Evans
d341ae3fef * read.h (include_dirs): Declare.
(include_dir_count,include_dir_maxlen): Declare.
1998-01-30 19:13:17 +00:00
Ian Lance Taylor
ce44ad74d9 * listing.c (buffer_line): If we can't open the file, set at_end.
(listing_print): Remove unused local variable fi.
1998-01-30 19:06:39 +00:00
Ian Lance Taylor
4b02738729 * config/vms-conf.h: Don't undef VERSION. 1998-01-30 16:48:57 +00:00
Doug Evans
72e6c688c3 * config/tc-m32r.c (allow_m32rx): Must compile with K&R C.
(m32rx support): only include #ifdef HAVE_CPU_M32RX.
1998-01-29 21:39:53 +00:00
Ian Lance Taylor
c412299f00 Thu Jan 29 14:42:44 1998 Pat Rankin <rankin@eql.caltech.edu>
* Makefile.am (CONFIG_OBJS): New variable, containing part of old
	OBJS variable.
	(GENERIC_OBJS): New variable, with the rest of the old OBJS
	variable.
	(OBJS): Now just $(CONFIG_OBJS) and $(GENERIC_OBJS).
	($(srcdir)/make-gas.com): Rename from make-gas.com.
	(stamp-mk.com): Replace $(OBJS) with $(GENERIC_OBJS).
	(EXTRA_DIST): Define.
	* vmsconf.sh: Handle {targ-cpu, obj-format, atof-targ} modules
	explicitly rather than via the list of object files.
	(gcc-as.opt): New file created when make-gas.com is run.
	* config-gas.com: Create {targ-cpu.h, obj-format.h, targ-env.h,
	itbl-cpu.h} to #include appropriate file rather than copying that
	file.
	* config/vms-conf.h: Synchronize with current config.in.
	* Makefile.in: Rebuild.
1998-01-29 19:48:18 +00:00
Nick Clifton
ed29580469 Fix determination of when two instructions can be combined in parallel. 1998-01-29 00:29:37 +00:00
Bill Moyer
4d1dc7f122 Added "--nowarnswap" option for suppressing "Swapping instructions" warnings. 1998-01-28 22:36:10 +00:00
Ian Lance Taylor
0040c1e966 Wed Jan 28 16:41:19 1998 J.J. van der Heijden <J.J.vanderHeijden@student.utwente.nl>
* configure.in (i386-*-mingw32*): New target.
	* configure: Rebuild.
1998-01-28 21:44:53 +00:00
Ian Lance Taylor
8ecd2ccb89 * symbols.c (resolve_symbol_value): Don't set the segment if it
hasn't changed, and this is OBJ_AOUT without BFD_ASSEMBLER.
1998-01-28 20:22:00 +00:00
Ian Lance Taylor
f414803c3a * config/obj-aout.h (S_IS_LOCAL): Correct typo--pass argument to
S_GET_SEGMENT.
1998-01-28 19:55:40 +00:00
Ian Lance Taylor
fa8666c791 Wed Jan 28 13:54:50 1998 Pat Rankin <rankin@eql.caltech.edu>
as.h (unlink): Reverse 13-Feb-97 change; use of unlink vs remove
	depends upon HAVE_{UNLINK,REMOVE} values rather than host
	compiler.
1998-01-28 18:56:15 +00:00
Ian Lance Taylor
8fb6931a28 * config/obj-coff.h (RESOLVE_SYMBOL_REDEFINITION): Define. 1998-01-28 18:49:01 +00:00
Bill Moyer
7012071819 Added --nowarnswap arg to suppress "Swapping instructions" warning. 1998-01-28 18:20:46 +00:00
Doug Evans
98b155a20a * configure.in: Add dvp support.
* configure: Regenerate.
	* config/tc-dvp.[ch]: New files.
And delete old txvu stuff.
1998-01-28 18:08:06 +00:00
Nick Clifton
1adee2cc07 Display instruction when an insertion error is encountered. 1998-01-28 17:53:31 +00:00
Doug Evans
95bfad6d10 * tc-txvu.c (*): Update to use handle new arguments for
parse/insert/extract/print handlers.
	({encode,decode}_fixup_reloc_type): New function.
	(assemble_pke): Write out insn after parsing it.
1998-01-27 22:17:11 +00:00
Nick Clifton
38a8f434a8 Fix PRs 14721, 14722, 14723 1998-01-27 19:13:49 +00:00
Ian Lance Taylor
6cc7a93828 Tue Jan 27 13:32:01 1998 Robert Lipe <robertl@dgii.com>
* configure.in (i386-*-sco3.2v5*): Defaults to ELF now.
	(i386-*-sco3.2v5*coff): New target.
	(i386-*-sco3.2*): New target.
	* configure: Rebuild.
1998-01-27 18:35:53 +00:00
Ian Lance Taylor
29b2b5da96 tweak last patch 1998-01-27 17:33:35 +00:00
Ian Lance Taylor
8ecadea45b * config/tc-arm.c (md_apply_fix3): Add casts before comparing
offsetT variable set to unsigned int value with FAIL.
1998-01-27 17:29:05 +00:00
Richard Henderson
76f9e5afa3 * listing.c (MAX_BYTES): Use listing variables not constants.
(data_buffer): No longer an array, but a pointer.
(calc_hex): sizeof(data_buffer) -> MAX_BYTES.
(listing_listing): Allocate data_buffer.
1998-01-27 14:56:15 +00:00
Richard Henderson
7b7a88d0e1 Bring over lost listing bits from emc-97r1-branch. 1998-01-27 14:45:09 +00:00
Richard Henderson
c3b27a64b4 * as.c (parse_args): Add --keep-locals alias for -L.
Add --strip-local-absolute.
	(show_usage): Update.
	* as.h (flag_strip_local_absolute): New flag.
	* symbols.c (S_IS_LOCAL): Use it.
	* config/obj-aout.h (S_IS_LOCAL): Likewise.
	* config/obj-bout.h (S_IS_LOCAL): Likewise.
	* config/obj-coff.h (S_IS_LOCAL): Likewise.
PR 14689
1998-01-27 13:33:54 +00:00
Doug Evans
b1313caee0 * tc-txvu.c (assemble_one_insn): Allow [] in suffix operand. 1998-01-27 02:36:56 +00:00
Doug Evans
f73062614b * tc-txvu.c: First pass at dma/pke/gpuif support.
(assemble_one_insn): Renamed from assemble_insn.
	Initialize errmsg = NULL before calling parse fn.
	(fixups,fixup_count): Make static globals.
1998-01-27 00:32:01 +00:00
Nick Clifton
26192c5084 Detect when explicltly parallel instructions have i/o conflicts and
generate warning messages.
1998-01-26 21:09:18 +00:00
Nick Clifton
b6930bdf46 Fixed infinite loop bug in can_make_parallel().
Added second level of sanization to remove phase 2 work.
1998-01-26 20:42:15 +00:00
Doug Evans
70d7bd21d1 * config/tc-txvu.c (assemble_insn): Initialize errmsg = NULL
before calling insert routine.
1998-01-24 02:44:02 +00:00
Doug Evans
fbe2ad4648 * config/tc-txvu.c (assemble_insn): Delete test for !isalpha
after parsing mnemonic.  ASCII operand chars are case insensitive.
1998-01-24 00:44:52 +00:00
Doug Evans
23ded74859 * config/tc-txvu.c (assemble_insn): Commas moved to opcode table. 1998-01-23 05:36:20 +00:00
Nick Clifton
f7124cf258 Add support for swapping the fixups when insn are swapped. 1998-01-23 01:54:39 +00:00
Richard Henderson
cc746b3ed5 * listing.c (file_info_struct): Remove FILE, add POS.
(last_open_file_info, last_open_file): New; a one entry FILE* cache.
	(file_info): Don't open the file.
	(buffer_line): Check for the file in the last_open cache, updating
	as necessary.
	(print_source): Don't reference file_info->file.
	(listing_listing): Likewise.
	(listing_print): Close the file in the cache, if any.
1998-01-22 00:50:17 +00:00
Nick Clifton
775fdd0c3f Added opportunistic parallelisation of adjacent instructions. 1998-01-21 01:13:47 +00:00
Ian Lance Taylor
af8e4ed9b1 * read.c (dwarf_file_string): New file static variable.
(emit_expr): Look for constant sequence that leads up to a file
	name in DWARF debugging output.
	(stringer): Use dwarf_file_string to decide whether to accept a
	string as a file name.
PR 13210.
1998-01-16 19:56:43 +00:00
Richard Henderson
9ca4498fd5 * tc-m68k.c (m68k_ip): Remove absl->reglst MRI hack.
(crack_operand): Add reg->reglst MRI hack.
        (r_seg): Put reglst symbols in reg_section.
        (m68k_frob_symbol): Frob reglst symbols into absolute_section.
1998-01-16 19:35:15 +00:00
Richard Henderson
43e941fd88 * tc-sh.c (get_specific): Handle SGR & DBR.
PR 14523
1998-01-15 22:17:44 +00:00
Richard Henderson
2833e2512e * tc-h8500.c (parse_reg): Likewise. 1998-01-15 21:51:12 +00:00
Richard Henderson
e71bd99cc6 * tc-h8300.c (parse_reg): Take the length of the symbol into
account when attempting to match a register name.
1998-01-15 21:46:57 +00:00
Gavin Romig-Koch
86418a70c8 toplevel--
* config.sub: Create the vr4111 as a copy of vr4100.
	gas--
	* config/tc-mips.c (md_begin): Create the vr4111 as a copy of
	the vr4100.
	gcc--
	* config.sub: Create the vr4111 as a copy of the vr4100.
	* configure.in: Same.
	* configure: Rebuild.
	gdb--
	* configure.tgt: Create the vr4111 as a copy of the vr4100.
1998-01-15 14:56:12 +00:00
Nick Clifton
ebde3f6235 Add support for parallel instructions. 1998-01-15 01:58:34 +00:00
Jeff Law
6c4b811d6a * config/tc-mips.c (macro): Rework division code to avoid unfilled
delay slot.
1998-01-15 00:08:12 +00:00
Michael Meissner
4ef6f7f11f Make cross section PC relative relocs work; fix non-ANSI case 1998-01-14 23:09:29 +00:00
Doug Evans
b2cf4548a1 * config/tc-mips.c (mips_ip): Don't test pinfo flags if INSN_MACRO. 1998-01-14 23:06:34 +00:00
Doug Evans
1002d8ed0b * cgen.c: #include setjmp.h. Clean up pass over `struct foo' usage.
(expr_jmp_buf): New static local.
	(cgen_parse_operand): Allow use of longjmp in parsing to handle errors.
	(cgen_md_operand): New function.
	* tc-m32r.c: Clean up pass over `struct foo' usage.
	(md_estimate_size_before_relax): Use CGEN_INSN_MNEMONIC.
1998-01-12 21:12:52 +00:00
Richard Henderson
d7ab10784a * symbols.c (S_SET_SEGMENT): Don't set the segment for section syms.
PR 14239
        (S_IS_EXTERNAL, S_IS_LOCAL): Correct parenthetication.
1998-01-06 15:38:20 +00:00
Doug Evans
61e09fac57 * config/tc-txvu.c (md_assemble): Handle no separator between
upper and lower insn #ifndef VERTICAL_BAR_SEPARATOR.
	(assemble_insn): Likewise.
1998-01-06 13:12:16 +00:00
Doug Evans
f6428b86cc * config/tc-txvu.c: #include dis-asm.h, opcode/txvu.h, elf/txvu.h.
(md_begin): Call txvu_opcode_init_tables.
	(assemble_insn): New function.
	(md_assemble): Beginnings of implementation.
1998-01-05 14:56:04 +00:00
Ian Lance Taylor
388fa5c64e * config/tc-i386.c (i386_operand): Give an error if there are
unrecognized characters after an expression.
1998-01-02 13:09:57 +00:00
Jeff Law
ffd0546fb0 * config/tc-mn10200.c (md_relax_table): Correct branch ranges.
Fix bugs exposed in egcs compiler.
1997-12-31 11:28:40 +00:00
Doug Evans
103dd76488 * configure.in: Add txvu support.
* configure: Regenerate.
	* config/tc-txvu.[ch]: New files.
1997-12-22 18:03:58 +00:00
Ian Lance Taylor
60dc9fb283 * configure.in (i386*-go32-rtems*): Fix to be the same as
i[3456]86-go32.
	* configure: Rebuild.
1997-12-22 10:08:43 +00:00
Ian Lance Taylor
1c6f34415d * config/tc-mips.c (macro): The 4650 doesn't permit M_LDC1_AB,
M_SDC1_AB, M_L_DOB, M_L_DAB, M_S_DAB, or M_S_DOB.
	(mips_ip): Always check for FP_D, not just for instructions that
	are not part of the regular ISA.
1997-12-22 09:56:49 +00:00
Richard Henderson
76b534725e * config/tc-d10v.c (build_insn): Make `number' a long for 64-bit hosts. 1997-12-18 16:50:49 +00:00
Richard Henderson
915f6ba32d * config/tc-alpha.c (cpu_types): 21164pc/pca56 does not have CIX. 1997-12-18 16:44:04 +00:00
Jeff Law
b463948b73 * expr.c (integer_constant 32bit bignum): Mask off bits outside
the range we care about.
1997-12-17 20:19:26 +00:00
Michael Meissner
343b2ab8c1 Make sure NOPS are inserted between 32-bit multiply and load or 16-bit multiply; Compile cleanly with -Wall; Add -n/-N options 1997-12-17 12:43:15 +00:00
Fred Fish
37f82cb4dc * config/tc-tic80.c (tic80_relax): New static variable.
(md_longopts): Add new OPTION_RELAX and OPTION_NO_RELAX options.
	(md_parse_option): Handle new relax options.
	(md_show_usage): Document new relax options.
	(find_opcode): Don't use short forms of PC relative branches if
	tic80_relax is set.
PR 12927
1997-12-16 20:03:53 +00:00
Nick Clifton
d745e6d93d Added m32rx sanitization. 1997-12-16 14:54:08 +00:00
Michael Meissner
e0882f340d Better optimize parallel instructions 1997-12-16 13:25:59 +00:00
Nick Clifton
9efc7d599d Prevent use of interworking support in non-COFF targets. 1997-12-16 09:23:11 +00:00
Nick Clifton
ee73be4088 Document new --m32rx command line option. 1997-12-16 00:00:30 +00:00
Nick Clifton
a450e9f4d1 Add support for --m32rx command line option. 1997-12-15 23:25:27 +00:00
Jeff Law
09162f6feb * config/tc-mips.c (mips_ip): Correctly insert 'P' operands into
the instruction.
1997-12-15 19:21:25 +00:00
Fred Fish
599ef811c3 * config/tc-tic80.c (build_insn): Handle instructions that have
long (32 bit) PC relative offsets.  Fix places that previously
        misused R_MPPCR for 15 bit offsets to use the new R_MPPCR15W type.
        (md_apply_fix): Add case to handle long PC relative offsets.
PR 12927
1997-12-13 00:58:43 +00:00
Nick Clifton
da5715e693 Renamed v850eq -> v850eq 1997-12-12 18:55:50 +00:00
Nick Clifton
f520aaee13 Add support for more ARM processor names. 1997-12-12 18:42:40 +00:00
Richard Henderson
290c51b5cd * config/tc-m68k.c (m68k_ip): Don't overwrite opcode table data.
(insop, m68k_ip): Make `opcode' const so it doesn't happen again.
1997-12-12 01:46:42 +00:00
Nick Clifton
df09ec8d0a Use special section values for v850 common sections. 1997-12-05 19:29:21 +00:00
Nick Clifton
d4b2cc56c0 Brought up to date with respect to the branch 1997-12-03 01:13:08 +00:00
Joern Rennecke
6fdb746d44 bfd:
* coff-sh.c (sh_coff_howtos): Add R_SH_SWITCH8 entry.
        (get_symbol_value): Handle R_SH_SWITCH8.
        (sh_relax_delete_bytes): Likewise.

include:
        * coff/sh.h (R_SH_SWITCH8): New.

gas:
        * config/tc-sh.c (SWITCH_TABLE_CONS): Handle (fix)->fx_size == 1.
        (SWITCH_TABLE): Handle BFD_RELOC_8.
        (md_apply_fix): #ifndef BFD_ASSEMBLER code: Handle fixP->fx_size == 1.
        (coff_reloc_map): Add BFD_RELOC_8_PCREL entry.
        (sh_coff_reloc_mangle): SWITCH_TABLE case: Handle BFD_RELOC_8.
PR 14155
1997-12-01 20:45:03 +00:00
Nick Clifton
33cb4925be Brought devo up to date with the branch. 1997-11-22 22:29:08 +00:00
Ian Lance Taylor
8046e281ef Sat Nov 22 15:50:09 1997 Klaus Kaempf <kkaempf@progis.de>
* config-gas.com: Get version info from configure.in.
1997-11-22 21:04:47 +00:00
Ian Lance Taylor
db5bb86ef8 Sat Nov 22 15:50:09 1997 Klaus Kaempf <kkaempf@progis.de>
* makefile.vms: include depend.obj in OBJS.
1997-11-22 21:01:27 +00:00
Ian Lance Taylor
6dbf32687d Sat Nov 22 15:50:09 1997 Klaus Kaempf <kkaempf@progis.de>
* config/tc-alpha.c (s_alpha_section): Remove ".lcomm" handling.
1997-11-22 20:54:16 +00:00
Ian Lance Taylor
c699ff0403 Sat Nov 22 15:50:09 1997 Klaus Kaempf <kkaempf@progis.de>
* config/tc-alpha.c (alpha_basereg_clobbered): Remove variable and
	all corresponding code.
1997-11-22 20:52:29 +00:00
Nick Clifton
19bc147e85 Patch from Richard Earnshaw 1997-11-20 23:08:21 +00:00
Richard Henderson
04b26b0008 * sh-dis.c (print_insn_shx): Recognize all sh4 additions.
* sh-opc.h (fmov): Add @<REG_M>+,<DX_REG_N> variant for sh4.
        (ftrv): Slay the cut-and-paste monster.

        * tc-sh.c (parse_reg): Properly quote for fv4.

pr14044
1997-11-20 22:01:30 +00:00
Ian Lance Taylor
942f33aeb1 * symbols.c (resolve_symbol_value): Add missing breaks in case on
symbol value operator.
1997-11-20 04:47:43 +00:00
Ken Raeburn
35baf6dded vr5400 has interlocks 1997-11-19 07:25:47 +00:00
Joern Rennecke
fe00b2ed0f * include/opcode/d10v.h (OPERAND_FLAG): Split into:
(OPERAND_FFLAG, OPERAND_CFLAG) .
	* opcodes/d10v-opc.c (OPERAND_FLAG): Split into:
	(OPERAND_FFLAG, OPERAND_CFLAG) .
	(FSRC): Split into:
	(FFSRC, CFSRC).
	* gas/config/tc-d10v.c (parallel_ok, find_opcode):
	Split OPERAND_FLAG into OPERAND_FFLAG and OPERAND_CFLAG.
Fix for PR 13985.
1997-11-18 19:41:44 +00:00
Fred Fish
8d8693868c * config/obj-coff.c (fixup_segment): Cast second arg of
md_apply_fix3 call to type "valueT *".
1997-11-17 00:23:35 +00:00
Gavin Romig-Koch
9bb4d38497 * mips.h (struct mips_opcode): Changed comments to reflect new
field usage.
	* mips-opc.c: Move the INSN_MACRO ISA value to the membership
	field for all INSN_MACRO's.
	* mips16-opc.c: same
	* config/tc-mips.c (macro_build): Use the membership field
	for INSN_MACRO's.
	(mips_ip): Same.
1997-11-13 16:13:03 +00:00
Joern Rennecke
832ef2cca2 * config/tc-d10v.c (find_opcode): For OPCODE_FAKE, add check for
first argument if it's supposed to be a register.
PR 13952.
1997-11-13 02:19:13 +00:00
Gavin Romig-Koch
42444087ff config/tc-mips.c (mips_4900): Added.
(hilo_interlocks): Added mips_4900.
(md_begin): Set default for mips_4900.
(macro_build,mips_ip): Test for INSN_4900 if mips_4900.
(md_longopts): Add "m4900" and "no-m4900".
(md_parse_option): Handle above options.
1997-11-12 15:09:33 +00:00
Joern Rennecke
f2fafccac2 * app.c (do_scrub_chars): If d10v, re-insert a space before
a '#' when in state 10.
Fix for PR 13894.
1997-11-11 19:35:49 +00:00
Ian Lance Taylor
5de020b44e * config/tc-h8300.c: Include "subsegs.h".
(tc_reloc_mangle): Handle references to symbols which are not
	being output, so that references to `.' work.
PR 13915.
1997-11-11 18:35:20 +00:00
Ian Lance Taylor
77635763d6 * config/tc-m68k.c (m68k_ip): Call add_fix when needed for '_'
case.
PR 13886.
1997-11-10 19:15:45 +00:00
Ian Lance Taylor
f19d08dc40 * macro.c (sub_actual): If we don't find a parameter for an &,
just substitute &.
PR 13868.
1997-11-10 18:45:31 +00:00
Ken Raeburn
b3ed1af38c * config/tc-mips.c (mips_ip): Added cases for "e", "%", and "P" operand types.
(hilo_interlocks): VR5400 has interlocks.
(md_begin): Expect mips64vr5400, not mips64r5400.

* config/tc-mips.c (mips_ip): In default case, call as_bad instead of fprintf,
to get "assembler messages:" message output before instead of after.
1997-11-08 02:44:22 +00:00
Doug Evans
4afb407dae * frags.h: Handle multiple inclusion. 1997-11-07 18:37:06 +00:00
Doug Evans
070937ba64 Based on a patch from Ian.Dall@dsto.defence.gov.au.
* as.h (struct frag, frag support): Moved from here.
	* frags.h: To here.
	(struct frag, member tc_frag_data): New member if TC_FRAG_TYPE
	is defined.
	(struct frag, member fr_cgen): Renamed from fr_targ.cgen.
	* cgen.c (cgen_asm_finish_insn): Update.
	* config/tc-m32r.c (md_estimate_size_before_relax): Update.
	* config/tc-m32r.h (TC_FRAG_INIT): Renamed from md_init_frag.
	(md_convert_frag): Ditto.
	* config/tc-ns32k.h (TC_FRAG_TYPE): Define.
	(frag_opcode_frag,frag_opcode_offset,frag_bsr): Update.
	(TC_FRAG_INIT): Update.
1997-11-05 21:05:08 +00:00
Doug Evans
d57d82d7e5 * write.c (print_fixup): Use TC_FIX_DATA_PRINT (if defined) to
print out MD fields of fix.
	* frags.c (frag_var, frag_variant): Use TC_FRAG_INIT macro (if
 	defined) to initialize MD fields in frag.
	* as.h (struct frag, ns32k support): Rename ns32k to fr_ns32k.
	Delete pcrel_adjust.  Add fr_opcode_fragP, fr_opcode_offset.
	* config/tc-ns32k.h: Add comments. Remove obsolete
 	BFD_FAST_SECTION_FILL definition, change prototypes for
 	fix_new_ns32k and fix_new_ns32k_exp to add new arguments
 	opcode_frag and opcode_offset and remove pcrel_adjust.
	(TC_FIX_TYPE): add opcode_fragP and opcode_offset fields.
	(TC_FIX_DATA_PRINT): new macro to print out TC_FIX_TYPE.
	(TC_FRAG_INIT): new macro to initialize machine dependent field in
 	frags.
	(frag_opcode_frag, frag_opcode_offset, frag_bsr): macros to access
 	MD fields in frag structure.
	(fix_im_disp, fix_bit_fixP, fix_opcode_frag, fix_opcode_offset,
 	fix_bsr): macros to access MD fields in fix structure.
	* config/tc-ns32k.c: Avoid overlength lines. Align comments.  Don't
 	use struct opcode_location as these fields are now in the frag
	structure.
	(convert_iif): Call frag_more as it is needed instead
 	of trying to allocate for the whole insn. Avoid call of frag_more
 	with negative argument.
	(md_pcrel_adjust, md_fix_pcrel_adjust, md_apply_fix,
	md_estimate_size_before_relax, md_pcrel_from,
	tc_aout_fix_to_chars): use accessor macros to get md fields in fix
 	and frag structures.
	(fix_new_ns32k, fix_new_ns32k_exp): add new arguments opcode_frag and
	opcode_offset and remove pcrel_adjust.
	(convert_iif, cons_fix_new_ns32k): call fix_new_ns32k,
 	fix_new_ns32k_exp with changed arguments.
1997-11-05 00:45:23 +00:00
Gavin Romig-Koch
1724c79e75 * tc-mips.c (md_begin): Reorganize setting of default values so
that mips_cpu depends on TARGET_CPU, and mips_opts.isa depends on
	   mips_cpu.
	   (md_parse_option): Remove all code that sets defaults; md_begin
	   handles all of this now.
1997-11-03 19:32:42 +00:00
Ian Lance Taylor
0ac53ff04d * Makefile.am (STAGESTUFF): Change bin_PROGRAMS to
noinst_PROGRAMS.
	(bootstrap, bootstrap2, bootstrap3): Likewise.
	* Makefile.in: Rebuild.
1997-11-02 19:49:24 +00:00
Ken Raeburn
aa2e0460a0 * config/tc-mips.c (mips_5400): New variable.
(md_begin, md_parse_option): Handle 5400 options/names.
(macro_build, mips_ip): Check for 5400-specific instructions.
(md_longopts, OPTION_M5400, OPTION_NO_M5400): More command-line support for
5400.

* config/tc-mips.c (validate_mips_insn): New function, checks match versus mask
bits, and also verifies that all bits to be output are actually specified
somewhere.
(md_begin): Call it for 32-bit instructions, instead of doing match/mask check
here.  In case of failure, print a message, but check the rest of the opcode
table before exiting.
1997-10-31 23:21:44 +00:00
Nick Clifton
6e3fcdf01c Fixes to Thumb ADR pseudo op from Tony Thompson at ARM (athompso@arm.com). 1997-10-30 21:44:05 +00:00
Michael Meissner
42cf65557e Allow odd registers for ld2w and friends 1997-10-30 16:12:36 +00:00
Gavin Romig-Koch
4ebda395f1 * config/tc-mips.c (hilo_interlocks): True for tx49.
(md_begin): Add mips64tx49.
	(md_parse_option): Add 4900 cpu.

	* gas/mips/mips.exp: Add tx49 configury.
1997-10-29 21:40:09 +00:00
Ian Lance Taylor
e59390a7eb * config/tc-ppc.c (md_assemble): When handling @l, always sign
extend if the operand expects a signed value.
PR 13667.
1997-10-24 21:29:10 +00:00
Ian Lance Taylor
c14d0cc015 * config/tc-mips.h (LOCAL_LABELS_DOLLAR): Don't define; use
default which is to permit dollar labels.
PR 13645.
1997-10-24 20:03:16 +00:00
Richard Henderson
1bb6aaad34 Fri Oct 24 11:19:22 1997 Jakub Jelinek <jj@sunsite.mff.cuni.cz>
* config/tc-sparc.c (sparc_memory_model): New variable.
        (md_longopts): Add -TSO/-PSO/-RMO options.
        (md_parse_options): Handle them.
        (sparc_elf_final_processing): For 64 ELF, set required
        memory ordering in e_flags. Default to RMO and let the user
        override it through command line.

        * config/tc-sparc.h (elf_tc_final_processing): Add.
1997-10-24 18:20:36 +00:00
Richard Henderson
1277cdda1c * config/tc-sparc.c (v9a_asr_table): New variable.
(sparc_ip): Handle v9a asr's.
        Patch from David Miller <davem@vger.rutgers.edu>.
1997-10-23 00:40:25 +00:00
Richard Henderson
7532235c09 * config/tc-sparc.h (md_do_align): New macro.
* config/tc-sparc.c (sparc_handle_align): Handle rs_align_code.
        Patch from Jakub Jelinek <jj@sunsite.mff.cuni.cz>.
1997-10-23 00:22:51 +00:00
Ian Lance Taylor
82b4217bfd * config/tc-sh.c (sh_small): New variable.
(OPTION_SMALL): Define.
	(md_longopts): Add "small".
	(md_parse_option): Handle OPTION_SMALL.
	(md_show_usage): Mention -small.
	* config/tc-sh.h (sh_small): Declare.
	(SUB_SEGMENT_ALIGN): Handle sh_small.
	* config/obj-coff.h (TARGET_FORMAT): Check sh_small in TC_SH
	case.
PR 13580.
1997-10-22 20:13:54 +00:00
Ian Lance Taylor
517640d9b5 * config/tc-mips.c (macro): Correct handling of constant in M_LI_D
case in little endian mode.
1997-10-22 16:52:46 +00:00
Doug Evans
61a60a8a70 * config/tc-sparc.c (md_apply_fix3, cases ..._H44, ..._HIX22): Leave
overflow signalling to linker.
1997-10-21 17:23:12 +00:00
Doug Evans
70ee778220 * configure.in (sparc64): Set arch to v9-64.
* configure: Regenerated.
1997-10-20 20:02:28 +00:00
Ian Lance Taylor
9659c18b39 Various fixes for openvms/alpha. 1997-10-20 19:43:05 +00:00
Ian Lance Taylor
71e0e8f9e8 Mon Oct 20 14:54:06 1997 Klaus K"ampf <kkaempf@progis.de>
* config/obj-evax.c: support .weak pseudo-op
1997-10-20 18:56:21 +00:00
Doug Evans
595da85d72 * tc-sparc.c (default_arch_size): New static local.
(struct sparc_arch): Rename arch_size to default_arch_size.
	New member user_option_p.
	(sparc_arch_table): Always include v9, v9a.  New entry v9-64.
	(init_default_arch): Check whether default arch is valid.
	Set default_arch_size in addition to sparc_arch_size.
	(OPTION_32,OPTION_64): Define.
	(md_longopts): New entries for -32, -64.
	(md_parse_option): Handle them.
	(md_show_usage): Print them.  Ensure init_default_arch called.
1997-10-20 17:23:10 +00:00
Ian Lance Taylor
66a6a38139 * write.c (subsegs_finish): New function, broken out of
write_object_file.
	(write_object_file): Some code moves into subsegs_finish.
	* write.c (subsegs_finish): Declare.
	* as.c (main): Call subsegs_finish.
Fixes last frag when generating a listing for a file with an error.
1997-10-19 18:14:01 +00:00
Ian Lance Taylor
891a158431 * read.c (s_include): Check for error return from
demand_copy_string.
PR 13566.
1997-10-19 17:51:31 +00:00
Richard Henderson
08ce71f5c4 * read.c (get_line_sb): Accept any eol marker while scanning macros. 1997-10-15 03:56:30 +00:00
Richard Henderson
10b8f7f036 * config/tc-alpha.h (DIFF_EXPR_OK): Define.
* config/tc-i386.h (DIFF_EXPR_OK): Define.
        * config/tc-alpha.c (md_apply_fix): Notice fx_pcrel and substitute
        the correct relocation when it exists.
        * config/tc-i386.c (md_apply_fix3): Likewise.
        * config/tc-ppc.h: Correct typo in comment.
        * config/tc-v850.h: Likewise.
1997-10-15 02:17:00 +00:00
Andrew Cagney
a0a5f4e2bd Allow assembler to make parallel instructions where there the seconds
(latter) outputs intersect with the first (earlier) inputs.
1997-10-13 23:17:22 +00:00
Richard Henderson
856f843eef * ecoff.c (PAGE_SIZE): Double to 8k as a hack to allow some C++
templated programs to build with -g.
1997-10-13 22:28:35 +00:00
Nick Clifton
c280609300 Jim fixed the fixups for conditional and unconditional branches.
Added code to support the bss and common sections in thr ZDA and SDA areas.
1997-10-11 00:55:57 +00:00
David Edelsohn
e01e18a8b3 * configure.in (sparc): Set DEFAULT_ARCH from correct target.
* configure: Regenerated.
1997-10-10 22:02:59 +00:00
Martin Hunt
b83565def8 Fri Oct 10 11:22:45 1997 Martin M. Hunt <hunt@cygnus.com>
* config/tc-d10v.c: Fixes to make sure the AT_WORD
	expression is not confused with -1.
1997-10-10 18:22:59 +00:00
Andrew Cagney
528859ea3f Flag SP as modified for @-sp operand - OPERAND_ATMINUS. 1997-10-10 05:59:16 +00:00
Michael Meissner
719ddab4cc Do not allow auto inc/dec to parallelize with an instruction that uses the index register 1997-10-10 04:50:36 +00:00
Ian Lance Taylor
15ab76e50d From Robin Kirkham <Robin.Kirkham@mlb.dmt.csiro.au>:
* config/tc-m68k.c (archs): Add 68306, 68307, 68322, 68356, 68334,
	68336, 68341, 68349.
	* doc/c-m68k.texi (M68K-Opts): Add -m68ec000 -m68hc000 -m68hc001
	-m68306, -m68307, -m68322, -m68356, -m68ec020, -m68ec030,
	-m68ec040, -m68ec060, -m68330, -m68334, -m68336, -m68341,
	-m68349.
1997-10-09 19:30:16 +00:00
Ian Lance Taylor
57f269b1c0 * doc/Makefile.am (CPU_DOCS): Define.
(as.info): Depend upon $(CPU_DOCS).
	* doc/Makefile.in: Rebuild.
1997-10-09 19:22:15 +00:00
Ian Lance Taylor
ed1ed9f9dc * configure.in: Remove AM_PROG_INSTALL; it's called by
AM_INIT_AUTOMAKE.
	* configure: Rebuild.
1997-10-09 19:20:14 +00:00
Joern Rennecke
c7b2ac2856 * config/tc-d10v.c (write_2_short): Fix bug that wouldn't allow
to pair a branch and link with anything but an exe instruction.
Fix for gas/13494.
1997-10-09 18:37:16 +00:00
Joern Rennecke
d78d367107 * tc-d10v.h (TC_START_LABEL): Don't define.
(tc_frob_label): Define.
Fix for gas/13307.
1997-10-09 18:28:59 +00:00
Richard Henderson
8a8a91a5b7 * config/tc-alpha.c (load_expression): Disable the sym+const .got
optimization to reduce the alignment surprises for gcc.
1997-10-08 23:40:54 +00:00
David Edelsohn
54b9ebdd55 * config/obj-coff.h (TC_SPARC): Don't define TARGET_FORMAT.
* config/tc-sparc.c (sparc_target_format): Handle coff here.
	(sparc_ip): Add %hix,%lox.
	(md_apply_fix3): Call as_bad_where, not as_bad.
	Add support for BFD_RELOC_SPARC_{HIX22,LOX10}.
	(tc_gen_reloc): Add support for BFD_RELOC_SPARC_{HIX22,LOX10}.
1997-10-08 23:13:52 +00:00
Richard Henderson
0170f1c38a Change alpha-*-* to alpha*-*-*; config.guess now
recognizes alphaev5 etc.
1997-10-08 19:36:17 +00:00
Gavin Romig-Koch
6fd819cfff config/tc-mips.c (md_begin): Replace the TARGET_CPU value
of mipsr3900 with mipstx39.

config/tc-mips.c (mips_ip): Don't print the 'opcode requires
-mipsXX message' if the insn isn't an ISA insn.
1997-10-08 04:17:08 +00:00
David Edelsohn
4913666781 * config/tc-sparc.h (TARGET_FORMAT support): Moved to tc-sparc.c.
Redefine TARGET_FORMAT to call sparc_target_format.
	* config/tc-sparc.c (in_unsigned_range): New function.
	(sparc_arch_size): Make static.
	(sparc_target_format): New function.
	(sparc_ip): Delete variable immediate_max.  Rewrite %hi/etc reloc
	handling.  Add support for %hh,%hm,%lm,%h44,%m44,%l44.
	(output_insn): Set `fx_no_overflow'.
	(md_apply_fix3): Handle BFD_RELOC_SPARC_{7,H44,M44,L44}.
	(tc_gen_reloc): Likewise.
1997-10-07 19:53:17 +00:00
Stan Shebs
eb9c5f1c7c Remove sanitized-out Magic Cap support, will never be released 1997-10-06 23:39:29 +00:00
Nick Clifton
a9da34ae13 Remove v850 specific section directive. 1997-10-06 21:02:27 +00:00
Ian Lance Taylor
a3e8c5b712 * config/tc-mips.c: Undef OBJ_COPY_SYMBOL_ATTRIBUTES before
including obj-elf.h in OBJ_MAYBE_ELF case.
	(mips_target_format): Return NULL after abort to avoid warning.
1997-10-03 21:46:04 +00:00