aboutsummaryrefslogtreecommitdiff
path: root/ld
AgeCommit message (Collapse)AuthorFilesLines
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.
2003-01-16 * Makefile.in: Regenerate.Alan Modra2-5/+9
2003-01-14(node WIN32): Some clarifications and formatting fixups.Nick Clifton2-8/+68
2003-01-092003-01-09 Chris Demetriou <cgd@broadcom.com>Chris Demetriou2-3/+9
* ldmain.c (get_emulation): Sort -mipsNN checks in the usual order, and handle (ignore) -mips32r2.
2003-01-09 * ldmain.c (main): Make sure ld_sysroot is initialized.Daniel Jacobowitz2-0/+6
2003-01-06 * Makefile.am (eelf32iq10.c): Fix tab/whitespace mixup.Daniel Jacobowitz22-412/+648
* 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.
2003-01-05* ld/pe-dll.c (autofilter_symbollist): Add cygwin_crt0.Christopher Faylor2-0/+5
2003-01-04 * Makefile.am (ldmain.o): Pass BINDIR.Daniel Jacobowitz4-4/+22
* Makefile.in: Regenerated. * ldmain.c (set_scripts_dir): Use make_relative_prefix for the first search path.
2003-01-04 * Makefile.am (ALL_EMULATIONS): Add eelf32iq2000.o.Stan Cox7-0/+498
(eelf32iq2000.c): New target. * Makefile.in: Regenerate. * configure.tgt: Handle iq2000-*-elf. * emulparams/elf32iq10.sh: New file. * emulparams/elf32iq2000.sh: New file. * scripttempl/iq2000.sc: New file.
2003-01-03 * ld-mips-elf/mips-elf-flags.exp: Add -mips4 to a -mgp64 test.Richard Sandiford2-1/+5
2003-01-02bfd/Richard Sandiford3-0/+152
* elfxx-mips.c: Include libiberty.h. (elf_mips_isa, _bfd_mips_elf_mach_extends_p): Remove. (mips_set_isa_flags): New function, split out from... (_bfd_mips_elf_final_write_processing): ...here. Only call mips_set_isa_flags if the EF_MIPS_MACH bits are clear. (mips_mach_extensions): New array. (mips_32bit_flags_p): New function. (_bfd_mips_elf_merge_private_bfd_data): Rework architecture checks. Use mips_32bit_flags_p to check if one binary is 32-bit and the other is 64-bit. When adopting IBFD's architecture, adopt the bfd_mach as well as the flags. ld/testsuite/ * ld-mips-elf/jr.s: New file. * ld-mips-elf/mips-elf-flags.exp: New test.
2003-01-02Add do_pseudo_reloc and _pei386_runtime_relocator to the exclude list.Nick Clifton2-1/+8
2003-01-02 * ldfile.c: Fix comment typos.Kazu Hirata5-14/+21
* ldlang.c: Likewise. * mri.c: Likewise. * pe-dll.c: Likewise.
2003-01-02 Suggested by Manfred Hollstein <manfred.h@gmx.net>:Daniel Jacobowitz3-2/+9
* Makefile.am (ld.1): Depend on configdoc.texi and ldver.texi. * Makefile.in: Regenerated.
2002-12-30Add support for msp430.Nick Clifton48-404/+1757
2002-12-30(HAVE_REALPATH): New entry.Nick Clifton2-6/+9
(HAVE_SYS_STAT_H, HAVE_SYS_TYPES_H): Removed: obsolete.
2002-12-30New win32 topics: 'symbol aliasing' and 'export dll symbols'.Nick Clifton2-13/+113
2002-12-23 * ldmain.c (main): Init "strip_discarded".Alan Modra3-9/+30
* lexsup.c (OPTION_STRIP_DISCARDED): Define. (OPTION_NO_STRIP_DISCARDED): Define. (ld_options): Add "strip-discarded" and "no-strip-discarded". (parse_args): Handle them.
2002-12-23Change linker's default behaviour - it will now reject binary files whoesNick Clifton7-3/+43
architecture it does not recognise, unless it has explicitly told to accept them.
2002-12-19 * ldmain.c (main): Re-order link_info initialization. Init allAlan Modra2-13/+21
fields.
2002-12-19Clarify and extend the documentation in the Machine Dependent, WIN32 section.Nick Clifton2-32/+141
2002-12-18Add win32 library search path.Nick Clifton2-1/+3
2002-12-18Add win32 machine depending section.Nick Clifton3-2/+123
2002-12-18Test the auto importing direct from a dll functionality.Nick Clifton4-0/+243
2002-12-17Don't search for data import when auto-import is disabled.Nick Clifton2-63/+75
2002-12-17Use LD_PATHMAX+1 to account for trailing '\0'.Nick Clifton2-2/+7
2002-12-17Duplicate entry for --compact-implib so that it is not confused with -c.Nick Clifton2-0/+8
2002-12-16Add support to skip import libraries for performance reasons and insteadNick Clifton9-72/+208
use the direct auto-import of dll's
2002-12-12* ld-mips-elf/mips-elf.exp: Remove branch-misc-2 test.Alexandre Oliva3-31/+5
* ld-mips-elf/branch-misc-2.d: Removed.
2002-12-10* lib/ld-lib.exp (is_elf_format): Match NetBSD ELF targets.Jason Thorpe2-0/+17
2002-12-10 * emultempl/elf32.em (struct orphan_save): Add os_tail field.Alan Modra2-0/+28
(gld${EMULATION_NAME}_place_orphan): Re-order output_section_statement list too.
2002-12-08 * ldlang.h: Formatting.Alan Modra2-48/+85
2002-12-06 * ldlang.c (init_os): Ensure sections mentioned in load_baseAlan Modra2-0/+8
are initialized.
2002-12-04 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): SetAlan Modra2-3/+18
load_base for orphans that follow a section with load_base set.