Commit graph

1313 commits

Author SHA1 Message Date
Ramana Radhakrishnan
d66a7a7bd2 2010-02-15 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
* ld-arm/jump-reloc-veneers-long.d: Correct testcase for
	  arm-none-eabi target.
	* ld-arm/jump-reloc-veneers-short1.d: Likewise
	* ld-arm/jump-reloc-veneers-short2.d: Likewise
2010-02-16 19:02:59 +00:00
Daniel Gutson
3381116249 2010-02-12 Daniel Gutson <dgutson@codesourcery.com>
bfd/
	* elf32-arm.c (elf32_arm_output_arch_local_syms): add
	missing mapping symbol to data only sections.

	ld/testsuite/
	* ld-arm/arm-elf.exp (armelftests): New test case added.
	* ld-arm/data-only-map.s: New file.
	* ld-arm/data-only-map.d: New file.
	* ld-arm/data-only-map.ld: New file.
2010-02-12 20:52:52 +00:00
David S. Miller
00c5099111 bfd/
* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): For R_SPARC_GOTDATA_OP_HIX22
	and R_SPARC_GOTDATA_OP_LOX10, only bump the GOT refcount for global
	symbols.
	(_bfd_sparc_elf_gc_sweep_hook): Likewise only decrement the GOT count for
	these relocs on global symbols.
	(gdopoff): New.
	(_bfd_sparc_elf_relocate_section): Perform GOTDATA optimizations on
	local symbol references which are not STT_GNU_IFUNC.  Handle
	relocation of them like R_SPARC_HIX22 and R_SPARC_LOX10 respectively,
	and deal with negative vs. non-negative values properly.

ld/testsuite

	* ld-sparc/gotop32.s: Add local symbol case.
	* ld-sparc/gotop64.s: Likewise.
	* ld-sparc/gotop32.rd: Adjust expected results.
	* ld-sparc/gotop32.td: Likewise.
	* ld-sparc/gotop64.dd: Likewise.
	* ld-sparc/gotop64.rd: Likewise.
	* ld-sparc/gotop64.td: Likewise.
2010-02-11 19:57:40 +00:00
Nick Clifton
a9f844b107 * ld-elfvsb/elfvsb.exp: Fix tests for arm*-*-linux*.
* ld-shared/shared.exp: Likewise.
2010-02-09 10:46:27 +00:00
David S. Miller
d0c9aeb3fc include/
* elf/sparc.h (R_SPARC_JMP_IREL, R_SPARC_IRELATIVE): Define.

bfd/

	* reloc.c (BFD_RELOC_SPARC_JMP_IREL): New.
	(BFD_RELOC_SPARC_IRELATIVE): Likewise.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.

	* elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add loc_hash_table
	and loc_hash_memory.
	(_bfd_sparc_elf_link_hash_table_free): Declare.
	* elf32-sparc.c (elf32_sparc_add_symbol_hook): New.
	(elf_backend_add_symbol_hook, elf_backend_post_process_headers,
	bfd_elf32_bfd_link_hash_table_free): Define.
	* elf64-sparc.c (elf64_sparc_add_symbol_hook): Set
	has_ifunc_symbols if STT_GNU_IFUNC.
	(bfd_elf64_bfd_link_hash_table_free): Define.
	(elf_backend_post_process_headers): Define always.
	* elfxx-sparc.c (sparc_jmp_irel_howto, sparc_irelative_howto): New.
	(sparc_reloc_map): Add entries for new IFUNC relocs.
	(_bfd_sparc_elf_reloc_type_lookup): Handle new IFUNC relocs.
	(_bfd_sparc_elf_info_to_howto_ptr): Likewise.
	(elf_sparc_local_htab_hash, elf_sparc_local_htab_eq,
	elf_sparc_get_local_sym_hash): New.
	(_bfd_sparc_elf_create_dynamic_sections): Move PLT ops initialization
	from here...
	(_bfd_sparc_elf_link_hash_table_create): ... to here.  Allocate
	local hash table.
	(_bfd_sparc_elf_link_hash_table_free): New.
	(create_ifunc_sections): New.
	(_bfd_sparc_elf_check_relocs): Unconditionally assign htab->elf.dynobj
	and call create_ifunc_sections().  For local STT_GNU_IFUNC symbols
	cons up a fake local hash table entry for it.  Unconditionally add
	a PLT refcount for STT_GNU_IFUNC symbols when h->def_regular.  Count
	dyn relocs for ifunc.
	(_bfd_sparc_elf_adjust_dynamic_symbol): Handle ifunc.
	(allocate_dynrelocs):  Unconditionally emit a PLT entry when STT_GNU_IFUNC
	and h->def_regular.  Count GOT dyn relocs for ifunc.
	(allocate_local_dynrelocs): New function.
	(_bfd_sparc_elf_size_dynamic_sections): Invoke it over the local hash table.
	Emit dynamic relocs to irelplt when not shared.  Treat iplt like splt.
	(_bfd_sparc_elf_relocate_section): Handle ifunc relocations by hand.
	(_bfd_sparc_elf_finish_dynamic_symbol): Adjust for non-dynamic ifunc plt
	in iplt/irelplt.

ld/testsuite/

	* ld-ifunc/ifunc.exp: Run for sparc.
2010-02-08 20:28:43 +00:00
Nathan Sidwell
deddc40bec bfd/
* elf32-ppc.c (ppc_elf_begin_write_processing): Allow empty
	apuinfo sections, only scan input sections once and reuse the
	buffer.
ld/testsuite/
	* ld-powerpc/apuinfo-nul.s: New.
	* ld-powerpc/apuinfo.rd: Add it.
	* ld-powerpc/powerpc.exp: Likewise.
2010-02-08 07:09:39 +00:00
Ramana Radhakrishnan
8fac317985 Fix testsuite for Thumb2 jump reloc veneers.
2010-02-01  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

        * ld-arm/jump-reloc-veneers-long.d: New test.
        * ld-arm/jump-reloc-veneers-short1.d: Likewise.
        * ld-arm/jump-reloc-veneers-short2.d: Likewise.
        * ld-arm/jump-reloc-veneers.s: Likewise.
        * ld-arm/arm-elf.exp (armelftests): Run them.
2010-02-01 10:33:16 +00:00
Nick Clifton
70ecb3842d PR 11225
* objdump.c (only): Replace with linked list.
        (only_size, only_used): Replace with only_list.
        (process_section_p): Set seen field on matches sections.
        (add_only): New function.
        (free_only_list): New function.
        (disassemble_section): Check only_list.
        (main): Use add_only and free_only_list.

        * gas/pe/aligncomm-c.d: Dump all sections.

        * ld-sh/refdbg-0-dso.d: Dump all sections.
2010-01-28 15:25:20 +00:00
H.J. Lu
98da7939e1 Properly check undefined symbols when gc_sections is active.
bfd/

2010-01-26  Alan Modra  <amodra@gmail.com>
	    H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11218
	* elflink.c (elf_link_output_extsym): Do not ignore undefined
	symbols with ref_regular set when gc_sections is active.

ld/testsuite/

2010-01-26  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11218
	* ld-gc/dummy.s: New.
	* ld-gc/pr11218-1.c: Likewise.
	* ld-gc/pr11218-2.c: Likewise.
	* ld-gc/pr11218.d: Likewise.
2010-01-26 13:21:36 +00:00
Richard Sandiford
c865e45b1b bfd/
* coff-rs6000.c (xcoff_howto_table): Change size to 0 and bitsize to 1.
	(_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_NONE.
	* coff64-rs6000.c (xcoff64_howto_table): Change size to 0 and
	bitsize to 1.
	(xcoff64_reloc_type_lookup): Handle BFD_RELOC_NONE.

gas/
	* write.h (fix_at_start): Declare.
	* write.c (fix_new_internal): Add at_beginning parameter.
	Use it instead of REVERSE_SORT_RELOCS.  Fix the handling of
	seg_fix_tailP for the at_beginning/REVERSE_SORT_RELOCS case.
	(fix_new, fix_new_exp): Update accordingly.
	(fix_at_start): New function.
	* config/tc-ppc.c (md_pseudo_table): Add .ref to the OBJ_XCOFF section.
	(ppc_ref): New function, for OBJ_XCOFF.
	(md_apply_fix): Handle BFD_RELOC_NONE for OBJ_XCOFF.
	* config/te-i386aix.h (REVERSE_SORT_RELOCS): Remove #undef.

gas/testsuite/
	* gas/ppc/xcoff-ref-1.s, gas/ppc/xcoff-ref-1.l: New test.
	* gas/ppc/aix.exp: Run it.


ld/testsuite/
	* ld-powerpc/aix-ref-1-32.od, ld-powerpc/aix-ref-1-64.od,
	ld-powerpc/aix-ref-1.s: New tests.
	* ld-powerpc/aix52.exp: Run them.
2010-01-23 12:05:33 +00:00
H.J. Lu
78a1456372 Support 64bit targets.
2010-01-14  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-elf/orphan4.d: Support 64bit targets.
2010-01-14 14:29:51 +00:00
DJ Delorie
009f105539 Wildcard the file offset. 2010-01-14 06:55:46 +00:00
DJ Delorie
b5f14a6dff * emultempl/elf32.em (_place_orphan): If an input section doesn't
match an existing output section, but an unused output section
statement does match, use it.
* emultempl/pe.em (_place_orphan): Likewise.
* emultempl/pep.em (_place_orphan): Likewise.

* ld-elf/orphan4.d: New.
* ld-elf/orphan4.ld: New.
* ld-elf/orphan4.s: New.
2010-01-14 04:56:12 +00:00
Chao-ying Fu
1063d8cf71 2010-01-13 Chao-ying Fu <fu@mips.com>
* ld-mips-elf/jr-to-b-1.d, ld-mips-elf/jr-to-b-2.d: New tests.
	* ld-mips-elf/jr-to-b-1.s, ld-mips-elf/jr-to-b-2.s: Source.
	* ld-mips-elf/mips-elf.exp: Run new tests.
2010-01-13 22:34:28 +00:00
Daniel Jacobowitz
afa62d5e34 gas/
* config/tc-arm.c (do_t_nop): Correct check for Thumb-2 NOP.

	gas/testsuite/
	* gas/arm/thumb-nop.d, gas/arm/thumb-nop.s: New test.
	* gas/arm/relax_branch_align.d: Expect a default NOP instruction.
	* gas/arm/vfp1_t2.d, gas/arm/vfp1xD_t2.d: Specify a CPU with
	Thumb-2.

	ld/testsuite/
	* ld-arm/arm-elf.exp (armelftests): Assemble Cortex-A8 tests with
	-mcpu=cortex-a8.
2010-01-13 19:01:10 +00:00
Nick Clifton
52b010e442 * config/tc-h8300.c (h8300_elf_section): New function - issue a
warning message if a new section is created without setting any
        attributes for it.
        (md_pseudo_table): Intercept section creation pseudos.
        (md_pcrel_from): Replace abort with an error message.
        * config/obj-elf.c (obj_elf_section_name): Export this function.
        * config/obj-elf.h (obj_elf_section_name): Prototype.

        * gas/elf/section0.d: Skip this test for the h8300.
        * gas/elf/section1.d: Likewise.
        * gas/elf/section6.d: Likewise.
        * gas/elf/elf.exp: Skip section2 and section5 tests when the
        target is the h8300.

        * ld-scrips/sort.exp: Skip these tests when the target is the
        h8300.
2010-01-13 14:08:54 +00:00
H.J. Lu
2c610e4b46 Add --dyn-syms to readelf
binutils/

2010-01-11  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11146
	* NEWS: Mention --dyn-syms for readelf.

	* readelf.c (do_dyn_syms): New.
	(OPTION_DYN_SYMS): Likewise.
	(options): Add "dyn-syms".
	(usage): Add --dyn-syms.
	(parse_args): Handle OPTION_DYN_SYMS.
	(process_symbol_table): Handle do_dyn_syms.
	(process_object): Likewise.
	(process_archive): Likewise.

	* doc/binutils.texi: Document --dyn-syms for readelf.  Mention
	symbol hash tables for -D.

ld/testsuite/

2010-01-11  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11146
	* ld-elf/dynsym1.d: New.
2010-01-11 14:45:42 +00:00
H.J. Lu
d023c380db Fix PR ld/11138
bfd/

2010-01-07  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11138
	* elflink.c (elf_link_check_versioned_symbol): Don't abort if
	a symbol referenced by DSO is is defined in a non-shared object
	and forced local.

ld/testsuite/

2010-01-07  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11138
	* ld-elf/pr11138-1.c: New.
	* ld-elf/pr11138-1.map: Likewise.
	* ld-elf/pr11138-2.c: Likewise.
	* ld-elf/pr11138-2.map: Likewise.
	* ld-elf/pr11138.out: Likewise.

	* ld-elf/shared.exp (build_tests): Add libpr11138-1.so and
	libpr11138-2.o.
	(run_tests): Add 2 tests for PR ld/11138.
2010-01-08 03:03:16 +00:00
H.J. Lu
bde6f3eb6d Set SEC_KEEP on section XXX for undefined __start_XXX/__stop_XXX
bfd/

2010-01-07  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11133
	* elflink.c (_bfd_elf_gc_mark_hook): Check section XXX for
	undefined __start_XXX/__stop_XXX in all input files and set
	SEC_KEEP.

ld/testsuite/

2010-01-07  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11133
	* ld-gc/gc.exp: Run start.

	* ld-gc/start.d: New.
	* ld-gc/start.s: Likewise.
2010-01-08 01:43:23 +00:00
H.J. Lu
16583161e1 Always keep SHT_NOTE sections
bfd/

2010-01-07  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11143
	* elflink.c (elf_gc_sweep): Keep SHT_NOTE section.

ld/testsuite/

2010-01-07  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11143
	* ld-gc/gc.exp: Run abi-note.

	* ld-gc/abi-note.d: New.
	* ld-gc/abi-note.s: Likewise.
2010-01-07 13:44:37 +00:00
H.J. Lu
43ecc30f09 Move 2009 binutils ChangeLog to ChangeLog-2009. 2010-01-01 18:06:10 +00:00
Daniel Gutson
4e67d4ca2a bfd/
* elf32-arm.c (elf32_arm_final_link_relocate): limits
        fixed.

        ld/testsuite/
        * ld-arm/arm-elf.exp (armelftests): New test case added.
        * ld-arm/reloc-boundaries.s: New file.
        * ld-arm/reloc-boundaries.d: New file.
2009-12-28 18:55:16 +00:00
Daniel Gutson
2598a05c7b 2009-12-28 Daniel Gutson <dgutson@codesourcery.com>
* ld-arm/arm-elf.exp: Run missing test
        from a previous commit (callweak-2).
2009-12-28 18:44:55 +00:00
Maciej W. Rozycki
e7e2196da3 bfd/
* elfxx-mips.c (mips_elf_calculate_relocation): Correct handling
	of undefined symbols.

	ld/testsuite/
	* ld-mips-elf/undefined.d: New test.
	* ld-mips-elf/undefined.s: Source for the new test.
	* ld-mips-elf/mips-elf.exp: Run the new test.
2009-12-10 14:20:04 +00:00
Daniel Jacobowitz
a747059210 bfd/
* elf32-arm.c (elf32_arm_next_input_section): Skip sections without
	SEC_CODE.

	ld/testsuite/
	* ld-arm/arm-elf.exp (armeabitests): Add farcall-data.
	* ld-arm/farcall-data.d, ld-arm/farcall-data.s: New.
	* lib/ld-lib.exp (run_ld_link_tests, run_cc_link_tests): Correct
	regular expression for archives.
2009-12-09 21:42:00 +00:00
Paul Brook
1338dd10ef 2009-11-23 Paul Brook <paul@codesourcery.com>
ld/
	* ldexp.c: Copy symbol type for simple assignments.

	bfd/
	* libbfd-in.h (_bfd_generic_copy_link_hash_symbol_type): Add
	prototype.
	* elf-bfd.h (_bfd_elf_copy_link_hash_symbol_type): Add prototype.
	* linker.c (_bfd_generic_copy_link_hash_symbol_type): New function.
	* elflink.c (_bfd_elf_copy_link_hash_symbol_type): New function.
	* targets.c (BFD_JUMP_TABLE_LINK, struct bfd_target): Add
	_copy_link_hash_symbol_type.
	* bfd/coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Add
	_bfd_generic_copy_link_hash_symbol_type.
	* bfd/coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Add
	_bfd_generic_copy_link_hash_symbol_type.
	* aout-adobe.c (aout_32_bfd_copy_link_hash_symbol_type): Define.
	* aout-target.h (MY_bfd_copy_link_hash_symbol_type): Define.
	* aout-tic30.c (MY_bfd_copy_link_hash_symbol_type): Define.
	* binary.c (binary_bfd_copy_link_hash_symbol_type): Define.
	* bout.c (b_out_bfd_copy_link_hash_symbol_type): Define.
	* coffcode.h (coff_bfd_copy_link_hash_symbol_type): Define.
	* elfxx-target.h (bfd_elfNN_bfd_copy_link_hash_symbol_type): Define.
	* i386msdos.c (msdos_bfd_copy_link_hash_symbol_type): Define.
	* i386os9k.c (os9k_bfd_copy_link_hash_symbol_type): Define.
	* ieee.c (ieee_bfd_copy_link_hash_symbol_type): Define.
	* ihex.c (ihex_bfd_copy_link_hash_symbol_type): Define.
	* libecoff.h (_bfd_ecoff_bfd_copy_link_hash_symbol_type): Define.
	* mach-o.c (bfd_mach_o_bfd_copy_link_hash_symbol_type): Define.
	* mmo.c (mmo_bfd_copy_link_hash_symbol_type): Define.
	* nlm-target.h (nlm_bfd_copy_link_hash_symbol_type): Define.
	* oasys.c (oasys_bfd_copy_link_hash_symbol_type): Define.
	* pef.c (bfd_pef_bfd_copy_link_hash_symbol_type): Define.
	* ppcboot.c (ppcboot_bfd_copy_link_hash_symbol_type): Define.
	* som.c (som_bfd_copy_link_hash_symbol_type): Define.
	* srec.c (srec_bfd_copy_link_hash_symbol_type): Define.
	* tekhex.c (tekhex_bfd_copy_link_hash_symbol_type): Define.
	* versados.c (versados_bfd_copy_link_hash_symbol_type): Define.
	* vms.c (vms_bfd_copy_link_hash_symbol_type): Define.
	* xsym.c (bfd_sym_bfd_copy_link_hash_symbol_type): Define.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.

	ld/testsuite
	* ld-arm/script-type.sym: New test.
	* ld-arm/script-type.s: New test.
	* ld-arm/script-type.s: New test.
2009-11-23 14:41:33 +00:00
Thomas Schwinge
ce5181b407 ld/
2009-11-20  Thomas Schwinge  <thomas@codesourcery.com>

	* emulparams/armelf.sh (OTHER_READONLY_SECTIONS)
	<__exidx_start, __exidx_end>: Use PROVIDE_HIDDEN.
	* emulparams/armelf_linux_eabi.sh (OTHER_READONLY_SECTIONS)
	<__exidx_start, __exidx_end>: Likewise.
	* emulparams/armsymbian.sh (OTHER_READONLY_SECTIONS)
	<.ARM.exidx$$Base, __exidx_start, __exidx_end, .ARM.exidx$$Limit>:
	Likewise.

ld/testsuite/
2009-11-20  Thomas Schwinge  <thomas@codesourcery.com>

	* ld-arm/arm-dyn.ld: Adapt to main linker script changes.
	* ld-arm/arm-lib.ld: Likewise.
	* ld-arm/armthumb-lib.sym: : Adjust expected results.
	* ld-arm/farcall-mixed-app-v5.d: Likewise.
	* ld-arm/farcall-mixed-app.d: Likewise.
	* ld-arm/farcall-mixed-app.sym: Likewise.
	* ld-arm/farcall-mixed-lib.d: Likewise.
	* ld-arm/mixed-app-v5.d: Likewise.
	* ld-arm/mixed-app.d: Likewise.
	* ld-arm/mixed-app.sym: Likewise.
	* ld-arm/mixed-lib.sym: Likewise.
	* ld-arm/preempt-app.sym: Likewise.
	* ld-arm/tls-app.d: Likewise.
2009-11-20 15:04:51 +00:00
Nick Clifton
fad84867f9 * ld-elf/extract-symbol-1sec.d: Expect to fail for the RX target.
* ld-scripts/overlay-size.d: Likewise.
        * ld-scripts/rgn-at1.d: Likewise.
        * ld-scripts/rgn-at2.d: Likewise.
        * ld-scripts/rgn-at3.d: Likewise.
        * ld-scripts/rgn-at4.d: Likewise.
        * ld-scripts/rgn-over8-ok.d: Likewise.
2009-11-18 16:37:56 +00:00
Kai Tietz
8a9eab9b5e 2009-11-15 Kai Tietz <kai.tietz@onevision.com>
* pe-dll.c (pe_undef_alias_cdecl_match): New function.
	(pe_find_cdecl_alias_match): New function.
	(pe_process_import_defs): Add matching for import symbols
	declared as cdecl for fastcall/stdcall.
	* emultempl/pe.em (pe_undef_cdecl_match): Treat fastcall
	symbols, too.
	(pe_fixup_stdcalls): Likewise.
	(gld_XXX_after_open): Redo scanning for imported
	fastcall/stdcall symbols as cdecl one.
	* emultempl/pep.em (pep_undef_cdecl_match): Treat fastcall
	symbols, too.
	(pep_fixup_stdcalls): Likewise.
	(gld_XXX_after_open): Redo scanning for imported
	fastcall/stdcall symbols as cdecl one.

2009-11-15  Kai Tietz  <kai.tietz@onevision.com>

	* ld-pe/direct2_client.c: New file.
	* ld-pe/direct2_dll.c: Likewise.
	* ld-pe/direct2_dll.def: Likewise.
	* ld-pe/pe-run2.exp: Likewise.
2009-11-15 07:52:45 +00:00
H.J. Lu
f16cd0d502 Rewrite prefix processing.
gas/testsuite/

2009-11-13  H.J. Lu  <hongjiu.lu@intel.com>

	* gas/i386/i386.exp: Run long-1, long-1-intel, x86-64-long-1,
	and x86-64-long-1-intel.

	* gas/i386/long-1-intel.d: New.
	* gas/i386/long-1.d: Likewise.
	* gas/i386/long-1.s: Likewise.
	* gas/i386/x86-64-long-1-intel.d: Likewise.
	* gas/i386/x86-64-long-1.d: Likewise.
	* gas/i386/x86-64-long-1.s: Likewise.

	* gas/i386/jump16.d: Updated for prefix processing.
	* gas/i386/naked.d: Likewise.
	* gas/i386/nops-1-core2.d: Likewise.
	* gas/i386/nops-1-i686.d: Likewise.
	* gas/i386/nops-3-i686.d: Likewise.
	* gas/i386/nops-4-i686.d: Likewise.
	* gas/i386/nops-5-i686.d: Likewise.
	* gas/i386/nops-5.d: Likewise.
	* gas/i386/prefix.d: Likewise.
	* gas/i386/rep.d: Likewise.
	* gas/i386/string-ok.d: Likewise.
	* gas/i386/x86-64-addr32-intel.d: Likewise.
	* gas/i386/x86-64-addr32.d: Likewise.
	* gas/i386/x86-64-cbw-intel.d: Likewise.
	* gas/i386/x86-64-cbw.d: Likewise.
	* gas/i386/x86-64-io-intel.d: Likewise.
	* gas/i386/x86-64-io-suffix.d: Likewise.
	* gas/i386/x86-64-io.d: Likewise.
	* gas/i386/x86-64-lwp.d: Likewise.
	* gas/i386/x86-64-nops-1-core2.d: Likewise.
	* gas/i386/x86-64-nops-1-nocona.d: Likewise.
	* gas/i386/x86-64-nops-1.d: Likewise.
	* gas/i386/x86-64-nops-2.d: Likewise.
	* gas/i386/x86-64-nops-3.d: Likewise.
	* gas/i386/x86-64-nops-4-core2.d: Likewise.
	* gas/i386/x86-64-nops-4.d: Likewise.
	* gas/i386/x86-64-nops-5-k8.d: Likewise.
	* gas/i386/x86-64-nops-5.d: Likewise.
	* gas/i386/x86-64-rep.d: Likewise.
	* gas/i386/x86-64-stack-intel.d: Likewise.
	* gas/i386/x86-64-stack-suffix.d: Likewise.
	* gas/i386/x86-64-stack.d: Likewise.

ld/testsuite/

2009-11-13  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-x86-64/tlsbin.dd: Updated for prefix processing.
	* ld-x86-64/tlsgdesc.dd: Likewise.
	* ld-x86-64/tlsld1.dd: Likewise.
	* ld-x86-64/tlspic.dd: Likewise.

opcodes/

2009-11-13  H.J. Lu  <hongjiu.lu@intel.com>

	* i386-dis.c (ckprefix): Updated to return 0 if number of
	prefixes > 14 and record the last position for each prefix.
	(lock_prefix): Removed.
	(data_prefix): Likewise.
	(addr_prefix): Likewise.
	(repz_prefix): Likewise.
	(repnz_prefix): Likewise.
	(last_lock_prefix): New.
	(last_repz_prefix): Likewise.
	(last_repnz_prefix): Likewise.
	(last_data_prefix): Likewise.
	(last_addr_prefix): Likewise.
	(last_rex_prefix): Likewise.
	(last_seg_prefix): Likewise.
	(MAX_CODE_LENGTH): Likewise.
	(ADDR16_PREFIX): Likewise.
	(ADDR32_PREFIX): Likewise.
	(DATA16_PREFIX): Likewise.
	(DATA32_PREFIX): Likewise.
	(REP_PREFIX): Likewise.
	(seg_prefix): Likewise.
	(all_prefixes): Change size to MAX_CODE_LENGTH - 1.
	(prefix_name): Handle ADDR16_PREFIX, ADDR32_PREFIX,
	DATA16_PREFIX, DATA32_PREFIX and REP_PREFIX.
	(get_valid_dis386): Updated.
	(OP_C): Likewise.
	(OP_Monitor): Likewise.
	(REP_Fixup): Likewise.
	(print_insn): Display all prefixes.
	(putop): Set PREFIX_DATA on used_prefixes only if it is used.
	(intel_operand_size): Likewise.
	(OP_E_register): Likewise.
	(OP_G): Likewise.
	(OP_REG): Likewise.
	(OP_IMREG): Likewise.
	(OP_I): Likewise.
	(OP_I64): Likewise.
	(OP_sI): Likewise.
	(CRC32_Fixup): Likewise.
	(MOVBE_Fixup): Likewise.
	(OP_E_memory): Set REFIX_DATA on used_prefixes when it is used
	in 16bit mode.
	(OP_J): Set REX_W used if it is used. Set PREFIX_DATA on
	used_prefixes only if it is used.
2009-11-13 20:42:10 +00:00
H.J. Lu
57ca8ac797 Don't return on STT_GNU_IFUNC symbol when stripping.
bfd/

2009-11-09  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/10911
	* elflink.c (elf_link_output_extsym): Don't return on
	STT_GNU_IFUNC symbol when stripping.

ld/testsuite/

2009-11-09  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/10911
	* ld-ifunc/ifunc-4a-x86.d: New.
2009-11-09 14:37:16 +00:00
Paul Brook
62f3b8c867 2009-11-02 Paul Brook <paul@codesourcery.com>
ld/testsuite/
	* ld-arm/arm-elf.exp: Add new attr-merge-vfp tests.
	* ld-arm/attr-merge-vfp-1.d: New test.
	* ld-arm/attr-merge-vfp-1r.d: New test.
	* ld-arm/attr-merge-vfp-2.d: New test.
	* ld-arm/attr-merge-vfp-2r.d: New test.
	* ld-arm/attr-merge-vfp-3.d: New test.
	* ld-arm/attr-merge-vfp-3r.d: New test.
	* ld-arm/attr-merge-vfp-4.d: New test.
	* ld-arm/attr-merge-vfp-4r.d: New test.
	* ld-arm/attr-merge-vfp-5.d: New test.
	* ld-arm/attr-merge-vfp-5r.d: New test.
	* ld-arm/attr-merge-vfp-2.s: New test.
	* ld-arm/attr-merge-vfp-3.s: New test.
	* ld-arm/attr-merge-vfp-3-d16.s: New test.
	* ld-arm/attr-merge-vfp-4.s: New test.
	* ld-arm/attr-merge-vfp-4-d16.s: New test.

	gas/
	* doc/c-arm.texi: Document new -mfpu options.
	* config/tc-arm.c (fpu_vfp_ext_v3xd, fpu_vfp_fp16, fpu_neon_ext_fma,
	fpu_vfp_ext_fma): New.
	(NEON_ENC_TAB): Add vfma, vfms, vfnma and vfnms.
	(do_vfp_nsyn_fma_fms, do_neon_fmac): New functions.
	(insns): Move double precision load/store.  Split out double
	precision VFPv3 instrucitons.  Add VFPv4 instructions.
	(arm_fpus): Add VFPv3-FP16, VFPv3xD and VFPv4 variants.
	(aeabi_set_public_attributes): Set VFPv4 variants

	gas/testsuite/
	* gas/arm/attr-mfpu-vfpv4.d: New test.
	* gas/arm/attr-mfpu-vfpv4-d16.d: New test.
	* gas/arm/neon-fma-cov.d: New test.
	* gas/arm/neon-fma-cov.s: New test.
	* gas/arm/vfp-fma-inc.s: New test.
	* gas/arm/vfp-fma-arm.d: New test.
	* gas/arm/vfp-fma-arm.s: New test.
	* gas/arm/vfp-fma-thumb.d: New test.
	* gas/arm/vfp-fma-thumb.s: New test.
	* gas/arm/vfma1.d: New test.
	* gas/arm/vfma1.s: New test.
	* gas/arm/vfpv3xd.d: New test.
	* gas/arm/vfpv3xd.s: New test.

	include/opcode/
	* arm.h (FPU_VFP_EXT_V3xD, FPU_VFP_EXT_FP16, FPU_NEON_EXT_FMA,
	FPU_VFP_EXT_FMA, FPU_VFP_V3xD, FPU_VFP_V4D16, FPU_VFP_V4): Define.
	(FPU_ARCH_VFP_V3D16_FP16, FPU_ARCH_VFP_V3_FP16, FPU_ARCH_VFP_V3xD,
	FPU_ARCH_VFP_V3xD_FP16, FPU_ARCH_VFP_V4, FPU_ARCH_VFP_V4D16,
	FPU_ARCH_NEON_VFP_V4): Define.

	binutils/
	* readelf.c (arm_attr_tag_VFP_arch): Add VFPv4 and VFPv4-D16.

	bfd/
	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Handle VFPv4
	attributes.

	opcodes/
	* arm-dis.c (coprocessor_opcodes): Update to use new feature flags.
	Add VFPv4 instructions.
2009-11-02 13:44:05 +00:00
Alan Modra
4879cf1683 * ld-scripts/phdrs3.exp (LDFLAGS): Add "--local-store 0:0" for SPU. 2009-11-02 03:44:20 +00:00
Nathan Sidwell
698be22afe * ld-elfcomm/elfcomm.exp: Compile with -fcommon. 2009-10-30 10:46:00 +00:00
Hans-Peter Nilsson
1e22530edf * ld-cris/dso12-pltdis.d: New test. 2009-10-29 11:50:57 +00:00
Hans-Peter Nilsson
3ee29d56ee * ld-cris/tls-e-20.d, ld-cris/tls-e-20a.d, ld-cris/tls-e-22.d,
ld-cris/tls-e-80.d, ld-cris/tls-e-dtpoffd1.d,
	ld-cris/tls-e-dtpoffd3.d, ld-cris/tls-ldgde-14.d,
	ld-cris/tls-ldgde-15.d, ld-cris/tls-ldgdex-14.d,
	ld-cris/tls-ldgdex-15.d: Adjust for change in non-shared
	R_CRIS_32_DTPREL and R_CRIS_16_DTPREL relocations.
2009-10-19 16:34:31 +00:00
Arnold Metselaar
6c293e26a3 * coff-z80.c (z80coff_vec): Allow sections to be of type SEC_CODE or SEC_DATA
* ld-scripts/align.exp: Remove xfails for z80-*-coff
2009-10-17 17:18:28 +00:00
Nick Clifton
ed94852035 * bootstrap.exp: Detect if plugins are enabled. Skip the static
link test and add -ldl to the remaining tests if they are.
2009-10-16 10:32:51 +00:00
Joseph Myers
0aa3b0e6e6 * ld-scripts/phdrs3.d: Allow colon in name of linker binary. 2009-10-14 23:12:16 +00:00
Alan Modra
7dff202796 * ld-elf/pr349-1.s, * ld-elf/pr349-2.s, * ld-elf/pr349.d: New. 2009-10-14 10:52:54 +00:00
H.J. Lu
0e6b97bb76 2009-10-09 H.J. Lu <hongjiu.lu@intel.com>
PR ld/10749
	* ld-elf/relocatable.d: New.
	* ld-elf/relocatable.t: Likewise.
	* ld-elf/simple.s: Likewise.
2009-10-09 13:32:50 +00:00
H.J. Lu
b9ed7c0818 2009-10-07 H.J. Lu <hongjiu.lu@intel.com>
PR ld/10744
	* ld-scripts/phdrs3.exp: Run phdrs3a.

	* ld-scripts/phdrs3a.d: New.
	* ld-scripts/phdrs3a.t: Likewise.
2009-10-08 02:38:26 +00:00
Alan Modra
09a1697895 PR ld/10744
* ld-scripts/phdrs3.d: Update.
2009-10-08 01:11:56 +00:00
H.J. Lu
dfc8b03106 Checked in the missing testcases. 2009-10-07 18:33:20 +00:00
H.J. Lu
f86eefa109 Add the missing entry. 2009-10-07 18:31:50 +00:00
Nathan Sidwell
5c1a3f0fa7 ld/
* ldlang.c (lang_new_phdr): Check PHDRS and FILEHDR in loadable
	segments do not appear after a different loadable segment.
	* ld.texinfo (PHDRS): Document order of processing segments.
	Document where PHDRS and FILEHDR may appear.

	ld/testsuite/
	* ld-scripts/phdrs3.d: New.
	* ld-scripts/phdrs3.t: New.
	* ld-scripts/phdrs3.exp: New.
2009-10-07 07:25:36 +00:00
Alan Modra
b02c4cfa79 ld/
* emultempl/ppc32elf.em (emit_stub_syms): Init to -1.
	(ppc_after_open): Set emit_stubs_syms by default when shared.
	(OPTION_NO_STUBSYMS): Define.
	(PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS,
	PARSE_AND_LIST_ARGS_CASES): Handle --no-emit-stub-syms.
	* emultempl/ppc64elf.em (emit_stub_syms): Init to -1.
	(gld${EMULATION_NAME}_finish): Set emit_stubs_syms by default.
	(OPTION_NO_STUBSYMS): Define.
	(PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS,
	PARSE_AND_LIST_ARGS_CASES): Handle --no-emit-stub-syms.
ld/testsuite/
	* ld-powerpc/tlsexe.d: Update.
	* ld-powerpc/tlsexe.r: Update.
	* ld-powerpc/tlsexetoc.d: Update.
	* ld-powerpc/tlsexetoc.r: Update.
	* ld-powerpc/tlsso.d: Update.
	* ld-powerpc/tlsso.r: Update.
	* ld-powerpc/tlstocso.d: Update.
	* ld-powerpc/tlstocso.r: Update.
2009-10-02 15:00:30 +00:00
Alan Modra
1b66220522 * lib/ld-lib.exp (ld_simple_link_defsyms): New proc, adding
powerpc-*-rtems to code setting symbols, extracted from..
	* ld-srec/srec.exp (run_srec_test): ..here.  Correct flags for sh64.
	* ld-gc/gc.exp (test_gc): Use ld_simple_link_defsyms.
2009-10-01 23:29:29 +00:00
Ulrich Weigand
64028ad7de bfd/
* elf32-spu.c (spu_elf_auto_overlay): Insert icache linker script
	after .toe instead of before .text section.  Set the LMA of all
	overlay sections to their icache IA address.
	(spu_elf_find_overlays): Determine icache set id without reference
	to the LMA.

ld/testsuite/
	* ld-spu/icache1.d: Update to new section layout.
2009-10-01 13:09:56 +00:00
H.J. Lu
935bd1e079 bfd/
2009-09-24  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/10630
	* elflink.c (elf_link_output_extsym): Turn off visibility on
	local symbol.
	(bfd_elf_final_link): Turn off visibility on dynamic local
	symbol.

ld/testsuite/

2009-09-24  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/10630
	* ld-alpha/tlsbin.rd: Remove HIDDEN/.hidden on local symbols.
	* ld-alpha/tlsbinr.rd: Likewise.
	* ld-alpha/tlspic.rd: Likewise.
	* ld-cris/libdso-2.d: Likewise.
	* ld-cris/locref1.d: Likewise.
	* ld-cris/locref2.d: Likewise.
	* ld-cris/tls-e-20a.d: Likewise.
	* ld-cris/tls-e-20.d: Likewise.
	* ld-cris/tls-e-80.d: Likewise.
	* ld-cris/tls-gc-68.d: Likewise.
	* ld-cris/tls-gc-69.d: Likewise.
	* ld-cris/tls-gc-70.d: Likewise.
	* ld-cris/tls-gc-75.d: Likewise.
	* ld-cris/tls-gc-76.d: Likewise.
	* ld-cris/tls-gc-79.d: Likewise.
	* ld-cris/tls-gd-1h.d: Likewise.
	* ld-cris/tls-gd-2h.d: Likewise.
	* ld-cris/tls-ld-4.d: Likewise.
	* ld-cris/tls-ld-5.d: Likewise.
	* ld-cris/tls-ld-6.d: Likewise.
	* ld-cris/tls-ld-7.d: Likewise.
	* ld-cris/tls-ldgd-14.d: Likewise.
	* ld-cris/tls-ldgd-15.d: Likewise.
	* ld-cris/tls-local-63.d: Likewise.
	* ld-cris/tls-local-64.d: Likewise.
	* ld-elf/pr9676.rd: Likewise.
	* ld-elf/pr9679.rd: Likewise.
	* ld-elfvsb/hidden2.d: Likewise.
	* ld-i386/tlsbindesc.rd: Likewise.
	* ld-i386/tlsbin.rd: Likewise.
	* ld-i386/tlsdesc.rd: Likewise.
	* ld-i386/tlsgdesc.rd: Likewise.
	* ld-i386/tlsnopic.rd: Likewise.
	* ld-i386/tlspic.rd: Likewise.
	* ld-ia64/tlsbin.rd: Likewise.
	* ld-ia64/tlspic.rd: Likewise.
	* ld-powerpc/tlsexe32.r: Likewise.
	* ld-powerpc/tlsexe.r: Likewise.
	* ld-powerpc/tlsexetoc.r: Likewise.
	* ld-powerpc/tlsso32.r: Likewise.
	* ld-powerpc/tlsso.r: Likewise.
	* ld-powerpc/tlstocso.r: Likewise.
	* ld-s390/tlsbin_64.rd: Likewise.
	* ld-s390/tlsbin.rd: Likewise.
	* ld-s390/tlspic_64.rd: Likewise.
	* ld-s390/tlspic.rd: Likewise.
	* ld-sparc/gotop32.rd: Likewise.
	* ld-sparc/gotop64.rd: Likewise.
	* ld-sparc/tlssunbin32.rd: Likewise.
	* ld-sparc/tlssunbin64.rd: Likewise.
	* ld-sparc/tlssunnopic32.rd: Likewise.
	* ld-sparc/tlssunnopic64.rd: Likewise.
	* ld-sparc/tlssunpic32.rd: Likewise.
	* ld-sparc/tlssunpic64.rd: Likewise.
	* ld-x86-64/tlsbindesc.rd: Likewise.
	* ld-x86-64/tlsbin.rd: Likewise.
	* ld-x86-64/tlsdesc.rd: Likewise.
	* ld-x86-64/tlsgdesc.rd: Likewise.
	* ld-x86-64/tlspic.rd: Likewise.
	* ld-xtensa/tlsbin.rd: Likewise.
	* ld-xtensa/tlspic.rd: Likewise.

	* ld-elf/local1.d: New.
	* ld-elf/local1.map: Likewise.
	* ld-elf/local1.s: Likewise.
	* ld-ia64/local1.d: Likewise.
	* ld-ia64/local1.map: Likewise.
	* ld-ia64/local1.s: Likewise.
2009-09-24 15:56:52 +00:00
Alan Modra
7ee314faa4 bfd/
* bfd-in.h (bfd_elf_size_dynamic_sections): Add audit and depaudit
	arguments.
	* elflink.c (bfd_elf_size_dynamic_sections): Generate DT_AUDIT,
	DT_DEPAUDIT from audit/depaudit arguments.
	(elf_finalize_dynstr): Finalize DT_AUDIT and DT_DEPAUDIT strtab entries.
	(elf_link_add_object_symbols): Set dt_audit target data when finding a
	DT_AUDIT.
	* bfd-in2.h: Regenerate.
	* bfd-elf.h: Add dt_audit to elf_obj_tdata, and elf_dt_audit macro.
ld/
	* emultempl/elf32.em (gld${EMULATION_NAME}_add_options): Add --audit,
	--depaudit, and -P options.
	(gld${EULATION_NAME}_handle_options): Ditto.
	(gld${EULATION_NAME}_list_options): Ditto.
	(gld${EMULATION_NAME}_append_to_separated_string): New function for
	handling rpath-like colon separated strings.
	(gld${EMULATION_NAME}_before_allocation): Pass the audit and depaudit
	libs to bfd.  Propagate DT_AUDIT from needed libs to depaudit.
	* ld.texinfo: Document new options.
ld/testsuite/
	* ld-elf/audit.exp: New.
	* ld-elf/audit.rd: New.
	* ld-elf/depaudit.rd: New.
	* ld-elf/depaudit2.rd: New.
2009-09-23 13:54:29 +00:00
Jie Zhang
ba8149a9e4 * ld-srec/srec.exp: Add xfails for bfin-*-linux-uclibc. 2009-09-23 09:29:52 +00:00
Alan Modra
f9272224cd Tolerate some whitespace differences in readelf output. 2009-09-23 03:12:28 +00:00
Richard Sandiford
cbacf5fd94 ld/testsuite/
PR ld/10681
	* ld-elf/eh6.d: Expect absolute pointers in shared libraries to
	be converted into PC-relative form.
2009-09-21 19:11:50 +00:00
Richard Sandiford
a10917efdd bfd/
* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Extend previous
	patch to handle the new personality relaxation.

ld/testsuite/
	* ld-mips-elf/eh-frame5.d: Expect PC-relative encodings
	to include DW_EH_PE_sdata4.
2009-09-21 19:07:44 +00:00
Richard Sandiford
30af59626b bfd/
* elf-eh-frame.c (make_pc_relative): New function.
	(_bfd_elf_write_section_eh_frame): Use it.

ld/testsuite/
	* ld-mips-elf/eh-frame1-n32.d: Expect PC-relative encodings
	to include DW_EH_PE_sdata4.
	* ld-mips-elf/eh-frame2-n32.d: Likewise.
	* ld-mips-elf/eh-frame1-n64.d: Expect PC-relative encodings
	to include DW_EH_PE_sdata8.
	* ld-mips-elf/eh-frame2-n64.d: Likewise.
2009-09-21 18:55:08 +00:00
Alan Modra
a7f2871e66 include/elf/
* ppc.h (DT_PPC_TLSOPT): Define.
	* ppc64.h (DT_PPC64_TLSOPT): Define.
bfd/
	* elf32-ppc.c (TLS_GET_ADDR_GLINK_SIZE): Define.
	(ADD_3_12_2, BEQLR, CMPWI_11_0, LWZ_11_3, LWZ_12_3): Define.
	(MR_0_3, MR_3_0): Define.
	(struct ppc_elf_link_hash_table): Add no_tls_get_addr_opt.
	(ppc_elf_select_plt_layout): Save emit_stub_syms param earlier.
	(ppc_elf_tls_setup): Add no_tls_get_addr_opt param and save to hash
	table.  Check for presense of __tls_get_addr_opt
	(allocate_dynrelocs): Increase glink entry size for __tls_get_addr.
	(ppc_elf_size_dynamic_sections): Add DT_PPC_TLS_OPT tag.
	(write_glink_stub): Add param p.
	(ppc_elf_relocate_section): Adjust write_glink_stub call.
	(ppc_elf_finish_dynamic_symbol): Emit special glink call stub for
	__tls_get_addr.
	* elf32-ppc.h (ppc_elf_tls_setup): Update prototype.
	* elf64-ppc.c (struct ppc_link_hash_table): Add no_tls_get_addr_opt.
	(ppc64_elf_tls_setup): Add no_tls_get_addr_opt param and save to hash
	table.  Check for presense of __tls_get_addr_opt.
	(ppc64_elf_size_dynamic_sections): Add DT_PPC64_TLS_OPT tag.
	(LD_R11_0R3, LD_R12_0R3, MR_R0_R3, CMPDI_R11_0, ADD_R3_R12_R13,
	BEQLR, MR_R3_R0, MFLR_R11, STD_R11_0R1, BCTRL, LD_R11_0R1,
	LD_R2_0R1, MTLR_R11): Define.
	(build_tls_get_addr_stub): New function.
	(ppc_build_one_stub): Call it.
	(ppc_size_one_stub): Add extra size for __tls_get_addr stub.
	(ppc64_elf_relocate_section): Don't change nop to ld 2,40(1) for
	__tls_get_addr plt call.
	* elf64-ppc.h (ppc64_elf_tls_setup): Update prototype.
binutils/
	* readelf.c (get_ppc_dynamic_type): Add TLSOPT.
	(get_ppc64_dynamic_type): Likewise.
ld/
	* emultempl/ppc32elf.em (no_tls_get_addr_opt): New var.
	(ppc_before_allocation): Pass to ppc_elf_tls_setup.
	(OPTION_NO_TLS_GET_ADDR_OPT): Define.  Redefine other options in
	terms of previous option.
	(PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add
	--no-tls-get-addr-optimize.
	(PARSE_AND_LIST_ARGS_CASES): Handle it.
	* emultempl/ppc64elf.em (no_tls_get_addr_opt): New var.
	(ppc_before_allocation): Pass to ppc64_elf_tls_setup.
	(OPTION_NO_TLS_GET_ADDR_OPT): Define.
	(PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add
	--no-tls-get-addr-optimize.
	(PARSE_AND_LIST_ARGS_CASES): Handle it.
ld/testsuite/
	* ld-powerpc/tlslib.s: Delete dot-symbol entry syms.  Add
	__tls_get_addr_opt.
	* ld-powerpc/tlslib32.s: Add __tls_get_addr_opt.
	* ld-powerpc/oldtlslib.s: New file, old-abi version of tlslib.s.
	* ld-powerpc/powerpc.exp: Build old-abi library and use it in
	two new link tests.
	* ld-powerpc/tlsexe.d: Update for new __tls_get_addr stub.
	* ld-powerpc/tlsexe.g, * ld-powerpc/tlsexe.r, *ld-powerpc/tlsexe32.d,
	* ld-powerpc/tlsexe32.g, * ld-powerpc/tlsexe32.r,
	* ld-powerpc/tlsexetoc.d, * ld-powerpc/tlsexetoc.g,
	* ld-powerpc/tlsexetoc.r: Likewise.
2009-09-21 11:51:02 +00:00
Richard Sandiford
a3de5ef5a4 ld/testsuite/
* ld-mips-elf/elf-rel-got-n64-linux.d: Expect BALs.
	* ld-mips-elf/elf-rel-xgot-n64-linux.d: Likewise.
2009-09-20 11:11:37 +00:00
Richard Sandiford
18e04883d0 bfd/
* elf-bfd.h (eh_cie_fde): Add personality_offset and
	make_per_encoding_relative to the CIE structure.  Add a padding field.
	* elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Use 0x70
	rather than 0xf0 when masking out the base address encoding
	Record the offset of personality data from the start of the CIE.
	Remove a repeated elf_backend_can_make_relative_eh_frame check.
	(find_merged_cie): Take an info argument.  If the personality
	binds locally, try converting an absolute personality into
	a local one.
	(_bfd_elf_discard_section_eh_frame): Use 0x70 rather than 0xf0
	when masking out the base address encoding.  Update the call to
	find_merged_cie.
	(_bfd_elf_eh_frame_section_offset): Discard relocations against
	the personality data if we are converting into PC-relative form.
	(_bfd_elf_write_section_eh_frame): Use 0x70 rather than 0xf0
	when masking out the base address encoding.  Handle
	make_per_encoding_relative.

ld/testsuite/
	* ld-mips-elf/eh-frame5.s, ld-mips-elf/eh-frame5.ld,
	ld-mips-elf/eh-frame5.d: New test.
	* ld-mips-elf/mips-elf.exp: Run it.
2009-09-19 08:06:11 +00:00
Alan Modra
b31867b61a bfd/
* elf64-ppc.c (follow_link, elf_follow_link, ppc_follow_link): New
	functions.  Use throughout.
	(ppc64_elf_copy_indirect_symbol): Set direct symbol "oh" field
	from indirect symbol.
	(lookup_fdh): Rename from get_fdh.  Follow indirect sym links.
	(add_symbol_adjust): Simplify.
	(defined_code_entry, defined_func_desc): New functions.
	(ppc64_elf_gc_keep): Follow indirect sym links.  Use defined_code_entry.
	(ppc64_elf_gc_mark_dynamic_ref): Use defined_func_desc and
	defined_code_entry to follow indirect sym links.
	(ppc64_elf_gc_mark_hook, func_desc_adjust): Likewise.
	(ppc_type_of_stub): Follow indirect sym links.
	(toc_adjusting_stub_needed): Likewise.
	(ppc_build_one_stub): Likewise.  Make undefined dot-symbols weak
	rather than defining them at stub.
	(ppc64_elf_relocate_section): Rewrite call test to avoid multiple
	assignments in test.
ld/testsuite/
	* ld-powerpc/tlsso.d: Update.
	* ld-powerpc/tlsso.r: Update.
	* ld-powerpc/tlstocso.d: Update.
	* ld-powerpc/tlstocso.r: Update.
2009-09-18 03:30:34 +00:00
Kaz Kojima
22fe6da0f9 * ld-elfcomm/elfcomm.exp: Add appropriate emulation option
for sh64*-*-*.
	* ld-gc/gc.exp (test_gc): Likewise.
2009-09-15 02:02:48 +00:00
H.J. Lu
6f81fc8bdf 2009-09-14 H.J. Lu <hongjiu.lu@intel.com>
* ld-undefined/entry-7.d: New.
2009-09-14 14:07:26 +00:00
Richard Sandiford
3c0bfb2a23 gas/testsuite/
* gas/mips/mips16-dwarf2-n32.d: Expect odd addresses.

ld/testsuite/
	* ld-mips-elf/eh-frame1-n32.d: Change "the section \.eh_frame"
	to "the \.eh_frame section".
	* ld-mips-elf/eh-frame1-n64.d: Likewise.
	* ld-mips-elf/eh-frame2-n32.d: Likewise.
	* ld-mips-elf/eh-frame2-n64.d: Likewise.
	* ld-mips-elf/eh-frame3.d: Likewise.
	* ld-mips-elf/eh-frame4.d: Likewise.
	* ld-mips-elf/elf-rel-got-n32.d: Expect bals.
	* ld-mips-elf/elf-rel-xgot-n32.d: Likewise.
	* ld-mips-elf/mips-elf.exp: Force the MIPS16 PIC tests to use -mips1.
2009-09-13 18:56:03 +00:00
Jie Zhang
28c2608723 * ld-elf/warn2.d: `Foo' appears in section 3 when target
is bfin-*-linux-uclibc.
2009-09-11 03:40:19 +00:00
Daniel Jacobowitz
67d74e430e bfd/
* elf32-arm.c (elf32_arm_final_link_relocate): Set sym_flags
	for the mode of target PLT entries.
	(allocate_dynrelocs): Only adjust symbol type if setting its
	value.

	ld/testsuite/
	* ld-arm/farcall-mixed-lib.d: Update.
2009-09-09 18:36:11 +00:00
Alan Modra
53b0eb27a9 * ld-elf/sec64k.exp: For frv-linux use "aw" sections.
* ld-elf/seg.d: Cater for GNU_STACK segment.
	* ld-elf/symbol1ref.s: Use data section.
	* ld-elf/symbol2ref.s: Likewise.
	* ld-scripts/empty-address-1.d: Don't run on frv-linux.
	* ld-scripts/empty-address-2a.d: Likewise.
	* ld-scripts/empty-address-2b.d: Likewise.
	* ld-scripts/empty-aligned.d: Likewise.
	* ld-elf/extract-symbol-1sym.d: Tolerate extra target supplied syms.
	* ld-scripts/sort_b_a-1.d: Likewise.
	* ld-scripts/sort_b_a.d: Likewise.
	* ld-scripts/sort_b_a_a-1.d: Likewise.
	* ld-scripts/sort_b_a_a-2.d: Likewise.
	* ld-scripts/sort_b_a_a-3.d: Likewise.
	* ld-scripts/sort_b_a_n-1.d: Likewise.
	* ld-scripts/sort_b_a_n-2.d: Likewise.
	* ld-scripts/sort_b_a_n-3.d: Likewise.
	* ld-scripts/sort_b_n-1.d: Likewise.
	* ld-scripts/sort_b_n.d: Likewise.
	* ld-scripts/sort_b_n_a-1.d: Likewise.
	* ld-scripts/sort_b_n_a-2.d: Likewise.
	* ld-scripts/sort_b_n_a-3.d: Likewise.
	* ld-scripts/sort_b_n_n-1.d: Likewise.
	* ld-scripts/sort_b_n_n-2.d: Likewise.
	* ld-scripts/sort_b_n_n-3.d: Likewise.
	* ld-scripts/sort_no-1.d: Likewise.
	* ld-scripts/sort_no-2.d: Likewise.
2009-09-09 12:13:42 +00:00
M R Swami Reddy
8a7e4aa012 2009-09-08 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
* ld-elf/merge.d: xfail cr16-*-*.
2009-09-08 10:05:04 +00:00
Alan Modra
d981b346f0 * ld-elf/eh5.d: Don't run on hppa64. Allow non-pcrel encoding.
Skip extra CIEs emitted on embedded targets and adjust FDE
	matches to suit.
2009-09-08 01:15:50 +00:00
Jie Zhang
f8739b83b9 gas/
* doc/as.texinfo: Document that Blackfin GAS does not
	accept SYMBOL = VALUE.

	ld/testsuite/
	* ld-elf/sec64k.exp: Use ".set" instead of "=" for bfin-*-*.
2009-09-05 15:00:09 +00:00
Dave Korn
032f3e01ca ld/ChangeLog:
* scripttempl/pe.sc (.text): Add "*(.text.*)" in order to catch
	new GCC hot/cold/unlikely partitions.
	* scripttempl/pep.sc: Likewise.
	* scripttempl/epocpe.sc: Likewise.
	* scripttempl/mcorepe.sc: Likewise.
	* scripttempl/ppcpe.sc: Likewise.

ld/testsuite/ChangeLog:

	* ld-pe/longsecn.d: Adjusted to match new .text section merging
	in default PE linker scripts.
	* ld-pe/longsecn-1.d: Likewise.
	* ld-pe/longsecn-2.d: Likewise.
2009-09-03 18:04:35 +00:00
Alan Modra
aa820537ea update copyright dates 2009-09-02 07:25:43 +00:00
Jie Zhang
ead0c8f37c * lib/ld-lib.exp (is_elf_format): Return 1 for bfin-*-uclinux. 2009-08-31 11:02:54 +00:00
Alan Modra
425621e75f * ld-ifunc/ifunc.exp: Match R_PPC64_JUMP_IREL. 2009-08-31 06:18:17 +00:00
Alan Modra
3021a72335 PR ld/10569
* ld-elf/commonpage2.d: New.
	* ld-elf/maxpage4.d: Likewise.
	* ld-elf/maxpage4.t: Likewise.
2009-08-30 05:48:56 +00:00
Nick Clifton
e5f2b1de7c * elf32-m68k.c (elf_m68k_copy_indirect_symbol): Propagate non_got_ref
value.
        (elf_m68k_check_relocs): Handle dynamic TLS relocations.
        Handle non_got_ref field.
        (elf_m68k_adjust_dynamic_symbol): Handle non_got_ref field.

        * tls-def-1.s, tls-def-1.d, tls-gd-1.d2, tls-gd-1.d3, tls-main-1.s,
        * tls-main-1.d: New files.
        * m68k.exp: Run new TLS tests.
2009-08-26 13:35:37 +00:00
Andreas Schwab
9853c09956 * ld-powerpc/powerpc.exp: Move relaxing and relocatable relaxing
tests from ppc64elftest to ppcelftest and pass -a32 to assembler.
2009-08-23 14:38:31 +00:00
Andreas Schwab
411a491999 * ld-powerpc/relax.d: Fix whitespace.
* ld-powerpc/relaxr.d: Likewise.
2009-08-23 09:43:35 +00:00
Daniel Gutson
cd1dac3d4a 2S09-08-21 Daniel Gutson <dgutson@codesourcery.com>
ld/
        * ld-arm/callweak.d: Opcodes updated.
        * ld-arm/callweak.s: Architecture specified.
        * ld-arm/callweak-2.d: New test case.
        * ld-arm/callweak-2.s: New file.

	bfd/
	* elf32-arm.c (arch_has_thumb2_nop): New function.
	(arch_has_arm_nop): New function.
	(elf32_arm_final_link_relocate): NOP opcodes changed.

SVS: ----------------------------------------------------------------------
2009-08-21 23:38:07 +00:00
Nick Clifton
ed4e4aa28d * ld-elf/linkonce1.d: Accept "UNUSED" as part of the name of an
unused reloc.
        * ld-elf/linkonce2.d: Likewise.
2009-08-17 09:22:18 +00:00
Jan Kratochvil
e39e47bd25 bfd/
Fix go32 stub preservation by objcopy.
	* coff-stgo32.c (adjust_filehdr_in_post): Use bfd_malloc.
	(go32_stubbed_coff_bfd_copy_private_bfd_data): Optionally allocate OBFD
	go32stub.

ld/testsuite/
	Test go32 stub preservation by objcopy.
	* ld-i386/i386.exp (go32 stub, go32 stub patch the source)
	(go32 stub objcopy, go32 stub comparison after objcopy): New.
2009-08-10 21:38:36 +00:00
Nathan Sidwell
01017ef89a bfd/
* elf32-ppc.c (shared_stub_entry, stub_entry): Use r12, not r11.
	(ppc_elf_relax_section): Use symbol index to distinguish
	relocatable stubs.

	ld/testsuite/
	* ld-powerpc/relax.s: New.
	* ld-powerpc/relax.d: New.
	* ld-powerpc/relaxr.d: New.
	* ld-powerpc/powerpc.exp: Add new tests.
2009-08-10 13:38:44 +00:00
Nathan Sidwell
3ae046ccd3 bfd/
* elf32-arm.c (elf32_arm_size_stubs): Call layout_sections_again
	at least once when fixing cortex-a8.

	ld/testsuite/
	* ld-arm/arm-elf.exp: Add new test.
	* ld-arm/cortex-a8-fix-hdr.d: New.
	* ld-arm/cortex-a8-fix-hdr.s: New.
	* ld-arm/cortex-a8-fix-hdr.t: New.
2009-08-06 13:05:24 +00:00
Trevor Smigiel
9cc305ec20 bfd/
* elf32-spu.h (spu_elf_params): Add member emit_fixups.
	(spu_elf_size_sections): Declare prototype.
	* elf32-spu.c (spu_link_hash_table): Add member sfixup.
	(FIXUP_RECORD_SIZE, FIXUP_GET, FIXUP_PUT): New macros.
	(spu_elf_emit_fixup): New function.
	(spu_elf_relocate_section): Emit fixup for each SPU_ADDR32.
	(spu_elf_size_sections): New function.
ld/
	* emulparams/elf32_spu.sh (OTHER_READONLY_SECTIONS): Add .fixup
	section and __fixup_start symbol.
	* emultempl/spuelf.em (params): Initialize emit_fixups member.
	(spu_before_allocation): Call spu_elf_size_sections.
	(OPTION_SPU_EMIT_FIXUPS): Define.
	(PARSE_AND_LIST_LONGOPTS): Add --emit-fixups.
	(PARSE_AND_LIST_ARGS_CASES): Handle --emit-fixups.
	* ld.texinfo (--emit-fixups): Document.
ld/testsuite/
	* ld-spu/fixup.d: New.
	* ld-spu/fixup.s: New.
2009-08-05 20:40:34 +00:00
Nathan Sidwell
eb7c4339fa bfd/
* elf32-arm.c (elf32_arm_stub_type): Add arm_stub_a8_veneer_lwm.
	(arm_build_one_stub): Build a8 veneers as a separate pass.
	(cortex_a8_erratum_scan): Add prev_num_a8_fixes and stub_changed_p
	parameters.  Use them to check if we create a different a8 fixup
	than the previous pass.
	(elf32_arm_size_stubs): Move scope of stub_changed and
	prev_num_a8_fixes into main loop.
	(elf32_arm_build_stubs): Build a8 veneers in a second pass.

	ld/testsuite/
	* ld-arm/cortex-a8-far-1.s: New.
	* ld-arm/cortex-a8-far-2.s: New.
	* ld-arm/cortex-a8-far.d: New.
	* ld-arm/arm-elf.exp: Add new test.
2009-08-05 12:36:14 +00:00
H.J. Lu
1d85728fd7 2009-08-02 H.J. Lu <hongjiu.lu@intel.com>
Jakub Jelinek  <jakub@redhat.com>

	PR ld/6443
	* elf32-i386.c (elf_i386_tls_transition): Check executable
	instead of shared for TLS when building PIE.
	(elf_i386_check_relocs): Likewise.
	(elf_i386_allocate_dynrelocs): Likewise.
	(elf_i386_relocate_section): Likewise.

	* elf64-x86-64.c (elf64_x86_64_tls_transition): Check executable
	instead of shared for TLS when building PIE.
	(elf64_x86_64_check_relocs): Likewise.
	(elf64_x86_64_allocate_dynrelocs): Likewise.
	(elf64_x86_64_relocate_section): Likewise.

ld/testsuite/

2009-08-02  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/6443
	* ld-i386/i386.exp: Run tlspie1.
	* ld-x86-64/x86-64.exp: tlspie1.

	* ld-i386/tlspie1.d: New.
	* ld-i386/tlspie1.s: Likewise.
	* ld-x86-64/tlspie1.d: Likewise.
	* ld-x86-64/tlspie1.s: Likewise.
2009-08-02 23:55:49 +00:00
Hans-Peter Nilsson
dd52c6dee2 * ld-mmix/x.s, ld-mmix/y.s, ld-mmix/zeroeh.ld,
ld-mmix/zeroehelf.d, ld-mmix/zeroehmmo.d: Use .gcc_except_table,
	not .eh_frame.
2009-07-31 04:55:48 +00:00
H.J. Lu
b37470e428 2009-07-30 H.J. Lu <hongjiu.lu@intel.com>
* ld-elf/shared.exp: Comment out dl3b.
2009-07-30 15:55:59 +00:00
Hans-Peter Nilsson
cfdf6d77ef * ld-scripts/empty-address-3a.d, ld-scripts/empty-address-3b.d:
Skip for mmix-knuth-mmixware.
2009-07-30 00:13:55 +00:00
Hans-Peter Nilsson
2a1314ce69 * ld-scripts/default-script.s (text): Globalize.
* ld-scripts/default-script1.d, ld-scripts/default-script2.d,
	ld-scripts/default-script3.d, ld-scripts/default-script4.d: Adjust
	accordingly.
2009-07-29 06:47:48 +00:00
H.J. Lu
8a9036a406 bfd/
2009-07-25  H.J. Lu  <hongjiu.lu@intel.com>

	* archures.c (bfd_architecture): Add bfd_arch_l1om.
	(bfd_l1om_arch): New.
	(bfd_archures_list): Add &bfd_l1om_arch.
	* bfd-in2.h: Regenerated.

	* config.bfd (targ64_selvecs): Add bfd_elf64_l1om_vec if
	bfd_elf64_x86_64_vec is supported.  Add bfd_elf64_l1om_freebsd_vec
	if bfd_elf64_x86_64_freebsd_vec is supported.
	(targ_selvecs): Likewise.

	* configure.in: Support bfd_elf64_l1om_vec and
	bfd_elf64_l1om_freebsd_vec.
	* configure: Regenerated.

	* cpu-l1om.c: New.

	* elf64-x86-64.c (elf64_l1om_elf_object_p): New.
	(bfd_elf64_l1om_vec): Likewise.
	(bfd_elf64_l1om_freebsd_vec): Likewise.

	* Makefile.am (ALL_MACHINES): Add cpu-l1om.lo.
	(ALL_MACHINES_CFILES): Add cpu-l1om.c.
	* Makefile.in: Regenerated.

	* targets.c (bfd_elf64_l1om_vec): New.
	(bfd_elf64_l1om_freebsd_vec): Likewise.
	(_bfd_target_vector): Add bfd_elf64_l1om_vec and
	bfd_elf64_l1om_freebsd_vec.

binutils/

2009-07-25  H.J. Lu  <hongjiu.lu@intel.com>

	* readelf.c (guess_is_rela): Handle EM_L1OM.
	(dump_relocations): Likewise.
	(get_machine_name): Likewise.
	(get_section_type_name): Likewise.
	(get_elf_section_flags): Likewise.
	(get_symbol_index_type): Likewise.
	(is_32bit_abs_reloc): Likewise.
	(is_32bit_pcrel_reloc): Likewise.
	(is_64bit_abs_reloc): Likewise.
	(is_64bit_pcrel_reloc): Likewise.
	(is_none_reloc): Likewise.

gas/

2009-07-25  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (cpu_arch): Add l1om.
	(check_cpu_arch_compatible): New.
	(set_cpu_arch): Use it.
	(i386_arch): New.
	(i386_mach): Return bfd_mach_l1om for Intel L1OM.
	(md_show_usage): Display l1om.
	(i386_target_format): Return ELF_TARGET_L1OM_FORMAT if
	cpu_arch_isa_flags.bitfield.cpul1om is set.

	* config/tc-i386.h (TARGET_ARCH): Use (i386_arch ()).
	(i386_arch): New.
	(ELF_TARGET_L1OM_FORMAT): Likewise.

	* doc/c-i386.texi: Document l1om.

gas/testsuite/

2009-07-25  H.J. Lu  <hongjiu.lu@intel.com>

	* gas/i386/l1om.d: New.
	* gas/i386/l1om-inval.l: Likewise.
	* gas/i386/l1om-inval.s: Likewise.

	* gas/i386/i386.exp: Run l1om-inval and l1om.

include/elf/

2009-07-25  H.J. Lu  <hongjiu.lu@intel.com>

	* common.h (EM_L1OM): New.

ld/

2009-07-25  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.tgt (targ64_extra_emuls): Add elf_l1om if elf_x86_64
	is supported.  Add elf_l1om_fbsd if elf_x86_64_fbsd is supported.
	(targ_extra_emuls): Likewise.

	* Makefile.am (ALL_64_EMULATIONS): Add eelf_l1om.o and
	eelf_l1om_fbsd.o
	(eelf_l1om.c): New.
	(eelf_l1om_fbsd.c): Likewise.
	* Makefile.in: Regenerated.

	* emulparams/elf_l1om.sh: New.
	* emulparams/elf_l1om_fbsd.sh: Likewise.

ld/testsuite/

2009-07-25  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-x86-64/abs-l1om.d: New.
	* ld-x86-64/protected2-l1om.d: Likewise.
	* ld-x86-64/protected3-l1om.d: Likewise.

	* ld-x86-64/x86-64.exp: Run abs-l1om, protected2-l1om and
	protected3-l1om.

opcodes/

2009-07-25  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.in: Handle bfd_l1om_arch.
	* disassemble.c (disassembler): Likewise.

	* configure: Regenerated.

	* i386-dis.c (print_insn): Handle bfd_mach_l1om and
	bfd_mach_l1om_intel_syntax.  Use 8 bytes per line for Intel L1OM.

	* i386-gen.c (cpu_flag_init): Set CPU_UNKNOWN_FLAGS to ~CpuL1OM.
	Add CPU_L1OM_FLAGS.
	(cpu_flags): Add CpuL1OM.
	(set_bitfield): Take an argument to set the value field.
	(process_i386_cpu_flag): Support ~CpuXXX and ~(CpuXXX|CpuYYY).
	(process_i386_opcode_modifier): Updated.
	(process_i386_operand_type): Likewise.
	* i386-init.h: Regenerated.
	* i386-tbl.h: Likewise.

	* i386-opc.h (CpuL1OM): New.
	(CpuXsave): Updated.
	(i386_cpu_flags): Add cpul1om.
2009-07-25 14:58:58 +00:00
Trevor Smigiel
8fdcc58daa include/elf/
* spu.h (R_SPU_ADD_PIC): New.
bfd/
        * reloc.c (BFD_RELOC_SPU_ADD_PIC): Define.
        * bfd-in2.h: Regenerate.
        * libbfd.h: Regenerate.
        * elf32-spu.c (elf_howto_table): Add entries SPU_ADD_PIC.
        (spu_elf_bfd_to_reloc_type): Handle SPU_ADD_PIC.
        (spu_elf_relocate_section): Patch instructions marked by SPU_ADD_PIC.
gas/
        * config/tc-spu.c (md_apply_fix): Handle SPU_ADD_PIC.
        * config/tc-spu.h (tc_fix_adjustable): Don't adjust for SPU_ADD_PIC.
        (TC_FORCE_RELOCATION): Emit relocs for SPU_ADD_PIC.
ld/testsuite/
        * ld-spu/pic.d: New.
        * ld-spu/pic.s: New.
        * ld-spu/picdef.s: New.
2009-07-24 19:51:27 +00:00
H.J. Lu
9b769489c6 bfd/
2009-07-23  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/10434
	* elf64-x86-64.c (elf64_x86_64_check_relocs): Check executable
	instead of shared for R_X86_64_TPOFF32.
	(elf64_x86_64_relocate_section): Likewise.

ld/testsuite/

2009-07-23  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/10434
	* ld-x86-64/tlsle1.d: New.
	* ld-x86-64/tlsle1.s: Likewise.

	* ld-x86-64/x86-64.exp: Run tlsle1.
2009-07-23 21:22:20 +00:00
H.J. Lu
2955ec4c12 bfd/
2009-07-21  H.J. Lu  <hongjiu.lu@intel.com>

	 PR ld/10426
	 * elflink.c (elf_link_add_object_symbols): Turn an IFUNC symbol
	 from a DSO into a normal FUNC symbol.
	 (elf_link_output_extsym): Turn an undefined IFUNC symbol into
	 a normal FUNC symbol.

ld/testsuite/

2009-07-21  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/10426
	* ld-ifunc/ifunc.exp: Check test-1 and libtest-2.so.  Updated.

	* ld-ifunc/test-1.c: New.
	* ld-ifunc/test-2.c: Likewise.
2009-07-21 21:37:26 +00:00
Nick Clifton
1c4c13cd94 * ld-mips-elf/pic-and-nonpic-3b.dd: Updated to use new PLT
entries.
        * ld-mips-elf/pic-and-nonpic-5b.dd: Likewise.
        * ld-mips-elf/pic-and-nonpic-6-o32.dd: Likewise.
        * ld-mips-elf/pic-and-nonpic-6-n32.dd: Likewise.
        * ld-mips-elf/pic-and-nonpic-6-n64.dd: Likewise.
2009-07-17 13:36:16 +00:00
Nick Clifton
6d30f5b2dc * elfxx-mips.c (LOAD_INTERLOCKS_P): New define.
(_bfd_mips_elf_size_dynamic_sections): For CPUs without load
        interlocking, the last PLT entry needs a nop in the branch delay slot.
        (_bfd_mips_elf_finish_dynamic_symbol): For CPUs with load itnerlocking,
        output the last two PLT entries in reverse order.

        * ld-mips-elf/pic-and-nonpic-3b.dd,
        ld-mips-elf/pic-and-nonpic-5b.dd,
        ld-mips-elf/pic-and-nonpic-6-o32.dd: Updated to use new PLT entries.
2009-07-17 09:46:00 +00:00
H.J. Lu
1f85278f17 bfd/
2009-07-16  H.J. Lu  <hongjiu.lu@intel.com>

	* elf32-i386.c (elf_i386_relocate_section): Don't get local
	STT_GNU_IFUNC symbol for relocatable link.
	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.

ld/testsuite/

2009-07-16  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-ifunc/ifunc-5r-local-i386.d: New.
	* ld-ifunc/ifunc-5r-local-x86-64.d: Likewise.
2009-07-16 14:23:12 +00:00
Nathan Sidwell
9a6f4e976d gas/
* config/tc-arm.c (md_apply_fix <BFD_RELOC_ARM_TARGET2>): Write
	the offset for REL targets here.

	gas/testsuite/
	* gas/arm/target-reloc-1.s: New.
	* gas/arm/target-reloc-1.d: New.

	ld/testsuite/
	* ld-arm/arm-target2.s: Add addend cases.
	* ld-arm/arm-target2-rel.d: Adjust.
	* ld-arm/arm-target2-abs.d: Adjust.
	* ld-arm/arm-target2-got-rel.d: Adjust.
2009-07-16 13:18:52 +00:00
H.J. Lu
37bbf52bcd Fix a typo. 2009-07-13 16:55:09 +00:00
H.J. Lu
be19bd519b 2009-07-13 H.J. Lu <hongjiu.lu@intel.com>
* ld-ifunc/ifunc.exp: Don't use -shared/-static to build object
	files.  Use ld_simple_link to build static non-ifunc-using
	executable.  Re-enable static non-ifunc-using executable check.
2009-07-13 16:52:37 +00:00
H.J. Lu
552deff831 2009-07-10 H.J. Lu <hongjiu.lu@intel.com>
* ld-ifunc/ifunc.exp: Don't chck static non-ifunc-using
	executable.
2009-07-10 19:31:54 +00:00