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: 'check_section_addresses'. * ldmain.c: Initialise check_section_addresses field to true. * lexsup.c: Add new command line options '--no-check-sections' and '--check-sections'. * 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 * Makefile.am (earmelf_oabi.o): New. * Makefile.in: Regenerate. * configure.tgt (arm-*-oabi): New. (thumb-*-oabi): New. * emulparams/armelf_oabi.sh: New. * emultempl/armelf_oabi.em: New. 1999-01-31 17:57:31 1998 Michael Meissner * scripttempl/elfppc.sc: Add support for -fleading-underscores switch in all linker generated symbols. * configure.tgt (powerpc{,le}*-*-vxworks): Add as aliases for powerpc{,le}-*-eabi. 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 * Makefile.am: Replace efr30.o with eelf32fr30.o. * Makefile.in: Regenerate. * configure.tgt: Replace fr30 with elf32fr30. * emulparams/elf32fr30.sh: New file: Replaces fr30.sh, and uses generic elf.sc script. Also replaces the .stack section with a user definable symbol __stack. 1999-01-11 Nick Clifton * scripttempl/fr30.sc: Fill .init and .fini sections with NOP pattern. 1999-01-03 Ken Raeburn * Makefile.am (check-DEJAGNU): No longer provide HOSTING_EMU, HOSTING_CRT0, HOSTING_LIBS; the test suite can extract them from configure.host and configure.tgt now. * Makefile.in: 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 * Makefile.am (ALL_EMULATIONS): Remove pe-dll.o and deffilep.o. (ALL_EMUL_EXTRA_OFILES): New variable. Put them here instead. * configure.in: Set EMUL_EXTRA_OFILES to $(ALL_EMUL_EXTRA_OFILES) if configuring with all targets. * configure, Makefile.in, 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 long. Mon Dec 7 21:10:09 1998 J.J. van der Heijden * configure.tgt (i[3456]86-*-mingw32*): Add cygwin target specific files. 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/fr30.sh (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 printfs * emultempl/pe.em (gld_i386_recognized_file): new function (gld_i486_unrecognized_file): take out hack start-sanitize-vr4xxx 1998-11-24 Gavin Romig-Koch * configure.tgt: Handle mips64*vr4xxx. end-sanitize-vr4xxx 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 pe_dll_add_excludes 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_process_import_defs * pe-dll.c (pe_dll_generate_def_file): calculate BASE from pe_data, only print if actually set. Print version only if set. (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/pe.sc: 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 * configure.in: 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/POTFILES.in: Regenerated. * configure: Regenerated. * aclocal.m4: Regenerated. * Makefile.in: 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 (en/dis)able-stdcall-fixups (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/elfd10v.sc: 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 * configure.in: 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 * Makefile.am: add new files and target-specific extra files * emultempl/pe.em (gld_i386_list_options): list dll-specific options. * pe-dll.c (process_def_file): auto-export everything if nothing is otherwise exported. Wed Nov 4 16:39:18 1998 Nick Clifton * Makefile.am: Add support for FR30 target. * configure.tgt: Add support for FR30 target. * Makefile.in: Regenerate. * emulparams/fr30.sh: New file. * scripttemp/fr30.sc: New file. Mon Nov 2 14:47:15 1998 Catherine Moore * ldmain.c (main): Don't report error for dynamic links and --gc-sections. 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/v850.sc: 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/elf.sc: 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/v850.sc: 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/v850.sc: Rename .call_table section to .call_table_data and create a new section called .call_table_text. Sun Sep 20 00:43:26 1998 Ian Lance Taylor * scripttempl/elf.sc: 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/d30velf.sh (TEXT_SIZE): Increased to 2000K. (DATA_SIZE): Increased to 2000K. Thu Sep 3 17:30:58 1998 Richard Henderson * emulparams/d10velf.sh (TEMPLATE_NAME): Use elf32. Mon Aug 31 01:06:00 1998 Catherine Moore * Makefile.am: Change armelf.sc to elf.sc * Makefile.in: Regenerate. Mon Aug 31 11:12:04 1998 Catherine Moore * emulparams/armelf.sh: Change SCRIPT_NAME to elf. Change TEXT_START_ADDR to 0x8000. Define OTHER_TEXT_SECTIONS, OTHER_BSS_SYMBOLS and OTHER_BSS_END_SYMBOLS. * scripttempl/elf.sc: Modify to use OTHER_BSS_END_SYMBOLS. * scripttempl/elfarm.sc: 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 elf32_arm_get_bfd_for_interworking. Fri Aug 14 15:34:29 1998 Ian Lance Taylor * Makefile.am: Rebuild dependencies. * Makefile.in: Rebuild. * ldgram.y: Include "ldctor.h". (statement): Accept SORT around CONSTRUCTORS. * ldctor.c: Include . (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 correctly. * scripttempl/elf.sc: Add sort around CONSTRUCTORS. * ld.texinfo (Output Section Keywords): Document SORT (CONSTRUCTORS). Thu Aug 13 12:20:39 1998 Catherine Moore * emulparams/armelf.sh: Define TEMPLATE_NAME to armelf. * scripttempl/elfarm.sc: Include .glue_7t and .glue7 sections. * emultempl/armelf.em: New file. Thu Aug 13 12:52:45 1998 H.J. Lu * Makefile.am (ld.dvi): Use " instead of ' for MAKEINFO. * Makefile.in: Rebuild. start-sanitize-sky Wed Aug 12 16:30:29 1998 Doug Evans * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Set vma to 0 for .DVP.overlay.* for elf32elmip too. end-sanitize-sky Tue Aug 11 16:17:01 1998 Catherine Moore * scripttempl/elfarm.sc: Change text start address back to zero. Tue Aug 11 10:01:12 1998 Jeffrey A Law (law@cygnus.com) * emulparms/mn10200.sh (MAX_PAGESIZE): Define to 1. * emulparms/mn10300.sh (MAX_PAGESIZE): Define to 1. Sun Aug 9 20:31:27 1998 Catherine Moore * scripttempl/elfarm.sc: Set text start address to 0x8000. Add __bss_end definition. Sat Aug 1 11:47:37 1998 Catherine Moore * scripttempl/elfarm.sc: New file. * emulparams/armelf.sh: Set SCRIPT_NAME to elfarm. Fri Jul 31 15:56:16 1998 Catherine Moore * emulparams/armelf.sh: New file. * configure.tgt: Recognize thumb-elf and arm-elf. * Makefile.am (earmelf.o): New. * Makefile.in: Rebuild. Fri Jul 24 12:00:57 1998 Ian Lance Taylor * Makefile.am (install-exec-local): Don't remove the file before checking whether $(bindir) == $(tooldir)/bin. From Maciej W. Rozycki . * Makefile.in: Rebuild. * configure.tgt: Recognize h8[35]00*-coff* as well as -hms*. Thu Jul 23 11:15:12 1998 Ian Lance Taylor * scripttempl/aout.sc: If ALIGNMENT is defined, use it to set alignment of end symbol. * scripttempl/elf.sc: Likewise. * emulparams/sun4.sh (ALIGNMENT): Define. * emulparams/elf32_sparc.sh (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. start-sanitize-beos Tue Jul 14 15:42:17 1998 Richard Henderson * configure.tgt (i?86-*-beos{pe,elf,}*): Recognize. * Makefile.am (ei386beos.o): New. * emulparams/i386beos.sh: New file. * emultempl/beos.em, scripttempl/i386beos.sc: New file. end-sanitize-beos 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. * 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. * scripttempl/elfd30v.sc: Likewise. * 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. * scripttempl/elfd30v.sc: Likewise. * 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. 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. 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 (