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
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
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
Alan Modra
dbc37f892b
* ld-scripts/crossref.exp: Allow foo to have a leading dot.
...
* ld-scripts/cross1.t: Add .opd.
* ld-undefined/undefined.exp: Allow leading dot on sym names.
* lib/ld-lib.exp (default_ld_nm): Strip leading dots from syms.
2002-01-31 03:57:52 +00:00
Hans-Peter Nilsson
b2da51b6a4
* lib/ld-lib.exp (run_dump_test): Fix typo: asflags(), not asflags{}.
2001-10-14 16:03:53 +00:00
Hans-Peter Nilsson
cfe5266f79
* lib/ld-lib.exp (run_dump_test): Handle new option
...
"objcopy_linked_file". Return after failing, if errors were
expected but none were found.
(slurp_options): Support underscores in option names.
2001-09-15 00:56:42 +00:00
Alan Modra
992c450de8
* config/default.exp (ld_nm): Add "nmflags" arg.
...
* lib/ld-lib.exp (default_ld_nm): Likewise.
* ld-empic/empic.exp: Adjust call to ld_nm.
* ld-scripts/defined.exp: Likewise.
* ld-scripts/script.exp: Likewise.
* ld-scripts/sizeof.exp: Likewise.
* ld-selective/selective.exp: Likewise.
* ld-sh/sh.exp: Likewise.
2001-07-24 11:07:16 +00:00
Hans-Peter Nilsson
261def7062
* config/default.exp (AS, GASP, OBJDUMP, NM, NMFLAGS, OBJCOPY,
...
OBJCOPYFLAGS, READELF, READELFFLAGS, LD, LDFLAGS): Provide
default.
* lib/ld-lib.exp (run_dump_test): Import from gas testsuite. Add
new options "ld", "source", "xfail", "target", "notarget" and
"error". Support the runtest_file_p "*.exp=testname" feature.
(slurp_options, regexp_diff, file_contents, verbose_eval): Import
from gas testsuite.
2001-06-13 03:08:21 +00:00
Nick Clifton
a2b64bede3
Fixtypos in ChangeLogs, fix copyright dates in files
2001-03-13 06:14:29 +00:00
Matthew Hiller
1688b748f1
2001-02-28 Matt Hiller <hiller@redhat.com>
...
* testsuite/ld-scripts/crossref.exp: Initialize flags to
[big_or_little_endian].
* testsuite/ld-undefined/undefined.exp: Ditto, and include $flags
in ld invocations.
* testsuite/lib/ld-lib.exp (big_or_little_endian): Recognize -EB,
-eb, EL and el.
(is_endian_output_format): New function.
(default_ld_link): Set flags to [big_or_little_endian] only if ld
is being invoked such that the output format being used is of
known endianness.
(default_ld_simple_link): Ditto.
2001-03-01 19:13:27 +00:00
H.J. Lu
7cda33a15e
2000-06-05 H.J. Lu (hjl@gnu.org)
...
* lib/ld-lib.exp (default_ld_link): Redirect the linker output
to link_output and make it global.
* ld-elfvsb/elfvsb.exp (visibility_test): Add "hidden_undef",
"hidden_undef_def", "hidden_weak", "protected_undef",
"protected_undef_def" and "protected_weak".
(visibility_run): Likewise.
* ld-elfvsb/main.c: Likewise.
* ld-elfvsb/sh1.c: Likewise.
* ld-elfvsb/sh2.c: Likewise.
* ld-elfvsb/elfvsb.dat: Updated.
2000-06-05 20:43:18 +00:00
H.J. Lu
6fc49d288b
2000-05-13 H.J. Lu (hjl@gnu.org)
...
* lib/ld-lib.exp (default_ld_link): Redirect the linker output
to link_output and make it global.
* ld-elfvsb/elf-offset.ld: New. ELF visibility fearture
tests.
* ld-elfvsb/elfvsb.dat: Likewise.
* ld-elfvsb/elfvsb.exp: Likewise.
* ld-elfvsb/main.c: Likewise.
* ld-elfvsb/sh1.c: Likewise.
* ld-elfvsb/sh2.c: Likewise.
2000-05-13 16:54:32 +00:00
H.J. Lu
d1bcade6ba
2000-02-27 H.J. Lu (hjl@gnu.org)
...
* lib/ld-lib.exp (default_ld_link): Added "$LIBS" to libs.
2000-02-27 18:59:40 +00:00
Nick Clifton
38e31547d1
Notice multlib switches.
1999-07-28 08:18:22 +00:00
Ian Lance Taylor
77e0b0efdb
1999-06-04 H.J. Lu <hjl@gnu.org>
...
* lib/ld-lib.exp (default_ld_nm): Clear nm_output first if
necessary.
1999-06-04 20:49:14 +00:00
Richard Henderson
252b5132c7
19990502 sourceware import
1999-05-03 07:29:11 +00:00