+
+ * po/Make-in (all-yes): If maintainer mode, depend on .pot file.
+ ($(PACKAGE).pot): Unconditionally depend on POTFILES.
+
+
+ * ldlang.c (lang_finish): Add CONST type modifier to declaration
+ of 'send'.
+
+start-sanitize-sky
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Set vma to 0
+ for .DVP.overlay.*.
+ * configure.tgt (dvp-*-*): Set targ_emul=elf32l5900.
+
+end-sanitize-sky
+
+ * emultempl/aix.em (gld${EMULATION_NAME}_before_parse): Set
+ config.has_shared to true.
+ * emultempl/linux.em (gld${EMULATION_NAME}_before_parse):
+ Likewise.
+ * emultempl/sunos.em (gld${EMULATION_NAME}_before_parse):
+ Likewise.
+
+
+ * ldlang.c (lang_finish): If the entry symbol is not found, try
+ parsing it as a number.
+ * ld.texinfo (Options): Document this.
+
+
+ * ld.texinfo (Input Section Wildcards): Document SORT keyword.
+
+
+ * ld.h (ld_config_type): New member has_shared.
+ * ldmain.c (main): Initialize it.
+ * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Set it.
+ * lexsup.c (parse_args): Treat -shared as error if not supported.
+
+
+ * ldlang.c (wild_sort): Correct order of sort.
+ * scripttempl/elf.sc: Put *crtbegin.o before other .ctors and
+ .dtors.
+ * scripttempl/elfd10v.sc: Likewise.
+start-sanitize-d30v
+ * scripttempl/elfd30v.sc: Likewise.
+end-sanitize-d30v
+ * scripttempl/elfppc.sc: Likewise.
+
+
+ * ldlex.l: Recognize keyword SORT.
+ * ldgram.y (current_file): Change to struct wildcard_spec.
+ (%union): Add new fields cname and wildcard.
+ (wildcard_name, wildcard_spec): New nonterminals.
+ (file_NAME_list): Use wildcard_spec.
+ (input_section_spec): Change current_file usage.
+ * ld.h (struct wildcard_spec): Define.
+ * ldlang.h (lang_wild_statement_struct): Add new fields
+ sections_sorted and filenames_sorted.
+ (lang_add_wild): Update declaration.
+ * ldlang.c (wild_sort): New static function.
+ (wild_section): Use wild_sort.
+ (print_wild_statement): Print sorting information.
+ (lang_add_wild): Add new parameters sections_sorted and
+ filenames_sorted. Change all callers.
+ * mri.c (mri_draw_tree): Update calls to lang_add_wild.
+ * scripttempl/elf.sc: Sort .ctors.* and .dtors.* by section name.
+ * scripttempl/elfd10v.sc: Likewise.
+start-sanitize-d30v
+ * scripttempl/elfd30v.sc: Likewise.
+end-sanitize-d30v
+ * scripttempl/elfppc.sc: Likewise.
+
+
+ * emulparams/m32relf.sh (TEMPLATE_NAME): Define.
+
+
+ * ldemul.h: Add new prototype: ldemul_list_emulation_options.
+ (ld_emulation_xfer_struct): Add new field: list_options.
+ * ldemul.c (ldemul_list_options): New function. Call the
+ list_options field of the ld_emulation_xfer_struct for each
+ supported emulation, if such a function is present.
+ * lexsup.c (help): Call ldemul_list_emulation_options.
+ * emultempl/pe.em (gld_<>_list_options): New function. Describe
+ the pe emulation specific command line options.
+ * emultempl/armcoff.em (gld<>_list_options): New function.
+ Describe the armcoff emulation specific command line options.
+
+ * emultempl/pe.em: Add a new command line option:
+ --support-old-code.
+ * emultempl/armcoff.em: Ditto.
+ * ld.texinfo: Document the --support-old-code option.
+
+ * Makefile.in: Add emulation files for POTFILES.in target.
+ * emultempl/pe.em: Internationalise suitable strings.
+ * emultempl/armcoff.em: Internationalise suitable strings.
+ * po/POTFILES.in: Rebuilt.
+
+
+ * po/Make-in (install-info): New target.
+
+
+ * ldmain.c (main): Conditionally call setlocale.
+ * ld.h: Include <locale.h> if HAVE_LOCALE_H.
+ (LC_MESSAGES): Now can be defined even when ENABLE_NLS.
+
+
+ * configure.in: Change version number to 2.9.4
+ * configure: Rebuild.
+
+ * ld.texinfo (Options) [-rpath-link]: Mention ld.so.conf.
+
+ * emultempl/elf32.em (global_vercheck_needed): New file static
+ variable.
+ (global_vercheck_failed): New file static variable.
+ (gld${EMULATION_NAME}_after_open): Check for shared libraries
+ twice, once with force set to 0 and once with it set to 1.
+ (gld${EMULATION_NAME}_check_ld_so_conf): Add force parameter.
+ Change all callers.
+ (gld${EMULATION_NAME}_search_needed): Likewise.
+ (gld${EMULATION_NAME}_try_needed): Likewise. If not force, check
+ whether the libraries needs any incompatible versions.
+ (gld${EMULATION_NAME}_vercheck): New static function.
+
+
+ * po/Make-in (MKINSTALLDIRS): Don't look in $(top_srcdir).
+
+
+ * Makefile.am (check-DEJAGNU): Add $(INTLLIBS) to LIBIBERTY when
+ invoking runtest.
+ * Makefile.in: Rebuild.
+
+ * lexsup.c (parse_args): Change -l options into --library options
+ to avoid confusion between -li and -library.
+
+ * ld.texinfo (MEMORY): Clarify use of >REGION.
+
+
+ * Many files: Added gettext invocations around user-visible
+ strings.
+ * ld.h: Added gettext-related includes and defines.
+ * ldmain.c: Call setlocale, bindtextdomain, textdomain.
+ * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY,
+ HAVE_LC_MESSAGES): Define.
+ * configure.in: Call CY_GNU_GETTEXT. Create po/Makefile.in and
+ po/Makefile. Use AM_PROG_LEX.
+ (TDIRS): AC_SUBST early on, to avoid having value split when it
+ happens to cross line 90 of the generated sed script.
+ * Makefile.am (SUBDIRS): New macro.
+ (POTFILES): Likewise.
+ (po/POTFILES.in): New target.
+ (ld_new_LDADD): Added INTLLIBS.
+ (ld_new_DEPENDENCIES): Added INTLDEPS.
+ * po/Make-in, po/POTFILES.in, po/gas.pot: New files.
+
+
+ * ld.texinfo (Simple Example): Rewrite a few things as suggested
+ (PROVIDE): Likewise.
+
+
+ * emultempl/pe.em: Rename external arm interworking functions
+ to conform to BFD naming conventions. Add code to _after_open()
+ function to obtain a bfd for use by the interworking code.
+
+ * emultempl/armcoff.em: Rename external arm interworking functions
+ to conform to BFD naming conventions. Add new _after_open()
+ function to obtain a bfd for use by the interworking code.
+
+
+ * ldlang.c (lang_size_sections) [case lang_assignment_statement_enum]:
+ Update dot and the default memory section even when relaxing.
+
+
+ * ldlang.c (lang_one_common): Manipulate the section's cooked size
+ rather than its raw size.
+
+
+ * configure.in (TESTBFDLIB): New. Defined and substituted.
+ * Makefile.am (TESTBFDLIB): Changed to @TESTBFDLIB@.
+ * configure, Makefile.in: Rebuild.
+
+
+ * Makefile.am (ld.info): Invoke makeinfo with -I options directly
+ rather than relying on default rule. Don't depend upon
+ bfdsumm.texi.
+ (ld.dvi): Likewise.
+ (bfdsumm.texi): Remove target.
+ (CLEANFILES): Take bfdsumm.texi out of value.
+ * Makefile.in: Rebuild.
+
+
+ * scripttempl/pe.sc: Use shell variables to avoid depending upon
+ how $ is handled when expanding a shell substitution.
+
+
+ * Makefile.am (MOSTLYCLEANFILES): Add ld.log and ld.sum.
+ (DISTCLEANFILES): Add site.exp and site.bak.
+ * Makefile.in: Rebuild.
+
+ * configure.in: Put the tdirs in a file and use AC_SUBST_FILE,
+ rather than in a shell variable and using AC_SUBST.
+ * Makefile.am (DISTCLEANFILES): Remove ldscripts. Add tdirs.
+ (distclean-local): New target.
+ * configure, Makefile.in: Rebuild.
+
+ * ld.texinfo: Completely rewrite linker script documentation.
+
+
+ * configure.in: Set version to 2.9.1.
+ * configure: Rebuild.
+
+ * Branched binutils 2.9.
+
+
+ * Makefile.am (MOSTLYCLEANFILES): Remove tmpdir.
+ (mostlyclean-local): New target to remove tmpdir.
+ * Makefile.in: Rebuild.
+
+ Fix some gcc -Wall warnings:
+ * ldcref.c (output_cref): Add casts to avoid warnings.
+ * ldfile.c (ldfile_add_arch): Likewise.
+ * ldlang.c (lang_leave_overlay_section): Likewise.
+ * lexsup.c (OPTION_COUNT): Likewise.
+ (parse_args): Likewise.
+ * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan):
+ Likewise.
+ * emultempl/sunos.em (gld${EMULATION_NAME}_search_dir): Likewise.
+ * ldlang.c (lang_check): Initialize variables to avoid warnings.
+ * ldwrite.c (build_link_order): Likewise.
+ * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Likewise.
+ * emultempl/armcoff.em (gld${EMULATION_NAME}_before_allocation):
+ Remove unused variables.
+
+ * Makefile.am (MOSTLYCLEANFILES): Correct name (was
+ MOSTCLEANFILES).
+ * Makefile.in: Rebuild.
+
+
+ * emultempl/pe.em (gld_${EMULATION_NAME}_before_allocation): Put
+ ARM code inside ifdef TARGET_IS_armpe.
+
+
+ * Makefile.am (LDDISTSTUFF): New variable.
+ (diststuff): New target.
+ * Makefile.in: Rebuild.
+
+ * scripttempl/pe.sc: Only include .idata\$[0-7] in .idata when
+ relocating.
+
+
+ * scripttempl/pe.sc (.text): Add .glue_7 and .glue_7t sections to
+ hold Arm/Thumb stubs.
+
+ * emultempl/pe.em (gld_pe_before_allocation): Call
+ arm_process_before_allocation (for ARM/Thumb targets) in order to
+ gather interworking stb information.
+
+
+ * configure.tgt: (sh*-*-rtems*): Switched from ELF to COFF.
+
+
+ * aclocal.m4, configure: Rebuild with libtool 1.2.
+
+
+ * scripttempl/pe.sc: The Cygwin32 library uses a .data$nocopy
+ section to avoid copying certain data on fork. The linker used to
+ include this between __data_start__ and __data_end__, but that
+ breaks building the cygwin32 dll. The fix is to rename the
+ section ".data_cygwin_nocopy" and explictly include it after
+ __data_end__.
+
+
+ * configure.tgt (targ_extra_emuls): Add thumb-pe target.
+
+
+ * configure.tgt (sparclite*-*-elf): Added.
+
+start-sanitize-vr4320
+
+ * configure.tgt (mips*vr4320el-*-elf*,mips*vr4320-*-elf*): Added.
+
+end-sanitize-vr4320
+
+ * ldlang.c (lang_size_sections): If the default memory region is
+ *default*, see if there is a memory region that could be used.
+
+start-sanitize-d30v
+
+ * scripttempl/elfd30v.sc: Add support for .eit_v section and put
+ it at 0xfffff020.
+ * emulparams/d30v{elf,_o,_e}.sh: Ditto.
+
+end-sanitize-d30v
+
+ * emultempl/pe.em (sort_sections): Permit the wildcard to include
+ a trailing '*' when sorting grouped sections.
+ * scripttempl/pe.sc: Include grouped sections using NAME\$*. Only
+ include them when relocating.
+
+
+ * Makefile.am (install-exec-local): Install properly when ln
+ fails or tooldir == prefix.
+
+
+ * Makefile.am (AUTOMAKE_OPTIONS): Define.
+ * configure, Makefile.in, aclocal.m4: Rebuild with automake 1.2e.
+
+
+ * scripttempl/elf.sc: Align the _end symbol according to the ELF
+
+ * configure.host (alpha*-*-netbsd*): New host.
+ * configure.tgt (alpha*-*-netbsd*, powerpc-*-netbsd*): New
+ targets.
+
+ * lexsup.c (help): Update bug-gnu-utils address.
+ * ld.texinfo (Bug Reporting): Likewise.
+
+
+ * ldlang.c (lang_size_sections): Warn if some memory regions were
+ defined, but a loadable section is going into the default memory
+ region.
+
+
+ * ldlex.l (V_IDENTIFIER): Allow '.' as symbol prefix.
+
+
+ * Makefile.am (Makefile): Add target, for dependencies on
+ configure.host and configure.tgt.
+ * configure.host, configure.tgt: Change -linux* to -linux-gnu*.
+ * Makefile.in: Rebuild.
+
+start-sanitize-r5900
+
+ * Makefile.in (ALL_EMULATIONS): Add eelf32l5900.o
+ (eelf32l5900.c): Add rule for building.
+ * configure.tgt: Use r5900 specific emulation script.
+ * emulparams/elf32l5900.sh: 5900 specific emulation script.
+
+end-sanitize-r5900
+
+ * scripttempl/elfd10v.sc (.stack): Move stack to 0x00..7FFE.
+
+ * emulparams/d10velf.sh (READONLY_START_ADDR): Read only section
+ moved to 0x00.....4.
+
+
+ * configure, aclocal.m4: Rebuild with new libtool.
+
+
+ * scripttempl/pe.sc: Remove ${RELOCATING-0} from all sections.
+
+ * configure, Makefile.in, aclocal.m4: Rebuild with new libtool.
+
+
+ * Makefile.am (ld_new_LDADD): Remove @LEXLIB@.
+ * Makefile.in: Rebuild.
+
+
+ Add tms320c30 support:
+ * configure.tgt (tic30-*-*aout*, tic30-*-*coff*): New targets.
+ * emulparams/tic30aout.sh: New file.
+ * emulparams/tic30coff.sh: New file.
+ * scripttempl/tic30aout.sc: New file.
+ * scripttempl/tic30coff.sc: New file.
+ * Makefile.am (ALL_EMULATIONS): Add etic30aout.o and
+ etic30coff.o.
+ (etic30aout.c, etic30coff.c): New targets.
+ * Makefile.in: Rebuild.
+
+
+ * configure.host: Correct HOSTING_CRT0 in alpha*-*-linux* case to
+ accept either ld.so or ld-linux.so.
+
+
+ * Makefile.am ({CC,CXX}_FOR_TARGET): Change program_transform_name
+ to transform.
+ * Makefile.in: Regenerate.
+
+
+ * scripttempl/elfppc.sc: Put .dynsbss in .sbss.
+
+
+ * Makefile.am (eelf32bsmip.c, eelf32lsmip.c): New targets.
+ * Makefile.in: Rebuild.
+
+
+ * ldfile.c (slash): Set to backslash if _WIN32 but not
+ __CYGWIN32__.
+ (ldfile_open_file_search): If __MSDOS__ or _WIN32, accept a
+ leading backslash or a leading x: as an absolute path.
+ (ldfile_find_command_file): Use slash rather than / when
+ generating name to try.
+ * lexsup.c (PATH_SEPARATOR): Define.
+ (set_default_dirlist): Use PATH_SEPARATOR rather than ':'.
+
+
+ * emulparams/elf64_sparc.sh (ELFSIZE): 64
+ (TEXT_START_ADDR): Round off, since SIZEOF_HEADERS is added later.
+ (DATA_PLT): Needed by v9 abi.
+
+
+ * configure.tgt (i[3456]86-*-mingw32*): New entry.
+
+
+ * scripttempl/elf.sc: Only include linkonce sections in final
+ sections when relocating.
+
+start-sanitize-sky
+
+ * configure.tgt (dvp-*-*): Recognize.
+
+end-sanitize-sky
+
+ * ld.texinfo (Options): Add a brief description of the types of
+ information included in a link map.
+
+ * ld.texinfo (Options): Mention LDEMULATION in description of -m.
+ (Environment): Mention LDEMULATION.
+
+ * ld.texinfo (Options): Clarify --export-dynamic a bit.
+
+
+ * ldlex.l (<SCRIPT>{WILDCHAR}*): Take care for the comments this
+ pattern could match.
+
+
+ * emultempl/pe.em (gld_${EMULATION_NAME}_set_symbols): When doing
+ a relocateable link, set the image base to 0, and don't define the
+ various symbols.
+ * emulparams/i386pe.sh (RELOCATEABLE_OUTPUT_FORMAT): Define.
+ * scripttempl/pe.sc: Swap the .data and .bss sections so that
+ .data comes first. If doing a relocateable link, use
+ RELOCATEABLE_OUTPUT_FORMAT if it is defined, and start the
+ sections at 0, and don't define any symbols.
+
+ * ldlang.c (lang_memory_default): Correct parenthisization of
+ expression.
+
+
+ * emultempl/sunos.em: Don't include sys/types.h and sys/stat.h
+ here; they are included already via sysdep.h.
+
+
+ * scripttempl/i960.sc: Don't explicitly set .data and .bss start.
+
+
+ * ldgram.y (attributes_opt): Pass region pointer to
+ lang_set_flags, not ®ion->flags.
+
+ * ldlang.c (lang_memory_default): New function to figure out a
+ default memory region for a section if it was not specified.
+ (lang_memory_region_lookup): Zero flags, not_flags field.
+ (lang_map{,_flags}): Print attribute flags in memory map.
+ (lang_size_sections): Call lang_memory_default to get default
+ memory region.
+ (lang_set_flags): Implement attribute flags for real. Take new
+ argument to give the flags we are to skip for this region.
+
+ * ldlang.h (memory_region_struct): Add not_flags field, make both
+ flags fields flagword type.
+ (lang_output_section_state): Make flags field flagword type.
+ (lang_set_flags): Update prototype to match new calling sequence.
+ (lang_memory_region_default): Add prototype.
+
+start-sanitize-d30v
+ * emulparams/d30v{_e,_o,elf}.sh ({TEXT,DATA,EMEM}_DEF_SECTION):
+ Define whether or not the region gets default sections, and if so,
+ what sections.
+
+ * scripttempl/elfd30v.sc (MEMORY): Set up which of the regions get
+ default sections.
+
+
+ * scripttempl/elfd30v.sc (.eh_frame): Link into the data section.
+
+end-sanitize-d30v
+
+ * scripttempl/h8300h.sc: Fix typo.
+ * scripttempl/h8300s.sc: Likewise.
+
+
+ * ldexp.c (fold_name): Don't crash if the symbol is defined in a
+ section with no output section, such as a shared library section.
+
+
+ * lexsup.c (parse_args): Keep track of where we are in the option
+ parsing before calling ldemul_parse_args, so that we don't call it
+ multiple times on the same argument and confuse the getopt
+ internals.
+
+start-sanitize-d30v
+
+ * configure.tgt (d30v-elf-*): Rename d30velf_e to d30v_e and
+ d30velf_o to d30v_o to work in DOS environments.
+ * Makefile.{am,in}: Ditto.
+
+ * emulparams/d30v_{o,e}: Rename from d30velf_{o,e}.
+ * emulparams/d30velf_{o,e}: Deleted.
+
+end-sanitize-d30v
+
+ * scripttempl/armcoff.sc: Add glue sections (code taken from Arm
+ branch).
+
+ * emulparams/armcoff.sh (TEMPLATE_NAME): Set to armcoff.
+
+ * emultempl/armcoff.em: New file, imported from Arm branch.
+
+start-sanitize-d30v
+
+ * scripttempl/elfd30v.sc: Add .rel and .rela sections for all
+ defined sections. Set up __{D,C}TOR_{LIST,END}__. Add onchip and
+ external memory sections for rodata. Delete .string, .rodata1,
+ and .data1 sections.
+
+end-sanitize-d30v
+
+ * Makefile.am: Add Oct 23 changes to Makefile.in here.
+
+ * Makefile.{am,in}: (ALL_EMULATIONS): Add ed10velf.o.
+
+start-sanitize-tic80
+ * Makefile.{am,in}: (ALL_EMULATIONS): Add etic80coff.o.
+end-sanitize-tic80
+
+start-sanitize-d30v
+ * Makefile.{am,in}: (ALL_EMULATIONS): Add ed30velf{,_e,_o}.o.
+ (ed30velf_e.c): Like d30velf, except .text/.data/etc always go in
+ external memory.
+ (ed30velf_o.c): Like d30velf, except .text/.data/etc always go in
+ onchip memory.
+
+ * emulparams/d30velf.sh (STACK_START_ADDR): Top of default
+ stack.
+ ({TEXT,DATA,EMEM}_SIZE): Sizes of the 3 memory areas.
+ ({TEXT,DATA,BSS}_MEMORY): Which memory region .text, .data, and
+ .bss should go in.
+
+ * emulparams/d30velf_{e,o}.sh: New files to be explicit whether
+ .text, .data, etc go in external memory or onchip memory.
+
+ * configure.tgt (d30v-*-*ext*): New configuration to default
+ .text, .data, etc. in external memory.
+ (d30v-*-*onchip*): New configuration to default .text, .data,
+ etc. in onchip memory.
+ (d30v-*-*): Add d30velf_{e,o} emulations.
+
+ * scripttempl/elfd30v.sc: Allow .text, .data, .bss to be put in
+ either the onchip text/data areas or the external memory area.
+ (MEMORY): Get sizes from d30velf.sh.
+ (.e{data,text,bss}): Put sections in the external memory region.
+ (.stext): Put section in the onchip text region.
+ (.s{data,bss}): Put sections in the onchip data region.
+ (__stack): Assign from ${STACK_START_ADDR}.
+ (.text): Put in ${TEXT_MEMORY} memory region.
+ (.data{,1}/.strings/.rodata{,1}): Put in ${DATA_MEMORY} memory
+ region.
+ (.bss): Put in ${BSS_MEMORY} memory region.
+end-sanitize-d30v
+
+
+ * configure.tgt (targ_extra_emuls): Add support for Thumb target.
+
+
+ * ldlex.l: Don't define hex_mode. Correct number regexp to not
+ accept hex digits without a leading $ or 0x. Handle leading $
+ correctly. Pass 0 rather than hex_mode to bfd_scan_vma.
+ * ldlex.h (hex_mode): Don't declare.
+
+start-sanitize-d30v
+
+ * emulparams/d30velf.sh ({DATA,EMEM}_START_ADDR): Define as start
+ of internal data area and external memory on chip.
+
+ * scripttempl/elfd30v.sc: Define a MEMORY region that describes
+ the 3 regions of memory on the chip. Put .text/.init/.fini into
+ the text memory region, put other segments into the data memory
+ region. Add more of the standard elf sections. Default __stack
+ to be 0x20008000, which is 1 byte beyond end of the internal data
+ region.
+
+end-sanitize-d30v
+
+ * configure.tgt (targ_extra_emuls): Make FreeBSD a i386bsd
+ variant.
+
+
+ * configure.host (alpha*-*-linux*): Correct HOSTING_CRT0. Set
+ HOSTING_LIBS.
+
+
+ * ld.h (args_type): Add warn_mismatch field.
+ * ldmain.c (main): Initialize warn_mismatch field.
+ * lexsup.c (parse_args): Handle --no-warn-mismatch option.
+ * ldlang.c (ignore_bfd_error): New static function.
+ (lang_check): If warn_mismatch is false, don't warn about
+ mismatched input files.
+ * ld.texinfo, ld.1: Document new option.
+
+start-sanitize-tx49
+
+ * configure.tgt: Add tx49 configury.
+
+end-sanitize-tx49
+
+ * scripttempl/v850.sc: Rename linker symbol '_stack' to '__stack'
+ to avoid conflicts with C code which is defining a variable called
+ 'stack'.
+
+
+ * Makefile.in (ALL_EMULATIONS): Move eelf64_sparc.o ...
+ (ALL_64_EMULATIONS): ... here.
+ (eelf64_sparc.c): Template should be elf32 not generic.
+ * emulparams/elf64_sparc.sh (TEMPLATE_NAME): New definition.
+
+
+ * configure.tgt: Add sparc64-*-linux*.
+ * emulparams/elf64_sparc.sh (GENERATE_SHLIB_SCRIPT, NOP): New.
+
* scripttempl/pe.sc: Put .eh_frame in .rdata.