Alexandre Oliva
42644a8920
* emultempl/elf32.em (gld${EMULATION_NAME}_add_sysroot): Fix
memory allocation error.
24 years ago
Nick Clifton
0125cdf20c
(ld_sysroot): Try to set from TOOLBINDIR too.
24 years ago
Nick Clifton
cf888e70e2
Disable region size checking whilst relaxing sections.
24 years ago
Nick Clifton
36f63dca98
Apply Bob Wilson's linker documenation clean ups.
24 years ago
Alexandre Oliva
715d16565f
* configure.in (TARGET_SYSTEM_ROOT): Set default to
${exec_prefix}/${target_alias}/sys-root. Match explicit
'${exec_prefix}' (in addition to the expansion thereof) as
relocatable.
* configure: Rebuilt.
24 years ago
Alan Modra
8e23b15d1c
* ldgram.y (vers_defns): Also recurse with 'EXTERN NAME' patterns.
* ldgram.y (vers_defns): Allow optional trailing semicolon in
EXTERN NAME block;
24 years ago
Alan Modra
89b16ee576
* ld-powerpc/tlsexe.d: Update for changed handling of invalid LD
relocs.
* ld-powerpc/tlsexe.g: Likewise.
* ld-powerpc/tlsexe.r: Likewise.
* ld-powerpc/tlsexe.t: Likewise.
24 years ago
Alan Modra
2a050fb5ce
New tests.
24 years ago
Alan Modra
f9e6bfa8dc
* emultempl/ppc32elf.em: New file.
* emulparams/elf32ppc.sh (EXTRA_EM_FILE): Define.
* Makefile.am (eelf32lppc.c): Depend on emultempl/ppc32elf.em.
(eelf32lppcnto.c): Likewise.
(eelf32lppcsim.c): Likewise.
(eelf32ppcnto.c): Likewise.
(eelf32ppc.c): Likewise.
(eelf32ppc_fbsd.c): Likewise.
(eelf32ppcsim.c): Likewise.
(eelf32ppclinux.c): Likewise.
24 years ago
Alan Modra
9a6c7def26
* ld.texinfo: Remove spaces between @samp and opening brace.
24 years ago
Alan Modra
5502cb9fb4
* ld-powerpc/tlsexe.g: Update for 2003-02-14 elf64-ppc.c change.
24 years ago
Alan Modra
a015f5eccc
* emultempl/ppc64elf.em (ppc_create_output_section_statements): Check
hash creator.
(ppc_before_allocation): Don't do optimizations if wrong hash table.
(gld${EMULATION_NAME}_finish): Ditto.
24 years ago
Nick Clifton
ae9a127f86
Fix the behaviour of --allow-shlib-undefined, so that it does what it claims
to do. Add an inverse switch. Update the documentation.
24 years ago
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.
24 years ago
Nick Clifton
7e4482c1bb
Fix spelling typo in previous delta
24 years ago
Nick Clifton
db6a591064
Add new data anchors defenitions.
24 years ago
Nick Clifton
42b5d0eaa9
Add support for configuring *-*-kaos targets.
24 years ago
Dave Anglin
cfbd8dfaa6
* hppaelf.em (group_size): Change default back to 1.
24 years ago
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.
24 years ago
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.
24 years ago
Alan Modra
e5096e3f2d
* emultempl/ppc64elf.em: Add "no-tls-optimize" option and support code.
24 years ago
Dave Anglin
5e1e138d28
* hppaelf.em (group_size): Change default to -1.
24 years ago
Nick Clifton
ef5bdbd1fe
Add duplicate entry for no-pipeline-knowledge. This will prevent the getopt
package from thinking that there are any shorter abbreviations for
--no-pipeline-knowledge.
24 years ago
Jakub Jelinek
d460ab5823
* genscripts.sh (LIB_PATH): Don't append LIBPATH_SUFFIX to paths
which already have it. Avoid duplicates.
24 years ago
Jakub Jelinek
cad91d28c9
* emulparams/elf64_s390.sh (LIBPATH_SUFFIX): Set to 64.
* emulparams/elf_x86_64.sh (LIBPATH_SUFFIX): Likewise.
* emulparams/elf64_sparc.sh (LIBPATH_SUFFIX): Set instead of suffix.
24 years ago
Alan Modra
266fb68310
new ppc64 tls tests
24 years ago
Alan Modra
e0468e59ad
* emultempl/ppc64elf.em (ppc_before_allocation): Size sections then
call ppc64_elf_tls_optimize.
24 years ago
Daniel Jacobowitz
3dc16cab3d
* emultempl/elf32.em: Move gld${EMULATION_NAME}_add_sysroot
outside of GNU/Linux conditional.
24 years ago
Nick Clifton
a35bc64f56
Add code to prevent importing a dll multiple times.
24 years ago
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.
24 years ago
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.
24 years ago
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.
24 years ago
Alan Modra
0ef7d236e5
* ld-alpha/tlsbin.sd: Cope with truncated address in data dumps.
* ld-alpha/tlsbin.td: Likewise.
* ld-alpha/tlsbinr.sd: Likewise.
24 years ago
Alan Modra
f0abc2a11f
include/elf/ChangeLog
* sh.h: Split out various bits to bfd/elf32-sh64.h.
include/opcode/ChangeLog
* m68hc11.h (cpu6812s): Define.
bfd/ChangeLog
* elf-bfd.h (struct bfd_elf_section_data): Remove tdata. Change
dynindx to an int. Rearrange for better packing.
* elf.c (_bfd_elf_new_section_hook): Don't alloc if already done.
* elf32-mips.c (bfd_elf32_new_section_hook): Define.
* elf32-sh64.h: New. Split out from include/elf/sh.h.
(struct _sh64_elf_section_data): New struct.
(sh64_elf_section_data): Don't dereference sh64_info (was tdata).
* elf32-sh64-com.c: Include elf32-sh64.h.
* elf32-sh64.c: Likewise.
(sh64_elf_new_section_hook): New function.
(bfd_elf32_new_section_hook): Define.
(sh64_elf_fake_sections): Adjust for sh64_elf_section_data change.
(sh64_bfd_elf_copy_private_section_data): Likewise.
(sh64_elf_final_write_processing): Likewise.
* elf32-sparc.c (struct elf32_sparc_section_data): New.
(elf32_sparc_new_section_hook): New function.
(SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
(sec_do_relax): Define.
(elf32_sparc_relax_section): Adjust to use sec_do_relax.
(elf32_sparc_relocate_section): Likewise.
* elf64-mips.c (bfd_elf64_new_section_hook): Define.
* elf64-mmix.c (struct _mmix_elf_section_data): New.
(mmix_elf_section_data): Define. Use throughout file.
(mmix_elf_new_section_hook): New function.
(bfd_elf64_new_section_hook): Define.
* elf64-ppc.c (struct _ppc64_elf_section_data): New.
(ppc64_elf_section_data): Define. Use throughout.
(ppc64_elf_new_section_hook): New function.
(bfd_elf64_new_section_hook): Define.
* elf64-sparc.c (struct sparc64_elf_section_data): New.
(sparc64_elf_new_section_hook): New function.
(SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
(sec_do_relax): Define.
(sparc64_elf_relax_section): Adjust to use sec_do_relax.
(sparc64_elf_relocate_section): Likewise.
(bfd_elf64_new_section_hook): Define.
* elfn32-mips.c (bfd_elf32_new_section_hook): Define.
* elfxx-mips.c (struct _mips_elf_section_data): New.
(mips_elf_section_data): Define. Use throughout.
(_bfd_mips_elf_new_section_hook): New function.
(mips_elf_create_got_section): Don't alloc used_by_bfd.
* elfxx-mips.h (_bfd_mips_elf_new_section_hook): Declare.
* elfxx-target.h (bfd_elfNN_new_section_hook): Add #ifndef.
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
opcodes/ChangeLog
* sh64-dis.c: Include elf32-sh64.h.
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
gas/ChangeLog
* config/tc-sh64.c (shmedia_frob_section_type): Adjust for changed
sh64_elf_section_data.
* config/tc-sh64.h: Include elf32-sh64.h.
* config/tc-m68hc11.c: Don't include stdio.h.
(md_show_usage): Fix missing continuation.
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
ld/ChangeLog
* emultempl/sh64elf.em: Include elf32-sh64.h.
(sh64_elf_${EMULATION_NAME}_before_allocation): Adjust for changed
sh64_elf_section_data.
(sh64_elf_${EMULATION_NAME}_after_allocation): Likewise.
24 years ago
Nick Clifton
489d0400af
Remove an extra "i" in --dll-search-prefix.
Move a cross-80th-column-margin "an" to the next line.
24 years ago
Richard Henderson
8b0c8155b2
New TLS tests for Alpha.
24 years ago
Nick Clifton
dd1e43b69f
fix typo in previous entry
24 years ago
Nick Clifton
019ac0e357
Fix generation of tic3xcoff_onchip.c
24 years ago
Nick Clifton
da896d3fcc
Add support for i386-*-aros triple.
24 years ago
Svein Seldal
0da35f8be8
Updates for fixing tic4x arch tagging of its object files.
* bfd/coffcode.h (coff_set_flags): Added get/set arch hooks.
* include/coff/tic4x.h (TICOFF_TARGET_MACHINE_GET): Fixed define bug
* include/coff/ti.h (TICOFF_TARGET_MACHINE_GET): Added macros
* ld/Makefile.am: Added etic3xcoff.o and etic4xcoff_onchip.o
* ld/Makefile.in: Regenerate
* ld/configure.tgt: Added extra target emulations
* ld/emulparams/tic3xcoff.sh: Remove old settings
* ld/emulparams/tic4xcoff.sh: Ditto
* ld/emulparams/tic3xcoff-onchip.sh: Added new
* ld/scripttempl/tic4xcoff.sc: Revise and combine both c3x and c4x
* ld/scripttempl/tic3xcoff.sc: Remove
24 years ago
Alan Modra
d2823f55fd
* ld-srec/srec.exp (run_srec_test): Pass --traditional-format to ld.
24 years ago
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.
24 years ago
Andreas Jaeger
ae42d3a94d
* emultempl/elf32.em (gld${EMULATION_NAME}_add_sysroot): Do not
skip ':'.
24 years ago
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.
24 years ago
Alan Modra
6f78fb71bb
* Makefile.in: Regenerate.
24 years ago
Nick Clifton
0a5d968ed1
(node WIN32): Some clarifications and formatting fixups.
24 years ago
Chris Demetriou
6f33421c47
2003-01-09 Chris Demetriou <cgd@broadcom.com>
* ldmain.c (get_emulation): Sort -mipsNN checks in the usual
order, and handle (ignore) -mips32r2.
24 years ago
Daniel Jacobowitz
a65fb6096a
* ldmain.c (main): Make sure ld_sysroot is initialized.
24 years ago
Daniel Jacobowitz
9c8ebd6a51
* Makefile.am (eelf32iq10.c): Fix tab/whitespace mixup.
* Makefile.am (ldmain.o): Add @TARGET_SYSTEM_ROOT_DEFINE@.
(GENSCRIPTS): Add @use_sysroot@.
* Makefile.in: Regenerated.
* configure.host: Move setting of NATIVE_LIB_DIRS to...
* configure.tgt: ... here. Use ${target} instead of ${host}
for NATIVE_LIB_DIRS.
* configure.in: Add --with-sysroot.
* configure: Regenerated.
* genscripts.sh: Accept use_sysroot option. Set new variables
NATIVE and USE_LIBPATH. Prepend "=" to directory names if
$use_sysroot. Don't search $tool_lib if $use_sysroot.
* ldfile.c (ldfile_add_library_path): Handle leading '='.
* ldmain.c (TARGET_SYSTEM_ROOT): Define if not defined.
(ld_sysroot): New variable.
(main): Initialize ld_sysroot.
* ldmain.h (ld_sysroot): New extern.
* emultempl/elf32.em: Use NATIVE and USE_LIBPATH instead of
searching $EMULATION_LIBPATH.
(gld${EMULATION_NAME}_add_sysroot): New function.
(gld${EMULATION_NAME}_check_ld_so_conf): Use it. Honor ld_sysroot.
(gld${EMULATION_NAME}_after_open): Likewise. Only search
environment variables if $NATIVE.
* ld.texinfo (Options): Mention "=" prefix in the description of -L.
* NEWS: Mention --with-sysroot.
* emulparams/elf32bmipn32-defs.sh: Set NATIVE and LIBPATH_SUFFIX
instead of setting LIB_PATH.
* emulparams/elf32ppc.sh: Likewise.
* emulparams/elf64_s390.sh: Likewise.
* emulparams/elf64_sparc.sh: Likewise.
* emulparams/elf64ppc.sh: Likewise.
* emulparams/elf_x86_64.sh: Likewise.
* emulparams/elf64_aix.sh: Add "=" prefixes to LIB_PATH.
* emulparams/elf64hppa.sh: Add "=" prefixes to LIB_PATH.
24 years ago
Christopher Faylor
54d4efe3df
* ld/pe-dll.c (autofilter_symbollist): Add cygwin_crt0.
24 years ago