* elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
[platform/upstream/binutils.git] / ld / ChangeLog
index 05c7fa2..7c75e83 100644 (file)
@@ -1,3 +1,391 @@
+2002-05-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * 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.
+
+2002-05-23  Alan Modra  <amodra@bigpond.net.au>
+
+       * configure.in: Correct spelling of AC_PREREQ.
+
+2002-05-21  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * pe-dll.c (autofilter_liblist): Add more system libs excluded by
+       default.
+       (autofilter_objlist): Add crtbegin.o, crtend.o.
+
+2002-05-21  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * 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  Alan Modra  <amodra@bigpond.net.au>
+
+       * ldemul.c (ldemul_new_vers_pattern): New function.
+       * 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  Alan Modra  <amodra@bigpond.net.au>
+
+       * genscripts.sh (LIB_PATH): For native targets, concatenate $libdir
+       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  Alan Modra  <amodra@bigpond.net.au>
+
+       * emultempl/pe.em (set_pe_subsystem): Don't set "cmdline" when
+       calling lang_add_entry.
+
+2002-05-21  H.J. Lu  (hjl@gnu.org)
+
+       * 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-21  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * 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-18  Tom Rix  <trix@redhat.com>
+
+       * emultempl/aix.em (gld*_parse_args): Add -bnortl and -bnortllib 
+       support.
+
+2002-05-17  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+
+       * Makefile.am: Add new emulations avr1, avr2, avr3, avr4, avr5.
+       * Makefile.in: Regenerate.
+       * configure.tgt (avr-*-*): Add avr[1-5] to targ_extra_emuls.
+
+2002-05-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+
+       * emulparams/avr1.sh: New file.
+       * 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  Alan Modra  <amodra@bigpond.net.au>
+
+       * ldlang.c (section_already_linked): Call bfd_link_just_syms.
+       (lang_place_orphans): Abort if just_syms_flag.
+
+2002-05-10  Tom Rix  <trix@redhat.com>
+
+       * emultempl/aix.em: (gld*_set_output_arch): New function. Use 
+       architecture and machine information in the output bfd.
+       (gld*_before_parse): Remove old arch and machine code.
+       (choose_target): Rename to gld*_choose_target.
+       (rtld): Change type to int. 
+       * ldfile.c (ldfile_try_open_bfd): Disable compatiblity check for 
+       objects in XCOFF archives.
+       * ldfile.h: Update copyright date.
+
+2002-05-10  Jakub Jelinek  <jakub@redhat.com>
+
+       * ldmain.c (main): Enable -z combreloc by default.
+
+2002-05-07  Federico G. Schwindt <fgsch@olimpo.com.br>
+
+       * Makefile.am: Honour DESTDIR.
+       * Makefile.in: Regenerate.
+
+2002-05-07  Richard Sandiford  <rsandifo@redhat.com>
+
+       * ldlang.h (lang_output_section_statement_type): Add update_dot_tree.
+       (lang_enter_overlay): Remove the last two parameters.
+       (lang_leave_overlay): Take them here instead.
+       * ldgram.y (memspec_at_opt): Set $$ to null if no region is given.
+       (section): Pass LMA and crossref flag to lang_leave_overlay rather
+       than lang_enter_overlay.
+       * ldlang.c (lang_memory_region_lookup): Return null for null names.
+       (lang_output_section_statement_lookup): Initialize update_dot_tree.
+       (lang_size_sections_1): Evaluate it.
+       (lang_leave_output_section_statement): Rework LMA lookup.
+       (overlay_lma, overlay_nocrossrefs): Remove.
+       (lang_enter_overlay): Remove LMA and corssref arguments.
+       (lang_enter_overlay_section): Don't set the LMA here.
+       (lang_leave_overlay): Take LMA and crossref arguments.  Move the '.'
+       assignment to the last section's update_dot_tree.  Unconditionally
+       use the load and run-time regions specified in the OVERLAY statement.
+       Likewise the first section's LMA.  Only set the other sections' LMAs
+       when no load region is given.
+
+2002-05-06  Nick Clifton <nickc@redhat.com>
+
+       * po/sv.po: New translation.
+
+2002-05-04  Alan Modra  <amodra@bigpond.net.au>
+
+       * emultempl/hppaelf.em (build_section_lists): New function.
+       (gld${EMULATION_NAME}_finish): Call elf32_hppa_setup_section_lists
+       and build_section_lists.
+
+2002-05-03  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * ld.h: Fix formatting.
+       * ldexp.c: Likewise.
+       * ldfile.c: Likewise.
+       * ldlang.c: Likewise.
+       * ldmain.c: Likewise.
+       * lexsup.c: Likewise.
+       * pe-dll.c: Likewise.
+
+2002-05-02  Alan Modra  <amodra@bigpond.net.au>
+
+       * emultempl/ppc64elf.em (gld${EMULATION_NAME}_after_allocation):
+       Adjust for ppc64_elf_set_toc change.  #include libbfd.h.
+       (build_section_lists): Do output_section tests here.
+
+2002-04-30  Tom Rix  <trix@redhat.com>
+
+       * emultempl/aix.em : (gld*_parse_arge): Formatting changes.
+
+2002-05-01  Alan Modra  <amodra@bigpond.net.au>
+
+       Long branch stubs, multiple stub sections.
+       * emultempl/ppc64elf.em: Include ldctor.h.
+       (stub_file): New var.
+       (group_size): New var.
+       (ppc_create_output_section_statements): New function.
+       (struct hook_stub_info): New.
+       (hook_in_stub): New function.
+       (ppc_add_stub_section): New function.
+       (ppc_layout_sections_again): New function.
+       (build_section_lists): New function.
+       (gld${EMULATION_NAME}_finish): Rewrite.
+       (real_func): New var.
+       (ppc_for_each_input_file_wrapper): New function.
+       (ppc_lang_for_each_input_file): New function.
+       (lang_for_each_input_file): Define.
+       (PARSE_AND_LIST_PROLOGUE): Define.
+       (PARSE_AND_LIST_LONGOPTS): Define.
+       (PARSE_AND_LIST_OPTIONS): Define.
+       (PARSE_AND_LIST_ARGS_CASES): Define.
+       (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Define.
+
+2002-04-30  Tom Rix  <trix@redhat.com>
+
+       * emultempl/aix.em (gld*_parse_arge, gld*_before_allocation): Add 
+       -blibpath, -bnolibpath support. 
+2002-04-30  Mark Mitchell  <mark@codesourcery.com>
+
+       * Makefile.am (ALL_EMULATIONS): Add elf32ppcwindiss.o.
+       (eelf32ppcwindiss.c): New target.
+       * Makefile.in: Regenerated.
+       * configure.tgt: Add support for powerpc-*-windiss.
+       * emulparams/elf32ppcwindiss.sh: New file.
+       
+2002-04-30  Richard Sandiford  <rsandifo@redhat.com>
+
+       * ldlang.c (print_assignment): Update print_dot for assignments to ".".
+       * ldexp.c (exp_print_token): Add "infix_p" argument.
+       (exp_print_tree): Update accordingly.
+
+2002-04-28  Alan Modra  <amodra@bigpond.net.au>
+
+       * Makefile.am (mpw): New maintainer mode rule to make mpw-*.c files.
+       * Makefile.in: Regenerate.
+       * mpw-elfmips.c: Delete.
+       * mpw-eppcmac.c: Delete.
+       * mpw-esh.c: Delete.
+       * mpw-idtmips.c: Delete.
+
+Wed Apr 17 19:23:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * emulparams/shelf32.sh (MACHINE): Now sh5.
+
+2002-04-17  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+       * ldgram.y: Fix syntax warning.
+
+2002-04-11  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * emultempl/armelf.em (PARSE_AND_LIST_SHORTOPTS): Add 'n' in order
+       to prevent "-n" from being taken as an abbreviation for
+       "--no-pipeline-knowledge".
+
+2002-04-08  Alan Modra  <amodra@bigpond.net.au>
+
+       * ldlang.c (lang_size_sections_1): Don't complain about
+       SEC_NEVER_LOAD sections having no memory region specified.
+
+       * ld.texinfo (Format Commands <OUTPUT_FORMAT>): Typo fix.
+
+2002-04-07  matthew green  <mrg@redhat.com>
+
+       * ld/configure.host (*-*-netbsd*): Add support for NetBSD/ELF.
+
+2002-04-04  Alan Modra  <amodra@bigpond.net.au>
+
+       * dep-in.sed: Cope with absolute paths.
+       * Makefile.am (dep.sed): Subst TOPDIR and BFDDIR.
+       Run "make dep-am".
+       * Makefile.in: Regenerate.
+
+2002-04-04  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+       * emulparams/elf64btsmip.sh: n64 replaces .reginfo with .MIPS.options.
+
+2002-04-03  Jakub Jelinek  <jakub@redhat.com>
+
+       * ldexp.c (fold_binary) [DATA_SEGMENT_ALIGN]: If common page size
+       is smaller than maximum, round dot up to common page boundary.
+
+2002-03-28  Alan Modra  <amodra@bigpond.net.au>
+
+       * configure.host: Set up for generic hosts first, then tweak as
+       necessary in more specific targets.
+       (HOSTING_LIBS): Include libgcc_eh.a if found.
+
+2002-03-23  Andreas Jaeger  <aj@suse.de>
+
+       * emulparams/elf_x86_64.sh (COMMONPAGESIZE): Set it.
+
+2002-03-21  Alan Modra  <amodra@bigpond.net.au>
+
+       * Makefile.am: Run "make dep-am".
+       * Makefile.in: Regenerate.
+
+2002-03-21  Albert Chin-A-Young  <china@thewrittenword.com>
+
+       * genscripts.sh (LIB_SEARCH_DIRS): Quote path.
+
+2002-03-20  Alan Modra  <amodra@bigpond.net.au>
+
+       * ldlang.c (ldlang_add_undef): If the output bfd has been opened,
+       add the symbol to the linker hash table immediately.
+       (lang_place_undefineds): Split symbol creation out..
+       (insert_undefined): ..to here.
+
+2002-03-18  David O'Brien  <obrien@FreeBSD.org>
+
+       * emultempl/elf32.em: Use lbasename vs. basename to fix problem where
+       the contents of the buffer returned from basename function will are
+       getting overwritten while still being used.
+
+Mon Mar 18 17:38:39 CET 2002  Jan Hubicka  <jh@suse.cz>
+                             Andreas Jaeger  <aj@suse.de>
+                             Andreas Schwab  <schwab@suse.de>
+
+       * configure.tgt (x86_64-*-linux-gnu*): Configure i386 as native.
+       * elf_x86_64.sh (ARCH): Set to i386:x86-64
+       set libraries to default to lib64 paths.
+
+2002-03-18  Tom Rix  <trix@redhat.com>
+
+       * Makefile.am : Add eaix5ppc and eaix5rs6, AIX 5 support.
+       * configure.tgt : Same.
+       * emulparms/aix5ppc.sh : New file. For eaix5ppc.
+       * emulparms/aix5rs6.sh : New file. For eaix5rs6.
+       * emulparms/aixppc.sh : OUPUT_FORMAT_32BIT and OUTPUT_FORMAT_64BIT
+       emulation parameters for better -b32, -b64 support.
+       * emulparms/aixrs6.sh : Same.
+       * emulparms/ppcmacos.sh : Same.
+       * emultempl/aix.em (choose_target) : Use new emulation parameters
+       OUTPUT_FORMAT_32BIT and OUTPUT_FORMAT_64BIT.
+       * Makefile.in : Regenerate.
+
+2002-03-18  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * po/fr.po: Updated version.
+
+2002-03-18  Alan Modra  <amodra@bigpond.net.au>
+
+       * ldmain.c (main): Move .text readonly flag fudges from here..
+       * ldlang.c (lang_process): ..to here.
+
+2002-03-14  Alan Modra  <amodra@bigpond.net.au>
+
+       * ldlang.c (lang_check): Remove the word size check added in last
+       change.  Treat emitrelocations case as for relocatable links.
+
+2002-03-13  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * po/fr.po: Updated version.
+
+2002-03-13  Alan Modra  <amodra@bigpond.net.au>
+
+       * ldlang.c (lang_check): Do relocatable link checks first, so that
+       warn_mismatch can't override.  Check compatible and word size too.
+
+2002-03-07  Daniel Jacobowitz  <drow@mvista.com>
+
+       * ld.texinfo: Wrap @menu in @ifnottex, not @ifinfo.
+
+2002-03-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * scripttempl/elf.sc: Only use DATA_SEGMENT_END() together with
+       DATA_SEGMENT_ALIGN.
+
+2002-03-04  H.J. Lu <hjl@gnu.org>
+
+       * scripttempl/elf.sc: Put .preinit_array, .init_array and
+       .fini_array in the data segment.
+
 2002-03-04  Alan Modra  <amodra@bigpond.net.au>
 
        * scripttempl/elf.sc: Correct syntax errors in 2002-03-01 commit.
 
        * emultempl/aix.em (gld*_parse_args): Add -brtl support.
        (gld*_before_allocation): Same.
-       (gld*_create_output_section_statements): Generate 
+       (gld*_create_output_section_statements): Generate
        __rtinit if run time linking.  Add librtl.a to the link.
        (gld*_read_file): Clean.
 
        * scripttempl/i386go32.sc: Use PROVIDE with _etext, _edata, _end.
        Set DWARF2 sections to a VMA of zero.
 
-2000-12-01      Joel Sherrill <joel@OARcorp.com>
+2000-12-01  Joel Sherrill  <joel@OARcorp.com>
 
        * configure.tgt (arm-*-rtems*, a29k-*rtems*, h8300-*-rtems*):
        New targets.
        (lang_one_common) Record size changes in octets.
        (lang_abs_symbol_at_end_of) Section end symbol's value is
        recorded in target bytes.
-       * ld.texinfo:   Updated description of BYTE, SHORT, LONG, etc.
+       * ld.texinfo: Updated description of BYTE, SHORT, LONG, etc.
        to be clear about behavior when an octet is smaller than one byte.
 
 2000-01-27  Alan Modra  <alan@spri.levels.unisa.edu.au>