aboutsummaryrefslogtreecommitdiff
path: root/ld
AgeCommit message (Collapse)AuthorFilesLines
2003-03-03* scripttempl/pe.sc: Use PROVIDE with etext, end, _end,Christopher Faylor2-3/+7
2003-03-02 * emulparams/elf64alpha.sh (EXTRA_EM_FILE): Define.Alan Modra3-51/+92
(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-02-28 * ldemul.c: Include getopt.h.Alan Modra4-5/+10
* emultempl/elf32.em: Include getopt.h earlier. * emultempl/ticoff.em: Likewise.
2003-02-28 * emultempl/elf32.em (gld${EMULATION_NAME}_get_script): Add combrelocAlan Modra2-0/+28
support when scripts read from files.
2003-02-28 * ldemul.c (ldemul_parse_args): Return FALSE by default.Alan Modra3-2/+6
* ldemul.h (struct ld_emulation_xfer_struct): Update parse_args comment.
2003-02-28 * ldemul.c (ldemul_add_options, ldemul_handle_option): New functions.Alan Modra25-293/+378
(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-26* emultempl/elf32.em (gld${EMULATION_NAME}_add_sysroot): FixAlexandre Oliva2-1/+4
memory allocation error.
2003-02-25(ld_sysroot): Try to set from TOOLBINDIR too.Nick Clifton4-80/+97
2003-02-21Disable region size checking whilst relaxing sections.Nick Clifton7-35/+70
2003-02-21Apply Bob Wilson's linker documenation clean ups.Nick Clifton4-640/+726
2003-02-20* configure.in (TARGET_SYSTEM_ROOT): Set default toAlexandre Oliva3-226/+252
${exec_prefix}/${target_alias}/sys-root. Match explicit '${exec_prefix}' (in addition to the expansion thereof) as relocatable. * configure: Rebuilt.
2003-02-20 * ldgram.y (vers_defns): Also recurse with 'EXTERN NAME' patterns.Alan Modra2-1/+25
* ldgram.y (vers_defns): Allow optional trailing semicolon in EXTERN NAME block;
2003-02-18 * ld-powerpc/tlsexe.d: Update for changed handling of invalid LDAlan Modra5-114/+121
relocs. * ld-powerpc/tlsexe.g: Likewise. * ld-powerpc/tlsexe.r: Likewise. * ld-powerpc/tlsexe.t: Likewise.
2003-02-18New tests.Alan Modra15-1/+625
2003-02-18 * emultempl/ppc32elf.em: New file.Alan Modra5-19/+120
* 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 * ld.texinfo: Remove spaces between @samp and opening brace.Alan Modra2-3/+7
2003-02-17 * ld-powerpc/tlsexe.g: Update for 2003-02-14 elf64-ppc.c change.Alan Modra2-1/+5
2003-02-17 * emultempl/ppc64elf.em (ppc_create_output_section_statements): CheckAlan Modra2-18/+35
hash creator. (ppc_before_allocation): Don't do optimizations if wrong hash table. (gld${EMULATION_NAME}_finish): Ditto.
2003-02-17Fix the behaviour of --allow-shlib-undefined, so that it does what it claimsNick Clifton4-16/+40
to do. Add an inverse switch. Update the documentation.
2003-02-13bfd/Jakub Jelinek12-15/+120
* 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-11Fix spelling typo in previous deltaNick Clifton1-1/+1
2003-02-11Add new data anchors defenitions.Nick Clifton3-0/+13
2003-02-11Add support for configuring *-*-kaos targets.Nick Clifton2-3/+11
2003-02-11 * hppaelf.em (group_size): Change default back to 1.Dave Anglin2-1/+5
2003-02-10 * ld-sh/tlstpoff-1.d: New.Kaz Kojima5-0/+99
* ld-sh/tlstpoff-2.d: New. * ld-sh/tlstpoff1.s: New. * ld-sh/tlstpoff2.s: New.
2003-02-09 * ld-powerpc/tlslib.s: Give .__tls_get_addr function type.Alan Modra10-236/+307
* 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 * emultempl/ppc64elf.em: Add "no-tls-optimize" option and support code.Alan Modra2-16/+32
2003-02-07 * hppaelf.em (group_size): Change default to -1.Dave Anglin2-1/+5
2003-02-07Add duplicate entry for no-pipeline-knowledge. This will prevent the getoptNick Clifton2-6/+14
package from thinking that there are any shorter abbreviations for --no-pipeline-knowledge.
2003-02-07 * genscripts.sh (LIB_PATH): Don't append LIBPATH_SUFFIX to pathsJakub Jelinek2-7/+29
which already have it. Avoid duplicates.
2003-02-06 * emulparams/elf64_s390.sh (LIBPATH_SUFFIX): Set to 64.Jakub Jelinek4-4/+10
* emulparams/elf_x86_64.sh (LIBPATH_SUFFIX): Likewise. * emulparams/elf64_sparc.sh (LIBPATH_SUFFIX): Set instead of suffix.
2003-02-04new ppc64 tls testsAlan Modra27-5/+1292
2003-02-04 * emultempl/ppc64elf.em (ppc_before_allocation): Size sections thenAlan Modra2-1/+19
call ppc64_elf_tls_optimize.
2003-02-03 * emultempl/elf32.em: Move gld${EMULATION_NAME}_add_sysrootDaniel Jacobowitz2-3/+10
outside of GNU/Linux conditional.
2003-01-28Add code to prevent importing a dll multiple times.Nick Clifton4-46/+100
2003-01-28* ld-mips-elf/multi-got-1.d: New.Alexandre Oliva5-1/+41013
* 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-24bfd/Jakub Jelinek39-0/+2598
* 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 * ld-s390/s390.exp: New file.Martin Schwidefsky28-0/+2613
* 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-23 * ld-alpha/tlsbin.sd: Cope with truncated address in data dumps.Alan Modra4-13/+19
* ld-alpha/tlsbin.td: Likewise. * ld-alpha/tlsbinr.sd: Likewise.
2003-01-23include/elf/ChangeLogAlan Modra2-9/+17
* 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-23Remove an extra "i" in --dll-search-prefix.Nick Clifton3-6/+13
Move a cross-80th-column-margin "an" to the next line.
2003-01-22New TLS tests for Alpha.Richard Henderson21-0/+1047
2003-01-21fix typo in previous entryNick Clifton1-3/+3
2003-01-21Fix generation of tic3xcoff_onchip.cNick Clifton4-2/+9
2003-01-21Add support for i386-*-aros triple.Nick Clifton2-0/+5
2003-01-20Updates for fixing tic4x arch tagging of its object files.Svein Seldal9-161/+157
* 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 * ld-srec/srec.exp (run_srec_test): Pass --traditional-format to ld.Alan Modra2-2/+7
2003-01-17 * elfxx-ia64.c (elfNN_ia64_relocate_section): HandleJakub Jelinek5-30/+72
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.
2003-01-17 * emultempl/elf32.em (gld${EMULATION_NAME}_add_sysroot): Do notAndreas Jaeger2-4/+9
skip ':'.
2003-01-16 * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): AddJakub Jelinek17-0/+860
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.