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. * Makefile.am (MAINTAINERCLEANFILES): Define. * Makefile.in: Rebuild. Tue Jul 7 18:03:22 1998 Ian Lance Taylor * Makefile.am (ldver.texi): New target. (ld.info, ld.dvi): Depend upon ldver.texi. * ld.texinfo: Include ldver.texi. Mention version number on title page and in top node. * Makefile.in: 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/pe.sc: 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 sort_sections. (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 ldlang_add_undef. (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 mode. * 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/elf.sc: Merge .text.* etc sections appropriately. Mark startup sections with KEEP. * scripttempl/elfppc.sc: Likewise. * ld.texinfo: Update for --gc-sections and KEEP. Wed Jul 1 15:21:20 1998 Ian Lance Taylor From Peter Jordan : * scripttempl/i386go32.sc: Correct constructor handling for -u. Tue Jun 23 15:17:27 1998 Ian Lance Taylor * Makefile.am (install-data-local): Make ldscripts subdirectory. * Makefile.in: Rebuild. Tue Jun 23 15:17:04 1998 Mike Stump * Makefile.am (install-exec-local): Don't let EXEEXT interfere with the program transform name. * Makefile.in: Rebuild. Sun Jun 21 23:55:16 1998 Jeffrey A Law (law@cygnus.com) * ld.texinfo: Note that -relax may make symbolic debugging impossible on some platforms. Tue Jun 16 12:51:13 1998 Geoff Keating * Makefile.am (Makefile): Remove target. (config.status): New target. * Makefile.in: Rebuild. * configure.host (powerpc*-*-linux-gnu*): New host. Fri Jun 12 17:38:07 1998 Doug Evans * scripttempl/elf.sc (INPUT_FILES): Optional INPUT spec. * emulparams/m32relf.sh (OTHER_RELOCATING_SECTIONS): Change top of stack to 8MB. Fri Jun 12 19:33:17 1998 Ian Lance Taylor * Makefile.am (HFILES): Remove config.h. (EMULATION_OFILES, POTFILES): Move patch of May 14 from Makefile.in to Makefile.am. (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). * Makefile.in, po/POTFILES.in, 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'. start-sanitize-sky Fri Jun 5 15:55:26 1998 Doug Evans * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Set vma to 0 for .DVP.overlay.*. * configure.tgt (dvp-*-*): Set targ_emul=elf32l5900. end-sanitize-sky 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): Likewise. * emultempl/sunos.em (gld${EMULATION_NAME}_before_parse): Likewise. 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/elf.sc: Put *crtbegin.o before other .ctors and .dtors. * scripttempl/elfd10v.sc: Likewise. start-sanitize-d30v * scripttempl/elfd30v.sc: Likewise. end-sanitize-d30v * scripttempl/elfppc.sc: Likewise. 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/elf.sc: Sort .ctors.* and .dtors.* by section name. * scripttempl/elfd10v.sc: Likewise. start-sanitize-d30v * scripttempl/elfd30v.sc: Likewise. end-sanitize-d30v * scripttempl/elfppc.sc: Likewise. Thu May 14 18:39:16 1998 Richard Henderson * emulparams/m32relf.sh (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: --support-old-code. * emultempl/armcoff.em: Ditto. * ld.texinfo: Document the --support-old-code option. * Makefile.in: Add emulation files for POTFILES.in target. * emultempl/pe.em: Internationalise suitable strings. * emultempl/armcoff.em: Internationalise suitable strings. * po/POTFILES.in: Rebuilt. Sun May 10 22:36:30 1998 Jeffrey A Law (law@cygnus.com) * 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 if HAVE_LOCALE_H. (LC_MESSAGES): Now can be defined even when ENABLE_NLS. Mon Apr 27 11:56:21 1998 Ian Lance Taylor * configure.in: Change version number to 2.9.4 * configure: Rebuild. * ld.texinfo (Options) [-rpath-link]: Mention ld.so.conf. Based on patch from H.J. Lu : * emultempl/elf32.em (global_vercheck_needed): New file static variable. (global_vercheck_failed): New file static variable. (gld${EMULATION_NAME}_after_open): Check for shared libraries twice, once with force set to 0 and once with it set to 1. (gld${EMULATION_NAME}_check_ld_so_conf): Add force parameter. Change all callers. (gld${EMULATION_NAME}_search_needed): Likewise. (gld${EMULATION_NAME}_try_needed): Likewise. If not force, check whether the libraries needs any incompatible versions. (gld${EMULATION_NAME}_vercheck): New static function. 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 * Makefile.am (check-DEJAGNU): Add $(INTLLIBS) to LIBIBERTY when invoking runtest. * Makefile.in: Rebuild. * lexsup.c (parse_args): Change -l options into --library options to avoid confusion between -li and -library. * ld.texinfo (MEMORY): Clarify use of >REGION. Tue Apr 21 23:12:40 1998 Tom Tromey * Many files: Added gettext invocations around user-visible strings. * ld.h: Added gettext-related includes and defines. * ldmain.c: Call setlocale, bindtextdomain, textdomain. * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY, HAVE_LC_MESSAGES): Define. * configure.in: Call CY_GNU_GETTEXT. Create po/Makefile.in and po/Makefile. Use AM_PROG_LEX. (TDIRS): AC_SUBST early on, to avoid having value split when it happens to cross line 90 of the generated sed script. * Makefile.am (SUBDIRS): New macro. (POTFILES): Likewise. (po/POTFILES.in): New target. (ld_new_LDADD): Added INTLLIBS. (ld_new_DEPENDENCIES): Added INTLDEPS. * po/Make-in, po/POTFILES.in, po/gas.pot: New files. 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 * configure.in (TESTBFDLIB): New. Defined and substituted. * Makefile.am (TESTBFDLIB): Changed to @TESTBFDLIB@. * configure, Makefile.in: Rebuild. Mon Apr 6 15:33:39 1998 Ian Lance Taylor * Makefile.am (ld.info): Invoke makeinfo with -I options directly rather than relying on default rule. Don't depend upon bfdsumm.texi. (ld.dvi): Likewise. (bfdsumm.texi): Remove target. (CLEANFILES): Take bfdsumm.texi out of value. * Makefile.in: Rebuild. Sun Apr 5 13:07:57 1998 Ian Lance Taylor * scripttempl/pe.sc: 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 * Makefile.am (MOSTLYCLEANFILES): Add ld.log and ld.sum. (DISTCLEANFILES): Add site.exp and site.bak. * Makefile.in: Rebuild. * configure.in: Put the tdirs in a file and use AC_SUBST_FILE, rather than in a shell variable and using AC_SUBST. * Makefile.am (DISTCLEANFILES): Remove ldscripts. Add tdirs. (distclean-local): New target. * configure, Makefile.in: Rebuild. * ld.texinfo: Completely rewrite linker script documentation. Mon Mar 30 12:47:33 1998 Ian Lance Taylor * configure.in: Set version to 2.9.1. * configure: Rebuild. * Branched binutils 2.9. Sat Mar 28 16:48:19 1998 Ian Lance Taylor * Makefile.am (MOSTLYCLEANFILES): Remove tmpdir. (mostlyclean-local): New target to remove tmpdir. * Makefile.in: Rebuild. Fix some gcc -Wall warnings: * ldcref.c (output_cref): Add casts to avoid warnings. * ldfile.c (ldfile_add_arch): Likewise. * ldlang.c (lang_leave_overlay_section): Likewise. * lexsup.c (OPTION_COUNT): Likewise. (parse_args): Likewise. * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Likewise. * emultempl/sunos.em (gld${EMULATION_NAME}_search_dir): Likewise. * ldlang.c (lang_check): Initialize variables to avoid warnings. * ldwrite.c (build_link_order): Likewise. * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Likewise. * emultempl/armcoff.em (gld${EMULATION_NAME}_before_allocation): Remove unused variables. * Makefile.am (MOSTLYCLEANFILES): Correct name (was MOSTCLEANFILES). * Makefile.in: Rebuild. 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 : * Makefile.am (LDDISTSTUFF): New variable. (diststuff): New target. * Makefile.in: Rebuild. * scripttempl/pe.sc: Only include .idata\$[0-7] in .idata when relocating. Tue Mar 24 15:59:29 1998 Nick Clifton * scripttempl/pe.sc (.text): Add .glue_7 and .glue_7t sections to hold Arm/Thumb stubs. * emultempl/pe.em (gld_pe_before_allocation): Call arm_process_before_allocation (for ARM/Thumb targets) in order to gather interworking stb information. 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/pe.sc: The Cygwin32 library uses a .data$nocopy section to avoid copying certain data on fork. The linker used to include this between __data_start__ and __data_end__, but that breaks building the cygwin32 dll. The fix is to rename the section ".data_cygwin_nocopy" and explictly include it after __data_end__. 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. start-sanitize-vr4320 Tue Mar 3 11:16:35 1998 Gavin Koch * configure.tgt (mips*vr4320el-*-elf*,mips*vr4320-*-elf*): Added. end-sanitize-vr4320 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. start-sanitize-d30v Thu Feb 26 17:09:53 1998 Michael Meissner * scripttempl/elfd30v.sc: Add support for .eit_v section and put it at 0xfffff020. * emulparams/d30v{elf,_o,_e}.sh: Ditto. end-sanitize-d30v 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/pe.sc: Include grouped sections using NAME\$*. Only include them when relocating. Wed Feb 18 23:39:46 1998 Richard Henderson * Makefile.am (install-exec-local): Install properly when ln fails or tooldir == prefix. Fri Feb 13 15:24:06 1998 Ian Lance Taylor * Makefile.am (AUTOMAKE_OPTIONS): Define. * configure, Makefile.in, aclocal.m4: Rebuild with automake 1.2e. Thu Feb 12 14:10:44 1998 Ian Lance Taylor * scripttempl/elf.sc: Align the _end symbol according to the ELF format size. From Gordon W. Ross . NetBSD patches from Gordon W. Ross : * configure.host (alpha*-*-netbsd*): New host. * configure.tgt (alpha*-*-netbsd*, powerpc-*-netbsd*): New targets. * lexsup.c (help): Update bug-gnu-utils address. * ld.texinfo (Bug Reporting): Likewise. 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 region. 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.am (Makefile): Add target, for dependencies on configure.host and configure.tgt. * configure.host, configure.tgt: Change -linux* to -linux-gnu*. * Makefile.in: Rebuild. start-sanitize-r5900 Tue Feb 10 11:52:33 1998 Jeffrey A Law (law@cygnus.com) * Makefile.in (ALL_EMULATIONS): Add eelf32l5900.o (eelf32l5900.c): Add rule for building. * configure.tgt: Use r5900 specific emulation script. * emulparams/elf32l5900.sh: 5900 specific emulation script. end-sanitize-r5900 Mon Feb 9 13:44:40 1998 Andrew Cagney * scripttempl/elfd10v.sc (.stack): Move stack to 0x00..7FFE. * emulparams/d10velf.sh (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/pe.sc: Remove ${RELOCATING-0} from all sections. From Thomas de Lellis . * configure, Makefile.in, aclocal.m4: Rebuild with new libtool. Wed Feb 4 13:02:32 1998 Ian Lance Taylor * Makefile.am (ld_new_LDADD): Remove @LEXLIB@. * Makefile.in: Rebuild. Mon Feb 2 19:34:54 1998 Steve Haworth Add tms320c30 support: * configure.tgt (tic30-*-*aout*, tic30-*-*coff*): New targets. * emulparams/tic30aout.sh: New file. * emulparams/tic30coff.sh: New file. * scripttempl/tic30aout.sc: New file. * scripttempl/tic30coff.sc: New file. * Makefile.am (ALL_EMULATIONS): Add etic30aout.o and etic30coff.o. (etic30aout.c, etic30coff.c): New targets. * Makefile.in: Rebuild. Mon Feb 2 14:10:59 1998 Ian Lance Taylor * configure.host: Correct HOSTING_CRT0 in alpha*-*-linux* case to accept either ld.so or ld-linux.so. Fri Jan 30 19:16:28 1998 Doug Evans * Makefile.am ({CC,CXX}_FOR_TARGET): Change program_transform_name to transform. * Makefile.in: Regenerate. Fri Jan 30 19:15:17 1998 Geoff Keating * scripttempl/elfppc.sc: Put .dynsbss in .sbss. Fri Jan 30 11:43:49 1998 H.J. Lu * Makefile.am (eelf32bsmip.c, eelf32lsmip.c): New targets. * Makefile.in: Rebuild. Thu Jan 29 16:04:21 1998 Mumit Khan * ldfile.c (slash): Set to backslash if _WIN32 but not __CYGWIN32__. (ldfile_open_file_search): If __MSDOS__ or _WIN32, accept a leading backslash or a leading x: as an absolute path. (ldfile_find_command_file): Use slash rather than / when generating name to try. * lexsup.c (PATH_SEPARATOR): Define. (set_default_dirlist): Use PATH_SEPARATOR rather than ':'. Wed Jan 28 14:06:30 1998 Richard Henderson * emulparams/elf64_sparc.sh (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/elf.sc: Only include linkonce sections in final sections when relocating. start-sanitize-sky Wed Jan 28 12:19:31 1998 Doug Evans * configure.tgt (dvp-*-*): Recognize. end-sanitize-sky 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 (