Commit graph

80 commits

Author SHA1 Message Date
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
Kaz Kojima
5e622545fe * ld-sh/rd-sh.exp: Set asflags_save always. 2002-11-06 23:37:23 +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
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
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
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
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
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
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
Hans-Peter Nilsson
f831bcc9a0 * ld-sh/sh64/shdl64.xd: Adjust as type of linker-script-symbols
is no longer set to object.
	(Forgotten commit)
2002-08-14 21:57:39 +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
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
acbd2de6c6 * ld-sh/ld-r-1.d: Adjust to changes in readelf output.
* ld-sh/shared-1.d, ld-sh/sh64/crangerel1.rd, ld-sh/crangerel2.rd,
	ld-sh/sh64/reldl32.rd, ld-sh/sh64/reldl64.rd: Ditto.
2002-02-24 16:44:45 +00:00
Alexandre Oliva
0f8b890409 * ld-sh/sh64/reldl64.rd: Add relocation symbol data in info field.
* ld-sh/sh64/crange-2i.s: Add align to match align in crange-2h.s.
* ld-sh/sh64/crange3-cmpct.rd: Adjust to reflect modifications
in section ordering.
* ld-sh/sh64/crange3-media.rd: Likewise.
* ld-sh/sh64/crange3.rd: Likewise.
* ld-sh/sh64/crange3.dd: Likewise.
2002-02-11 07:56:03 +00:00
Alexandre Oliva
fb6de7f3cc * ld-sh/shared-1.d: Fix relocation addend. 2002-02-11 06:14:12 +00:00
Alexandre Oliva
1b19eb81ea Contribute sh64-elf.
2002-02-02  Alexandre Oliva  <aoliva@redhat.com>
* ld-sh/sh64/crange3-cmpct.rd: Adjust offsets.
* ld-sh/sh64/crange3-media.rd: Likewise.
* ld-sh/sh64/crange3.rd: Likewise.
* ld-sh/sh64/crangerel1.rd: Likewise.
* ld-sh/sh64/crangerel2.rd: Likewise.
* ld-sh/sh64/reldl32.rd: Likewise.
* ld-sh/sh64/reldl64.rd: Likewise.
2002-01-28  Alexandre Oliva  <aoliva@redhat.com>
* ld-sh/sh64/abi32.xd: Formatting changes to match the current
output of objdump.
* ld-sh/sh64/cmpct1.xd: Likewise.
* ld-sh/sh64/crange1.rd: Likewise.
* ld-sh/sh64/crange2.rd: Likewise.
* ld-sh/sh64/crange3-cmpct.rd: Likewise.
* ld-sh/sh64/crange3-media.rd: Likewise.
* ld-sh/sh64/crange3.rd: Likewise.
* ld-sh/sh64/crangerel1.rd: Likewise.
* ld-sh/sh64/crangerel2.rd: Likewise.
* ld-sh/sh64/mix1.xd: Likewise.
* ld-sh/sh64/mix2.xd: Likewise.
* ld-sh/sh64/rel32.xd: Likewise.
* ld-sh/sh64/reldl32.rd: Likewise.
* ld-sh/sh64/reldl64.rd: Likewise.
* ld-sh/sh64/sh64.exp: Likewise.  Reordered cranges and stack
sessions, to match changes in the linker script.
2001-06-14  Alexandre Oliva  <aoliva@redhat.com>
* ld-sh/sh64/reldl32.rd, ld-sh/sh64/reldl64.rd: Adjust relocation
info to reflect renumbering of relocation types.
2001-03-14  DJ Delorie	<dj@redhat.com>
* ld-sh/sh64/endian.dbd: New file, endian tests.
* ld-sh/sh64/endian.dld: Ditto.
* ld-sh/sh64/endian.ld:	 Ditto.
* ld-sh/sh64/endian.s:	Ditto.
* ld-sh/sh64/endian.sbd:  Ditto.
* ld-sh/sh64/endian.sld:  Ditto.
* ld-sh/sh64/sh64.exp: Add above tests.	 Add -L option to ld.
2001-03-12  DJ Delorie	<dj@redhat.com>
* ld-sh/sh64/relax.exp: New file, test disabling relaxing.
* ld-sh/sh64/relax1.s: Ditto.
* ld-sh/sh64/relax2.s: Ditto.
* ld-sh/sh64/relax3.s: Ditto.
* ld-sh/sh64/relax4.s: Ditto.
* ld-sh/sh64/relfail.exp: New file, test for bogus relocs.
* ld-sh/sh64/relfail.s: Ditto.
2001-03-12  DJ Delorie	<dj@redhat.com>
* ld-sh/sh.exp: This test isn't appropriate for SH64 since it
uses SH32 assembler files.
2001-03-07  DJ Delorie	<dj@redhat.com>
* ld-selective/selective.exp: Pass "-e _start" for sh64 to
accomodate expected start symbol in test.
2001-03-06  DJ Delorie	<dj@redhat.com>
* ld-scripts/crossref.exp: Pass -mshelf32 to the linker for sh64,
to match what gcc passes to the linker by default.
* ld-selective/selective.exp: Ditto.
* ld-srec/srec.exp: Ditto, plus XFAIL for sh64.
* ld-undefined/undefined.exp: Add XFAIL for sh64 (it's dwarf2).
2001-03-06  DJ Delorie	<dj@redhat.com>
* ld-sh/sh64/abi32.xd (stack): Adjust for new default stack layout.
* ld-sh/sh64/abi64.xd (stack): Ditto.
* ld-sh/sh64/cmpct1.xd (stack): Ditto.
* ld-sh/sh64/crange1.rd (stack): Ditto.
* ld-sh/sh64/crange2.rd (stack): Ditto.
* ld-sh/sh64/crange3-cmpct.rd (stack): Ditto.
* ld-sh/sh64/crange3-media.rd (stack): Ditto.
* ld-sh/sh64/crange3.rd (stack): Ditto.
* ld-sh/sh64/mix1.xd (stack): Ditto.
* ld-sh/sh64/mix2.xd (stack): Ditto.
* ld-sh/sh64/shdl32.xd (stack): Ditto.
* ld-sh/sh64/shdl64.xd (stack): Ditto.
2001-01-14  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/mix1.xd: Add SORT_ENTRIES for .cranges section.
* ld-sh/sh64/mix2.xd: Ditto.
2001-01-08  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/abi32.xd: Adjust for bit 0 set on an entry address
being SHmedia.
* ld-sh/sh64/shdl64.xd: Ditto.
* ld-sh/sh64/shdl32.xd: Ditto.
* ld-sh/sh64/mix2.xd: Ditto.
* ld-sh/sh64/crange3-media.rd: Ditto.
* ld-sh/sh64/abi64.xd: Ditto.
2001-01-06  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/crange-2a.s (diversion2): New global symbol.
* ld-sh/sh64/crange1.rd: Adjust to presence of new symbol.
Adjust section type for .cranges; expect sorted contents.
* ld-sh/sh64/crange2.rd: Ditto.
* ld-sh/sh64/crange3.dd, ld-sh/sh64/crange3.rd: Ditto.
* ld-sh/sh64/crangerel1.rd: Adjust to presence of new symbol.
* ld-sh/sh64/crangerel2.rd: Ditto.
* ld-sh/sh64/mix1.xd: Adjust to DEBUGGING being set for .cranges.
* ld-sh/sh64/mix2.xd: Ditto.
* ld-sh/sh64/crange3-cmpct.rd, ld-sh/sh64/crange3-media.rd: New
tests.
* ld-sh/sh64/sh64.exp: Tweak test message.  Run new tests.
2001-01-05  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/shmix-1.s (start2): Add a NOP to provide a valid
target for (unexpanded) PTB.  Add an .align 2 to SHmedia code to
keep properly aligned.
* ld-sh/sh64/mix1.sd, ld-sh/sh64/mix1.xd: Adjust accordingly.
* ld-sh/sh64/mix1-noexp.sd, ld-sh/sh64/mix2-noexp.sd,
ld-sh/sh64/abixx-noexp.sd: New tests for GAS -no-expand and
R_SH_PT_16 relocation.
* ld-sh/sh64/sh64.exp: Run new tests.
2000-12-30  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/crange-2f.s, ld-sh/sh64/crange-2g.s,
ld-sh/sh64/crange-2h.s, ld-sh/sh64/crange-2i.s,
ld-sh/sh64/crange3.dd, ld-sh/sh64/crange3.rd: New tests.
* ld-sh/sh64/sh64.exp: Run new tests.
* ld-sh/sh64/crange1.rd: Correct section flags.
* ld-sh/sh64/crange2.rd: Ditto.
* ld-sh/sh64/crangerel1.rd: Ditto.
2000-12-18  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/crange-1.s, ld-sh/sh64/crange-2a.s,
ld-sh/sh64/crange-2b.s, ld-sh/sh64/crange-2c.s,
ld-sh/sh64/crange-2d.s, ld-sh/sh64/crange-2e.s,
ld-sh/sh64/crange1.rd, ld-sh/sh64/crange2.rd,
ld-sh/sh64/crangerel1.rd, ld-sh/sh64/crangerel2.rd: New tests for
handling .cranges section.
* ld-sh/sh64/sh64.exp: Run new tests.
* ld-sh/sh64/mix1.sd, ld-sh/sh64/mix1.xd, ld-sh/sh64/mix2.sd,
ld-sh/sh64/mix2.xd: Adjust for .cranges section.
2000-12-15  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/abi32.sd, ld-sh/sh64/abi32.xd, ld-sh/sh64/abi64.sd,
ld-sh/sh64/abi64.xd, ld-sh/sh64/cmpct1.xd, ld-sh/sh64/mix1.sd,
ld-sh/sh64/mix1.xd, ld-sh/sh64/mix2.sd, ld-sh/sh64/mix2.xd,
ld-sh/sh64/shdl32.xd, ld-sh/sh64/shdl64.xd: Adjust to .bss and
.data individually 8-byte aligned.
2000-12-09  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/rel-1.s, ld-sh/sh64/rel-2.s, ld-sh/sh64/rel32.xd,
ld-sh/sh64/rel64.xd, ld-sh/sh64/reldl-1.s, ld-sh/sh64/reldl-2.s,
ld-sh/sh64/reldl32.rd, ld-sh/sh64/reldl64.rd: New tests.
* ld-sh/sh64/sh64.exp: Make it possible to use readelf as
inspection tool.  Run new tests.
2000-12-07  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/abi64.sd, ld-sh/sh64/abi32.sd, ld-sh/sh64/mix1.sd,
ld-sh/sh64/mix2.sd: Correct offsets in PT/PTA/PTB expansions.
* ld-sh/sh64/shdl-1.s, ld-sh/sh64/shdl-2.s, ld-sh/sh64/shdl64.sd,
ld-sh/sh64/shdl64.xd, ld-sh/sh64/shdl32.xd: New tests.
* ld-sh/sh64/sh64.exp: Run new tests.
2000-12-01  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/cmpct1.sd, ld-sh/sh64/cmpct1.xd,
ld-sh/sh64/shcmp-1.s: New test.
* ld-sh/sh64/sh64.exp: Add new test to sh64tests.  Reformat.
2000-11-30  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/sh64.exp: Use linker option -mshelf64 for 64-bit ABI
test.
* ld-sh/sh64/abi64.xd: Tweak for 64-bit ELF.
2000-11-29  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/sh64.exp (sh64tests): Use linker option -mshelf32 for
tests.
2000-11-27  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/abi32.sd, ld-sh/sh64/abi64.sd: Correct MOVI
registers.
* ld-sh/sh64/mix1.sd, ld-sh/sh64/mix1.xd, ld-sh/sh64/shmix-1.s:
New test.
* ld-sh/sh64/mix2.sd, ld-sh/sh64/mix2.xd, ld-sh/sh64/shmix-2.s,
ld-sh/sh64/shmix-3.s: New test.
* ld-sh/sh64/sh64.exp: Add new tests to sh64tests.
2000-11-26  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64: New testsuite.
2002-02-08 06:50:02 +00:00
Alexandre Oliva
60e955f1b0 * ld-sh/shared-1.d: Fix incorrect offsets. 2002-02-02 02:21:33 +00:00
Nick Clifton
8b8c5dbda5 Add missing 'cp' command 2002-01-15 12:41:00 +00:00
H.J. Lu
c3b1835c01 2001-11-15 H.J. Lu <hjl@gnu.org>
* ld-sh/ld-r-1.d: Updated.
2001-11-15 19:10:05 +00:00
Nick Clifton
dc5e727b86 Fix testsuites for bigendian sh-linux 2001-11-02 17:07:52 +00:00
Hans-Peter Nilsson
d45d3ffb18 * ld-sh/sub2l-1.d, ld-sh/shared-1.d, ld-sh/weak1.d: Only run on
sh*-*-elf.
2001-10-15 00:14:37 +00:00
Hans-Peter Nilsson
7739e068a7 * ld-sh/rd-sh.exp: New framework file.
* ld-sh/ld-r-1.d, ld-sh/ldr1.s, ld-sh/ldr2.s, ld-sh/shared-1.d,
	ld-sh/weak1.s, ld-sh/weak1.d, ld-sh/sub2l.s, ld-sh/sub2l-1.d: New
	test files.
2001-10-14 15:18:11 +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
Nick Clifton
1e329ce6ac For sh-*-linux-gnu target add a start address for the text section. 2001-05-28 10:55:23 +00:00
Nick Clifton
a2b64bede3 Fixtypos in ChangeLogs, fix copyright dates in files 2001-03-13 06:14:29 +00:00
Hans-Peter Nilsson
332dac408a * ld-sh/sh.exp: Use --oformat srec, not -oformat srec. 2001-01-13 23:13:16 +00:00
Richard Henderson
252b5132c7 19990502 sourceware import 1999-05-03 07:29:11 +00:00