+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
+ Use the same filename extension for the bfd_elf_dt_needed_name call
+ as we did for finding the library.
+
+ * emulparms/elf64hppa.sh (DATA_START_SYMBOLS): Define.
+ (OTHER_READWRITE_SECTIONS): No longer define __hp_load_map.
+
+ * emulparms/elf64hppa.sh (TEXT_START_SYMBOLS): Define.
+
+
+ * emulparms/elf64hppa.sh (SHLIB_TEXT_START_ADDR): Define.
+ (SHLIB_DATA_ADDR): Likewise.
+
+ * emulparms/elf64hppa.sh (TEXT_DYNAMIC): Define.
+
+ * emulparms/elf64hppa.h (OTHER_READWRITE_SECTIONS): No longer combine
+ the .plt, .dlt, .opd into a single output section. Provide values
+ for __gp and __hp_load_map.
+
+
+ * configure.in (Canonicalization of target names): Remove adding
+ ${CONFIG_SHELL} in front of $ac_config_sub, since autoconfig 2.14
+ generates $ac_config_sub with a ${CONFIG_SHELL} already.
+ * configure: Regenerate.
+
+
+ * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): allow for
+ terminating null.
+
+
+ * Makefile.in: Add earm_epoc_pe.c build target.
+
+
+ * emulparms/elf64hppa.sh (OTHER_GOT_RELOC_SECTIONS): Add .rela.dlt.
+
+
+ * emultempl/pe.em: Remove the output file at the start, in case it
+ is not writable.
+
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
+ Search for file with .sl extension if no file with a .so extension
+ is found.
+
+ * emulparms/elf64hppa.sh (OTHER_READWRITE_SECTIONS): Put .plt
+ at the start of the .dlt output section.
+
+
+ * pe.em: Don't include "../bfd/libbfd.h".
+ (gld_${EMULATION_NAME}_after_open): Use xmalloc rather than
+ bfd_alloc.
+
+ * pe-dll.h: New file.
+ * pe-dll.c: Include "pe-dll.h". Mark unused arguments as needed
+ to avoid warnings.
+ (edata_sz, reloc_sz): Change from int to size_t.
+ (pe_details_type): Change type of imagebase_reloc from int to
+ unsigned int.
+ (pe_detail_list): Fully initialize last entry.
+ (pe_dll_id_target): Change parameter to const.
+ (pe_dll_generate_def_file): Likewise.
+ (pe_dll_generate_implib): Likewise.
+ (pe_implied_import_dll): Likewise. Change dll_name to const.
+ * emultempl/pe.em: Include "pe-dll.h". Remove declarations now in
+ pe-dll.h.
+ (init): Fully initialize __dll__ entry.
+ (gld_${EMULATION_NAME}_after_open): Remove unused variables
+ sequence, elt, and i.
+ * deffile.h: Add preprocessor guard.
+ * deffilep.y (def_debug): Remove.
+ * Makefile.am: Rebuild dependencies.
+ (HFILES): Add pe-dll.h.
+
+
+ * ld.h (ld_abort): Declare.
+ (abort): Define.
+ * ldmisc.c (ld_abort): Define.
+
+ * scripttempl/pe.sc: Use ${ENTRY} rather than _mainCRTStartup.
+ Move .bss section after .rdata. Move .reloc section after .rsrc.
+
+ * lexsup.c (parse_args): Use strtoul for --split-by-reloc
+ argument.
+
+ * lexsup.c (parse_args): If we get an unrecognized argument,
+ mention --help.
+
+ * ldlang.c (section_already_linked): Use comdat information if it
+ is available.
+
+ * emultempl/pe.em (PE_DEF_SECTION_ALIGNMENT): If
+ OVERRIDE_SECTION_ALIGNMENT is defined, change to that.
+ (gld_${EMULATION_NAME}_before_parse): Use EXECUTABLE_NAME if it is
+ defined, rather than a.exe.
+ (init): Define __subsystem__ as ${SUBSYSTEM}.
+ (set_pe_subsystem): Add ${INITIAL_SYMBOL_CHAR} before entry symbol
+ name.
+
+
+ * ldlang.c (open_output): Change local variable desired_endian
+ from int to enum bfd_endian.
+
+ * emulparams/arm_epoc_pe.sh: Define ENTRY, SUBSYSTEM and
+ INITIAL_SYMBOL_CHAR.
+ * emulparams/armpe.sh: Likewise.
+ * emulparams/morepe.sh: Likewise.
+ * emulparams/ppcpe.sh: Likewise.
+ * emulparams/i386pe.sh (ENTRY): Define as _mainCRTStartup.
+ (SUBSYSTEM): Define as PE_DEF_SUBSYSTEM.
+
+
+ * emulparms/elf64hppa.sh (LIB_PATH): Define.
+
+ * emulparms/elf64hppa.sh (OTHER_READONLY_SECTIONS): Put stubs before
+ unwinders so that they are closer to the text section.
+ (OTHER_BSS_SECTIONS): Define.
+ (EXECUTABLE_SYMBOLS): Provide __SYSTEM_ID and _FPU_STATUS.
+ (INIT_START, INIT_END): Define.
+ (FINI_START, FINI_END): Define.
+ * scripttempl/elf.sc: Add support for INIT_START, INIT_END,
+ FINI_START, FINI_END and OTHER_BSS_SECTIONS.
+
+
+ * emulparms/elf64hppa.sh (TEXT_START_ADDR): Move up one page.
+ (DATA_ADDR): Define.
+
+
+ * emulparams/d10velf.sh (READONLY_START_ADDR): Set to 0x2000004.
+
+
+ * ld.texinfo: Fix arguments of @var to not contain punctuation.
+
+
+ * emulparms/elf64hppa.sh (OTHER_READWRITE_SECTIONS): Define.
+
+
+ * emulparams/elf64hppa.sh (ELFSIZE): New. Set to 64.
+
+
+ * emulparms/elf64hppa.sh (ENTRY): Define to main.
+
+
+ * ld/configure.host: Added HOSTING_CRT0, HOSTING_LIBS for
+ target "arm*-*-linux-gnu*"
+
+
+ * configure.tgt (pjl-*-*, pj-*-*): New targets.
+ * emulparams/pjelf.sh: New file.
+ * emulparams/pjlelf.sh: New file.
+ * scripttempl/pj.sc: New file.
+ * Makefile.am (ALL_EMULATIONS): Add epjelf.o and epjlelf.o.
+ (epjelf.o, epjlelf.o): New targets.
+ * Makefile.in: Rebuild.
+
+
+ * emulparams/elf64hppa.sh (MAXPAGESIZE): Define.
+ (OTHER_READONLY_SECTIONS, DATA_PLT): Likewise.
+
+
+ * emulparams/elf64hppa.sh: New file.
+ * configure.tgt (hppa*w-*-*): Use elf64hppa emulation.
+ * Makefile.am (ALL_64_EMULATIONS): Add eelf64hppa.o
+ (eelf64hppa.c): Add dependencies.
+ * Makefile.in: Rebuilt.
+
+
+ * emulparams/armelf.sh (OTHER_BSS_SYMBOLS): Add __end__.
+ * emulparams/armelf_linux.sh: Likewise.
+ * emulparams/armelf_linux26.sh: Likewise.
+
+
+
+ * configure.tgt (arm-*-netbsd*): New target.
+ * Makefile.am (ALL_EMULATIONS): Add earmnbsd.o.
+ (earmnbsd.c): New rule with deps.
+ * Makefile.on: Regenerate.
+ * emulparams/armnbsd.sh: New file.
+
+
+ * emulparams/elf32mcore.sh (PARSE_AND_LIST_ARGS): Define.
+ Implement --base-file command line switch.
+
+ * emultempl/elf32.em: Add ability for individual targets to have
+ their own command line switches by defining PARSE_AND_LIST_ARGS.
+
+
+ * configure.host: Use ${CC} instead of gcc for finding compiler
+ related files.
+
+
+ * scripttempl/mcorepe.sc (OUTPUT_FORMAT): Fix typo.
+
+
+ * scripttempl/i386go32.sc: Handle g++ exception sections.
+
+
+ * ldlang.c (lang_size_sections): When checking whether an address
+ is within a region, don't get confused by wrapping around at the
+ end of the address space.
+
+
+ * ldlang.c (wild_doit): Update for renaming of SEC_SHORT to
+ SEC_SMALL_DATA.
+
+ * Makefile.am: Rename .dep* files to DEP*. Change DEP variable to
+ MKDEP. Rebuild dependencies.
+ * Makefile.in: Rebuild.
+
+
+ * configure.host (sparc-*-linux-gnu*): New host.
+ (sparc64-*-linux-gnu*): New host.
+
+
+ * lexsup.c (is_num): Reindent.
+ (parse_args): Mention program name in error message.
+
+ * emultempl/ostring.sed: Rename from stringify.sed.
+ * emultempl/astring.sed: New file.
+ * Makefile.am (stringify.sed): New target.
+ (GEN_DEPENDS): Change $(srcdir)/emultempl/stringify.sed to
+ stringify.sed.
+ * configure.in: Define and substitute STRINGIFY.
+ * emultempl/*.em: Use stringify.sed from build directory rather
+ than source directory.
+ * emultempl/elf32.em: Use stringify.sed rather than inline sed
+ script.
+ * emultempl/gld960.em, emultempl/gld960c.em: Likewise.
+ * emultempl/hppaelf.em, emultempl/linux.em: Likewise.
+ * emultempl/lnk960.em, emultempl/sunos.em: Likewise.
+ * configure, Makefile.in: Rebuild.
+
+
+ * emulparams/i386pe.sh: Define ENTRY, SUBSYSTEM, and
+ INITIAL_SYMBOL_CHAR.
+ * emulparams/i386pe_posix.sh: New file.
+ * Makefile.am (YACC): If bison is not in the source tree, use
+ @YACC@ rather than bison -y.
+ (LEX): If flex is not in the source tree, use @LEX@ rather than
+ flex.
+ (ALL_EMULATIONS): Add ei386pe_posix.o.
+ (ei386pe_posix.c): New target.
+ * configure.tgt (i[3456]86-*-interix*): New target.
+ * configure.host (i[3456]86-pc-interix*): New host.
+ * Makefile.in: Rebuild.
+
+
+ * emulparams/elf32ppc.sh (MAXPAGESIZE): Change to 0x10000.
+ * emulparams/elf32ppclinux.sh (MAXPAGESIZE): Likewise.
+
+
+ * Makefile.am (ALL_EMULATIONS): Remove ego32.o.
+ (ego32.c): Remove.
+ * Makefile.in: Rebuild.
+
+
+ * emulparams/armelf_linux26.sh (DATA_START_SYMBOLS): Define.
+ (OTHER_BSS_SYMBOLS, OTHER_BSS_END_SYMBOLS): Likewise.
+ * emulparams/armelf_linux.sh (DATA_START_SYMBOLS): Define.
+
+ * configure.tgt (arm*-*-uclinux*, thumb-*-uclinux*,
+ thumb-*-linux-gnu*): New targets.
+
+
+ * scripttempl/i386go32.sc: Add handling of linkonce sections.
+
+ * configure.bat: Remove; obsolete.
+ * emulparams/go32.sh: Remove; obsolete.
+ * scripttempl/go32coff.sc: Remove; obsolete.
+
+
+ * configure.tgt (mips*el-*-vxworks*): New target.
+
+
+ * configure.tgt (i[3456]86-*-vxworks*): New target.
+
+
+ * ldlang.c (lang_gc_sections): Only handle the start symbol
+ specially if there is one.
+
+
+ * emulparams/elf32bmipn32.sh (OTHER_RELOCATING_SECTIONS): Add
+ .MIPS.events and .MIPS.content handling.
+ * emulparams/elf64bmip.sh (OTHER_RELOCATING_SECTIONS): Likewise.
+
+
+ * ldlang.c (get_target): New function: Return true iff the
+ given target is the target being sought.
+ (stricpy): New function: Like strcpy but convert to lower
+ case as well.
+ (strcut): New function: Like strstr but remove the located
+ substring as well.
+ (name_compare): New function: Compute a compatability rating
+ for two target names.
+ (winner): New variable: Best target found by
+ closest_target_match() so far.
+ (closest_target_match): New function: Find the target which is
+ the closest match to the original target.
+ (get_first_input_target): New function: Find the target format
+ of the first of the linker's input file.
+ (open_output): Be more clever about deciding the output target
+ format.
+
+
+ * emulparams/elf64_sparc.sh: Add 64-bit directories to native LIB_PATH.
+
+
+ * configure.host: Set up HOSTING_CRT0 and HOSTING_LIBS for IRIX6.
+
+
+ * configure.in: Bump version number to 2.9.5.
+ * configure: Rebuild.
+
+
+ * ldlang.c (wild_doit): Copy SEC_SHORT to output section.
+
+ * scripttempl/elf.sc: Re-order .rel[a].foo outputs to the
+ same order seen for the main sections. Add
+ OTHER_READONLY_RELOC_SECTIONS and OTHER_GOT_RELOC_SECTIONS.
+
+
+ * emultempl/linux.em (ld_${EMULATION_NAME}_emulation): Fill in
+ structure initializations.
+
+ * emultempl/elf32.em (ld_${EMULATION_NAME}_emulation): Add missing
+ comma in initializer.
+
+
+ * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
+ as appropriate. Fill in structure initializations.
+
+
+ * ldfile.c: Revert patch of 1999-07-08.
+ (ldfile_try_open_bfd): If we are searching for the file, skip
+ files with an incompatible architecture.
+
+
+ * scripttempl/armcoff.sc (OUTPUT_FORMAT): Include big endian and
+ little endian formats.
+
+
+ * scripttempl/mcorepe.sc: fix quoting problem, for bash 2.x
+
+
+ * ldfile.c (ldfile_open_file_search): Skip libraries made for
+ incompatible architectures in the search path. Let the user know
+ about any such skips.
+
+
+ * configure.tgt (hppa*-linux-gnu*): New target.
+
+
+ * Makefile.am (ALL_64_EMULATIONS): Add eelf64bmip.
+ (eelf64bmip): New target.
+ * Makefile.in: Regenerated.
+ * configure.tgt (mips-sgi-irix6*): Add 64-bit emulation.
+ * emulparams/elf64bmip.sh: New file.
+
+
+ * emultempl/pe.em (after_open): Abort if input format is ARM and
+ output format is not.
+ * emultempl/armcoff.em (after_open): Abort if input format is ARM
+ and output format is not.
+ * emultempl/armelf.em (after_open): Abort if input format is ARM
+ and output format is not.
+
+
+ * ldlang.c: Revert change of 1999-06-23.
+
+
+ * Makefile.am (ALL_EMULATIONS): Add eelf32bmipn32.o.
+ (eelf32bmipn32.c): New target.
+ * Makefile.in: Regenerated.
+ * configure.tgt (mips-sgi-irix6*): Make n32 the default
+ emulation.
+ * emulparams/elf32bmipn32.sh: New file.
+
+
+ * emultempl/armelf.em: Added code so that .xs linker scripts are
+ called so that ARM shared libraries are built correctly.
+
+
+ * ldmain.c (main): Initialize link_info.init_function and
+ link_info.fini_function.
+ * lexsup.c (OPTION_INIT): New macro.
+ (OPTION_FINI): Likewise.
+ (ld_options): Add descriptions for them.
+ (parse_args): Handle them.
+
+
+ * ldlang.c (section_already_linked): Only discard link once
+ sections if we are building constructors.
+
+
+ * ld.texinfo (Location Counter): Describe behaviour of
+ location counter inside section statements.
+
+
+ * scripttempl/elf.sc (WRITABLE_RODATA): New variable for
+ controlling whether or not .rodata is in the data segment or the
+ text segment.
+
+
+ * emultempl/pe.em: Add new command line switch --thumb-entry.
+ * emultempl/armelf.em: Add new command line switch --thumb-entry.
+ * emultempl/armcoff.em: Add new command line switch --thumb-entry.
+ * ld.texinfo: Document new ARM command line switch: --thumb-entry.
+
+ * configure.in (all_libpath): Accumulate across all enabled targets.
+
+
+ * emultempl/armelf.em: Watch EMULATION_LIBPATH instead of
+ DEFAULT_EMULATION.
+ * emultempl/elf32.em: Likewise.
+ * emultempl/sunos.em: Likewise.
+
+
+ * Makefile.am (GENSCRIPTS): Pass EMULATION_LIBPATH, not EMUL.
+ * configure.in (all_emuls): Add targ_extra_libpath.
+ (all_libpath, EMULATION_LIBPATH): Define.
+ * configure.tgt (powerpc-*-linux-gnu*): Define targ_extra_libpath.
+ * genscripts.sh (LIB_PATH): Define if emulation in EMULATION_LIBPATH.
+
+
+ * ld.texinfo: Fix use of @item vs. @itemx.
+
+
+ * ldgram.y (attributes_opt): Use attributes_list instead of NAME.
+ (attributes_list, attributes_string): New nonterminals.
+ * ldlang.c (lang_set_flags): Add invert parameter. Don't handle
+ '!'.
+ * ldlang.c (lang_set_flags): Update declaration.
+
+
+ * emultempl/pe.em (gld_${EMULATION_NAME}_after_parse): Don't add
+ entry_symbol as an undefined symbol when doing a relocateable
+
+
+ * configure.tgt: (i[3456]86-*-freebsd*): Now defaults to ELF.
+
+
+ * lexsup.c (help): Restore previous format of output.
+
+
+ * emultempl/pe.em: If compiling for arm_epoc_pe rename
+ interworking functions to avoid a name space clash.
+
+
+ * scripttempl/v850.sc: Add initp support.
+
+
+ * emultempl/pe.em: Rename global arm interworking functions to
+ avoid name collision when all targets BFD is built.
+
+
+ * Makefile.am (ALL_EMULATIONS): Add eelf32ppclinux.o.
+ * configure.tgt (powerpc-*-linux-gnu): Use it.
+ * emulparams/elf32ppclinux.sh: New file.
+
+
+ * ld.texinfo (Options): Clarify that options which refer to files
+ must be properly ordered.
+
+
+ * emultempl/armelf.em (..._parse_args): New function: Parse
+ command line option. Accept arm-elf specific command line option
+ '-p' or '--no-pipeline-knowledge'.
+ (..._list_options): New function: Describe the new command line
+ option.
+ (..._before_allocation): Pass the value of the new variable
+ no_pipeline_knowledge to bfd_elf32_arm_process_before_allocation.
+
+ * emultemp/armelf_oabi.em (..._before_allocation): Pass zero as
+ the third parameter to bfd_elf32_arm_process_before_allocation.
+
+
+ * lexsup.c (help): Minor formatting changes.
+
+
+ * configure.tgt (i960-*-elf*): New target.
+ * emulparams/elf32_i960.sh: New file.
+ * Makefile.am (ALL_EMULATIONS): Add eelf32_i960.o.
+ (eelf32_i960.c): New target.
+ * Makefile.in: Rebuild.
+
* emulparams/armelf_oabi.sh (TEMPLATE_NAME): Set to armelf_oabi.