Nick Clifton
3d198be3d5
Only run tests for PE type x86 targets.
2002-11-07 08:36:04 +00:00
Alexandre Oliva
426af4fec2
* emulparams/elf32btsmipn32.sh (TEXT_DYNAMIC): Define.
...
* emulparams/elf64btsmip.sh (TEXT_DYNAMIC): Likewise.
2002-11-07 00:46:59 +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
Daniel Jacobowitz
df2a731323
* emultempl/aix.em: Use include <> for generated headers.
...
* emultempl/beos.em: Likewise.
* emultempl/elf32.em: Likewise.
* emultempl/pe.em: Likewise.
* ldctor.c: Likewise.
* ldexp.c: Likewise.
* ldfile.c: Likewise.
* ldlang.c: Likewise.
* ldlex.c: Likewise.
* ldlex.l: Likewise.
* ldmain.c: Likewise.
* ldmisc.c: Likewise.
* ldwrite.c: Likewise.
* lexsup.c: Likewise.
* mri.c: Likewise.
* pe-dll.c: Likewise.
2002-10-30 03:57:39 +00:00
Jakub Jelinek
a8927cfd1a
* emultempl/elf32.em (place_orphan): Don't put non-allocated .rel*
...
sections into .rel{,a}.dyn.
2002-10-23 20:13:01 +00:00
Nick Clifton
63fd3b826b
Add new command line option "--no-omagic" which undoes the effects of -N.
2002-10-23 13:24:10 +00:00
Nick Clifton
3637916721
(__RUNTIME_PSEUDO_RELOC_LIST__, __RUNTIME_PSEUDO_RELOC_LIST_END__): Add
...
only when relocating.
2002-10-23 11:21:27 +00:00
Alexandre Oliva
3ffe58d945
* emulparams/elf32bmipn32-defs.sh: Set ELFSIZE according to
...
emulation name. Set LIB_PATH only for native tools, and
search the ABI-specific versions of NATIVE_LIB_DIRS before the
.../lib variants, not instead of them. Mostly copied from...
* emulparams/elf32ppc.sh: ... here. Fixed typo.
* emulparams/elf64bmip-defs.sh: Backed out.
* emulparams/elf64bmip.sh: Import elf32bmipn32-defs.sh again.
* emulparams/elf64btsmip.sh: Likewise.
(DATA_ADDR, NONPAGED_TEXT_START_ADDR, SHLIB_TEXT_START_ADDR,
TEXT_DYNAMIC): Removed.
2002-10-22 22:13:26 +00:00
Alexandre Oliva
e316b3a0ed
* emulparams/elf32bmipn32-defs.sh (LIB_PATH): Set to /usr/lib32.
...
(GENERATE_SHLIB_SCRIPT): Set to yes.
(EXECUTABLE_SYMBOLS, WRITABLE_RODATA): Moved to...
* emulparams/elf32bmipn32.sh: here.
(GENERATE_SHLIB_SCRIPT): Deleted as redundant.
* emulparams/elf32btsmipn32.sh: Delete redundant unsets.
* emulparams/elf64bmip-defs.sh: New file. Extend
elf32bmipn32-defs.sh by overiding ELFSIZE and LIB_PATH.
* emulparams/elf64bmip.sh: Bring in definitions from
elf64bmip-defs.sh.
(ELFSIZE, GENERATE_SHLIB_SCRIPT, LIB_PATH): Delete redundant
settings.
(WRITABLE_RODATA): Moved from elf32bmipn32-defs.sh.
* emulparams/elf64btsmip.sh: Bring in definitions from
elf64bmip-defs.sh.
(ELFSIZE, GENERATE_SHLIB_SCRIPT): Delete, redundant.
(EXECUTABLE_SYMBOLS, WRITABLE_RODATA): Delete redundant unsets.
2002-10-17 21:54:44 +00:00
Jakub Jelinek
f52d1d6405
* config.bfd (s390-*-linux*): Add targ64_selvecs.
...
(s390x-*-linux*): Add targ_selvecs.
* config.table: Use mh-s390pic for s390x too.
* configure.tgt (s390x-*-linux*): Add elf_s390 emulation.
(s390-*-linux*): Add elf64_s390 emulation if want64.
* emulparams/elf64_sparc.sh (LIB_PATH): Update to match 2002-05-22
genscript.sh changes.
* emulparams/elf_x86_64.sh (LIB_PATH): Likewise.
* emulparams/elf64_s390.sh (LIB_PATH): Set up native 64 bit dirs.
2002-10-16 19:54:54 +00:00
Alan Modra
03bdc40405
* ldlang.c (load_symbols): Revert last change.
2002-10-15 00:09:02 +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
Alan Modra
7c519c12a3
* ldlang.c (load_symbols): Don't call bfd_link_add_symbols when
...
just_syms_flag.
(lang_reasonable_defaults): Don't compare against false.
(size_input_section): Likewise.
(lang_size_sections_1): Likewise.
(lang_do_assignments): Likewise.
(lang_add_output): Likewise.
2002-10-14 13:08:19 +00:00
Alan Modra
c6db2f0545
* Makefile.am: Run "make dep-am".
...
* Makefile.in: Regenerate.
* ldver.c: #include "bfdver.h".
2002-10-14 12:09:18 +00:00
Stephane Carrez
e1026ffb69
* scripttempl/elfm68hc11.sc: Use KEEP for .vectors, .installN,
...
.finiN section.
* scripttempl/elfm68hc12.sc: Likewise.
2002-10-13 09:29:35 +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
Alan Modra
fe213ce218
* pe-dll.c (make_import_fixup_mark): Avoid type-punned pointer.
2002-10-11 08:59:24 +00:00
Alan Modra
2d801b0fa0
* ldgram.y (memory_spec): Provide empty action.
...
(section <NAME>): Likewise.
2002-10-11 07:39:07 +00:00
Jakub Jelinek
599917b82b
* ldfile.c (ldfile_try_open_bfd): When searching skip linker scripts if
...
they have OUTPUT_FORMAT not matching actual output format.
* ldlang.c (lang_get_output_target): New function.
(open_output): Use it.
* ldlang.h (lang_get_output_target): New prototype.
2002-10-10 15:59:10 +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
Alan Modra
24cdb50ae8
* emultempl/elf32.em (output_rel_find): Prefer .rel script sections
...
when orphan is .rel, .rela when orphan is .rela.
(gld${EMULATION_NAME}_place_orphan): Handle combreloc .rel* case
first. Remove outsecname var.
2002-10-10 02:52:27 +00:00
Stephen Clarke
a2b3c63041
* Makefile.am: Add eshelf32_linux.o and
...
eshlelf32_linux.o, new emulations for sh64 Linux.
* Makefile.in: Regenerate.
* configure.tgt: Add sh64eb-*-linux* and sh64-*-linux* emulations.
* emulparams/shelf32_linux.sh: New file.
* emulparams/shlelf32_linux.sh: New file.
2002-10-09 19:09:59 +00:00
H.J. Lu
c04c958616
2002-10-08 H.J. Lu <hjl@gnu.org>
...
* ldlang.c (lang_file_exist): Removed.
(new_afile): Revert the last change.
* ldlang.h (lang_file_exist): Removed.
* lexsup.c (parse_args): Revert the last change.
2002-10-08 20:12:45 +00:00
Nick Clifton
39cebe23da
Don't re-export auto-import symbols.
2002-10-07 16:36:11 +00:00
Nick Clifton
53b2a62f07
Abort if the filename to be added matches the linker output filename.
2002-10-07 16:08:21 +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
Alan Modra
a86a09cc1b
* emulparams/elf64ppc.sh (MAXPAGESIZE): Set to 0x10000.
2002-10-02 02:21:52 +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
1bf0a4d93e
* scripttempl/elfd30v.sc: Order reloc sections placing .plt last.
...
* scripttempl/elfm68hc11.sc: Likewise.
* scripttempl/elfm68hc12.sc: Likewise.
2002-09-30 09:31:31 +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
H.J. Lu
42f986191b
No need to set OTHER_GOT_RELOC_SECTIONS in emulparams/elf32ppclinux.sh.
2002-09-30 04:23:40 +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
Alan Modra
ba49312244
* emultempl/elf32.em (output_rel_find): Always place orphan loadable
...
reloc sections just before .rel.plt/.rela.plt.
(gld${EMULATION_NAME}_place_orphan <.rel>): Remove combreloc code.
Only put loadable reloc sections in hold_rel.
2002-09-30 03:34:46 +00:00
H.J. Lu
fdb9132d5f
2002-09-29 H.J. Lu <hjl@gnu.org>
...
* ld/emulparams/elf32ppc.sh (OTHER_GOT_RELOC_SECTIONS): New.
* ld/emulparams/elf32ppclinux.sh (OTHER_GOT_RELOC_SECTIONS): New.
2002-09-29 23:59:49 +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
Daniel Jacobowitz
ff3268267c
From "Anita Kulkarni" <AnitaK@kpit.com>
...
* scripttempl/sh.sc: Handle .eh_frame* and .gcc_exc*
sections.
2002-09-25 17:06:09 +00:00
Alan Modra
1ddd7b13ed
* genscripts.sh (SEGMENT_SIZE): Use MAXPAGESIZE before
...
TARGET_PAGE_SIZE.
* scripttempl/elf.sc (DATA_SEGMENT_ALIGN): Incorporate
SEGMENT_SIZE alignment.
* emulparams/elf64ppc.sh (DATA_ADDR): Delete.
(SEGMENT_SIZE): Define.
2002-09-25 07:21:08 +00:00
Alan Modra
0ae1cf52b2
* ldexp.c (fold_unary): New. Split out from exp_fold_tree.
...
(fold_binary): Correct abs - non-abs case.
(fold_trinary): New. Split out from exp_fold_tree.
2002-09-25 02:42:13 +00:00
Alan Modra
06143382c6
* emulparams/elf64ppc.sh (DATA_ADDR): Define.
...
* emulparams/elf64_aix.sh (DATA_ADDR): Don't use a fixed address
for start of .data, instead align up to 256M boundary.
* scripttempl/aix.sc: Likewise.
2002-09-24 04:02:03 +00:00