Commit graph

2703 commits

Author SHA1 Message Date
Jan Beulich
5e0bd1769d gas/
2005-10-24  Jan Beulich  <jbeulich@novell.com>

	* config/tc-ia64.c (declare_register): Call symbol_create.
	(md_begin): Remove local variables total, ar_base, and cr_base.
	Start loops for registers at their respective first one. Don't
	update md.regsym for alias names. Generate alias name tp for r13.

gas/testsuite/
2005-10-24  Jan Beulich  <jbeulich@novell.com>

	* gas/ia64/regs.pl: Also check tp alias of r13.
	* gas/ia64/regs.s: Regenerate.
	* gas/ia64/regs.d: Adjust.
2005-10-24 07:36:40 +00:00
DJ Delorie
cab0a0db16 * config/tc-m32c.c (md_cgen_lookup_reloc): Add more relocs. Print
names unstead of numbers.
2005-10-22 00:04:26 +00:00
David Ung
290248614c * config/tc-mips.c (append_insn): Convert MIPS16 jr/jalr jumps
into jrc/jalrc versions if ISA_MIPS32+ and not doing the swap,
hence avoiding to emit a nop.

* gas/mips/mips.exp: Run new test.
* gas/testsuite/gas/mips/mips16e-jrc.s: New test for converting
jalr/jr to the compact jalrc/jrc instructions.
* gas/testsuite/gas/mips/mips16e-jrc.d: New.
2005-10-19 18:47:09 +00:00
Jie Zhang
9f8e671b12 * config/tc-bfin.c (md_begin): Let the lex_type of '(' be
LEX_BEGIN_NAME.
	(bfin_start_line_hook): Remove the workaround for LSETUP(.
	(bfin_name_is_register): Remove the workarounds for LSETUP(
	and SAA(.
	(bfin_start_label): Ditto.
2005-10-19 13:15:01 +00:00
Bob Wilson
e8247da70c * config/tc-xtensa.c (xtensa_end_directive): Restore
default_lit_sections regardless of use_literal_section.
2005-10-18 23:13:48 +00:00
Jie Zhang
1e0486eab8 * Makefile.am (bfin-lex.c): Update ylwrap invocation.
* Makefile.in: Regenerated.
2005-10-18 16:10:59 +00:00
Nick Clifton
cd1fcb494f * doc/as.texinfo (.loc) Fix placement of '@end table'. 2005-10-18 07:47:01 +00:00
Bob Wilson
7c430684d0 * config/xtensa-istack.h (TInsn): Replace dwarf2_line_info with an
unsigned line number.  Do not include "dwarf2dbg.h".
	* config/tc-xtensa.c (md_pseudo_table): Remove entry for "loc".
	(xtensa_dwarf2_directive_loc, xtensa_dwarf2_emit_insn): Delete.
	(xg_build_to_insn, xg_build_token_insn): Update TInsn uses.
	(md_assemble): Use as_where instead of dwarf2_where.
	(xg_assemble_vliw_tokens): Use unsigned line numbers instead of
	dwarf2_line_infos.  Change to call new_logical_line followed by
	dwarf2_emit_insn.
2005-10-17 18:17:08 +00:00
Nick Clifton
7047dd1ea8 * doc/as.texinfo (Section): Add missing ']' to .section example. 2005-10-14 08:24:48 +00:00
Dave Anglin
559c577b2b PR binutils/941
* config/tc-hppa.c (pa_ip): Use as_bad instead of as_fatal when an
	unknown opcode is found.
2005-10-13 01:06:01 +00:00
Mark Mitchell
3e8a519c72 * NEWS: Mention @file.
* NEWS: Mention @file.
2005-10-13 00:57:43 +00:00
Nick Clifton
dc191a8f00 * config/tc-avr.c: Convert to ISO C90 format. Fix formatting and generally
tidy up the code.
* config/tc-avr.h: Likewise.
2005-10-12 10:56:46 +00:00
Jan Beulich
60d11e5593 gas/
2005-10-12  Jan Beulich  <jbeulich@novell.com>

	* config/tc-ia64.c (dot_reg_val): Use expression_and_evaluate.
	(dot_pred_rel): Likewise.
	(parse_operand): Likewise.
	(ia64_unrecognized_line): Likewise.
	(md_operand): Likewise.

gas/testsuite/
2005-10-12  Jan Beulich  <jbeulich@novell.com>

	* gas/ia64/forward.[sd]: New.
	* gas/ia64/ia64.exp: Run new test.
2005-10-12 07:51:08 +00:00
Nick Clifton
9497f5ac6b This adjusts equate handling by
- allowing true forward references (which will always assume the referenced
  symbols have at the point of use) through the new .eqv pseudo-op and the
  new == operator
- disallowing changing .equiv-generated equates (so that the protection this
  provides is both forward and backward)
- snapshotting equates when their value gets changed so that previous uses
  don't get affected by the new value.
- allowing expressions in places where absolute expressions (or register
  names) are needed which were not completely resolvable at the point of
  their definition but which are fully resolvable at the point of use

In addition it fixes PR/288.
2005-10-11 11:16:17 +00:00
Ian Lance Taylor
fa4ec3f59f * Makefile.am (EXTRA_DIST): Remove bfin-lex.l and bfin-defs.h.
* Makefile.in: Regenerate.
2005-10-10 17:24:06 +00:00
Nick Clifton
723a84724a * expr.c (operator): Allow "!=" as a synonym for "<>".
* doc/as.texinfo (Infix Op): Mention "!=".
2005-10-10 15:32:44 +00:00
Dave Anglin
f0a3b40fae * config/tc-hppa.c (strict): Don't initialize. Update comment.
(pa_ip): Promote from PA 1.0 to 1.1 immediately when 1.1 match is
	found.  Simplify handling of "ma" and "mb" completers.

	* hppa.h (FLAG_STRICT): Revise comment.
	(pa_opcode): Revise ordering rules.  Add/move strict pa10 variants
	before corresponding pa11 opcodes.  Add strict pa10 register-immediate
	entries for "fdc".
2005-10-08 19:01:29 +00:00
Paul Brook
ee065d83ee 2005-10-08 Paul Brook <paul@codesourcery.com>
bfd/
	* elf32-arm.c: Move #include "elf/arm.h" after libbfd.h.
	(NUM_KNOWN_ATTRIBUTES): Define.
	(aeabi_attribute, aeabi_attribute_list): Define.
	(elf32_arm_obj_tdata): Add known_eabi_attributes and
	other_eabi_attributes.
	(uleb128_size, is_default_attr, eabi_attr_size,
	elf32_arm_eabi_attr_size, write_uleb128, write_eabi_attribute,
	elf32_arm_set_eabi_attr_contents, elf32_arm_bfd_final_link,
	elf32_arm_new_eabi_attr, attr_strdup, elf32_arm_add_eabi_attr_int,
	elf32_arm_add_eabi_attr_compat, copy_eabi_attributes,
	elf32_arm_merge_eabi_attributes): New functions.
	(elf32_arm_copy_private_bfd_data): Copy EABI object attributes.
	(elf32_arm_fake_sections): Handle .ARM.attributes.
	(elf32_arm_parse_attributes): New function.
	(elf32_arm_section_from_shdr): Use it.
	(bfd_elf32_bfd_final_link): Define.
gas/
	* config/tc-arm.c: Don't provide fallback default for CPU_DEFAULT.
	(arm_arch_used, thumb_arch_used, selected_cpu, selected_cpu_name):
	New variables.
	(arm_cpu_option_table): Add canonical_name.
	(arm_cpus): Populate canonical_name field.
	(s_arm_eabi_attribute, s_arm_arch, s_arm_cpu, s_arm_fpu,
	aeabi_set_public_attributes, arm_md_end): New functions.
	(md_pseudo_table): Add "cpu", "arch", "fpu" and "eabi_attribute".
	(md_assemble): Set thumb_arch_used and arm_arch_used.
	(md_begin): Set defaut cpu if CPU_DEFAULT not defined.
	* config/tc-arm.h (md_end): Define.
	* doc/c-arm.texi: Document .cpu, .arch, .fpu and .eabi_attribute.
gas/testsuite/
	* gas/arm/eabi_attr_1.s: New test.
	* gas/arm/eabi_attr_1.d: New test.
	* gas/arm/arm7t.d: Only disassemble code sections.
	* gas/arm/bignum1.d: Ignore Arm object attribute sections.
	* gas/arm/mapping.d: Ditto.
	* gas/arm/unwind.d: Ditto.
	* gas/elf/section0.d: Ditto.
	* gas/elf/section1.d: Ditto.
	* gas/elf/elf.exp: Set target_machine for Arm EABI based targets.
	* gas/elf/section2.e-armeabi: New file.
include/elf/
	* arm.h: Add prototypes for BFD object attribute routines.
ld/testsuite/
	* ld-arm/arm-rel31.d: Ignore Arm object attribute sections.
	* ld-arm/arm-target1-abs.d: Ditto.
	* ld-arm/arm-target1-rel.d: Ditto.
	* ld-arm/arm-target2-abs.d: Ditto.
	* ld-arm/arm-target2-got-rel.d: Ditto.
	* ld-arm/arm-target2-rel.d: Ditto.
2005-10-08 17:07:19 +00:00
Nick Clifton
37dedf6633 * config/tc-sh.c (allow_dollar_register_prefix): New variable.
(parse_reg_without_prefix): New function.
  (parse_reg): Check for '$' register prefix if --allow-reg-prefix is set.
  (option md_longopts): Add allow-reg-prefix option.
* doc/c-sh.texi: Document --allow-reg-prefix option.
* NEWS: Mention the new switch.

* gas/sh/basic.exp:  Run reg-prefix test.
* gas/sh/reg-prefix.s: New
* gas/sh/reg-prefix.d: New
2005-10-06 11:44:07 +00:00
Bob Wilson
4945bb8a8e Add Sterling Augustine's name to my change on 2005-09-30. 2005-10-03 21:42:23 +00:00
Nick Clifton
d1eac9d97d (Infix Ops): '<' and '>' are not shift operators. 2005-10-03 09:41:06 +00:00
Bob Wilson
3ea38ac270 * config/tc-xtensa.c (xtensa_frob_label): Disallow labels in bundles. 2005-09-30 21:58:28 +00:00
H.J. Lu
b898a38504 2005-09-30 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerated.
	* aclocal.m4: Likewise.
2005-09-30 18:59:46 +00:00
Mark Mitchell
869b9d07bb * addr2line.c (main): Likewise.
* ar.c (main): Likewise.
	* coffdump.c (main): Likewise.
	* cxxfilt.c (main): Likewise.
	* dlltool.c (main): Likewise.
	* dllwrap.c (main): Likewise.
	* nlmconv.c (main): Likewise.
	* nm.c (main): Likewise.
	* objcopy.c (main): Likewise.
	* objdump.c (main): Likewise.
	* readelf.c (main): Likewise.
	* size.c (main): Likeiwse.
	* srcconv.c (main): Likewise.
	* strings.c (main): Likewise.
	* sysdump.c (main): Likewise.
	* sysinfo.c (main): Likewise.
	* windres.c (main): Likewise.

	* ldmain.c (main): Use expandargv.

	* gprof.c (main): Use expandargv.

	* as.c (main): Use expandargv.
2005-09-30 16:37:32 +00:00
Jan Beulich
90e3ad060c gas/
2005-09-30  Jan Beulich  <jbeulich@novell.com>

	* config/tc-tic4x.c (tic4x_set): Advance input_line_pointer past
	(removed) comma.
2005-09-30 15:48:24 +00:00
Catherine Moore
07c1b327c7 * Makefile.am: Bfin support.
* Makefile.in: Regenerated.
	* aclocal.m4: Regenerated.
	* configure: Regenerated.
	* configure.in: Bfin support.
	* configure.tgt: Bfin support.
	* config/bfin-aux.h: New file.
	* config/bfin-defs.h: New file.
	* config/bfin-lex.l: New file.
	* config/bfin-parse.y: New file.
	* config/tc-bfin.c: New file.
	* config/tc-bfin.h: New file.
	* doc/Makefile.am: Recognize c-bfin.texi.
	* doc/Makefile.in: Regenerated.
	* doc/all.texi: Bfin support.
	* doc/as.texinfo: Likewise.
	* doc/c-bfin.texi: Document bfin-specific syntax and
	directives.
2005-09-30 15:05:07 +00:00
Paul Brook
e3cb604ed8 2005-09-30 Paul Brook <paul@codesourcery.com>
gas/
	* config/tc-arm.c (opcode_tag): Add OT_cinfix3_legacy.
	(opcode_lookup): Handle OT_cinfix3_legacy.  Revert earlier change for
	normal infix conditions.
	(C3E): Include Thumb-2 definition.
	(CL, cCL): Define.
	(insns): Use them for legacy mnemonics.
gas/testsuite/
	* gas/arm/fpa-mem.s: Remove incorrect comments.
	* gas/arm/fpa-mem.d: Update expected results.
2005-09-30 13:34:17 +00:00
Nick Clifton
a70c240376 asintl.h/bucomm.h/ld.h: Prevent the inclusion of <libintl.h> from the Solaris
version of <locale.h> when ENABLE_NLS is not defined.
gprof.c (main):Only invoke bindtextdomain() and textdomain() if ENABLE_NLS is
  defined.
2005-09-30 11:42:05 +00:00
Jan Beulich
ef0241e727 gas/
2005-09-29  Jan Beulich  <jbeulich@novell.com>

	* config/tc-ia64.c (parse_operands): Always parse first operand of
	alloc.

gas/testsuite/
2005-09-29  Jan Beulich  <jbeulich@novell.com>

	* gas/ia64/alloc.[sl]: New.
	* gas/ia64/ia64.exp: Run new test.
2005-09-29 07:00:54 +00:00
Alan Modra
c9c5dcdafc * app.c (do_scrub_chars): Match open and close quote of strings.
Remove redundant EOF test in case 7.
2005-09-29 02:20:50 +00:00
Jan Beulich
e05278afa3 gas/
2005-09-28  Jan Beulich  <jbeulich@novell.com>

	* config/tc-i386.c (reloc): Disable signedness check for 4-byte
	relocations in 16- and 32-bit modes.
	(i386_displacement): Make pc-relative branch handling dependent
	upon operand (rather than address) size.

gas/testsuite/
2005-09-28  Jan Beulich  <jbeulich@novell.com>

	* gas/i386/mixed-mode-reloc.s: Enable all insns.
	* gas/i386/mixed-mode-reloc32.d: Adjust.
	* gas/i386/mixed-mode-reloc64.d: Adjust.
2005-09-28 15:31:21 +00:00
Jan Beulich
7c9c8381d9 gas/
2005-09-28  Jan Beulich  <jbeulich@novell.com>

	* dw2gencfi.c (dot_cfi): Call ignore_rest_of_line when not fully
	parsing the input.
	(dot_cfi_startproc): Likewise.
	(dot_cfi_endproc): Likewise. Also check no extra input was given.
	(dot_cfi_escape): Likewise.
2005-09-28 14:51:02 +00:00
Jan Beulich
d182319b09 gas/
2005-09-28  Jan Beulich  <jbeulich@novell.com>

	* config/tc-i386.h (x86_cons_fix_new): Declare unconditionally.
	(TC_CONS_FIX_NEW): Define unconditionally.
	(x86_pe_cons_fix_new): Remove.
	* config/tc-i386.c (signed_cons): New.
	(md_pseudo_table): Add slong.
	(x86_cons_fix_new): Declare unconditionally.
	(x86_pe_cons_fix_new): Merge into x86_cons_fix_new.
	(tc_gen_reloc): Also consider BFD_RELOC_X86_64_32S for gotpc
	conversion.

gas/testsuite/
2005-09-28  Jan Beulich  <jbeulich@novell.com>

	* gas/i386/reloc64.s: Also test .slong.
	* gas/i386/reloc64.l: Adjust.
	* gas/i386/reloc64.d: Adjust.
2005-09-28 14:44:25 +00:00
Alan Modra
37b75c0cc0 * app.c (do_scrub_chars <LEX_IS_SYMBOL_COMPONENT>): Check for full
buffer after copying string.
2005-09-28 12:31:44 +00:00
Paul Brook
db8ac8f972 2005-09-27 Paul Brook <paul@codesourcery.com>
* config/arm.c (arm_cpus): Add more cpu names.
	* doc/c-arm.texi: Document them.
2005-09-27 13:23:38 +00:00
Alan Modra
66bd02d33d * read.c (pseudo_set): Don't set undefined symbols to expr_section. 2005-09-21 00:12:19 +00:00
Richard Henderson
fead5cd91c * dwarf2dbg.c (process_entries): Fix uninitialized variable warning. 2005-09-20 21:00:15 +00:00
Richard Henderson
07a53e5cdb * dwarf2dbg.c (struct line_entry): Replace frag and frag_ofs
with label.
        (dwarf2_loc_mark_labels): New.
        (dwarf2_gen_line_info_1): Split out of ...
        (dwarf2_gen_line_info): ... here.  Create the temp symbol here.
        (dwarf2_emit_label): New.
        (dwarf2_directive_loc_mark_labels): New.
        (out_set_addr): Take a symbol instead of frag+ofs.
        (relax_inc_line_addr): Likewise.
        (emit_inc_line_addr): Assert delta non-negative.
        (process_entries): Remove dead code.  Update to work with temp
        symbols instead of frag+ofs.
        * dwarf2dbg.h (dwarf2_directive_loc_mark_labels): Declare.
        (dwarf2_emit_label, dwarf2_loc_mark_labels): Declare.
        * config/obj-elf.c (elf_pseudo_tab): Add loc_mark_labels.
        * config/obj-elf.h (obj_frob_label): New.
        * config/tc-alpha.c (alpha_define_label): Call dwarf2_emit_label.
        * config/tc-arm.c, config/tc-hppa.c, config/tc-m68k.c,
        config/tc-mips.c, config/tc-ppc.c, config/tc-sh.c, config/tc-xtensa.c:
        Similarly in the respective tc_frob_label implementation functions.
        * config/tc-i386.c (md_pseudo_table): Move file and loc to
        non-elf section; add loc_mark_labels.
        * config/tc-ia64.c (struct label_fix): Add dw2_mark_labels.
        (ia64_flush_insns): Check for marked labels; emit line entry if so.
        (emit_one_bundle): Similarly.
        (ia64_frob_label): Record marked labels.
        * config/tc-m68hc11.h (tc_frob_label): Remove.
        * config/tc-ms1.c (md_pseudo_table): Remove file and loc.
        * config/tc-sh.h (tc_frob_label): Pass sym to sh_frob_label.
        * config/tc-sh64.h (tc_frob_label): Likewise.
        * doc/as.texinfo (LNS directives): Docuement .loc_mark_blocks.
2005-09-20 18:24:48 +00:00
Alan Modra
aba4aa7d5d * read.c (pseudo_set): Set segment of expression syms to expr_section. 2005-09-20 03:06:13 +00:00
Jan Beulich
43fd16e4a3 gas/
2005-09-14  Jan Beulich  <jbeulich@novell.com>

	* config/tc-i386.c (tc_x86_regname_to_dw2regnum): Add selector
	registers, floating point control and status words, and mxcsr as
	well as (for 64-bit code) segment base registers and rflags.
2005-09-14 06:33:25 +00:00
Dmitry Diky
3e470ab5cd 2005-09-09 Dmitry Diky <diwil@spec.ru>
* config/tc-msp430.c (msp430_operands): Undo last changes. Instead...
	(msp430_relax_frag): add a guard check to ensure that final fr_subtype
	has been reached.
2005-09-09 08:46:19 +00:00
Chao-ying Fu
2ef2b9ae0f * doc/as.texinfo: Document -mdsp and -mno-dsp options.
* doc/c-mips.texi: Likewise, and document ".set dsp" and ".set nodsp"
directives.
2005-09-08 18:05:15 +00:00
Paul Brook
3eb17e6bd2 2005-09-08 Paul Brook <paul@codesourcery.com>
bfd/
	* reloc.c: Rename BFD_RELOC_ARM_SMI to BFD_RELOC_ARM_SMC.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.
opcodes/
	* arm-dis.c (arm_opcodes, thumb32_opcodes): Rename smi to smc.
gas/
	* config/tc-arm.c (do_smi, do_t_smi): Rename ...
	(do_smc, do_t_smc): ... to this.
	(insns): Remane smi to smc.
	(md_apply_fix, tc_gen_reloc): Rename BFD_RELOC_ARM_SMI to
	BFD_RELOC_ARM_SMC.
gas/testsuite/
	* gas/arm/arch6zk.d: Rename smi to smc.
	* gas/arm/arch6zk.s: Ditto.
	* gas/arm/thumb32.d: Ditto.
	* gas/arm/thumb32.s: Ditto.
2005-09-08 12:49:27 +00:00
Richard Henderson
ecea767983 * dwarf2dbg.c (dwarf2_where): Set line->isa.
(dwarf2_set_isa): New.
        (dwarf2_directive_loc): Rearrange to allow all options on one line.
        * dwarf2dbg.h (dwarf2_set_isa): Declare.
        * doc/as.texinfo: Update .loc documentation.

        * gas/lns/lns-common-1.d: Don't match header or special opcode numbers.
        * gas/lns/lns-common-1.s: Update for syntax change.
        * gas/lns/lns-diag-1.[sl]: Likewise.
2005-09-07 19:22:42 +00:00
Richard Henderson
bd0eb99b90 * dwarf2dbg.c: Include safe-ctype.h.
(DWARF2_LINE_OPCODE_BASE): Bump to 13.
        (current): Initialize.
        (dwarf2_emit_insn): Clear DWARF2_FLAG_BASIC_BLOCK,
        DWARF2_FLAG_PROLOGUE_END, DWARF2_FLAG_EPILOGUE_BEGIN.
        (dwarf2_directive_file): Cope with invalid filename.
        (dwarf2_directive_loc): Add handling for basic_block, prologue_end,
        epilogue_begin, is_stmt, isa.
        (emit_inc_line_addr): Move line_delta == 0, addr_delta == 0 special
        case down lower.
        (process_entries): Handle isa, DWARF2_FLAG_PROLOGUE_END,
        and DWARF2_FLAG_EPILOGUE_BEGIN.
        (out_debug_line): Emit sizes for DW_LNS_set_prologue_end,
        DW_LNS_set_epilogue_begin, DW_LNS_set_isa.
        * dwarf2dbg.h (DWARF2_FLAG_IS_STMT): Rename from DWARF2_FLAG_BEGIN_STMT.        (DWARF2_FLAG_BASIC_BLOCK): Rename from DWARF2_FLAG_BEGIN_BLOCK.
        (DWARF2_FLAG_PROLOGUE_END, DWARF2_FLAG_EPILOGUE_BEGIN): New.
        (struct dwarf2_line_info): Add isa member.
        * doc/as.texinfo (LNS directives): New node.
2005-09-07 11:41:25 +00:00
David Ung
b8ee1a6e86 * config/tc-mips.c (append_insn): Undo last change. Instead add
guard to suppress calling frag_grow if the current instruction is
one that allows a delay slot.
2005-09-07 11:39:17 +00:00
Chao-ying Fu
ef2e4d86d6 * config/tc-mips.c (mips_set_options): Add ase_mt for MT instructions.
(mips_opts): Add -1 to initialize ase_mt.
(file_ase_mt): New variable for -mmt.
(CPU_HAS_MT): New define.
(validate_mips_insn): Add supports for +t, +T, !, $, *, &, g operand
formats.
(mips_ip): Check ase_mt to enable MT instructions.
Handle !, $, *, &, +T, +t, g operand formats.
For "mftc1", "mfthc1", "cftc1", "mttc1", "mtthc1", "cttc1", we allow
odd float registers.
(OPTION_MT, OPTION_NO_MT): New define.
(OPTION_COMPAT_ARCH_BASE): Change because of inserting MT define.
(md_parse_option): Parse OPTION_MT and OPTION_NO_MT.
(mips_after_parse_args): Set ase_mt based on CPU.
(s_mipsset): Handle ".set mt" and ".set nomt".
(mips_elf_final_processing): Remind of adding new flag for MT ASE.
(md_show_usage): Show usage of -mmt and -mno-mt.
* doc/as.texinfo: Document -mmt and -mno-mt options.
* doc/c-mips.texi: Likewise, and document ".set mt" and ".set nomt"
directives.
2005-09-06 18:53:03 +00:00
Paul Brook
0110f2b896 2005-09-06 Paul Brook <paul@codesourcery.com>
gas/
	* config/tc-arm.c (arm_it): Add relax field.
	(T16_32_TAB): Add addi, addis, add_pc, add_sp, dec_sp, inc_sp,
	b, bcond, ldr_pc, ldr_pc2, ldr_sp, str_sp, subi, subis.
	(do_t_add_sub, do_t_addr, do_t_branch, do_t_ldst,
	do_t_mov_cmp): Allow relaxation.
	(output_relax_insn): New function.
	(put_thumb32_insn): New function.
	(output_inst): Use new functions.
	(md_assemble): Don't throw error on relaxable instructions.
	(insns): Change "b" entry from TCE(...) to tCE(...).
	(md_estimate_size_before_relax): Return 2.
	(md_convert_frag, relax_immediate, relax_adr, relax_addsub,
	relax_branch, arm_relax_frag): New functions.
	(arm_force_relocation): Return 0 for Thumb-2 immediate operand
	relocations.
	* config/tc-arm.h (md_convert_frag): Remove definition.
	(md_relax_frag): Define.
	(arm_relax_frag): Add prototype.
gas/testsuite/
	* gas/arm/thumb2_relax.d: New test.
	* gas/arm/thumb2_relax.s: New test.
	* gas/arm/thumb32.d: Adjust expected results to include relaxation.
	* gas/arm/thumb32.s: Tweak for better coverage of relaxable
	instructions.  Remove load/store tests.
2005-09-06 16:59:24 +00:00
Paul Brook
9a64e43541 2005-09-02 Paul Brook <paul@codesourcery.com>
gas/
	* config/tc-arm.c (do_rn_rd): Enforce SWP operand constraints.
gas/testsuite/
	* gas/arm/arm3-bad.s: New test.
	* gas/arm/arm3-bad.d: New test.
	* gas/arm/arm3.s: Avoid illegal instructions.
	* gas/arm/arm3.d: Ditto.
2005-09-06 15:57:06 +00:00
Paul Brook
8f06b2d82f 2005-09-02 Paul Brook <paul@codesourcery.com>
bfd/
	* libbdf.h: Regenerate.
	* bfd-in2.h: Regenerate.
	* reloc.c: Add BFD_RELOC_ARM_T32_CP_OFF_IMM and
	BFD_RELOC_ARM_T32_CP_OFF_IMM_S2.
gas/
	* config/tc-arm.c (encode_arm_cp_address): Use
	BFD_RELOC_ARM_T32_CP_OFF_IMM in thumb mode.
	(do_iwmmxt_wldstbh): Use BFD_RELOC_ARM_T32_CP_OFF_IMM_S2 in thumb
	mode.
	(md_assemble): Only allow coprocessor instructions when Thumb-2 is
	available.
	(cCE, cC3): Define.
	(insns): Use them for coprocessor instructions.
	(md_pcrel_from_section): Handle BFD_RELOC_ARM_T32_CP_OFF_IMM.
	(get_thumb32_insn): New function.
	(put_thumb32_insn): New function.
	(md_apply_fix): Handle BFD_RELOC_ARM_T32_CP_OFF_IMM and
	BFD_RELOC_ARM_T32_CP_OFF_IMM_S2.
gas/testsuite/
	* gas/arm/vfp-bad_t2.d, gas/arm/vfp-bad_t2.l, arm/vfp-bad_t2.s,
	gas/arm/vfp1_t2.d, gas/arm/vfp1_t2.s, gas/arm/vfp1xD_t2.d,
	gas/arm/vfp1xD_t2.s, gas/arm/vfp2_t2.d, gas/arm/vfp2_t2.s): New files.
opcodes/
	* arm-dis.c (coprocessor_opcodes): New.
	(arm_opcodes, thumb32_opcodes): Remove coprocessor insns.
	(print_insn_coprocessor): New function.
	(print_insn_arm): Use print_insn_coprocessor.  Remove coprocessor
	format characters.
	(print_insn_thumb32): Use print_insn_coprocessor.
2005-09-02 13:12:45 +00:00