summaryrefslogtreecommitdiff
path: root/gas
Commit message (Collapse)AuthorAgeFilesLines
* * output-file.c (output_file_close): Prevent an infinite loop reporting that ↵Nick Clifton2006-09-272-2/+17
| | | | stdoutput could not be closed.
* bfd/Joseph Myers2006-09-265-14/+446
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-09-26 Mark Shinwell <shinwell@codesourcery.com> Joseph Myers <joseph@codesourcery.com> Ian Lance Taylor <ian@wasabisystems.com> Ben Elliston <bje@wasabisystems.com> * archures.c: Add definition for bfd_mach_arm_iWMMXt2. * cpu-arm.c (processors): Add bfd_mach_arm_iWMMXt2. (arch_info_struct, bfd_arm_update_notes): Likewise. (architectures): Likewise. (bfd_arm_merge_machines): Check for iWMMXt2. * bfd-in2.h: Rebuild. gas/ 2006-09-26 Mark Shinwell <shinwell@codesourcery.com> Joseph Myers <joseph@codesourcery.com> Ian Lance Taylor <ian@wasabisystems.com> Ben Elliston <bje@wasabisystems.com> * config/tc-arm.c (arm_cext_iwmmxt2): New. (enum operand_parse_code): New code OP_RIWR_I32z. (parse_operands): Handle OP_RIWR_I32z. (do_iwmmxt_wmerge): New function. (do_iwmmxt_wldstd): Handle iwmmxt2 case where second operand is a register. (do_iwmmxt_wrwrwr_or_imm5): New function. (insns): Mark instructions as RIWR_I32z as appropriate. Also add torvsc<b,h,w>, wabs<b,h,w>, wabsdiff<b,h,w>, waddbhus<l,m>, waddhc, waddwc, waddsubhx, wavg4{r}, wmaddu{x,n}, wmadds{x,n}, wmerge, wmiaxy{n}, wmiawxy{n}, wmul<sm,um>{r}, wmulw<um,sm,l>{r}, wqmiaxy{n}, wqmulm{r}, wqmulwm{r}, wsubaddhx. (md_begin): Handle IWMMXT2. (arm_cpus): Add iwmmxt2. (arm_extensions): Likewise. (arm_archs): Likewise. gas/testsuite/ 2006-09-26 Mark Shinwell <shinwell@codesourcery.com> Joseph Myers <joseph@codesourcery.com> Ian Lance Taylor <ian@wasabisystems.com> Ben Elliston <bje@wasabisystems.com> * gas/arm/iwmmxt2.s: New file. * gas/arm/iwmmxt2.d: New file. include/opcode/ 2006-09-26 Mark Shinwell <shinwell@codesourcery.com> Joseph Myers <joseph@codesourcery.com> Ian Lance Taylor <ian@wasabisystems.com> Ben Elliston <bje@wasabisystems.com> * arm.h (ARM_CEXT_IWMMXT2, ARM_ARCH_IWMMXT2): Define. opcodes/ 2006-09-26 Mark Shinwell <shinwell@codesourcery.com> Joseph Myers <joseph@codesourcery.com> Ian Lance Taylor <ian@wasabisystems.com> Ben Elliston <bje@wasabisystems.com> * arm-dis.c (coprocessor_opcodes): The X-qualifier to WMADD may only be used with the default multiply-add operation, so if N is set, don't bother printing X. Add new iwmmxt instructions. (IWMMXT_INSN_COUNT): Update. (iwmmxt_wwssnames): Qualify "wwss" names at index 2, 6, 10 and 14 with a 'c' suffix. (print_insn_coprocessor): Check for iWMMXt2. Handle format specifiers 'r', 'i'.
* * doc/as.texinfo (Overview): Revise description of --keep-locals.Bob Wilson2006-09-252-31/+56
| | | | | | | | | Add xref to "Symbol Names". (L): Refer to "local symbols" instead of "local labels". Move definition to "Symbol Names" section; add xref to that section. (Symbol Names): Use "Local Symbol Names" section to define local symbols. Add "Local Labels" heading for description of temporary forward/backward labels, and refer to those as "local labels".
* gas/H.J. Lu2006-09-2310-22/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-09-23 H.J. Lu <hongjiu.lu@intel.com> PR binutils/3235 * config/tc-i386.c (match_template): Check address size prefix to turn Disp64/Disp32/Disp16 operand into Disp32/Disp16/Disp32 operand. gas/testsuite/ 2006-09-23 H.J. Lu <hongjiu.lu@intel.com> PR binutils/3235 * gas/i386/addr16.d: New file. * gas/i386/addr16.s: Likewise. * gas/i386/addr32.d: Likewise. * gas/i386/addr32.s: Likewise. * gas/i386/i386.exp: Add "addr16" and "addr32". * gas/i386/x86-64-addr32.s: Add tests for "add32 mov". * gas/i386/x86-64-addr32.d: Updated. opcodes/ 2006-09-23 H.J. Lu <hongjiu.lu@intel.com> PR binutils/3235 * i386-dis.c (OP_OFF64): Get 32bit offset if there is an address size prefix.
* * config/tc-ppc.c (ppc_symbol_chars): Remove '+' and '-'.Alan Modra2006-09-222-4/+6
|
* * as.h (as_perror): Delete declaration.Alan Modra2006-09-2211-73/+43
| | | | | | | | | | | | * gdbinit.in (as_perror): Delete breakpoint. * messages.c (as_perror): Delete function. * doc/internals.texi: Remove as_perror description. * listing.c (listing_print: Don't use as_perror. * output-file.c (output_file_create, output_file_close): Likewise. * symbols.c (symbol_create, symbol_clone): Likewise. * write.c (write_contents): Likewise. * config/obj-som.c (obj_som_version, obj_som_copyright): Likewise. * config/tc-tic54x.c (tic54x_mlib): Likewise.
* * config/tc-ppc.c (md_section_align): Don't round up address for ELF.Alan Modra2006-09-223-29/+60
| | | | | | (ppc_handle_align): New function. * config/tc-ppc.h (HANDLE_ALIGN): Use ppc_handle_align. (SUB_SEGMENT_ALIGN): Define as zero.
* * doc/as.texinfo: Fix cross reference usage, typos and grammar.Bob Wilson2006-09-202-49/+60
| | | | (Overview): Skip cross reference in man page.
* Add x86_64-mingw64 targetNick Clifton2006-09-2026-22/+142
|
* * gas/bfin/load.s, gas/bfin/load.d: Add constant folding tests.Bernd Schmidt2006-09-193-69/+79
|
* * config/bfin-parse.y (binary): Change sub of const to add of negatedBernd Schmidt2006-09-182-0/+11
| | | | const.
* Add Score test filesNick Clifton2006-09-1731-0/+2247
|
* Add support for Score target.Nick Clifton2006-09-1610-0/+6770
|
* 2006-09-16 Paul Brook <paul@codesourcery.com>Paul Brook2006-09-167-6/+52
| | | | | | | | | | | gas/ * config/tc-arm.c (s_arm_unwind_movsp): Add offset argument. * doc/c-arm.texi (movsp): Document offset argument. gas/testsuite/ * gas/arm/unwind.s: Test two argument form of .movsp. * gas/arm/unwind.d: Update expected output. * gas/arm/unwind_vxworks.d: Ditto.
* 2006-09-16 Paul Brook <paul@codesourcery.com>Paul Brook2006-09-162-3/+8
| | | | | * config/tc-arm.c (thumb32_negate_data_op): Consistently use unsigned int to avoid 64-bit host problems.
* * config/bfin-parse.y (binary): Do some more constant folding forBernd Schmidt2006-09-152-6/+26
| | | | additions.
* 2006-09-13 Jan Beulich <jbeulich@novell.com>Jan Beulich2006-09-132-1/+6
| | | | | * input-file.c (input_file_give_next_buffer): Demote as_bad to as_warn.
* PR gas/3165Alan Modra2006-09-132-2/+8
| | | | | * config/tc-sh (DWARF2_CIE_DATA_ALIGNMENT): Wrap negative number in parens.
* * input-file.h: Update comment.Alan Modra2006-09-131-0/+1
|
* * input-file.c (input_file_open): Replace as_perror with as_badAlan Modra2006-09-123-15/+19
| | | | | | so that gas exits with error on file errors. Correct error message. (input_file_get, input_file_give_next_buffer): Likewise.
* PR gas/3172Nick Clifton2006-09-112-1/+9
| | | | | * config/tc-arm.c (parse_typed_reg_or_scalar): Accept wCg class registers as a sub-class of wC registers.
* PR gas/3165Alan Modra2006-09-114-7/+16
| | | | | | | * config/tc-mips.h (enum dwarf2_format): Forward declare. (DWARF2_CIE_DATA_ALIGNMENT): Wrap negative number in parens. * config/tc-alpha.h (DWARF2_CIE_DATA_ALIGNMENT): Likewise. * config/tc-arm.h (DWARF2_CIE_DATA_ALIGNMENT): Likewise.
* * lib/gas-dg.exp (gas-dg-test): Treat $dir as a literal.Kazu Hirata2006-09-082-1/+6
|
* PR gas/3129Nick Clifton2006-09-082-12/+70
| | | | * doc/as.texinfo (Macro): Improve documentation about separating macro arguments from following text.
* 2006-09-08 Paul Brook <paul@codesourcery.com>Paul Brook2006-09-085-1/+29
| | | | | | | | | gas/ * config/tc-arm.c (insns): Allow ARM IT pseudo-insn on all cores. gas/testsuite/ * gas/arm/arm-it.s: New test. * gas/arm/arm-it.d: New test.
* 2006-09-07 Paul Brook <paul@codesourcery.com>Paul Brook2006-09-075-0/+97
| | | | | | | | | gas/ * config/tc-arm.c (parse_operands): Mark operand as present. gas/testsuite/ * gas/arm/neon-omit.s: Test three-argument variants. * gas/arm/neon-omit.d: Update expected output.
* 2006-09-04 Paul Brook <paul@codesourcery.com>Paul Brook2006-09-055-13/+178
| | | | | | | | | | | | | | | | gas/ * config/tc-arm.c (do_neon_dyadic_if_i): Remove. (do_neon_dyadic_if_i_d): Avoid setting U bit. (do_neon_mac_maybe_scalar): Ditto. (do_neon_dyadic_narrow): Force operand type to NT_integer. (insns): Remove out of date comments. gas/testsuite/ * gas/arm/neon-cov.s: Test .u and .s aliases for .i suffixes. * gas/arm/neon-cov.d: Adjust expected output. opcodes/ * arm-dis.c (neon_opcode): Fix suffix on VMOVN.
* * read.c (s_align): Initialize the 'stopc' variable to preventNick Clifton2006-08-292-10/+18
| | | | | | compiler complaints about it being used without being initialized. (s_comm_internal, s_mri_common, s_fail, s_globl, s_space, s_float_space, s_struct, cons_worker, equals): Likewise.
* * ecoff.c (ecoff_directive_val): Fix message typo.Alan Modra2006-08-294-4/+10
| | | | | * config/tc-ns32k.c (convert_iif): Likewise. * config/tc-sh64.c (shmedia_check_limits): Likewise.
* * config/tc-xtensa.c (xtensa_mark_literal_pool_location): Do not checkBob Wilson2006-08-252-4/+8
| | | | | the state of the absolute_literals directive. Remove align frag at the start of the literal pool position.
* * doc/c-xtensa.texi: Add @group commands in examples.Bob Wilson2006-08-252-0/+48
|
* bfd/Bob Wilson2006-08-253-233/+264
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * elf32-xtensa.c (xtensa_get_property_section_name): Delete. (xtensa_get_property_section): New. (xtensa_read_table_entries): Use xtensa_get_property_section. (relax_property_section, xtensa_get_property_predef_flags): Handle group name suffixes in property section names. (match_section_group): New. gas/ * config/tc-xtensa.c (FINI_LITERAL_SECTION_NAME): Delete. (INIT_LITERAL_SECTION_NAME): Delete. (lit_state struct): Remove segment names, init_lit_seg, and fini_lit_seg. Add lit_prefix and current_text_seg. (init_literal_head_h, init_literal_head): Delete. (fini_literal_head_h, fini_literal_head): Delete. (xtensa_begin_directive): Move argument parsing to xtensa_literal_prefix function. (xtensa_end_directive): Deallocate lit_prefix field of lit_state. (xtensa_literal_prefix): Parse the directive argument here and record it in the lit_prefix field. Remove code to derive literal section names. (linkonce_len): New. (get_is_linkonce_section): Use linkonce_len. Check for any ".gnu.linkonce.*" section, not just text sections. (md_begin): Remove initialization of deleted lit_state fields. (xtensa_reorder_segments, xtensa_post_relax_hook): Remove references to init_literal_head and fini_literal_head. (xtensa_move_literals): Likewise. Skip literals for .init and .fini when traversing literal_head list. (match_section_group): New. (cache_literal_section): Rewrite to determine the literal section name on the fly, create the section and return it. (xtensa_switch_to_literal_fragment): Adjust for cache_literal_section. (xtensa_switch_to_non_abs_literal_fragment): Likewise. (xtensa_create_property_segments, xtensa_create_xproperty_segments): Use xtensa_get_property_section from bfd. (retrieve_xtensa_section): Delete. * doc/c-xtensa.texi (Xtensa Options): Fix --text-section-literals description to refer to plural literal sections and add xref to the Literal Directive section. (Literal Directive): Describe new rules for deriving literal section names. Add footnote for special case of .init/.fini with --text-section-literals. (Literal Prefix Directive): Replace old naming rules with xref to the Literal Directive section. ld/ * emulparams/elf32xtensa.sh (.xt.prop): Add .xt.prop.*. * scripttempl/elfxtensa.sc (.text): Add .literal.*.
* gas:Joseph Myers2006-08-216-5/+18
| | | | | | | | | | * config/tc-arm.c (s_arm_unwind_save_mmxwr): Correct condition for merging with previous long opcode. gas/testsuite: * gas/arm/unwind.s: Test not merging iWMMXt register save with previous long opcode. * gas/arm/unwind.d, gas/arm/unwind_vxworks.d: Update.
* bfdNick Clifton2006-08-214-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.am: Add rules to build pe-arm-wince.lo and pei-arm-wince.lo objects. * Makefile.in: Regenerate. * pe-arm-wince.c: New file. * pei-arm-wince.c: New file. * pei-arm.c: Remove ARM_WINCE block. * pe-arm.c: Remove ARM_WINCE block. Rename bfd_arm_pe_allocate_interworking_sections, bfd_arm_pe_get_bfd_for_interworking, and bfd_arm_pe_process_before_allocation to bfd_armpe_allocate_interworking_sections, bfd_armpe_get_bfd_for_interworking, and bfd_armpe_process_before_allocation. Move them before including bfd.h. * bfd.c: ARM wince bfd format names were renamed. Adjust. * coff-arm.c [ARM_WINCE]: Adjust so Windows CE doesn't end up with unexpected/conflicting relocs. * targets.c: The arm-wince-pe target got its own new vector. Adjust. * config.bfd: Likewise. * configure.in: Likewise. * configure: Regenerate. binutils * configure.in: Split arm-pe and arm-wince-pe. Build dlltool with -DDLLTOOL_ARM_WINCE for Windows CE case. * configure: Regenerate. * dlltool.c: Add support for arm-wince. gas * Makefile.am (TARG_ENV_HFILES): Add te-wince-pe.h. * Makefile.in: Regenerate. * config/tc-arm.h [TARGET_FORMAT]: ARM wince bfd names were renamed. Adjust. ld * Makefile.am: Split arm-wince into its own emulation. * Makefile.in: Regenerate. * configure.tgt: Set targ_emul to arm_wince_pe for ARM Windows CE targets. * pe-dll.c : Define PE_ARCH_arm_wince. (pe_detail_list): Add PE_ARCH_arm_wince case. (make_one): Handle PE_ARCH_arm_epoc and PE_ARCH_arm_wince cases. * emulparams/arm_wince_pe.sh: New file. * emultempl/pe.em: Handle new TARGET_IS_arm_wince_pe define. Remap bfd_arm_allocate_interworking_sections, bfd_arm_get_bfd_for_interworking and bfd_arm_process_before_allocation for arm-pe and arm-wince-pe targets too. (gld_${EMULATION_NAME}_recognized_file): Handle arm-wince and arm-epoc bfd format names.
* * config/tc-arm.c (md_assemble): Improve diagnostic when attemptingJulian Brown2006-08-162-1/+27
| | | | | | | to use ARM instructions on non-ARM-supporting cores. (autoselect_thumb_from_cpu_variant): New function. Switch on Thumb mode automatically based on cpu variant. (md_begin): Call above function.
* * gas/arm/noarm.s: Add test for disabled ARM insns.Julian Brown2006-08-164-0/+25
| | | | | * gas/arm/noarm.d: Drive test for above. * gas/arm/noarm.l: Expected error output.
* * config/tc-arm.c (opcode_lookup): Allow Neon type suffixes to beJulian Brown2006-08-162-5/+16
| | | | recognized in non-unified syntax mode.
* [ ChangeLog ]Thiemo Seufer2006-08-154-3/+16
| | | | | | | | | | | | | | | | | * config.sub: Add support for sde as alias of mipsisa32-sde-elf. [ bfd/ChangeLog ] * config.bfd: Add configurations for mips*el-sde-elf* and mips*-sde-elf*. [ binutils/testsuite/ChangeLog ] * binutils-all/readelf.exp (readelf_test): Handle mips*-sde-elf*. [ gas/ChangeLog ] * configure.tgt: Handle mips*-sde-elf*. [ gas/testsuite/ChangeLog ] * gas/mips/mips.exp: Handle mips*-sde-elf*.
* Fix bug 3000Michael Meissner2006-08-142-5/+10
|
* [ gas/ChangeLog ]Thiemo Seufer2006-08-124-2/+11
| | | | | | | | * config/tc-mips.c (mips16_ip): Fix argument register handling for restore instruction. [ gas/testsuite/ChangeLog ] * gas/mips/mips16-save.d: Fix testcase.
* gas/ChangeLog:Bob Wilson2006-08-086-2/+126
| | | | | | | | | | | | * dwarf2dbg.c (DWARF2_USE_FIXED_ADVANCE_PC): New. (out_sleb128): New. (out_fixed_inc_line_addr): New. (process_entries): Use out_fixed_inc_line_addr when DWARF2_USE_FIXED_ADVANCE_PC is set. * config/tc-xtensa.h (DWARF2_USE_FIXED_ADVANCE_PC): Define. gas/testsuite/ChangeLog: * gas/lns/lns-common-1-alt.d: New file. * gas/lns/lns.exp: Use lns-common-1-alt.d for xtensa targets.
* * config/tc-sh.c (sh_frob_section): Canonicalize pointers to localDJ Delorie2006-08-082-0/+21
| | | | | vs full symbols so that we never have more than one pointer value for any given symbol in our symbol table.
* * dwarf2dbg.c (out_debug_info): Add new parameter ranges_seg and emitNick Clifton2006-08-082-7/+92
| | | | | | | DW_AT_ranges when code in compilation unit is not contiguous. (out_debug_abbrev): Emit DW_AT_ranges abbreviation if code in is not contiguous. (dwarf2_finish): Create and pass ranges_seg to out_debug_info. (out_debug_ranges): New function to emit .debug_ranges section when code is not contiguous.
* * config/tc-arm.c (WARN_DEPRECATED): Enable.Nick Clifton2006-08-082-2/+5
|
* * gas/arm/thumb2_add.s: Don't use elf specific ".type" pseudo-op.Nick Clifton2006-08-062-1/+3
|
* * gas/arm/wince.s: New test.Nick Clifton2006-08-063-0/+60
| | | | * gas/arm/wince.d: New test.
* * bfd.c (bfd_get_sign_extend_vma): Add cases for pe-arm-little and ↵Nick Clifton2006-08-063-25/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | pei-arm-little. * coff-arm.c (coff_arm_rtype_to_howto) [COFF_WITH_PE]: Handle ARM_SECREL. (coff_arm_reloc_type_lookup): Map BFD_RELOC_32_SECREL to ARM_SECREL. * pe-arm.c [COFF_SECTION_ALIGNMENT_ENTRIES]: Define. * pei-arm.c [TARGET_UNDERSCORE]: Define for ARM_WINCE like in pe-arm.c. [COFF_SECTION_ALIGNMENT_ENTRIES]: Define. * config/tc-arm.c: Move "dwarf2dbg.h" inclusion out of OBJ_ELF only block. (pe_directive_secrel) [TE_PE]: New function. (md_pseudo_table) [!OBJ_ELF]: Handle 2byte, 4byte, 8byte, file, loc, loc_mark_labels. [TE_PE]: Handle secrel32. (output_relax_insn): Remove OBJ_ELF around dwarf2_emit_insn call. (output_inst): Remove OBJ_ELF around dwarf2_emit_insn call. (arm_frob_label): Remove OBJ_ELF around dwarf2_emit_label call. (md_section_align): Only round section sizes here for AOUT targets. (tc_arm_regname_to_dw2regnum): Move out for OBJ_ELF only block. (tc_pe_dwarf2_emit_offset): New function. (md_apply_fix) [TE_PE]: Handle BFD_RELOC_32_SECREL. (cons_fix_new_arm): Handle O_secrel. * config/tc-arm.h : Move DWARF2_LINE_MIN_INSN_LENGTH, DWARF2_DEFAULT_RETURN_COLUMN and DWARF2_CIE_DATA_ALIGNMENT out of OBJ_ELF only block. [TE_PE]: Define O_secrel, TC_DWARF2_EMIT_OFFSET, and declare tc_pe_dwarf2_emit_offset. * ld-pe/pe.exp: Enable tests on arm-wince-pe. * ld-pe/secrel.d: Adjust test to work on arm-wince-pe too.
* bfd/Richard Sandiford2006-08-043-12/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-08-02 Richard Sandiford <richard@codesourcery.com> Kazu Hirata <kazu@codesourcery.com> Phil Edwards <phil@codesourcery.com> Nathan Sidwell <nathan@codesourcery.com> * config.bfd (sh-*-vxworks): Use bfd_elf32_shvxworks_vec and bfd_elf32_shlvxworks_vec. * configure.in (bfd_elf32_sh64_vec): Add elf-vxworks.lo. (bfd_elf32_sh64l_vec, bfd_elf32_sh64lin_vec): Likewise. (bfd_elf32_sh64blin_vec, bfd_elf32_sh64lnbsd_vec): Likewise. (bfd_elf32_sh64nbsd_vec, bfd_elf32_sh_vec): Likewise. (bfd_elf32_shblin_vec, bfd_elf32_shl_vec): Likewise. (bfd_elf32_shl_symbian_vec, bfd_elf32_shlin_vec): Likewise. (bfd_elf32_shlnbsd_vec, bfd_elf32_shnbsd_vec): Likewise. (bfd_elf32_shlvxworks_vec, bfd_elf32_shvxworks_vec): New stanzas. * configure: Regenerate. * Makefile.am: Regenerate dependencies. * Makefile.in: Regenerate. * elf-vxworks.c (elf_vxworks_gott_symbol_p): New function. (elf_vxworks_add_symbol_hook): Use it. (elf_vxworks_link_output_symbol_hook): Likewise. Use the hash table entry to check for weak undefined symbols and to obtain the original bfd. (elf_vxworks_emit_relocs): Use target_index instead of this_idx. * elf32-sh-relocs.h: New file, split from elf32-sh.c. (R_SH_DIR32): Use SH_PARTIAL32 for the partial_inplace field, SH_SRC_MASK32 for the src_mask field, and SH_ELF_RELOC for the special_function field. (R_SH_REL32): Use SH_PARTIAL32 and SH_SRC_MASK32 here too. (R_SH_REL32, R_SH_TLS_GD_32, R_SH_TLS_LD_32): Likewise. (R_SH_TLS_LDO_32, R_SH_TLS_IE_32, R_SH_TLS_LE_32): Likewise. (R_SH_TLS_DTPMOD32, R_SH_TLS_DTPOFF32, R_SH_TLS_TPOFF32): Likewise. (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT): Likewise. (R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): Likewise. (SH_PARTIAL32, SH_SRC_MASK32, SH_ELF_RELOC): Undefine at end of file. * elf32-sh.c: Include elf32-vxworks.h. (MINUS_ONE): Define. (sh_elf_howto_table): Include elf32-sh-relocs.h with SH_PARTIAL32 set to TRUE, SH_SRC_MASK32 set to 0xffffffff, and SH_ELF_RELOC set to sh_elf_reloc. (sh_vxworks_howto_table): New variable. Include elf32-sh-relocs.h with SH_PARTIAL32 set to FALSE, SH_SRC_MASK32 set to 0, and SH_ELF_RELOC set to bfd_elf_generic_reloc. (vxworks_object_p, get_howto_table): New functions. (sh_elf_reloc_type_lookup): Fix typo. Use get_howto_table. (sh_elf_info_to_howto): Use get_howto_table. (sh_elf_relax_section): Honor the partial_inplace field of the R_SH_DIR32 howto. (sh_elf_relax_delete_bytes): Likewise. (elf_sh_plt_info): New structure. (PLT_ENTRY_SIZE): Replace both definitions with... (ELF_PLT_ENTRY_SIZE): ...this new macro, with separate definitions for INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA. (elf_sh_plt0_entry_be): Update sizes of both definitions accordingly. (elf_sh_plt0_entry_le): Likewise. (elf_sh_plt_entry_be, elf_sh_plt_entry_le): Likewise. (elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le): Likewise. (elf_sh_plts): New structure, with separate definitions for INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA. (elf_sh_plt0_entry): Delete both definitions. (elf_sh_plt_entry, elf_sh_pic_plt_entry): Likewise. (elf_sh_sizeof_plt, elf_sh_plt_plt0_offset): Likewise. (elf_sh_plt_temp_offset, elf_sh_plt_symbol_offset): Likewise. (elf_sh_plt_reloc_offset): Likewise. (movi_shori_putval): Delete in favor of... (install_plt_field): ...this new function, with separate definitions for INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA. (get_plt_info): New function, with separate definitions for INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA. (elf_sh_plt0_linker_offset, elf_sh_plt0_gotid_offset): Delete. (VXWORKS_PLT_HEADER_SIZE, VXWORKS_PLT_ENTRY_SIZE): New macros. (vxworks_sh_plt0_entry_be, vxworks_sh_plt0_entry_le): New constants. (vxworks_sh_plt_entry_be, vxworks_sh_plt_entry_le): Likewise. (vxworks_sh_pic_plt_entry_be, vxworks_sh_pic_plt_entry_le): Likewise. (get_plt_index, get_plt_offset): New functions. (elf_sh_link_hash_table): Add srelplt2, plt_info and vxworks_p fields. (sh_elf_link_hash_table_create): Initialize them. (sh_elf_create_dynamic_sections): Call elf_vxworks_create_dynamic_sections for VxWorks. (allocate_dynrelocs): Use htab->plt_info to get the size of PLT entries. Allocate relocation entries in .rela.plt.unloaded if generating a VxWorks executable. (sh_elf_always_size_sections): New function. (sh_elf_size_dynamic_sections): Extend .rela.plt handling to .rela.plt.unloaded. (sh_elf_relocate_section): Use get_howto_table. Honor partial_inplace when calculating the addend for dynamic relocations. Use get_plt_index. (sh_elf_finish_dynamic_symbol): Use get_plt_index, install_plt_field and htab->plt_info. Fill in the bra .plt offset for VxWorks executables. Populate .rela.plt.unloaded. Do not make _GLOBAL_OFFSET_TABLE_ absolute on VxWorks. (sh_elf_finish_dynamic_sections): Use install_plt_field and htab->plt_info. Handle cases where there is no special PLT header. Populate the first relocation in .rela.plt.unloaded and fix up the remaining entries. (sh_elf_plt_sym_val): Use get_plt_info. (elf_backend_always_size_sections): Define. (TARGET_BIG_SYM, TARGET_BIG_NAME): Override for VxWorks. (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Likewise. (elf32_bed, elf_backend_want_plt_sym): Likewise. (elf_symbol_leading_char, elf_backend_want_got_underscore): Likewise. (elf_backend_grok_prstatus, elf_backend_grok_psinfo): Likewise. (elf_backend_add_symbol_hook): Likewise. (elf_backend_link_output_symbol_hook): Likewise. (elf_backend_emit_relocs): Likewise. (elf_backend_final_write_processing): Likewise. (ELF_MAXPAGESIZE, ELF_COMMONPAGESIZE): Likewise. * targets.c (bfd_elf32_shlvxworks_vec): Declare. (bfd_elf32_shvxworks_vec): Likewise. (_bfd_target_vector): Include bfd_elf32_shlvxworks_vec and bfd_elf32_shvxworks_vec. gas/ * config/tc-sh.c (apply_full_field_fix): New function. (md_apply_fix): Use it instead of md_number_to_chars. Do not fill in fx_addnumber for BFD_RELOC_32_PLT_PCREL. (tc_gen_reloc): Use fx_addnumber rather than 0 as the default case. * config/tc-sh.h (TARGET_FORMAT): Override for TE_VXWORKS. ld/ 2006-08-02 Richard Sandiford <richard@codesourcery.com> Kazu Hirata <kazu@codesourcery.com> Phil Edwards <phil@codesourcery.com> * Makefile.am (ALL_EMULATIONS): Add eshelf_vxworks.o and eshlelf_vxworks.o. (eshelf_vxworks.c, eshlelf_vxworks.c): New rules. * Makefile.in: Regenerate. * configure.tgt (sh-*-vxworks): Use shelf_vxworks and shlelf_vxworks. * emulparams/shelf_vxworks.sh: New file. * emulparams/shlelf_vxworks.sh: Likewise. * emulparams/vxworks.sh (FINI): Prefix _etext with ${SYMPREFIX}. (OTHER_END_SYMBOLS): Likewise _ehdr. (DATA_END_SYMBOLS): Likewise _edata. * emultempl/vxworks.em (vxworks_after_open): Check whether output_bfd is indeed an ELF file before dealing with --force-dynamic. ld/testsuite/ * ld-sh/rd-sh.exp: Treat vxworks1-static.d specially. * ld-sh/sh-vxworks.exp: New file. * ld-sh/sh.exp: Extend sh-linux SIZEOF_HEADERS handling to sh-*-vxworks. * ld-sh/vxworks1-le.dd, ld-sh/vxworks1-lib-le.dd, * ld-sh/vxworks1-lib.dd, ld-sh/vxworks1-lib.nd, * ld-sh/vxworks1-lib.rd, ld-sh/vxworks1-lib.s, * ld-sh/vxworks1-static.d, ld-sh/vxworks1.dd, * ld-sh/vxworks1.ld, ld-sh/vxworks1.rd, ld-sh/vxworks1.s, * ld-sh/vxworks2-static.sd, ld-sh/vxworks2.s, * ld-sh/vxworks2.sd, ld-sh/vxworks3-le.dd, * ld-sh/vxworks3-lib-le.dd, ld-sh/vxworks3-lib.dd, * ld-sh/vxworks3-lib.s, ld-sh/vxworks3.dd, ld-sh/vxworks3.s, * ld-sh/vxworks4.d, ld-sh/vxworks4a.s, ld-sh/vxworks4b.s, * ld-sh/reloc1.s, ld-sh/reloc1.d: New tests.
* PR gas/2991Nick Clifton2006-08-032-0/+8
| | | | * config.in: Regenerate.
* gas:Joseph Myers2006-08-035-3/+19
| | | | | | | | | | * config/tc-arm.c (parse_operands): Handle invalid register name for OP_RIWR_RIWC. gas/testsuite: * gas/arm/iwmmxt-bad.s: Test invalid register names for wldrw and wstrw. * gas/arm/iwmmxt-bad.l: Update.