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