OSDN Git Service
Alan Modra [Sun, 14 Nov 2004 23:00:04 +0000 (23:00 +0000)]
daily update
Alan Modra [Sat, 13 Nov 2004 23:00:05 +0000 (23:00 +0000)]
daily update
DJ Delorie [Sat, 13 Nov 2004 18:03:59 +0000 (18:03 +0000)]
merge from gcc
Mike Stump [Sat, 13 Nov 2004 17:42:50 +0000 (17:42 +0000)]
* Makefile.def: Add html support.
* Makefile.tpl: Likewise.
* Makefile.in: Regenerate.
DJ Delorie [Sat, 13 Nov 2004 15:48:36 +0000 (15:48 +0000)]
merge from gcc
Paul Brook [Sat, 13 Nov 2004 13:38:15 +0000 (13:38 +0000)]
* bfd/elf32-arm.c (elf32_arm_final_link_relocate): Resolve
R_ARM_PREL31 relocations to PLT entries.
(elf32_arm_relocate_section, elf32_arm_gc_sweep_hook): Ditto.
(elf32_arm_check_relocs): Ditto.
Alan Modra [Fri, 12 Nov 2004 23:00:05 +0000 (23:00 +0000)]
daily update
Bob Wilson [Fri, 12 Nov 2004 22:17:53 +0000 (22:17 +0000)]
Add Sterling Augustine to previous entry (credit where it's due)
Bob Wilson [Fri, 12 Nov 2004 21:59:13 +0000 (21:59 +0000)]
2004-11-12 Bob Wilson <bob.wilson@acm.org>
include/ChangeLog
* xtensa-isa-internal.h (xtensa_interface_internal): Add class_id.
* xtensa-isa.h (xtensa_interface_class_id): New prototype.
bfd/ChangeLog
* xtensa-isa.c (xtensa_interface_class_id): New.
gas/ChangeLog
* config/tc-xtensa.c (finish_vinsn): Clear pending instruction if
there is a conflict.
(check_t1_t2_reads_and_writes): Check for both reads and writes to
interfaces that are related as determined by xtensa_interface_class_id.
Geoffrey Keating [Fri, 12 Nov 2004 19:38:13 +0000 (19:38 +0000)]
PR 18423
* configure.in: Remove all instances of build-fixincludes from
noconfigdirs.
(build_configargs): Supply --target to subdirectories.
* configure: Regenerate.
* Makefile.def: Make gcc install depend on fixincludes install.
* Makefile.in: Regenerate.
Nick Clifton [Fri, 12 Nov 2004 12:27:05 +0000 (12:27 +0000)]
Fix off by one negative offsets for conditional branches.
Add a test of this fix.
Bob Wilson [Thu, 11 Nov 2004 23:09:24 +0000 (23:09 +0000)]
* elf32-xtensa.c (property_table_compare): Remove assertion about
entries with the same address and non-zero size.
(xtensa_read_table_entries): Report such entries as errors.
Alan Modra [Thu, 11 Nov 2004 23:00:05 +0000 (23:00 +0000)]
daily update
Bob Wilson [Thu, 11 Nov 2004 19:05:43 +0000 (19:05 +0000)]
gas/
* config/tc-xtensa.c (MAX_IMMED6): Change value to 65.
gas/testsuite/
* gas/xtensa/short_branch_offset.s: New.
* gas/xtensa/short_branch_offset.d: New.
* gas/xtensa/all.exp: Run new test.
Mark Mitchell [Thu, 11 Nov 2004 18:24:24 +0000 (18:24 +0000)]
* elf32-arm.c (elf32_arm_final_link_relocate): Correct logic for
R_ARM_RELATIVE on Symbian OS.
Alan Modra [Wed, 10 Nov 2004 23:00:06 +0000 (23:00 +0000)]
daily update
Bob Wilson [Wed, 10 Nov 2004 22:20:27 +0000 (22:20 +0000)]
* config/tc-xtensa.c (update_next_frag_state): Always add a NOP if
relaxing at the end of a loop. Don't mark frags as UNREACHABLE or
MAYBE_UNREACHABLE.
(relax_frag_immed): Update call to update_next_frag_state.
Ian Lance Taylor [Wed, 10 Nov 2004 16:10:17 +0000 (16:10 +0000)]
PR binutils/536
* stabs.c (stab_demangle_template): Call stab_demangle_count
rather than stab_demangle_get_count to get the length of a pointer
target.
Danny Smith [Wed, 10 Nov 2004 06:54:08 +0000 (06:54 +0000)]
* defparse.y: Remove unnecessary commas from token list.
Alan Modra [Wed, 10 Nov 2004 04:29:55 +0000 (04:29 +0000)]
* gas/i386/opcode.s: Pad section.
* gas/i386/intelok.s: Likewise.
* gas/i386/opcode.d: Update.
* gas/i386/intelok.d: Update.
Alan Modra [Wed, 10 Nov 2004 03:38:17 +0000 (03:38 +0000)]
* ld-d10v/reloc-003.d: Update for changed error message.
* ld-d10v/reloc-004.d: Likewise.
* ld-d10v/reloc-007.d: Likewise.
* ld-d10v/reloc-008.d: Likewise.
* ld-d10v/reloc-011.d: Likewise.
* ld-d10v/reloc-012.d: Likewise.
* ld-d10v/reloc-015.d: Likewise.
* ld-d10v/reloc-016.d: Likewise.
Alan Modra [Wed, 10 Nov 2004 03:28:45 +0000 (03:28 +0000)]
* obj.h (struct format_ops <app_file>): Add int param.
* read.h (s_app_file_string): Likewise.
* read.c (s_app_file_string): Likewise.
(s_app_file): Adjust s_app_file_string call.
* config/tc-mips.c (s_mips_file): Likewise.
* config/obj-coff.h (obj_app_file): Add app param.
* config/obj-ecoff.h (obj_app_file): Likewise.
* config/obj-multi.h (obj_app_file): Likewise.
* config/obj-elf.h (elf_file_symbol): Likewise.
* config/obj-elf.c (elf_file_symbol): Only emit one file symbol
if called for # preprocessor lines.
Alan Modra [Tue, 9 Nov 2004 23:00:06 +0000 (23:00 +0000)]
daily update
Aaron W. LaFramboise [Tue, 9 Nov 2004 21:27:51 +0000 (21:27 +0000)]
Fix ChangeLog typo.
Mark Mitchell [Tue, 9 Nov 2004 17:40:22 +0000 (17:40 +0000)]
* som.c (som_bfd_print_private_bfd_data): New function.
(som_object_setup): Save the auxiliary header. Don't assume that
zero is an invalid entry point for a shared library.
(som_object_p): Allocate the auxiliary header on the heap.
Mark Mitchell [Tue, 9 Nov 2004 16:50:38 +0000 (16:50 +0000)]
* elf32-arm.c (elf32_arm_begin_write_processing): Do not use a K&R
declaration.
(elf32_arm_symbian_modify_segment_map): Likewise.
Daniel Jacobowitz [Tue, 9 Nov 2004 16:44:31 +0000 (16:44 +0000)]
From David Poole <daveml@mbuf.com>:
* elf32-arm.c (elf32_arm_readonly_dynrelocs): New function.
(elf32_arm_size_dynamic_sections): Call it.
Nick Clifton [Tue, 9 Nov 2004 14:53:56 +0000 (14:53 +0000)]
oops - omitted from previous delta
Alan Modra [Tue, 9 Nov 2004 13:29:16 +0000 (13:29 +0000)]
* Makefile.am (SOURCE_HFILES): Remove elf32-arm.h.
(ALL_MACHINES_CFILES): Fix typo.
* Makefile.in: Regenerate.
* po/SRC-POTFILES.in: Regenerate.
H.J. Lu [Tue, 9 Nov 2004 01:01:17 +0000 (01:01 +0000)]
2004-11-08 H.J. Lu <hongjiu.lu@intel.com>
PR 528
* symbols.c (resolve_symbol_value): Convert weak symbols only
for Windows PECOFF.
(symbol_equated_reloc_p): Don't equate weaks when relocating
only for Windows PECOFF.
Alan Modra [Mon, 8 Nov 2004 23:00:08 +0000 (23:00 +0000)]
daily update
Hans-Peter Nilsson [Mon, 8 Nov 2004 22:14:59 +0000 (22:14 +0000)]
* configure.in (noconfigdirs) [mmix-*-*]: Disable
target-libgfortran.
* configure: Regenerate.
Mark Mitchell [Mon, 8 Nov 2004 22:08:07 +0000 (22:08 +0000)]
* elf32-arm.c (elf32_arm_final_link_relocate): When generating an
R_ARM_RELATIVE relocation for Symbian OS, mention the section
symbol in the relocation.
David Edelsohn [Mon, 8 Nov 2004 15:28:01 +0000 (15:28 +0000)]
* config-ml.in: Pass FCFLAGS for multilibs, handle GFORTRAN
like CC.
Tomer Levi [Mon, 8 Nov 2004 13:51:55 +0000 (13:51 +0000)]
2004-11-08 Tomer Levi <Tomer.Levi@nsc.com>
* config/tc-crx.c (print_insn): Check and set insn_addr.
* config/tc-crx.h (md_frag_check): Define.
Nick Clifton [Mon, 8 Nov 2004 13:17:43 +0000 (13:17 +0000)]
Add support fpr MAXQ processor
Nick Clifton [Mon, 8 Nov 2004 12:59:37 +0000 (12:59 +0000)]
*sigh* undo previous delta which was done too early...
Nick Clifton [Mon, 8 Nov 2004 12:55:40 +0000 (12:55 +0000)]
oops - omitted from previous delta
Nick Clifton [Mon, 8 Nov 2004 08:51:47 +0000 (08:51 +0000)]
oops - omitted fom previous delta
Nick Clifton [Mon, 8 Nov 2004 08:12:53 +0000 (08:12 +0000)]
Fix support for PECOFF weak symbols
Alan Modra [Sun, 7 Nov 2004 23:00:05 +0000 (23:00 +0000)]
daily update
Andreas Schwab [Sun, 7 Nov 2004 10:51:45 +0000 (10:51 +0000)]
* elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Use
SYMBOL_CALLS_LOCAL and check for undefweak symbols with
non-default visibility.
Alan Modra [Sat, 6 Nov 2004 23:00:05 +0000 (23:00 +0000)]
daily update
H.J. Lu [Sat, 6 Nov 2004 01:50:21 +0000 (01:50 +0000)]
2004-11-05 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/general.s: Add movzb.
* gas/i386/general.l: Updated.
H.J. Lu [Fri, 5 Nov 2004 23:14:30 +0000 (23:14 +0000)]
2004-11-05 H.J. Lu <hongjiu.lu@intel.com>
* i386.h (i386_optab): Put back "movzb".
Alan Modra [Fri, 5 Nov 2004 23:00:07 +0000 (23:00 +0000)]
daily update
Bob Wilson [Fri, 5 Nov 2004 17:25:34 +0000 (17:25 +0000)]
* config/tc-xtensa.c (total_frag_text_expansion): New.
(md_estimate_size_before_relax): Use it.
(find_address_of_next_align_frag): Likewise.
Paolo Bonzini [Fri, 5 Nov 2004 16:36:20 +0000 (16:36 +0000)]
2004-11-05 Paolo Bonzini <bonzini@gnu.org>
* Makefile.def (host fixincludes): Specify missing targets.
* Makefile.in: Regenerate.
Tomer Levi [Fri, 5 Nov 2004 11:07:48 +0000 (11:07 +0000)]
2004-11-05 Tomer Levi <Tomer.Levi@nsc.com>
* config/tc-crx.c: Rename argument types.
(processing_arg_number): Rename to 'cur_arg_num'.
(get_number_of_bits): Rename to 'set_operand_size'.
(get_operandtype): Rename to 'parse_operand', totally rewrite.
(set_cons_rparams): Rename to 'set_operand', totally rewrite.
(set_indexmode_parameters): Remove function, integrate its code into
'set_operand'.
(set_operand_size): Get rid of 'Operand Number' function parameter -
use global variable 'cur_arg_num' instead.
Use a local 'argument' pointer to reference the current argument.
(parse_operand): Likewise.
(set_operand): Likewise.
(process_label_constant): Likewise.
Tomer Levi [Fri, 5 Nov 2004 11:02:04 +0000 (11:02 +0000)]
2004-11-05 Tomer Levi <Tomer.Levi@nsc.com>
* config/tc-crx.c: Rename argument types.
(processing_arg_number): Rename to 'cur_arg_num'.
(get_number_of_bits): Rename to 'set_operand_size'.
(get_operandtype): Rename to 'parse_operand', totally rewrite.
(set_cons_rparams): Rename to 'set_operand', totally rewrite.
(set_indexmode_parameters): Remove function, integrate its code into 'set_operand'.
(set_operand_size): Get rid of 'Operand Number' function parameter - use global variable 'cur_arg_num' instead.
Use a local 'argument' pointer to reference the current argument.
(parse_operand): Likewise.
(set_operand): Likewise.
(process_label_constant): Likewise.
Tomer Levi [Fri, 5 Nov 2004 11:01:00 +0000 (11:01 +0000)]
2004-11-05 Tomer Levi <Tomer.Levi@nsc.com>
* crx-opc.c (crx_optab): Rename 'arg_icr' to 'arg_idxr' for Index register mode.
* crx-dis.c: Likewise.
Tomer Levi [Fri, 5 Nov 2004 10:59:16 +0000 (10:59 +0000)]
2004-11-05 Tomer Levi <Tomer.Levi@nsc.com>
* opcode/crx.h (enum argtype): Rename types, remove unused types.
Tomer Levi [Fri, 5 Nov 2004 10:58:22 +0000 (10:58 +0000)]
2004-11-05 Tomer Levi <Tomer.Levi@nsc.com>
* opcode/crx.h (enum argtype): Rename types, remove unused types.
Geoffrey Keating [Fri, 5 Nov 2004 05:26:34 +0000 (05:26 +0000)]
Merge from GCC versions
Alan Modra [Thu, 4 Nov 2004 23:00:04 +0000 (23:00 +0000)]
daily update
Bob Wilson [Thu, 4 Nov 2004 21:52:55 +0000 (21:52 +0000)]
* config/tc-xtensa.c: Remove XTENSA_SECTION_RENAME ifdefs.
(add_section_rename): Delete. Inlined into...
(build_section_rename): ...here. Use xstrdup instead of strdup.
(xtensa_section_rename): Drop "const" from argument and return types.
(md_show_usage): Indent to match show_usage().
* config/tc-xtensa.h: Remove XTENSA_SECTION_RENAME ifdefs.
(tc_canonicalize_section_name): Define.
(md_elf_section_rename): Remove unused macro.
* doc/as.texinfo (Overview): Document Xtensa --rename-section option.
* doc/c-xtensa.texi (Xtensa Options): Likewise.
(Frame Directive): Delete.
Mark Mitchell [Thu, 4 Nov 2004 18:57:34 +0000 (18:57 +0000)]
* elf32-arm.c (elf32_arm_symbian_begin_write_processing): Clear
D_PAGED.
(elf32_arm_symbian_modify_segment_map): Don't
reset includes_filehdr and includes_phdrs here.
DJ Delorie [Thu, 4 Nov 2004 18:42:47 +0000 (18:42 +0000)]
Regenerated with correct autoconf
H.J. Lu [Thu, 4 Nov 2004 17:07:08 +0000 (17:07 +0000)]
2004-11-04 H.J. Lu <hongjiu.lu@intel.com>
PR other/17783
* configure.in: Set up LD_LIBRARY_PATH by default for gcc.
* configure: Regenerated.
Daniel Jacobowitz [Thu, 4 Nov 2004 15:54:50 +0000 (15:54 +0000)]
./
* configure.in (arm-*-oabi*, thumb-*-oabi*): Remove.
* configure: Regenerated.
bfd/
* Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Replace
elfarm-nabi with elf32-arm. Remove elfarm-oabi.
(elf32-arm.lo): Replace elfarm-nabi.lo rule. Remove elf32-arm.h
dependency.
* config.bfd: Move arm-*-oabi* and thumb-*-oabi* from obsolete list
to a new removed list. Remove normal configuration stanzas.
* configure.in: (bfd_elf32_bigarm_vec, bfd_elf32_bigarm_symbian_vec)
(bfd_elf32_littlearm_symbian_vec, bfd_elf32_littlearm_vec): Replace
elfarm-nabi.lo with elf32-arm.lo.
(bfd_elf32_bigarm_oabi_vec, bfd_elf32_littlearm_oabi_vec): Remove.
* elf32-arm.c: Renamed from elfarm-nabi.c. Inline elf32-arm.h.
* elf32-arm.h: Remove.
* elfarm-oabi.c: Remove.
* targets.c (_bfd_target_vector): Remove bfd_elf32_bigarm_oabi_vec
and bfd_elf32_littlearm_oabi_vec.
* aclocal.m4, Makefile.in, configure, doc/Makefile.in: Regenerated.
gas/
* configure.in: Remove arm-*-oabi and thumb-*-oabi.
* config/tc-arm.c (target_oabi): Delete.
(md_apply_fix3, elf32_arm_target_format): Remove target_oabi checks.
(arm_opts): Remove moabi.
* doc/as.texinfo (Overview): Remove documentation of -moabi.
* doc/c-arm.texi (ARM Options): Likewise.
* configure: Regenerated.
ld/
* Makefile.am (ALL_EMULATIONS): Remove earmelf_oabi.o.
(earmelf_oabi.c): Remove rule.
* configure.tgt: Remove arm-*-oabi and thumb-*-oabi.
* emulparams/armelf_oabi.sh, emultempl/armelf_oabi.em: Delete files.
* Makefile.in: Regenerated.
Hans-Peter Nilsson [Thu, 4 Nov 2004 15:18:09 +0000 (15:18 +0000)]
Add missing entry for cris_relax_frag, last change
Hans-Peter Nilsson [Thu, 4 Nov 2004 15:04:41 +0000 (15:04 +0000)]
* binutils-all/objdump.exp (cpus_expected): Append cris.
Hans-Peter Nilsson [Thu, 4 Nov 2004 15:04:05 +0000 (15:04 +0000)]
* ld-elf/merge.d: xfail crisv32-*-*.
* ld-cris/dsov32-1.s, ld-cris/dsov32-2.s, ld-cris/dsov32-3.s,
ld-cris/dsov32-4.s, ld-cris/libdso-10.d, ld-cris/libdso-11.d,
ld-cris/libdso-12.d, ld-cris/libdso-13.d, ld-cris/libdso-14.d,
ld-cris/move-1.s, ld-cris/pv32-1.d, ld-cris/pv32.s,
ld-cris/start1.s, ld-cris/v10-v32.d, ld-cris/v10-va.d,
ld-cris/v32-ba-1.d, ld-cris/v32-ba-1.s, ld-cris/v32-bin-1.d,
ld-cris/v32-bin-1.s, ld-cris/v32-v10.d, ld-cris/v32-va.d,
ld-cris/va-v10.d, ld-cris/va-v32.d: New tests.
* ld-cris/ldsym1.d: Adjust for change in linker script.
Hans-Peter Nilsson [Thu, 4 Nov 2004 15:03:06 +0000 (15:03 +0000)]
* gas/all/gas.exp: Exclude float.s for crisv32-*-*.
* gas/cris/operand-err-1.s (test.m constant): Remove xfail marker
and update rationale. Mark "ba [external_symbol]" and "ba [r3]"
as invalid.
* gas/ieee-fp/x930509a.exp: setup_xfail for crisv32-*-*.
* gas/macros/macros.exp: setup_xfail strings for crisv32-*-*.
* gas/cris/abs32-1.s, gas/cris/arch-err-1.s,
gas/cris/arch-err-2.s, gas/cris/arch-err-3.s,
gas/cris/arch-err-4.s, gas/cris/arch-err-5.s,
gas/cris/bound-err-1.s, gas/cris/brokw-3b.s,
gas/cris/march-err-1.s, gas/cris/march-err-2.s,
gas/cris/push-err-1.s, gas/cris/push-err-2.s,
gas/cris/pushpopv32.s, gas/cris/rd-abs32-1.d,
gas/cris/rd-abs32-2.d, gas/cris/rd-arch-1.d, gas/cris/rd-arch-2.d,
gas/cris/rd-arch-3.d, gas/cris/rd-bkw1b.d, gas/cris/rd-bkw2b.d,
gas/cris/rd-bkw3b.d, gas/cris/rd-bound1.d, gas/cris/rd-bound1.s,
gas/cris/rd-bound2.d, gas/cris/rd-bound3.d, gas/cris/rd-bound4.d,
gas/cris/rd-break32.d, gas/cris/rd-ppv1032.d, gas/cris/rd-ppv32.d,
gas/cris/rd-spr-1.d, gas/cris/rd-spr-1.s, gas/cris/rd-usp-1.d,
gas/cris/rd-usp-1b.d, gas/cris/rd-v10_32o-1.d,
gas/cris/rd-v10_32o-2.d, gas/cris/rd-v10_32o-2.s,
gas/cris/rd-v32-b1.d, gas/cris/rd-v32-b1.s, gas/cris/rd-v32-b2.d,
gas/cris/rd-v32-b2.s, gas/cris/rd-v32-b3.d, gas/cris/rd-v32-b3.s,
gas/cris/rd-v32-f1.d, gas/cris/rd-v32-f1.s, gas/cris/rd-v32-i1.d,
gas/cris/rd-v32-i1.s, gas/cris/rd-v32-l1.d, gas/cris/rd-v32-l1.s,
gas/cris/rd-v32-l3.d, gas/cris/rd-v32-l3.s, gas/cris/rd-v32-l4.d,
gas/cris/rd-v32-l4.s, gas/cris/rd-v32o-1.d, gas/cris/rd-v32s-1.d,
gas/cris/rd-v32s-2.d, gas/cris/rd-v32s-2.s, gas/cris/rd-v32s-3.d,
gas/cris/rd-v32s-3.s, gas/cris/rd-v32s-4.d, gas/cris/rd-v32s-4.s,
gas/cris/rd-vao-1.d, gas/cris/v32-err-1.s, gas/cris/v32-err-10.s,
gas/cris/v32-err-11.s, gas/cris/v32-err-2.s, gas/cris/v32-err-3.s,
gas/cris/v32-err-4.s, gas/cris/v32-err-5.s, gas/cris/v32-err-6.s,
gas/cris/v32-err-7.s, gas/cris/v32-err-8.s, gas/cris/v32-err-9.s:
New tests.
Hans-Peter Nilsson [Thu, 4 Nov 2004 15:01:40 +0000 (15:01 +0000)]
* configure.tgt (crisv32-*-*): Handle like cris-*-* for non-aout.
* emulparams/criself.sh (INIT_START): Remove emitted "push srp".
(FINI_START): Ditto.
(INIT_END): Remove emitted "jump [sp+]".
(FINI_END): Ditto.
Hans-Peter Nilsson [Thu, 4 Nov 2004 15:00:37 +0000 (15:00 +0000)]
* configure.in (crisv32): Recognize. AC_DEFINE_UNQUOTED
DEFAULT_CRIS_ARCH. Handle crisv32-*-linux-gnu* like
cris-*-linux-gnu* and crisv32-*-* like cris-*-*.
* configure: Regenerate.
* config/tc-cris.c (enum cris_archs): New.
(cris_mach, cris_arch_from_string, s_cris_arch, get_sup_reg)
(cris_insn_ver_valid_for_arch): New functions.
(DEFAULT_CRIS_ARCH): New macro, default to cris_any_v0_v10.
(cris_arch): New variable.
(md_pseudo_table): New pseudo .arch.
(err_for_dangerous_mul_placement): Initialize according to
DEFAULT_CRIS_ARCH.
(STATE_COND_BRANCH): Renamed from STATE_CONDITIONAL_BRANCH.
All users changed.
(STATE_COND_BRANCH_V32, STATE_COND_BRANCH_COMMON)
(STATE_ABS_BRANCH_V32, STATE_LAPC, BRANCH_BF_V32, BRANCH_BB_V32)
(BRANCH_WF_V32, BRANCH_WB_V32): New.
(BRANCH_BF, BRANCH_BB, BRANCH_WF, BRANCH_WB): Don't undef after
use in md_cris_relax_table.
(md_cris_relax_table): Add entries for STATE_COND_BRANCH_V32,
STATE_COND_BRANCH_COMMON, STATE_ABS_BRANCH_V32, STATE_LAPC.
Update and improve head comment.
(OPTION_PIC): Define in terms of previous option, OPTION_US.
(OPTION_MULBUG_ABORT_ON, OPTION_MULBUG_ABORT_OFF): Similar.
(OPTION_ARCH): New.
(md_longopts): New option --march=...
(cris_any_v0_v10_long_jump_size, crisv32_long_jump_size): New
macros.
(md_long_jump_size): Initialize in terms of DEFAULT_CRIS_ARCH.
(HANDLE_RELAXABLE): New macro.
(md_estimate_size_before_relax): Use HANDLE_RELAXABLE for common
cases. Check for weak symbols and assume not relaxable. Handle
STATE_COND_BRANCH_V32, STATE_COND_BRANCH_COMMON,
STATE_ABS_BRANCH_V32, STATE_LAPC. Use new variable symbolP, not
fragP->fr_symbol.
(md_convert_frag): Handle STATE_COND_BRANCH_V32,
STATE_COND_BRANCH_COMMON, STATE_ABS_BRANCH_V32, STATE_LAPC.
(cris_create_short_jump): Adjust for CRISv32.
(md_create_long_jump): Ditto. Emit error for common_v10_v32.
(md_begin): Define symbols "..asm.arch.cris.v32",
"..asm.arch.cris.v10", "..asm.arch.cris.common_v10_v32" and
"..asm.arch.cris.any_v0_v10". Use cris_insn_ver_valid_for_arch
when entering opcode table entry points.
(md_assemble): Adjust branch handling for CRISv32. Handle LAPC
relaxation. In fix_new_exp call for main insn, pass 1 for pcrel
parameter for 8, 16 and 32-bit pc-relative insns and LAPC.
(cris_process_instruction): Initialize out_insnp->insn_type to
CRIS_INSN_NONE, not CRIS_INSN_NORMAL.
<case ']', '[', 'A', 'd', 'Q', 'N', 'n', 'Y', 'U', 'u', 'T'>: New
cases.
<case 'm'>: Check that modified_char == '.'.
<invalid operands>: Consume the rest of the line.
When operands don't match, skip over subsequent insns with
non-matching version specifier but same mnemonic.
<immediate constant, case SIZE_SPEC_REG>: Immediate operands for
special registers in CRISv32 are always 32 bit long.
<immediate constant, case SIZE_FIELD_SIGNED, SIZE_FIELD_UNSIGNED>:
New cases.
(get_gen_reg): Only recognize "PC" when followed by "+]" for v32
and compatible. Recognize "ACR" for v32, unless followed by "+".
(get_spec_reg): Consider cris_arch when looking up register.
(get_autoinc_prefix_or_indir_op): Don't recognize assignment for
v32 or compatible.
(get_3op_or_dip_prefix_op): Check for ']' after seeing '[rN+'.
(cris_get_expression): Restore input_line_pointer if failing "early".
(get_flags): Consider cris_arch and recognize flags accordingly.
(branch_disp): Adjust for CRISv32.
(gen_cond_branch_32): Similar. Emit error for common_v10_v32.
(cris_number_to_imm): Use as_bad_where, not as_bad. Remove
related FIXME. Don't insist on BFD_RELOC_32_PCREL fixup to be
resolved. Don't enter zeros in object file for
BFD_RELOC_32_PCREL.
<case BFD_RELOC_CRIS_LAPCQ_OFFSET, BFD_RELOC_CRIS_SIGNED_16>
<case BFD_RELOC_CRIS_SIGNED_8>: New case.
(md_parse_option): Break out "return 1".
<OPTION_ARCH> New case.
(tc_gen_reloc): <case BFD_RELOC_CRIS_LAPCQ_OFFSET>
<case BFD_RELOC_CRIS_SIGNED_16, BFD_RELOC_CRIS_SIGNED_8>
<case BFD_RELOC_CRIS_UNSIGNED_8, BFD_RELOC_CRIS_UNSIGNED_16>
<case BFD_RELOC_32_PCREL>: New cases.
Addends for non-zero fx_pcrel are too in fx_offset.
(md_show_usage): Show --march=<arch>.
(md_apply_fix3): Adjust val for BFD_RELOC_CRIS_LAPCQ_OFFSET.
(md_pcrel_from): BFD_RELOC_CRIS_LAPCQ_OFFSET is PC-relative too.
(s_syntax) <struct syntaxes>: Properly constify member operand.
* config/tc-cris.h (TARGET_MACH): Define.
(cris_mach): Declare.
* doc/as.texinfo (Overview) <CRIS>: Add --march=...
* doc/c-cris.texi (CRIS-Symbols): New node for built-in symbols.
(CRIS-Opts): Document --march=...
(CRIS-Pseudos): Document .arch.
Hans-Peter Nilsson [Thu, 4 Nov 2004 14:58:13 +0000 (14:58 +0000)]
* config.bfd: Support crisv32-*-* like cris-*-*.
* archures.c (bfd_mach_cris_v0_v10, bfd_mach_cris_v32)
(bfd_mach_cris_v10_v32): New macros.
* cpu-cris.c: Tweak formatting.
(get_compatible): New function.
(N): New macro.
(bfd_cris_arch_compat_v10_v32, bfd_cris_arch_v32): New
bfd_arch_info_type:s.
(bfd_cris_arch): Use bfd_mach_cris_v0_v10 for member mach,
get_compatible for member compatible and link bfd_cris_arch_v32 as
next.
* elf32-cris.c (cris_elf_pcrel_reloc)
(cris_elf_set_mach_from_flags): New functions.
(cris_elf_howto_table) <R_CRIS_8_PCREL, R_CRIS_16_PCREL>
<R_CRIS_32_PCREL>: Use cris_elf_pcrel_reloc.
(cris_elf_grok_prstatus, cris_elf_grok_psinfo): Give correct
numbers for bfd_mach_cris_v32.
(PLT_ENTRY_SIZE_V32): New macro.
(elf_cris_plt0_entry): Drop last comma in initializer.
(elf_cris_plt0_entry_v32, elf_cris_plt_entry_v32)
(elf_cris_pic_plt0_entry_v32, elf_cris_pic_plt_entry_v32): New
PLT initializers.
(cris_elf_relocate_section): Change all "%B(%A)" messages to
"%B, section %A".
(elf_cris_finish_dynamic_symbol): Do V32-specific PLT entries.
(elf_cris_finish_dynamic_sections): Similar.
(elf_cris_adjust_dynamic_symbol): Similar.
(cris_elf_check_relocs): Change all "%B(%A)" messages to "%B,
section %A".
<switch with PIC relocs>: Emit error and return FALSE for
bfd_mach_cris_v10_v32.
<case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
Emit warning when generating textrel reloc.
(cris_elf_object_p): Call cris_elf_set_mach_from_flags.
(cris_elf_final_write_processing): Set flags according to mach.
(cris_elf_print_private_bfd_data): Display
EF_CRIS_VARIANT_COMMON_V10_V32 and EF_CRIS_VARIANT_V32.
(cris_elf_merge_private_bfd_data): Drop variables old_flags,
new_flags. Don't call cris_elf_final_write_processing. Don't
look at the actual elf header flags at all; use
bfd_get_symbol_leading_char to check ibfd, obfd. Trap difference
in bfd_get_mach for ibfd and obfd and handle merging of compatible
objects.
(bfd_elf32_bfd_copy_private_bfd_data): Define.
* reloc.c (BFD_RELOC_CRIS_SIGNED_8, BFD_RELOC_CRIS_UNSIGNED_8)
(BFD_RELOC_CRIS_SIGNED_16, BFD_RELOC_CRIS_UNSIGNED_16)
(BFD_RELOC_CRIS_LAPCQ_OFFSET): New relocs.
* bfd-in2.h, libbfd.h: Regenerate.
Hans-Peter Nilsson [Thu, 4 Nov 2004 14:54:38 +0000 (14:54 +0000)]
Generally, handle CRISv32.
* cris-dis.c (TRACE_CASE): Define as (disdata->trace_case).
(struct cris_disasm_data): New type.
(format_reg, format_hex, cris_constraint, print_flags)
(get_opcode_entry): Add struct cris_disasm_data * parameter. All
callers changed.
(format_sup_reg, print_insn_crisv32_with_register_prefix)
(print_insn_crisv32_without_register_prefix)
(print_insn_crisv10_v32_with_register_prefix)
(print_insn_crisv10_v32_without_register_prefix)
(cris_parse_disassembler_options): New functions.
(bytes_to_skip, cris_spec_reg): Add enum cris_disass_family
parameter. All callers changed.
(get_opcode_entry): Call malloc, not xmalloc. Return NULL on
failure.
(cris_constraint) <case 'Y', 'U'>: New cases.
(bytes_to_skip): Handle 'Y' and 'N' as 's'. Skip size is 4 bytes
for constraint 'n'.
(print_with_operands) <case 'Y'>: New case.
(print_with_operands) <case 'T', 'A', '[', ']', 'd', 'n', 'u'>
<case 'N', 'Y', 'Q'>: New cases.
(print_insn_cris_generic): Emit "bcc ." for zero and CRISv32.
(print_insn_cris_with_register_prefix)
(print_insn_cris_without_register_prefix): Call
cris_parse_disassembler_options.
* cris-opc.c (cris_spec_regs): Mention that this table isn't used
for CRISv32 and the size of immediate operands. New v32-only
entries for bz, pid, srs, wz, exs, eda, dz, ebp, erp, nrp, ccs and
spc. Add v32-only 4-byte entries for p2, p3, p5 and p6. Change
ccr, ibr, irp to be v0..v10. Change bar, dccr to be v8..v10.
Change brp to be v3..v10.
(cris_support_regs): New vector.
(cris_opcodes): Update head comment. New format characters '[',
']', space, 'A', 'd', 'N', 'n', 'Q', 'T', 'u', 'U', 'Y'.
Add new opcodes for v32 and adjust existing opcodes to accommodate
differences to earlier variants.
(cris_cond15s): New vector.
Hans-Peter Nilsson [Thu, 4 Nov 2004 14:53:41 +0000 (14:53 +0000)]
* cris.h (enum cris_insn_version_usage): Tweak formatting and
comments. Remove member cris_ver_sim. Add members
cris_ver_sim_v0_10, cris_ver_v0_10, cris_ver_v3_10,
cris_ver_v8_10, cris_ver_v10, cris_ver_v10p.
(struct cris_support_reg, struct cris_cond15): New types.
(cris_conds15): Declare.
(JUMP_PC_INCR_OPCODE_V32, BA_DWORD_OPCODE, NOP_OPCODE_COMMON)
(NOP_OPCODE_ZBITS_COMMON, LAPC_DWORD_OPCODE, LAPC_DWORD_Z_BITS)
(NOP_OPCODE_V32, NOP_Z_BITS_V32): New macros.
(NOP_Z_BITS): Define in terms of NOP_OPCODE.
(cris_imm_oprnd_size_type): New members SIZE_FIELD_SIGNED and
SIZE_FIELD_UNSIGNED.
Hans-Peter Nilsson [Thu, 4 Nov 2004 14:53:19 +0000 (14:53 +0000)]
* cris.h (EF_CRIS_VARIANT_MASK, EF_CRIS_VARIANT_ANY_V0_V10)
(EF_CRIS_VARIANT_V32, EF_CRIS_VARIANT_COMMON_V10_V32): New
macros.
Hans-Peter Nilsson [Thu, 4 Nov 2004 14:39:11 +0000 (14:39 +0000)]
Format last entry
Alan Modra [Thu, 4 Nov 2004 11:55:13 +0000 (11:55 +0000)]
bfd/
* elf64-ppc.h (ppc64_elf_edit_toc): Declare.
* elf64-ppc.c (struct ppc_link_hash_entry <adjust_done>): Update
comment.
(struct adjust_toc_info): New.
(adjust_toc_syms, ppc64_elf_edit_toc): New functions.
ld/
* emultempl/ppc64elf.em (no_tls_opt): Rename from notlsopt.
(no_opd_opt, no_toc_opt): New static vars.
(ppc_before_allocation): Don't edit opt if no_opd_opt. Call
ppc64_elf_edit_toc.
(OPTION_NO_OPD_OPT, OPTION_NO_TOC_OPT): Define.
(PARSE_AND_LIST_LONGOPTS): Add no-opd-optimize and no-toc-optimize.
(PARSE_AND_LIST_OPTIONS): Describe new options.
(PARSE_AND_LIST_ARGS_CASES): Handle them.
Jan Beulich [Thu, 4 Nov 2004 09:16:09 +0000 (09:16 +0000)]
gas/
2004-11-04 Jan Beulich <jbeulich@novell.com>
* config/tc-i386.c (set_intel_syntax): Allow % in symbol names when
intel syntax and no register prefix, allow $ in symbol names when
intel syntax.
(set_16bit_gcc_code_flag): Replace literal 'l' by LONG_MNEM_SUFFIX.
(intel_float_operand): Add fourth return value indicating math control
operations. Make classification more precise.
(md_assemble): Complain if memory operand of mov[sz]x has no size
specified.
(parse_insn): Translate word operands to floating point instructions
operating on integers as well as control instructions to short ones
as expected by AT&T syntax. Translate 'd' suffix to short one only for
floating point instructions operating on non-integer operands.
(match_template): Remove fldcw special case. Adjust q-suffix handling
to permit it on fild/fistp/fisttp in AT&T mode.
(process_suffix): Don't guess DefaultSize insns' suffix from
stackop_size for certain floating point control instructions. Guess
suffix for branch and [ls][gi]dt based on flag_code. Split error
messages for Intel and AT&T syntax, and make the condition more strict
for the former. Adjust suppressing of generation of operand size
overrides.
(intel parser): Allow the full set of MASM operators. Add FWORD, TBYTE,
OWORD, and XMMWORD operand size specifiers (TBYTE replaces XWORD). Add
more error checking.
* config/tc-i386.h (BYTE_PTR WORD_PTR DWORD_PTR QWORD_PTR XWORD_PTR
SHORT OFFSET_FLAT FLAT NONE_FOUND): Remove unused defines.
gas/testsuite/
2004-11-04 Jan Beulich <jbeulich@novell.com>
* gas/i386/i386.exp: Execute new tests intelbad and intelok.
* gas/i386/intelbad.[sl]: New test to check for various things not
permitted in Intel mode.
* gas/i386/intel.d, gas/i386/opcode.d, gas/i386/x86-64-opcode.d:
Adjust for change to segment register store.
* gas/i386/intelok.[sd]: New test to check various Intel mode specific
things get handled correctly.
* gas/i386/x86_64.[sd]: Remove unsupported constructs referring to
'high' and 'low' parts of an operand, which the parser previously
accepted while neither telling that it's not supported nor that it
ignored the remainder of the line following these supposed keywords.
include/opcode/
2004-11-04 Jan Beulich <jbeulich@novell.com>
* i386.h (sldx_Suf): Remove.
(FP, l_FP, sl_FP, x_FP): Don't imply IgnoreSize.
(q_FP): Define, implying no REX64.
(x_FP, sl_FP): Imply FloatMF.
(i386_optab): Split reg and mem forms of moving from segment registers
so that the memory forms can ignore the 16-/32-bit operand size
distinction. Adjust a few others for Intel mode. Remove *FP uses from
all non-floating-point instructions. Unite 32- and 64-bit forms of
movsx, movzx, and movd. Adjust floating point operations for the above
changes to the *FP macros. Add DefaultSize to floating point control
insns operating on larger memory ranges. Remove left over comments
hinting at certain insns being Intel-syntax ones where the ones
actually meant are already gone.
opcodes/
2004-11-04 Jan Beulich <jbeulich@novell.com>
* i386-dis.c (Eq, Edqw, indirEp, Gdq, I1): Define.
(indirEb): Remove.
(Mp): Use f_mode rather than none at all.
(t_mode, dq_mode, dqw_mode, f_mode, const_1_mode): Define. t_mode
replaces what previously was x_mode; x_mode now means 128-bit SSE
operands.
(dis386): Make far jumps and calls have an 'l' prefix only in AT&T
mode. movmskpX's, pextrw's, and pmovmskb's first operands are Gdq.
pinsrw's second operand is Edqw.
(grps): 1-bit shifts' and rotates' second operands are I1. cmpxchg8b's
operand is Eq. movntq's and movntdq's first operands are EM. s[gi]dt,
fldenv, frstor, fsave, fstenv all should also have suffixes in Intel
mode when an operand size override is present or always suffixing.
More instructions will need to be added to this group.
(putop): Handle new macro chars 'C' (short/long suffix selector),
'I' (Intel mode override for following macro char), and 'J' (for
adding the 'l' prefix to far branches in AT&T mode). When an
alternative was specified in the template, honor macro character when
specified for Intel mode.
(OP_E): Handle new *_mode values. Correct pointer specifications for
memory operands. Consolidate output of index register.
(OP_G): Handle new *_mode values.
(OP_I): Handle const_1_mode.
(OP_ESreg, OP_DSreg): Generate pointer specifications. Indicate
respective opcode prefix bits have been consumed.
(OP_EM, OP_EX): Provide some default handling for generating pointer
specifications.
Bob Wilson [Thu, 4 Nov 2004 00:44:23 +0000 (00:44 +0000)]
* elf.c (assign_file_positions_for_segments): Set next_file_pos even
if there are no segments.
Alan Modra [Wed, 3 Nov 2004 23:00:07 +0000 (23:00 +0000)]
daily update
Nick Clifton [Wed, 3 Nov 2004 10:44:45 +0000 (10:44 +0000)]
Add support to readelf to decode and display the contents of .debug_ranges
sections.
Alan Modra [Wed, 3 Nov 2004 02:21:57 +0000 (02:21 +0000)]
* readelf.c (ia64_unw_aux_info, ia64_unw_table_entry): Rename from
unw_aux_info and unw_table_entry.
(find_symbol_for_address): Pass symtab and strtab info explicitly.
(dump_ia64_unwind): Rename unw_{aux_info,table_entry} with ia64_
prefix.
(slurp_ia64_unwind_table): Likewise.
(ia64_process_unwind): Rename from old process_unwind.
(hppa_unw_aux_info): New.
(dump_hppa_unwind): New.
(slurp_hppa_unwind_table): New.
(hppa_process_unwind): New.
(process_unwind): Factor out common unwinding checks; dispatch to
unwind handler based on machine type.
Hans-Peter Nilsson [Wed, 3 Nov 2004 01:54:25 +0000 (01:54 +0000)]
* symbols.c (colon) [!WORKING_DOT_WORD]: Don't declare
md_short_jump_size, md_long_jump_size.
* write.c [!WORKING_DOT_WORD]: Ditto.
* tc.h [!WORKING_DOT_WORD]: Declare them here. Drop const
qualifier.
* config/tc-cris.h (md_short_jump_size, md_long_jump_size): Don't
declare.
* config/tc-cris.c (md_short_jump_size, md_long_jump_size): Drop
const qualifier in these definitions.
* config/tc-i370.c, config/tc-m68k.c, config/tc-pdp11.c,
config/tc-s390.c, config/tc-tahoe.c, config/tc-vax.c: Ditto.
Alan Modra [Tue, 2 Nov 2004 23:00:05 +0000 (23:00 +0000)]
daily update
Daniel Jacobowitz [Tue, 2 Nov 2004 16:24:35 +0000 (16:24 +0000)]
* config.bfd: Mark arm-*-oabi and thumb-*-oabi as obsolete.
Nick Clifton [Tue, 2 Nov 2004 12:52:32 +0000 (12:52 +0000)]
Convert to ISO C90
Nick Clifton [Tue, 2 Nov 2004 09:54:12 +0000 (09:54 +0000)]
(display_debug_lines): Fix typo in error message.
Nick Clifton [Tue, 2 Nov 2004 09:49:25 +0000 (09:49 +0000)]
(dwarf2_finish): Check for the existence of a file table before deciding to
produce a .debug_line section to match up with a user provided .debug_info
section.
Hans-Peter Nilsson [Tue, 2 Nov 2004 05:51:13 +0000 (05:51 +0000)]
Correct last entry: s/SYMBOL/TABLE_/
Hans-Peter Nilsson [Tue, 2 Nov 2004 05:44:34 +0000 (05:44 +0000)]
* elflink.c (_bfd_elf_create_got_section): Hide _GLOBAL_OFFSET_SYMBOL.
Hans-Peter Nilsson [Tue, 2 Nov 2004 05:40:05 +0000 (05:40 +0000)]
* ld-cris/expdyn1.d, ld-cris/expdyn5.d, ld-cris/expdyn6.d,
ld-cris/expdyn7.d, ld-cris/gotplt1.d, ld-cris/gotplt2.d,
ld-cris/gotplt3.d, ld-cris/hiddef1.d, ld-cris/libdso-2.d,
ld-cris/locref1.d, ld-cris/locref2.d, ld-cris/weakref2.d,
ld-i386/tlsbin.rd, ld-i386/tlsnopic.rd, ld-i386/tlspic.rd,
ld-ia64/tlsbin.dd, ld-ia64/tlsbin.rd, ld-ia64/tlspic.dd,
ld-ia64/tlspic.rd, ld-powerpc/tlsexe32.d, ld-powerpc/tlsexe32.g,
ld-powerpc/tlsexe32.r, ld-powerpc/tlsexe32.t,
ld-powerpc/tlsso32.d, ld-powerpc/tlsso32.g, ld-powerpc/tlsso32.r,
ld-powerpc/tlsso32.t, ld-s390/tlsbin.dd, ld-s390/tlsbin.rd,
ld-s390/tlspic.rd, ld-sparc/tlssunbin32.rd,
ld-sparc/tlssunpic32.rd, ld-x86-64/tlsbin.rd, ld-x86-64/tlspic.dd,
ld-x86-64/tlspic.rd: Adjust for _GLOBAL_OFFSET_TABLE_ now hidden.
Alan Modra [Mon, 1 Nov 2004 23:00:05 +0000 (23:00 +0000)]
daily update
Alan Modra [Sun, 31 Oct 2004 23:00:05 +0000 (23:00 +0000)]
daily update
Alan Modra [Sat, 30 Oct 2004 23:00:05 +0000 (23:00 +0000)]
daily update
Alan Modra [Sat, 30 Oct 2004 00:00:06 +0000 (00:00 +0000)]
daily update
Alan Modra [Fri, 29 Oct 2004 00:00:06 +0000 (00:00 +0000)]
daily update
Aaron W. LaFramboise [Thu, 28 Oct 2004 19:43:35 +0000 (19:43 +0000)]
PR target/18151
* configure.in (case ${target}): Do not build fixincludes for avr.
* configure: Regenerated.
H.J. Lu [Thu, 28 Oct 2004 14:58:26 +0000 (14:58 +0000)]
2004-10-28 H.J. Lu <hongjiu.lu@intel.com>
* binutils-all/dlltool.exp: Set XFAIL if $target_xfail is yes.
H.J. Lu [Thu, 28 Oct 2004 14:55:41 +0000 (14:55 +0000)]
2004-10-28 H.J. Lu <hongjiu.lu@intel.com>
* elfxx-ia64.c (elfNN_ia64_relocate_section): Handle weak
undefined symbols for R_IA64_SECREL32MSB, R_IA64_SECREL32LSB,
R_IA64_SECREL64MSB and R_IA64_SECREL64LSB.
Kaz Kojima [Thu, 28 Oct 2004 12:00:17 +0000 (12:00 +0000)]
* elf32-sh.c (tpoff): Take alignment into account.
Tomer Levi [Thu, 28 Oct 2004 10:31:14 +0000 (10:31 +0000)]
2004-10-28 Tomer Levi <Tomer.Levi@nsc.com>
* crx-opc.c (REV_COP_INST): New macro, reverse operand order of COP_INST macro.
Tomer Levi [Thu, 28 Oct 2004 10:29:56 +0000 (10:29 +0000)]
2004-10-27 Tomer Levi <Tomer.Levi@nsc.com>
* crx-opc.c (REV_COP_INST): New macro, reverse operand order of COP_INST macro.
Tomer Levi [Thu, 28 Oct 2004 10:19:30 +0000 (10:19 +0000)]
2004-10-28 Tomer Levi <Tomer.Levi@nsc.com>
* gas/crx/cop_insn.d: Regenerate (after a bug fix in Assembler).
Tomer Levi [Thu, 28 Oct 2004 10:14:46 +0000 (10:14 +0000)]
2004-10-28 Tomer Levi <Tomer.Levi@nsc.com>
* config/tc-crx.c (getreg_image): Bug fix, a return value was mistakenly ommited from CRX_C_REGTYPE and CRX_CS_REGTYPE cases.
Nick Clifton [Thu, 28 Oct 2004 09:56:14 +0000 (09:56 +0000)]
Fix spelling typo