| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
by 4 here.
(md_apply_fix3): Multiply offset by 4 here for
BFD_RELOC_ARM_CP_OFF_IMM_S2.
* gas/testsuite/gas/arm/arm.exp: Run iwmmxt-bad2.
* gas/testsuite/gas/arm/iwmmxt.s: Increase offsets for wstrb and
wstrh.
* gas/testsuite/gas/arm/iwmmxt.d: Update expected results.
* gas/testsuite/gas/arm/iwmmxt-bad2.s: Test wstrb, wstrh, wldrb
and wldrh.
* gas/testsuite/gas/arm/iwmmxt-bad2.l: Update expected error
messages.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2005-08-02 Khem Raj <kraj@mvista.com>
* config/tc-arm.c (do_iwmmxt_wldstd): Correct the offset range for
WLDRD/WSTRD instruction.
2005-08-03 Nick Clifton <nickc@redhat.com>
* gas/arm/iwmmxt-bad2.s: New file: Check for error messages about
erroneous offsets in iwmmxt instructions. Cannot be part of
iwmmxt-bad.s because the errors there stop the assembler before it
gets to check the offsets in instructions.
* gas/arm/iwmmxt-bad2.d: New file.
* gas/arm/iwmmxt-bad2.l: New file: Expected error messages.
2005-08-02 Khem Raj <kraj@mvista.com>
* gas/arm/iwmmxt.s: Change the offset values of the WLDRD, WSTRD
and WSTRW instructions to be larger than +/-255.
* gas/arm/iwmmxt.d: Fix the expected results for these
instructions.
|
| |
|
| |
|
|
|
|
|
|
| |
the situation where a symbol's section is not known but a section
relative R_ARM_RELATIVE reloc has to be generated for the Symbian
OS.
|
|
|
|
|
| |
* bfd/elflink.c (_bfd_elf_merge_symbol): Skip weak definitions if a
strong definition has already been seen.
|
|
|
|
|
|
| |
* bfd/elf32-arm.c (bfd_elf32_arm_process_before_allocation): Treat
R_ARM_PLT32 the same as R_ARM_PC24.
(arm_add_to_rel): Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gas/config/tc-arm.c (thumb32_mode): Rename unified_syntax.
All uses changed to match.
(COND_ALWAYS): Don't offset.
(COND_MASK): Delete.
(struct arm_it): Add cond field.
(struct asm_opcode): Add tag field. Change some fields to
unsigned int and/or to bitfields.
(my_get_expression): If unified_syntax, always treat the
prefix as optional.
(s_thumb32, s_thumb32_func): Delete.
(opcode_select, s_force_thumb): Don't set thumb32_mode.
(s_syntax): New function.
(md_pseudo_table): Update to match.
(do_blx, do_iwmmxt_wldstw): Look at inst.cond, not
inst.instruction, for the condition.
(do_it): New function.
(do_t_branch): Get the condition from inst.cond and patch it
into the appropriate place.
(output_inst): If inst.size == 0, output nothing, but do issue
a diagnostic if any.
(enum opcode_tag): New set of constants.
(opcode_lookup): New function.
(md_assemble): Use opcode_lookup. Restructure a little.
(conds, OPS0): Adjust comment.
(TxCE, TxCM, TUE, TUF): Rewrite.
(TCC): Delete.
(TxC3, TC3, tC3, TxCM_, C3, C3E): New notational macros.
(insns): Use TC3, tC3, or C3, as appropriate, for all
instructions where the conditional infix appears after the
third letter of the mnemonic. Use TCE for 'b'. Use C3E for
'cmfe' and 'cnfe'. Change 'czbne' to 'cbnz', 'czbeq' to 'cbz'.
Use TUE, with a dummy ARM opcode, for all variants of 'it'.
* opcodes/arm-dis.c: Change 'czbne' to 'cbnz', 'czbeq' to 'cbz'.
* gas/testsuite/gas/arm/thumb.d: bal.n is no longer
distinguishable from b.n.
* gas/testsuite/gas/arm/thumb32.d: Likewise. Change 'czbne'
to 'cbnz', 'czbeq' to 'cbz'.
* gas/testsuite/gas/arm/thumb32.s: Use .syntax unified.
Change 'czbne' to 'cbnz', 'czbeq' to 'cbz'.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gas/config/tc-arm.c (encode_thumb32_addr_mode): Set inst.reloc.pc_rel
if is_pc.
(T16_32_TAB): Delete unused entry for BLX.
(do_t_ldst): Don't offset inst.reloc.exp.X_add_number for PC-relative
addressing.
(md_pcrel_from): Report the adjusted PC for
BFD_RELOC_ARM_THUMB_OFFSET and BFD_RELOC_ARM_T32_OFFSET_IMM.
(md_apply_fix3): Correct bitmasks for BFD_RELOC_ARM_T32_OFFSET_IMM.
Do not round up value for PC-relative BFD_RELOC_ARM_THUMB_OFFSET.
* gas/testsuite/gas/arm/thumb.s: Test PC-relative ldr more thoroughly.
* gas/testsuite/gas/arm/thumb.d: Update to match.
* gas/testsuite/gas/arm/thumb32.s: Properly align labels that
will be targeted by blx instructions.
* gas/testsuite/gas/arm/thumb32.d: Update to match. Correct
expected dissassembly of PC-relative ldr.
* gas/testsuite/gas/arm/macro1.s: Add leading label and
trailing padding for a.out compatibility.
* gas/testsuite/gas/arm/macro1.d: Update to match.
* gas/testsuite/gas/arm/tcompat2.s: Add trailing padding for a.out
compatibility.
* gas/testsuite/gas/arm/tcompat2.d: Update to match.
* opcodes/arm-dis.c (print_insn_thumb32): Reorganize %a and %A
handling. Call info->print_address_func when %a/%A are applied
to a PC-relative instruction.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(sb_to_scrub, scrub_position, scrub_from_sb): New statics.
(sb_scrub_and_add_sb): New interface.
* gas/sb.h: Declare sb_scrub_and_add_sb.
* gas/input-scrub.c (input_scrub_include_sb): Use it.
* gas/config/tc-arm.c (do_t_arit3c): Correct typo in expression.
(do_t_mul): Allow dest to equal either source1 or source2 in
16-bit form; do not complain about dest == source1 in any
case.
* gas/testsuite/gas/arm/tcompat2.s: Test both dest==source1 and
dest==source2 for commutative arithmetic instructions.
* gas/testsuite/gas/arm/tcompat2.d: Update to match.
* gas/testsuite/gas/arm/t16-bad.l: Adjust expected diagnostic.
* gas/testsuite/gas/arm/macro1.s, gas/arm/macro1.d: New test pair.
* gas/testsuite/gas/arm/arm.exp: Run it.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* include/elf/arm.h: Import full set of relocation names from
latest AAELF. Make the primary name of all relocations be the one
AAELF specifies. Provide aliases under the traditional names.
Kill FIRST_INVALID_RELOC_* and LAST_INVALID_RELOC_*.
* bfd/reloc.c: Reorganize ARM relocations. Remove ARM relocations
that are never generated. Document more of the relocations. Add
relocations for Thumb32.
* bfd/libbfd.h, bfd/bfd-in2.h: Regenerate.
* bfd/elf32-arm.c: Reorganize howto tables. Implement Thumb32
relocations.
* ld/testsuite/ld-arm/mixed-app.d: Adjust expectations for
renamed relocations.
* gas/hash.c (hash_find_n): New interface.
* gas/hash.h: Prototype it.
* gas/config/tc-arm.c: Rewrite and reorganize. Implement 32-bit
Thumb instructions.
* gas/testsuite/gas/arm: Convert all "gas_test" style tests to
"run_dump_test" style tests, for more thorough testing. Make
adjustments to expectations where necessary.
* gas/testsuite/gas/arm/t16-bad.s, gas/testsuite/gas/arm/tcompat.s
* gas/testsuite/gas/arm/tcompat2.s, gas/testsuite/gas/arm/thumb32.s:
New test cases.
* opcodes/arm-dis.c: Add support for Thumb32 instructions and
16-bit V6T2 instructions.
|
|
|
|
|
|
|
|
| |
Backport from mainline.
2005-04-11 Alan Modra <amodra@bigpond.net.au>
* emultempl/elf32.em (gld${EMULATION_NAME}_stat_needed): Ignore
as_needed libs that were not needed.
(gld${EMULATION_NAME}_check_needed): Likewise.
|
|
|
|
| |
little-endian.
|
|
|
|
|
|
|
|
|
|
| |
* elf32-arm.c (ARM2THUMB_GLUE_SIZE): Rename...
(ARM2THUMB_STATIC_GLUE_SIZE): ... to this.
(ARM2THUMB_PIC_GLUE_SIZE): Define.
(a2t1p_ldr_insn, a2t2p_add_pc_insn, a2t3p_bx_r12_insn): Add.
(elf32_arm_to_thumb_stub): Create PIC stubs.
(record_arm_to_thumb_glue): Use different stub size for relocatable
images.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* bfd/bfd-in2.h: Regenerate.
* bfd/elf32-arm.c (elf32_arm_is_target_special_symbol): Rename call to
bfd_is_arm_mapping_symbol_name.
(elf32_arm_output_symbol_hook): Likewise.
(arm_elf_find_function): Likewise, and include STT_NOTYPE in test for
mapping symbols.
(is_arm_mapping_symbol_name): Function moved from here...
* bfd/cpu-arm.c (bfd_is_arm_mapping_symbol_name): ...to here,
renamed and made global.
* gas/config/tc-arm.c (mapping_state): Change documentation in
function comment to cross-reference spec instead. Change type of
mapping symbols to BSF_NO_TYPE.
(arm_adjust_symtab): Don't change type of mapping symbols here.
* gas/testsuite/gas/arm/mapping.d: Update expected output.
* ld/testsuite/ld-arm/arm-app-abs32.d: Likewise.
* ld/testsuite/ld-arm/arm-app.d: Likewise.
* ld/testsuite/ld-arm/mixed-app.d: Likewise.
|
|
|
|
|
| |
* elf32-arm.c (elf32_arm_final_link_relocate): Use blx to get to
symbian plt entries from thumb mode.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* bfd/reloc.c: Add ARM TLS relocations.
* bfd/elf32-arm.c (elf32_arm_howto_table): Add dynamic TLS
relocations.
(elf32_arm_tls_gd32_howto, elf32_arm_tls_ldo32_howto)
(elf32_arm_tls_ldm32_howto, elf32_arm_tls_le32_howto)
(elf32_arm_tls_ie32_howto): New.
(elf32_arm_howto_from_type): Support TLS relocations.
(elf32_arm_reloc_map): Likewise.
(elf32_arm_reloc_type_lookup): Likewise.
(TCB_SIZE): Define.
(struct elf32_arm_obj_tdata): New.
(elf32_arm_tdata, elf32_arm_local_got_tls_type): Define.
(elf32_arm_mkobject): New function.
(struct elf32_arm_relocs_copied): Add pc_count.
(elf32_arm_hash_entry, GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD)
(GOT_TLS_IE): Define.
(struct elf32_arm_link_hash_table): Add tls_ldm_got.
(elf32_arm_link_hash_newfunc): Initialize tls_type.
(elf32_arm_copy_indirect_symbol): Copy pc_count and tls_type.
(elf32_arm_link_hash_table_create): Initialize tls_ldm_got.
(dtpoff_base, tpoff): New functions.
(elf32_arm_final_link_relocate): Handle TLS relocations.
(IS_ARM_TLS_RELOC): Define.
(elf32_arm_relocate_section): Warn about TLS mismatches.
(elf32_arm_gc_sweep_hook): Handle TLS relocations and pc_count.
(elf32_arm_check_relocs): Detect invalid symbol indexes. Handle
TLS relocations and pc_count.
(elf32_arm_adjust_dynamic_symbol): Check non_got_ref.
(allocate_dynrelocs): Handle TLS. Bind REL32 relocs to local
calls.
(elf32_arm_size_dynamic_sections): Handle TLS.
(elf32_arm_finish_dynamic_symbol): Likewise.
(bfd_elf32_mkobject): Define.
* gas/config/tc-arm.c (arm_parse_reloc): Add TLS relocations.
(md_apply_fix3): Mark TLS symbols.
(tc_gen_reloc): Handle TLS relocations.
(arm_fix_adjustable): Ignore TLS relocations.
(s_arm_elf_cons): Support expressions after decorated symbols.
* gas/testsuite/gas/arm/tls.s, gas/testsuite/gas/arm/tls.d: New files.
* gas/testsuite/gas/arm/arm.exp: Run TLS test.
* include/elf/arm.h: Add TLS relocations.
* ld/testsuite/ld-arm/tls-lib.s, ld/testsuite/ld-arm/tls-lib.d,
ld/testsuite/ld-arm/tls-lib.r, ld/testsuite/ld-arm/tls-app.s,
ld/testsuite/ld-arm/tls-app.d, ld/testsuite/ld-arm/tls-app.r: New files.
* ld/testsuite/ld-arm/arm-lib.ld, ld/testsuite/ld-arm/arm-dyn.ld:
Increase data segment alignment.
* ld/testsuite/ld-arm/arm-elf.exp: Run TLS tests.
|
|
|
|
| |
relocation types. Don't count relocations which will use a PLT.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* xtensa-isa.h: Update a comment and whitespace.
bfd:
* xtensa-isa.c (xtensa_opcode_lookup, xtensa_state_lookup,
xtensa_sysreg_lookup_name, xtensa_interface_lookup,
xtensa_funcUnit_lookup): Skip bsearch call if count is zero.
(xtensa_opcode_decode): Rearrange code.
|
|
|
|
| |
unresolved symbols in R_ARM_NONE relocations.
|
|
|
|
|
|
|
| |
UNRESOLVED_RELOC_P argument. Set it appropriately.
(elf32_arm_relocate_section): Update call to
elf32_arm_final_link_relocate. Don't clobber RELOCATION; use
unresolved_reloc instead.
|
|
|
|
|
|
|
|
| |
* elflink.c (elf_link_add_object_symbols): Set SEC_EXCLUDE on
.gnu.warning.* sections.
ld/
* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Set
SEC_EXCLUDE on .gnu.warning sections.
|
| |
|
|
|
|
|
|
|
| |
(ppc_elf_merge_private_bfd_data): Use it rather than just testing
for bfd_target_elf_flavour. Do this test before endian check.
(ppc_elf_add_symbol_hook): Use is_pcc_elf_target.
(ppc_elf_size_dynamic_sections): Likewise.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(elf32_arm_additional_program_headers): Likewise.
(elf_backend_modify_segment_map): Define.
(elf_backend_additional_program_headers): Likewise.
(elf32_arm_symbian_modify_segment_map): Use
elf32_arm_modify_segment_map.
* binutils/readelf.c (get_arm_segment_type): New function.
(get_segment_type): Use it.
* arm.h (PT_ARM_EXIDX): Define.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* elf32-ppc.c (ppc_elf_create_linker_section): Set SEC_LINKER_CREATED
on section. Correct comment, and add FIXME.
(ppc_elf_additional_program_headers): Don't bump header count for
interp. Test SEC_ALLOC, not SEC_LOAD, and don't test size.
(ppc_elf_size_dynamic_sections): Don't strip sdata and sdata2, but
do allocate memory if they need it.
ld/
* emulparams/elf32ppclinux.sh (OTHER_READWRITE_SECTION): Delete.
(OTHER_RELRO_SECTIONS): Set this instead.
ld/testsuite/
* ld-powerpc/tlsexe32.d: Update.
* ld-powerpc/tlsexe32.g: Update.
* ld-powerpc/tlsexe32.r: Update.
* ld-powerpc/tlsexe32.t: Update.
* ld-powerpc/tlsso32.d: Update.
* ld-powerpc/tlsso32.g: Update.
* ld-powerpc/tlsso32.r: Update.
* ld-powerpc/tlsso32.t: Update.
|
|
|
|
| |
BOOKE.
|
| |
|
| |
|
|
|
|
| |
(print_insn_vax): Decode function entry mask.
|
| |
|
| |
|
|
|
|
| |
* configure: Regenerated.
|
| |
|
| |
|
|
|
|
| |
be used. Add missing break for LOC_INDIRECT.
|
|
|
|
|
| |
* gdb.base/command.exp: Change hardcoded value to regular expression.
* gdb.base/float.exp: Add powerpc to the list of targets checked.
|
|
|
|
|
|
|
| |
gdb.asm/ia64.inc, gdb.asm/m68hc11.inc, gdb.asm/m68k.inc,
gdb.asm/mips.inc, gdb.asm/pa.inc, gdb.asm/powerpc.inc,
gdb.asm/s390.inc, gdb.asm/s390x.inc, gdb.asm/sh.inc,
gdb.asm/x86_64.inc: Use .purgem before redefining macros.
|
|
|
|
|
|
|
|
|
| |
* mpw-make.sed: Remove.
* mpw.c: Remove.
* Makefile.in (CFILES): Remove pex-mpw.c.
(CONFIGURED_OFILES): Remove pex-mpw.o.
(mpw.o, pex-mpw.o): Remove targets.
* maint-tool (undoc): Remove reference to mpw.c.
|
| |
|