Commit graph

13 commits

Author SHA1 Message Date
Alan Modra
4a89cbfcf5 * ld-selective/selective.exp: Use check_gc_sections_available.
Remove redundant xfails.
	* ld-selective/sel-dump.exp: Likewise.
2011-10-20 12:34:20 +00:00
Alan Modra
c9eaa05f39 * ld-elf/flags1.d: Don't xfail tic6x.
* ld-scripts/weak.exp: Correct comments.  Don't xfail sh-pe.  Remove
	redundant xfail.
	* ld-selective/sel-dump.exp: Don't xfail alpha.
	* ld-selective/selective.exp: Run for alpha.
	* ld-undefined/weak-undef.exp: Don't xfail hppa64.
2011-05-13 04:19:18 +00:00
Alan Modra
aa820537ea update copyright dates 2009-09-02 07:25:43 +00:00
Alan Modra
0f02bbd9f8 bfd/
* elflink.c (resolve_symbol): Handle symbols in SEC_MERGE
	sections.  Don't test symbol st_shndx.  Don't bother with
	bfd_link_hash_common symbols.  Print longs rather than ints
	in debug messages.
	(eval_symbol): Replace "sym" and "advanced" params with "symp".
	Replace "addr" and "section_offset" params with "dot".  Don't
	cast bfd_vma values to signed, cast them to bfd_signed_vma.
	(bfd_elf_perform_complex_relocation): Delete "output_bfd", "info",
	"local_syms" and "local_sections" params.  Add "relocation".
	Delete code calculating relocation value.
	(evaluate_complex_relocation_symbols): Delete function.  Fold into..
	(elf_link_input_bfd): ..existing code examining relocs.
	* elf-bfd.h (bfd_elf_perform_complex_relocation): Update prototype.
	* elf32-mep.c (mep_elf_check_relocs): Delete function.
	(mep_elf_gc_sweep_hook, mep_elf_gc_mark_hook): Likewise.
	(mep_elf_object_p): Don't set elf_bad_symtab.
	(elf_backend_check_relocs): Don't define.
	(elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook): Likewise.
	(elf_backend_can_gc_sections, USE_RELA): Likwise.
	(mep_elf_relocate_section): Move bfd_elf_perform_complex_relocation
	call after we have calculated reloc value.  Delete local sym
	debug code.  Use RELOC_FOR_GLOBAL_SYMBOL.  Delete addend
	adjusting code..
	(elf_backend_rela_normal): ..instead define this.
ld/testsuite/
	* ld-selective/sel-dump.exp: Add am33, m88k, mep to xfails.
	* ld-selective/selective.exp: Don't run for same target list
	we xfail sel-dump.
2007-09-30 13:33:04 +00:00
Nick Clifton
f96b4a7b0f Update sources to GPLv3 2007-07-06 14:09:45 +00:00
Alan Modra
48733062ff * ld-d10v/default_layout.d: Adjust for section removal.
* ld-elf/empty.s: Define "main".
	* ld-elf/frame.exp: Don't run for hppa64 and v850.
	* ld-elf/group1.d: xfail various targets.
	* ld-elf/merge.d: Likewise.
	* ld-elf/merge2.d: Likewise.
	* ld-elf/warn1.d: Likewise.
	* ld-scripts/defined2.d: Likewise.
	* ld-scripts/defined3.d: Likewise.
	* ld-scripts/empty-aligned.d: Likewise.
	* ld-scripts/size-2.d: Likewise.
	* ld-scripts/weak.exp: Likewise.
	* ld-selective/sel-dump.exp: Likewise.
	* ld-undefined/weak-undef.exp: Likewise.
2005-08-18 07:51:08 +00:00
Nick Clifton
75be928bd2 Update FSF addresses 2005-05-12 07:32:09 +00:00
Jakub Jelinek
40937810e1 2005-04-14 David S. Miller <davem@davemloft.net>
bfd/
	Add TLS support for 64-bit Sparc ELF.
	*  elf64-sparc.c (sparc64_elf_dyn_relocs,
	sparc64_elf_link_hash_entry, sparc64_elf_obj_tdata): New structs.
	(GOT_UNKNOWN, GOT_NORMAL, GOT_TLD_GD, GOT_TLD_IE,
	sparc64_elf_hash_entry, sparc64_elf_tdata,
	sparc64_elf_local_got_tls_type): New defines.
	(sparc64_elf_mkobject): New function.
	(sparc64_elf_link_hash_table): Add members for dynamic linker
	sections PLT, RELPLT, DYNBSS, and RELBSS.  Add tls_ldm_got
	uion to track TLS GOT references.  Add sym_sec to cache
	mappings from local sym to section.
	(link_hash_newfunc): New function.
	(sparc64_elf_bfd_link_hash_table_create): Rename to
	sparc64_elf_link_hash_table_create for consistency.
	Pass link_hash_newfunc to _bfd_elf_link_hash_table_init.
	(sparc64_elf_create_dynamic_sections): Initialize new section
	members of sparc64_elf_link_hash_table.  Only init srelbss
	if not-shared.
	(sparc64_elf_copy_indirect_symbol, sparc64_elf_tls_transition):
	New functions.
	(SPARC_NOP): Define.
	(sparc64_elf_build_plt, sparc64_elf_plt_entry_offset,
	sparc64_elf_plt_ptr_offset): Delete.
	(sparc64_plt_entry_build): New function to build PLT entries
	gradually instread of all at once at the end of linking.
	(sparc64_elf_check_relocs): Delete dynobj, sgot, and srelgot
	local vars.  Get them from sparc64_elf_hash_table instead.
	Check early on if r_symndx is in bounds.  Handle TLS transitions.
	Account for TLS GOT references and DF_STATIC_TLS, as needed.
	For TLS relocs, record the tls_type in either
	sparc64_elf_local_got_tls_type or sparc64_elf_hash_entry as
	appropriate.  For R_SPARC_TLS_{GD,LDM}_CALL, emit a reference
	to the __tls_get_addr symbol.  For PLT relocs, track references
	via h->plt.refcount.  When R_SPARC_{PC10,PC22,PC_HH22,PC_HM10,
	PC_LM22} and h not-NULL, set h->non_got_ref.  For global data
	symbol references, count the number of relocations needed for
	that symbol.  For default switch case, don't error, this lets
	the TLS relocs not explicitly handled by this function get
	accepted.
	(sparc64_elf_gc_mark_hook, sparc64_gc_sweep_hook): New functions.
	(sparc64_elf_adjust_dynamic_symbol): Remove dynobj local var, get
	it from sparc64_elf_hash_table.  Store the real PLT offset
	in h->plt.offset, and build PLT entries one at a time.  Also
	get .dynbss section pointer from htab.
	(allocate_dynrelocs, readonly_dynrelocs,
	sparc64_omit_section_dynsym): New functions.
	(sparc64_elf_omit_section_dynsym): Use these new functions as
	helpers.
	(dtpoff_base, tpoff): New functions.
	(sparc64_elf_relocate_section): Kill dynobj, sgot, and splt
	locals, get them from sparc64_elf_hash_table.  Handle TLS
	relocations and refcounting in main relocation loop.
	(sparc64_elf_finish_dynamic_symbol): Use
	sparc64_elf_link_hash_table.  Build PLT entries as we see
	them.  Handle TLS GOT relocations.
	(sparc64_elf_finish_dynamic_sections): Get sgot and dynobj
	from sparc64_elf_hash_table.  Initialize only PLT header
	not all entries since we not build PLT entries one by one.
	(elf_backend_copy_indirect_symbol, bfd_elf64_mkobject,
	elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook,
	elf_backend_can_gc_sections, elf_backend_can_refcount): Define.
ld/testsuite/
	* ld-selective/sel-dump.exp: Do not exclude sparc64-*.
	* ld-selective/selective.exp: Likewise.
	* ld-sparc/sparc.exp: Add {32,64}-bit prefix to test
	names so we know which one is failing.  Run sparc64 TLS
	tests on multi-arch sparc platforms.
	* ld-sparc/tls64.sd, ld-sparc/tlssunbin64.dd,
	ld-sparc/tlssunbin64.rd, ld/testsuite/ld-sparc/tlssunbin64.sd,
	ld-sparc/tlssunbin64.td, ld-sparc/tlssunnopic64.dd,
	ld-sparc/tlssunnopic64.rd, ld-sparc/tlssunnopic64.sd,
	ld-sparc/tlssunpic64.dd, ld-sparc/tlssunpic64.rd,
	ld-sparc/tlssunpic64.sd, ld-sparc/tlssunpic64.td): Update now
	that sparc64 ELF does support TLS.
2005-04-13 22:29:36 +00:00
Alan Modra
aef6203bd6 update copyright dates 2005-03-03 11:52:12 +00:00
Alan Modra
031d7588c2 * ld-selective/sel-dump.exp: Use is_elf_format, xfail assorted targets.
* ld-selective/selective.exp: Likewise.
2004-01-02 08:27:08 +00:00
Alan Modra
2548cbcc14 * ld-discard/discard.exp: Don't run on linuxaout or linuxoldld.
* ld-linkonce/linkonce.exp: Likewise.
	* ld-selective/sel-dump.exp: Likewise.
	* ld-selective/selective.exp: Don't run on aout or bout.
2002-08-10 12:48:52 +00:00
Alan Modra
19c7c58222 * ld-discard/discard.exp, ld-scripts/phdrs.exp, ld-scripts/phdrs2.exp,
ld-selective/sel-dump.exp: Test hppa*64*-*-hpux* target.
	* ld-elfvers/vers.exp, ld-elfvsb/elfvsb.exp, ld-elfweak/elfweak.exp,
	ld-linkonce/linkonce.exp, ld-shared/shared.exp,
	ld-undefined/weak-undef.exp:  Test hppa*64*-*-hpux* and hppa*-*-linux*
	targets.
	* ld-discard/exit.s, ld-discard/extern.s, ld-discard/start.s,
	ld-discard/static.s: Add whitespace before assembler directives.
2002-07-30 07:41:15 +00:00
Hans-Peter Nilsson
b611beb043 * ld-selective/keepdot.d, ld-selective/keepdot.ld,
ld-selective/keepdot.s, ld-selective/keepdot0.d: New tests.
	* ld-selective/sel-dump.exp: New, driver for run_dump_test:s.
2002-02-05 06:45:16 +00:00