blob: c04d0a1434b75bfa2a63bfb3d9130c0586840194 [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 <>
* emultempl/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.
* 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.
* emultempl/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.
* scripttempl/ 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/ld.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 explicitly 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
Copyright (C) 1998-1999 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never