* ldmain.c (main): Enable -z combreloc by default.
[binutils-gdb.git] / ld / ChangeLog
index 4362d528f8dfa05037800936a6b5e40e2670da1b..7aea9e92b25b255eec1e34e4e7f302c7860a3ab2 100644 (file)
@@ -1,3 +1,450 @@
+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.
+
+2002-03-01  David Mosberger  <davidm@hpl.hp.com>
+
+       * scripttempl/elf.sc (SECTIONS): Add entries for .preinit_array,
+       .init_array, and .fini_array.
+
+2002-02-20  Andreas Schwab  <schwab@suse.de>
+
+       * emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Don't fold
+       .IA64_unwind* in a relocatable link.
+
+2002-02-20  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * NEWS: Mark 2.12 branch.
+
+2002-02-19  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+       * emulparams/elf64_s390.sh (ARCH): Change to "s390:64-bit".
+       * emulparams/elf_s390.sh (ARCH): Change to "s390:31-bit".
+
+2002-02-18  Tom Rix  <trix@redhat.com>
+
+       * emultempl/aix.em (gld*_parse_args): Add -brtl support.
+       (gld*_before_allocation): Same.
+       (gld*_create_output_section_statements): Generate
+       __rtinit if run time linking.  Add librtl.a to the link.
+       (gld*_read_file): Clean.
+
+2002-02-18  Alan Modra  <amodra@bigpond.net.au>
+
+       * emulparams/elf64ppc.sh (OTHER_TEXT_SECTIONS): Define.
+
+2002-02-18  David O'Brien  <obrien@FreeBSD.org>
+
+       * Makefile.am: Add new files earmelf_fbsd, eelf32ppc_fbsd,
+       eelf_i386_fbsd, eelf64_ia64_fbsd, eelf_x86_64_fbsd, eelf64_sparc_fbsd,
+       and eelf64alpha_fbsd.
+       * Makefile.in: Regenerate.
+       * configure.tgt(sparc64-*-freebsd, ia64-*-freebsd, i[3456]86-*-freebsd,
+       x86_64-*-freebsd, arm-*-freebsd, alpha*-*-freebsd, powerpc-*-freebsd):
+       use a FreeBSD-specific emulation rather than the psABI one.
+       * emulparams/elf_fbsd.sh (ELF_INTERPRETER_NAME): Set appropriate value
+       for all FreeBSD ELF systems.
+       * emulparams/armelf_fbsd.sh: Bridge elf_fbsd.sh and the "native" psABI
+       emulation.
+       * emulparams/elf32ppc_fbsd.sh: Likewise.
+       * emulparams/elf64_ia64_fbsd.sh: Likewise.
+       * emulparams/elf64_sparc_fbsd.sh: Likewise.
+       * emulparams/elf64alpha_fbsd.sh: Likewise.
+       * emulparams/elf_i386_fbsd.sh: Likewise.
+       * emulparams/elf_x86_64_fbsd.sh: Likewise.
+
+2002-02-18  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * po/tr.po: Updated version.
+
+2002-02-18  Alan Modra  <amodra@bigpond.net.au>
+
+       * ld.texinfo (Output Section Fill): Fix amateur texinfo.
+       (FILL): Likewise.
+
+2002-02-17  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * emultempl/mmo.em (mmo_after_open): Don't call
+       _bfd_mmix_check_all_relocs when producing ELF output.
+
+2002-02-15  Richard Henderson  <rth@redhat.com>
+
+       * emulparams/elf64alpha.sh (NOP): Adjust for big-endian
+       definition.  Emit a unop+nop pair.
+
+2002-02-15  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Also check
+       for presence of .MMIX.reg_contents.linker_allocated before early
+       exit.
+
+       * NEWS: Mention support for MMIX.
+
+2002-02-15  Alan Modra  <amodra@bigpond.net.au>
+
+       Support arbitrary length fill patterns.
+       * ld.texinfo (Output Section Fill): Describe fill expressions.
+       (FILL): Refer to the above.
+       * ldexp.h (etree_value_type): Add "str" field.
+       (union etree_union): Add "str" to "value" struct.
+       (exp_bigintop): Declare.
+       (exp_get_fill): Declare.
+       * ldexp.c: Include "safe-ctype.h".
+       (exp_intop): Set value.str to NULL.
+       (exp_bigintop): New function.
+       (new_rel): Pass in "str", and set new.str from it.
+       (new_rel_from_section): Set new.str to NULL.
+       (fold_name): Adjust calls to new_rel.
+       (exp_fold_tree): Likewise.
+       (exp_get_fill): New function.
+       * ldgram.y (struct big_int bigint, fill_type *fill): New.
+       (INT): Returns a "bigint".  Adjust all code handling INTs.
+       (fill_opt): Returns a "fill".
+       (fill_exp): Split out of fill_opt, use for FILL.
+       * ldlang.h (struct _fill_type): New.
+       (fill_type): Move typedef to ldexp.h.
+       (lang_output_section_statement_type): "fill" is now a pointer.
+       (lang_fill_statement_type): Likewise.
+       (lang_padding_statement_type): Likewise.
+       (lang_add_fill): Now takes a "fill_type *" param.
+       (lang_leave_output_section_statement): Likewise.
+       (lang_do_assignments): Likewise.
+       (lang_size_sections): Likewise.
+       (lang_leave_overlay_section): Likewise.
+       (lang_leave_overlay): Likewise.
+       * ldlang.c: Include ldgram.h after ldexp.h.
+       (lang_output_section_statement_lookup): Adjust for fill_type change.
+       (print_fill_statement): Likewise.
+       (print_padding_statement): Likewise.
+       (insert_pad): Now takes a "fill_type *" arg.
+       (size_input_section): Likewise.
+       (lang_size_sections_1): Likewise.
+       (lang_size_sections): Likewise.
+       (lang_do_assignments): Likewise.
+       (lang_add_fill): Likewise.
+       (lang_leave_output_section_statement): Likewise.
+       (lang_leave_overlay_section): Likewise.
+       (lang_leave_overlay): Likewise.
+       Adjust all callers of the above function.
+       * ldlex.l: Include ldgram.h after ldexp.h.  Allow hex numbers
+       starting with "0X" as well as "0x".  Return bigint.str for hex
+       numbers starting with "0x" or "0X", zero bigint.str otherwise.
+       Always use base 16 for numbers starting with "$".
+       * ldmain.c: Include ldgram.h after ldexp.h.
+       * ldwrite.c (build_link_order): Use bfd_data_link_order in place
+       of bfd_fill_link_order.
+       * pe-dll.c: Adjust lang_do_assignments calls.
+       * emultempl/elf32.em: Likewise.
+       * emultempl/hppaelf.em: Likewise.
+       * emultempl/ppc64elf.em: Likewise.
+       * emultempl/beos.em: Include ldgram.h after ldexp.h, adjust
+       lang_add_assignment call.
+       * emultempl/pe.em: Likewise.
+
+2002-02-14  Phil Edwards  <pme@gcc.gnu.org>
+
+       * ld.texinfo (VERSION scripts):  Symbol names are globbing patterns.
+       * ldgram.y (lang_new_vers_regex):  Rename to lang_new_vers_pattern;
+       the pattern in question is not a regexp.
+       * ldlang.c:  Likewise.
+       * ldlang.h:  Likewise.
+       * ldlex.l (V_IDENTIFIER):  Allow '[', ']', '-', '!', and '^' also.
+
+2002-02-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * ldlex.l (DATA_SEGMENT_ALIGN, DATA_SEGMENT_END): New tokens.
+       * ldgram.y (DATA_SEGMENT_ALIGN, DATA_SEGMENT_END): New tokens.
+       (exp): Add DATA_SEGMENT_ALIGN (exp, exp) and DATA_SEGMENT_END (exp).
+       * ldexp.c (exp_data_seg): New variable.
+       (exp_print_token): Handle DATA_SEGMENT_ALIGN and DATA_SEGMENT_END.
+       (fold_binary): Handle DATA_SEGMENT_ALIGN.
+       (exp_fold_tree): Handle DATA_SEGMENT_END.
+       Pass allocation_done when recursing instead of hardcoding
+       lang_allocating_phase_enum.
+       * ldexp.h (exp_data_seg): New.
+       * ldlang.c (lang_size_sections_1): Renamed from lang_size_sections.
+       (lang_size_sections): New.
+       * ld.texinfo (DATA_SEGMENT_ALIGN, DATA_SEGMENT_END): Document.
+       * scripttempl/elf.sc: Use DATA_SEGMENT_ALIGN and DATA_SEGMENT_END
+       if COMMONPAGESIZE is defined.
+       * emulparams/elf_i386.sh (COMMONPAGESIZE): Set to 4K.
+       * emulparams/elf32_sparc.sh (COMMONPAGESIZE): Set to 8K.
+       * emulparams/elf64_sparc.sh (COMMONPAGESIZE): Set to 8K.
+       * emulparams/elf64alpha.sh (COMMONPAGESIZE): Set to 8K.
+       * emulparams/elf64_ia64.sh (COMMONPAGESIZE): Set to 16K for shared
+       libraries only.
+
+2002-02-11  Alan Modra  <amodra@bigpond.net.au>
+
+       * Makefile.in: Regenerate.
+
+2002-02-10  Daniel Jacobowitz  <drow@mvista.com>
+
+       * lexsup.c: Remove strtoul declaration.
+
+2002-02-10  Daniel Jacobowitz  <drow@mvista.com>
+
+       * ldmain.c: Add prototype for main ().
+       * lexsup.c: Guard declaration of strtoul with HAVE_STDLIB_H.
+       * emultempl/lnk960.em (lnk960_choose_target): Function should
+       take two arguments.
+
+2002-02-10  Alan Modra  <amodra@bigpond.net.au>
+
+       * ldlang.c (entry_section): New initialised variable.
+       (lang_finish): Use it.
+       * ldlang.h (entry_section): Declare.
+       * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Set
+       entry_section to ".opd".
+
+2002-02-09  Chris Demetriou  <cgd@broadcom.com>
+
+       * ld.texinfo (Options): Add back in -nostdlib documentation,
+       which had been inadvertently removed.
+
 2002-02-09  Hans-Peter Nilsson  <hp@bitrange.com>
 
        * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Adjust
        * po/ld.pot: Regenerate.
 
 2002-01-29  Chris Demetriou  <cgd@broadcom.com>
-            Mitch Lichtenberg  <mpl@broadcom.com>
+           Mitch Lichtenberg  <mpl@broadcom.com>
 
        * emulparams/elf32bmip.sh (EXTRA_EM_FILE): Define to be mipself.
        * emultempl/mipself.em: New file to handle MIPS ELF embedded