Commit graph

277 commits

Author SHA1 Message Date
Jakub Jelinek
9147e853bf bfd/
* elflink.h (elf_link_add_object_symbols): Handle .symver x, x@FOO.
ld/testsuite/
	* ld-shared/shared.exp: Run on s390*-*-linux* and x86_64-*-linux* too.
	xfail tests linking non-pic code into shared libs on x86_64-*-linux*.
	* ld-elfvsb/elfvsb.exp: Likewise.
	* ld-elfvers/vers.exp: Likewise.  Add vers24a, vers24b and vers24c
	tests.
	* ld-elfvers/vers3.ver: Allow VERS_2.0 to come before GLIBC_*
	version.
	* ld-elfvers/vers19.ver: Likewise.
	* ld-elfvers/vers24a.c: New test.
	* ld-elfvers/vers24b.c: New test.
	* ld-elfvers/vers24c.c: New test.
	* ld-elfvers/vers24.map: New test.
	* ld-elfvers/vers24.rd: New test.
	* lib/ld-lib.exp (run_ld_link_tests): Add optional 7th argument
	cflags.  If source files have .c extension, compile them first.
2003-02-13 22:14:11 +00:00
Kaz Kojima
0f85b45c31 * ld-sh/tlstpoff-1.d: New.
* ld-sh/tlstpoff-2.d: New.
	* ld-sh/tlstpoff1.s: New.
	* ld-sh/tlstpoff2.s: New.
2003-02-10 22:19:26 +00:00
Alan Modra
ac8b6cc0b0 * ld-powerpc/tlslib.s: Give .__tls_get_addr function type.
* ld-powerpc/tlsexe.d: Update for changed handling of (invalid) ld var
	in dynamic lib.
	* ld-powerpc/tlsexe.g: Likewise.
	* ld-powerpc/tlsexe.r: Likewise.
	* ld-powerpc/tlsexe.t: Likewise.
	* ld-powerpc/tlsexetoc.d: Likewise.
	* ld-powerpc/tlsexetoc.g: Likewise.
	* ld-powerpc/tlsexetoc.r: Likewise.
	* ld-powerpc/tlsexetoc.t: Likewise.
2003-02-09 04:37:04 +00:00
Alan Modra
266fb68310 new ppc64 tls tests 2003-02-04 14:52:11 +00:00
Alexandre Oliva
8914585cde * ld-mips-elf/multi-got-1.d: New.
* ld-mips-elf/multi-got-1-1.s: New.
* ld-mips-elf/multi-got-1-2.s: New.
* ld-mips-elf/mips-elf.exp (elf): mips*-*-irix* is elf.
Run multi-got-1.
2003-01-28 00:01:53 +00:00
Jakub Jelinek
b9734f3572 bfd/
* elf32-sparc.c (_bfd_sparc_elf_howto_table): Add TLS relocs.
	(elf32_sparc_rev32_howto): New variable.
	(sparc_reloc_map): Add TLS relocs.
	(elf32_sparc_reloc_type_lookup, elf32_sparc_info_to_howto):
	Handle REV32.
	(sparc_elf_hix22_reloc, sparc_elf_lox10_reloc, elf32_sparc_mkobject):
	New functions.
	(struct elf32_sparc_dyn_relocs, struct elf32_sparc_link_hash_entry,
	struct elf32_sparc_link_hash_table):
	New structures.
	(elf32_sparc_tdata, elf32_sparc_local_got_tls_type,
	elf32_sparc_hash_table): Define.
	(link_hash_newfunc, elf32_sparc_link_hash_table_create,
	create_got_section, elf32_sparc_create_dynamic_sections,
	elf32_sparc_copy_indirect_symbol, elf32_sparc_tls_transition): New
	functions.
	(elf32_sparc_check_relocs): Handle TLS relocs.  Add dynamic reloc
	reference counting.
	(elf32_sparc_gc_sweep_hook): Likewise.
	(elf32_sparc_adjust_dynamic_symbol): Likewise.
	(elf32_sparc_size_dynamic_sections): Likewise.
	(elf32_sparc_relocate_section): Likewise.
	(allocate_dynrelocs, readonly_dynrelocs, dtpoff_base, tpoff):
	New functions.
	(elf32_sparc_object_p): Allocate backend private object data.
	(bfd_elf32_bfd_link_hash_table_create,
	elf_backend_copy_indirect_symbol, bfd_elf32_mkobject,
	elf_backend_can_refcount): Define.
	(elf_backend_create_dynamic_sections): Define to
	elf32_sparc_create_dynamic_sections.
	* reloc.c: Add SPARC TLS relocs.
	* bfd-in2.h, libbfd.h: Rebuilt.
	* elf64-sparc.c (sparc64_elf_howto_table): Add TLS relocs.
	(sparc_reloc_map): Likewise.
gas/
	* config/tc-sparc.c (sparc_ip): Handle TLS % operators.
	(tc_gen_reloc): Handle TLS relocs.
	(sparc_cons, cons_fix_new_sparc): Handle %r_tls_dtpoff.
	* config/tc-sparc.h (tc_fix_adjustable): Don't adjust TLS
	relocs.
	* config/obj-elf.c (obj_elf_section_word): Handle tls.
	(obj_elf_type): Handle tls_object.
include/
	* elf/sparc.h: Add TLS relocs.  Move R_SPARC_REV32 to 252.
ld/testsuite/
	* ld-sparc/sparc.exp: New.
	* ld-sparc/tlsg32.s: New test.
	* ld-sparc/tlsg32.sd: Likewise.
	* ld-sparc/tlsg64.s: Likewise.
	* ld-sparc/tlsg64.sd: Likewise.
	* ld-sparc/tlslib.s: Likewise.
	* ld-sparc/tlsnopic.s: Likewise.
	* ld-sparc/tlspic.s: Likewise.
	* ld-sparc/tlssunbin32.dd: Likewise.
	* ld-sparc/tlssunbin32.rd: Likewise.
	* ld-sparc/tlssunbin32.s: Likewise.
	* ld-sparc/tlssunbin32.sd: Likewise.
	* ld-sparc/tlssunbin32.td: Likewise.
	* ld-sparc/tlssunbin64.dd: Likewise.
	* ld-sparc/tlssunbin64.rd: Likewise.
	* ld-sparc/tlssunbin64.s: Likewise.
	* ld-sparc/tlssunbin64.sd: Likewise.
	* ld-sparc/tlssunbin64.td: Likewise.
	* ld-sparc/tlssunbinpic32.s: Likewise.
	* ld-sparc/tlssunbinpic64.s: Likewise.
	* ld-sparc/tlssunnopic32.dd: Likewise.
	* ld-sparc/tlssunnopic32.rd: Likewise.
	* ld-sparc/tlssunnopic32.s: Likewise.
	* ld-sparc/tlssunnopic32.sd: Likewise.
	* ld-sparc/tlssunnopic64.dd: Likewise.
	* ld-sparc/tlssunnopic64.rd: Likewise.
	* ld-sparc/tlssunnopic64.s: Likewise.
	* ld-sparc/tlssunnopic64.sd: Likewise.
	* ld-sparc/tlssunpic32.dd: Likewise.
	* ld-sparc/tlssunpic32.rd: Likewise.
	* ld-sparc/tlssunpic32.s: Likewise.
	* ld-sparc/tlssunpic32.sd: Likewise.
	* ld-sparc/tlssunpic32.td: Likewise.
	* ld-sparc/tlssunpic64.dd: Likewise.
	* ld-sparc/tlssunpic64.rd: Likewise.
	* ld-sparc/tlssunpic64.s: Likewise.
	* ld-sparc/tlssunpic64.sd: Likewise.
	* ld-sparc/tlssunpic64.td: Likewise.
2003-01-24 23:44:45 +00:00
Martin Schwidefsky
6c5977968d * ld-s390/s390.exp: New file.
* ld-s390/tlsbin_64.dd: New file.
	* ld-s390/tlsbin_64.rd: New file.
	* ld-s390/tlsbin_64.s: New file.
	* ld-s390/tlsbin_64.sd: New file.
	* ld-s390/tlsbin_64.td: New file.
	* ld-s390/tlsbin.dd: New file.
	* ld-s390/tlsbinpic_64.s: New file.
	* ld-s390/tlsbinpic.s: New file.
	* ld-s390/tlsbin.rd: New file.
	* ld-s390/tlsbin.s: New file.
	* ld-s390/tlsbin.sd: New file.
	* ld-s390/tlsbin.td: New file.
	* ld-s390/tlslib_64.s: New file.
	* ld-s390/tlslib.s: New file.
	* ld-s390/tlspic1_64.s: New file.
	* ld-s390/tlspic1.s: New file.
	* ld-s390/tlspic2_64.s: New file.
	* ld-s390/tlspic2.s: New file.
	* ld-s390/tlspic_64.dd: New file.
	* ld-s390/tlspic_64.rd: New file.
	* ld-s390/tlspic_64.sd: New file.
	* ld-s390/tlspic_64.td: New file.
	* ld-s390/tlspic.dd: New file.
	* ld-s390/tlspic.rd: New file.
	* ld-s390/tlspic.sd: New file.
	* ld-s390/tlspic.td: New file.
2003-01-24 17:20:25 +00:00
Alan Modra
0ef7d236e5 * ld-alpha/tlsbin.sd: Cope with truncated address in data dumps.
* ld-alpha/tlsbin.td: Likewise.
	* ld-alpha/tlsbinr.sd: Likewise.
2003-01-23 22:37:21 +00:00
Richard Henderson
8b0c8155b2 New TLS tests for Alpha. 2003-01-22 00:41:59 +00:00
Alan Modra
d2823f55fd * ld-srec/srec.exp (run_srec_test): Pass --traditional-format to ld. 2003-01-20 12:57:59 +00:00
Jakub Jelinek
a823975ae0 * elfxx-ia64.c (elfNN_ia64_relocate_section): Handle
R_IA64_TPREL64[LM]SB against non-global symbol properly.

	* ld-ia64/tlspic1.s: Add tests for IE in shared libraries.
	* ld-ia64/tlspic.rd: Adjust.
	* ld-ia64/tlspic.dd: Adjust.
	* ld-ia64/tlspic.sd: Adjust.
2003-01-17 23:27:57 +00:00
Jakub Jelinek
b3dfd7fe24 * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add
self_dtpmod_done and self_dtpmod_offset.
	(allocate_global_data_got): Only use one got entry for all
	dtpmod relocs against local symbols.
	(allocate_dynrel_entries): Only need .rela.got entry for
	dtpmod against global symbol.
	(elfNN_ia64_size_dynamic_sections): Initialize self_dtpmod_offset.
	Reserve space in .rela.got for the local dtpmod entry.
	(set_got_entry): Initialize the common local dtpmod .got entry.
	(elfNN_ia64_relocate_section): Handle R_IA_64_DTPREL64LSB
	and R_IA_64_DTPREL64MSB.

	* config/tc-ia64.c (ia64_cons_fix_new): Handle @dtprel() in data.

	* ld-ia64/ia64.exp: New.
	* ld-ia64/tlsbin.dd: New test.
	* ld-ia64/tlsbinpic.s: New test.
	* ld-ia64/tlsbin.rd: New test.
	* ld-ia64/tlsbin.s: New test.
	* ld-ia64/tlsbin.sd: New test.
	* ld-ia64/tlsbin.td: New test.
	* ld-ia64/tlsg.s: New test.
	* ld-ia64/tlsg.sd: New test.
	* ld-ia64/tlslib.s: New test.
	* ld-ia64/tlspic1.s: New test.
	* ld-ia64/tlspic2.s: New test.
	* ld-ia64/tlspic.dd: New test.
	* ld-ia64/tlspic.rd: New test.
	* ld-ia64/tlspic.sd: New test.
	* ld-ia64/tlspic.td: New test.
2003-01-16 21:31:18 +00:00
Richard Sandiford
1efcd1fdb6 * ld-mips-elf/mips-elf-flags.exp: Add -mips4 to a -mgp64 test. 2003-01-03 11:04:26 +00:00
Richard Sandiford
64543e1acf bfd/
* elfxx-mips.c: Include libiberty.h.
	(elf_mips_isa, _bfd_mips_elf_mach_extends_p): Remove.
	(mips_set_isa_flags): New function, split out from...
	(_bfd_mips_elf_final_write_processing): ...here.  Only call
	mips_set_isa_flags if the EF_MIPS_MACH bits are clear.
	(mips_mach_extensions): New array.
	(mips_32bit_flags_p): New function.
	(_bfd_mips_elf_merge_private_bfd_data): Rework architecture checks.
	Use mips_32bit_flags_p to check if one binary is 32-bit and the
	other is 64-bit.  When adopting IBFD's architecture, adopt the
	bfd_mach as well as the flags.

ld/testsuite/
	* ld-mips-elf/jr.s: New file.
	* ld-mips-elf/mips-elf-flags.exp: New test.
2003-01-02 21:31:32 +00:00
Nick Clifton
6bdf432d03 Test the auto importing direct from a dll functionality. 2002-12-18 16:05:10 +00:00
Alexandre Oliva
c9c1e416d7 * ld-mips-elf/mips-elf.exp: Remove branch-misc-2 test.
* ld-mips-elf/branch-misc-2.d: Removed.
2002-12-12 04:39:44 +00:00
Jason Thorpe
e06d9b4589 * lib/ld-lib.exp (is_elf_format): Match NetBSD ELF targets. 2002-12-10 15:54:23 +00:00
Nick Clifton
e1a9cb8e15 Fix the merging of .PPC.EMB.apuinfo sections. Add a test to make sure that
the fix continues to work.
2002-12-03 18:24:33 +00:00
Stephane Carrez
a4ff0c7986 Fix PR savannah/1417:
* ld-m68hc11/bug-1417.s: New test.
	* ld-m68hc11/bug-1417.d: Likewise.
2002-12-01 13:25:05 +00:00
Jakub Jelinek
00f7efb6cc * symbols.c (S_SET_THREAD_LOCAL): New function.
* symbols.h (S_SET_THREAD_LOCAL): New prototype.
	* config/tc-i386.c (md_apply_fix3): Call S_SET_THREAD_LOCAL
	for TLS relocations.
	* config/tc-ia64.c (md_apply_fix3): Likewise.
	* config/tc-alpha.c (md_apply_fix3): Likewise.

	* ld-i386/tlsnopic.rd: Change NOTYPE to TLS for UND sg* symbols.
2002-11-28 14:15:55 +00:00
Kaz Kojima
1448fa3227 * elf32-sh.c (sh_elf_relocate_section): Don't complain about
unresolved debugging relocs in dynamic applications.
	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
	* ld-sh/refdbg-0-dso.d: New test.
	* ld-sh/refdbg-1.d: Likewise.
	* ld-sh/refdbg.s: Likewise.
	* ld-sh/refdbglib.s: Likewise.
2002-11-28 08:37:15 +00:00
Alan Modra
0e4065952f * ld-elf/elf.exp: Remove sec64k test.
* ld-elf/sec64k.exp: Reinstate.
2002-11-21 21:37:06 +00:00
Alan Modra
782c0ebfc9 * ld-elf/elf.exp: Renamed from sec64k.exp. Add test_list loop.
* ld-elf/merge.s: New file.
	* ld-elf/merge.d: New file.
	* ld-elf/merge.ld: New file.
2002-11-21 13:30:31 +00:00
Alan Modra
1a3fdaa703 * emulparams/elf64ppc.sh (SEGMENT_SIZE): Don't define.
Also move some changelog entries to where they belong.
2002-11-20 01:02:44 +00:00
Nick Clifton
e514ac71cb Fix h8300 relaxation. 2002-11-15 11:18:49 +00:00
Hans-Peter Nilsson
b7b0b72964 * ld-elf/sec64k.exp: New test.
* lib/ld-lib.exp (run_dump_test): Don't prepend "$srcdir/$subdir/"
	to a source file starting with "/".
2002-11-11 10:16:57 +00:00
Hans-Peter Nilsson
646a0a402c * ld-mmix/local1.d, ld-mmix/local3.d, ld-mmix/local5.d,
ld-mmix/local7.d: Tweak for change in readelf output.
2002-11-10 09:29:07 +00:00
Alan Modra
f72dfb13ce * ld-elfvsb/define.s: Avoid use of @ in .type directive. 2002-11-09 12:27:50 +00:00
Hans-Peter Nilsson
415fe8c69b Fix attribution last entry 2002-11-07 13:28:48 +00:00
Hans-Peter Nilsson
1790e8ab27 * ld-cris/expdyn6.d, ld-cris/weakref2.d, ld-cris/expdyn7.d,
ld-cris/nodyn5.d, ld-cris/expdyn5.d: New tests.
2002-11-07 13:25:48 +00:00
Nick Clifton
3d198be3d5 Only run tests for PE type x86 targets. 2002-11-07 08:36:04 +00:00
Kaz Kojima
5e622545fe * ld-sh/rd-sh.exp: Set asflags_save always. 2002-11-06 23:37:23 +00:00
Nick Clifton
c9e3887989 Adds support for fastcall symbols as used on Microsoft Windows platforms
(i386)
2002-11-06 19:36:20 +00:00
Kaz Kojima
935cac6e77 * ld-sh/rd-sh.exp: Add -isa=SHcompact to ASFLAGS for SH-5.
* ld-sh/tlsbin-1.d: Handle GOT_BIAS appropriately for SH-5.
	* ld-sh/tlspic-1.d: Likewise.
	* ld-sh/tlspic-2.d: Likewise.
	* ld-sh/tlsbin-2.d: Likewise. Make it robust for the symbols
	defined by the linker scripts.
2002-11-04 01:18:13 +00:00
Stephane Carrez
19dd1b4833 * ld-m68hc11/m68hc11.exp: Specific tests for 68HC11/68HC12.
* ld-m68hc11/adj-jump.d: New test for linker relaxation.
	* ld-m68hc11/adj-jump.s: Likewise.
	* ld-m68hc11/adj-brset.s: Likewise.
	* ld-m68hc11/adj-brset.d: Likewise.
	* ld-m68hc11/relax-direct.s: Likewise.
	* ld-m68hc11/relax-direct.d: Likewise.
	* ld-m68hc11/relax-group.s: Likewise.
	* ld-m68hc11/relax-group.d: Likewise.
	* ld-m68hc11/bug-1403.d: Likewise.
	* ld-m68hc11/bug-1403.s: Likewise.
2002-10-14 21:20:16 +00:00
Stephen Clarke
24d1feef42 ld-sh/ld-r-1.d: Disable for sh64*-*-linux*.
* ld-sh/sh64/sh64.exp: Likewise.
* ld-sh/sh.exp: Disable relaxing tests for sh64*-*-linux*.
* ld-sh/sh64/abi32.sd: Adjust expected output to include
sh64*-*-linux* formats too.
* ld-sh/sh64/relax.exp: Add emul32 variable to hold target
emulation, and set it appropriately for sh*-*-linux*.
* ld-sh/sh64/relfail.exp: Add variables to hold target
emulation, output format, start symbol, and whether target
supports 64-bit ABI.  Set appropriately for sh*-*-linux*.
2002-10-14 18:45:03 +00:00
H.J. Lu
f9a3a01aef 2002-10-12 H.J. Lu (hjl@gnu.org)
* ld-discard/extern.d: Remove $srcdir/$subdir/.
	* ld-discard/start.d: Likewise.
	* ld-discard/static.d: Likewise.
	* ld-linkonce/zeroehl32.d: Likewise.
	* ld-selective/keepdot.d: Likewise.
	* ld-selective/keepdot0.d: Likewise.
2002-10-12 15:40:13 +00:00
Kaz Kojima
6c381eeb71 * ld-sh/rd-sh.exp: If the test matches *-dso.d, copy the output
of linker to the file tmpdir/*-dso.so.
	* ld-sh/tlsbin.s, ld-sh/tlsbinpic.s, ld-sh/tlslib.s: New.
	* ld-sh/tlsbin-0-dso.d: New.
	* ld-sh/tlsbin-1.d: New.
	* ld-sh/tlsbin-2.d: New.
	* ld-sh/tlsbin-3.d: New.
	* ld-sh/tlsbin-4.d: New.
	* ld-sh/tlspic1.s, ld-sh/tlspic2.s: New.
	* ld-sh/tlspic-1.d: New.
	* ld-sh/tlspic-2.d: New.
	* ld-sh/tlspic-3.d: New.
	* ld-sh/tlspic-4.d: New.
2002-10-11 14:44:55 +00:00
Jakub Jelinek
2030e6d786 * ld-i386/combreloc.s: New test.
* ld-i386/combreloc.d: New test.
	* ld-i386/i386.exp (i386tests): Add it.
2002-10-10 07:49:11 +00:00
Alan Modra
4565652e33 * ld-i386/i386.exp (reloc): Turn off combreloc.
* ld-i386/reloc.d: Likewise.
	* ld-powerpc/powerpc.exp: Likewise.
	* ld-powerpc/reloc.d: Likewise.
2002-10-10 02:53:17 +00:00
H.J. Lu
8b0eebb0b0 2002-10-03 H.J. Lu <hjl@gnu.org>
* ld-elfvers/vers21.c (_old_foobar): Initialized to -1 for gcc
	3.x.
2002-10-04 07:40:42 +00:00
Chris Demetriou
30a2f863bc 2002-10-03 Chris Demetriou <cgd@broadcom.com>
* ld-mips-elf/branch-misc-1.d: Link at 0x500000 and use -N, to be
        more compatible with non-embedded targets.
        * ld-mips-elf/branch-misc-2.d: Likewise.

        * ld-mips-elf/mips-elf.exp: Clean up some comments about embedded
        PIC tests.
        (elf): New variable, to control whether generic ELF tests are run.
        (embedded_elf): New variable, to control whether ELF tests
        requiring embedded PIC or embedded relocs are run.
2002-10-03 23:56:24 +00:00
Stephen Clarke
ad050da3e6 * ld-sh/sh64/gotplt.d, ld-sh/sh64/gotplt.map,
ld-sh/sh64/gotplt.s: New test.
2002-10-02 21:56:50 +00:00
Stephen Clarke
8033ae3b15 * ld-sh/sh64/cmpct1.sd : Fix linked file name.
* ld-sh/sh64/crange3.dd: Likewise.
2002-10-02 21:19:59 +00:00
Jakub Jelinek
7c445aa3c8 bfd/
* elf32-i386.c (elf_i386_relocate_section): Fix
	movl foo@indntpoff, %eax IE->LE transition.
ld/testsuite/
	* ld-i386/i386.exp: Add tlsindntpoff test.
	* ld-i386/tlsindntpoff.s: New test.
	* ld-i386/tlsindntpoff.dd: New test.
2002-10-01 10:43:37 +00:00
Jakub Jelinek
abcf1d5247 bfd/
* elf64-x86-64.c (elf64_x86_64_relocate_section): Change TLSGD
	sequence and its transitions.
ld/testsuite/
	* ld-x86-64/tlspic1.s: Change TLSGD sequences.
	* ld-x86-64/tlsbinpic.s: Likewise.
	* ld-x86-64/tlspic.dd: Adjust.
2002-10-01 09:15:34 +00:00
Jakub Jelinek
a45bb67df2 bfd/
* elf32-i386.c (elf_i386_relocate_section): Resolve R_386_TLS_LDO_32
	to st_value + addend in non-code sections.
	* elf64-x86-64.c (elf64_x86_64_relocate_section): Resolve
	R_X86_64_DTPOFF32 to st_value + addend in non-code sections.

ld/testsuite/
	* ld-i386/i386.exp: Add tlsg test.
	* ld-i386/tlsg.s: New test.
	* ld-i386/tlsg.sd: New test.
	* ld-i386/tlsbin.dd: Change LD into LD -> LE in comments.
	* ld-i386/tlsbinpic.s: Likewise.
	* ld-x86-64/x86-64.exp: Add tlsg test.
	* ld-x86-64/tlsg.s: New test.
	* ld-x86-64/tlsg.sd: New test.
	* ld-x86-64/tlsbin.dd: Change LD into LD -> LE in comments.
	* ld-x86-64/tlsbinpic.s: Likewise.
2002-10-01 09:10:46 +00:00
Alan Modra
b1e61c4bf3 * ld-powerpc/powerpc.exp: Restrict to 32 bit ELF. 2002-09-30 05:54:51 +00:00
Alan Modra
17c2bdeefe * ld-powerpc/reloc.s, ld-powerpc/reloc.d: New.
* ld-powerpc/powerpc.exp: New.
2002-09-30 05:25:20 +00:00
Alan Modra
302cbfc210 * ld-i386/reloc.s, ld-i386/reloc.d: New.
* ld-i386/i386.exp: Run new test.
2002-09-30 03:35:18 +00:00
Jakub Jelinek
bffbf9406f bfd/
* reloc.c: Add x86-64 TLS relocs.
	* bfd-in2.h, libbfd.h: Rebuilt.
	* elf64-x86-64.c (x86_64_elf_howto): Fix size fields for 32-bit
	relocs.  Add TLS relocs.
	(x86_64_reloc_map): Add TLS relocs.
	(elf64_x86_64_info_to_howto): Adjust for added TLS relocs.
	(struct elf64_x86_64_link_hash_entry): Add tls_type field.
	(GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE): Define.
	(elf64_x86_64_hash_entry): Define.
	(struct elf64_x86_64_obj_tdata): New.
	(elf64_x86_64_tdata, elf64_x86_64_local_got_tls_type): Define.
	(struct elf64_x86_64_link_hash_table): Add tls_ld_got.
	(link_hash_newfunc): Initialize tls_type.
	(elf64_x86_64_link_hash_table_create): Initialize tls_ld_got.
	(elf64_x86_64_copy_indirect_symbol): Swap tls_type if necessary.
	(elf64_x86_64_mkobject): New.
	(elf64_x86_64_elf_object_p): Allocate struct elf64_x86_64_obj_tdata.
	(elf64_x86_64_tls_transition): New.
	(elf64_x86_64_check_relocs): Add r_type variable and use it.
	Handle TLS relocs.
	(elf64_x86_64_gc_sweep_hook): Handle TLS relocs.
	(allocate_dynrelocs): Allocate GOT space for TLS relocs.
	(elf64_x86_64_size_dynamic_sections): Likewise.
	(dtpoff_base, tpoff): New.
	(elf64_x86_64_relocate_section): Handle TLS relocs.
	(elf64_x86_64_finish_dynamic_symbol): Only handle non-TLS GOT
	entries.
	(bfd_elf64_mkobject): Define.

	* elf32-i386.c (elf_i386_check_relocs) [R_386_TLS_LE]: Set
	DF_STATIC_TLS if shared.
gas/
	* config/tc-i386.c (tc_i386_fix_adjustable): Add x86-64 TLS relocs.
	Define them if not BFD_ASSEMBLER.
	(lex_got): Handle @tlsgd, @dtpoff and @tpoff in 64-bit mode, add
	@tlsld.
	(md_apply_fix3): No addend for BFD_RELOC_X86_64_TLSGD,
	BFD_RELOC_X86_64_TLSLD and BFD_RELOC_X86_64_GOTTPOFF.
	(tc_gen_reloc): Handle x86-64 TLS relocs.
include/
	* elf/x86-64.h: Add TLS relocs.
ld/testsuite/
	* lib/ld-lib.exp (run_ld_link_tests): Add.
	* ld-sh/sh64/sh64.exp (run_ld_link_tests, regexp_diff,
	file_contents): Remove.
	(sh64tests): Add 6th field to the tests array.
	* ld-i386/i386.exp (run_ld_link_tests): Remove.
	* ld-x86-64/x86-64.exp: New.
	* ld-x86-64/tlsbin.dd: New test.
	* ld-x86-64/tlsbinpic.s: New test.
	* ld-x86-64/tlsbin.rd: New test.
	* ld-x86-64/tlsbin.s: New test.
	* ld-x86-64/tlsbin.sd: New test.
	* ld-x86-64/tlsbin.td: New test.
	* ld-x86-64/tlslib.s: New test.
	* ld-x86-64/tlspic1.s: New test.
	* ld-x86-64/tlspic2.s: New test.
	* ld-x86-64/tlspic.dd: New test.
	* ld-x86-64/tlspic.rd: New test.
	* ld-x86-64/tlspic.sd: New test.
	* ld-x86-64/tlspic.td: New test.
2002-09-27 19:29:18 +00:00
Alan Modra
344897cceb * ld-undefined/undefined.exp: Adjust function test. 2002-09-21 14:14:00 +00:00
Alan Modra
c7749bd6ec * ld-i386/i386.exp: Only run tests on ELF targets. 2002-09-20 07:57:08 +00:00
Jakub Jelinek
37e55690c4 bfd/
* reloc.c (BFD_RELOC_386_TLS_TPOFF, BFD_RELOC_386_TLS_IE,
	BFD_RELOC_386_TLS_GOTIE): Add.
	* bfd-in2.h, libbfd.h: Rebuilt.
	* elf32-i386.c (elf_howto_table): Add R_386_TLS_TPOFF, R_386_TLS_IE
	and R_386_TLS_GOTIE.
	(elf_i386_reloc_type_lookup): Handle it.
	(struct elf_i386_link_hash_entry): Change tls_type type to unsigned
	char instead of enum, change GOT_* into defines.
	(GOT_TLS_IE_POS, GOT_TLS_IE_NEG, GOT_TLS_IE_BOTH): Define.
	(elf_i386_tls_transition): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
	(elf_i386_check_relocs): Likewise.  Avoid crash if local symbol is
	accessed both as normal and TLS symbol.  Move R_386_TLS_LDM and
	R_386_PLT32 cases so that R_386_TLS_IE can fall through.
	Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
	(elf_i386_gc_sweep_hook): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
	Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
	(allocate_dynrelocs): Allocate 2 .got and 2 .rel.got entries if
	tls_type is GOT_TLS_IE_BOTH.
	(elf_i386_size_dynamic_sections): Likewise.
	(elf_i386_relocate_section): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
	Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
	(elf_i386_finish_dynamic_symbol): Use tls_type & GOT_TLS_IE to catch
	all 4 GOT_TLS_* TLS types.
gas/
	* config/tc-i386.c (tc_i386_fix_adjustable): Handle
	BFD_RELOC_386_TLS_IE and BFD_RELOC_386_TLS_GOTIE.
	(BFD_RELOC_386_TLS_IE, BFD_RELOC_386_TLS_GOTIE): Define to 0
	if not defined.
	(lex_got): Handle @GOTNTPOFF and @INDNTPOFF.
	(md_apply_fix3, tc_gen_reloc): Handle BFD_RELOC_386_TLS_IE and
	BFD_RELOC_386_TLS_GOTIE.
gas/testsuite/
	* gas/i386/tlspic.s: Add tests.
	* gas/i386/tlspic.d: Regenerated.
	* gas/i386/tlsnopic.s: Add tests.
	* gas/i386/tlsnopic.d: Regenerated.
include/
	* elf/i386.h (R_386_TLS_TPOFF, R_386_TLS_IE, R_386_TLS_GOTIE):
	Define.
ld/testsuite/
	* ld-i386/i386.exp: New.
	* ld-i386/tlsbin.dd: New test.
	* ld-i386/tlsbinpic.s: New test.
	* ld-i386/tlsbin.rd: New test.
	* ld-i386/tlsbin.s: New test.
	* ld-i386/tlsbin.sd: New test.
	* ld-i386/tlsbin.td: New test.
	* ld-i386/tlslib.s: New test.
	* ld-i386/tlsnopic1.s: New test.
	* ld-i386/tlsnopic2.s: New test.
	* ld-i386/tlsnopic.dd: New test.
	* ld-i386/tlsnopic.rd: New test.
	* ld-i386/tlsnopic.sd: New test.
	* ld-i386/tlspic1.s: New test.
	* ld-i386/tlspic2.s: New test.
	* ld-i386/tlspic.dd: New test.
	* ld-i386/tlspic.rd: New test.
	* ld-i386/tlspic.sd: New test.
	* ld-i386/tlspic.td: New test.
2002-09-19 19:01:18 +00:00
Chris Demetriou
2dc83527fb [ gas/testsuite/ChangeLog ]
2002-09-18  Chris Demetriou  <cgd@broadcom.com>

        * gas/mips/branch-misc-1.d: New file.
        * gas/mips/branch-misc-1.s: New file.
        * gas/mips/branch-misc-2.s: New file.
        * gas/mips/branch-misc-2.d: New file.
        * gas/mips/mips.exp: Run new tests.

[ ld/testsuite/ChangeLog ]
2002-09-18  Chris Demetriou  <cgd@broadcom.com>

        * ld-mips-elf/branch-misc-1.d: New file.
        * ld-mips-elf/branch-misc-2.d: New file.
        * ld-mips-elf/mips-elf.exp: Run new tests.
2002-09-18 20:50:47 +00:00
Alan Modra
c23487d4ef * ld-sh/sh64/cmpct1.xd: Adjust for lack of abs section sym.
* ld-sh/sh64/crange3-cmpct.rd: Likewise.
	* ld-sh/sh64/crange3-media.rd: Likewise.
	* ld-sh/sh64/crange3.rd: Likewise.
2002-09-05 00:07:08 +00:00
Hans-Peter Nilsson
156436a5c2 * ld-mmix/bpo-10.d: Tweak for change in symbols handling.
* ld-mmix/bpo-11.d: Ditto.

	* ld-mmix/b-nosym.d: Adjust for changed output for absence of
	symbols.

	* ld-mmix/sec-7m.d: Rename tested section from .debug_info to
	.di.
	* ld-mmix/sec-7a.s, ld-mmix/sec-7b.s, ld-mmix/sec-7c.s,
	ld-mmix/sec-7d.s, ld-mmix/sec-7e.s: Ditto.
2002-08-31 17:23:58 +00:00
Alan Modra
6d110b652a * ld-discard/discard.exp: xfail m6812.
* ld-scripts/map-address.d: Adjust for extras emitted by pe targets.
2002-08-28 00:11:40 +00:00
Alan Modra
68a4c07345 Revert last change. 2002-08-26 23:15:48 +00:00
Alan Modra
99e49e4e29 * ld-mmix/b-nosym.d: Adjust for "no symbols" on stdout. 2002-08-26 10:16:34 +00:00
Alan Modra
30c8cc6872 * ld-sh/sh64/rd-sh64.exp: New framework file.
* ld-sh/sh64/init-cmpct.d, ld-sh/sh64/init-media.d,
	ld-sh/sh64/init64.d, ld-sh/sh64/init.s: New tests for
	correct setting of ISA bit for init and fini entry-points.
2002-08-23 08:14:06 +00:00
Stephen Clarke
0b65791f7d * ld-sh/sh64/sh64.exp: Add dlsection.
* ld-sh/sh64/dlsection-1.s, ld-sh/sh64/dlsection.sd: New.
2002-08-16 18:47:31 +00:00
Alan Modra
b3de5b86c2 * ld-discard/discard.exp: xfail targets using generic linker.
* ld-discard/extern.d: Allow "data" to be reduced to a section sym.
2002-08-16 00:17:11 +00:00
Hans-Peter Nilsson
43b1011811 * ld-cris/libdso-4.d, ld-cris/undef1.d: New test. 2002-08-15 05:19:32 +00:00
H.J. Lu
80425074bb 2002-08-13 H.J. Lu <hjl@gnu.org>
* ld-elfvers/vers.exp: Add vers23c and vers23d.

	* ld-elfvers/vers23c.ver: New.
	* ld-elfvers/vers23d.dsym: New.
2002-08-14 03:26:48 +00:00
H.J. Lu
9c0921673d 2002-08-12 H.J. Lu <hjl@gnu.org>
* ld-elfvers/vers.exp: Add vers23.

	* ld-elfvers/vers23.c: New.
	* ld-elfvers/vers23.dsym: New.
	* ld-elfvers/vers23.ver: New.
	* ld-elfvers/vers23a.c: New.
	* ld-elfvers/vers23a.dsym: New.
	* ld-elfvers/vers23a.map: New.
	* ld-elfvers/vers23a.sym: New.
	* ld-elfvers/vers23a.ver: New.
	* ld-elfvers/vers23b.c: New.
	* ld-elfvers/vers23b.dsym: New.
	* ld-elfvers/vers23b.map: New.
	* ld-elfvers/vers23b.ver: New.
2002-08-12 19:21:59 +00:00
Hans-Peter Nilsson
d1764264f9 * ld-sh/sh64/abi32.xd: Adjust whitespace in elf32 section
listing.
	* ld-sh/sh64/cmpct1.xd, ld-sh/sh64/mix1.xd, ld-sh/sh64/mix2.xd,
	ld-sh/sh64/rel32.xd, ld-sh/sh64/shdl32.xd: Likewise.
2002-08-12 09:01:18 +00:00
Hans-Peter Nilsson
598b6dded7 * ld-sh/sh64/abi32.xd: Adjust as type of linker-script-symbols
is no longer set to object.
	* ld-sh/sh64/abi64.xd, ld-sh/sh64/cmpct1.xd, ld-sh/sh64/crange1.rd,
	ld-sh/sh64/crange2.rd, ld-sh/sh64/crange3-cmpct.rd,
	ld-sh/sh64/crange3-media.rd, ld-sh/sh64/crange3.rd,
	ld-sh/sh64/mix1.xd, ld-sh/sh64/mix2.xd, ld-sh/sh64/shdl32.xd,
	ld-sh/sh64/shdl64.xd: Likewise.
2002-08-12 08:51:10 +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
H.J. Lu
b16100ad5c 2002-08-08 H.J. Lu <hjl@gnu.org>
* ld-elfvers/vers.exp: Add vers22.

	* ld-elfvers/vers22.c: New.
	* ld-elfvers/vers22.dsym: New.
	* ld-elfvers/vers22.map: New.
	* ld-elfvers/vers22.ver: New.
	* ld-elfvers/vers22a.c: New.
	* ld-elfvers/vers22a.dsym: New.
	* ld-elfvers/vers22a.sym: New.
	* ld-elfvers/vers22a.ver: New.
	* ld-elfvers/vers22b.c: New.
	* ld-elfvers/vers22b.dsym: New.
	* ld-elfvers/vers22b.ver: New.
2002-08-09 04:42:44 +00:00
H.J. Lu
3194163592 Check symbols with undefine version. 2002-08-08 03:50:18 +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
Chris Demetriou
70a3140046 [ gas/testsuite/ChangeLog ]
2002-07-26  Chris Demetriou  <cgd@broadcom.com>

        * gas/mips/elf_ase_mips16.d: New file to test ELF MIPS16 ASE marking.
        * gas/mips/elf_ase_mips16.s: Likewise.
        * gas/mips/mips.exp: Run the new test.

[ ld/testsuite/ChangeLog ]
2002-07-26  Chris Demetriou  <cgd@broadcom.com>

        * ld-mips-elf/mips16-1.d: Check that ASE flag is actually set.
2002-07-29 21:07:12 +00:00
Richard Sandiford
fb39dac1ef [bfd/]
* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Merge ASE
	flags into resulting BFD.

[ld/testsuite/]
	* ld-mips-elf/mips16-1.d,
	* ld-mips-elf/mips16-1[ab].s: New test.
	* ld-mips-elf/mips-elf.exp: Run it.
2002-07-26 18:56:25 +00:00
Hans-Peter Nilsson
ccaf4e0741 * ld-mmix/sec-1.d: Adjust for changes in padding.
* ld-mmix/sec-3.d: Ditto.
2002-07-19 03:30:13 +00:00
H.J. Lu
b42d80615e 2002-07-15 H.J. Lu <hjl@gnu.org>
* ld-elfvers/vers.exp: Add vers21.

	* ld-elfvers/vers21.c: New.
	* ld-elfvers/vers21.dsym: New.
	* ld-elfvers/vers21.map: New.
	* ld-elfvers/vers21.sym: New.
	* ld-elfvers/vers21.ver: New.
2002-07-16 00:15:57 +00:00
Hans-Peter Nilsson
f1cf2c2e58 * ld-cris/nodyn4.d, ld-cris/expdyn4.d, ld-cris/comref1.s,
ld-cris/euwref1.s, ld-cris/expdyn3.d, ld-cris/expdyn2.d,
	ld-cris/expdref1.s: New tests.
2002-07-12 15:51:54 +00:00
Richard Sandiford
ad42262f8f * ld-scripts/dynamic-sections*: New test. 2002-07-09 08:47:24 +00:00
Hans-Peter Nilsson
57a4c58413 * ld-cris/libdso-3.d, ld-cris/dso-3.s, ld-cris/noglob1.s,
ld-cris/noglob1.d: New tests.
2002-07-09 03:46:49 +00:00
Hans-Peter Nilsson
6030b50afa * ld-cris/libdso-1.d: Tweak for change in size of dynamic sections. 2002-07-09 00:50:01 +00:00
Alan Modra
3e8cba195d * lib/ld-lib.exp (default_ld_nm): Run nm with LC_ALL=C to ensure
consistent sorting.
	(run_dump_test): Likewise for objdump/nm/objcopy/readelf.
	* ld-sh/sh64/sh64.exp (run_ld_link_tests): Likewise.
2002-07-02 23:54:39 +00:00
Hans-Peter Nilsson
9f6067066d * ld-mmix/sec-8m.d, ld-mmix/sec-8m.s, ld-mmix/sec-8a.s,
ld-mmix/sec-8b.s, ld-mmix/sec-8d.s: New test.
2002-06-29 21:33:28 +00:00
Chris Demetriou
e0350bfbf7 2002-06-18 Chris Demetriou <cgd@broadcom.com>
* ld-mips-elf/empic2-ref.s: Add a missing .end, apparently
	turned up by recent assembler changes.
2002-06-19 01:48:10 +00:00
Tom Rix
4c0b7915d4 Tests for d10v. 2002-06-17 14:05:53 +00:00
Jeff Law
9b17aab627 2002-06-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
* ld-scripts/cross1.t: Add .hash, .dynstr and .dynsym sections to
	script.
2002-06-12 18:14:48 +00:00
Martin Schwidefsky
704e79f982 AJ found the problem and created the patch. 2002-06-11 13:16:01 +00:00
Martin Schwidefsky
20c4e93273 2002-06-11 Martin Schwidefsky <schwidefsky@de.ibm.com>
* ld-undefined/undefined.exp: Add s390x to dwarf2 xfails.
2002-06-11 09:50:44 +00:00
Richard Sandiford
e560f274e3 * ld-mips-elf/region1a.s,
* ld-mips-elf/region1b.s,
	* ld-mips-elf/region1.t,
	* ld-mips-elf/region1.d: New test.
	* ld-mips-elf/mips-elf.exp: Run it.
2002-06-10 16:14:08 +00:00
Nick Clifton
1634475f71 Fix phdrs2 test 2002-06-07 10:30:56 +00:00
Nick Clifton
1ed89aa92e Do not include empty sections in loadable segments. 2002-06-06 10:03:38 +00:00
H.J. Lu
bfba206a7e 2005-06-02 H.J. Lu <hjl@gnu.org>
* ld-srec/sr3.cc (__dso_handle): Added for gcc 3.1 with
	-fuse-cxa-atexit.
	(__cxa_atexit): Likewise.
2002-06-03 04:56:52 +00:00
Richard Henderson
0085b5a8ab * ld-bootstrap/bootstrap.exp: Test --relax. 2002-05-30 21:39:41 +00:00
Hans-Peter Nilsson
69de2f8959 * ld-cris/libdso-2.d: Tweak for combreloc now default on. 2002-05-28 01:44:46 +00:00
Richard Sandiford
3e3f011f93 * lib/ld-lib.exp (run_dump_test): Add -L$srcdir/$subdir.
(is_elf_format): New, extracted from...
	* ld-scripts/weak.exp: ...here.
	* ld-scripts/overlay-size.exp: New test.
	* ld-scripts/overlay-size.[tsd],
	* ld-scripts/overlay-size-map.d: New files for it.
2002-05-07 11:08:57 +00:00
Richard Sandiford
a155881bab * ld-scripts/map-address.exp: Quote conditions. 2002-05-02 16:03:41 +00:00
Richard Sandiford
33a301baa7 * ld-scripts/map-address.exp: New test.
* ld-scripts/map-address.[td]: New files for it.
2002-04-30 09:23:14 +00:00
Richard Henderson
212a6b8ef7 * ld-elfvsb/elfvsb.exp: Mirror ia64 non-pic xfails for alpha.
* ld-shared/shared.exp: Likewise.
        * ld-selective/selective.exp: Disable for alpha.
        * ld-undefined/undefined.exp: Add alpha to dwarf2 xfails.
2002-04-19 19:28:09 +00:00
Hans-Peter Nilsson
32d279374d * ld-cris/libdso-2.d, ld-cris/dso-2.s, ld-cris/hide1: New test. 2002-04-05 23:13:09 +00:00
Hans-Peter Nilsson
442e4424a0 * ld-cris/ldsym1.d: New test. 2002-03-19 23:49:51 +00:00
Hans-Peter Nilsson
f854883482 * ld-mmix/bpo-1.d: Tweak for type of linker-script-symbols no
longer set to object.
	* ld-mmix/undef-3.d, ld-mmix/start-1.d, ld-mmix/locto-1.d,
	ld-mmix/loct-1.d, ld-mmix/locdo-1.d, ld-mmix/local7.d,
	ld-mmix/local5.d, ld-mmix/local3.d, ld-mmix/local1.d,
	ld-mmix/loc6.d, ld-mmix/loc4.d, ld-mmix/loc3.d, ld-mmix/loc2.d,
	ld-mmix/loc1.d, ld-mmix/greg-7.d, ld-mmix/greg-6.d,
	ld-mmix/greg-5.d, ld-mmix/greg-4.d, ld-mmix/greg-3.d,
	ld-mmix/greg-2.d, ld-mmix/greg-19.d, ld-mmix/greg-1.d,
	ld-mmix/bspec2.d, ld-mmix/bspec1.d, ld-mmix/bpo-9.d,
	ld-mmix/bpo-6.d, ld-mmix/bpo-5.d, ld-mmix/bpo-4.d,
	ld-mmix/bpo-3.d, ld-mmix/bpo-2.d, ld-mmix/bpo-19.d,
	ld-mmix/bpo-18.d, ld-mmix/bpo-17.d, ld-mmix/bpo-16.d,
	ld-mmix/bpo-14.d, ld-mmix/bpo-11.d, ld-mmix/bpo-10.d: Ditto.
2002-03-19 22:48:15 +00:00