2001-09-24 Charles Wilson * ld.texinfo(enable-auto-import): Clarify the explanation. 2001-09-24 Nick Clifton * pe-dll.c (pe_create_import_fixup): Revert previous patch. * emultemp/pe.em (pe_data_import_dll): Move definition outside of DLL_SUPPORT controlled code. 2001-09-24 Charles Wilson * emultempl/pe.em(pe_data_import_dll): Make static. (pe_get_data_import_dll_name): New accessor function. * pe-dll.c(pe_create_import_fixup): call pe_get_data_import_dll_name() from pe.em, instead of directly accessing pe_data_import_dll variable from pe.em. 2001-09-18 Bruno Haible * deffilep.y: Include "safe-ctype.h" instead of . (def_file_add_directive): Use ISSPACE instead of isspace. (def_lex): Use ISDIGIT/ISXDIGIT/ISALPHA/ISALNUM instead of isdigit/isxdigit/isalpha/isalnum. * emultempl/aix.em: Include "safe-ctype.h" instead of . (gld${EMULATION_NAME}_read_file): Use ISSPACE instead of isspace. * emultempl/elf32.em: Include "safe-ctype.h" instead of . (gld${EMULATION_NAME}_place_orphan): Use ISALNUM instead of isalnum. * emultempl/gld960c.em: Include "safe-ctype.h" instead of . (gld960_set_output_arch): Use ISUPPER/TOLOWER instead of isupper/tolower. * emultempl/sunos.em: Include "safe-ctype.h" instead of . (gld${EMULATION_NAME}_search_dir): Use ISDIGIT instead of isdigit. * ldctor.c: Include "safe-ctype.h" instead of . (ctor_prio): Use ISDIGIT instead of isdigit. * ldfile.c: Include "safe-ctype.h" instead of . (ldfile_open_file_search): Use ISALPHA instead of isalpha. (ldfile_add_arch): Use ISUPPER/TOLOWER instead of isupper/tolower. * ldlang.c: Include "safe-ctype.h" instead of . (stricpy): Use TOLOWER instead of isupper/tolower. (lang_leave_overlay_section): Use ISALNUM instead of isalnum. * ldlex.l: Include "safe-ctype.h" instead of . (lex_warn_invalid): Use ISPRINT instead of isprint. * ldmain.c: Include "safe-ctype.h" instead of . (main): For gettext, also set the LC_CTYPE locate facet. (add_keepsyms_file): Use ISSPACE instead of isspace. * lexsup.c: Include "safe-ctype.h" instead of . (is_num, parse_args): Use ISDIGIT instead of isdigit. * mpw-elfmips.c: Include "safe-ctype.h" instead of . (gldelf32ebmip_place_orphan): Use ISALNUM instead of isalnum. * mpw-eppcmac.c: Include "safe-ctype.h" instead of . (gldppcmacos_read_file): Use ISSPACE instead of isspace. * pe-dll.c: Include "safe-ctype.h" instead of . (quoteput): Use ISSPACE instead of isspace. (pe_dll_generate_implib, pe_process_import_defs): Use ISALNUM instead of isalnum. 2001-09-18 Alan Modra * deffilep.y (def_stash_module): Constify "name" param. * pe-dll.c: Replace CONST with const throughout. (quick_symbol): Constify "n1", "n2", "n3" params. (make_singleton_name_thunk): Constify "import" param. Make "buffer_len" a size_t. (make_import_fixup_entry): Constify "name", "fixup_name", "dll_symname" params. (pe_get16): Cast args of bfd_seek. Replace bfd_read with bfd_bread. (pe_get32): Likewise. (pe_implied_import_dll): Likewise. * emultempl/beos.em (sort_by_file_name): Constify "ra", "rb". (sort_by_section_name): Likewise. * emultempl/pe.em: Move defines for arm_epoc_pe before bfd.h included. (make_import_fixup): Cast printf arg, rel->address to long rather than int. (gld_${EMULATION_NAME}_after_open): Don't compare NULL against int. 2001-09-15 Alan Modra * ldmain.c (main): Rename BufferSize to ld_bufsz because HPUX defines BufferSize. Increase buffer size by one. 2001-09-14 Ralf Habacker * pe-dll.c (pe_walk_relocs_of_symbol): Fix memory leak. 2001-09-14 Kevin Lo * configure.tgt: Add arm-openbsd target. 2001-09-12 H.J. Lu * Makefile.am (ALL_EMULATIONS): Move eelf64ppc.o and eelf64lppc.o to ... (ALL_64_EMULATIONS): Here. * Makefile.in: Regenerated. 2001-09-12 Paul Sokolovsky * emultempl/pe.em(make_import_fixup): change signature to take asection as well as arelec; we need this for proper error reporting. Only call pe_create_import_fixup() if there is no attempt to add a constant addend to the reloc; otherwise, report error condition. * pe-dll.c(pe_walk_relocs_of_symbol): change signature, since final argument is a pointer to make_import_fixup(). Change call to cb() to match make_import_fixup() signature. (make_import_fixup_mark): make buffer_len unsigned. * pe-dll.h: change signature of pe_walk_relocs_of_symbol. 2001-09-12 Charles Wilson * ld.texinfo: add verbose documentation for auto-import direct-addressing workaround, to compliment the terse error message. 2001-09-12 Andrew MacLeod * scripttempl/v850.sc: Add gcc_except_table sections. Fri Sep 7 11:34:24 2001 Jeffrey A Law (law@cygnus.com) * emulparams/h8300helf.sh: Move stack to a much higher memory address. * emulparams/h8300self.sh: Similarly. 2001-09-05 Danny Smith * ld.texinfo (Options, --stack): Correct default value for stack reserve. 2001-09-05 Tom Rix * emultempl/aix.em : Handle import file XMC_XO and syscall symbols. 2001-09-03 Andreas Jaeger * emultempl/beos.em: Declare prototypes for comparions functions, adjust definitions. 2001-09-02 Andreas Jaeger * emultempl/aix.em: Add missing prototype. * emultempl/lnk960.em: Likewise. * emultempl/vanilla.em: Likewise. * emultempl/armcoff.em: Likewise. * emultempl/armelf_oabi.em: Likewise. * emultempl/beos.em: Likewise. * emultempl/gld960c.em: Likewise. * emultempl/gld960.em: Likewise. * emulparams/elf64alpha.sh (PARSE_AND_LIST_PROLOGUE): Add parameter for prototype declaration. 2001-08-31 Eric Christopher Jason Eckhardt * ldmain.c (get_emulation): Add support for -mips32 and -mips64. 2001-08-31 Andreas Jaeger * emultempl/pe.em: Add missing prototypes. (gld_${EMULATION_NAME}_after_open): Remove extra args to pe_find_data_imports. (pr_sym): Add unused attribute. 2001-08-29 Joel Sherrill * configure.tgt (i[3456]86-*-rtems*, m68*-*-rtems*): Change default from coff to elf. 2001-08-29 Jeff Law * emulparams/h8300helf.sh: Resync with h8300elf.sh. Update ARCH specification. * emulparams/h8300self.sh: Similarly. Wed Aug 28 13:37:20 2001 J"orn Rennecke * Makefile.am (ALL_EMULATIONS): Add eh8300elf.o, eh8300elf.o and eh8300self.o . (eh8300elf.c, eh8300helf.c, eh8300self.c): New targets. * configure.tgt (h8300-*-elf*): New case. * emulparams/h8300elf.sh, emulparams/h8300helf.sh: New files. * emulparams/h8300self.sh: New file. * Makefile.in: Regenerated. 2001-08-28 Nick Clifton * ldmain.c (main): Rename BSIZE to BufferSize to avoid collision with macro name. 2001-08-27 Linus Nordberg Alan Modra * Makefile.am (ALL_EMULATIONS): Add eelf64ppc.o and eelf64lppc.o. (eelf64ppc.c, eelf64lppc.c): Add make targets. Run "make dep-am" * Makefile.in: Regenerate. * configure.tgt: Add powerpc64 support. Move pdp11, pjl, pj entries to correct alphabetical position. * emulparams/elf64ppc.sh: New. * emulparams/elf64lppc.sh: New. 2001-08-27 Nick Clifton * ldmain.c (main): Declare BSIZE as static. 2001-08-23 Jakub Jelinek * emultempl/elf32.em (place_orphan): Place orphan .rel* sections into .rel.dyn resp. .rela.dyn if combreloc. (get_script): If .x linker script is equal to .xn, only put it once into the binary. Add .xc and .xsc scripts. (parse_args): Handle -z combreloc and -z nocombreloc. * scripttempl/elf.sc (.rela.sbss): Fix a typo. For .xc and .xsc scripts put all .rel* or .rela* input sections but .rel*.plt and PLT-like sections into .rel.dyn resp. .rela.dyn. * genscripts.sh (GENERATE_COMBRELOC_SCRIPT): Set if SCRIPT_NAME is elf. Strip trailing whitespace from script. Generate .xc and .xsc scripts if requested. * ldmain.c (main): Initialize link_info.combreloc and link_info.spare_dynamic_tags. * lexsup.c (OPTION_SPARE_DYNAMIC_TAGS): Define. (ld_options): Add --spare-dynamic-tags option. (parse_args): Likewise. * ld.texinfo: Document -z combreloc and -z nocombreloc. * ldint.texinfo: Document .xc and .xsc linker scripts. * NEWS: Add notes about -z combreloc and SHF_MERGE. 2001-08-22 H.J. Lu * emulparams/elf32fr30.sh: Add a newline. 2001-08-21 Andreas Jaeger * deffilep.y: Add missing prototypes. * pe-dll.c: Likewise. 2001-08-20 Alan Modra * ldlang.c (insert_pad): Fix typos in last patch. * ldlang.c: When traversing lang_statement_union_type lists, consistently use "header.next" rather than "next". * mpw-eppcmac.c: Likewise. * emultempl/beos.em: Likewise. * emultempl/hppaelf.em: Likewise. * emultempl/pe.em: Likewise. * ldlang.h (union lang_statement_union): Remove "next" field. * ldlang.c (insert_pad): Use offsetof macro. (lang_size_sections): Always neuter padding statements. * emultempl/hppaelf.em (hppaelf_delete_padding_statements): Delete. * pe-dll.c (pe_dll_fill_sections): Correct type of "relax" param passed to lang_size_sections. (pe_exe_fill_sections): Likewise. * emultempl/pe.em (output_prev_sec_find): Copied from elf32.em. (gld_${EMULATION_NAME}_place_orphan): Merge from elf32.em. 2001-08-18 Alan Modra * emultempl/aix.em: Formatting fixes. 2001-08-18 Alan Modra * ldlang.c (insert_pad): Make use of an existing pad statement if available. Move code calculating alignment, adjusting section alignment power, and adjusting dot to .. (size_input_section): .. here. Remove unused relax param. (lang_size_sections): Change boolean `relax' param to boolean *. Adjust call to size_input_section. Make use of insert_pad to place pad after the assignment statement. If relaxing, zap padding statements. (reset_memory_regions): Reset output_bfd section sizes too. (relax_again): Move to.. (lang_process): ..here. Adjust call to lang_size_sections, and remove duplicated code. * ldlang.h (lang_size_sections): Change `relax' param to boolean *. 2001-08-17 Alan Modra * ld.texinfo: Document that fill values now use the four least significant bytes. * emulparams/elf32fr30.sh (NOP): Update. * emulparams/elf32mcore.sh: Likewise. * emulparams/elf64_s390.sh: Likewise. * emulparams/elf_i386.sh: Likewise. * emulparams/elf_i386_be.sh: Likewise. * emulparams/elf_i386_chaos.sh: Likewise. * emulparams/elf_i386_ldso.sh: Likewise. * emulparams/elf_s390.sh: Likewise. * emulparams/elf_x86_64.sh: Likewise. * emulparams/i386moss.sh: Likewise. * emulparams/i386nw.sh: Likewise. * emulparams/m68kelf.sh: Likewise. * scripttempl/elf.sc: Update NOP comment. * scripttempl/elfi370.sc: Likewise. * scripttempl/elfm68hc11.sc: Likewise. * scripttempl/elfm68hc12.sc: Likewise. * scripttempl/nw.sc: Likewise. 2001-08-15 Tom Rix * ldgram.y (saved_script_handle): Initialize to NULL. * ldmain.c (main): Change check on saved_script_handle. 2001-08-14 Alan Modra * emultempl/elf32.em: Formatting fixes. (output_prev_sec_find): Test for bfd_ind_section too; do so by looking at sec->owner. (output_rel_find): Move function inside LDEMUL_PLACE_ORPHAN test. (gld${EMULATION_NAME}_place_orphan): Add a few comments. Remove unused code, and reorganize orphan section placement code. * ldlang.c (wild_doit): Rename to lang_add_section. * ldlang.h: Here too. * mpw-elfmips.c: And here. * emultempl/beos.em: And here. * emultempl/elf32.em: And here. * emultempl/hppaelf.em: And here. * emultempl/pe.em: And here. 2001-08-13 Richard Henderson * emultempl/needrelax.em: New file. * emulparams/elf64_ia64.sh (EXTRA_EM_FILE): Reference it. * Makefile.am (eelf64_ia64.c): Depend on it. * Makefile.in: Rebuild. 2001-08-13 Alan Modra * emultempl/elf32.em: For SEC_EXCLUDE sections, ensure that output_section is set non-NULL. * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Return `true' for SEC_EXCLUDE sections so that the generic code doesn't needlessly create an output_section_statement. Treat a correctly named output_section_statement with NULL bfd_section as compatible. 2001-08-13 Hans-Peter Nilsson * emultempl/generic.em: Support EXTRA_EM_FILE. (ld_${EMULATION_NAME}_emulation): Support emulation parameters LDEMUL_BEFORE_PARSE, LDEMUL_SYSLIB, LDEMUL_HLL, LDEMUL_AFTER_PARSE, LDEMUL_AFTER_OPEN, LDEMUL_AFTER_ALLOCATION, LDEMUL_SET_OUTPUT_ARCH, LDEMUL_CHOOSE_TARGET, LDEMUL_BEFORE_ALLOCATION, LDEMUL_GET_SCRIPT, LDEMUL_FINISH, LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS, LDEMUL_OPEN_DYNAMIC_ARCHIVE, LDEMUL_PLACE_ORPHAN, LDEMUL_SET_SYMBOLS, LDEMUL_PARSE_ARGS, LDEMUL_UNRECOGNIZED_FILE, LDEMUL_LIST_OPTIONS, LDEMUL_RECOGNIZED_FILE, LDEMUL_FIND_POTENTIAL_LIBRARIES. 2001-08-12 Richard Henderson * scripttempl/elf.sc, scripttempl/elfd30v.sc, scripttempl/elfm68hc11.sc, scripttempl/elfm68hc12.sc, scripttempl/v850.sc: Keep .jcr data. 2001-08-12 H.J. Lu Andrew Haley Nick Clifton * ldgram.y (had_script): Change name to saved_script_handle. Change type to file handle. * ld.h (had_script): Rename and retype. * ldfile.c (ldfile_open_command_file): Save the file handle used in saved_script_handle. * lexsup.c (parse_args): Do not allow -c option to alter saved_script_handle. * ldmain.c (main): Print out the linker script used if --verbose is given. Check saved_script_handle to obtain the external linker script used, or if NULL, dump the builtin script. * ld.texinfo: Document that --verbose now dumps the linker script used, regardless of whether it was an internal or an external script. 2001-08-10 Andreas Jaeger * configure.in: Add -Wstrict-prototypes and -Wmissing-prototypes to build warnings. * configure: Regenerate. 2001-08-09 Alan Modra * emultempl/elf32.em (output_prev_sec_find): Add missing prototype. * scripttempl/elf.sc: Move non-text .dynamic section before .plt/.got/.sdata* group. (OTHER_GOT_SECTIONS): Move to immediately after .got. (OTHER_SDATA_SECTIONS): Add. * emulparams/criself.sh: Use OTHER_SDATA_SECTIONS rather than OTHER_GOT_SECTIONS. * emulparams/crislinux.sh: Likewise. * emulparams/elf32b4300.sh: Likewise. * emulparams/elf32bmip.sh: Likewise. * emulparams/elf32bmipn32.sh: Likewise. * emulparams/elf32bsmip.sh: Likewise. * emulparams/elf32btsmip.sh: Likewise. * emulparams/elf32ebmip.sh: Likewise. * emulparams/elf32elmip.sh: Likewise. * emulparams/elf32l4300.sh: Likewise. * emulparams/elf32lmip.sh: Likewise. * emulparams/elf32lsmip.sh: Likewise. * emulparams/elf32ltsmip.sh: Likewise. * emulparams/elf64bmip.sh: Likewise. * emulparams/elf64btsmip.sh: Likewise. * emulparams/elf64ltsmip.sh: Likewise. 2001-08-08 Alan Modra * genscripts.sh: Source the emulparams script before each output script is generated so that variables like `RELOCATING' may affect variables defined in the emulparams script. 2001-08-04 Alan Modra * emultempl/aix.em: ldexp.h,ldlang.h,ldfile.h,ldemul.h go in this order. * emultempl/beos.em (sort_sections): Modify for 2001-08-03 change, ie. iterate over wild_statement.section_list. (gld${EMULATION_NAME}_place_orphan): Likewise. 2001-08-03 Stephane Carrez * scripttempl/elfm68hc12.sc (FINISH_CODE, FINISH_RELOC): New to handle .fini[0-4] sections used by _exit (CTOR, DTOR): Export ctor/dtor symbols; move them to ROM. (*.text,*.data,*.bss): Take into account .text.*, .data.*, .bss.*. * scripttempl/elfm68hc11.sc: Likewise. 2001-08-03 H.J. Lu * emultempl/beos.em (init): Add the missing initialization. 2001-08-03 Alan Modra * ld.texinfo (Input Section Basics): Clarify ordering of output sections. * ldlang.c (callback_t): Add wildcard_list param. (walk_wild_section): Remove "section" param. Rewrite for lang_wild_statement_type change. Remove unique_section_p test. (walk_wild_file): Remove "section" param. (walk_wild): Remove "section" and "file" params. (lang_gc_wild): Likewise. (wild): Likewise. Modify for lang_wild_statement_type change. (wild_sort): Likewise. Add "sec" param. (gc_section_callback): Likewise. (output_section_callback): Likewise. Do unique_section_p test. (map_input_to_output_sections): Modify call to wild. (lang_gc_sections_1): Likewise. (print_wild_statement): Modify for lang_wild_statement_type change. (lang_add_wild): Replace filename, filenames_sorted param with filespec. Replace section_name, sections_sorted, exclude_filename_list with section_list. * ldlang.h (lang_add_wild): Here too. (lang_wild_statement_type): Replace section_name, sections_sorted, and exclude_filename_list with section_list. * ldgram.y (current_file): Delete. (%union): Add wildcard_list. (file_NAME_list): Set type to wildcard_list. Build a linked list rather than calling lang_add_wild for each entry. (input_section_spec_no_keep): Call lang_add_wild here instead. * ld.h (struct wildcard_list): Declare. * mri.c (mri_draw_tree): Modify to suit new lang_add_wild. 2001-08-02 Charles Wilson * ldmain.c (main): initialize link_info.pei386_auto_import * pe-dll.c: new tables for auto-export filtering (auto_export): change API, pass abfd for contextual filtering. Loop thru tables of excluded symbols instead of comparing "by hand". 2001-08-02 Paul Sokolovsky * pe-dll.c: new variable pe_dll_enable_extra_debug. New static variable current_sec (static struct sec *). Add forward declaration for add_bfd_to_link. (process_def_file): Don't export undefined symbols. Do not export symbols starting with "_imp__". Call auto_export() with new API. (pe_walk_relocs_of_symbol): New function. (generate_reloc): add optional extra debugging (pe_dll_generate_def_file): eliminate extraneous initial blank line in output (make_one): enlarge symtab to make room for __nm__ symbols (DATA auto-import support). (make_singleton_name_thunk): New function. (make_import_fixup_mark): New function. (make_import_fixup_entry): New function. (pe_create_import_fixup): New function. (add_bfd_to_link): Specify that 'name' argument is a CONST char *. * pe-dll.h: declare new variable pe_dll_extra_pe_debug; declare new functions pe_walk_relocs_of_symbol and pe_create_import_fixup. * emultempl/pe.em: add new options --enable-auto-import, --disable-auto-import, and --enable-extra-pe-debug. (make_import_fixup): New function. (pe_find_data_imports): New function. (pr_sym): New function. (gld_${EMULATION_NAME}_after_open): Add optional extra pe debugging. Call pe_find_data_imports. Mark .idata as DATA, not CODE. 2001-08-02 Charles Wilson * ld.texinfo: add additional documentation for --export-all-symbols. Document --out-implib, --enable-auto-image-base, --disable-auto-image-base, --dll-search-prefix, --enable-auto-import, and --disable-auto-import. * ldint.texinfo: Add detailed documentation on auto-import implementation. 2001-07-30 Nick Clifton * ld.texinfo (Simple Assignments): Fix computation in SECTIONS example. 2001-07-24 Alan Modra * Makefile.am: Update dependencies with "make dep-am". * Makefile.in: Regenerate 2001-07-23 Alan Modra * ldcref.c (check_section_sym_xref): New function. (check_nocrossrefs): Call it. (check_nocrossref): Interate over h->refs here instead of.. (check_refs): ..here. Pass in the symbol name, section, and bfd rather than hash_entry pointers. (struct check_refs_info): Keep symbol name rather than hash entry. Remove "same". (check_reloc_refs): Tweak for above changes in check_refs_info. Only report references to section syms when symname is NULL to prevent duplicate messages for the same reloc. 2001-07-19 Nick Clifton * ldexp.c (exp_print_tree): Use stderr if config.map_file is not available. Do not print NULL trees. (exp_print_token): Print unknown tokens with values > 126 as decimal values not ASCII characters. * ldlang.c (lang_leave_overlay): If a region is specified assign it to all sections inside the overlay unless they have been assigned to the own, non-default, memory region. * README: Add header for consistency with other README files. 2001-07-14 H.J. Lu * emultempl/elf32.em (output_prev_sec_find): Never return bfd_abs_section_ptr, bfd_com_section_ptr nor bfd_und_section_ptr. 2001-07-14 Nick Clifton * Makefile.am (em32relf.c): Change dependency from generic.em to elf32.em. * Makefile.in: Regenerate. 2001-07-14 matthew green * configure.tgt (i386-*-netbsdelf*): New target. (i386-*-netbsd*): Set targ_extra_emuls to `elf_i386' 2001-07-13 Jakub Jelinek * emultempl/elf32.em (output_prev_sec_find): New. (place_orphan): Use it. 2001-07-11 H.J. Lu * ldmain.c (main): Fix typos in the last change. 2001-07-11 Jakub Jelinek * ldmain.c (main): Disallow -F and -f without -shared. 2001-07-11 Nick Clifton * emultempl/pe.em (after_open): Check for the output_bfd not having any coff_data structure allocated to it. 2001-07-09 David O'Brien * emultempl/elf32.em: Do not assuming that contents of the buffer returned from basename function will remain unchanged accross other function calls. 2001-07-03 H.J. Lu * scripttempl/elf.sc (DYNAMIC_PAD): Revert the change made on 2001-07-03. It creates dynamic entries even for static binaries. 2001-07-03 Jakub Jelinek * scripttempl/elf.sc (DYNAMIC_PAD): New variable. (DYNAMIC): Use it to reserve few dynamic entries for post-linking tools. 2001-06-27 Alan Modra * emulparams/hppa64linux.sh: New file. * configure.tgt: hppa*64*-*-linux* uses hppa64linux.sh * Makefile.am (ALL_64_EMULATIONS): Add ehppa64linux.o (ehppa64linux.c): Add rule to make it. Run "make dep-am". * Makefile.in: Regenerate. 2001-06-21 Hans-Peter Nilsson * ld.texinfo (Options, -r): Mention restrictions when using different object formats. 2001-06-19 Hans-Peter Nilsson * ldlang.c (lang_check): Emit fatal error if relocatable link between different object flavours with relocations in input. 2001-06-19 H.J. Lu * ld.texinfo (-E, --export-dynamic): Mention --version-script. (--version-script): Mention the language support. 2001-06-19 H.J. Lu * ldlang.c (lang_check): Revert the change mode on 2001-06-15. 2001-06-18 H.J. Lu * Makefile.am (ld.1): Remove the prefix `$(srcdir)/'. (diststuff): Add $(MANS). * Makefile.in: Regenerated. * ld.1: Removed. 2001-06-18 Hans-Peter Nilsson * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Update for API change in bfd_elf${ELFSIZE}_size_dynamic_sections. * mpw-elfmips.c (gldelf32ebmip_before_allocation): Ditto. * ld.h (args_type): Remove member export_dynamic. All users changed to use struct bfd_link_info member. * Makefile.am (ecriself.c, ed10velf.c, ei386moss.c): Depend on $(srcdir)/emultempl/elf32.em, not $(srcdir)/emultempl/generic.em. * Makefile.in: Regenerate. 2001-06-18 H.J. Lu * ldlang.c (init_os): Add the newline to the einfo call. (lang_check): Likewise. (lang_do_version_exports_section): Likewise. 2001-06-15 H.J. Lu * lexsup.c (parse_args); Save optind to report unrecognized option. 2001-06-15 Hans-Peter Nilsson * ldlang.c (lang_check): Emit fatal error if relocatable link between different object flavours. * lexsup.c (parse_args) : Set new link_info member export_dynamic. * ldmain.c (main): Initialize new link_info member export_dynamic. 2001-06-12 Nick Clifton * ldlang.c (walk_wild): Only call walk_wild_file if lookup_name returns something. (lookup_name): If load_symbols fails, return NULL. (load_symbols): Change to a boolean function. (open_input_bfds): If load_symbols fails then do not make the executable. 2001-06-08 Alan Modra * ldlang.c (record_bfd_errors): Remove. * emultempl/aix.em: Fix copyright dates. 2001-06-07 Andreas Jaeger * elf_x86_64.sh (NONPAGED_TEXT_START_ADDR): Increase. (TEXT_START_ADDR): Likewise. 2001-06-06 Martin Schwidefsky * configure.host: Set HOSTING_CRT0/HOSTING_LIBS correctly for s/390. 2001-06-05 Danny Smith * emultempl/pe.em (init): Reduce default stack reserve to 0x200000. 2001-05-31 H.J. Lu * ldlang.c (open_input_bfds): Don't change the bfd error handler whilst loading symbols. 2001-05-28 Nick Clifton * configure.tgt: Remove i370-mvs architecture, it is not currently supported. 2001-05-25 H.J. Lu * emulparams/ppcmacos.sh: Add SYSCALL_MASK and SYMBOL_MODE_MASK like emulparams/aixppc.sh. 2001-05-25 H.J. Lu * emultempl/beos.em (gld${EMULATION_NAME}_before_parse): Move setting of output_filename after bfd_scan_arch. * emultempl/pe.em: Likewise. 2001-05-25 H.J. Lu * emulparams/aixrs6.sh: Add SYSCALL_MASK and SYMBOL_MODE_MASK like emulparams/aixppc.sh. * emultempl/aix.em (sc): Use ${srcdir}/emultempl/ostring.sed instead of ${srcdir}/emultempl/stringify.sed. 2001-05-25 Timothy Wall * emulparams/elf64_aix.sh: Change settings to match IBM linker output. 2001-05-25 Alan Modra * configure.host: Replace linuxoldld with linux*oldld. * configure.tgt: Likewise. 2001-05-24 H.J. Lu * emultempl/stringify.sed: Removed again. 2001-05-24 H.J. Lu * emultempl/aix.em (OUTPUT_ARCH): Defined. (gld${EMULATION_NAME}_before_parse): Initialize ldfile_output_architecture, ldfile_output_machine and ldfile_output_machine_name from ${OUTPUT_ARCH} if possible. * emultempl/beos.em: Likewise. * emultempl/elf32.em: Likewise. * emultempl/linux.em: Likewise. * emultempl/mipsecoff.em: Likewise. * emultempl/pe.em: Likewise. * emultempl/sunos.em: Likewise. 2001-05-24 Tom Rix * emultempl/aix.em : (gld${EMULATION_NAME}_read_file) udate import file format. (change_symbol_mode) New, same (is_syscall) New, same * emulparams/aixppc.sh : add SYSCALL_MASK and SYMBOL_MODE_MASK * emulparams/aixppc64.sh : same * emulparams/aixrs6.sh : same * emulparams/ppcmacos.sh : same * emultempl/aix.em : use strtoull to parse options * Makefile.am : add eaixppc64 emulation for xcoff64 * Makefile.in : same * configure.tgt : same * scripttempl/aix.sc : default text section offset to 0x10000000 default data section offset to 0x20000000 add .sv3264 and .sv64 pseudo sections loader and debug sections use the currect section offset. * emultempl/aix.em : Add xcoff64 support Add -binitfini support (gld${EMULATION_NAME}_before_parse) -binitfini (gld${EMULATION_NAME}_parse_args) same (gld${EMULATION_NAME}_before_allocation) format change for special sections * emulparams/aixppc64.sh : New file for xcoff64 support 2001-05-23 Alexandre Oliva * emultempl/elf32.em (ELF_INTERPRETER_SET_DEFAULT): Use this new variable to avoid non-portable shell construct. 2001-05-23 Thiemo Seufer * ldmain.c (get_emulation): Add -mips5 command line argument. 2001-05-22 Alexandre Oliva * emulparams/elf_i386_ldso.sh: New, copied from elf_i386.sh. (ELF_INTERPRETER_NAME): Define it. * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Use it. * configure.tgt (targ_emul, targ_extra_emuls) [i[3456]86-*-solaris2*, i[3456]86-*-solaris*]: Use elf_i386_ldso as primary, elf_i386 as extra. * Makefile.am (ALL_EMULATIONS): Added eelf_i386_ldso.o. (eelf_i386_ldso.c): New rule. * Makefile.in: Rebuilt. 2001-05-22 Nick Clifton * lexsup.c (ld_options): Allow -I to be an alias for --dynamic-linker. This is for Solaris compatability. * ld.texinfo: Document that -I can be used. * ld.1: Regenerate. 2001-05-16 Alan Modra * ldlang.c (wild_doit): Use linker_has_input to reliably determine whether an input section is the first one assigned to an output section. Assorted formatting fixes. 2001-05-14 DJ Delorie * Makefile.am (ld.dvi): Search bfd/doc for texinfo files. * Makefile.in: Ditto. 2001-05-11 Jakub Jelinek * emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Put .gnu.linkonce.ia64unw{,i} sections into corresponding .IA_64.unwind* output sections. * emulparams/elf64_aix.sh (OTHER_READONLY_SECTIONS): Likewise. 2001-05-11 Jakub Jelinek * ldlang.c (lang_process): Call bfd_merge_sections. 2001-05-07 Thiemo Seufer * ldgram.y: Fix typo. 2001-05-03 H.J. Lu * emultempl/elf32.em: Include "libiberty.h". (gld${EMULATION_NAME}_vercheck): Call basename () to get the basename of the bfd filename. (gld${EMULATION_NAME}_stat_needed): Likewise. (gld${EMULATION_NAME}_try_needed): Likewise. (gld${EMULATION_NAME}_open_dynamic_archive): Likewise. 2001-05-02 H.J. Lu * emultempl/pe.em: Include . 2001-05-02 Johan Rydberg * emulparams/elf32openrisc.sh: New file. * Makefile.am: Add OpenRISC target. * Makefile.in: Regenerated. * configure.tgt: Add openrisc-*-* mapping. 2001-05-02 Nick Clifton * emultempl/aix.em: Replace buystring with xstrdup. * emultempl/beos.em: Replace buystring with xstrdup. 2001-05-02 H.J. Lu * ldfile.c: Include "libiberty.h". * ldlex.l: Likewise. * ldmisc.c (buystring): Removed. * ldmisc.h: Likewise. * ldfile.c: Replace buystring with xstrdup. * ldlang.c: Likewise. * ldlex.l: Likewise. * ldmain.c: Likewise. * ldmisc.c: Likewise. * lexsup.c: Likewise. * mpw-eppcmac.c: Likewise. 2001-04-30 Andreas Jaeger * emulparms/elf_x86_64.sh (MAXPAGESIZE): Fix value. 2001-04-28 Paul Sokolovsky * ldlang.c (load_symbols): Give emulation a chance to process unrecognized file before fatal error is reported, not after. 2001-04-27 Sean McNeil * configure.tgt: Add arm-vxworks target. * scripttempl/armcoff.sc: Support .text or .data as a section name prefix. Define _etext. 2001-04-13 J.T. Conklin * ld.texinfo: Document --fatal-warnings. * ld.1: Regenerate. * ldmisc.c (vfinfo): Set flag to inhibit making executable if warnings have been turned into errors. * lexsup.c (OPTION_WARN_FATAL): Define. (ld_options): Entry for --fatal-warnings. (parse_args): Handle OPTION_WARN_FATAL. * ld.h (ld_config_type): Add fatal_warnings field. 2001-04-13 Jakub Jelinek * ldmain.c (main): Default to discard_sec_merge. * lexsup.c (OPTION_DISCARD_NONE): Define. (ld_options): Add --discard-none. (parse_args): Handle OPTION_DISCARD_NONE. * ldlang.c (wild_doit): SEC_MERGE should be set in the output section only if SEC_MERGE and SEC_STRINGS flags and entsize of all its input sections match. 2001-04-05 Steven J. Hill * Makefile.am (ALL_EMULATIONS): Add eelf32ltsmip.o. (ALL_64_EMULATIONS): Add eelf64btsmip.o and eelf64ltsmip.o. (eelf32ltsmip.c): New target. (eelf64btsmip.c): Likewise. (eelf64ltsmip.c): Likewise. * Makefile.in: Regenerated. * configure.tgt (mips*el-*-linux-gnu): Uses traditional MIPS target. (mips*-*-linux-gnu*): Likewise. * emulparams/elf32ltsmip.sh: New. Traditional little endian MIPS taget. * emulparams/elf64btsmip.sh: New. Traditional 64bit big endian target. * emulparams/elf64ltsmip.sh: New. Traditional 64bit little endian target. 2001-04-05 Hans-Peter Nilsson * emulparams/criself.sh (EXECUTABLE_SYMBOLS): Cannot provide correct value of __Stext here. (TEXT_START_SYMBOLS): Define; always define __Stext, to start of .startup section. * emulparams/crislinux.sh: Remove FIXME. 2001-04-02 Alan Modra * emulparams/hppalinux.sh (MAXPAGESIZE): Set to 64k. (TEXT_START_ADDR, TARGET_PAGE_SIZE): Likewise. 2001-03-27 Hans-Peter Nilsson * configure.tgt (cris-*-*): Change default emulation to criself. (cris-*-*aout*): New rule. 2001-03-27 Matthew Wilcox * emulparams/hppalinux.sh (MAXPAGESIZE): Set to 0x4000. (TEXT_START_ADDR, TARGET_PAGE_SIZE): Ditto. 2001-03-26 Andreas Jaeger * ld.texinfo (Overview): Fix syntax in texi code. 2001-03-25 Stephane Carrez * ld.texinfo: Put @c man indications to generate the ld man page. When generating man, define all the variables. Define SEEALSO and SYNOPSIS. Re-organize some lines to avoid the cross references. * Makefile.am (MANCONF, TEXI2POD, POD2MAN): New variables. (ld.1): Generate from ld.texinfo. * Makefile.in: Regenerate. 2001-03-23 Mark Elbrecht * scripttempl/i386go32.sc: Support the GCC flags '-ffunction-sections' and '-fdata-sections'. Set the VMA of STABS sections to zero. 2001-03-17 Ulrich Drepper * emultmpl/elf32.em (gld${EMULATION_NAME}_search_needed): If NAME is an absolute path look only for this file and not along the path. 2001-03-17 Ulrich Drepper * emultempl/elf32.em (OPTION_GROUP): New macro. Add new option Bgroup to longopts. (gld*_parse_args): Handle GROUP_OPTION and recognize -z defs. (gld*_list_options): Add -Bgroup and -z defs. * ld.1: Document -Bgroup and -z defs. * ld.texinfo: Likewise. 2001-03-07 Michael Meissner * scripttempl/elfd10v.sc (.rodata,.rodata1,.data1,.sdata): Deal with sections created by -fdata-sections. (.dynbss,.bss): Ditto. 2001-03-05 Alan Modra * emultempl/m68kelf.em (m68k_elf_after_allocation): Call after_allocation_default, not gld..._before_allocation. 2001-02-27 Alan Modra * configure.in (BFD_VERSION): New. (AM_INIT_AUTOMAKE): Use $BFD_VERSION. * configure: Regenerate. * Makefile.am: Run "make dep-am" * Makefile.in: Regenerate. 2001-02-26 Timothy Wall * emulparams/elf64_aix.sh: Add additional read-only sections; uncomment lines which are now required. 2001-02-26 H.J. Lu * ldlang.c (open_input_bfds): Set the bfd error handler so that problems can be caught whilst loading symbols. (record_bfd_errors): New function: Report BFD errors and mark the executable output as being invalid. 2001-02-22 Timothy Wall * configure.host: Add configuration for ia64-*-aix*. * Makefile.am (ALL_64_EMULATIONS): Add emulation for ia64-*-aix*. Add dependencies for eelf64_aix.c. * Makefile.in: Regenerate. * configure.tgt: Add ia64-*-aix* mapping. * emulparams/elf64_aix.sh: Add settings for elf64 on aix5. * testsuite/ld-bootstrap/bootstrap.exp: Exclude ia64 flavor from AIX-specific test. 2001-02-20 H.J. Lu * ldfile.c (ldfile_open_file): Set entry->search_dirs_flag to false if we found the file. 2001-02-18 David O'Brien * configure.tgt: Add FreeBSD/Alpha, FreeBSD/x86-64, FreeBSD/ia64, FreeBSD/PowerPC, FreeBSD/arm, and FreeBSD/sparc64 entries. 2001-02-18 lars brinkhoff * Makefile.am: Add PDP-11 target. * configure.tgt: Likewise. * emulparams/pdp11.sh: New file. 2001-02-17 David O'Brien * configure.host: Add a generic FreeBSD configuration entry such that all [modern] FreeBSD systems on all platforms will look the same. 2001-02-14 H.J. Lu * configure.tgt: Remove mention of earmelf_linux26. 2001-02-13 Richard Henderson * emulparams/elf64_ia64.sh (OTHER_GOT_SYMBOLS): Remove. 2001-02-13 H.J. Lu * ldexp.h (node_type): Add etree_provided. * ldexp.c (exp_fold_tree): Handle etree_provided. Set the node type to etree_provided if defined by PROVIDE. Allow updating for etree_provided. (exp_print_tree): Handle etree_provided. * mpw-elfmips.c (gldelf32ebmip_find_exp_assignment): Handle etree_provided. 2001-02-09 David Mosberger * emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Add .IA_64.unwind.* pattern to unwind table section and .IA_64.unwind_info* pattern to unwind info section. 2001-02-09 Martin Schwidefsky * Makefile.am: Add linux target for S/390. * Makefile.in: Likewise. * configure.host: Likewise. * configure.tgt: Likewise. * emulparams/elf64_s390.sh: New file. * emulparams/elf_s390.sh: New file. 2001-02-09 Jakub Jelinek * configure.tgt (sparc64-*-linux-gnu*): Add elf32_sparc into targ_extra_libpath. (sparc-*-linux-gnu*): Add elf64_sparc into targ_extra_libpath. 2001-02-06 Philip Blundell * Makefile.am: Remove mention of earmelf_linux26. * Makefile.in: Regenerate. 2001-02-04 Philip Blundell * emulparams/armelf_linux.sh (TEXT_START_ADDR): Set to 0x8000. * emulparams/armelf_linux26.sh: Delete. * configure.tgt: Remove mention of armelf_linux26 emulation. 2001-02-01 Nick Clifton * ld.1: Replace occurances of -oformat with --oformat. 2001-01-25 Jim Driftmyer * ldlang.c (lang_leave_overlay): Don't set lma_region when load_base is specified. 2001-01-24 Hans-Peter Nilsson * emultempl/elf32.em: Correct spelling in comments and listed options. 2001-01-23 Alan Modra * ldlang.c (lang_leave_overlay): Only set lma_region from the default for the first section of a group of overlay sections. 2001-01-22 Alan Modra * Makefile.am (GENSCRIPTS): Pass exec_prefix. * Makefile.in: Regenerate. * genscripts.sh: Use exec_prefix parameter to specify tool lib. Check for null tool_dir. 2001-01-16 Jim Wilson * emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Add IA_64.unwind and IA_64.unwind.info. 2001-01-16 H.J. Lu * ldlang.c (lang_check): Merge the private data only if the input file has contents. 2001-01-14 Alan Modra * emulparams/hppalinux.sh (OUTPUT_FORMAT): Set to elf32-hppa-linux. * emultempl/hppaelf.em (hppaelf_after_parse): New function, enabling search for libmilli. On a relocatable link, make .text sections unique. (LDEMUL_AFTER_PARSE): Define. (hppaelf_finish): Correct spelling of relocatable in comments. * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't rummage through the script for sections on the unique list. Correct length of strncmp for ".note". (gld${EMULATION_NAME}_check_needed): Rearrange function. * ldlang.c (unique_section_list): New var. (unique_section_p): New function. (walk_wild_section): Don't match sections on unique_section_list. (lang_add_unique): New function. Correct spelling of relocatable in comments. * ldlang.h (struct unique_sections): Declare. (unique_section_list): Declare. (unique_section_p): Declare. (lang_add_unique): Declare. * lexsup.c (ld_options): Allow --unique to take an optional arg. (parse_args [OPTION_UNIQUE]): Call lang_add_unique. * ld.texinfo (--unique): Update. 2001-01-13 Nick Clifton * lexsup.c (parse_args): Remove spurious white space. 2001-01-12 Nick Clifton * lexsup.c (parse_args): Update copyright date. 2001-01-12 Philip Blundell * configure.host: Set HOSTING_LIBS appropriately for ix86-cygwin. 2001-01-10 Kazu Hirata * scripttempl/h8300.sc: Fix formatting. Fix a comment typo. * scripttempl/h8300h.sc: Fix formatting. * scripttempl/h8300s.sc: Likewise. * scripttempl/h8500.sc: Likewise. * scripttempl/h8500b.sc: Likewise. * scripttempl/h8500c.sc: Likewise. * scripttempl/h8500m.sc: Likewise. * scripttempl/h8500s.sc: Likewise. 2000-01-07 David O'Brien * emultempl/elf32.em: Only perform Linux ld hints processing when targeting Linux. 2001-01-07 Philip Blundell * ld.texinfo (Bug Reporting): Update email address for reports. 2000-12-31 Nick Clifton * lexsup.c (parse_args): Set opterr to 0 and detect unparsed long options by checking for a return value of '?' not -1. 2000-12-28 Nick Clifton * lexsup.c (struct ld_option): Add new enum value: EXACTLY_TWO_DASHES. (ld_options[]): Change -omagic, -output and -oformat options to be EXACTLY_TWO_DASHES. (OUTPUT_COUNT): Use ARRAY_SIZE. (parse_args): Change parameter 'argc' to unsigned. Place EXACTLY_TWO_DASHES options into new really_longopts array. If getopt_long_only fails, try calling getopt_long using the really_longopts array. (help): Print a double dash for both EXACTLY_TWO_DASHES and TWO_DASHES options. * ldlex.h: Fix prototype of parse_args. * ld.texinfo: Document that long options starting with 'o' must be preceeded by two dashes. Change example of a single dashed long option from -oformat to -trace-symbol. 2000-12-26 Danny Smith * emultempl/pe.em (OPTION_NO_DEFAULT_EXCLUDES): Define. (longopts[]): New --no-default-excludes option. (gld_${EMULATION_NAME}_list_options): Document. (gld_${EMULATION_NAME}_parse_args): Handle. 2000-12-13 Michael Sokolov * ldlang.c (new_stat): Revert the last beautification with "innocent" whitespace, it breaks the K&R C preprocessor. 2000-12-11 DJ Delorie * ld.texinfo: Add notes about --whole-archive and gcc. 2000-11-18 Fred Fish * lexsup.c (OPTION_ALLOW_SHLIB_UNDEFINED): Define. (ld_options): Entry for --allow-shlib-undefined. (parse_args): Handle OPTION_ALLOW_SHLIB_UNDEFINED. * ldmain.c (main): Initialize link_info.allow_shlib_undefined to false. * ld.texinfo: Document new command line switch. 2000-12-12 Geoffrey Keating * emulparams/elf32ppc.sh (OTHER_READWRITE_SECTIONS): .fixup is actually read/write. * emulparams/elf32lppc.sh (OTHER_READWRITE_SECTIONS): Likewise. * emulparams/elf32ppcsim.sh (OTHER_READWRITE_SECTIONS): Likewise. * emulparams/elf32lppcsim.sh (OTHER_READWRITE_SECTIONS): Likewise. Mon Dec 11 14:50:33 MET 2000 Jan Hubicka * NEWS: Add note about x86_64 architecture. 2000-12-06 Mark Elbrecht * scripttempl/i386go32.sc: Use PROVIDE with _etext, _edata, _end. Set DWARF2 sections to a VMA of zero. 2000-12-01 Joel Sherrill * configure.tgt (arm-*-rtems*, a29k-*rtems*, h8300-*-rtems*): New targets. (sparc*-*-rtemself*, sparc*-*-rtemsaout*): New targets. (sparc*-*-rtems*): Switched from a.out to ELF. 2000-11-30 Jan Hubicka * Makefile.am (ALL_EMULATIONS): Add eelf_x86_64.o (eelf_x86_64.c): New. * Makefile.in: Regenerate. * configure.tgt: Add support for x86_64-*-linux-gnu*. * emulparams/elf_x86_64.sh: New. 2000-11-30 Hans-Peter Nilsson * emulparams/crislinux.sh (ENTRY): Change back to _start. (TEXT_START_SYMBOLS): Remove conditional setting of __start. * scripttempl/crisaout.sc: Change all RELOCATING not related to merging non-a.out sections into CONSTRUCTING. 2000-11-28 Nick Clifton * ld.1 (COPYING): Mention that the GNU Free Documentation License is present in the sources, but not the output, and also available from the GNU website. (GNU Free Documentation License): Comment out this section. 2000-11-28 David O'Brien * emulparams/elf64alpha.sh (ENTRY): Remove leading underscore as ELF does not use them. 2000-11-25 David O'Brien * ld.1: Remove old date so it does not give the impression the manpage is way out of date. 2000-11-24 Nick Clifton * configure.tgt (xscale-coff): Add target. (xscale-elf): Add target. 2000-11-24 Fred Fish * ldmain.c (main): Remove redundant init of config.make_executable to true. 2000-11-15 Richard Henderson * emulparams/elf64alpha.sh (MAXPAGESIZE): Typo -- 64k, not 1M. 2000-11-14 Kazu Hirata * scripttempl/h8300.sc: Fix formatting. * scripttempl/h8300h.sc: Likewise. * scripttempl/h8300s.sc: Likewise. Tue Nov 14 00:59:19 2000 Denis Chertykov * scripttempl/elf32avr.sc: Fix bug in .eeprom segment. 2000-11-09 Philip Blundell * emultempl/pe.em: Define ___start_SECNAME and ___stop_SECNAME around orphan sections whose names can be represented in C. 2000-11-07 Jim Wilson * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): New local hold_sdata. If SEC_SMALL_DATA set, set place to hold_sdata. 2000-11-06 Nick Clifton * ld.texinfo: Add GNU Free Documentation License. * ldint.texinfo: Add GNU Free Documentation License. * ld.1: Add GNU Free Documentation License. 2000-11-05 Alan Modra * ldlex.l (yy_create_string_buffer): Init yy_is_our_buffer, yy_is_interactive, yy_at_bol, and yy_fill_buffer. * Makefile.am (DISTCLEANFILES): Add stringify.sed. Move 2000-11-02 Makefile.in changes to this file. * Makefile.in: Regenerate. 2000-11-03 Nick Clifton * scripttempl/h8300.sc: Use ${CONSTRUCTING...} to enclose constructors and destructors. * scripttempl/h8300h.sc: Ditto. * scripttempl/h8300s.sc: Ditto. * scripttempl/h8500.sc: Ditto. * scripttempl/h8500b.sc: Ditto. * scripttempl/h8500c.sc: Ditto. * scripttempl/h8500m.sc: Ditto. * scripttempl/h8500s.sc: Ditto. * scripttempl/v850.sc: Ditto. * scripttempl/w65.sc: Ditto. * scripttempl/z8000.sc: Ditto. 2000-11-02 Per Lundberg * Makefile.in (e_i386_chaos.c): New rule. (ALL_EMULATIONS): Added e_i386_chaos.o. * emulparams/elf_i386_chaos.sh: New file. * configure.tgt: Recognise i[3456]86-chaosdev-storm-chaos. 2000-10-20 Jakub Jelinek * emulparams/elf64_sparc.sh (TEXT_START_ADDR, NONPAGED_TEXT_START_ADDR): Set to 4GB for Solaris targets. Fix sed invocation, so that it coped with '/' in Solaris 64bit library path suffix. Based on patch by Andrew Macleod . 2000-10-18 Hans-Peter Nilsson * scripttempl/crisaout.sc (.text, .data): Pad, with ALIGN (32), for consecutive sections. 2000-10-17 Chandrakala Chavva * lexsup.c: New option OPTION_TARGET_HELP. Prints all target specific options. * ld.texinfo: Added notes about this new option. 2000-10-16 Nick Clifton * emultempl/pe.em (_after_open): Add tests of return values from bfd functions. Emit appropriate error messages if necessary. 2000-10-13 Nick Clifton * emultempl/pe.em (_after_open): Delete 'is2' and 'nsyms' local variables - they are not used, but leave in the call to bfd_canonicalize_symtab. (_open_dynamic_archive): Add #ifdef DLL_SUPPORT around use of pe_dll_search_prefix. 2000-10-12 Charles Wilson * emultempl/pe.em (pe_dll_search_prefix): New variable, (longopts): New --dll-search-prefix option. (gld_${EMULATION_NAME}_list_options): Document. (gld_${EMULATION_NAME}_parse_args): Handle. (gld_${EMULATION_NAME}_open_dynamic_archive): When linking dynamically, search for a dll named '.dll' in preference to 'lib.dll' if --dll-search-prefix is specified. 2000-10-12 Alan Modra * ldlang.c (section_already_linked): Set kept_section instead of sec->comdat->sec. 2000-10-10 Kazu Hirata * deffile.h: Fix formatting. * lexsup.c: Likewise. * mri.c: Likewise. 2000-10-09 Paul Sokolovsky * pe-dll.c (make_one): Do not generate code thunk for DATA exports. (process_def_file): deduce DATA flag for auto-export sumbols. 2000-10-09 Kazu Hirata * ld.h: Fix formatting. * ldcref.c: Likewise. * ldctor.h: Likewise. * ldemul.c: Likewise. * ldemul.h: Likewise. * ldexp.c: Likewise. * ldexp.h: Likewise. * ldfile.c: Likewise. * ldfile.h: Likewise. * ldlang.c: Likewise. * ldlang.h: Likewise. * ldmain.c: Likewise. * pe-dll.c: Likewise. * pe-dll.c: Revert some formatting fixes. 2000-10-08 Kazu Hirata * pe-dll.c: Fix formatting. 2000-10-05 Kazu Hirata * ldlang.c: Fix formatting. 2000-10-03 DJ Delorie * pe-dll.c (fill_edata): initialize entire block (make_one): fill in correct section. 2000-10-03 Kazu Hirata * ldexp.c: Fix formatting. 2000-10-02 DJ Delorie * emultempl/pe.em (gld_*_after_open): detect case where there two import libraries for same dll; rename one to ensure proper link order. * pe-dll.c (process_def_file): compare ordinals to -1, not 0; fix typo (generate_edata): fix typo 2000-09-29 Hans-Peter Nilsson * scripttempl/crisaout.sc (ENTRY): Now __start. (.text): Add default setting for __start. Remove CONSTRUCTORS handling. (/DISCARD/): Add .gnu.warning.*. * emulparams/crislinux.sh (ENTRY): Now __start. (TEXT_START_SYMBOLS): New; provide __Stext and __start default. * emulparams/criself.sh (OUTPUT_FORMAT): Now elf32-us-cris. (ENTRY): Now __start. (INITIAL_READONLY_SECTIONS): Add KEEP for .startup. (EXECUTABLE_SYMBOLS): Add default setting for __start. 2000-09-29 Kazu Hirata * deffile.h: Fix formatting. * ld.h: Likewise. * ldcref.c: Likewise. * ldctor.c: Likewise. * ldctor.h: Likewise. * ldemul.c: Likewise. * ldemul.h: Likewise. * ldexp.c: Likewise. * ldexp.h: Likewise. * ldfile.c: Likewise. * ldfile.h: Likewise. * ldlang.c: Likewise. * ldlang.h: Likewise. * lexsup.c: Likewise. * mri.c: Likewise. * pe-dll.c: Likewise. 2000-09-28 Paul Sokolovsky * pe-dll.c (process_def_file): Uninitialized data wasn't exported with --export-all-symbols switch. 2000-09-28 DJ Delorie * pe-dll.c (fill_edata): rearrange the data so that ordinals and noname work properly. 2000-09-28 Alan Modra * ld.texinfo (HPPA ELF32): New section. * emultempl/hppaelf.em (group_size): New. (hppaelf_finish): Pass group_size to elf32_hppa_size_stubs. (PARSE_AND_LIST_PROLOGUE): Add OPTION_STUBGROUP_SIZE. (PARSE_AND_LIST_LONGOPTS): Add --stub-group-size. Duplicate options to prevent abbreviations matching. (PARSE_AND_LIST_OPTIONS): Describe the above. Reformat. (PARSE_AND_LIST_ARGS_CASES): Handle it. 2000-09-21 Michael Sokolov * emultempl/m68kelf.em: Conditionalise the embedded relocs feature on the m68*-*-elf target. Make it support COFF input objects. 2000-09-21 Kazu Hirata * ldmain.c: Fix formatting. * ldmisc.c: Likewise. * ldver.c: Likewise. * ldwrite.c: Likewise. 2000-09-21 Alan Modra * ldwrite.c (clone_section): Silence gcc warnings. 2000-09-20 Alan Modra * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Handle out of memory failure. * ldwrite.c (ldwrite): Remove unnecessary einfo arg. (clone_section): Handle out of memory failures. Rename var to avoid c++ reserved word. 2000-09-18 Alan Modra * emultempl/hppaelf.em (hppaelf_add_stub_section): Rename stub_name param to stub_sec_name. (hppaelf_finish): Modify call to elf32_hppa_size_stubs. 2000-09-10 Michael Sokolov * emultempl/m68kelf.em: New file. * emulparams/m68kelf.sh (EXTRA_EM_FILE): Use it. * Makefile.am (em68kelf.c): Add dependency on m68kelf.em. * Makefile.in: Regenerate. 2000-09-15 Alan Modra * emulparams/hppalinux.sh (DATA_START_SYMBOLS): Provide $global$ only as needed. 2000-09-13 Nick Clifton * ldmain.c (multiple_definition): Disable relaxation if multiple symbol definitions are encountered - otherwise the linker could abort with an assertion failure. 2000-09-10 Nick Clifton * mri.c: Fix formatting. 2000-09-07 H.J. Lu * configure.in (AC_ISC_POSIX): Put after AC_CANONICAL_SYSTEM. * configure: Rebuild. 2000-09-07 H.J. Lu * Makefile.am (lexsup.o): Also depend on $(INCDIR)/demangle.h. * Makefile.in: Rebuild. 2000-09-07 Alan Modra * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Fix broken list handling. Create __start_SECNAME and __stop_SECNAME when no place-holder. Add some comments. Test both SEC_CODE and SEC_READONLY for hold_text to prevent .rodata orphan poisoning. Handle case where no output section statement created. 2000-09-07 Niibe Yutaka , Kaz Kojima , Alexandre Oliva * configure.tgt (sh-*-linux*): Added. * Makefile.am: Added eshelf_linux and eshlelf_linux. * Makefile.in: Rebuilt. * emulparams/shelf_linux.sh: New file. * emulparams/shlelf_linux.sh: New file. 2000-09-06 Alan Modra * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't try shuffling sections when the orphan happens to be the place holder. Keep count of unique section names generated so we speed the search for a new name. 2000-09-06 Alexandre Oliva * configure: Rebuilt with new libtool.m4. 2000-09-05 Nick Clifton * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * configure: Regenerate. * config.in: Regenerate. * po/ld.pot: Regenerate. * ldint.texinfo: Remove CVS revision marker - it foils local comparisons. * emultempl/ticoff.em: Remove extraneous comma. 2000-09-05 Alan Modra * emultempl/hppaelf.em (hppaelf_add_stub_section): Add SEC_RELOC to stub section flags. (hppa_for_each_input_file_wrapper): New. (hppa_lang_for_each_input_file): New. (lang_for_each_input_file): Define to call above. (multi_subspace): New. (hppaelf_finish): Pass multi_subspace to elf32_hppa_size_stubs. (PARSE_AND_LIST_PROLOGUE): Define. (PARSE_AND_LIST_LONGOPTS): Define. (PARSE_AND_LIST_OPTIONS): Define. (PARSE_AND_LIST_ARGS_CASES): Define. (hppaelf_finish): Call elf32_hppa_set_gp. (hppaelf_set_output_arch): Remove. (LDEMUL_SET_OUTPUT_ARCH): Remove. * emulparams/hppalinux.sh (ELFSIZE): Define. (MACHINE): Define. (OTHER_READONLY_SECTIONS): Define. (DATA_PLT): Define. (GENERATE_SHLIB_SCRIPT): Define. * ldlang.c: Add missing prototypes, and tidy others. Change CONST to const throughout. Change `void *' to `PTR' throughout. (lang_memory_default): Function is local to file, add `static'. * Makefile.am (ehppaelf.c): Depend on emultempl/elf32.em. (ehppalinux.c): Likewise. (earmelf.c): Likewise. (earmelf_linux.c): Likewise. (earmelf_linux26.c): Likewise. * Makefile.in: Regenerate. * ld.h (ld_config_type): Add unique_orphan_sections. * lexsup.c (OPTION_UNIQUE): Define. (ld_options): Add "--unique". (parse_args): Handle it. * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't search for an existing output section if unique_orphan_sections is set. Make use of bfd_get_unique_section_name rather than duplicating code here. * ld.texinfo: Describe --unique. * lexsup.c (ld_options): Make split-by-reloc arg optional. Add optional arg to split-by-file. (parse_args): Handle them. * ld.texinfo: Update description of these options. * ldwrite.c (clone_section): Pass in the section name. Replace local code with bfd_get_unique_section_name. (split_sections): Tidy code and comments. Use a list traversal more appropriate to the list construction. Handle cooked section sizes. Split when split_by_reloc reached rather than exceeded. Track section size and split when split_by_file reached. Fix link_order_tail (even though it's not used). (ldwrite): Modify condition for calling split_sections to suit changed split_by_reloc and split_by_file. * ldmain.c (main): Init config.split_by_reloc and config.split_by_file to -1. * ld.h (ld_config_type): Change split_by_reloc to unsigned. Change split_by_file to bfd_size_type. 2000-09-02 Nick Clifton * configure.in: Increase version number to 2.10.91. * NEWS: Mention new ability to support removal of duplicate DWARF2 debug information. * configure: Regenerate. * aclocal.m4: Regenerate. * config.in: Regenerate. 2000-09-02 Daniel Berlin * scripttempl/elf.sc: Add .gnu.linkonce.wi.* to .debug_info sections. * scripttempl/elf32avr.sc: Ditto. * scripttempl/elfd10v.sc: Ditto. * scripttempl/elfd30v.sc: Ditto. * scripttempl/elfi370.sc: Ditto. * scripttempl/elfm68hc11.sc: Ditto. * scripttempl/elfm68hc12.sc: Ditto. * scripttempl/elfi386beos.sc: Ditto. * scripttempl/v850.sc: Ditto. 2000-08-31 Alexandre Oliva * acinclude.m4: Include libtool and gettext macros from the top level. * aclocal.m4, configure: Rebuilt. 2000-08-25 Nick Clifton * ldlang.c (open_output): When choosing the target for a particular endianness, do nothing if the target is not supported. 2000-08-25 H.J. Lu * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Don't check -rpath nor LD_RUN_PATH for cross link. * ld.texinfo: Document the change. 2000-08-24 Hans-Peter Nilsson * NEWS: Mention support for CRIS. 2000-08-23 H.J. Lu * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Get the current runpath list from bfd_elf_get_runpath_list () before search. 2000-08-22 H.J. Lu * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Search the DT_RPATH/DT_RUNPATH entries for DT_NEEDED after LD_LIBRARY_PATH for native linker. Display the needed DSO if trace_file_tries is non-zero. (gld${EMULATION_NAME}_try_needed): Report the needed DSO found if trace_file_tries is non-zero. * ld.texinfo: Document the usage of DT_RPATH/DT_RUNPATH. * NEWS: Mention it. 2000-08-14 Jason Eckhardt * NEWS: Mention i860 support. 2000-08-14 Andreas Schwab * scripttempl/elf.sc: Fix last change to use correct comment syntax. 2000-08-10 Geoff Keating * scripttempl/elf.sc: Add a comment giving the correspondence between sections, per-datum sections, and linkonce sections. Make the comment true even for .bss, .sdata, .sdata2, .sbss, and .sbss2. 2000-08-10 Jason Eckhardt * emulparams/elf32_i860.sh: New file. * configure.tgt: Recognize new target i860-stardent-{sysv4*|elf*}. * Makefile.am (ALL_EMULATIONS): Add eelf32_i860.o. (eelf32_i860.c): New rule. * Makefile.in: Regenerate. 2000-08-10 Nick Clifton * emulparams/mipspe.sh (ENTRY): Add definition. 2000-08-08 Peter Jeremy * emultempl/elf32.em (_after_close): Refer to -rpath not --rpath in error message. 2000-08-08 Stephane Carrez * scripttempl/elfm68hc11.sc: Define __bss_size symbol to indicate the final size of .bss section. * scripttempl/elfm68hc12.sc: Likewise. 2000-08-04 Alan Modra * emultempl/elf32.em (gld_${EMULATION_NAME}_parse_args): Rename to gld${EMULATION_NAME}_parse_args for consistency. Combine lastoptind and prevoptind vars, and keep track of last optind. (gld_${EMULATION_NAME}_list_options): Rename to gld${EMULATION_NAME}_list_options. 2000-08-03 Rodney Brown * configure.tgt: Select targ_emul=elf_i386 for Unixware 7 (i586-sco-sysv5uw7.1.0). 2000-07-27 H.J. Lu * emulparams/elf64alpha.sh (PARSE_AND_LIST_ARGS): Removed. (PARSE_AND_LIST_PROLOGUE): New. (PARSE_AND_LIST_LONGOPTS): Likewise. (PARSE_AND_LIST_OPTIONS): Likewise. (PARSE_AND_LIST_ARGS_CASES): Likewise. (PARSE_AND_LIST_EPILOGUE): Likewise. 2000-07-28 Alan Modra * emultempl/armelf.em: Elide functions common to elf32.em, ie. most of the file. (arm_elf_after_open): New. Do arm specific things then call gld${EMULATION_NAME}_after_open. (arm_elf_before_allocation): New. Call gld${EMULATION_NAME}_before_allocation then do arm specifics. (PARSE_AND_LIST_PROLOGUE): Define. (PARSE_AND_LIST_SHORTOPTS): Define. (PARSE_AND_LIST_LONGOPTS): Define. (PARSE_AND_LIST_OPTIONS): Define. (PARSE_AND_LIST_ARGS_CASES): Define. (LDEMUL_AFTER_OPEN): Define. (LDEMUL_BEFORE_ALLOCATION): Define. (LDEMUL_BEFORE_PARSE): Define. (LDEMUL_FINISH): Define. * emultempl/hppaelf.em: Similarly zap most of this file. (hppaelf_add_stub_section): Prototype. (hppaelf_layaout_sections_again): Prototype. (hook_in_stub): Prototype. (LDEMUL_SET_OUTPUT_ARCH): Define. (LDEMUL_FINISH): Define. (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Define. * emulparams/armelf.sh (TEMPLATE_NAME): Use elf32. (EXTRA_EM_FILE): New. * emulparams/armelf_linux.sh: Likewise. * emulparams/armelf_linux26.sh: Likewise. * emulparams/hppalinux.sh: Likewise. * emulparams/hppaelf.sh: Likewise. (NOP): Define. * emultempl/elf32.em: Fix formatting. (EXTRA_EM_FILE): Source it. (LDEMUL_BEFORE_PARSE, LDEMUL_SYSLIB, LDEMUL_HLL, LDEMUL_AFTER_PARSE, LDEMUL_AFTER_OPEN, LDEMUL_AFTER_ALLOCATION, LDEMUL_SET_OUTPUT_ARCH, LDEMUL_CHOOSE_TARGET, LDEMUL_BEFORE_ALLOCATION, LDEMUL_GET_SCRIPT, LDEMUL_FINISH, LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS, LDEMUL_OPEN_DYNAMIC_ARCHIVE, LDEMUL_PLACE_ORPHAN, LDEMUL_SET_SYMBOLS, LDEMUL_PARSE_ARGS, LDEMUL_UNRECOGNIZED_FILE, LDEMUL_LIST_OPTIONS, LDEMUL_RECOGNIZED_FILE, LDEMUL_FIND_POTENTIAL_LIBRARIES): New shell vars. Add code to allow functions in this file to be overridden. (PARSE_AND_LIST_SHORTOPTS): Handle it. * emultempl/m68kcoff.em: Include ldfile.h before ldemul.h. * emultempl/elf32.em: Reorganize file. 2000-07-27 Ivan Kokshaysky * emulparams/elf64alpha.sh: Implement "-taso" emulation specific option to fit 64-bit executable in the lower 31-bit address range. This is done by changing start address of .interp (the very first section of executable) and then setting EF_ALPHA_32BIT elf header flag. 2000-07-21 Michael Sokolov * emultempl/m68kcoff.em: New file. * emulparams/m68kcoff.sh (TEMPLATE_NAME): Use m68kcoff template. * Makefile.am (em68kcoff.c): Depend on m68kcoff.em rather than generic.em. * Makefile.in: Regenerate. 2000-07-20 H.J. Lu * emultempl/elf32.em (longopts): Duplicate "disable-new-dtags" and "disable-new-dtags" to stop getopt from treating -d/-e as abbreviations for these options. 2000-07-20 H.J. Lu * ld.texinfo: Add documentation for --disable-new-dtags and --enable-new-dtags. * ldmain.c (main): Initialize link_info.new_dtags to false. * emultempl/elf32.em (gld_${EMULATION_NAME}_parse_args): Add --disable-new-dtags and --enable-new-dtags. (gld_${EMULATION_NAME}_list_options): Likewise. 2000-07-05 Kenneth Block * lexsup.c: Add optional style to demangle switch * ld.texinfo: Document optional style to demangle switch. 2000-07-20 Hans-Peter Nilsson * Makefile.am (ALL_EMULATIONS): Add ecrisaout.o, ecriself.o, ecrislinux.o. (ecrisaout.c, ecriself.c, ecrislinux.c): New rules. Regenerate dependencies. * Makefile.in: Rebuild. * configure.tgt (cris-*-*): New target. * emulparams/crisaout.sh, emulparams/criself.sh, emulparams/crislinux.sh, scripttempl/crisaout.sc: New files. * po/POTFILES.in, po/ld.pot: Regenerate. 2000-07-20 H.J. Lu * emultempl/elf32.em (gld_${EMULATION_NAME}_list_options): Print out ignored -z options. 2000-07-19 H.J. Lu * emulparams/elf32mcore.sh (PARSE_AND_LIST_ARGS): Removed. (PARSE_AND_LIST_PROLOGUE): New. (PARSE_AND_LIST_LONGOPTS): Likewise. (PARSE_AND_LIST_OPTIONS): Likewise. (PARSE_AND_LIST_ARGS_CASES): Likewise. * ldmain.c (main): Clear link_info.flags and link_info.flags_1. * lexsup.c (ld_options): Comment out 'z'. (parse_args): Likewise. * emultempl/elf32.em: Include "elf/common.h". (gld_${EMULATION_NAME}_parse_args): Defined. Handle some -z options. (gld_${EMULATION_NAME}_list_options): Likewise. * ld.texinfo: Add documentation for the recognized -z options. 2000-07-19 H.J. Lu * emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Call bfd_elf_set_dt_needed_soname (). 2000-07-18 DJ Delorie * pe-dll.c (pe_dll_id_target): check object target name also 2000-07-18 Hans-Peter Nilsson * scripttempl/elf.sc (.init): Only do ${INIT_START} and ${INIT_END} if relocating. (.fini): Likewise ${FINI_START} and ${FINI_END}. 2000-07-16 Charles Wilson * emultempl/pe.em (gld_*_open_dynamic_archive): New search order for dynamic library '-lfoo' on pei386: libfoo.dll.a, foo.dll.a, libfoo.a, libfoo.dll, foo.dll. This fixes compatibility errors introduced by the old dynamic lib search order. 2000-07-17 DJ Delorie * pe-dll.c (process_def_file): auto-export data items also (pe_process_import_defs): also see if _imp_ form needed 2000-07-12 Charles Wilson * pe-dll.c (make_one): fix a typo in the __imp_ name decoration for dll import libraries 2000-07-12 Mark Elbrecht * scripttempl/i386go32.sc: Support the g++ attribute init_priority in gcc 2.95.2 and later. 2000-07-11 Kazu Hirata * ldfile.c (ldfile_try_open_bfd): Output '\n' after an error message. 2000-07-10 Alan Modra * ldemul.h (struct lang_input_statement_struct): Remove forward declaration. (struct search_dirs): Likewise. * ldfile.h (struct lang_input_statement_struct): Likewise. Protect file from multiple inclusion. * ldlang.h (LANG_FOR_EACH_INPUT_STATEMENT): Move file_chain declaration from macro to file scope. * ldemul.c: ldexp.h,ldlang.h,ldfile.h,ldemul.h go in this order. * ldgram.y: Likewise here. * ldlang.c: And here. * ldmain.c: And here. * mpw-elfmips.c: And here. * mpw-eppcmac.c: And here. * emultempl/aix.em: And here. * emultempl/armcoff.em: And here. * emultempl/armelf.em: And here. * emultempl/armelf_oabi.em: And here. * emultempl/beos.em: And here. * emultempl/elf32.em: And here. * emultempl/hppaelf.em: And here. * emultempl/linux.em: And here. * emultempl/lnk960.em: And here. * emultempl/pe.em: And here. * emultempl/sunos.em: And here. * mpw-esh.c: And here. Include ldexp.h and ldlang.h too. * mpw-idtmips.c: Ditto. * emultempl/generic.em: Ditto. * emultempl/gld960.em: Ditto. * emultempl/gld960c.em: Ditto. * emultempl/mipsecoff.em: Ditto. * emultempl/ticoff.em: Ditto. * emultempl/vanilla.em: Ditto. * pe-dll.c: Include ldfile.h * ldver.c: Include ldexp.h, ldlang.h, ldfile.h * mpw-elfmips.c: (gldelf32ebmip_before_allocation): Add missing arguments to bfd_elf32_size_dynamic_sections call. (gldelf32ebmip_place_orphan): Add missing arguments to lang_leave_output_section_statement call. 2000-07-10 H.J. Lu * emultempl/pe.em (pe_enable_stdcall_fixup): Protect with DLL_SUPPORT. (strhash): Likewise. (compute_dll_image_base): Likewise. (pe_undef_found_sym): Likewise. (pe_undef_cdecl_match): Likewise. (gld_${EMULATION_NAME}_open_dynamic_archive): Mark the argument "arch" with ATTRIBUTE_UNUSED. 2000-07-10 Alan Modra * configure.tgt: Remove extraneous hppa*-*-linux-gnu*. From Ryan Bradetich * ldwrite.c (SSIZE): Remove to cure macro redefinition warning. 2000-07-09 Alan Modra Changes to create multiple linker stubs, positioned immediately before the section where they are required. * emultempl/hppaelf.em: Include elf32-hppa.h. (stub_sec, file_chain): Delete. (hppaelf_create_output_section_statements): Don't make a stub section here. (hook_stub_info): New struct. (hook_in_stub): New function. (hppaelf_add_stub_section): New function. (hppaelf_finish): Do nothing for relocateable links. Modify the call to elf32_hppa_size_stubs. Move code for updating section layout from here... (hppaelf_layaout_sections_again): ..to here, a new function. * emultempl/hppaelf.em (hppaelf_delete_padding_statements): Fix broken list handling. Pass in a pointer to the list. (hppaelf_finish): Update call to hppaelf_delete_padding_statements for above changes. (hppaelf_before_parse): Prototype. (hppaelf_set_output_arch): Prototype. (hppaelf_create_output_section_statements): Prototype. (hppaelf_delete_padding_statements): Prototype. (hppaelf_finish): Prototype. Merge from elf32.em * emultempl/hppaelf.em: Include ctype.h. (struct orphan_save): New. (gld${EMULATION_NAME}_place_orphan): New. (output_rel_find): New. (hppaelf_get_script): Update from elf32.em. (ld_hppaelf_emulation): Rename to ld_${EMULATION_NAME}_emulation. Change emulation_name field to "${EMULATION_NAME}". Add gld${EMULATION_NAME}_place_orphan. * Makefile.am (ALL_EMULATIONS): Reinstate ehppaelf.o, add ehppalinux.o, sort it. Regenerate dependencies. (ehppalinux.c): Depend on hppaelf.em * Makefile.in: Regenerate. * configure.tgt: targ_emul=hppalinux for hppa*linux * emulparams/hppalinux.sh: New. * emulparams/hppaelf.sh (TARGET_PAGE_SIZE): Write in hex. 2000-07-08 Alan Modra * lexsup.c (parse_args): Copy section name. 2000-07-07 Charles Wilson * emultempl/pe.em: institute the following search order for dynamic libraries on pei386: libfoo.dll.a, foo.dll.a (import libs), libfoo.dll, foo.dll (link direct to dll). Fall back to static lib (libfoo.a) if none of the above are found. 2000-07-07 Mumit Khan * emultempl/pe.em (pe_enable_auto_image_base): New variable. (longopts): New --{enable,disable}-auto-image-base options. (gld_${EMULATION_NAME}_list_options): Document. (gld_${EMULATION_NAME}_parse): Handle. (strhash): New static function. (compute_dll_image_base): New static function. (gld_${EMULATION_NAME}_set_symbols): Use. 2000-07-05 DJ Delorie * MAINTAINERS: new 2000-07-01 Koundinya K * configure.tgt: Add traditional mips (mips*-*-sysv4*) target. * emulparams/elf32btsmip.sh: New file. * Makefile.am: Add traditional mips target. * Makefile.in: Rebuild. 2000-07-01 H.J. Lu * Makefile.am (EXTRA_ld_new_SOURCES): Set to deffilep.y for automake to use YLWRAP. * Makefile.in: Rebuild. 2000-07-01 Alan Modra * Makefile.am (DEP): Fix 2000-06-22. grep after running dep.sed (CLEANFILES): Add DEPA. * Makefile.in: Regenerate. 2000-06-30 Timothy Wall * scripttempl/tic54xcoff.sc: PAGE N is not implemented, so encode the page in the upper octet of the address. 2000-06-26 Marek Michalkiewicz * emulparams/avrmega161.sh (ARCH): Change to avr:5. 2000-06-24 Alan Modra * NEWS: arm-elf does --gc-sections too. 2000-06-22 Alan Modra * Makefile.am (DEP): grep for leading `/' in DEP1, and fail if we find one. * Makefile.in: Regenerate. 2000-06-21 H.J. Lu * Makefile.am: Rebuild dependency. * Makefile.in: Rebuild. 2000-06-20 H.J. Lu * Makefile.am: Rebuild dependency. * Makefile.in: Rebuild. 2000-06-20 Timothy Wall * scripttempl/tic54xcoff.sc: New. * ldlang.c (wild_doit): Propagate SEC_BLOCK flag. * gen-doc.texi: Add flag for TI COFF. * ld.texinfo: Add documentation for TI COFF handling switches. * emultempl/ticoff.em: New. TI COFF handling. * configure.tgt: Add tic54x target. * Makefile.am: Add tic54x target. * Makefile.in: Ditto. 2000-06-20 Alan Modra * ldmain.c (set_scripts_dir): Correct pointer comparison when checking for backslashes. 2000-06-19 Alan Modra * NEWS: Move entries not in 2.10 above "Changes in version 2.10". 2000-06-18 Alan Modra * NEWS: Update list of targets supporting --gc-sections. * scripttempl/elf.sc: KEEP .eh_frame contents. * scripttempl/elfd30v.sc: Same here. 2000-06-18 Stephane Carrez * Makefile.am (ALL_EMULATIONS): Added new emulation for m68hc12 and m68hc11 (elf). * Makefile.in: Rebuild. * configure.tgt: Recognize m68hc12 and m68hc11. * scripttempl/elfm68hc12.sc: New file. * emulparams/m68hc12elfb: New emulation. * emulparams/m68hc12elf: New emulation. * emulparams/m68hc11elfb.sh: New file. User configurable emulation (includes a memory.x script to define the ROM and RAM banks). * scripttempl/elfm68hc11.sc, emulparams/m68hc11elf.sh: New configuration files for support of Motorola 68hc11 2000-06-15 Alan Modra * ldmain.c (main): Only change SEC_READONLY for final link. 2000-06-13 H.J. Lu * configure: Regenerate. 2000-06-08 David O'Brien * configure.in (VERSION): Update to show this is the CVS mainline. 2000-06-07 Michael Sokolov * emultempl/mipsecoff.em (gld{EMULATION_NAME}_after_open): Require all input objects to be ECOFF. (check_sections): einfo takes %B, not %P, to print a BFD name. 2000-06-05 Michael Matz * ldgram.y (vers_defns): Handle 'extern "C++" { ... }' in version scripts. * ldlex.l (V_IDENTIFIER): Accept `::' in symbols. 2000-05-23 Marek Michalkiewicz * emulparams/avr1200.sh (STACK): Define as 0. * emulparams/avr23xx.sh (STACK): Define as last internal SRAM address. * emulparams/avr4433.sh (STACK): Likewise. * emulparams/avr44x4.sh (STACK): Likewise. * emulparams/avr85xx.sh (STACK): Likewise. * emulparams/avrmega103.sh (STACK): Likewise. * emulparams/avrmega161.sh (STACK): Likewise. * emulparams/avrmega603.sh (STACK): Likewise. * scripttempl/elf32avr.sc (__data_start): Define for gcrt1. (__stack): Define from ${STACK} for main(). 2000-05-26 Alan Modra * Makefile.am: Update dependencies with "make dep-am" * Makefile.in: Regenerate. 2000-05-26 Eli Zaretskii * ldmain.c: Include filenames.h. (set_scripts_dir): Support backslashes in program name. 2000-05-22 Igor Shevlyakov * ldmain.c (main): When deciding if ".text" section should be read-only, don't forget to reset SEC_READONLY because it could be already set. 2000-05-22 Thomas de Lellis * ld.1: Add documentation for new command line option: --section-start = This is a generic version of -Ttext etc. which accepts any section name as a parameter instead of just text/data/ bss. * ld.texinfo: More docs. * NEWS: More docs. * lexsup.c: (parse_args): Recognize new command line option. (ld_options): Add new option. 2000-05-18 H.J. Lu * lexsup.c (parse_args): `i' == `r', not `q'. Thu May 18 10:47:57 2000 Jeffrey A Law (law@cygnus.com) * configure.tgt (hppa*64*-*-*): Enable PA64 target. 2000-05-17 S. Bharadwaj Yadavalli Rick Gorton Add support for '-q' == '--emit-relocs' switch. * ldmain.c (main): Default to false. * lexsup.c (parse_args): Turn on emitrelocations flag if set. * NEWS: Describe the emitrelocations switch. * ld.texinfo: Describe the emitrelocations switch. 2000-05-16 Charles Wilson * emultempl/pe.em (_open_dynamic_archive): New function: Search the library path for "foo.dll" and "libfoo.dll" dynamic libraries before searching for 'libfoo.a' in response to a '-Bdynamic -lfoo' link options. 2000-05-15 David O'Brien * lexsup.c (parse_args): Update the year in the copyright notice. 2000-05-13 Alan Modra * ld.h (gettext, dgettext, dcgettext, textdomain, bindtextdomain): Replace defines with those from intl/libgettext.h to quieten gcc warnings. 2000-05-10 H.J. Lu * ldlang.c (open_input_bfds): Don't load the same file within a group again if the whole archive has been loaded already. 2000-05-03 Alan Modra From Ulf Carlsson and Andreas Jaeger * lexsup.c (set_section_start): Use bfd_scan_vma rather than strtoul. Mon May 1 17:34:34 2000 Jim Wilson * configure.host (ia64-*-linux-gnu*): Change gcc to ${CC}. * configure.host: Added HOSTING_CRT0, HOSTING_LIBS for host "ia64-*-linux-gnu*". 2000-04-29 Andreas Jaeger * ld.h: Correctly check GCC version. Tue Apr 25 11:20:43 2000 Jeffrey A Law (law@cygnus.com) * Makefile.am: Add PA64 support. Add missing dependencies for PA32 elf support. * Makefile.in: Rebuilt. * configure.tgt: Add PA64 support (currently disabled). 2000-04-25 Alan Modra * emultempl/elf32.em (gld${EMULATION_NAME}_place_section): Delete. (output_rel_find): New function. (hold_section, hold_use): Delete. (hold_text, hold_rodata, hold_data, hold_bss, hold_rel, hold_interp): Make local to place_orphan. (gld${EMULATION_NAME}_place_orphan): Use lang_output_section_find rather than place_section to find possible previous use of orphan. Similarly find the place-holder output sections. Use returned value from lang_enter_output_section_statement rather than calling lang_output_section_statement_lookup. * emultempl/armelf.em: Same here. * emultempl/pe.em: Similar to above, but no need for output_rel_find. * ldlang.c (lang_enter_output_section_statement): Return output section statement. * ldlang.h (lang_enter_output_section_statement): Change declaration too. * ldlang.h (lang_output_section_statement): Export it. * ldlang.c (lang_output_section_statement): Ditto. 2000-04-24 Nick Clifton * ld.texinfo (Output Section Data): Add note that section data commands cannot appear outside of section directives. 2000-04-2 Matthew Green * configure.tgt: Add NetBSD/sparc ELF, and NetBSD/sparc64 support. Fri Apr 21 13:20:53 2000 Richard Henderson David Mosberger * Makefile.am (ALL_64_EMULATIONS): Add eelf64_ia64.o. (eelf64_ia64.c): New rule. * Makefile.in: Rebuild. * configure.tgt (ia64-*-elf*, ia64-*-linux*): New targets. * emulparams/elf64_ia64.sh: New file. 2000-04-21 Richard Henderson * scripttempl/elfd30v.sc: Place .gcc_except_table. 2000-04-19 Alan Modra * dep-in.sed: Match space at start of file name, not at end. 2000-04-18 H.J. Lu * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Call lang_leave_output_section_statement () after calling lang_enter_output_section_statement (). * emultempl/armelf.em: Likewise. 2000-04-18 Alan Modra * emultempl/elf32.em (struct orphan_save): Add section field. (gld${EMULATION_NAME}_place_orphan): Use above to keep sections in better order, and place first orphan section as we did before the 2000-04-12 patch. Ignore ~SEC_ALLOC sections when choosing place. Don't call make_bfd_section here, let wild_doit do the job for us. Don't build a statement list when we'll only throw it away. * emultempl/armelf.em: Ditto. * emultempl/pe.em: Similarly. 2000-04-14 Geoff Keating * scripttempl/elfppc.sc: Remove. * emulparams/elf32ppc.sh: Use elf.sc. * emulparams/elf32lppc.sh: Use elf.sc. * emulparams/elf32ppclinux.sh: Use elf.sc. * emulparams/elf32ppcsim.sh: New file. * emulparams/elf32lppcsim.sh: New file. * Makefile.am: Update dependencies. Add elf32ppcsim ad elf32lppcsim. (ALL_EMULATIONS): Add elf32ppcsim ad elf32lppcsim. * Makefile.in: Regenerate. * configure.tgt (powerpc-*): Add elf32ppcsim and elf32lppcsim. 2000-04-14 Alan Modra * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Process ~SEC_ALLOC sections too. Init start address of debug sections. * emultempl/armelf.em (gld${EMULATION_NAME}_place_orphan): Ditto. * emultempl/pe.em (gld${EMULATION_NAME}_place_orphan): Ditto. Also set all relocateable section start addresses. 2000-04-13 Geoff Keating * scripttempl/elf.sc: Add support for .sbss2 and .sdata2 sections. Add new BSS_PLT variable for when .plt need not be contained in the file. Move _etext so that it is also after .fini, and provide both etext and _etext with a leading underscore. Mark the start and end of .sbss. 2000-04-12 Alan Modra * emultempl/elf32.em (struct orphan_save): New. (hold_text, hold_rodata, hold_data, hold_bss, hold_rel, hold_interp): Make them struct orphan_save. (gld${EMULATION_NAME}_place_section): Modify for new hold_*. (gld${EMULATION_NAME}_place_orphan): Add new orphan sections to the end of the relevant section list. Also add associated section statements to the end of any previous orphan statements. * emultempl/armelf.em: Similarly. * emultempl/pe.em: Similarly. 2000-04-11 Alan Modra * ld.texinfo (Simple Example): Remove extraneous paragraph. Fri Apr 7 15:56:57 2000 Andrew Cagney * configure.in (WARN_CFLAGS): Set to -W -Wall by default. Add --enable-build-warnings option. * Makefile.am (AM_CFLAGS, WARN_CFLAGS): Add definitions. * Makefile.in, configure: Re-generate. 2000-04-04 Alan Modra * po/ld.pot: Regenerate. * lexsup.c (help): Restore translated part of bug string. * Makefile.am (MKDEP): Use gcc -MM rather than mkdep. (DEP): Quote when passing vars to sub-make. Add warning message to end. (DEP1): Rewrite for "gcc -MM". (CLEANFILES): Add DEP2. Update dependencies. * Makefile.in: Regenerate. 2000-04-03 Alan Modra * ld.h: #include "bin-bugs.h" * lexsup.c (help): Use REPORT_BUGS_TO. 2000-03-27 Denis Chertykov * configure.tgt (avr-*-*): New target support. * Makefile.am: Likewise. * scripttempl/elf32avr.sc: New script file. * emulparams/avr1200.sh: New file. * emulparams/avr23xx.sh: New file. * emulparams/avr4433.sh New file. * emulparams/avr44x4.sh New file. * emulparams/avr85xx.sh New file. * emulparams/avrmega103.sh New file. * emulparams/avrmega161.sh New file. * emulparams/avrmega603.sh New file. * Makefile.in: Regenerate. 2000-03-09 Andreas Jaeger * Makefile.am (check-DEJAGNU): Also unset LANG. * Makefile.in: Rebuild. 2000-03-06 Ian Lance Taylor * ldfile.c (ldfile_try_open_bfd): Don't crash if we see an empty archive. 2000-03-02 H.J. Lu * emulparams/elf32mcore.sh: Include "getopt.h". 2000-03-01 Ian Lance Taylor * configure.tgt: Remove *-*-aout, *-*-coff, and *-*-netware. 2000-03-01 H.J. Lu * emulparams/mipspe.sh: Add SUBSYSTEM and INITIAL_SYMBOL_CHAR. * emulparams/shpe.sh: Likewise. 2000-03-01 Nick Clifton * pe-dll.c: Remove unused variables and add ATTRIBUTE_UNUSED to unused parameters. * emultempl/pe.em: Add "#ifdef DLL_SUPPORT" around static functions only used by DLL code. (_place_orphan): Initialise 'dollar'. 2000-03-01 H.J. Lu * ldmain.c (undefined_symbol): Take one more arg, fatal, to indicate if the undefined symbol is a fatal error or not. Don't delete the output file if "fatal" is false. 2000-02-29 H.J. Lu * Makefile.am (check-DEJAGNU): Also pass LIBS="$(LIBS)". Set LC_COLLATE and LC_ALL to null and export them. It is for sort which expects the C locale. Add $(LIBS) to all $(HOSTING_LIBS). * Makefile.in: Rebuild. 2000-02-29 Alan Modra * emultempl/{aix.em, armcoff.em, armelf.em, armelf_oabi.em, beos.em, elf32.em, generic.em, gld960.em, gld960c.em, hppaelf.em, linux.em, lnk960.em, mipsecoff.em, sunos.em, vanilla.em} (ld_emulation_xfer_struct): Add missing NULL initialiser for find_potential_libraries. 2000-02-28 Jim Blandy * ldgram.y (exclude_name_list): Don't require a comma to separate list entries; the lexer considers commas to be valid part of a filename, so in something like `foo, bar' the comma is considered part of the first filename, `foo,'. * ld.texinfo: Update section on EXCLUDE_FILE lists. 2000-02-27 Loren J. Rittle * configure.host: Added HOSTING_CRT0, HOSTING_LIBS for host "i[3456]86-*-freebsdelf*". 2000-02-27 Mark Elbrecht * scripttempl/i386go32.sc: Move misplaced semicolons. 2000-02-25 Ian Lance Taylor * Makefile.am (ALL_EMULATIONS): Remove ehppaelf.o. (ALL_64_EMULATIONS): Remove eelf64hppa.o. (eelf64hppa.c, ehppaelf.c): Remove targets. * Makefile.in: Rebuild. 2000-02-25 Alexandre Oliva * configure.tgt (targ_extra_ofiles): Enable elf64_sparc on GNU/Linux/sparc, but keep the default as 32. * configure.tgt: Enable elf64_sparc on Solaris7+/sparc. And make it default if sparcv9 or sparc64. 2000-02-24 Nick Clifton * Makefile.am: Add rules to build emipspe.o and earmpe.o. * Makefile.in: Regenerate. * configure.tgt: Add targets for arm-wince, sh-pe and mips-pe. * ldemul.h (ld_emulation_xfer_struct): Add new field: find_potential_libraries. * ldemul.c (ldemul_find_potential_libraries): New function. * ldfile.c (ldfile_open_file_search): Allow function to be exported. (ldfile_open_file): Call ldemul_find_potential_libraries. * ldfile.h: Add prototype for ldfile_open_file_search. * pe-dll.c: Add support for ARM, MIPS and SH targets. * emulparams/mipspe.sh: New file. Parameters for mips-pe target. * emulparams/shpe.sh: New file. Parameters for sh-pe target. * emultempl/pe.em: Add support for ARM, MIPS and SH DLLs. (gld_X_find_potential_libraries): New function. Search for libraries called "*.lib". * scripttempl/pe.sc: Add .pdata section. 2000-02-23 Richard Henderson * scripttempl/elfd10v.sc: Remove dynamic linking hooks. Add and use memory regions. 2000-02-23 Linas Vepstas (linas@linas.org) * emulparams/elf32i370.sh, scripttempl/elfi370.sc: New. * Makefile.am: Add support for Linux/IBM 370. * configure.tgt: Likewise. * Makefile.in: Regenerate. 2000-02-21 Alan Modra * ldlang.c (print_input_section, print_data_statement, print_reloc_statement, print_padding_statement, insert_pad, size_input_section, lang_check_section_addresses, lang_size_sections, lang_do_assignments, lang_set_startof, lang_one_common): Change `opb' to unsigned. (lang_do_assignments): Also change `size' to unsigned. 2000-02-16 Richard Henderson * scripttempl/elf.sc: Place OTHER_PLT_RELOC_SECTION. 2000-02-16 Timothy Wall * mri.c (mri_draw_tree): Add default LMA region argument to call to lang_leave_output_section_statement. * ldlang.h: Update prototypes with LMA region arguments. * ldlang.c (lang_size_sections): Encapsulate region bounds checking in os_check_region call. (os_check_region): New function. (lang_output_section_statement_lookup): Initialize lma_region. (lang_leave_output_section_statement): Add LMA region argument. (lang_leave_overlay): Ditto. * ldgram.y: Handle LMA region syntax. * ld.texinfo (Output Section Description): Describe LMA region usage. * emultempl/armelf.em (gld$place_orphan): Add default value for lma region in call to lang_leave_output_section_statement. * emultempl/elf32.em (gld$place_orphan): Add default value for lma region in call to lang_leave_output_section_statement. * emultempl/pe.em (gld$place_orphan): Add default value for lma region in call to lang_leave_output_section_statement. 2000-02-04 Timothy Wall * ldlang.c (lang_check_section_addresses): Use bytes instead of octets when calculating section end addresses. 2000-02-04 Timothy Wall * ldlang.c (lang_size_sections): Fix typo in ALIGN_N invocation. 2000-02-03 Timothy Wall * ldexp.c (fold_name): Make SIZEOF operator return byte count, not octet count. * ldlang.c (print_input_section, print_data_statement, print_reloc_statement, print_padding_statement): Print target address values and section sizes as bytes, not octets. (insert_pad) Calculate padding size in octets, and adjust "dot" by bytes. (size_input_section) Always adjust "dot" by bytes, not octets. (lang_check_section_addresses, lang_do_assignments) Adjust "dot" by bytes, not octets. Use the larger of the directive size or octets_per_byte for the number of octets actually allocated in the output section. (lang_set_startof) Make sure STARTOF returns a target address. (lang_one_common) Record size changes in octets. (lang_abs_symbol_at_end_of) Section end symbol's value is recorded in target bytes. * ld.texinfo: Updated description of BYTE, SHORT, LONG, etc. to be clear about behavior when an octet is smaller than one byte. 2000-01-27 Alan Modra * ldcref.c (output_cref): Don't pass message strings to printf as format arg. Update copyright. * ldmisc.c (vfinfo): Same here. Update copyright. 2000-01-23 Alan Modra * emultempl/{armcoff.em,armelf.em,armelf_oabi.em,beos.em, generic.em,gld960.em,gld960c.em,hppaelf.em,linux.em,lnk960.em, mipsecoff.em,sunos.em,vanilla.em} (ld_emulation_xfer_struct): Add missing NULL initialisers, and comments. * testsuite/ld-srec/sr3.cc (__rethrow): New. 2000-01-21 Nick Clifton * ldlang.c (lang_size_sections): Fix typo in comment. 2000-01-18 H.J. Lu * ldlang.c (lang_size_sections): Also update the current address of a region if the SEC_NEVER_LOAD bit is not set. 2000-01-10 Philip Blundell * configure.tgt (arm*-*-conix*): New target. 2000-01-07 Nick Clifton * ld.texinfo (Options): Remind users to preceed linker command line switches with -Wl, (or whatever is appropriate) if it is being invoked by a comnpiler driver program. Fix description of the behaviour of the -n command line switch. Wed Jan 5 08:02:12 2000 Catherine Moore * ld.h (wildcard_spec): Change exclude_name to exclude_name_list. (name_list): New. * ld.texinfo (EXCLUDE_FILE): Update documentation. * ldgram.y (wildcard_spec): Support a list of excluded_files. (exclude_name_list): New. ldlang.c (walk_wild_section): Support list of excluded files. (print_wild_statement): Likewise. (lang_add_wild): Likewise. * ldlang.h (lang_wild_statement_type): Likewise. * scripttempl/elf.sc (OTHER_EXCLUDE_FILES): Support. 2000-01-04 Mumit Khan * pe-dll.c (pe_dll_warn_dup_exports): New variable. (process_def_file): Use. (pe_dll_compat_implib): New variable. (make_one): Use. * pe-dll.h: Add exports of pe_dll_warn_dup_exports and pe_dll_compat_implib. * emultempl/pe.em (longopts): Add warn-duplicate-exports and compat-implib options. (gld_${EMULATION_NAME}_list_options): List new options. (gld_${EMULATION_NAME}_parse_args): Handle. * pe-dll.c (pe_dll_generate_implib): Use the correct name for output dll. * deffilep.y (opt_name): Allow "." in name. For older changes see ChangeLog-9899 Local Variables: mode: change-log left-margin: 8 fill-column: 74 version-control: never End: