aboutsummaryrefslogtreecommitdiff
path: root/ld
AgeCommit message (Collapse)AuthorFilesLines
2002-06-13Individual processor configurations for sh-elf / sh-linux:Joern Rennecke2-2/+6
gcc: * config.gcc: Add support for sh[234]*-*-elf*, sh[2346lbe]*-*-linux*. * config/sh/linux.h (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT. * sh.h (SELECT_SH1, SELECT_SH2, SELECT_SH3, SELECT_SH3E): New macros. (SELECT_SH4_NOFPU, SELECT_SH4_SINGLE_ONLY, SELECT_SH4): Likewise. (SELECT_SH4_SINGLE, SELECT_SH5_64, SELECT_SH5_64_NOFPU): Likewise. (SELECT_SH5_32, SELECT_SH5_32_NOFPU, SELECT_SH5_COMPACT): Likewise. (SELECT_SH5_COMPACT_NOFPU): Likewise. (TARGET_SWITCHES): Use them. (TARGET_CPU_DEFAULT): Define if not already defined. (TARGET_DEFAULT): Use it. (LINK_DEFAULT_CPU_EMUL): Value now depends on TARGET_CPU_DEFAULT. * config/sh/t-linux (MULTILIB_OPTIONS): Use MULTILIB_ENDIAN. * config/sh/t-monolib: New file. bfd: config.bfd: Add support for sh[1234]l*-*-elf* | sh3el*-*-elf*, sh[1234]*-elf*. ld: * configure.tgt: Add support for sh[1234]*le*-*-elf, sh[1234]*-*-elf. Still outstanding: config.sub: * config.sub: Add support for sh[12], sh3e, sh[1234]le, sh3ele, shle, sh[1234]le, sh3ele, sh64le.
2002-06-132002-06-12 H.J. Lu <hjl@gnu.org>H.J. Lu2-0/+12
* emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Return false if xvec doesn't match.
2002-06-122002-06-11 John David Anglin <dave@hiauly1.hia.nrc.ca>Jeff Law2-0/+8
* ld-scripts/cross1.t: Add .hash, .dynstr and .dynsym sections to script.
2002-06-11AJ found the problem and created the patch.Martin Schwidefsky1-1/+1
2002-06-112002-06-11 Martin Schwidefsky <schwidefsky@de.ibm.com>Martin Schwidefsky2-0/+6
* ld-undefined/undefined.exp: Add s390x to dwarf2 xfails.
2002-06-10 * ld-mips-elf/region1a.s,Richard Sandiford6-0/+38
* ld-mips-elf/region1b.s, * ld-mips-elf/region1.t, * ld-mips-elf/region1.d: New test. * ld-mips-elf/mips-elf.exp: Run it.
2002-06-10 * ldlang.c (lang_size_sections_1): Skip removed output sections.Richard Sandiford2-0/+12
2002-06-08 * ldexp.c: Replace CONST with const.Alan Modra7-28/+37
* ldfile.c: Likewise. * ldfile.h: Likewise. * ldlex.l: Likewise. * mri.c: Likewise. * pe-dll.h: Likewise.
2002-06-07 * emultempl/ppc64elf.em (new_vers_pattern): Warning fix.Alan Modra2-1/+5
2002-06-07Enable pei386_auto_import by default. Only print a info message about autoNick Clifton3-6/+22
imports being resilved if this feature was not requested via a command line switch.
2002-06-07Fix phdrs2 testNick Clifton3-11/+18
2002-06-07 * scripttempl/elf.sc (.tbss): Fix mismatched parentheses/braces.Alan Modra2-1/+5
2002-06-06Do not include empty sections in loadable segments.Nick Clifton4-0/+101
2002-06-06 * configure.host (hppa*64*-*-hpux11*): Define NATIVE_LIB_DIRS,Jeff Law2-0/+12
HOSTING_CRT0 and HOSTING_LIBS.
2002-06-05gcc:Joern Rennecke2-0/+13
* config.gcc (sh-*-elf*, sh64*-*-elf*): Unify. (shl*-*-elf*): Add. * config/sh/t-be (MULTILIB_ENDIAN): Set. * config/sh/t-le (MULTILIB_ENDIAN): Likewise. * t-sh (MULTILIB_ENDIAN): Set. (MULTILIB_OPTIONS): Use it. * t-sh64 (MULTILIB_OPTIONS): Likewise. (MULTILIB_DIRNAMES): Likewise. bfd: * config.bfd (sh64l*-*-elf*, shl*-*-elf*): New configurations. ld: configure.tgt (shle*-*-elf*, sh64le-*-elf*): New configurations.
2002-06-05* emulparams/ns32knbsd.sh (EXECUTABLE_SYMBOLS): Set _DYNAMIC to 0.Jason Thorpe2-0/+7
(NONPAGED_TEXT_START_ADDR): Set to 0x1000.
2002-06-05 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): PlaceAlan Modra2-1/+6
SEC_EXCLUDE sections when doing a relocatable link.
2002-06-04bfd:Jason Thorpe8-255/+124
* Makefile.am (BFD32_BACKENDS): Add elf32-sh64-nbsd.lo. (BFD32_BACKENDS_CFILES): Add elf32-sh64-nbsd.c. (BFD64_BACKENDS): Add elf64-sh64-nbsd.lo. (BFD64_BACKENDS_CFILES): Add elf64-sh64-nbsd.c. (elf32-sh64-nbsd.lo, elf64-sh64-nbsd.lo): New rules. * Makefile.in: Regenerate. * config.bfd (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*) (sh64-*-netbsd*): New targets. * configure.in: Add bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec. * configure: Regenerate. * elf32-sh64-nbsd.c: New file. * elf64-sh64-nbsd.c: New file. * targets.c: Add extern decls for bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec. gas: * configure.in (sh5*): Set cpu_type to sh64 and endian to big. (sh5le*, sh64le*): Set cpu_type to sh64 and endian to little. (sh5*-*-netbsd*, sh64*-*-netbsd*): New targets. * configure: Regenerate. * config/tc-sh64.c (sh64_target_format): Add support for NetBSD environment. ld: * Makefile.am (ALL_EMULATIONS): Add eshelf32_nbsd.o, eshlelf32_nbsd.o, eshelf64_nbsd.o, and eshlelf64_nbsd.o. (eshelf32_nbsd.c, eshelf64_nbsd.c, eshlelf32_nbsd.c) (eshlelf64_nbsd.c): New rules. * Makefile.in: Regenerate. * configure.tgt (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*) (sh64-*-netbsd*): New targets. * emulparams/shelf32_nbsd.sh: New file. * emulparams/shelf64_nbsd.sh: New file. * emulparams/shlelf32_nbsd.sh: New file. * emulparams/shlelf64_nbsd.sh: New file. opcodes: * configure.in: Add "sh5*-*" to list of targets which include sh64 support. * configure: Regenerate.
2002-06-04 * ldlang.c (section_already_linked): Call bfd_discard_group. Typo fix.Alan Modra2-1/+8
2002-06-032005-06-02 H.J. Lu <hjl@gnu.org>H.J. Lu2-0/+15
* ld-srec/sr3.cc (__dso_handle): Added for gcc 3.1 with -fuse-cxa-atexit. (__cxa_atexit): Likewise.
2002-06-01 * scripttempl/avr.sc: Changes to support current GCC and avr-libc,Marek Michalkiewicz2-4/+49
C++ constructors/destructors, loosely based on the m68hc11 port.
2002-05-31 * Makefile.in: Regenerate.Alan Modra5-477/+687
* aclocal.m4: Regenerate. * config.in: Regenerate. * configure: Regenerate.
2002-05-31 * Makefile.am (ALL_EMULATIONS): Add ei386nto.o.Alan Modra5-1/+29
(ei386nto.c): Add rule. * Makefile.in: Regenerate. * configure.tgt: Add i[3456]86-*-nto-qnx*. * emulparams/i386nto.sh: New file.
2002-05-30 * ld-bootstrap/bootstrap.exp: Test --relax.Richard Henderson2-2/+13
2002-05-30* NEWS: Add entry for VAX ELF support.Jason Thorpe2-0/+8
2002-05-302002-05-29 Matt Thomas <matt@3am-software.com>Jason Thorpe6-252/+71
Jason Thorpe <thorpej@wasabisystems.com> * Makefile.am (ALL_EMULATIONS): Add eelf32vax.o and evaxnbsd.o. (eelf32vax.c) (evaxnbsd.c): New rules. * Makefile.in: Regenerate. * configure.tgt (vax-*-netbsdelf*) (vax-*-netbsdaout*) (vax-*-netbsd*): New targets. * emulparams/elf32vax.sh: New file. * emulparams/vaxnbsd.sh: New file.
2002-05-29Fix genreation of arm <->thumb glue stubs by ensuring that they are in the ↵Nick Clifton2-11/+54
last section linked.
2002-05-28Add DLX targetNick Clifton6-0/+56
2002-05-28 * ld-cris/libdso-2.d: Tweak for combreloc now default on.Hans-Peter Nilsson2-15/+19
2002-05-27Install new elf_chaos.sc script.Nick Clifton5-3/+366
2002-05-27 * ldlang.c (lang_size_sections_1): Move check for conflicting loadRichard Sandiford6-33/+64
addresses and regions from here... (lang_get_regions): ...to this new function. (lang_leave_output_section_statement): Use lang_get_regions. (lang_leave_overlay): Likewise. * mri.c (mri_draw_tree): Pass null as last argument to lang_leave_output_section_statement. * emultempl/elf32.em (gld*_place_orphan): Likewise. * emultempl/mmo.em (mmo_place_orphan): Likewise. * emultempl/pe.em (gld*_place_orphan): Likewise.
2002-05-26gas:Jason Thorpe2-1/+5
* configure.in: Use ns32k-*-netbsd* instead of ns32k-pc532-netbsd*. * configure: Regenerate. ld: * configure.tgt: Use ns32k-*-netbsd* instead of ns32k-pc532-netbsd*.
2002-05-25 * ldemul.c: Fix formatting.Kazu Hirata5-10/+17
* ldfile.c: Likewise. * pe-dll.c: Likewise. * pe-dll.h: Likewise.
2002-05-25 * ldlang.c (lang_process): Formatting, grammar.Alan Modra2-2/+4
2002-05-25 * ldlex.l: Use #include "" instead of <> for local header files.Alan Modra2-2/+6
2002-05-24Add a target for i386-netbsdpe.Nick Clifton2-0/+7
2002-05-23 * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCALJakub Jelinek4-1/+27
for symbols from SHF_TLS section. (_bfd_elf_print_private_bfd_data): Add PT_TLS. (elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections. (map_sections_to_segments): Build PT_TLS segment if necessary. (assign_file_positions_for_segments): Likewise. (get_program_header_size): Account for PT_TLS segment. (swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from SEC_THREAD_LOCAL sections to STT_TLS. * reloc.c: Add 386 and IA-64 TLS relocs. * section.c (SEC_THREAD_LOCAL): Define. (SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS): Remove. * elflink.h (elf_link_add_object_symbols): Support .tcommon. (size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS unconditionally. (struct elf_final_link_info): Add first_tls_sec. (elf_bfd_final_link): Set first_tls_sec. Compute elf_hash_table (info)->tls_segment. (elf_link_output_extsym): Handle STT_TLS symbols. (elf_link_input_bfd): Likewise. * syms.c (BSF_THREAD_LOCAL): Define. * bfd-in2.h: Rebuilt. * libbfd.h: Rebuilt. * elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff, elf_i386_mkobject, elf_i386_object_p): New functions. (elf_howto_table): Add TLS relocs. (elf_i386_reloc_type_lookup): Support TLS relocs. (elf_i386_info_to_howto_rel): Likewise. (struct elf_i386_link_hash_entry): Add tls_type. (struct elf_i386_obj_tdata): New. (elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type): New macros. (struct elf_i386_link_hash_table): Add tls_ldm_got. (link_hash_newfunc): Clear tls_type. (elf_i386_check_relocs): Support TLS relocs. (elf_i386_gc_sweep_hook): Likewise. (allocate_dynrelocs): Likewise. (elf_i386_size_dynamic_sections): Likewise. (elf_i386_relocate_section): Likewise. (elf_i386_finish_dynamic_symbol): Likewise. (bfd_elf32_mkobject, elf_backend_object_p): Define. * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset, dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done, want_tprel, want_dtpmod, want_dtprel. (elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions. (ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to R_IA64_LTOFF_TPREL22. (elf_code_to_howto_index): Add TLS relocs. (elfNN_ia64_check_relocs): Support TLS relocs. (allocate_global_data_got): Account for TLS .got data. (allocate_dynrel_entries): Account for TLS dynamic relocations. (elfNN_ia64_install_value): Supprt TLS relocs. (set_got_entry): Support TLS relocs. (elfNN_ia64_relocate_section): Likewise. * config/obj-elf.c (elf_common): Renamed from obj_elf_common. (obj_elf_common): Call elf_common. (obj_elf_tls_common): New function. (elf_pseudo_tab): Support .tls_common. (special_sections): Add .tdata and .tbss. (obj_elf_change_section): Set SEC_THREAD_LOCAL for SHF_TLS sections. (obj_elf_parse_section_letters): Support T in section flags (SHF_TLS). (obj_elf_parse_section_letters): Include T in error message. * config/tc-ppc.c (ppc_section_letter): Likewise. * config/tc-alpha.c (alpha_elf_section_letter): Likewise. (tc_gen_reloc): Handle SEC_THREAD_LOCAL the same way as SEC_MERGE. * config/tc-sparc.c (md_apply_fix3): Likewise. * config/tc-i386.c (tc_i386_fix_adjustable): Add TLS relocs. Define them if not BFD_ASSEMBLER. (lex_got): Support @TLSGD, @TLSLDM, @GOTTPOFF, @TPOFF, @DTPOFF and @NTPOFF. (md_apply_fix3): Add TLS relocs. * config/tc-ia64.c (enum reloc_func): Add FUNC_DTP_MODULE, FUNC_DTP_RELATIVE, FUNC_TP_RELATIVE, FUNC_LT_DTP_MODULE, FUNC_LT_DTP_RELATIVE, FUNC_LT_TP_RELATIVE. (pseudo_func): Support @dtpmod(), @dtprel() and @tprel(). (ia64_elf_section_letter): Include T in error message. (md_begin): Support TLS operators. (md_operand): Likewise. (ia64_gen_real_reloc_type): Support TLS relocs. * testsuite/gas/i386/tlspic.s: New file. * testsuite/gas/i386/tlsd.s: New file. * testsuite/gas/i386/tlsnopic.s: New file. * testsuite/gas/i386/tlsd.d: New file. * testsuite/gas/i386/tlsnopic.d: New file. * testsuite/gas/i386/tlspic.d: New file. * testsuite/gas/i386/i386.exp: Add tlsd, tlsnopic and tlspic tests. * testsuite/gas/ia64/tls.s: New file. * testsuite/gas/ia64/tls.d: New file. * testsuite/gas/ia64/ia64.exp: Add tls test. * write.c (adjust_reloc_syms): Don't change symbols in SEC_THREAD_LOCAL sections to STT_SECTION + addend. * elf/common.h (PT_TLS, SHF_TLS, STT_TLS, DF_STATIC_TLS): Define. * elf/ia64.h (R_IA64_LTOFF_TPREL22): Renamed from R_IA64_LTOFF_TP22. * elf/i386.h: Add TLS relocs. * scripttempl/elf.sc: Add .rel{,a}.t{bss,data}, .tdata and .tbss. * ldlang.c (lang_add_section): Set SEC_THREAD_LOCAL for output section if necessary. Handle .tbss. (lang_size_sections): Clear _raw_size for .tbss section (it allocates space in PT_TLS segment only). * ldwrite.c (build_link_order): Build link order for .tbss too. * readelf.c (get_segment_type): Add PT_TLS. (get_elf_section_flags): Add SHF_TLS. (get_dynamic_flags): Optimize. Add DF_STATIC_TLS. (process_dynamic_segment): Use puts instead of printf. (get_symbol_type): Support STT_TLS. * objdump.c (dump_section_header): Remove SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS. Add SEC_THREAD_LOCAL.
2002-05-23 * configure.in: Correct spelling of AC_PREREQ.Alan Modra2-3/+7
2002-05-22* pe-dll.c (autofilter_liblist): Add more system libs excluded by default.Christopher Faylor5-8/+65
(autofilter_objlist): Add crtbegin.o, crtend.o. * emultempl/pe.em (OPTION_EXCLUDE_LIBS): Add new define. (longopts): Add new option --exclude-libs. (gld_${EMULATION_NAME}_list_options): Give quick help about it. (gld_${EMULATION_NAME}_parse_args): Use it. * pe-dll.h (pe_dll_add_excludes): Add second param to prototype. * pe-dll.c (exclude_list_struct): Add field type to distinguish symbols from whole archives. (pe_dll_add_excludes): Set excludes->type. (auto_export): Add new variable libname and set to archive basename if abfd. Use it when filtering default and user-specified libarary excludes. Let string "ALL" mean all libs when filtering user-specified libs. * ld.texinfo: Document --exclude-libs.
2002-05-22 * ldemul.c (ldemul_new_vers_pattern): New function.Alan Modra21-15/+182
* ldemul.h (ldemul_new_vers_pattern): Declare. (struct ld_emulation_xfer_struct): Add new_vers_pattern. * ldlang.c (lang_new_vers_pattern): Call ldemul_new_vers_pattern. * emultempl/ppc64elf.em (dotsyms): New static var. (gld${EMULATION_NAME}_new_vers_pattern): New function. (LDEMUL_NEW_VERS_PATTERN): Define. (PARSE_AND_LIST_PROLOGUE): Add OPTION_DOTSYMS, OPTION_NO_DOTSYMS. (PARSE_AND_LIST_LONGOPTS): Likewise. (PARSE_AND_LIST_ARGS_CASES): Handle them. * emultempl/aix.em (ld_${EMULATION_NAME}_emulation): Update initialiser. * emultempl/armcoff.em: Likewise. * emultempl/armelf_oabi.em: Likewise. * emultempl/beos.em: Likewise. * emultempl/elf32.em: Likewise. * 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/pe.em: Likewise. * emultempl/sunos.em: Likewise. * emultempl/ticoff.em: Likewise. * emultempl/vanilla.em: Likewise.
2002-05-22 * genscripts.sh (LIB_PATH): For native targets, concatenate $libdirAlan Modra6-40/+83
and $NATIVE_LIB_DIRS. Add $tool_lib before other libs. (LIB_SEARCH_DIRS): No need to use "tr". (COMPILE_IN): Only set for native targets. * configure.host (NATIVE_LIB_DIRS): Specify all native search dirs here, rather than adding lib:/usr/lib:/usr/local/lib in genscripts.sh. * configure.tgt (powerpc*): Set tdir_*. (powerpcle*): Correct targ_extra_emuls. * emulparams/elf32ppc.sh (LIB_PATH): Set up native 64 bit dirs. * emulparams/elf64ppc.sh (LIB_PATH): Likewise.
2002-05-22 * emultempl/pe.em (set_pe_subsystem): Don't set "cmdline" whenAlan Modra2-1/+6
calling lang_add_entry.
2002-05-222002-05-21 H.J. Lu (hjl@gnu.org)H.J. Lu5-1/+36
* emultempl/elf32.em (gld${EMULATION_NAME}_parse_args): Handle "-z muldefs". (gld${EMULATION_NAME}_list_options): Add "-z muldefs". * ld.texinfo: Updated for --allow-multiple-definition and "-z muldefs". * ldmain.c (main): Initialize the allow_multiple_definition field to false. * lexsup.c (OPTION_ALLOW_MULTIPLE_DEFINITION): New. (ld_options): Add --allow-multiple-definition. (parse_args): Support OPTION_ALLOW_MULTIPLE_DEFINITION.
2002-05-21bfd:Jason Thorpe5-2/+30
* config.bfd (armeb-*-netbsdelf*): New target. ld: * Makefile.am (ALL_EMULATIONS): Add earmelfb_nbsd.o. (earmelfb_nbsd.c): New rule. * Makefile.in: Regenerate. * configure.tgt (armeb-*-netbsdelf*): New target. (arm-*-netbsdelf*): Add armelfb_nbsd to targ_extra_emuls. (arm-*-netbsd*): Likewise. * emulparams/armelfb_nbsd.sh: New file.
2002-05-18Add -bnortl and -bnortllib support for AIX.Tom Rix2-1/+9
2002-05-17 * Makefile.am: Add new emulations avr1, avr2, avr3, avr4, avr5.Marek Michalkiewicz4-1/+57
* Makefile.in: Regenerate. * configure.tgt (avr-*-*): Add avr[1-5] to targ_extra_emuls.
2002-05-16 * emulparams/avr1.sh: New file.Marek Michalkiewicz7-0/+208
* emulparams/avr2.sh: New file. * emulparams/avr3.sh: New file. * emulparams/avr4.sh: New file. * emulparams/avr5.sh: New file. * scripttempl/avr.sc: New file.
2002-05-15 * ldlang.c (section_already_linked): Call bfd_link_just_syms.Alan Modra2-7/+7
(lang_place_orphans): Abort if just_syms_flag.
2002-05-10XCOFF64 fixes. For setting arch/mach and for R_BR relocations.Tom Rix4-21/+45
2002-05-10 * ldmain.c (main): Enable -z combreloc by default.Jakub Jelinek2-1/+5