Nick Clifton
b4275f439a
Add new devices x1122 x1132 emulation.
2003-03-04 17:02:40 +00:00
Alexandre Oliva
4ca1b7908a
* ldmain.c (set_scripts_dir): Look for relative to TOOLBINDIR as
...
well.
2003-03-03 20:01:02 +00:00
Alexandre Oliva
e3f2db7fa6
* ldfile.h (struct search_dirs): Added sysrooted field.
...
* ldlang.h (struct lang_input_statement_struct): Likewise.
* ldfile.c (ldfile_add_library_path): Mark sysrooted paths.
(ldfile_open_file_search): Look for sysrooted filename starting
with / in ld_sysroot instead of in the current directory. Clear
sysrooted flag if it's found in the current directory. Set it
from the search directory's sysrooted flag where it is found
otherwise.
* ldlang.c (ldlang_sysrooted_script): New static variable.
(new_afile): Mark search_file_enums as sysrooted if
ldlang_sysrooted_script.
(load_symbols): Set ldlang_sysrooted_script according to the
script's sysrooted field while processing it.
* ld.texinfo: Document INPUT behavior in sysroot.
2003-03-03 20:00:35 +00:00
Christopher Faylor
15c9f67344
* scripttempl/pe.sc: Use PROVIDE with etext, end, _end,
2003-03-03 02:38:10 +00:00
Alan Modra
c279ca3ee9
* emulparams/elf64alpha.sh (EXTRA_EM_FILE): Define.
...
(PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS,
PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES,
PARSE_AND_LIST_EPILOGUE): Don't define.
* emultempl/alphaelf.em: New file.
2003-03-02 22:07:10 +00:00
Alan Modra
fcf6587111
* ldemul.c: Include getopt.h.
...
* emultempl/elf32.em: Include getopt.h earlier.
* emultempl/ticoff.em: Likewise.
2003-02-28 22:55:11 +00:00
Alan Modra
a060b769bb
* emultempl/elf32.em (gld${EMULATION_NAME}_get_script): Add combreloc
...
support when scripts read from files.
2003-02-28 04:46:04 +00:00
Alan Modra
3aa97c5886
* ldemul.c (ldemul_parse_args): Return FALSE by default.
...
* ldemul.h (struct ld_emulation_xfer_struct): Update parse_args
comment.
2003-02-28 02:10:06 +00:00
Alan Modra
3bcf55573d
* ldemul.c (ldemul_add_options, ldemul_handle_option): New functions.
...
(ldemul_parse_args): Return bfd_boolean. Formatting.
* ldemul.h (ldemul_add_options, ldemul_handle_option): Declare.
(ldemul_parse_args): Adjust.
(struct ld_emulation_xfer_struct): Add add_options and handle_option.
Return bfd_boolean from parse_args.
* lexsup.c (parse_args): Malloc shortopts, longopts and
really_longopts. Call ldemul_add_options and ldemul_handle_option.
* emultempl/aix.em (gld${EMULATION_NAME}_add_options): Split out from
gld${EMULATION_NAME}_parse_args.
(gld${EMULATION_NAME}_handle_option): Likewise.
(ld_${EMULATION_NAME}_emulation): Adjust initializer.
* emultempl/armcoff.em: As for aix.em, but remove parse_args.
* emultempl/beos.em: Likewise.
* emultempl/pe.em: Likewise.
* emultempl/ticoff.em: Likewise.
* emultempl/elf32.em: Likewise. Don't duplicate long options either.
(gld${EMULATION_NAME}_add_sysroot): Prototype.
* emultempl/armelf.em (PARSE_AND_LIST_LONGOPTS): Don't duplicate
options.
* emultempl/hppaelf.em (PARSE_AND_LIST_LONGOPTS): Likewise.
* emultempl/ppc32elf.em (PARSE_AND_LIST_LONGOPTS): Likewise.
* emultempl/ppc64elf.em (PARSE_AND_LIST_LONGOPTS): Likewise.
* emultempl/armelf_oabi.em (ld_${EMULATION_NAME}_emulation): Adjust
initializer.
* emultempl/generic.em: Likewise.
* emultempl/gld960.em: Likewise.
* emultempl/gld960c.em: Likewise.
* emultempl/linux.em: Likewise.
* emultempl/lnk960.em: Likewise.
* emultempl/m68kcoff.em: Likewise.
* emultempl/mipsecoff.em: Likewise.
* emultempl/sunos.em: Likewise.
* emultempl/vanilla.em: Likewise.
* emultempl/netbsd.em (gldnetbsd_before_parse): Prototype.
2003-02-28 01:32:31 +00:00
Alexandre Oliva
42644a8920
* emultempl/elf32.em (gld${EMULATION_NAME}_add_sysroot): Fix
...
memory allocation error.
2003-02-26 00:56:14 +00:00
Nick Clifton
0125cdf20c
(ld_sysroot): Try to set from TOOLBINDIR too.
2003-02-25 10:32:33 +00:00
Nick Clifton
cf888e70e2
Disable region size checking whilst relaxing sections.
2003-02-21 10:51:24 +00:00
Nick Clifton
36f63dca98
Apply Bob Wilson's linker documenation clean ups.
2003-02-21 10:27:06 +00:00
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.
2003-02-20 23:38:58 +00:00
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;
2003-02-20 01:02:39 +00:00
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.
2003-02-18 12:54:56 +00:00
Alan Modra
2a050fb5ce
New tests.
2003-02-18 06:11:32 +00:00
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.
2003-02-18 06:05:07 +00:00
Alan Modra
9a6c7def26
* ld.texinfo: Remove spaces between @samp and opening brace.
2003-02-18 04:52:21 +00:00
Alan Modra
5502cb9fb4
* ld-powerpc/tlsexe.g: Update for 2003-02-14 elf64-ppc.c change.
2003-02-17 22:49:53 +00:00
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.
2003-02-17 22:49:24 +00:00
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.
2003-02-17 18:24:40 +00:00
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
Nick Clifton
7e4482c1bb
Fix spelling typo in previous delta
2003-02-11 18:03:44 +00:00
Nick Clifton
db6a591064
Add new data anchors defenitions.
2003-02-11 18:02:55 +00:00
Nick Clifton
42b5d0eaa9
Add support for configuring *-*-kaos targets.
2003-02-11 13:47:08 +00:00
Dave Anglin
cfbd8dfaa6
* hppaelf.em (group_size): Change default back to 1.
2003-02-11 02:20:30 +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
e5096e3f2d
* emultempl/ppc64elf.em: Add "no-tls-optimize" option and support code.
2003-02-09 04:36:44 +00:00
Dave Anglin
5e1e138d28
* hppaelf.em (group_size): Change default to -1.
2003-02-07 15:55:49 +00:00
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.
2003-02-07 15:32:22 +00:00
Jakub Jelinek
d460ab5823
* genscripts.sh (LIB_PATH): Don't append LIBPATH_SUFFIX to paths
...
which already have it. Avoid duplicates.
2003-02-07 14:21:03 +00:00
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.
2003-02-06 14:45:04 +00:00
Alan Modra
266fb68310
new ppc64 tls tests
2003-02-04 14:52:11 +00:00
Alan Modra
e0468e59ad
* emultempl/ppc64elf.em (ppc_before_allocation): Size sections then
...
call ppc64_elf_tls_optimize.
2003-02-04 14:51:35 +00:00
Daniel Jacobowitz
3dc16cab3d
* emultempl/elf32.em: Move gld${EMULATION_NAME}_add_sysroot
...
outside of GNU/Linux conditional.
2003-02-03 17:47:23 +00:00
Nick Clifton
a35bc64f56
Add code to prevent importing a dll multiple times.
2003-01-28 11:39:43 +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
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.
2003-01-23 11:51:35 +00:00
Nick Clifton
489d0400af
Remove an extra "i" in --dll-search-prefix.
...
Move a cross-80th-column-margin "an" to the next line.
2003-01-23 09:30:44 +00:00
Richard Henderson
8b0c8155b2
New TLS tests for Alpha.
2003-01-22 00:41:59 +00:00
Nick Clifton
dd1e43b69f
fix typo in previous entry
2003-01-21 17:11:56 +00:00
Nick Clifton
019ac0e357
Fix generation of tic3xcoff_onchip.c
2003-01-21 17:09:47 +00:00
Nick Clifton
da896d3fcc
Add support for i386-*-aros triple.
2003-01-21 16:08:31 +00:00
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
2003-01-20 22:34:39 +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