Age | Commit message (Collapse) | Author | Files | Lines |
|
2005-02-17 H.J. Lu <hongjiu.lu@intel.com>
* NEWS: Mention "-mhint.b=[ok|warning|error]".
* config/tc-ia64.c (md): Add hint_b.
(emit_one_bundle): Handle md.hint_b for "hint".
(md_parse_option): Accepted "-mhint.b=[ok|warning|error]".
(md_show_usage): Add "-mhint.b=[ok|warning|error]".
(ia64_init): Set md.hint_b to error.
(md_assemble): Handle md.hint_b for "hint.b".
* doc/as.texinfo: Add "-mhint.b=[ok|warning|error]".
* doc/c-ia64.texi: Likewise.
gas/testsuite/
2005-02-17 H.J. Lu <hongjiu.lu@intel.com>
* gas/ia64/hint.b-err.l: New file.
* gas/ia64/hint.b-err.s: Likewise.
* gas/ia64/hint.b-warn.l: Likewise.
* gas/ia64/hint.b-warn.s: Likewise.
* gas/ia64/ia64.exp: Run hint.b-err and hint.b-warn.
* gas/ia64/opc-b.d: Pass -mhint.b=ok to as.
|
|
* as.h: ..to here. Make rlx_forward and rlx_backward an offsetT.
* ecoff.c (ecoff_new_file): Add appfile param.
* ecoff.h (ecoff_new_file): Likewise.
* itbl-lex.h: New file.
* itbl-lex.l: Include itbl-lex.h.
* itbl-parse.y: Likewise.
(insntbl_line, yyparse, yylex): Move to itbl-lex.h.
* read.c (s_app_file_string): Mark appfile possibly unused.
* subsegs.c (seg_not_empty_p): Make sec possibly unused.
* subsegs.h (struct seg_info_trash): Delete.
(seg_info): Use segment_info_type instead.
* config/obj-coff.c (struct filename_list): Make filename const char *.
* config/obj-ecoff.h (obj_app_file): Pass app to ecoff_new_file.
* config/obj-elf.c (elf_file_symbol): Similarly.
* config/tc-a29k.c (md_apply_fix3): Make val a valueT. Don't use
signed right shift.
* config/tc-arc.c (md_operand): Warning fix.
* config/tc-arm.c (arm_parse_reloc): Only define when OBJ_ELF.
(md_begin): Rearrange #if defined OBJ_COFF || defined OBJ_ELF.
* config/tc-cris.h (TC_IMPLICIT_LCOMM_ALIGNMENT): Use do while.
* config/tc-frv.c (frv_force_relocation): Warning fix.
* config/tc-m68k.c (md_parse_option): Delete unused var.
* config/tc-mcore.c (mylog2): Rename from log2 throughout.
* config/tc-sparc.c: Likewise.
(s_common): Warning fix.
* config/tc-mips.c (append_insn): Use unsigned long long expressions.
* config/tc-mmix.c (PUSHJSTUB_MAX, PUSHJSTUB_MIN): Define from
addressT.
* config/tc-s390.c (s390_insn): Delete test of unsigned >= 0.
* config/tc-sh.c (sh_cfi_frame_initial_instructions,
sh_regname_to_dw2regnum): Only define for OBJ_ELF.
* config/tc-tic4x.c (tic4x_insert_reg): Use ISLOWER.
(tic4x_do_align): Use TIC_NOP_OPCODE.
* config/tc-tic4x.h (TIC_NOP_OPCODE): Rename from NOP_OPCODE.
* config/tc-vax.c: Include netinet/in.h.
(tc_headers_hook): Formatting.
* config/tc-xstormy16.c (md_pcrel_from_section): Correct parens.
|
|
2005-02-17 Jan Beulich <jbeulich@novell.com>
* config/tc-ia64.c (ia64_parse_name): Don't advance 'name' when
parsing inN, locN, outN. Set 'idx' to offset register number starts
at. Don't handle numbers with leading zeroes or beyond 95. Remove
pointless cast.
gas/testsuite/
2005-02-17 Jan Beulich <jbeulich@novell.com>
* gas/ia64/nostkreg.[ds]: New.
* gas/ia64/ia64.exp: Run new test.
|
|
(macro): Don't use AT if .set noat is in effect. Fix formatting.
Catch macros which are unexpandable without AT. Remove duplicate
zeroing of used_at.
(macro2): Remove duplicate zeroing of used_at.
|
|
than zero.
|
|
2005-02-15 Nigel Stephens <nigel@mips.com>
Maciej W. Rozycki <macro@mips.com>
* elf32-mips.c (elf_mips16_howto_table_rel): New array for MIPS16
reloc howtos. Add R_MIPS16_HI16 and R_MIPS16_LO16 relocs and
R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders.
(elf_mips16_jump_howto): Move into elf_mips16_howto_table_rel.
(elf_mips16_gprel_howto): Likewise. Redefine src_mask and
dst_mask.
(mips16_gprel_reloc): Remove bit shuffling; call
_bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp()
and _bfd_mips16_elf_reloc_shuffle() instead.
(mips16_reloc_map): New reloc map for MIPS16 relocs.
(bfd_elf32_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16
relocs.
(mips_elf32_rtype_to_howto): Fetch MIPS16 howtos from
elf_mips16_howto_table_rel.
* elf64-mips.c (mips16_elf64_howto_table_rel): New array for
MIPS16 REL reloc howtos. Add R_MIPS16_HI16 and R_MIPS16_LO16
relocs and R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders.
(elf_mips16_jump_howto): Move into mips16_elf64_howto_table_rel.
(elf_mips16_gprel_howto): Likewise. Redefine src_mask and
dst_mask.
(mips16_elf64_howto_table_rela): New array for MIPS16 RELA
reloc howtos. Add R_MIPS16_26, R_MIPS16_GPREL, R_MIPS16_HI16 and
R_MIPS16_LO16 relocs and R_MIPS16_GOT16 and R_MIPS16_CALL16
placeholders.
(mips16_gprel_reloc): Remove bit shuffling; call
_bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp()
and _bfd_mips16_elf_reloc_shuffle() instead.
(mips16_reloc_map): New reloc map for MIPS16 relocs.
(bfd_elf64_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16
relocs.
(mips_elf64_rtype_to_howto): Fetch MIPS16 howtos from
mips16_elf64_howto_table_rela or mips16_elf64_howto_table_rel.
* elfn32-mips.c (elf_mips16_howto_table_rel): New array for MIPS16
REL reloc howtos. Add R_MIPS16_HI16 and R_MIPS16_LO16 relocs and
R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders.
(elf_mips16_jump_howto): Move into elf_mips16_howto_table_rel.
(elf_mips16_gprel_howto): Likewise. Redefine src_mask and
dst_mask.
(mips16_gprel_reloc): Remove bit shuffling; call
_bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp()
and _bfd_mips16_elf_reloc_shuffle() instead.
(mips16_reloc_map): New reloc map for MIPS16 relocs.
(bfd_elf32_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16
relocs.
(mips_elf_n32_rtype_to_howto): Fetch MIPS16 howtos from
elf_mips16_howto_table_rela or elf_mips16_howto_table_rel.
* elfxx-mips.c (_bfd_mips16_elf_reloc_unshuffle): New function to
handle bit shuffling for MIPS16 relocs.
(_bfd_mips16_elf_reloc_shuffle): Likewise.
(_bfd_mips_elf_lo16_reloc): Use _bfd_mips16_elf_reloc_unshuffle()
and _bfd_mips16_elf_reloc_shuffle().
(_bfd_mips_elf_generic_reloc): Likewise.
(mips_elf_calculate_relocation): Likewise. Handle R_MIPS16_HI16
and R_MIPS16_LO16.
(mips_elf_obtain_contents): Remove bit shuffling.
(mips_elf_perform_relocation): Likewise; call
_bfd_mips16_elf_reloc_unshuffle() and _bfd_mips16_elf_reloc_shuffle()
instead.
(_bfd_mips_elf_relocate_section): Likewise. Handle R_MIPS16_HI16
and R_MIPS16_LO16.
* elfxx-mips.h (_bfd_mips16_elf_reloc_unshuffle): Declare.
(_bfd_mips16_elf_reloc_shuffle): Likewise.
* reloc.c (BFD_RELOC_MIPS16_HI16): New reloc.
(BFD_RELOC_MIPS16_HI16_S): Likewise.
(BFD_RELOC_MIPS16_LO16): Likewise.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
gas/:
2005-02-15 Nigel Stephens <nigel@mips.com>
Maciej W. Rozycki <macro@mips.com>
* config/tc-mips.c (reloc_needs_lo_p): Handle
BFD_RELOC_MIPS16_HI16_S.
(fixup_has_matching_lo_p): Handle BFD_RELOC_MIPS16_LO16.
(append_insn): Add BFD_RELOC_MIPS16_GPREL, BFD_RELOC_MIPS16_HI16_S
and BFD_RELOC_MIPS16_LO16 to relocs to suppress overflow
complaints on.
(mips16_ip): Resolve BFD_RELOC_MIPS16_HI16_S,
BFD_RELOC_MIPS16_HI16 and BFD_RELOC_MIPS16_LO16 for constants.
Call my_getSmallExpression() to parse percent operators.
(percent_op_match, mips_percent_op): Separate definitions.
(mips16_percent_op): Define percent operators for the MIPS16 mode.
(parse_relocation): Handle the MIPS16 mode using
mips16_percent_op.
(md_apply_fix3): Handle BFD_RELOC_MIPS16_HI16,
BFD_RELOC_MIPS16_HI16_S and BFD_RELOC_MIPS16_LO16.
gas/testsuite/:
2005-02-15 Nigel Stephens <nigel@mips.com>
Maciej W. Rozycki <macro@mips.com>
* gas/mips/mips16-hilo.d: New test for the R_MIPS16_HI16 and
R_MIPS16_LO16 relocs.
* gas/mips/mips16-hilo-n32.d: Likewise, for the n32 ABI.
* gas/mips/mips16-hilo.s: Source for the new tests.
* gas/mips/mips.exp: Run the new tests.
include/:
2005-02-15 Nigel Stephens <nigel@mips.com>
Maciej W. Rozycki <macro@mips.com>
* elf/mips.h (R_MIPS16_GOT16): New reloc code.
(R_MIPS16_CALL16): Likewise.
(R_MIPS16_HI16): Likewise.
(R_MIPS16_LO16): Likewise.
(R_MIPS16_min): New fake reloc code.
(R_MIPS16_max): Likewise.
ld/testsuite/:
2005-02-15 Nigel Stephens <nigel@mips.com>
Maciej W. Rozycki <macro@mips.com>
* ld-mips-elf/mips16-hilo.d: New test for the R_MIPS16_HI16 and
R_MIPS16_LO16 relocs.
* ld-mips-elf/mips16-hilo-n32.d: Likewise, for the n32 ABI.
* ld-mips-elf/mips16-hilo.s: Auxiliary source for the new tests.
* ld-mips-elf/mips-elf.exp: Run the new tests.
|
|
2005-02-15 Jan Beulich <jbeulich@novell.com>
* config/tc-ia64.c (md_apply_fix3): Call ia64_gen_real_reloc_type
instead of explicitly dealing with the translation; exclude
relocations that are already pcrel, however.
gas/testsuite/
2005-02-15 Jan Beulich <jbeulich@novell.com>
* gas/ia64/pcrel.[ds]: New.
* gas/ia64/ia64.exp: Run new test.
|
|
2005-02-15 Jan Beulich <jbeulich@novell.com>
* config/tc-ia64.c: Include limits.h (if available).
(gr_values[0]): Set path to INT_MAX.
(dot_reg_val): Don't allow changing value of r0. Limit range of
general registers at r127.
(specify_resource): Default resource index is -1. Don't set resource
index (in case IA64_RS_RSE) without setting the specific flag.
(note_register_values): Check operand is O_constant before tracking
input value of moves. Add tracking for dep.z with constant inputs.
(print_dependency): Resource index of specific resource may be zero.
(check_dependencies): Likewise.
gas/testsuite/
2005-02-15 Jan Beulich <jbeulich@novell.com>
* gas/ia64/dv-raw-err.l: Expect specific resource for RAW violation on b0.
* gas/ia64/regval.[ls]: New.
* gas/ia64/ia64.exp: Run new test.
|
|
2005-02-15 Jan Beulich <jbeulich@novell.com>
* config/tc-ia64.c (parse_operands): New local variables reg1, reg2,
reg_class. Check operands and emit diagnostics for illegal use of
registers.
gas/testsuite/
2005-02-15 Jan Beulich <jbeulich@novell.com>
* gas/ia64/dv-raw-err.s: Don't use r0 or f0 as output operand.
* gas/ia64/dv-waw-err.s: Likewise.
* gas/ia64/reg-err.[ls]: New.
* gas/ia64/ia64.exp: Run new test.
|
|
2005-02-15 Jan Beulich <jbeulich@novell.com>
* elfxx-ia64.c (ia64_howto_table): Correct strings for
R_IA64_DTPMOD64[LM]SB.
gas/
2005-02-15 Jan Beulich <jbeulich@novell.com>
* config/tc-ia64.c (ia64_gen_real_reloc_type): Define and initialize
new variables type, suffix, and width. Handle
BFD_RELOC_IA64_DIR(32|64)[LM]SB in FUNC_LT_FPTR_RELATIVE case.
Handle BFD_RELOC_IA64_DIR64[LM]SB in FUNC_TP_RELATIVE case. Add
FUNC_DTP_MODULE case. Handle BFD_RELOC_IA64_DIR32[LM]SB in
FUNC_DTP_RELATIVE case. Return incoming relocation type if
BFD_RELOC_IA64_IPLT[LM]SB in FUNC_IPLT_RELOC case. Generate warning
if unable to translate relocation type, using the new variables.
gas/testsuite/
2005-02-15 Jan Beulich <jbeulich@novell.com>
* gas/ia64/reloc.[ds]: New.
* gas/ia64/reloc-bad.[ls]: New.
* gas/ia64/ia64.exp: Run new tests.
|
|
2005-02-15 Jan Beulich <jbeulich@novell.com>
* config/tc-ia64.h (ia64_symbol_chars): Declare.
(ty_symbol_chars): Define.
* config/tc-ia64.c (ia64_symbol_chars): Define.
|
|
2005-02-15 Jan Beulich <jbeulich@novell.com>
* config/tc-ia64.c (ia64_parse_name): Only update next character if
input_line_pointer was advanced.
gas/testsuite/
2005-02-15 Jan Beulich <jbeulich@novell.com>
* gas/ia64/operand-or.d: Pass -xnone to assembler.
|
|
within |.
|
|
2005-02-13 Jan Beulich <jbeulich@novell.com>
* config/tc-ia64.c (md_parse_option): Handle -xnone and -xdebugn.
(md_show_usage): Add -xnone, -xdebugn, and -xdebugx. Relocate default
indicator.
(ia64_init): Set md.detect_dv.
(ia64_start_line): New static variable warned. Warn only once when
encountering explicit stops in automatic mode.
* doc/c-ia64.texi: Describe -xnone, -xdebugn, and -xdebugx.
* NEWS: Mention new default mode.
gas/testsuite/
2005-02-13 Jan Beulich <jbeulich@novell.com>
* gas/ia64/label.l: Adjust line numbers.
* gas/ia64/label.s: Add .explicit.
* gas/ia64/nop_x.s: Likewise.
* gas/ia64/opc-a.d: Add assembler option -xnone.
* gas/ia64/opc-b.d: Likewise.
* gas/ia64/opc-f.d: Likewise.
* gas/ia64/opc-i.d: Likewise.
* gas/ia64/opc-m.d: Likewise.
* gas/ia64/opc-x.d: Likewise.
* gas/ia64/pseudo.d: Likewise.
* gas/ia64/regs.d: Likewise.
* gas/ia64/tls.d: Likewise.
* gas/ia64/unwind-err.l: Adjust line numbers.
* gas/ia64/unwind-err.s: Remove explicit stops.
ld/testsuite/
2005-02-13 Jan Beulich <jbeulich@novell.com>
* ld-elfvers/vers.exp (as_options): New. Set to -x for ia64.
(build_binary): Pass as_options to ld_assemble.
(test_ldfail): Likewise.
(build_exec): Likewise.
Pass as_options to run_ld_link_tests.
* ld-ia64/tlsbin.s: Add .explicit.
* ld-ia64/tlsbinpic.s: Likewise.
* ld-ia64/tlspic1.s: Likewise.
|
|
2005-02-13 Jan Beulich <jbeulich@novell.com>
* config/tc-ia64.c (dot_rot): Add comment that name strings should
be freed when wiping out previous state. Canonicalize names before
use. Free name string when detecting redefinition.
(dot_pred_rel): Call generic expression parser to process arguments.
Handle O_register case for individual predicates and O_subtract for
ranges.
(ia64_parse_name): Canonicalize name before looking it up in dynamic
register hash.
(ia64_canonicalize_symbol_name): Strip off all trailing # characters.
Warn if multiple found, issue error if resulting symbol name has zero
length.
(dot_alias): Canonicalize name before use.
gas/testsuite/
2005-02-13 Jan Beulich <jbeulich@novell.com>
* gas/ia64/pound.[ls]: New.
* gas/ia64/ia64.exp: Run new test.
|
|
* config/tc-ia64.c (unwind_diagnostic): Return -1 for warning
and 0 for error.
(in_procedure): Return -1 for warning.
(in_prologue): Likewise.
(in_body): Likewise.
|
|
(dot_xdata): Undo the last change. Section name is used by
set_section.
(dot_float_cons): Likewise.
(dot_xstringer): Likewise.
(dot_xdata_ua): Likewise.
(dot_float_cons_ua): Likewise.
|
|
2005-02-11 H.J. Lu <hongjiu.lu@intel.com>
* NEWS: Mention "-munwind-check=[warning|error]".
* config/tc-ia64.c (md): Add unwind_check.
(unwind_diagnostic): New.
(in_procedure): Call unwind_diagnostic when a directive isn't
in procedure.
(in_prologue): Call unwind_diagnostic when a directive isn't in
prologue.
(in_body): Call unwind_diagnostic when a directive isn't in
body region.
(dot_endp): Set md.unwind_check to error before calling
in_procedure and restore it after. When the name is missing or
couldn't be found, use the one from the last .proc if
md.unwind_check isn't error. Warn if md.unwind_check is
warning.
(md_parse_option): Handle "-munwind-check=[warning|error]".
(md_show_usage): Add "-munwind-check=[warning|error]".
(ia64_init): Set md.unwind_check to warning.
* doc/as.texinfo: Add "-munwind-check=[none|warning|error]".
* doc/c-ia64.texi: Likewise.
gas/testcase
2005-02-11 H.J. Lu <hongjiu.lu@intel.com>
* gas/ia64/ia64.exp: Pass -munwind-check=error for unwind-err
and proc.
|
|
2005-02-11 Jan Beulich <jbeulich@novell.com>
* config/tc-ia64.h (LEX_AT): Include LEX_BEGIN_NAME.
(LEX_QM): Likewise.
(ia64_parse_name): New third parameter.
(md_parse_name): Pass third argument.
* config/tc-ia64.c (pseudo_func): Placeholders use NULL as name.
(md_operand): Handling of '@'-prefixed symbols moved from here...
(ia64_parse_name): ...to here.
|
|
2005-02-11 Jan Beulich <jbeulich@novell.com>
* config/tc-ia64.c (md): Remove last_groups and group_idx.
(errata_nop_necessary_p): Remove declaraction and definition.
(emit_one_bundle): Don't call errata_nop_necessary_p. Don't
update md.group_idx. Don't reset md.last_groups.
|
|
2005-02-11 Jan Beulich <jbeulich@novell.com>
* config/tc-ia64.c (parse_section_name): Handle non-quoted first
argument.
(dot_xdata): Free section name after use.
(dot_float_cons): Likewise.
(dot_xstringer): Likewise.
(dot_xdata_ua): Likewise.
(dot_float_cons_ua): Likewise.
(md_pseudo_table): Add xdata16 and xdata16.ua.
|
|
* doc/all.texi: Add IA64.
* doc/as.texinfo: Likewise.
* doc/c-ia64.texi: Fix typos.
|
|
BFD_RELOC_UNUSED.
(do_t_push_pop): Likewise.
(md_assemble): Likewise.
(md_apply_fix3): Handle BFD_RELOC_NONE correctly, make BFD_RELOC_UNUSED
same as previous meaning of BFD_RELOC_NONE.
(create_unwind_entry): Output dependency on the required personality
routines.
testsuite/gas/arm/unwind.d: Alter expected output to include dependency
on __aeabi_unwind_cpp_pr[01].
|
|
* subsegs.c (seg_not_empty_p): Likewise.
|
|
|
|
and skip object- and target- handling for the second symbol.
|
|
2005-02-02 Jan Beulich <jbeulich@novell.com>
* config/tc-ia64.c (dot_pred_rel): Update comment. Handle @-prefixed
designators along with quoted ones. Free copy of quoted designator
when done.
gas/testsuite/
2005-02-02 Jan Beulich <jbeulich@novell.com>
* gas/ia64/pred-rel.s: New.
* gas/ia64/ia64.exp: Run new test.
|
|
config/obj-ieee.c, config/obj-som.c, config/obj-vms.c,
config/tc-a29k.c, config/tc-alpha.c, config/tc-arc.c,
config/tc-arm.c, config/tc-d30v.c, config/tc-dlx.c,
config/tc-fr30.c, config/tc-h8300.c, config/tc-h8500.c,
config/tc-i370.c, config/tc-i386.c, config/tc-i960.c,
config/tc-ia64.c, config/tc-m32r.c, config/tc-m32r.h,
config/tc-m68hc11.c, config/tc-m68hc11.h, config/tc-mips.c,
config/tc-mn10200.c, config/tc-msp430.c, config/tc-ns32k.c,
config/tc-openrisc.c, config/tc-or32.c, config/tc-pdp11.c,
config/tc-pj.c, config/tc-sparc.h, config/tc-tic54x.c,
config/tc-tic80.c, config/tc-v850.c, config/tc-w65.c,
config/tc-xtensa.c, config/tc-z8k.c, config/xtensa-relax.c: Remove
#if 0'd code throughout.
|
|
|
|
|
|
2005-01-31 Jan Beulich <jbeulich@novell.com>
* macro.c (buffer_and_nest): Allow 'from' being NULL; handle anything
that can end with .endr in that case. Make requiring/permitting
pseudo-ops without leading dot closer to the logic in read.c serving
the same purpose.
(expand_irp): Don't pass a mnemonic to buffer_and_nest as it will be
ignored.
gas/testsuite/
2005-01-31 Jan Beulich <jbeulich@novell.com>
* gas/macros/repeat.[ds]: New.
* gas/macros/macros.exp: Run new test.
|
|
2005-01-31 Jan Beulich <jbeulich@novell.com>
* macro.c (do_formals): Adjust to no longer accept empty parameter
names.
(define_macro): Adjust to no longer accept empty macro name, garbage
following the parameters, or macros that were previously defined.
* read.c (s_bad_end): Declare.
(potable): Add endm. Handler for endr and endm is s_bad_end.
(s_bad_end): Rename from s_bad_endr. Adjust to handle both .endm
and .endr.
* read.h (s_bad_endr): Remove.
gas/testsuite/
2005-01-31 Jan Beulich <jbeulich@novell.com>
* gas/macros/badarg.[ls]: New.
* gas/macros/end.[ls]: New.
* gas/macros/redef.[ls]: New.
* gas/macros/macros.exp (run_list_test): Copy from elsewhere.
Run new tests.
|
|
2005-01-31 Jan Beulich <jbeulich@novell.com>
* config/tc-ia64.c (parse_operands): Parse all specified operands,
immediately discarding (but counting) those exceeding the maximum
possible amount. Track whether output and input operand counts ever
matched, and use this to better indicate which of the operands/
operand types was wrong; specifically don't default to pointing to
the first operand.
gas/testsuite/
2005-01-31 Jan Beulich <jbeulich@novell.com>
* gas/ia64/operands.[ls]: New.
* gas/ia64/ia64.exp: Run new test.
|
|
2005-01-31 Jan Beulich <jbeulich@novell.com>
* config/tc-ia64.c (unwind): Remove proc_end (now an automatic
variable in dot_endp). Add body and insn. Make prologue,
prologue_mask, body, and insn bitfields.
(fixup_unw_records): Remove spurious new-lines from end of diagnostic
messages.
(in_procedure, in_prologue, in_body): New.
(dot_fframe, dot_vframe, dot_vframesp, dot_vframepsp, dot_save,
dot_restore, dot_restorereg, dot_restorereg_p, dot_handlerdata,
dot_unwentry, dot_altrp, dot_savemem, dot_saveg, dot_savef, dot_saveb,
dot_savegf, dot_spill, dot_spillreg, dot_spillmem, dot_spillreg_p,
dot_spillmem_p, dot_label_state, dot_copy_state, dot_unwabi,
dot_personality): Use the appropriate one of the above.
(dot_proc): Clear unwind.proc_start; set to current location only if
none of the entry points were valid. Check for non-zero-length entry
point names. Check that entry points aren't defined, yet. Clear
unwind.prologue, unwind.body, and unwind.insn.
(dot_body): Call in_procedure. Check that first directive in procedure
had no insns emitted before. Set unwind.body.
(dot_prologue): Call in_procedure. Check that not already in prologue.
Check that first directive in procedure had no insns emitted before.
Clear unwind.body.
(dot_endp): Call in_procedure. Declare proc_end. Check for non-zero-
length entry point names. Check that entry points became defined.
(md_assemble): Set unwind.insn once unwind.proc_start is defined.
gas/testsuite/
2005-01-31 Jan Beulich <jbeulich@novell.com>
* gas/ia64/proc.[ls]: New.
* gas/ia64/unwind-err.[ls]: New.
* gas/ia64/ia64.exp: Run new tests.
|
|
2005-01-31 Jan Beulich <jbeulich@novell.com>
* config/tc-ia64.c (emit_one_bundle): Snapshot manual bundling state
before actually using it. Don't generate an error in manual bundling
mode when looking at an insn requiring slot 2 but not yet at slot 2.
Don't generate an error in manual bundling mode when looking at an
insn required to be last in its group but the required slot hasn't
been reached, yet. Allow conversion from MII to MI;I for bundle
consisting of only 2 insns with the stop between them. Suppress
various meaningless errors resulting from detecting earlier ones.
gas/testsuite/
2005-01-31 Jan Beulich <jbeulich@novell.com>
* gas/ia64/bundling.[ds]: New.
* gas/ia64/label.[ls]: New.
* gas/ia64/last.[ls]: New.
* gas/ia64/slot2.[ls]: New.
* gas/ia64/ia64.exp: Run new tests.
|
|
2005-01-31 Jan Beulich <jbeulich@novell.com>
* config/tc-ia64.c (parse_operands): Also handle alloc without first
input being ar.pfs.
gas/testsuite/
2005-01-31 Jan Beulich <jbeulich@novell.com>
* gas/ia64/pseudo.[ds]: New.
* gas/ia64/ia64.exp: Run new test.
opcodes/
2005-01-31 Jan Beulich <jbeulich@novell.com>
* ia64-gen.c (NELEMS): Define.
(shrink): Generate alias with missing second predicate register when
opcode has two outputs and these are both predicates.
* ia64-opc-i.c (FULL17): Define.
(ia64_opcodes_i): Add mov-to-pr alias without second input. Use FULL17
here to generate output template.
(TBITCM, TNATCM): Undefine after use.
* ia64-opc-m.c (ia64_opcodes_i): Add alloc alias without ar.pfs as
first input. Add ld16 aliases without ar.csd as second output. Add
st16 aliases without ar.csd as second input. Add cmpxchg aliases
without ar.ccv as third input. Add cmp8xchg16 aliases without ar.csd/
ar.ccv as third/fourth inputs. Consolidate through...
(CMPXCHG_acq, CMPXCHG_rel, CMPXCHG_1, CMPXCHG_2, CMPXCHG_4, CMPXCHG_8,
CMPXCHGn, CMP8XCHG16, CMPXCHG_ALL): Define.
* ia64-asmtab.c: Regenerate.
|
|
|
|
2005-01-28 Jan Beulich <jbeulich@novell.com>
* config/tc-ia64.c (ia64_estimate_size_before_relax): Allocate space
for personality routine pointer only if there is one.
(ia64_convert_frag): Likewise.
(generate_unwind_image): Likewise.
ld/testsuite/
2005-01-28 Jan Beulich <jbeulich@novell.com>
* ld/ia64/tlsbin.[rt]d: Widen expected offset/size ranges.
* ld/ia64/tlspic.[rt]d: Likewise.
|
|
(md_apply_fix3): Make relative branches out of range an error
instead of a warning. Display correct line number for out of
range branches/calls/memory accesses.
|
|
to emit .debug_line and other debug sections.
* as.h (seg_not_empty_p): Declare.
* subsegs.c (seg_not_empty_p): New predicate.
|
|
* gettext.m4: Don't use NONE as a default for CATOBJEXT.
|
|
2005-01-27 Jan Beulich <jbeulich@novell.com>
* config/tc-ia64.c (emit_one_bundle): Change "?imbf??" to "?ibmfxx".
gas/testsuite/
2005-01-27 Jan Beulich <jbeulich@novell.com>
* gas/ia64/nop_x.[ds]: New.
* gas/ia64/ia64.exp: Run new test.
|
|
2005-01-25 Jan Beulich <jbeulich@novell.com>
* config/tc-ia64.c (emit_one_bundle): Add late resolution of move
to/from application registers dynamic insns.
(md_assemble): Defer resolution of move to/from application registers
dynamic insns when they can be issued on either the I- or M-units.
gas/testsuite/
2005-01-25 Jan Beulich <jbeulich@novell.com>
* gas/ia64/dv-waw-err.l: Don't expect ar112 move warning to refer to
M-unit.
* gas/ia64/mov-ar.[ds]: New.
* gas/ia64/ia64.exp: Run new test.
|
|
2004-12-10 Alexandre Oliva <aoliva@redhat.com>
* elf32-frv.c (elf32_frv_relocate_section): Force local binding
for TLSMOFF.
* reloc.c: Add R_FRV_TLSMOFF.
* elf32-frv.c (elf32_frv_howto_table): Likewise.
(frv_reloc_map, frv_reloc_type_lookup): Map it.
(elf32_frv_relocate_section): Handle it.
(elf32_frv_check_relocs): Likewise.
* libbfd.h, bfd-in2.h: Rebuilt.
2004-11-26 Alexandre Oliva <aoliva@redhat.com>
* elf32-frv.c (_frvfdpic_emit_got_relocs_plt_entries): Don't crash
when given an undefweak TLS symbol. Fix constant TLS PLT entries
such that they return the constant in gr9.
(_frvfdpic_relax_tls_entries): Don't crash for undefweak TLS
symbols.
(_frvfdpic_size_got_plt): Set _cooked_size of dynamic sections.
too, such that they shrink on relaxation.
(elf32_frvfdpic_finish_dynamic_sections): Check __ROFIXUP_END__ as
marking the position right past the _GLOBAL_OFFSET_TABLE_ value.
(_frvfdpic_assign_plt_entries): Shrink constant TLS PLT entries
if we can guarantee the use of 16-bit constants.
2004-11-10 Alexandre Oliva <aoliva@redhat.com>
Introduce TLS support for FR-V FDPIC.
* reloc.c: Add TLS relocations.
* elf32-frv.c (elf32_frv_howto_table): Add TLS relocations.
(elf32_frv_rel_tlsdesc_value_howto): New.
(elf32_frv_rel_tlsoff_howto): New.
(frv_reloc_map): Add new mappings.
(struct frvfdpic_elf_link_hash_table): Add pointer to summary
reloc information.
(frvfdpic_dynamic_got_plt_info): New.
(frvfdpic_plt_tls_ret_offset): New.
(ELF_DYNAMIC_INTERPRETER, DEFAULT_STACK_SIZE): Move earlier.
(struct _frvfdpic_dynamic_got_info): Likewise. Add TLS members.
(struct _frvfdpic_dynamic_got_plt_info): Likewise.
(FRVFDPIC_SYM_LOCAL): Regard symbols defined in the absolute
section as local.
(struct frvfdpic_relocs_info): Add TLS fields.
(frvfdpic_relocs_info_hash): Warning clean up.
(frvfdpic_relocs_info_find): Initialize tlsplt_entry.
(frvfdpic_pic_merge_early_relocs_info): Merge TLS fields.
(FRVFDPIC_TLS_BIAS): Define.
(tls_biased_base): New.
(_frvfdpic_emit_got_relocs_plt_entries): Deal with TLS
relocations.
(frv_reloc_type_lookup): Likewise.
(frvfdpic_info_to_howto_rel): Likewise.
(elf32_frv_relocate_section): Likewise.
(_frv_create_got_section): Create the PLT section here.
(elf32_frvfdpic_create_dynamic_sections): Not here.
(_frvfdpic_count_nontls_entries): Move out of...
(_frvfdpic_count_got_plt_entries): ... here.
(_frvfdpic_count_tls_entries): Likewise. Add TLS support.
(_frvfdpic_count_relocs_fixups): Likewise. Add relaxation
support.
(_frvfdpic_relax_tls_entries): New.
(_frvfdpic_compute_got_alloc_data): Add TLS support.
(_frvfdpic_get_tlsdesc_entry): New.
(_frvfdpic_assign_got_entries): Add TLS support.
(_frvfdpic_assign_plt_entries): Likewise.
(_frvfdpic_reset_got_plt_entries): New.
(_frvfdpic_size_got_plt): Move out of...
(elf32_frvfdpic_size_dynamic_sections): ... here.
(_frvfdpic_relax_got_plt_entries): New.
(elf32_frvfdpic_relax_section): New.
(elf32_frvfdpic_finish_dynamic_sections): Add TLS sanity check.
(elf32_frv_check_relocs): Add TLS support.
(bfd_elf32_bfd_relax_section): Define for FDPIC.
* libbfd.h, bfd-in2.h: Rebuilt.
cpu/ChangeLog:
2004-11-10 Alexandre Oliva <aoliva@redhat.com>
* frv.cpu: Add support for TLS annotations in loads and calll.
* frv.opc (parse_symbolic_address): New.
(parse_ldd_annotation): New.
(parse_call_annotation): New.
(parse_ld_annotation): New.
(parse_ulo16, parse_uslo16): Use parse_symbolic_address.
Introduce TLS relocations.
(parse_d12, parse_s12, parse_u12): Likewise.
(parse_uhi16): Likewise. Fix constant checking on 64-bit host.
(parse_call_label, print_at): New.
gas/ChangeLog:
* config/tc-frv.c (md_apply_fix3): Mark TLS symbols as such.
2004-12-10 Alexandre Oliva <aoliva@redhat.com>
* config/tc-frv.c (frv_pic_ptr): Add tlsmoff support.
2004-11-10 Alexandre Oliva <aoliva@redhat.com>
* cgen.c (gas_cgen_parse_operand): Handle
CGEN_PARSE_OPERAND_SYMBOLIC.
* config/tc-frv.c (md_cgen_lookup_reloc): Handle TLS relocations.
(frv_force_relocation): Likewise. Fix handling of PIC
relocations.
(md_apply_fix3): Likewise.
include/elf/ChangeLog:
2004-12-10 Alexandre Oliva <aoliva@redhat.com>
* frv.h: Add R_FRV_TLSMOFF.
2004-11-10 Alexandre Oliva <aoliva@redhat.com>
* frv.h: Add TLS relocations.
include/opcode/ChangeLog:
2004-11-10 Alexandre Oliva <aoliva@redhat.com>
* cgen.h (enum cgen_parse_operand_type): Add
CGEN_PARSE_OPERAND_SYMBOLIC.
ld/testsuite/ChangeLog:
* ld-frv/fdpic.exp: Add -mfdpic to ASFLAGS.
* ld-frv/tls.exp: Likewise.
2004-11-26 Alexandre Oliva <aoliva@redhat.com>
* ld-frv/tls-3.s: New.
* ld-frv/tls-static-3.d: New.
* ld-frv/tls-dynamic-3.d: New.
* ld-frv/tls-pie-3.d: New.
* ld-frv/tls-shared-3.d: New.
* ld-frv/tls-relax-static-3.d: New.
* ld-frv/tls-relax-dynamic-3.d: New.
* ld-frv/tls-relax-pie-3.d: New.
* ld-frv/tls-relax-shared-3.d: New.
* ld-frv/tls.exp: Run the new tests.
* ld-frv/tls-dynamic-2.d: Adjust for improved relaxation.
* ld-frv/tls-relax-dynamic-2.d: Likewise.
* ld-frv/tls-relax-initial-shared-2.d: Likewise.
2004-11-10 Alexandre Oliva <aoliva@redhat.com>
* ld-frv/tls-1-dep.s: New.
* ld-frv/tls-1-shared.lds: New.
* ld-frv/tls-1.s: New.
* ld-frv/tls-2.s: New.
* ld-frv/tls-dynamic-1.d: New.
* ld-frv/tls-dynamic-2.d: New.
* ld-frv/tls-initial-shared-2.d: New.
* ld-frv/tls-pie-1.d: New.
* ld-frv/tls-relax-dynamic-1.d: New.
* ld-frv/tls-relax-dynamic-2.d: New.
* ld-frv/tls-relax-initial-shared-2.d: New.
* ld-frv/tls-relax-pie-1.d: New.
* ld-frv/tls-relax-shared-1.d: New.
* ld-frv/tls-relax-shared-2.d: New.
* ld-frv/tls-relax-static-1.d: New.
* ld-frv/tls-shared-1-fail.d: New.
* ld-frv/tls-shared-1.d: New.
* ld-frv/tls-shared-2.d: New.
* ld-frv/tls-static-1.d: New.
* ld-frv/tls.exp: New.
* ld-frv/fdpic-pie-1.d: Adjust for 64-bit host.
* ld-frv/fdpic-pie-2.d: Likewise.
* ld-frv/fdpic-pie-6.d: Likewise.
* ld-frv/fdpic-pie-7.d: Likewise.
* ld-frv/fdpic-pie-8.d: Likewise.
* ld-frv/fdpic-shared-1.d: Likewise.
* ld-frv/fdpic-shared-2.d: Likewise.
* ld-frv/fdpic-shared-3.d: Likewise.
* ld-frv/fdpic-shared-4.d: Likewise.
* ld-frv/fdpic-shared-5.d: Likewise.
* ld-frv/fdpic-shared-6.d: Likewise.
* ld-frv/fdpic-shared-7.d: Likewise.
* ld-frv/fdpic-shared-8.d: Likewise.
* ld-frv/fdpic-shared-local-2.d: Likewise.
* ld-frv/fdpic-shared-local-8.d: Likewise.
* ld-frv/fdpic-static-1.d: Likewise.
* ld-frv/fdpic-static-2.d: Likewise.
* ld-frv/fdpic-static-6.d: Likewise.
* ld-frv/fdpic-static-7.d: Likewise.
* ld-frv/fdpic-static-8.d: Likewise.
opcodes/ChangeLog:
2004-11-10 Alexandre Oliva <aoliva@redhat.com>
* frv-asm.c: Rebuilt.
* frv-desc.c: Rebuilt.
* frv-desc.h: Rebuilt.
* frv-dis.c: Rebuilt.
* frv-ibld.c: Rebuilt.
* frv-opc.c: Rebuilt.
* frv-opc.h: Rebuilt.
|
|
* atof-generic.c (atof_generic): Likewise.
* ecoff.c (ecoff_directive_frame): Likewise.
* frags.h (FRAG_APPEND_1_CHAR): Likewise.
* itbl-ops.c (itbl_add_reg): Likewise.
* listing.c (calc_hex): Likewise.
* read.c (MASK_CHAR): Likewise.
* subsegs.c (subsegs_print_statistics): Likewise.
* symbols.c (indent): Likewise.
* write.c (write_relocs): Likewise.
(write_object_file): Likewise.
(relax_frag): Likewise.
|
|
from considering -a as an abbreviation for --alternate.
(parse_args): Fix the parsing of -a=<file>.
|
|
* read.c (s_incbin): Adjust default count for skip. Check validity
of count and skip rigorously.
|
|
* config/tc-mips.c (dummy_opcode): Add init for new struct member.
|
|
(emit_expr): ...here. Handle the case where X_add_number is
positive and the input value is negative.
(output_big_sleb128): Fix setting of continuation bit. Check whether
the final byte needs to be sign-extended. Fix size-shrinking loop.
(emit_leb128_expr): When generating a signed leb128, see whether the
sign of an O_constant's X_add_number matches the sign of the input
value. Use a bignum if not.
|
|
|