(s_comm): Split out code to..
(s_comm_internal): ..here. Tidy error returns. Rearrange so that
"name" from input line may be used in more places. Merge code
testing for valid size from elf_common. Merge code from
s_lcomm_internal. Call comm_parse_extra.
(bss_alloc): New function, split out of s_lcomm_internal and
elf_common.
(parse_align): Likewise.
(s_lcomm_internal): Rewrite.
(s_lcomm, s_lcomm_bytes): Use s_comm_internal.
* read.h (bss_alloc, parse_align, s_comm_internal): Declare.
* config/obj-elf.c (elf_common): Split out code to..
(elf_common_parse): ..here. Remove code common to s_comm_internal,
parse_align and bss_alloc. Rearrange and Tidy.
* config/tc-alpha.h (TC_IMPLICIT_LCOMM_ALIGNMENT): Define.
* ppc-opc.c (MO): Make optional.
(RAO, RSO, SHO): New optional forms of RA, RS, SH operands.
(tlbwe): Accept for both PPC403 and BOOKE. Make all operands optional.
gas:
* tc-ppc.c (md_assemble): Rewrite comment about optional operands
to indicate that 'all or none' is also handled. Pluralize a
word in another comment.
gas/testsuite:
* gas/ppc/booke.s: Add two more forms of the mbar instruction
and three forms of the tlbwe instruction.
* gas/ppc/booke.d: Update to match.
* config/tc-mips.c (macro): Switch misordered call to frag_grow()
and setting of tc_fr_offset.
gas/testsuite/
* gas/mips/elf-rel16.[sd]: New test.
* gas/mips/mips.exp: Run it.
* gas/mips/elf-rel-xgot-n32.d: Fix addends for "lw $5,dl1+34($5)".
* gas/mips/elf-rel-xgot-n64.d: Likewise.
* config/tc-sh.c: Add support for sh4a and no-fpu variants,
with appropriate additions to md_show_usage.
* testsuite/gas/sh/basic.exp: Call tests for sh4a.
* testsuite/gas/sh/{err-sh4a-fp.s, err-sh4a.s,
err-sh4al-dsp.s, sh4a-dsp.d, sh4a-dsp.s, sh4a-fp.d,
sh4a-fp.s, sh4a.d, sh4a.s, sh4al-dsp.d, sh4al-dsp.s:
New files, tests for sh4a and related variants.
* doc/c-sh.texi: Document new -isa options.
* doc/c-sh64.texi: Ditto.
* NEWS: Mention new support for sh4a.
dsp test for sh64/sh5 targets.
* gas/sh/sh64/crange1.s: Tidy up to match data alignment.
* gas/sh/sh64/crange1-1.d: Update.
* gas/sh/sh64/crange1-2.d: Likewise.
* gas/sh/sh64/datal32-3.d: Likewise.
* gas/sh/sh64/datal64-3.d: Likewise.
* gas/sh/sh64/localcom-1.d: Likewise.
(md_apply_fix3): Likewise.
(cc_names): Add alias names for the names generated by the
disassembler.
(get_cc_operand): Be case insensitive.
(get_operands): Improve error handling for cc operands.
(check_operand): Not used, remove.
(md_assemble): Remove unused variable prev_opcode. Skip
whitespace until end-of-line only. Restore *op_end after call to
hash_find.
for loading addresses using CALL relocations.
Don't emit CALL relocations when a base register is used.
* gas/mips/lca-svr4pic.d: New test for the "lca" macro.
* gas/mips/lca-xgot.d: Likewise.
* gas/mips/lca.s: Source for the new tests.
* gas/mips/mips.exp: Run the new tests.
* opcode/mips.h: Define new enum members, M_LCA_AB and M_DLCA_AB.
* mips-opc.c (mips_builtin_opcodes): Handle new macros: "lca" and
"dlca".
(rn_table, iwmmxt_table, cp_table, cn_table, fn_table, sn_table,
dn_table, mav_mvf_table, mac_mvd_table, mav_mvfx_table,
mav_mvax_table, mav_dspc_table): Initialise new field.
(insert_reg_alias): Initialise new field.
(md_pseudo_table): Add "unreq" entry.
(s_unreq): New function: Undo the effects of a previous .req.
* doc/c-arm.texi: Document new pseudo op.
* NEWS: Mention new feature.
* testsuite/gas/arm/req.s: New test file. Check .req and .unreq psuedo ops.
* testsuite/gas/arm/req.l: Expected error output from req.s test.
* testsuite/gas/arm/copro.d: Set target architecture for objdump so that the
test will work on architectures which cannot encode higher arm architecture
types in their file headers.
* testsuite/gas/arm/arm.exp: Run new req.s test.
Skip thumb instruction test for PE targets which do not support
thumb relocations.
* testsuite/gas/elf/elf.exp: Skip special handling of section2 test for XScale
targets - it is no longer needed.
2003-10-22 Andreas Schwab <schwab@suse.de>
H.J. Lu <hongjiu.lu@intel.com>
Jim Wilson <wilson@specifixinc.com>
* config/tc-ia64.c (update_qp_mutex): New.
(note_register_values): Properly handle one of PRs in compare
is PR0. Don't add a mutex relation for .and.orcm/.or.andcm.
Clear mutex relation for .none/.unc. Don't clear mutex relation
on predicated compare.
testsuite/
2003-10-22 Andreas Schwab <schwab@suse.de>
H.J. Lu <hongjiu.lu@intel.com>
* gas/ia64/dv-mutex-err.s: Add more tests for compare.
* gas/ia64/dv-mutex.s: Likewise.
* gas/ia64/dv-mutex-err.l: Updated.
* gas/ia64/dv-mutex.d: Likewise.
2003-10-14 Bob Wilson <bob.wilson@acm.org>
* elf32-xtensa.c (get_is_linkonce_section): Delete.
(xtensa_is_property_section, xtensa_is_littable_section): Use
XTENSA_INSN_SEC_NAME and XTENSA_LIT_SEC_NAME macros. Do not recognize
linkonce sections containing ".xt.insn" and ".xt.lit" substrings.
(xtensa_get_property_section_name): Check section name instead of
calling get_is_linkonce_section. Remove unused bfd parameter. Use
XTENSA_INSN_SEC_NAME and XTENSA_LIT_SEC_NAME macros. Never generate
linkonce section names by appending ".xt.insn" or ".xt.lit".
(xtensa_read_table_entries): Remove bfd argument in call to
xtensa_get_property_section_name. Free section name when done.
(elf_xtensa_combine_prop_entries): Free leaking table.
gas ChangeLog:
2003-10-14 Bob Wilson <bob.wilson@acm.org>
* config/tc-xtensa.c (xtensa_create_property_segments): Remove bfd
argument in call to xtensa_get_property_section_name. Formatting.
include ChangeLog:
2003-10-14 Bob Wilson <bob.wilson@acm.org>
* elf/xtensa.h: Formatting. Fix comments about property section
names for linkonce sections.
* lib/gas-defs.exp (gas_run): Always log the command being run.
(gas_start): Likewise.
(regexp_diff): Make error reporting about non-existent files
consistent.
(parse_args) : Accept new --gstabs+ option, and set `use_gnu_debug_info_extensions'.
(show_usage) : Document --gstabs+ option.
* as.h (use_gnu_debug_info_extensions) : New extern declaration.
* stabs.c (stabs_generate_asm_file) : If `use_gnu_debug_info_extensions' is set
add the compilation directory to the stabs debug info.
* doc/as.texinfo : Document --gstabs+ option.
* NEWS: Mention new feature.
* gas/z8k/calr-backf.s: New file.
* gas/z8k/calr-forwf.s: New file.
* gas/z8k/calr.d: New file.
* gas/z8k/calr.s: New file.
* gas/z8k/djnz-backf.s: New file.
* gas/z8k/djnz-backf2.s: New file.
* gas/z8k/djnz.d: New file.
* gas/z8k/djnz.s: New file.
* gas/z8k/jr-back.d: New file.
* gas/z8k/jr-forw.d: New file.
* gas/z8k/jr-back.s: Fix displacement length. Add some more jumps
for jr-back.d.
* gas/z8k/jr-backf.s: Fix displacement length.
* gas/z8k/jr-forw.s: Fix displacement length. Add some more jumps
for jr-forw.d.
* gas/z8k/jr-forwf.s: Fix displacement length.
* gas/z8k/z8k.exp: Run new tests.
* tc-z8k.c (newfix): Tell fix_new_exp about pc relativeness.
(md_apply_fix3): Fix R_JR, R_DISP7, and R_CALLR cases.
(md_pcrel_from): This function now gets called. Supply return
value.
2003-09-30 Chris Demetriou <cgd@broadcom.com>
* config/tc-mips.c (mips_ip): Capitalize first word of
existing condition code warning, and add condition code
warnings for .ps instructions, and for bc1any[24][tf].
[ gas/testsuite/ChangeLog ]
2003-09-30 Chris Demetriou <cgd@broadcom.com>
* lib/gas-defs.exp (run_dump_test): If stderr file is specified
and there was no stderr output, compare anyway (i.e., cause a
test failure).
* gas/mips/mips64-mips3d.s: Add some new instructions to test warnings.
* gas/mips/mips64-mips3d.l: New file.
* gas/mips/mips64-mips3d.d: Use mips64-mips3d.l, and update for
changes to mips64-mips3d.s.
* gas/mips/mips64-mips3d-incl.d: Likewise.
* gas/mips/set-arch.l: New file.
* gas/mips/set-arch.d: Specify set-arch.l as stderr output to check.
* gas/mips/mips5.l: Make error messages match source.
2003-09-30 Chris Demetriou <cgd@broadcom.com>
* NEWS: Add an indication of the cutoff for 2.14.
[ gas/ChangeLog ]
2003-09-30 Chris Demetriou <cgd@broadcom.com>
* NEWS: Add an indication of the cutoff for 2.14.
[ ld/ChangeLog ]
2003-09-30 Chris Demetriou <cgd@broadcom.com>
* NEWS: Add an indication of the cutoff for 2.14.
literal_syms): New global variables.
(xtensa_define_label, add_target_symbol, xtensa_find_label,
map_over_defined_symbols, is_loop_target_label,
xtensa_mark_target_fragments, xtensa_move_frag_symbol,
xtensa_move_frag_symbols, defined_symbols, branch_targets): Delete.
(xtensa_begin_directive): Call md_flush_pending_output. Move symbols
from insn_labels to saved_insn_labels when entering a literal region.
(xtensa_end_directive): Call md_flush_pending_output. Restore
insn_labels list when leaving a literal region.
(xtensa_literal_position): Call xtensa_clear_insn_labels.
(xtensa_literal_pseudo): Add check to disallow .literal inside a
literal region. Move insn_labels to saved_insn_labels and then restore
insn_labels on exit.
(xg_add_branch_and_loop_targets): Replace add_target_symbol calls with
code to set is_loop_target or is_branch_target flag on the symbol
(xtensa_create_literal_symbol): Call xtensa_add_literal_sym.
(xtensa_add_literal_sym, xtensa_add_insn_label,
xtensa_clear_insn_labels): New functions.
(xtensa_move_labels): Remove old_frag and old_offset arguments. Add
loops_ok argument. Rewrite to use insn_labels list instead of
calling xtensa_find_label and to check the is_loop_target flag on
symbols when loops_ok is false.
(xtensa_frob_label): Remove call to xtensa_define_label. Add call
to either xtensa_add_literal_sym or xtensa_add_insn_label. Adjust
call to xtensa_move_labels. Propagate is_branch_target and
is_loop_target flags from symbols to frags.
(xtensa_flush_pending_output): Call xtensa_clear_insn_labels.
(md_assemble): Use xtensa_move_labels with loops_ok = FALSE when
aligning a loop instruction. Adjust call to xtensa_move_labels for
aligning entry instructions. Add call to xtensa_clear_insn_labels.
(xtensa_end): Remove call to xtensa_mark_target_fragments.
(xtensa_move_literals): Replace xtensa_move_frag_symbols call with
code to use new literal_syms list.
* config/tc-xtensa.h (xtensa_symfield_type): Add is_loop_target and
is_branch_target flags.
"move_labels" argument and corresponding call to xtensa_move_labels.
(md_assemble): Add a separate call to xtensa_move_labels and remove
argument for call to xtensa_mark_literal_pool_location.
(xtensa_literal_position, xtensa_switch_to_literal_fragment): Fix
calls to xtensa_mark_literal_pool_location.
(xtensa_create_local_symbol): Delete and inline the code into...
(xtensa_create_literal_symbol): ...here.
(xtensa_frob_label): Combine conditionals.
(expression_maybe_register, xtensa_symbol_new_hook,
fix_new_exp_in_seg): Use symbol_get_tc.
ppc_cpu selection rather than replacing.
(ppc_set_cpu): Ignore and preserve PPC_OPCODE_ANY in ppc_cpu.
(md_begin): When PPC_OPCODE_ANY, insert all opcodes in ppc_hash.
and AC_CONFIG_COMMANDS instead of the three-argument AC_OUTPUT.
Specify AC_CONFIG_AUX_DIR.
* aclocal.m4: Regenerated with aclocal-1.7.
* configure: Regenerated with autoconf 2.57.
* Makefile.in, doc/Makefile.in: Regenerated with automake-1.7.