blob: 1f6533a28610d8dedf7159c418ec796d915aa90e [file] [log] [blame]
1999-12-02 Nick Clifton <>
* Fix arm-epoc-pe dependencies.
* Regenerate.
* emulparams/ (SCRIPT_NAME): Set to epocpe.
* scripttempl/ New file: copy of, customised for
EPOC by placing .rdata into .text.
1999-11-26 Andreas Schwab <>
* Put AC_MSG_CHECKING/AC_MSG_RESULT around check for
STRINGIFY. Use yes/no instead of true/false as value for cache
* configure: Regenerate.
1999-11-24 Nick Clifton <>
* ldlang.c (IGNORE_SECTION): Section must have both ALLOC and LOAD
attributes in order to be checked.
1999-11-22 Nick Clifton <>
* ldlang.c (lang_check_section_addresses): Fix test to determine
if a section should be tested.
(IGNORE_SECTION): New macro.
Wed Nov 3 23:31:19 1999 Jeffrey A Law (
* emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
Clean up code to use EXTRA_SHLIB_EXTENSION.
1999-11-03 Nick Clifton <>
* emulparams/ (OUTPUT_FORMAT): Change to little endian.
* emulparams/ (OUTPUT_FORMAT): Change to little endian.
1999-11-01 Steve Chamberlain <>
* ldlang.c (section_already_linked): Rework to use hash table.
(already_linked_newfunc): New function.
(already_linked_table_init): New function.
(already_linked_table_free): New function.
(lang_process): Initialize and free the already_linked hash table.
1999-10-27 Andreas Jaeger <>
target "mips*-*-linux-gnu*".
1999-10-27 Scott Bambrough <>
* emultempl/armelf.em: Include ctype.h to prevent compile time
1999-10-26 Nick Clifton <>
* emultempl/armcoff.em (gld{}_finish): Remove extraneous
underscore from prototype.
* emultempl/armelf.em (gld{}_finish): Remove extraneous
underscore from prototype.
1999-10-07 Geoffrey Keating <>
* scripttempl/ (.rel.sdata): Combine all the sdata relocs
being .rel.sdata, .rel.sdata.*, .rel.gnu.linkonce.s*.
(.rela.sdata): Likewise for .rela.sdata.* and .rela.gnu.linkonce.s*.
(.rel.sbss): Make like .rel.bss.
(.rela.sbss): Make like .rel.bss.
(.sdata): Don't include .gnu.linkonce.s.* or .sdata.* when
ld -r.
(.sbss): Do the same things as for .bss: include SDATA_START_SYMBOLS,
1999-09-29 Andrew Haley <>
* emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Defer
merging sections when not relocating.
1999-09-28 Mumit Khan <>
* pe-dll.c (process_def_file): Move the offset lookup from here to
(fill_exported_offsets): here. New static function.
(fill_edata): Use.
1999-09-28 Mumit Khan <>
* deffilep.y (tokens): Add upper and lower case versions of DATA,
(command): Use DATAU.
(expline): Allow for drectve syntax as well.
(exp_opt_list): Likewise.
(exp_opt): Likewise.
* pe-dll.c (make_one): Only generate the idata entries for data
1999-09-28 Geoffrey Keating <>
* scripttempl/ (.sdata): Include .gnu.linkonce.s.* sections
in .sdata too.
1999-09-26 Nick Clifton <>
* scripttempl/ (.bss): Accept sections named .bss.*
(.sbss): Accept sections names .sbss.*
1999-09-22 Nick Clifton <>
* Add earm_epoc_pe.c build target.
Sat Sep 18 07:57:10 1999 Jeffrey A Law (
* emulparms/ (OTHER_READONLY_SYMBOLS): Remove ".stubs",
they've been renamed to ".stub", which is handled automatically
Fri Sep 17 11:00:33 1999 Jeffrey A Law (
* emulparms/ (TEXT_START_SYMBOLS): Kill completely.
(DATA_START_SYMBOLS): Kill __hp_load_map definition
Thu Sep 16 10:59:56 1999 Jeffrey A Law (
* 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/ (DATA_START_SYMBOLS): Define.
(OTHER_READWRITE_SECTIONS): No longer define __hp_load_map.
* emulparms/ (TEXT_START_SYMBOLS): Define.
Wed Sep 15 02:47:43 1999 Jeffrey A Law (
* emulparms/ (SHLIB_TEXT_START_ADDR): Define.
(SHLIB_DATA_ADDR): Likewise.
* emulparms/ (TEXT_DYNAMIC): Define.
* emulparms/ (OTHER_READWRITE_SECTIONS): No longer combine
the .plt, .dlt, .opd into a single output section. Provide values
for __gp and __hp_load_map.
1999-09-14 Michael Meissner <>
* (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.
1999-09-14 Donn Terry <>
* emultempl/pe.em (gld_${EMULATION_NAME}_after_open): allow for
terminating null.
1999-09-14 Ulrich Drepper <>
* Define EXTRA_SHLIB_EXTENSION to ".sl" for HP target.
* emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
Search for second shared lib extension only if EXTRA_SHLIB_EXTENSION
is defined.
1999-09-14 Nick Clifton <>
* Add earm_epoc_pe.c build target.
Tue Sep 14 05:26:34 1999 Jeffrey A Law (
* emulparms/ (OTHER_GOT_RELOC_SECTIONS): Add .rela.dlt.
1999-09-13 Donn Terry <>
* emultempl/pe.em: Remove the output file at the start, in case it
is not writable.
Mon Sep 13 00:17:18 1999 Jeffrey A Law (
* 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/ (OTHER_READWRITE_SECTIONS): Put .plt
at the start of the .dlt output section.
1999-09-12 Ian Lance Taylor <>
* pe.em: Don't include "../bfd/libbfd.h".
(gld_${EMULATION_NAME}_after_open): Use xmalloc rather than
* 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
(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.
* Rebuild dependencies.
(HFILES): Add pe-dll.h.
1999-09-12 Donn Terry <>
* ld.h (ld_abort): Declare.
(abort): Define.
* ldmisc.c (ld_abort): Define.
* scripttempl/ 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
* 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
1999-09-12 Ian Lance Taylor <>
* ldlang.c (open_output): Change local variable desired_endian
from int to enum bfd_endian.
* emulparams/ Define ENTRY, SUBSYSTEM and
* emulparams/ Likewise.
* emulparams/ Likewise.
* emulparams/ Likewise.
* emulparams/ (ENTRY): Define as _mainCRTStartup.
Fri Sep 10 00:22:50 1999 Jeffrey A Law (
* emulparms/ (LIB_PATH): Define.
* emulparms/ (OTHER_READONLY_SECTIONS): Put stubs before
unwinders so that they are closer to the text section.
* scripttempl/ Add support for INIT_START, INIT_END,
Thu Sep 9 21:43:58 1999 Jeffrey A Law (
* emulparms/ (TEXT_START_ADDR): Move up one page.
(DATA_ADDR): Define.
1999-09-09 Stan Shebs <>
* emulparams/ (READONLY_START_ADDR): Set to 0x2000004.
1999-09-09 Andreas Schwab <>
* ld.texinfo: Fix arguments of @var to not contain punctuation.
Thu Sep 9 05:52:34 1999 Jeffrey A Law (
* emulparms/ (OTHER_READWRITE_SECTIONS): Define.
1999-09-08 Ulrich Drepper <>
* emulparams/ (ELFSIZE): New. Set to 64.
Wed Sep 8 00:07:39 1999 Jeffrey A Law (
* emulparms/ (ENTRY): Define to main.
1999-09-03 Scott Bambrough <>
target "arm*-*-linux-gnu*"
1999-09-04 Steve Chamberlain <>
* configure.tgt (pjl-*-*, pj-*-*): New targets.
* emulparams/ New file.
* emulparams/ New file.
* scripttempl/ New file.
* (ALL_EMULATIONS): Add epjelf.o and epjlelf.o.
(epjelf.o, epjlelf.o): New targets.
* Rebuild.
Fri Sep 3 20:17:08 1999 Jeffrey A Law (
* emulparams/ (MAXPAGESIZE): Define.
Thu Sep 2 14:32:03 1999 Jeffrey A Law (
* emulparams/ New file.
* configure.tgt (hppa*w-*-*): Use elf64hppa emulation.
* (ALL_64_EMULATIONS): Add eelf64hppa.o
(eelf64hppa.c): Add dependencies.
* Rebuilt.
1999-08-25 Philip Blundell <>
* emulparams/ (OTHER_BSS_SYMBOLS): Add __end__.
* emulparams/ Likewise.
* emulparams/ Likewise.
1999-08-24 Nick Clifton <>
From a patch submitted by Roland McGrath <>
* configure.tgt (arm-*-netbsd*): New target.
* (ALL_EMULATIONS): Add earmnbsd.o.
(earmnbsd.c): New rule with deps.
* Makefile.on: Regenerate.
* emulparams/ New file.
1999-08-23 Nick Clifton <>
* emulparams/ (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.
1999-08-19 Andreas Schwab <>
* Use ${CC} instead of gcc for finding compiler
related files.
1999-08-11 Nick Clifton <>
* scripttempl/ (OUTPUT_FORMAT): Fix typo.
1999-08-09 Mark Elbrecht <>
* scripttempl/ Handle g++ exception sections.
1999-08-09 Ian Lance Taylor <>
From Wally Iimura <>:
* 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.
1999-08-08 Ian Lance Taylor <>
* ldlang.c (wild_doit): Update for renaming of SEC_SHORT to
* Rename .dep* files to DEP*. Change DEP variable to
MKDEP. Rebuild dependencies.
* Rebuild.
1999-08-08 Jakub Jelinek <>
* (sparc-*-linux-gnu*): New host.
(sparc64-*-linux-gnu*): New host.
1999-08-06 Ian Lance Taylor <>
* 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.
* (stringify.sed): New target.
(GEN_DEPENDS): Change $(srcdir)/emultempl/stringify.sed to
* 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
* emultempl/gld960.em, emultempl/gld960c.em: Likewise.
* emultempl/hppaelf.em, emultempl/linux.em: Likewise.
* emultempl/lnk960.em, emultempl/sunos.em: Likewise.
* configure, Rebuild.
1999-08-05 Donn Terry <>
* emulparams/ Define ENTRY, SUBSYSTEM, and
* emulparams/ New file.
* (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
(ALL_EMULATIONS): Add ei386pe_posix.o.
(ei386pe_posix.c): New target.
* configure.tgt (i[3456]86-*-interix*): New target.
* (i[3456]86-pc-interix*): New host.
* Rebuild.
1999-08-03 Ian Lance Taylor <>
* emulparams/ (MAXPAGESIZE): Change to 0x10000.
* emulparams/ (MAXPAGESIZE): Likewise.
1999-08-03 H.J. Lu <>
* (ALL_EMULATIONS): Remove ego32.o.
(ego32.c): Remove.
* Rebuild.
1999-07-22 Philip Blundell <>
* emulparams/ (DATA_START_SYMBOLS): Define.
* emulparams/ (DATA_START_SYMBOLS): Define.
* configure.tgt (arm*-*-uclinux*, thumb-*-uclinux*,
thumb-*-linux-gnu*): New targets.
1999-07-21 Mark Elbrecht <>
* scripttempl/ Add handling of linkonce sections.
* configure.bat: Remove; obsolete.
* emulparams/ Remove; obsolete.
* scripttempl/ Remove; obsolete.
1999-07-21 H.J. Lu <>
* configure.tgt (mips*el-*-vxworks*): New target.
1999-07-21 Brad M. Garcia <>
* configure.tgt (i[3456]86-*-vxworks*): New target.
Tue Jul 20 15:18:46 1999 Bob Manson <>
* ldlang.c (lang_gc_sections): Only handle the start symbol
specially if there is one.
Mon Jul 19 14:19:14 1999 Mark P. Mitchell <>
* emulparams/ (OTHER_RELOCATING_SECTIONS): Add and .MIPS.content handling.
* emulparams/ (OTHER_RELOCATING_SECTIONS): Likewise.
1999-07-17 Nick Clifton <>
* 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
1999-07-16 Jakub Jelinek <>
* emulparams/ Add 64-bit directories to native LIB_PATH.
Thu Jul 15 15:55:15 1999 Mark P. Mitchell <>
1999-07-15 Ian Lance Taylor <>
* Bump version number to 2.9.5.
* configure: Rebuild.
1999-07-14 Richard Henderson <>
* ldlang.c (wild_doit): Copy SEC_SHORT to output section.
* scripttempl/ Re-order .rel[a].foo outputs to the
same order seen for the main sections. Add
1999-07-12 Andreas Schwab <>
* emultempl/linux.em (ld_${EMULATION_NAME}_emulation): Fill in
structure initializations.
* emultempl/elf32.em (ld_${EMULATION_NAME}_emulation): Add missing
comma in initializer.
1999-07-11 Ian Lance Taylor <>
* Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
as appropriate. Fill in structure initializations.
1999-07-10 Ian Lance Taylor <>
* 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.
1999-07-09 Nick Clifton <>
* scripttempl/ (OUTPUT_FORMAT): Include big endian and
little endian formats.
1999-07-08 Felix Lee <>
* scripttempl/ fix quoting problem, for bash 2.x
1999-07-08 Jakub Jelinek <>
* ldfile.c (ldfile_open_file_search): Skip libraries made for
incompatible architectures in the search path. Let the user know
about any such skips.
Thu Jul 8 12:32:23 1999 John David Anglin <>
* configure.tgt (hppa*-linux-gnu*): New target.
1999-07-07 Mark Mitchell <>
* (ALL_64_EMULATIONS): Add eelf64bmip.
(eelf64bmip): New target.
* Regenerated.
* configure.tgt (mips-sgi-irix6*): Add 64-bit emulation.
* emulparams/ New file.
1999-07-05 Nick Clifton <>
* 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.
1999-07-02 Ian Lance Taylor <>
* ldlang.c: Revert change of 1999-06-23.
1999-06-30 Mark Mitchell <>
* (ALL_EMULATIONS): Add eelf32bmipn32.o.
(eelf32bmipn32.c): New target.
* Regenerated.
* configure.tgt (mips-sgi-irix6*): Make n32 the default
* emulparams/ New file.
1999-06-28 Jim Pick <>
* emultempl/armelf.em: Added code so that .xs linker scripts are
called so that ARM shared libraries are built correctly.
1999-06-22 Mark Mitchell <>
* ldmain.c (main): Initialize link_info.init_function and
* lexsup.c (OPTION_INIT): New macro.
(OPTION_FINI): Likewise.
(ld_options): Add descriptions for them.
(parse_args): Handle them.
1999-06-23 Ian Lance Taylor <>
* ldlang.c (section_already_linked): Only discard link once
sections if we are building constructors.
1999-06-22 Nick Clifton <>
* ld.texinfo (Location Counter): Describe behaviour of
location counter inside section statements.
1999-06-20 Mark Mitchell <>
* scripttempl/ (WRITABLE_RODATA): New variable for
controlling whether or not .rodata is in the data segment or the
text segment.
1999-06-18 Nick Clifton <>
* 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.
1999-06-20 H.J. Lu <>
* (all_libpath): Accumulate across all enabled targets.
Sun Jun 20 14:10:33 1999 Richard Henderson <>
* emultempl/armelf.em: Watch EMULATION_LIBPATH instead of
* emultempl/elf32.em: Likewise.
* emultempl/sunos.em: Likewise.
Fri Jun 18 15:24:48 1999 Richard Henderson <>
* (all_emuls): Add targ_extra_libpath.
(all_libpath, EMULATION_LIBPATH): Define.
* configure.tgt (powerpc-*-linux-gnu*): Define targ_extra_libpath.
* (LIB_PATH): Define if emulation in EMULATION_LIBPATH.
Mon Jun 14 10:38:36 1999 Andreas Schwab <>
* ld.texinfo: Fix use of @item vs. @itemx.
1999-06-13 Ian Lance Taylor <>
From Thomas Zenker <>:
* 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.
1999-06-12 Ian Lance Taylor <>
* emultempl/pe.em (gld_${EMULATION_NAME}_after_parse): Don't add
entry_symbol as an undefined symbol when doing a relocateable
link. From <>.
1999-06-12 David O'Brien <>
* configure.tgt: (i[3456]86-*-freebsd*): Now defaults to ELF.
1999-06-09 Nick Clifton <>
* lexsup.c (help): Restore previous format of output.
1999-06-04 Nick Clifton <>
* emultempl/pe.em: If compiling for arm_epoc_pe rename
interworking functions to avoid a name space clash.
1999-06-02 Jason Merrill <>
* scripttempl/ Add initp support.
1999-06-02 Nick Clifton <>
* emultempl/pe.em: Rename global arm interworking functions to
avoid name collision when all targets BFD is built.
1999-05-30 Cort Dougan <>
* (ALL_EMULATIONS): Add eelf32ppclinux.o.
* configure.tgt (powerpc-*-linux-gnu): Use it.
* emulparams/ New file.
1999-05-29 Ian Lance Taylor <>
* ld.texinfo (Options): Clarify that options which refer to files
must be properly ordered.
1999-05-29 Nick Clifton <>
* 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
(..._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.
1999-05-28 Nick Clifton <>
* lexsup.c (help): Minor formatting changes.
1999-05-28 Martin Dorey <>
* configure.tgt (i960-*-elf*): New target.
* emulparams/ New file.
* (ALL_EMULATIONS): Add eelf32_i960.o.
(eelf32_i960.c): New target.
* Rebuild.
1999-05-26 Nick Clifton <>
* emulparams/ (TEMPLATE_NAME): Set to armelf_oabi.
1999-05-24 Philip Blundell <>
* emultempl/armelf.em (before_parse): Set config.dynamic_link and
* emulparams/ (GENERATE_SHLIB_SCRIPT): Define.
* emulparams/ (GENERATE_SHLIB_SCRIPT): Likewise.
1999-04-13 Philip Blundell <>
* emultempl/armelf.em: Add definitions related to shared objects
(copied from elf32.em).
Wed May 19 12:44:26 1999 Andreas Schwab <>
* (ALL_EMULATIONS): Remove earmlinux.o and
earm26linux.o, add earmelf_linux.o and earmelf_linux26.o.
* Regenerated.
1999-05-16 Nick Clifton <>
* emulparams/ (GENERATE_SHLIB_SCRIPT): Define.
Thu May 13 09:48:09 1999 Joel Sherrill (
* configure.tgt (i386-*-rtemself*, sh-*-rtemself*): New targets.
(mips*el-*-rtems*, powerpcle-*-rtems*): New targets.
1999-05-10 DJ Delorie <>
* scripttempl/ Specify the output arch, which Ian says is
the Right Thing to do.
* emultempl/pe.em: various changes to parameterize the
target-specific information.
(gld_i386pe_after_open): Detect and fix MS import libraries
by renaming the member objects (which are all named the same).
* pe-dll.c: various changes to parameterize the target-specific
(generate_reloc): support relocs more generically to allow for
(pe_exe_build_sections): new; used to add .relocs to .exes
(pe_exe_fill_sections): ditto
1999-05-10 Catherine Moore <>
* emultempl/pe.em (gld_${EMULATION_NAME}_after_open):
Check for TARGET_IS_arm_epoc_pe.
(gld_${EMULATION_NAME}_before_allocation): Likewise.
1999-05-12 Anthony Green <>
* ldlang.c (walk_wild, walk_wild_file, walk_wild_section,
output_section_callback, gc_section_callback): New functions for
generic section walks.
(wild, lang_gc_wild): Use walk_wild.
(wild_file, lang_gc_wild_file): Deleted. Common logic moved to
(wild_section, lang_gc_wild_section): Deleted. Common logic moved
to walk_fild_section. Unique logic moved into callbacks
output_section_callback and gc_section_callback.
1999-04-26 Tom Tromey <>
* aclocal.m4, configure: Updated for new version of libtool.
1999-04-12 Philip Blundell <>
* emulparams/ New file. Support for ARM
* emulparams/ New file. APCS-26 version of above.
* configure.tgt: For arm*-*-linux-gnu*, set default emulation to
`armelf_linux', and also include `armelf_linux26' and `armelf'.
* Add rules to make earmlinux.c and earmlinux26.c.
(ALL_EMULATIONS): Add earmlinux.o and earmlinux26.o.
* Regenerate.
1999-04-11 Richard Henderson <>
* (ALL_EMULATIONS): Add elf_i386_be.o.
* configure.tgt (i[3456]86-*-beos*): Use it.
* emulparams/ New file.
* Rebuild.
* (environ): Detect declaration.
* ldmain.c (main): Don't declare environ.
* sysdep.h (environ): Declare if needed.
* configure, Rebuild.
1999-04-11 Richard Henderson <>
* ldgram.y (ldgram_vers_current_lang): New.
(vers_defns): Accept `extern "lang" { }' syntax.
* ldlex.l (vers_node_nesting): New.
(V_IDENTIFIER): Accept . and $ in symbols.
(VERS_NODE): Accept `extern "lang" { }' tokens. Nest VERS_NODE states.
* ldlang.c (lang_new_vers_regex): New `lang' argument. Update callers.
(lang_vers_match_lang_c): New function.
(lang_vers_match_lang_cplusplus): New function.
(lang_vers_match_lang_java): New function.
(lang_do_version_exports_section): Fix iteration. Don't free
section contents, as it is still in use by the patterns.
1999-04-10 Richard Henderson <>
* ldmain.c (main): Init link_info.no_undefined.
* lexsup.c: Add command-line option --no-undefined.
1999-04-06 Ian Lance Taylor <>
* ld.h (LC_MESSAGES): Never define.
* ldmain.c (main): Don't pass LC_MESSAGES to setlocale if the
system does not define it.
1999-04-06 H.J. Lu <>
* ldmain.h (demangling): Declare.
* ldmain.c (demangling): New global variable.
(main): Initialize demangling.
* ldmisc.c (vfinfo): Don't demangle symbol if ! demangling.
* lexsup.c (ld_options, parse_args): Handle --demangle and
* ld.texinfo, ld.1: Document --demangle/--no-demangle.
* ldlex.l (V_IDENTIFIER): Allow '.' in symbol.
1999-04-05 Chris Torek <torek@BSDI.COM>
* emultempl/sunos.em (gld${EMULATION_NAME}_search_dir): Check that
a shared library really exists, avoiding broken symlinks.
* ldfile.c (ldfile_open_file): Generate a better error message if
we can't find a -l file.
1999-04-05 DJ Delorie <>
* configure.tgt (i386-*-pe): add targ_extra_ofiles for other PE
targets (i386-pe and i386-winnt)
1999-04-04 Ian Lance Taylor <>
* deffilep.y: Include "sysdep.h" and "ldmisc.h".
(def_file_add_directive): Change return type to void. Remove
unused locals sh_reserve, sh_commit, and j.
(def_ungetc): Always return a value.
(def_lex): Correct parenthesization of || within &&.
* deffile.h (def_file_add_directive): Update declaration.
* pe-dll.c: Include <time.h>, <ctype.h>, and "ldemul.h".
(generate_edata): Remove unused local i.
(quoteput): Add cast to avoid warning.
(pe_dll_generate_def_file): Fix type in format string.
(quick_symbol): Remove unused local blhe.
(pe_dll_generate_implib): Add cast to avoid warning.
(pe_process_import_defs): Remove unused locals ar_head, ar_tail,
and n.
(pe_as16): Comment out.
1999-04-04 Don Bowman <>
* configure.tgt: Add mips*-*-vxworks* target.
1999-03-31 Nick Clifton <>
* (ALL_EMULATIONS): Add earm_epoc_pe.o
Add build rule and dependencies for earm_epoc_pe.c.
* emulparams/ New file.
* configure.tgt: Add 'targ_extra_ofiles' for ARM based PE
1999-03-31 Philip Blundell <>
* configure.tgt: Match `arm*-*-linux-gnu*' not
1999-03-26 Andreas Schwab <>
* scripttempl/ Put the .eh_frame and .gcc_except_table
sections in the data segment.
Fri Mar 26 12:05:51 1999 Catherine Moore <>
* ld.h (wildcard_spec): Add exclude_name.
* ldgram.y (EXCLUDE_FILE): New token.
(wildcard_spec): Set exclude_name.
(file_NAME_list): Recognize EXCLUDE_FILE.
* ldlang.c (wild_section): Check for excluded files.
(print_wild_statement): Print excluded files.
(lang_add_wild): New argument exclude_filename.
Set exclude_filename.
* ldlang.h (lang_wild_statement_type): Add exclude_filename.
* ldlex.l: New token EXCLUDE_FILE.
* mri.c (mri_draw_tree): Add argument to lang_add_wild.
* scripttempl/ (CTOR, DTOR): Exclude crtend.o from ctor wildcard.
Reorder sorted and unsorted ctors.
* scripttempl/ (CTOR, DTOR): Likewise.
* scripttempl/ (CTOR, DTOR): Likewise.
* scripttempl/ (CTOR, DTOR): Likewise.
1999-03-26 Nick Clifton <>
* ldlang.c (lang_gc_sections): If entry_symbol is not defined,
default to "start".
1999-03-03 Nick Clifton <>
* scripttempl/ Add explicit placements for the .eh_frame
and .gcc_except_table sections.
Wed Mar 3 09:13:34 1999 Catherine Moore <clm@cygnus.clm>
* scripttempl/ Remove .end.ctors and .end.dtors
sections. Reorder .ctors section entries.
* scripttempl/ Likewise.
* scripttempl/ Likewise.
* scripttempl/ Likewise.
1999-02-26 Jim Lemke <>
* ldmain.c (main): Wrong error msg for -r and --mpc860c0.
1999-02-25 Nick Clifton <>
* ldlang.c (lang_check_section_addresses): Remove extraneous
Thu Feb 25 15:07:24 1999 Catherine Moore <>
* scripttempl/ Don't gather .ctor and .dtor sections
for relocateable links.
* scripttempl/ Likewise.
* scripttempl/ Likewise.
* scripttempl/ Likewise.
1999-02-22 Jim Lemke <>
* ldint.texinfo: remove extraneous right brace.
* ldmain.c (main): initialize and check option "mpc860c0".
* lexsup.c (ld_options, parse_args): add option "mpc860c0".
Wed Feb 17 12:10:06 1999 Stan Cox <>
* mpw-elfmips.c (gldelf32ebmip_before_allocation): Remove special
.reginfo section handling.
* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Likewise.
* emulparams/ (INITIAL_READONLY_SECTIONS): Removed
* emulparams/ (INITIAL_READONLY_SECTIONS): Removed
1999-02-17 Nick Clifton <>
Patch from: Scott Bambrough <>
* configure.tgt: Added armv*-*-linux-gnu to $targ_emul
Wed Feb 17 Andreas Schwab <>
* emultempl/armelf_oabi.em
bfd_elf32_arm_process_before_allocation): Define them to use the
old ABI versions of the functions.
Tue Feb 16 16:48:19 1999 Ian Lance Taylor <>
* Change AC_PREREQ to 2.13. Change AM_PROG_INSTALL
* (earmelf_oabi.c): Changes spaces to tab.
* acconfig.h: Remove.
* aclocal.m4: Rebuild.
* configure: Rebuild.
* Rebuild.
Mon Feb 15 18:21:48 1999 Vladimir N. Makarov <>
* ldexp.h (struct etree_value_type): Change valid onto valid_p.
* ldexp.c (new_abs): Ditto.
(new_rel, new_rel_from_section, fold_binary, invalid, fold_name,
exp_fold_tree, exp_binop, exp_trinop, stat_alloc,
exp_get_abs_int): Ditto
* ldlang.c (print_assignment, lang_size_sections,
lang_do_assignments): Ditto.
1999-02-11 Nick Clifton <>
* ldlang.c (lang_check_section_addresses): New function: Check
addresses assigned to section for overlaps.
(lang_process): Call lang_check_section_addresses if suitable.
* ld.h: Add new boolean field to args_type structure:
* ldmain.c: Initialise check_section_addresses field to true.
* lexsup.c: Add new command line options '--no-check-sections' and
* ld.texinfo: Document new command line options '--check-sections'
and '--no-check-sections'.
1999-02-08 Nick Clifton <>
* configure.tgt: Add support for StrongARM target.
Wed Feb 3 19:41:01 1999 Ian Lance Taylor <>
* ldctor.c (ldctor_build_sets): Just set SEC_KEEP once. Check for
an owner of a section before using it to look up a reloc type.
Don't set SEC_KEEP for the absolute section.
Mon Feb 1 11:39:46 1999 Catherine Moore <>
* (earmelf_oabi.o): New.
* Regenerate.
* configure.tgt (arm-*-oabi): New.
(thumb-*-oabi): New.
* emulparams/ New.
* emultempl/armelf_oabi.em: New.
1999-01-31 17:57:31 1998 Michael Meissner <>
* scripttempl/ Add support for -fleading-underscores
switch in all linker generated symbols.
* configure.tgt (powerpc{,le}*-*-vxworks): Add as aliases for
Wed Jan 20 17:01:48 1999 Ian Lance Taylor <>
* configure.tgt (i[3456]86-*-solaris2*): New target. From Pavel
Roskin <>.
1999-01-19 Nick Clifton <>
* ldlang.c (lang_size_sections): Count loadable sections as
contributing to the size of the current segment.
1999-01-15 Nick Clifton <>
* ldlang.c (lang_size_sections): Only update the current
address of a region if the section just placed into it is an
allocated section.
1999-01-12 Nick Clifton <>
* Replace efr30.o with eelf32fr30.o.
* Regenerate.
* configure.tgt: Replace fr30 with elf32fr30.
* emulparams/ New file: Replaces, and uses
generic script. Also replaces the .stack section with a
user definable symbol __stack.
1999-01-11 Nick Clifton <>
* scripttempl/ Fill .init and .fini sections with NOP
1999-01-03 Ken Raeburn <>
* (check-DEJAGNU): No longer provide HOSTING_EMU,
HOSTING_CRT0, HOSTING_LIBS; the test suite can extract them from and configure.tgt now.
* Rebuild.
1998-12-27 Ulrich Drepper <>
* lexsup.c (parse_args, case OPTION_RPATH): Avoid adding duplicate
elements to rpath.
Thu Dec 10 11:12:28 1998 Andreas Schwab <>
* (ALL_EMULATIONS): Remove pe-dll.o and deffilep.o.
(ALL_EMUL_EXTRA_OFILES): New variable. Put them here instead.
if configuring with all targets.
* configure,, aclocal.m4: Rebuild.
* emultempl/pe.em (pe_enable_stdcall_fixup): Make static.
(pe_dll_do_default_excludes): Removed, unused.
(pe_def_file, pe_dll_export_everything, pe_dll_kill_ats,
pe_dll_stdcall_aliases): Don't initialize them, this file may be
compiled more than once.
* pe-dll.c (pe_def_file, pe_dll_export_everything,
pe_dll_do_default_excludes, pe_dll_kill_ats,
pe_dll_stdcall_aliases): Define and initialize them here instead.
(generate_reloc): Fix allocation of reloc_addresses array to use
bfd_vma instead of unsigned long. Fix element size in qsort call.
(reloc_sort): Compare pointers to bfd_vma instead of unsigned
Mon Dec 7 21:10:09 1998 J.J. van der Heijden <>
* configure.tgt (i[3456]86-*-mingw32*): Add cygwin target specific
Sun Dec 6 16:33:33 1998 Ian Lance Taylor <>
* configure.tgt (m68*-*-gnu*): New target. From Aymeric Vincent
1998-12-04 Nick Clifton <>
* emulparams/ (TEXT_START_ADDR): Change TEXT_START_ADDR
from 0x100000 to 0x10000 so that it fits in 20 bits.
Sat Nov 28 22:32:20 1998 Ian Lance Taylor <>
* ldemul.h (ldemul_recognized_file): Declare.
Sat Nov 28 22:30:55 1998 Andreas Schwab <>
* ldlang.c (lang_add_wild): Don't pretend that there is an input
file if the filename is a wildcard pattern.
1998-11-25 DJ Delorie <>
* ldemul.h (ld_emulation_xfer_struct): new hook "recognized_file"
* ldemul.c (ldemul_recognized_file): new function, new hook
* ldint.texinfo: document new hook.
* ldlang.c (load_symbols): call recognized_hook for all objects we
do recognize, in case the emulation needs to handle them
specially. PE DLLs use this.
* pe-dll.c (pe_dll_generate_def_file): take out hack and debug
* emultempl/pe.em (gld_i386_recognized_file): new function
(gld_i486_unrecognized_file): take out hack
1998-11-23 DJ Delorie <>
* pe-dll.c (fill_edata): fill in timestamp
(make_head): name object files sequentially to ensure
they link in the right order.
(make_tail): same here
(pe_process_import_defs): use sequential names for bfds to ensure
proper link order.
(pe_implied_import_dll): new function; handles linking directly
against DLLs by simulating IMPORTS directives. * emultempl/pe.em
(gld_i386pe_before_parse): hack bfd to not recognize .dll files
via bfd_pe_dll_not_recognized_hack
1998-11-23 DJ Delorie <>
* emultempl/pe.em (gld_i386pe_parse_args): Conditionalize call to
Mon Nov 23 14:36:18 1998 Nick Clifton <>
* emultempl/pe.em (after_parse): Only create an undefined entry
symbol if one has been specified.
1998-11-23 DJ Delorie <>
* emultempl/pe.em (gld_i386pe_after_open): call
* pe-dll.c (pe_dll_generate_def_file): calculate BASE from
pe_data, only print if actually set. Print version only if
(save_relocs): save relocs for both input and output.
(make_one): support internal/external different names.
(pe_dll_generate_implib): support new make_one
(pe_process_import_defs): new function; handles IMPORT
directives in .def files.
Fri Nov 20 13:06:49 1998 Nick Clifton <>
* ldmisc.c (vfinfo): Cope with empty symbol names.
Thu Nov 19 13:31:15 1998 Nick Clifton <>
* scripttempl/ Add provision of '_end' symbol.
Wed Nov 18 18:18:43 1998 Geoffrey Noer <>
* configure.tgt: change refs from cygwin32* to cygwin*.
* aclocal.m4: regenerate
* don't need to call AM_CYGWIN32.
* configure: regenerate
Mon Nov 16 22:14:07 1998 DJ Delorie <>
* emultempl/pe.em (gld_i386_finish): generate import library
* deffile.h: add hint member.
* pe-dll.c (pe_dll_generate_implib): New function with helpers;
generates the import library directly from the export table.
(fill_edata): remember the actual hint for the import library.
Sat Nov 14 14:36:24 1998 Ian Lance Taylor <>
* ld.1: Some cleanups from NOKUBI Hirotaka <>.
Thu Nov 12 19:21:57 1998 Dave Brolley <>
* po/ld.pot: Regenerated.
* po/ Regenerated.
* configure: Regenerated.
* aclocal.m4: Regenerated.
* Regenerated.
Wed Nov 11 18:10:15 1998 DJ Delorie <>
* pe-dll.c (generate_reloc): don't output PE relocs for sections
that won't be loaded.
Wed Nov 11 13:44:54 1998 DJ Delorie <>
* pe-dll.c (fill_edata): don't strip underscores
Tue Nov 10 21:28:19 1998 DJ Delorie <>
* ld.texinfo: added i386pe option summary
Tue Nov 10 17:53:17 1998 DJ Delorie <>
* pe-dll.c (process_def_file): properly note undefined exported
symbols, clean up old code.
(pe_dll_generate_def_file): don't crash if pe_def_file is NULL
* emultempl/pe.em (gld_i386_parse_args): add
(pe_fixup_stdcalls): warn about stdcall fixups
(gld_i386_unrecognized_file): make exported symbols undefs so that
archive members get pulled in
Tue Nov 10 14:50:51 1998 Catherine Moore <>
* scripttempl/ Add KEEP attribute to .init,
.fini, .dtors and .ctors. Add .data and .text
wildcards to support section garbage collection.
Mon Nov 9 22:52:50 1998 DJ Delorie <>
* deffilep.y: properly handle relocs with multiple def_files,
cache import module names
Mon Nov 9 22:44:58 1998 DJ Delorie <>
* pe-dll.c (process_def_file): don't assume exports won't move
during a realloc
Mon Nov 9 16:41:30 1998 DJ Delorie <>
* pe-dll.c: New file; direct support for PE DLLs
* deffile.h: New file; direct support for PE DLLs
* deffilep.y: New file; direct support for PE DLLs
* emultempl/pe.em: add direct support for PE DLLs
* configure.tgt: allow target-specific extra files
* allow target-specific extra files
* ldlang.c (lang_add_assignment): return the assignment so that
one can change the value later based on the object files (pe-dll
DEF files do this)
* ldint.texinfo: add section for emulation walkthrough
* add new files and target-specific extra files
* emultempl/pe.em (gld_i386_list_options): list dll-specific
* pe-dll.c (process_def_file): auto-export everything if
nothing is otherwise exported.
Wed Nov 4 16:39:18 1998 Nick Clifton <>
* Add support for FR30 target.
* configure.tgt: Add support for FR30 target.
* Regenerate.
* emulparams/ New file.
* scripttemp/ New file.
Mon Nov 2 14:47:15 1998 Catherine Moore <>
* ldmain.c (main): Don't report error for dynamic links and
1998-10-26 16:05 Ulrich Drepper <>
* lexsup.c (ld_options): Change text of -O to Optimize output file".
(parse_args): Set link_info.optimize based on -O argument.
* ldmain.c (main): Initialize link_info.optimze to false.
* ld.texinfo: Describe -O option.
* ld.1: Likewise.
Mon Oct 12 14:29:56 1998 Nick Clifton <>
* scripttempl/ Move .sbss and .scommon sections into their
own segment, so that they can be next to the .bss section and so
initialised by the same piece of code.
Fri Oct 9 15:59:52 1998 Catherine Moore <>
* scripttempl/ Merge .sdata.* etc sections.
* ldctor.c (ldctor_build_sets): Set SEC_KEEP for
ctor sections.
Mon Oct 5 09:40:43 1998 Catherine Moore <>
* ldmain.c (main): Error if --gc-sections and
dyanmic linking.
* scripttempl/ Add KEEP attribute to .init,
.fini, .dtors and .ctors. Add .data and .text
wildcards to support section garbage collection.
Wed Sep 30 11:19:15 1998 Nick Clifton <>
* scripttempl/ Rename .call_table section to
.call_table_data and create a new section called
Sun Sep 20 00:43:26 1998 Ian Lance Taylor <>
* scripttempl/ Add alignment at the end of the .bss
section, so that it is included in the memsize of the segment.
Fri Sep 18 13:42:42 1998 Catherine Moore <>
* emultempl/elf32.em (gld_place_orphan): Don't process for
sections with SEC_EXCLUDE flag.
Fri Sep 4 09:24:02 1998 Nick Clifton <>
* emulparams/ (TEXT_SIZE): Increased to 2000K.
(DATA_SIZE): Increased to 2000K.
Thu Sep 3 17:30:58 1998 Richard Henderson <>
* emulparams/ (TEMPLATE_NAME): Use elf32.
Mon Aug 31 01:06:00 1998 Catherine Moore <>
* Change to
* Regenerate.
Mon Aug 31 11:12:04 1998 Catherine Moore <>
* emulparams/ Change SCRIPT_NAME to
elf. Change TEXT_START_ADDR to 0x8000. Define
* scripttempl/ Modify to use
* scripttempl/ Remove file.
Tue Aug 18 12:05:34 1998 Catherine Moore <>
* emultempl/armelf.em (gld_armelf_before_allocation):
Add bfd_ prefix to elf32_arm_process_before_allocation
and elf32_arm_allocate_interworking_sections.
(gld_armelf_after_open): Add bfd_ prefix to
Fri Aug 14 15:34:29 1998 Ian Lance Taylor <>
* Rebuild dependencies.
* Rebuild.
* ldgram.y: Include "ldctor.h".
(statement): Accept SORT around CONSTRUCTORS.
* ldctor.c: Include <ctype.h>.
(constructors_sorted): New global variable.
(ctor_prio, ctor_cmp): New static functions.
(ldctor_build_sets): Sort constructors if requested.
* ldctor.h (constructors_sorted): Declare.
* ldlang.c (print_statement): Print sorted CONSTRUCTORS
* scripttempl/ Add sort around CONSTRUCTORS.
* ld.texinfo (Output Section Keywords): Document SORT
Thu Aug 13 12:20:39 1998 Catherine Moore <>
* emulparams/ Define TEMPLATE_NAME to armelf.
* scripttempl/ Include .glue_7t and .glue7
* emultempl/armelf.em: New file.
Thu Aug 13 12:52:45 1998 H.J. Lu <>
* (ld.dvi): Use " instead of ' for MAKEINFO.
* Rebuild.
Tue Aug 11 16:17:01 1998 Catherine Moore <>
* scripttempl/ Change text start address
back to zero.
Tue Aug 11 10:01:12 1998 Jeffrey A Law (
* emulparms/ (MAX_PAGESIZE): Define to 1.
* emulparms/ (MAX_PAGESIZE): Define to 1.
Sun Aug 9 20:31:27 1998 Catherine Moore <>
* scripttempl/ Set text start address to
0x8000. Add __bss_end definition.
Sat Aug 1 11:47:37 1998 Catherine Moore <>
* scripttempl/ New file.
* emulparams/ Set SCRIPT_NAME to elfarm.
Fri Jul 31 15:56:16 1998 Catherine Moore <>
* emulparams/ New file.
* configure.tgt: Recognize thumb-elf and arm-elf.
* (earmelf.o): New.
* Rebuild.
Fri Jul 24 12:00:57 1998 Ian Lance Taylor <>
* (install-exec-local): Don't remove the file before
checking whether $(bindir) == $(tooldir)/bin. From Maciej
W. Rozycki <>.
* Rebuild.
* configure.tgt: Recognize h8[35]00*-coff* as well as -hms*.
Thu Jul 23 11:15:12 1998 Ian Lance Taylor <>
* scripttempl/ If ALIGNMENT is defined, use it to set
alignment of end symbol.
* scripttempl/ Likewise.
* emulparams/ (ALIGNMENT): Define.
* emulparams/ (ALIGNMENT): Define.
* ldint.texinfo (emulation parameters): Document ALIGNMENT.
* lexsup.c (parse_args): Add missing break statement.
* ldlang.c (lang_gc_sections_1): Add default case to switch to
avoid warnings.
Tue Jul 14 15:42:17 1998 Richard Henderson <>
* configure.tgt (i?86-*-beos{pe,elf,}*): Recognize.
* (ei386beos.o): New.
* emulparams/ New file.
* emultempl/beos.em, scripttempl/ New file.
Tue Jul 14 15:35:42 1998 Richard Henderson <>
* lexsup.c: New option --version-exports-section.
* ld.h (struct args_type): Add version_exports_section.
* ldlang.c (lang_do_version_exports_section): New function.
(lang_process): Call it.
Mon Jul 13 13:20:23 1998 Steve Chamberlain <>
* ldlex.l: Accept ASSERT.
* ldgram.y (exp): Add ASSERT_K case.
* ldexp.h (node_type): Add etree_assert to node_class enum.
(etree_type): Add assert_s field.
(exp_assert): Declare.
* ldexp.c (exp_fold_tree): Handle etree_assert.
(exp_assert): New function.
(exp_print_tree): Handle etree_assert.
* ld.texinfo (Miscellaneous Commands): Document ASSERT.
Wed Jul 8 14:03:12 1998 Ian Lance Taylor <>
* ldgram.y: Change MAX to MAX_K and MIN to MIN_K, to avoid
conflicts with system header files. Change all uses.
* Rebuild.
Tue Jul 7 18:03:22 1998 Ian Lance Taylor <>
* (ldver.texi): New target.
(, ld.dvi): Depend upon ldver.texi.
* ld.texinfo: Include ldver.texi. Mention version number on title
page and in top node.
* Rebuild.
Mon Jul 6 14:55:13 1998 Ian Lance Taylor <>
* configure.tgt (i[3456]86-*-solaris*): New target.
Fri Jul 3 14:19:06 1998 Ian Lance Taylor <>
* ldlang.c (wild_section): Don't get an assertion failure if the
section is discarded.
* scripttempl/ Use SORT to sort sections appropriately.
* emultempl/pe.em (sort_by_file_name): Remove.
(sort_by_section_name): Remove.
(sort_sections_1, sort_sections): Remove.
(gld_${EMULATION_NAME}_before_allocation): Don't call
(hold_section, hold_section_name): New static variables.
(hold_use, hold_text, hold_rdata, hold_data, hold_bss): Likewise.
(gld_${EMULATION_NAME}_place_orphan): Rewrite. Look for a good
place to put the section. Align the section. Sort the input
sections by name.
(gld_${EMULATION_NAME}_place_section): New static function.
* ldlang.c (wild_sort): When sorting by file name, sort by archive
name first.
* emultempl/pe.em (set_pe_subsystem): Don't call
(gld_${EMULATION_NAME}_after_parse): New static function.
(ld_${EMULATION_NAME}_emulation): Use new after_parse function
rather than after_parse_default.
* ldgram.y (extern_name_list): Do not require symbols to be
separated by commas.
(ifile_p1): Add EXTERN.
* ldlex.l: Accept EXTERN in BOTH and SCRIPT mode as well as MRI
* ld.texinfo (Options): Mention that EXTERN is equivalent to -u.
(Miscellaneous Commands): Document EXTERN.
Wed Jul 1 19:40:34 1998 Richard Henderson <>
* ld.h (args_type): Add gc_sections.
* ldgram.y (ldgram_had_keep, KEEP): New.
(input_section_spec_no_keep): Rename from old input_section_spec.
(input_section_spec): New. Recognize KEEP.
* ldlang.c (wild_section): Handle keep sections.
(lang_gc_wild_section, lang_gc_wild_file, lang_gc_wild): New.
(lang_gc_sections_1, lang_gc_sections): New.
(lang_process): Invoke lang_gc_sections.
(lang_add_wild): Add keep argument. Update all callers.
* ldlang.h (lang_wild_statement_struct): Add keep_sections.
* ldlex.l (KEEP): Match it.
* ldmain.c (main): Error on -r and --gc-sections.
* lexsup.c: Add --gc-sections.
* scripttempl/ Merge .text.* etc sections appropriately.
Mark startup sections with KEEP.
* scripttempl/ Likewise.
* ld.texinfo: Update for --gc-sections and KEEP.
Wed Jul 1 15:21:20 1998 Ian Lance Taylor <>
From Peter Jordan <>:
* scripttempl/ Correct constructor handling for -u.
Tue Jun 23 15:17:27 1998 Ian Lance Taylor <>
* (install-data-local): Make ldscripts subdirectory.
* Rebuild.
Tue Jun 23 15:17:04 1998 Mike Stump <>
* (install-exec-local): Don't let EXEEXT interfere
with the program transform name.
* Rebuild.
Sun Jun 21 23:55:16 1998 Jeffrey A Law (
* ld.texinfo: Note that -relax may make symbolic debugging
impossible on some platforms.
Tue Jun 16 12:51:13 1998 Geoff Keating <>
* (Makefile): Remove target.
(config.status): New target.
* Rebuild.
* (powerpc*-*-linux-gnu*): New host.
Fri Jun 12 17:38:07 1998 Doug Evans <>
* scripttempl/ (INPUT_FILES): Optional INPUT spec.
* emulparams/ (OTHER_RELOCATING_SECTIONS): Change top of
stack to 8MB.
Fri Jun 12 19:33:17 1998 Ian Lance Taylor <>
* (HFILES): Remove config.h.
(EMULATION_OFILES, POTFILES): Move patch of May 14 from to
(earmcoff.c): Depend upon armcoff.em, not generic.em.
* po/Make-in (all-yes): Correct misspelling in $(PACKAGE).
($(srcdir)/$(PACKAGE).pot): Pass -C to $(XGETTEXT).
*, po/, po/ld.pot: Rebuild.
Fri Jun 12 13:43:17 1998 Tom Tromey <>
* po/Make-in (all-yes): If maintainer mode, depend on .pot file.
($(PACKAGE).pot): Unconditionally depend on POTFILES.
Tue Jun 9 09:36:48 1998 Nick Clifton <>
* ldlang.c (lang_finish): Add CONST type modifier to declaration
of 'send'.
Fri Jun 5 18:19:59 1998 Ian Lance Taylor <>
* emultempl/aix.em (gld${EMULATION_NAME}_before_parse): Set
config.has_shared to true.
* emultempl/linux.em (gld${EMULATION_NAME}_before_parse):
* emultempl/sunos.em (gld${EMULATION_NAME}_before_parse):
Tue Jun 2 12:55:03 1998 Ian Lance Taylor <>
* ldlang.c (lang_finish): If the entry symbol is not found, try
parsing it as a number.
* ld.texinfo (Options): Document this.
Mon Jun 1 14:01:20 1998 Ian Lance Taylor <>
* ld.texinfo (Input Section Wildcards): Document SORT keyword.
Mon May 18 12:42:53 1998 Doug Evans <>
* 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.
Mon May 18 13:14:43 1998 Ian Lance Taylor <>
From Jason Merrill <>:
* ldlang.c (wild_sort): Correct order of sort.
* scripttempl/ Put *crtbegin.o before other .ctors and
* scripttempl/ Likewise.
* scripttempl/ Likewise.
* scripttempl/ Likewise.
Fri May 15 00:22:35 1998 Ian Lance Taylor <>
* 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/ Sort .ctors.* and .dtors.* by section name.
* scripttempl/ Likewise.
* scripttempl/ Likewise.
* scripttempl/ Likewise.
Thu May 14 18:39:16 1998 Richard Henderson <>
* emulparams/ (TEMPLATE_NAME): Define.
Thu May 14 14:51:24 1998 Nick Clifton <>
* 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:
* emultempl/armcoff.em: Ditto.
* ld.texinfo: Document the --support-old-code option.
* Add emulation files for target.
* emultempl/pe.em: Internationalise suitable strings.
* emultempl/armcoff.em: Internationalise suitable strings.
* po/ Rebuilt.
Sun May 10 22:36:30 1998 Jeffrey A Law (
* po/Make-in (install-info): New target.
Tue Apr 28 19:18:30 1998 Tom Tromey <>
* 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.
Mon Apr 27 11:56:21 1998 Ian Lance Taylor <>
* Change version number to 2.9.4
* configure: Rebuild.
* ld.texinfo (Options) [-rpath-link]: Mention
Based on patch from H.J. Lu <>:
* emultempl/elf32.em (global_vercheck_needed): New file static
(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.
Wed Apr 22 16:01:35 1998 Tom Tromey <>
* po/Make-in (MKINSTALLDIRS): Don't look in $(top_srcdir).
Wed Apr 22 12:40:56 1998 Ian Lance Taylor <>
* (check-DEJAGNU): Add $(INTLLIBS) to LIBIBERTY when
invoking runtest.
* 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.
Tue Apr 21 23:12:40 1998 Tom Tromey <>
* Many files: Added gettext invocations around user-visible
* ld.h: Added gettext-related includes and defines.
* ldmain.c: Call setlocale, bindtextdomain, textdomain.
* Call CY_GNU_GETTEXT. Create po/ 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.
* (SUBDIRS): New macro.
(POTFILES): Likewise.
(po/ New target.
(ld_new_LDADD): Added INTLLIBS.
* po/Make-in, po/, po/gas.pot: New files.
Tue Apr 21 23:07:07 1998 Ian Lance Taylor <>
* ld.texinfo (Simple Example): Rewrite a few things as suggested
by Nick Clifton <>.
(PROVIDE): Likewise.
Tue Apr 21 09:55:06 1998 Nick Clifton <>
* 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.
Sun Apr 19 19:23:09 1998 Richard Henderson <>
* ldlang.c (lang_size_sections) [case lang_assignment_statement_enum]:
Update dot and the default memory section even when relaxing.
Sat Apr 18 18:41:12 1998 Richard Henderson <>
* ldlang.c (lang_one_common): Manipulate the section's cooked size
rather than its raw size.
Tue Apr 7 13:35:29 1998 H.J. Lu <>
* (TESTBFDLIB): New. Defined and substituted.
* configure, Rebuild.
Mon Apr 6 15:33:39 1998 Ian Lance Taylor <>
* ( Invoke makeinfo with -I options directly
rather than relying on default rule. Don't depend upon
(ld.dvi): Likewise.
(bfdsumm.texi): Remove target.
(CLEANFILES): Take bfdsumm.texi out of value.
* Rebuild.
Sun Apr 5 13:07:57 1998 Ian Lance Taylor <>
* scripttempl/ Use shell variables to avoid depending upon
how $ is handled when expanding a shell substitution.
Fri Apr 3 00:56:50 1998 Ian Lance Taylor <>
* (MOSTLYCLEANFILES): Add ld.log and ld.sum.
(DISTCLEANFILES): Add site.exp and site.bak.
* Rebuild.
* Put the tdirs in a file and use AC_SUBST_FILE,
rather than in a shell variable and using AC_SUBST.
* (DISTCLEANFILES): Remove ldscripts. Add tdirs.
(distclean-local): New target.
* configure, Rebuild.
* ld.texinfo: Completely rewrite linker script documentation.
Mon Mar 30 12:47:33 1998 Ian Lance Taylor <>
* Set version to 2.9.1.
* configure: Rebuild.
* Branched binutils 2.9.
Sat Mar 28 16:48:19 1998 Ian Lance Taylor <>
* (MOSTLYCLEANFILES): Remove tmpdir.
(mostlyclean-local): New target to remove tmpdir.
* 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):
* 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.
* (MOSTLYCLEANFILES): Correct name (was
* Rebuild.
Fri Mar 27 16:39:25 1998 Ian Lance Taylor <>
* emultempl/pe.em (gld_${EMULATION_NAME}_before_allocation): Put
ARM code inside ifdef TARGET_IS_armpe.
Wed Mar 25 11:34:13 1998 Ian Lance Taylor <>
Based on patch from H.J. Lu <>:
* (LDDISTSTUFF): New variable.
(diststuff): New target.
* Rebuild.
* scripttempl/ Only include .idata\$[0-7] in .idata when
Tue Mar 24 15:59:29 1998 Nick Clifton <>
* scripttempl/ (.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.
Mon Mar 23 18:54:15 1998 Joel Sherrill <>
* configure.tgt: (sh*-*-rtems*): Switched from ELF to COFF.
Fri Mar 20 19:17:13 1998 Ian Lance Taylor <>
* aclocal.m4, configure: Rebuild with libtool 1.2.
Thu Mar 19 14:54:45 1998 Geoffrey Noer <>
* scripttempl/ 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
Wed Mar 18 09:42:24 1998 Nick Clifton <>
* configure.tgt (targ_extra_emuls): Add thumb-pe target.
Sun Mar 8 23:34:14 1998 Stan Cox <>
* configure.tgt (sparclite*-*-elf): Added.
Mon Mar 2 19:24:08 1998 Michael Meissner <>
* ldlang.c (lang_size_sections): If the default memory region is
*default*, see if there is a memory region that could be used.
Thu Feb 26 17:09:53 1998 Michael Meissner <>
* scripttempl/ Add support for .eit_v section and put
it at 0xfffff020.
* emulparams/d30v{elf,_o,_e}.sh: Ditto.
Mon Feb 23 17:46:51 1998 Ian Lance Taylor <>
* emultempl/pe.em (sort_sections): Permit the wildcard to include
a trailing '*' when sorting grouped sections.
* scripttempl/ Include grouped sections using NAME\$*. Only
include them when relocating.
Wed Feb 18 23:39:46 1998 Richard Henderson <>
* (install-exec-local): Install properly when ln
fails or tooldir == prefix.
Fri Feb 13 15:24:06 1998 Ian Lance Taylor <>
* configure,, aclocal.m4: Rebuild with automake 1.2e.
Thu Feb 12 14:10:44 1998 Ian Lance Taylor <>
* scripttempl/ Align the _end symbol according to the ELF
format size. From Gordon W. Ross <>.
NetBSD patches from Gordon W. Ross <>:
* (alpha*-*-netbsd*): New host.
* configure.tgt (alpha*-*-netbsd*, powerpc-*-netbsd*): New
* lexsup.c (help): Update bug-gnu-utils address.
* ld.texinfo (Bug Reporting): Likewise.
Tue Feb 10 18:05:56 1998 Ian Lance Taylor <>
* ldlang.c (lang_size_sections): Warn if some memory regions were
defined, but a loadable section is going into the default memory
Tue Feb 10 16:17:20 1998 H.J. Lu <>
* ldlex.l (V_IDENTIFIER): Allow '.' as symbol prefix.
Tue Feb 10 15:09:45 1998 Ian Lance Taylor <>
* (Makefile): Add target, for dependencies on and configure.tgt.
*, configure.tgt: Change -linux* to -linux-gnu*.
* Rebuild.
Mon Feb 9 13:44:40 1998 Andrew Cagney <>
* scripttempl/ (.stack): Move stack to 0x00..7FFE.
* emulparams/ (READONLY_START_ADDR): Read only section
moved to 0x00.....4.
Sat Feb 7 15:41:26 1998 Ian Lance Taylor <>
* configure, aclocal.m4: Rebuild with new libtool.
Thu Feb 5 12:16:11 1998 Ian Lance Taylor <>
* scripttempl/ Remove ${RELOCATING-0} from all sections.
From Thomas de Lellis <>.
* configure,, aclocal.m4: Rebuild with new libtool.
Wed Feb 4 13:02:32 1998 Ian Lance Taylor <>
* (ld_new_LDADD): Remove @LEXLIB@.
* Rebuild.
Mon Feb 2 19:34:54 1998 Steve Haworth <>
Add tms320c30 support:
* configure.tgt (tic30-*-*aout*, tic30-*-*coff*): New targets.
* emulparams/ New file.
* emulparams/ New file.
* scripttempl/ New file.
* scripttempl/ New file.
* (ALL_EMULATIONS): Add etic30aout.o and
(etic30aout.c, etic30coff.c): New targets.
* Rebuild.
Mon Feb 2 14:10:59 1998 Ian Lance Taylor <>
* Correct HOSTING_CRT0 in alpha*-*-linux* case to
accept either or
Fri Jan 30 19:16:28 1998 Doug Evans <>
* ({CC,CXX}_FOR_TARGET): Change program_transform_name
to transform.
* Regenerate.
Fri Jan 30 19:15:17 1998 Geoff Keating <>
* scripttempl/ Put .dynsbss in .sbss.
Fri Jan 30 11:43:49 1998 H.J. Lu <>
* (eelf32bsmip.c, eelf32lsmip.c): New targets.
* Rebuild.
Thu Jan 29 16:04:21 1998 Mumit Khan <>
* ldfile.c (slash): Set to backslash if _WIN32 but not
(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 ':'.
Wed Jan 28 14:06:30 1998 Richard Henderson <>
* emulparams/ (ELFSIZE): 64
(TEXT_START_ADDR): Round off, since SIZEOF_HEADERS is added later.
(DATA_PLT): Needed by v9 abi.
Wed Jan 28 16:37:27 1998 J.J. van der Heijden <>
* configure.tgt (i[3456]86-*-mingw32*): New entry.
Wed Jan 28 15:51:58 1998 Ian Lance Taylor <>
* scripttempl/ Only include linkonce sections in final
sections when relocating.
Wed Jan 28 14:10:01 1998 Ian Lance Taylor <>
* 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.
Thu Jan 22 16:07:23 1998 Richard Henderson <>
* ldlex.l (<SCRIPT>{WILDCHAR}*): Take care for the comments this
pattern could match.
Wed Jan 21 22:26:46 1998 Ian Lance Taylor <>
* 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/ (RELOCATEABLE_OUTPUT_FORMAT): Define.
* scripttempl/ 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
Wed Jan 21 21:20:32 1998 Manfred Hollstein <>
* emultempl/sunos.em: Don't include sys/types.h and sys/stat.h
here; they are included already via sysdep.h.
Tue Jan 6 13:40:02 1998 Richard Henderson <>
* scripttempl/ Don't explicitly set .data and .bss start.
Fri Jan 2 20:15:37 1998 Michael Meissner <>
* ldgram.y (attributes_opt): Pass region pointer to
lang_set_flags, not &region->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.
* 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/ (MEMORY): Set up which of the regions get
default sections.
Thu Jan 1 22:58:04 1998 Michael Meissner <>
* scripttempl/ (.eh_frame): Link into the data section.
Thu Jan 1 18:04:51 1998 Jeffrey A Law (
* scripttempl/ Fix typo.
* scripttempl/ Likewise.
For older changes see ChangeLog-9197
Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never