aboutsummaryrefslogtreecommitdiff
path: root/ld/ld.texinfo
AgeCommit message (Collapse)AuthorFilesLines
2008-01-11ld:Tristan Gingold1-2/+6
2008-01-11 Tristan Gingold <gingold@adacore.com> Eric Botcazou <ebotcazou@adacore.com> * ldlang.c (lang_end): Warns if the entry point is not found when --gc-sections. Emit an error if no root is specified when --gc-sections -r. * ld.texinfo (Options): Document that --gc-sections is compatible with -r and -q. * ldmain.c (main): Do not error out if -r and --gc-sections. * scripttempl/elf.sc: Emit ENTRY command only if relocating. ld/testsuite: 2008-01-11 Tristan Gingold <gingold@adacore.com> * lib/ld-lib.exp (check_gc_sections_available): Now available on VxWorks. * ld-gc: New directory for testing --gc-sections. * ld-gc/gc.c: New file. * ld-gc/gc.exp: New file. * ld-gc/noent.s: New file. * ld-gc/noent.d: New file.
2008-01-10 * ld.texinfo (--gc-sections): Describe linker behaviour.Alan Modra1-0/+10
2007-10-01PR linker/4844Nick Clifton1-5/+11
* genscript.sh: Add support for generating a .xa script for use with the --auto-import option. * ld.texinfo: Document the new behaviour of the --auto-import option. * ldint.texinfo: Document new script generation. * emulparams/i386pe.sh (GENERATE_AUTO_IMPORT): Define. * emulparams/i386pe_posix.sh (GENERATE_AUTO_IMPORT): Define. * emulparams/i386pep.sh (GENERATE_AUTO_IMPORT): Define. * emultemp/pe.em (..._get_script): Support the use of the auto import script. * scripttempl/pe.sc: Put the .rdata input sections into the .data output section when creating an auto import script. * scripttempl/pep.sc: Likewise.
2007-08-18 * ld.texinfo (Input Section Basics): Correct EXCLUDE_FILE example.Alan Modra1-1/+1
2007-07-25PR 4824Nick Clifton1-1/+5
* ld.texinfo (Options): Extend the description of the -O command line option.
2007-07-132007-07-13 Roland McGrath <roland@redhat.com>Roland McGrath1-12/+14
* emultempl/elf32.em (struct build_id_info): New type. (gld${EMULATION_NAME}_id_note_section_size): New function. (gld${EMULATION_NAME}_write_build_id_section): New function. (gld${EMULATION_NAME}_after_open): Use them. (DEFAULT_BUILD_ID_STYLE): Change to "sha1". * ld.texinfo (Options): Mention --build-id=sha1.
2007-07-092007-07-09 Roland McGrath <roland@redhat.com>Roland McGrath1-123/+145
* emultempl/elf32.em (gld${EMULATION_NAME}_add_option): Add --build-id. (gld${EMULATION_NAME}_handle_option): Handle --build-id. (gld${EMULATION_NAME}_list_options): List --build-id. (gld${EMULATION_NAME}_after_open): If --build-id was given, synthesize a ".note.gnu.build-id" section and cache it in elf_tdata. * ld.texinfo (Options): Describe --build-id. * NEWS: Mention --build-id.
2007-07-052007-07-05 Danny Smith <dannysmith@users.sourceforge.net>Danny Smith1-4/+4
* ld.texinfo (--heap): Replace 'amount' with 'number of bytes'. (--stack): Likewise. 2007-07-03 Matthias Klose <doko@ubuntu.com> * emultempl/spuelf.em (base_name): Correct backslash quoting. 2007-07-02 Alan Modra <amodra@bigpond.net.au> * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * config.in: Regenerate. * po/ld.pot: Regenerate. 2007-06-30 H.J. Lu <hongjiu.lu@intel.com> * aclocal.m4: Regenerated. * Makefile.in: Likewise. 2007-06-29 H.J. Lu <hongjiu.lu@intel.com> * NEWS: Remove a line with '*' only. 2007-06-29 Joseph Myers <joseph@codesourcery.com> * emulparams/armelf.sh (OTHER_SECTIONS): Remove .ARM.attributes. (ATTRS_SECTIONS): Define. * scripttempl/elf.sc, scripttempl/elf32sh-symbian.sc, scripttempl/elf_chaos.sc, scripttempl/elfi370.sc, scripttempl/elfxtensa.sc: Handle ATTRS_SECTIONS. 2006-06-29 M R Swami Reddy <MR.Swami.Reddy@nsc.com> * scripttemp/elf32cr16.sc: Default linker script. * emulparams/elf32cr16.sh: Emulation script. * emultempl/cr16elf.em: Emulation script. * Makefile.am: Add entry to make cr16 target. * Makefile.in: Regenerate. * configure.tgt: Specify default and other emulation parameters for cr16. * ChangeLog: Added CR16 target entry. * NEWS: Announce the support for the CR16 new target. 2007-06-27 Alan Modra <amodra@bigpond.net.au> * pe-dll.c: Rename uses of bfd.next to bfd.archive_next throughout. 2007-06-20 Alan Modra <amodra@bigpond.net.au> * emulparams/elf32_spu.sh (OTHER_SECTIONS): KEEP .note.spu_name. 2007-06-18 Nathan Sidwell <nathan@codesourcery.com> * ldlex.l, ldgram.y: Add ALIGNOF. * ldexp.c (exp_print_token, foldname): Likewise. * ld.texinfo: Likewise. 2007-06-18 Alan Modra <amodra@bigpond.net.au> * Makefile.am: Add eelf32_spu.o rule. * Makefile.in: Regenerate. * emultempl/spuelf.em: Revert last change. Instead use EMBEDSPU defined in Makefile for embedspu name. 2007-06-18 Alan Modra <amodra@bigpond.net.au> * emultempl/spuelf.em (embedded_spu_file): Deduce embedspu program name prefix from that of ld. 2007-06-14 H.J. Lu <hongjiu.lu@intel.com> * Makefile.am (ACLOCAL_AMFLAGS): Add -I ../config -I ../bfd. * acinclude.m4: Removed. * Makefile.in: Regenerated. * aclocal.m4: Likewise. * configure: Likewise. 2007-06-14 Alan Modra <amodra@bigpond.net.au> * emultempl/spu_ovl.S: Don't trash lr on tail call from one overlay to another. * emultempl/spu_ovl.o: Regenerate. 2007-06-11 Bob Wilson <bob.wilson@acm.org> * emulparams/elf32xtensa.sh (OTHER_READONLY_SECTIONS): Add ONLY_IF_RO for .xt_except_table. (OTHER_RELRO_SECTIONS): New. 2007-06-11 Sterling Augustine <sterling@tensilica.com> Bob Wilson <bob.wilson@acm.org> * emultempl/xtensaelf.em (replace_insn_sec_with_prop_sec): Use renamed XTENSA_PROP_NO_TRANSFORM flag instead of XTENSA_PROP_INSN_NO_TRANSFORM. 2007-06-01 Noah Misch <noah@cs.caltech.edu> Alan Modra <amodra@bigpond.net.au> * ldlang.c (ldlang_add_file): Use input_bfds_tail. * ldmain.c (main): Init input_bfds_tail. Sort link_info initialization. 2007-05-29 Alan Modra <amodra@bigpond.net.au> * emultempl/spuelf.em (base_name): New function, split out from.. (embedded_spu_file) ..here. Pass -fPIC or -fpie to embedspu invocation if we deduce a shared lib or position independent executable build by looking at ctrbegin* linker input files. 2007-05-29 Alan Modra <amodra@bigpond.net.au> * emultempl/spu_ovl.S (__rv_pattern, __cg_pattern): Set symbol types and sizes. * emultempl/spu_ovl.o: Regenerate. 2007-05-24 Steve Ellcey <sje@cup.hp.com> * Makefile.in: Regnerate. * configure: Regenerate. * aclocal.m4: Regenerate. 2007-05-24 Nathan Sidwell <nathan@codesourcery.com> * ldlex.l: ASSERT is recognized in SCRIPT env. NAMES cannot contain commas in EXP env. * ldgram.y (extern_name_list): Push to EXP env, move body to ... (extern_name_list_body): ... here. (script_file, ifile_list): Reformat. (statement): Add ASSERT. 2007-05-22 Nick Clifton <nickc@redhat.com> * ld.texinfo: Use @copying around the copyright notice. * ldint.texinfo: Likewise. 2007-05-18 Richard Sandiford <richard@codesourcery.com> * emulparams/elf32ebmipvxworks.sh (OTHER_READONLY_SECTIONS) (OTHER_READWRITE_SECTIONS): Define. Add .rdata sections. 2007-05-16 Richard Sandiford <richard@codesourcery.com> * configure.in: Allow sysroots to be relocated under $prefix as well as $exec_prefix. * configure: Regenerate. 2007-05-14 Andreas Schwab <schwab@suse.de> * emultempl/ppc64elf.em (gld${EMULATION_NAME}_new_vers_pattern): Handle null pattern. 2007-05-11 Alan Modra <amodra@bigpond.net.au> * emultempl/ppc32elf.em (plt_style): New variable. (old_plt): Delete. (ppc_after_open): Adjust ppc_elf_select_plt_layout call. (PARSE_AND_LIST_PROLOGUE): Define OPTION_NEW_PLT, renumber OPTION_OLD_PLT, OPTION_OLD_GOT and OPTION_STUBSYMS. (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add secure-plt. (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_NEW_PLT. * ld.texinfo (--secure-plt): Document. 2007-05-08 Alan Modra <amodra@bigpond.net.au> * ld.h (args_type, ld_config_type): Reorder fields. * ldmain.c (main): Don't initialise a bunch of vars we know are zero already. 2007-05-05 Anatoly Sokolov <aesok@post.ru> * multempl/avrelf.em (PARSE_AND_LIST_ARGS_CASES): Add new value for "--pmem-wrap-around". (PARSE_AND_LIST_OPTIONS): Describe new value for "--pmem-wrap-around". 2007-05-03 Bob Wilson <bob.wilson@acm.org> * scripttempl/elfxtensa.sc: Merge changes from elf.sc. 2007-05-03 Alan Modra <amodra@bigpond.net.au> * ld.texinfo (--no-warn-search-mismatch): Document. * ldfile.c (ldfile_try_open_bfd): Don't warn about skipping incompatible libraries if --no-warn-search-mismatch. * ld.h (args_type): Add warn_search_mismatch. * ldmain.c (main): Init it. * lexsup.c (enum option_values): Add OPTION_NO_WARN_SEARCH_MISMATCH. (ld_options): Add entry for --no-warn-search-mismatch. (parse_args): Handle OPTION_NO_WARN_SEARCH_MISMATCH. 2007-05-03 Alan Modra <amodra@bigpond.net.au> * scripttempl/elf.sc: Add .debug_pubtypes and .debug_ranges. 2007-05-01 Robert Millan <rmh@aybabtu.com> * ldlang.c (lang_check): Error on architecture mismatch. 2007-04-30 Alan Modra <amodra@bigpond.net.au> * ldmain.c (link_callbacks): Init info and minfo fields. * ldmisc.c (minfo): Do nothing if no map file. * emultempl/spuelf.em (stack_analysis, emit_stack_syms): New vars. (spu_after_open): Adjust spu_elf_create_sections call. (spu_before_allocation): Likewise for spu_elf_size_stubs. (OPTION_SPU_STACK_ANALYSIS, OPTION_SPU_STACK_SYMS): Define. (PARSE_AND_LIST_LONGOPTS): Add new entries. (PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Likewise. * gen-doc.texi: Add @set for SPU and other missing targets. * ld.texinfo: Update man page selection to match gen-doc.texi. Document SPU features. 2007-04-28 Alan Modra <amodra@bigpond.net.au> * ldcref.c (struct cref_hash_entry): Make "demangled" const. (cref_fill_array): Adjust for changed demangler. * ldlang.c (lang_one_common): Likewise. 2007-04-27 Nathan Froyd <froydnj@codesourcery.com> * emulparams/elf32_sparc.sh: Update comments. * emulparams/elf32bmip.sh: Likewise. * emulparams/elf32ppc.sh: Likewise. * emulparams/vxworks.sh: Likewise. 2007-04-27 Alan Modra <amodra@bigpond.net.au> Many files: Include sysdep.h first. Remove duplicate headers. * Makefile.am: Run "make dep-am". * Makefile.in: Regenerate. 2007-04-24 Alan Modra <amodra@bigpond.net.au> * Makefile.in: Regenerate. 2007-04-19 Alan Modra <amodra@bigpond.net.au> * ldcref.c (cref_fill_array): Call bfd_demangle rather than demangle. * ldlang.c (lang_one_common): Likewise. * ldmisc.c (vfinfo): Likewise. (demangle): Delete. * ldmisc.h (demangle): Delete. * Makefile.am: Run "make dep-am". * Makefile.in: Regenerate. 2007-04-18 Alan Modra <amodra@bigpond.net.au> * ldlang.h (enum section_type): Add overlay_section. * ldlang.c (lang_add_section): Handle flags for overlay_section as per normal_section. (lang_size_sections_1): When setting lma, detect overlays by os->sectype rather than by looking for overlapping vmas. (lang_enter_overlay_section): Use overlay_section type. (lang_leave_overlay): Set first overlay section to normal. 2007-04-14 Steve Ellcey <sje@cup.hp.com> * Makefile.am: Add ACLOCAL_AMFLAGS. * Makefile.in: Regenerate. 2007-04-12 Bob Wilson <bob.wilson@acm.org> * emulparams/elf32xtensa.sh (OTHER_SECTIONS): KEEP property sections. 2007-04-10 Richard Henderson <rth@redhat.com> * ldlang.c (relax_sections): Initialize and increment link_info.relax_trip. 2007-04-04 Paul Brook <paul@codesourcery.com> * configure.tgt: Loosen checks for arm uclinux eabi targets. 2007-04-02 H.J. Lu <hongjiu.lu@intel.com> PR ld/4090 * ldexp.h (node_type): Add lineno. * ldexp.c: Include "ldlex.h". (exp_intop): Set the lineno field from lineno. (exp_bigintop): Likewise. (exp_relop): Likewise. (exp_nameop): Likewise. (exp_binop): Set the lineno field from lineno of lhs. (exp_trinop): Likewise. (exp_unop): Set the lineno field from lineno of child. (exp_assop): Set the lineno field from lineno of src. (exp_provide): Likewise. (exp_assert): Set the lineno field from lineno of exp. (exp_get_abs_int): Set lineno from lineno of nonconstant expression when report problem. 2007-03-29 Richard Sandiford <richard@codesourcery.com> Daniel Jacobowitz <dan@codesourcery.com> * NEWS: Mention -l:foo. * ld.texinfo: Document it. * ldlang.c (new_afile): If a lang_input_file_is_l_enum entry as a name beginning with a coloh, convert it to a lang_input_file_is_search_file_enum entry without the colon. 2007-03-28 Richard Sandiford <richard@codesourcery.com> * ld.h (ld_config_type): Add rpath_separator. * ldmain.c (main): Initialize it. * lexsup.c (parse_args): Honor config.rpath_separator. * emultempl/elf32.em (gld${EMULATION_NAME}_search_needed): Likewise. (gld${EMULATION_NAME}_add_sysroot): Likewise. (gld${EMULATION_NAME}_parse_ld_so_conf): Use config.rpath_separator rather than ':' when building the path. * emultempl/vxworks.em (vxworks_before_parse): New function. Override config.rpath_separator. (LDEMUL_AFTER_OPEN): Do not change if EXTRA_EM_FILE has been set to gld${EMULATION_NAME}_after_open; #define that identifier to vxworks_foo instead. (LDEMUL_BEFORE_PARSE): Override in the same way as LDEMUL_AFTER_OPEN. 2007-03-28 Richard Sandiford <richard@codesourcery.com> Phil Edwards <phil@codesourcery.com> * ld.texinfo: Put the contents after the title page rather than at the end of the document. 2007-03-26 Alan Modra <amodra@bigpond.net.au> * Makefile.am: Add dependency on ldemul-list.h for powerpc and spu target emul files. * configure.in: Check for mkstemp and waitpid. * Makefile.in: Regenerate. * configure: Regenerate. * config.in: Regenerate. * ldlang.c (input_file_chain): Make global. (lang_add_input_file): Don't set lang_has_input_file here. * ldlang.h (input_file_chain): Declare. * emultempl/ppc32elf.em (ppc_recognized_file): New function. (LDEMUL_RECOGNIZED_FILE): Define. * emultempl/ppc64elf.em (ppc64_recognized_file): New function. (LDEMUL_RECOGNIZED_FILE): Define. * emultempl/spuelf.em (struct tflist): New. (tmp_file_list): New var. (clean_tmp, embedded_spu_file): New functions. 2007-03-24 Alan Modra <amodra@bigpond.net.au> * ldlang.c (lang_insert_orphan): Provide start/stop loadaddr syms rather than defining unconditionally. (lang_leave_overlay_section): Likewise. * ld.texinfo (Overlay Description): Update description and examples for start/stop syms. 2007-03-22 Joseph Myers <joseph@codesourcery.com> * ld.texinfo: Include VERSION_PACKAGE when reporting version. 2007-03-20 Paul Brook <paul@codesourcery.com> * emultempl/armelf.em (pic_veneer): New variable. (PARSE_AND_LIST_PROLOGUE): Add OPTION_PIC_VENEER. (PARSE_AND_LIST_ARGS_CASES): Ditto. (PARSE_AND_LIST_LONGOPTS): Add "pic-veneer". (PARSE_AND_LIST_OPTIONS): Ditto. * ld.texinfo: Document --pic-veneer. 2007-03-18 Mark Shinwell <shinwell@codesourcery.com> * ld.texinfo: Document --no-enum-size-warning. * emultempl/armelf.em (no_enum_size_warning): New. (arm_elf_create_output_section_statements): Correct typo in comment. Pass no_enum_size_warning to bfd_elf32_arm_set_target_relocs. (PARSE_AND_LIST_PROLOGUE): Define OPTION_NO_ENUM_SIZE_WARNING. (PARSE_AND_LIST_OPTIONS): Document --no-enum-size-warning. (PARSE_AND_LIST_ARGS_CASES): Add OPTION_NO_ENUM_SIZE_WARNING case. 2007-03-19 Bernd Schmidt <bernd.schmidt@analog.com> * configure.tgt (bfin-*-elf, bfin-*-uclinux*): Add targ_extra_libpath. (bfin-*-linux-uclibc*): New target. 2007-03-16 Kai Tietz <Kai.Tietz@onevision.com> * pe-dll.c (make_one): Use pc-relative relocation instead of an absolute relocation for x86_64-pc-mingw32 target. 2007-03-15 H.J. Lu <hongjiu.lu@intel.com> * Makefile.am (ld_TEXINFOS): Remove ldver.texi. (AM_MAKEINFOFLAGS): Add -I ../../bfd/doc. (TEXI2DVI): Likewise. (REPORT_BUGS_TO): Removed. (INCLUDES): Remove -DREPORT_BUGS_TO. (ldver.texi): Likewise. (ld.1): Don't depend on ldver.texi. (MOSTLYCLEANFILES): Remove ldver.texi. * Makefile.in: Regenerated. * configure.in (--with-bugurl): Removed. * configure: Regenerated. * lexsup.c: Include bfdver.h. * ld.texinfo: Include bfdver.texi instead of ldver.texi. 2007-03-11 Hans-Peter Nilsson <hp@bitrange.com> * emultempl/mmixelf.em: Remove incorrect '#line' directive. 2007-03-08 Alan Modra <amodra@bigpond.net.au> * ldlang.c (lang_size_sections_1): Correct backwards dot move test to not trigger on overlays. Only warn on backwards move if non-default lma. 2007-03-07 Joseph Myers <joseph@codesourcery.com> * configure.in (REPORT_BUGS_TEXI): Define to Texinfo version of bug-reporting URL. * Makefile.am (ldver.texi): Define BUGURL. * ld.texinfo: Use BUGURL. * Makefile.in, configure: Regenerate. 2007-03-07 Nick Clifton <nickc@redhat.com> PR ld/4023 * emultempl/aix.em (..._before_allocation): Strip sysroot prefix from any paths being inserted into the output binary's DT_RPATH. 2007-03-02 Nathan Sidwell <nathan@codesourcery.com> * emulparams/shelf_uclinux.sh: New. Missed in 2007-02-28 commit. 2007-03-01 Joseph Myers <joseph@codesourcery.com> * ldver.c (ldversion): Remove word "version" from output. Update copyright date. 2007-02-28 Nathan Sidwell <nathan@codesourcery.com> * Makefile.am (ALL_EMULATIONS): Add eshelf_uclinux.o (eshelf_uclinux.c): New target. * Makefile.in: Rebuilt. * configure.tgt (sh-*-uclinux* | sh[12]-*-uclinux*): New stanza. * emulparams/shelf_uclinux.sh: New. 2007-02-28 Alan Modra <amodra@bigpond.net.au> * configure.tgt: Fix type last change. * configure.tgt (spu-*-elf*): Delete targ_extra_ofiles. 2007-02-27 Alan Modra <amodra@bigpond.net.au> * Makefile.am (ALL_EMUL_EXTRA_OFILES): Remove spu_inc.o. (eelf32_spu.c): Adjust dependencies. * Makefile.in: Regenerate. * emultempl/spuelf.em (ovl_mgr): New array. Insert spu_ovl.o code using bin2c. (_binary_spu_ovl_o_start, _binary_spu_ovl_o_end): Delete. (ovl_mgr_stream): Update. * emultempl/spu_inc.s: Delete. * emultempl/spu_none.s: Delete. 2007-02-26 Alan Modra <amodra@bigpond.net.au> * emultempl/spuelf.em (_binary_builtin_ovl_mgr_start): Rename to _binary_spu_ovl_o_start. (_binary_builtin_ovl_mgr_end): Rename to _binary_spu_ovl_o_end. (spu_elf_load_ovl_mgr): Fatal error on missing overlay manager. * emultempl/spu_inc.s: Rename symbols. * emultempl/spu_none.s: New file. * emultempl/spu_ovl.S: Update copyright. * Makefile.am (spu_inc.o): Try building with ld -r first, then gas incbin, then build without overlay manager. * Makefile.in: Regenerate. 2007-02-22 Joseph Myers <joseph@codesourcery.com> * configure.tgt (mips64*el-*-linux-*, mips64*-*-linux-*, mips*el-*-linux-*, mips*-*-linux-*): Set targ_extra_libpath=$targ_extra_emuls. 2007-02-21 Nick Clifton <nickc@redhat.com> * ldlang.c (ldlang_override_segment_assignment): New function. * ldlang.h (ldlang_override_segment_assignment): Prototype. * ldmain.c (link_callbacks): Add ldlang_override_segment_assignment. 2007-02-20 Alan Modra <amodra@bigpond.net.au> * ldexp.c (fold_name <LOADADDR>): Ensure result is always absolute. 2007-02-17 Mark Mitchell <mark@codesourcery.com> Nathan Sidwell <nathan@codesourcery.com> Vladimir Prus <vladimir@codesourcery.com Joseph Myers <joseph@codesourcery.com> * configure.in (--with-bugurl): New option. * configure: Regenerate. * Makefile.am (REPORT_BUGS_TO): Define. (INCLUDES): Define REPORT_BUGS_TO. Regenerate dependencies. * Makefile.in: Regenerate. * ld.h: Remove include of bin-bugs.h. * lexsup.c (help): Don't print empty REPORT_BUGS_TO. 2007-02-17 Alan Modra <amodra@bigpond.net.au> * ldcref.c (check_reloc_refs): Compare section for local syms. 2007-02-13 Alan Modra <amodra@bigpond.net.au> * emultempl/spu_ovl.S (__ovly_return, __ovly_load): Set sym size. (__ovly_load_event): Define. (size): Rename to osize. * emultempl/spu_ovl.o: Regenerate. 2007-02-13 Alan Modra <amodra@bigpond.net.au> * emulparams/elf64ppc.sh (OTHER_READWRITE_SECTIONS): Add ".branch_lt". * emultempl/ppc64elf.em (ppc_add_stub_section): Create without SEC_RELOC flag set. 2007-02-09 H.J. Lu <hongjiu.lu@intel.com> * configure.in (targ_extra_emuls): Add $targ64_extra_emuls if want64 is true. (targ_extra_libpath): Add $targ64_extra_libpath if want64 is true * configure: Regenerated. * configure.tgt (targ_extra_libpath): Initialize. (targ64_extra_emuls): New. Document. Initialize. (targ64_extra_libpath): Likewise. (i[3-7]86-*-linux-*): Set targ64_extra_emuls and targ64_extra_libpath. (powerpc*-*-linux*): Likewise. (s390-*-linux*): Likewise. 2007-02-07 Paul Brook <paul@codesourcery.com> * configure.tgt: Add arm*-*-uclinux-*eabi. 2007-02-06 H.J. Lu <hongjiu.lu@intel.com> * ldlang.c (lang_size_sections_1): Add a missing `)'. 2007-02-06 Alan Modra <amodra@bigpond.net.au> PR ld/3966 * ldlang.c (lang_size_sections_1): Don't warn on backwards dot move unless section size is non-zero. 2007-02-05 Dave Brolley <brolley@redhat.com> * Makefile.am (ALL_EMULATIONS): Add support for Toshiba MeP. * configure.tgt: Likewise. * scripttempl/mep.sc: New file. * emulparams/elf32mep.sh: New file. * Makefile.in: Regenerate. 2006-01-29 Julian Brown <julian@codesourcery.com> * NEWS: Mention --vfp11-denorm-fix option. * ld.texinfo: Document above. * emulparams/armelf_linux.sh (OTHER_TEXT_SECTIONS): Add .vfp11_veneer section. * emulparams/armelf.sh (OTHER_TEXT_SECTIONS): Likewise. * emultempl/armelf.em (vfp11_denorm_fix): New static variable. (arm_elf_before_allocation): Call bfd_elf32_arm_set_vfp11_fix, bfd_elf32_arm_init_maps and bfd_elf32_arm_vfp11_erratum_scan. (arm_elf_after_allocation): New function. Call bfd_elf32_arm_vfp11_fix_veneer_locations for all input statements. (arm_elf_create_output_section_statements): Pass vfp11 fix command line option to BFD. (OPTION_VFP11_DENORM_FIX): New option. (PARSE_AND_LIST_LONGOPTS): Handle new option. (PARSE_AND_LIST_OPTIONS): Likewise. (PARSE_AND_LIST_ARGS_CASES): Likewise. (LDEMUL_AFTER_ALLOCATION): Define. 2007-01-24 H.J. Lu <hongjiu.lu@intel.com> * ldgram.y (SIZEOF_HEADERS): Remove duplicated one. (DEFSYMEND): Likewise. (NAME): Likewise. (LNAME): Likewise. 2007-01-19 Murali Vemulapati <murali.vemulapati@gmail.com> * pe-dll.c: (make_one) Conditionally include jump stubs. * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Identify redundant jump stubs from import libraries and exclude them from link. 2007-01-19 H.J. Lu <hongjiu.lu@intel.com> * ld.h (args_type): Add new symbolic and dynamic_list fields. * ld.texinfo: Update -Bsymbolic-functions. * ldmain.c (main): Initialize command_line.symbolic to symbolic_unset and command_line.dynamic_list to dynamic_list_unset. Check -Bsymbolic, -Bsymbolic-functions and --dynamic-list* before setting link_info.symbolic, link_info.dynamic and link_info.dynamic_data. * lexsup.c (option_values): Add OPTION_SYMBOLIC_FUNCTIONS. (ld_options): Use OPTION_SYMBOLIC_FUNCTIONS with -Bsymbolic-functions. (parse_args): Handle -Bsymbolic-functions. Don't set link_info.dynamic, link_info.dynamic_data and link_info.symbolic here. Set command_line.symbolic for -Bsymbolic. Set command_line.dynamic_list and command_line.symbolic for --dynamic-list-data, --dynamic-list-cpp-new, --dynamic-list-cpp-typeinfo and --dynamic-list. 2007-01-19 Jakub Jelinek <jakub@redhat.com> H.J. Lu <hongjiu.lu@intel.com> * emultempl/elf32.em (handle_option): Make sure -z max-page-size or -z common-page-size argument is a power of 2. Call bfd_emul_set_maxpagesize and bfd_emul_set_commonpagesize. 2007-01-19 H.J. Lu <hongjiu.lu@intel.com> * ldmain.c (main): Don't call bfd_emul_set_maxpagesize nor bfd_emul_set_commonpagesize. 2007-01-19 H.J. Lu <hongjiu.lu@intel.com> * NEWS: Mention --default-script/-dT. * ld.h (args_type): Add a default_script field. * ld.texinfo: Document --default-script/-dT. * ldmain.c (main): Handle command_line.default_script. * lexsup.c (option_values): Add OPTION_DEFAULT_SCRIPT. (ld_options): Add entries for --default-script and -dT. (parse_args): Handle --default-script/-dT. 2007-01-16 H.J. Lu <hongjiu.lu@intel.com> PR ld/3831 * NEWS: Mention -Bsymbolic-functions, --dynamic-list-data and --dynamic-list-cpp-new. * ld.texinfo: Document -Bsymbolic-functions, --dynamic-list-data and --dynamic-list-cpp-new. * ldlang.c (lang_append_dynamic_list_cpp_new): New. (lang_process): Change link_info.dynamic to link_info.dynamic_list. (lang_append_dynamic_list): Likewise. * ldmain.c (main): Likewise. Initialize link_info.dynamic and link_info.dynamic_data to FALSE. * ldlang.h (lang_append_dynamic_list_cpp_new): New. * lexsup.c (option_values): Add OPTION_DYNAMIC_LIST_DATA and OPTION_DYNAMIC_LIST_CPP_NEW. (ld_options): Add entries for -Bsymbolic-functions, --dynamic-list-data and --dynamic-list-cpp-new. Make -Bsymbolic-functions an alias of --dynamic-list-data. (parse_args): Change link_info.dynamic to link_info.dynamic_list. Set link_info.dynamic to TRUE for --dynamic-list and --dynamic-list-cpp-typeinfo. Handle --dynamic-list-data and --dynamic-list-cpp-new. 2007-01-11 Nathan Sidwell <nathan@codesourcery.com> * emultempl/elf-generic.em (gdl_map_segments): Only allow header shrinkage for the first few iterations. 2007-01-08 Kai Tietz <kai.tietz@onevision.com> * configure.tgt: Renamed target x86_64-*-mingw64 to x86_64-*-mingw*. 2007-01-08 Pedro Alves <pedro_alves@portugalmail.pt> * configure.host: Add i[3-7]86-*-mingw* case. 2007-01-08 Nick Clifton <nickc@redhat.com> * pep-dll.h (pep_bfd_is_dll): Add prototype. 2007-01-08 Aurelien Jarno <aurelien@aurel32.net> PR ld/3843 * configure.tgt (x86_64_[k]freebsd*): Add targ_extra_libpath and tdir_elf_i386_fbsd. 2007-01-06 Nathan Sidwell <nathan@codesourcery.com> * ldexp.c (fold_name): Issue error on undefined sections. 2007-01-02 Alan Modra <amodra@bigpond.net.au> * pe-dll.c: Include pe-dll.h. * pep-dll.c (pe_bfd_is_dll): Define. For older changes see ChangeLog-2006 Local Variables: mode: change-log left-margin: 8 fill-column: 74 version-control: never End:
2007-06-18 * ldlex.l, ldgram.y: Add ALIGNOF.Nathan Sidwell1-0/+19
* ldexp.c (exp_print_token, foldname): Likewise. * ld.texinfo: Likewise. ld/testsuite/ * ld-scripts/alignof.s: New. * ld-scripts/alignof.t: New * ld-scripts/alignof.exp: New.
2007-05-22Use @copying around copyright noticesNick Clifton1-12/+3
2007-05-11bfd/Alan Modra1-0/+8
* elf32-ppc.h (ppc_elf_select_plt_layout): Update prototype. (enum ppc_elf_plt_type): Move from.. * elf32-ppc.c: ..here. (struct ppc_elf_obj_tdata): Add makes_plt_call and has_rel16. (struct ppc_elf_link_hash_table): Reorder. Add old_bfd. Delete can_use_new_plt. Make is_vxworks a bitfield. (ppc_elf_link_hash_table_create): Don't clear is_vxworks (again). (ppc_elf_check_relocs): Update setting of reloc flags. Set old_bfd. (ppc_elf_select_plt_layout): Modify parameters. Use bfd reloc flags to better detect object files needing old bss-style plt. Allow secure plt to be used without rel16 relocs being detected. Warn if secure plt request cannot be allowed. ld/ * emultempl/ppc32elf.em (plt_style): New variable. (old_plt): Delete. (ppc_after_open): Adjust ppc_elf_select_plt_layout call. (PARSE_AND_LIST_PROLOGUE): Define OPTION_NEW_PLT, renumber OPTION_OLD_PLT, OPTION_OLD_GOT and OPTION_STUBSYMS. (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add secure-plt. (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_NEW_PLT. * ld.texinfo (--secure-plt): Document.
2007-05-03 * ld.texinfo (--no-warn-search-mismatch): Document.Alan Modra1-0/+5
* ldfile.c (ldfile_try_open_bfd): Don't warn about skipping incompatible libraries if --no-warn-search-mismatch. * ld.h (args_type): Add warn_search_mismatch. * ldmain.c (main): Init it. * lexsup.c (enum option_values): Add OPTION_NO_WARN_SEARCH_MISMATCH. (ld_options): Add entry for --no-warn-search-mismatch. (parse_args): Handle OPTION_NO_WARN_SEARCH_MISMATCH.
2007-04-30bfd/Alan Modra1-19/+91
* elf32-spu.c (struct spu_link_hash_table): Add stack_analysis and emit_stack_syms bitfields. (get_sym_h): Read all symbols if stack analysis will be done. (spu_elf_create_sections): Add stack_analysis and emit_stack_syms params, and stash in hash table. (is_hint): Split off from.. (is_branch): ..here. Adjust callers. (spu_elf_size_stubs): Add stack_analysis param. Arrange to read and keep all syms. (write_one_stub): Fix mem leak. (find_function_stack_adjust): New function. (sort_syms_syms, sort_syms_psecs): New vars. (sort_syms): New function. (struct call_info, struct function_info): New. (struct spu_elf_stack_info): New. (alloc_stack_info, maybe_insert_function, func_name): New functions. (is_nop, insns_at_end, check_function_ranges): Likewise. (find_function, insert_callee, mark_functions_via_relocs): Likewise. (pasted_function, interesting_section, discover_functions): Likewise. (mark_non_root, call_graph_traverse, build_call_tree): Likewise. (sum_stack, spu_elf_stack_analysis, spu_elf_final_link): Likewise. (bfd_elf32_bfd_final_link): Define. * elf32-spu.h (struct _spu_elf_section_data): Add stack_info field. (spu_elf_create_sections, spu_elf_size_stubs): Update prototypes. include/ * bfdlink.h (struct bfd_link_info): Add "info" and "minfo". ld/ * ldmain.c (link_callbacks): Init info and minfo fields. * ldmisc.c (minfo): Do nothing if no map file. * emultempl/spuelf.em (stack_analysis, emit_stack_syms): New vars. (spu_after_open): Adjust spu_elf_create_sections call. (spu_before_allocation): Likewise for spu_elf_size_stubs. (OPTION_SPU_STACK_ANALYSIS, OPTION_SPU_STACK_SYMS): Define. (PARSE_AND_LIST_LONGOPTS): Add new entries. (PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Likewise. * gen-doc.texi: Add @set for SPU and other missing targets. * ld.texinfo: Update man page selection to match gen-doc.texi. Document SPU features.
2007-03-29ld/Richard Sandiford1-13/+16
200x-xx-xx Richard Sandiford <richard@codesourcery.com> Daniel Jacobowitz <dan@codesourcery.com> * NEWS: Mention -l:foo. * ld.texinfo: Document it. * ldlang.c (new_afile): If a lang_input_file_is_l_enum entry as a name beginning with a coloh, convert it to a lang_input_file_is_search_file_enum entry without the colon. ld/testsuite/ * ld-libs/lib-1.s, ld-libs/lib-2.s, ld-libs/lib-2.d, * ld-libs/libs.exp: New files.
2007-03-28bfd/Richard Sandiford1-2/+1
200x-xx-xx Richard Sandiford <richard@codesourcery.com> Phil Edwards <phil@codesourcery.com> * doc/bfd.texinfo: Put the contents after the title page rather than at the end of the document. binutils/ 200x-xx-xx Richard Sandiford <richard@codesourcery.com> Phil Edwards <phil@codesourcery.com> * doc/binutils.texi: Put the contents after the title page rather than at the end of the document. gas/ 200x-xx-xx Richard Sandiford <richard@codesourcery.com> Phil Edwards <phil@codesourcery.com> * doc/as.texinfo: Put the contents after the title page rather than at the end of the document. gprof/ 200x-xx-xx Richard Sandiford <richard@codesourcery.com> Phil Edwards <phil@codesourcery.com> * gprof.texi: Put the contents after the title page rather than at the end of the document. ld/ 200x-xx-xx Richard Sandiford <richard@codesourcery.com> Phil Edwards <phil@codesourcery.com> * ld.texinfo: Put the contents after the title page rather than at the end of the document.
2007-03-24ld/Alan Modra1-6/+6
* ldlang.c (lang_insert_orphan): Provide start/stop loadaddr syms rather than defining unconditionally. (lang_leave_overlay_section): Likewise. * ld.texinfo (Overlay Description): Update description and examples for start/stop syms. ld/testsuite/ * ld-elf/overlay.d: -u symbols we want to see in the output.
2007-03-22bfd:Joseph Myers1-3/+14
* Makefile.am (bfdver.h): Only set VERSION_PACKAGE in bfdver.texi if nonempty. * configure.in (REPORT_BUGS_TO): Do not use "URL:" prefix. * Makefile.in, configure, doc/Makefile.in: Regenerate. binutils: * doc/binutils.texi: Include VERSION_PACKAGE when reporting version. gas: * doc/as.texinfo: Include VERSION_PACKAGE when reporting version. gprof: * Makefile.am (TEXI2POD): Include $(AM_MAKEINFOFLAGS). (AM_MAKEINFOFLAGS, TEXI2DVI): Define with -I ../bfd/doc. * Makefile.in: Regenerate. * gprof.texi: Include bfdver.texi. Report both VERSION_PACKAGE and VERSION. ld: * ld.texinfo: Include VERSION_PACKAGE when reporting version.
2007-03-202007-03-20 Paul Brook <paul@codesourcery.com>Paul Brook1-0/+7
ld/ * emultempl/armelf.em (pic_veneer): New variable. (PARSE_AND_LIST_PROLOGUE): Add OPTION_PIC_VENEER. (PARSE_AND_LIST_ARGS_CASES): Ditto. (PARSE_AND_LIST_LONGOPTS): Add "pic-veneer". (PARSE_AND_LIST_OPTIONS): Ditto. * ld.texinfo: Document --pic-veneer. ld/testsuite/ * ld-arm/arm-elf.exp (ld-arm/arm-elf.exp): Add arm-pic-veneer. * ld-arm/arm-pic-veneer.d: New test. * ld-arm/arm-pic-veneer.s: New test. bfd/ * bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype. * bfd-in2.h: Regenerate. * elf32-arm.c (elf32_arm_link_hash_table): Add pic_veneer. (record_arm_to_thumb_glue): Use globals->pic_veneer. (elf32_arm_create_thumb_stub): Ditto. (bfd_elf32_arm_set_target_relocs): Set globals->pic_veneer.
2007-03-20 bfd/Mark Shinwell1-0/+9
* bfd-in.h (bfd_elf32_arm_set_target_relocs): Add "bfd *" argument and extra last argument. * bfd-in2.h: Regenerate. * elf32-arm.c (elf32_arm_obj_tdata): Add no_enum_size_warning member. (bfd_elf32_arm_set_target_relocs): Add "bfd *" argument and extra last argument. Set no_enum_size_warning appropriately. (elf32_arm_merge_eabi_attributes): Improve enum sizes diagnostic, suppressing it when no_enum_size_warning dictates. ld/ * ld.texinfo: Document --no-enum-size-warning. * emultempl/armelf.em (no_enum_size_warning): New. (arm_elf_create_output_section_statements): Correct typo in comment. Pass no_enum_size_warning to bfd_elf32_arm_set_target_relocs. (PARSE_AND_LIST_PROLOGUE): Define OPTION_NO_ENUM_SIZE_WARNING. (PARSE_AND_LIST_OPTIONS): Document --no-enum-size-warning. (PARSE_AND_LIST_ARGS_CASES): Add OPTION_NO_ENUM_SIZE_WARNING case.
2007-03-15bfd/H.J. Lu1-1/+1
2007-03-15 H.J. Lu <hongjiu.lu@intel.com> * Makefile.am (bfdver.h): Substitute report_bugs_to. Also create doc/bfdver.texi. * Makefile.in: Regenerated. * configure.in (--with-bugurl): New option. * configure: Regenerated. * version.h (REPORT_BUGS_TO): New. binutils/ 2007-03-15 H.J. Lu <hongjiu.lu@intel.com> * Makefile.am (REPORT_BUGS_TO): Removed. (INCLUDES): Remove -DREPORT_BUGS_TO. * Makefile.in: Regenerated. * bucomm.c: Don't include bfdver.h. * objdump.c: Likewise. * version.c: Likewise. * bucomm.h: Include bfdver.h. * configure.in (--with-bugurl): Removed. * configure: Regenerated. * doc/Makefile.am (binutils_TEXINFOS): Removed. (AM_MAKEINFOFLAGS): Add -I ../../bfd/doc. (TEXI2DVI): Likewise. (config.texi): Removed. (MOSTLYCLEANFILES): Remove config.texi. * doc/Makefile.in: Regenerated. * doc/binutils.texi: Include bfdver.texi instead of config.texi. gas/ 2007-03-15 H.J. Lu <hongjiu.lu@intel.com> * Makefile.am (REPORT_BUGS_TO): Removed. (INCLUDES): Remove -DREPORT_BUGS_TO. * Makefile.in: Regenerated. * configure.in (--with-bugurl): Removed. * configure: Regenerated. * doc/Makefile.am (as_TEXINFOS): Remove gasver.texi. (AM_MAKEINFOFLAGS): Add -I ../../bfd/doc. (TEXI2DVI): Likewise. (gasver.texi): Removed. (MOSTLYCLEANFILES): Remove gasver.texi. (as.1): Don't depend on gasver.texi. * doc/Makefile.in: Regenerated. * doc/as.texi: Include bfdver.texi instead of gasver.texi. gprof/ 2007-03-15 H.J. Lu <hongjiu.lu@intel.com> * Makefile.am (REPORT_BUGS_TO): Removed. (INCLUDES): Remove -DREPORT_BUGS_TO. * Makefile.in: Regenerated. * configure.in (--with-bugurl): Removed. * configure: Regenerated. ld/ 2007-03-15 H.J. Lu <hongjiu.lu@intel.com> * Makefile.am (ld_TEXINFOS): Remove ldver.texi. (AM_MAKEINFOFLAGS): Add -I ../../bfd/doc. (TEXI2DVI): Likewise. (REPORT_BUGS_TO): Removed. (INCLUDES): Remove -DREPORT_BUGS_TO. (ldver.texi): Likewise. (ld.1): Don't depend on ldver.texi. (MOSTLYCLEANFILES): Remove ldver.texi. * Makefile.in: Regenerated. * configure.in (--with-bugurl): Removed. * configure: Regenerated. * lexsup.c: Include bfdver.h. * ld.texinfo: Include bfdver.texi instead of ldver.texi.
2007-03-07binutils:Joseph Myers1-4/+6
* configure.in (REPORT_BUGS_TEXI): Define to Texinfo version of bug-reporting URL. * doc/Makefile.am (config.texi): Define BUGURL. * doc/binutils.texi: Use BUGURL. Remove text about large files and uuencoding. * Makefile.in, configure, doc/Makefile.in: Regenerate. gas: * configure.in (REPORT_BUGS_TEXI): Define to Texinfo version of bug-reporting URL. * doc/Makefile.am (gasver.texi): Define BUGURL. * doc/as.texinfo: Use BUGURL. * Makefile.in, configure, doc/Makefile.in: Regenerate. ld: * configure.in (REPORT_BUGS_TEXI): Define to Texinfo version of bug-reporting URL. * Makefile.am (ldver.texi): Define BUGURL. * ld.texinfo: Use BUGURL. * Makefile.in, configure: Regenerate.
2007-01-29 * NEWS: Mention --vfp11-denorm-fix option.Julian Brown1-0/+30
* ld.texinfo: Document above. * emulparams/armelf_linux.sh (OTHER_TEXT_SECTIONS): Add .vfp11_veneer section. * emulparams/armelf.sh (OTHER_TEXT_SECTIONS): Likewise. * emultempl/armelf.em (vfp11_denorm_fix): New static variable. (arm_elf_before_allocation): Call bfd_elf32_arm_set_vfp11_fix, bfd_elf32_arm_init_maps and bfd_elf32_arm_vfp11_erratum_scan. (arm_elf_after_allocation): New function. Call bfd_elf32_arm_vfp11_fix_veneer_locations for all input statements. (arm_elf_create_output_section_statements): Pass vfp11 fix command line option to BFD. (OPTION_VFP11_DENORM_FIX): New option. (PARSE_AND_LIST_LONGOPTS): Handle new option. (PARSE_AND_LIST_OPTIONS): Likewise. (PARSE_AND_LIST_ARGS_CASES): Likewise. (LDEMUL_AFTER_ALLOCATION): Define.
2007-01-19ld/H.J. Lu1-1/+0
2007-01-19 H.J. Lu <hongjiu.lu@intel.com> * ld.h (args_type): Add new symbolic and dynamic_list fields. * ld.texinfo: Update -Bsymbolic-functions. * ldmain.c (main): Initialize command_line.symbolic to symbolic_unset and command_line.dynamic_list to dynamic_list_unset. Check -Bsymbolic, -Bsymbolic-functions and --dynamic-list* before setting link_info.symbolic, link_info.dynamic and link_info.dynamic_data. * lexsup.c (option_values): Add OPTION_SYMBOLIC_FUNCTIONS. (ld_options): Use OPTION_SYMBOLIC_FUNCTIONS with -Bsymbolic-functions. (parse_args): Handle -Bsymbolic-functions. Don't set link_info.dynamic, link_info.dynamic_data and link_info.symbolic here. Set command_line.symbolic for -Bsymbolic. Set command_line.dynamic_list and command_line.symbolic for --dynamic-list-data, --dynamic-list-cpp-new, --dynamic-list-cpp-typeinfo and --dynamic-list. ld/testsuite/ 2007-01-19 H.J. Lu <hongjiu.lu@intel.com> * ld-elf/dl6.c: New file. * ld-elf/dl6a.out: Likewise. * ld-elf/dl6amain.c: Likewise. * ld-elf/dl6b.out: Likewise. * ld-elf/dl6bmain.c: Likewise. * ld-elf/dl6cmain.c: Likewise. * ld-elf/dl6dmain.c: Likewise. * ld-elf/shared.exp: Add new tests for -Bsymbolic, -Bsymbolic-functions, --dynamic-list-data and --dynamic-list-cpp-new.
2007-01-19ld/H.J. Lu1-0/+16
2007-01-19 H.J. Lu <hongjiu.lu@intel.com> * NEWS: Mention --default-script/-dT. * ld.h (args_type): Add a default_script field. * ld.texinfo: Document --default-script/-dT. * ldmain.c (main): Handle command_line.default_script. * lexsup.c (option_values): Add OPTION_DEFAULT_SCRIPT. (ld_options): Add entries for --default-script and -dT. (parse_args): Handle --default-script/-dT. ld/testsuite/ 2007-01-19 H.J. Lu <hongjiu.lu@intel.com> * ld-scripts/default-script.exp: New file. * ld-scripts/default-script.s: Likewise. * ld-scripts/default-script.t: Likewise. * ld-scripts/default-script1.d: Likewise. * ld-scripts/default-script2.d: Likewise. * ld-scripts/default-script3.d: Likewise. * ld-scripts/default-script4.d: Likewise.
2007-01-16bfd/H.J. Lu1-0/+17
2007-01-16 H.J. Lu <hongjiu.lu@intel.com> PR ld/3831 * elf-bfd.h (bfd_elf_link_mark_dynamic_symbol): Add an argument, Elf_Internal_Sym *. * elflink.c (bfd_elf_link_mark_dynamic_symbol): Mark a data symbol dynamic if info->dynamic_data is TRUE. (bfd_elf_record_link_assignment): Updated call to bfd_elf_record_link_assignment. (_bfd_elf_merge_symbol): Likewise. Always call bfd_elf_link_mark_dynamic_symbol. include/ 2007-01-16 H.J. Lu <hongjiu.lu@intel.com> PR ld/3831 * bfdlink.h (bfd_link_info): Rename dynamic to dynamic_list. Add dynamic and dynamic_data. ld/ 2007-01-16 H.J. Lu <hongjiu.lu@intel.com> PR ld/3831 * NEWS: Mention -Bsymbolic-functions, --dynamic-list-data and --dynamic-list-cpp-new. * ld.texinfo: Document -Bsymbolic-functions, --dynamic-list-data and --dynamic-list-cpp-new. * ldlang.c (lang_append_dynamic_list_cpp_new): New. (lang_process): Change link_info.dynamic to link_info.dynamic_list. (lang_append_dynamic_list): Likewise. * ldmain.c (main): Likewise. Initialize link_info.dynamic and link_info.dynamic_data to FALSE. * ldlang.h (lang_append_dynamic_list_cpp_new): New. * lexsup.c (option_values): Add OPTION_DYNAMIC_LIST_DATA and OPTION_DYNAMIC_LIST_CPP_NEW. (ld_options): Add entries for -Bsymbolic-functions, --dynamic-list-data and --dynamic-list-cpp-new. Make -Bsymbolic-functions an alias of --dynamic-list-data. (parse_args): Change link_info.dynamic to link_info.dynamic_list. Set link_info.dynamic to TRUE for --dynamic-list and --dynamic-list-cpp-typeinfo. Handle --dynamic-list-data and --dynamic-list-cpp-new. ld/testsuite/ 2007-01-16 H.J. Lu <hongjiu.lu@intel.com> PR ld/3831 * ld-elf/del.cc: New. * ld-elf/dl5.cc: Likewise. * ld-elf/dl5.out: Likewise. * ld-elf/new.cc: Likewise. * ld-elf/shared.exp: Add tests for --dynamic-list-data and --dynamic-list-cpp-new.
2006-11-202006-11-20 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu1-1/+1
* ld.texinfo: Fix a typo.
2006-10-23 * ld.texinfo (Output Section Discarding): Fix xref.Alan Modra1-3/+3
2006-10-19Fix score bugsNick Clifton1-3/+3
2006-10-17bfd/Alan Modra1-10/+12
* elf-bfd.h (struct elf_link_hash_table): Reorder. Add text_index_section and data_index_section. (struct elf_backend_data): Add elf_backend_init_index_section. (_bfd_elf_init_1_index_section): Declare. (_bfd_elf_init_2_index_sections): Declare. * elfxx-target.h (elf_backend_init_index_section): Define. (elfNN_bed): Init new field. * elflink.c (_bfd_elf_link_omit_section_dynsym): Keep first tls section and text_index_section plus data_index_section. (_bfd_elf_link_renumber_dynsyms): Clear dynindx on omitted sections. (_bfd_elf_init_1_index_section): New function. (_bfd_elf_init_2_index_sections): New function. (bfd_elf_size_dynsym_hash_dynstr): Call elf_backend_init_index_section. (elf_link_input_bfd): When emitting relocs, use text_index_section and data_index_section for removed sections. * elf-m10300.c (elf_backend_omit_section_dynsym): Define. * elf32-i386.c: Likewise. * elf32-m32r.c: Likewise. * elf32-sh.c: Likewise. * elf32-xstormy16.c: Likewise. * elf32-xtensa.c: Likewise. * elf64-alpha.c: Likewise. * elf64-hppa.c: Likewise. * elf64-mmix.c: Likewise. * elf64-sh64.c: Likewise. * elfxx-ia64.c: Likewise. * elf32-arm.c (elf32_arm_final_link_relocate): Use text_index_section and data_index_section sym for relocs against sections with no dynamic section sym. (elf_backend_init_index_section): Define. * elf32-cris.c: Similarly. * elf32-hppa.c: Similarly. * elf32-i370.c: Similarly. * elf32-m68k.c: Similarly. * elf32-mips.c: Similarly. * elf32-ppc.c: Similarly. * elf32-s390.c: Similarly. * elf32-sparc.c: Similarly. * elf32-vax.c: Similarly. * elf64-mips.c: Similarly. * elf64-ppc.c: Similarly. * elf64-s390.c: Similarly. * elf64-sparc.c: Similarly. * elf64-x86-64.c: Similarly. * elfn32-mips.c: Similarly. * elfxx-mips.c: Similarly. * elfxx-sparc.c: Similarly. * linker.c (fix_syms): Base symbols in removed sections on previous section in preference to using absolute section. ld/ * ldlang.c (strip_excluded_output_sections): Do strip sections that define syms, but don't ignore them. * ld.texinfo (Output Section Discarding): Revise. * emultempl/armcoff.em (gld${EMULATION_NAME}_finish): Always call finish_default. ld/testsuite/ Update for section sym changes.
2006-09-27bfd/H.J. Lu1-1/+3
2006-09-26 H.J. Lu <hongjiu.lu@intel.com> PR ld/3223 PR ld/3267 * elf.c (assign_file_positions_for_non_load_sections): Don't warn zero size allocated sections. ld/ 2006-09-26 H.J. Lu <hongjiu.lu@intel.com> PR ld/3223 PR ld/3267 * ld.texinfo: Updated Output Section Discarding. * ldlang.h (lang_output_section_statement_type): Add section_relative_symbol. * ldlang.c (strip_excluded_output_sections): Don't strip a section with a symbol relative to it. (lang_size_sections_1): Mark if an output section has a symbol symbol relative to it. ld/testsuite/ 2006-09-26 H.J. Lu <hongjiu.lu@intel.com> PR ld/3223 PR ld/3267 * ld-scripts/empty-address-1.d: New file. * ld-scripts/empty-address-1.s: Likewise. * ld-scripts/empty-address-1.t: Likewise. * ld-scripts/empty-address-2.s: Likewise. * ld-scripts/empty-address-2a.d: Likewise. * ld-scripts/empty-address-2a.t: Likewise. * ld-scripts/empty-address-2b.d: Likewise. * ld-scripts/empty-address-2b.t: Likewise. * ld-scripts/empty-address-3.s: Likewise. * ld-scripts/empty-address-3a.d: Likewise. * ld-scripts/empty-address-3a.t: Likewise. * ld-scripts/empty-address-3b.d: Likewise. * ld-scripts/empty-address-3b.t: Likewise. * ld-scripts/empty-address-3c.d: Likewise. * ld-scripts/empty-address-3c.t: Likewise. * ld-scripts/empty-address.exp: Likewise.
2006-09-25 * ld.texinfo (Options): Update description of local symbols for -X.Bob Wilson1-3/+3
2006-09-082006-09-08 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu1-0/+4
* ld.texinfo: Document --dynamic-list-cpp-typeinfo.
2006-09-07bfd/H.J. Lu1-2/+15
2006-09-07 H.J. Lu <hongjiu.lu@intel.com> * elf-bfd.h (elf_link_hash_entry): Add a dynamic field. (bfd_elf_link_mark_dynamic_symbol): New. (SYMBOLIC_BIND): New. * elf32-i386.c (elf_i386_check_relocs): Replace info->symbolic with SYMBOLIC_BIND (info, h). (elf_i386_relocate_section): Likewise. * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise. (elf64_x86_64_relocate_section): Likewise. * elfxx-ia64.c (elfNN_ia64_check_relocs): Likewise. * elflink.c (bfd_elf_link_mark_dynamic_symbol): New. (bfd_elf_record_link_assignment): Call bfd_elf_link_mark_dynamic_symbol on new entry. (_bfd_elf_merge_symbol): Likewise. (_bfd_elf_export_symbol): Return if the symbol isn't exported. (_bfd_elf_fix_symbol_flags): Replace info->symbolic with SYMBOLIC_BIND (info, h). (_bfd_elf_dynamic_symbol_p): Likewise. (_bfd_elf_symbol_refs_local_p): Likewise. (bfd_elf_size_dynamic_sections): Updated. include/ 2006-09-07 H.J. Lu <hongjiu.lu@intel.com> * bfdlink.h (bfd_elf_dynamic_list): New. (bfd_link_info): Add a dynamic field. ld/ 2006-09-07 H.J. Lu <hongjiu.lu@intel.com> * Makefile.am (CXX): Set to g++. (CXX_FOR_TARGET): Likewise. * Makefile.in: Regenerated. * NEWS: Mention --dynamic-list. * ld.texinfo: Document --dynamic-list. * ldgram.y: Support dynamic list. * ldlang.c (lang_process): Call lang_finalize_version_expr_head on link_info.dynamic if needed. (lang_append_dynamic_list): New. (lang_append_dynamic_list_cpp_typeinfo): New. * ldlang.h (lang_append_dynamic_list): Likewise. * ldlang.h (lang_append_dynamic_list_cpp_typeinfo): Likewise. * ldlex.h (input_enum): Add input_dynamic_list. * ldlex.l: Handle it. * ldmain.c (main): Initialize link_info.dynamic. * lexsup.c (option_values): Add OPTION_DYNAMIC_LIST and OPTION_DYNAMIC_LIST_CPP_TYPEINFO. (ld_options): Add entries for OPTION_DYNAMIC_LIST and OPTION_DYNAMIC_LIST_CPP_TYPEINFO. (parse_args): Handle OPTION_DYNAMIC_LIST and OPTION_DYNAMIC_LIST_CPP_TYPEINFO. ld/testsuite/ 2006-09-07 H.J. Lu <hongjiu.lu@intel.com> * ld-elf/dl1.c: New file. * ld-elf/dl1.list: Likewise. * ld-elf/dl1.out: Likewise. * ld-elf/dl1main.c: Likewise. * ld-elf/dl2.c: Likewise. * ld-elf/dl2.list: Likewise. * ld-elf/dl2a.out: Likewise. * ld-elf/dl2b.out: Likewise. * ld-elf/dl2main.c: Likewise. * ld-elf/dl2xxx.c: Likewise. * ld-elf/dl2xxx.list: Likewise. * ld-elf/dl3.cc: Likewise. * ld-elf/dl3.list: Likewise. * ld-elf/dl3a.out: Likewise. * ld-elf/dl3b.out: Likewise. * ld-elf/dl3header.h: Likewise. * ld-elf/dl3main.cc: Likewise. * ld-elf/shared.exp: Updated. * lib/ld-lib.exp (run_ld_link_exec_tests): Take an optional argument for source language. Use CC/CXX for link, depending on source language. (run_cc_link_tests): Likewise.
2006-08-22 * NEWS: Mention LMA default change.Alan Modra1-5/+12
* ld.texinfo (Output Section LMA): Update default description. (Location Counter): Clarify backward movement. * ldlang.c (lang_size_sections_1): Leave non-alloc sections with default lma equal to vma. Warn on backward movement of dot.
2006-08-04* ldmain.c (main): Initialise print_gc_sections field of link_info structure.Nick Clifton1-2/+14
* lexsup.c: Add --print-gc-sections and --no-print-gc-sections switches. * ld.texinfo: Document new switches. * NEWS: Mention new switches. * bfdlink.h (struct bfd_link_info): New field: print_gc_sections. * elflink.c (elf_gc_sweep): If info.print_gc_sections is true, list removed sections to stderr.
2006-07-24Fix spelling typosNick Clifton1-13/+13
2006-07-10include/Jakub Jelinek1-0/+8
* bfdlink.h (struct bfd_link_info): Add emit_hash and emit_gnu_hash bitfields. include/elf/ * common.h (SHT_GNU_HASH, DT_GNU_HASH): Define. ld/ * scripttempl/elf.sc: Add .gnu.hash section. * emultempl/elf32.em (OPTION_HASH_STYLE): Define. (gld${EMULATION_NAME}_add_options): Register --hash-style option. (gld${EMULATION_NAME}_handle_option): Handle it. (gld${EMULATION_NAME}_list_options): Document it. * ldmain.c (main): Initialize emit_hash and emit_gnu_hash. * ld.texinfo: Document --hash-style option. bfd/ * elf.c (_bfd_elf_print_private_bfd_data): Handle DT_GNU_HASH. (bfd_section_from_shdr, elf_fake_sections, assign_section_numbers): Handle SHT_GNU_HASH. (special_sections_g): Include .gnu.hash section. (bfd_elf_gnu_hash): New function. * elf-bfd.h (bfd_elf_gnu_hash, _bfd_elf_hash_symbol): New prototypes. (struct elf_backend_data): Add elf_hash_symbol method. * elflink.c (_bfd_elf_link_create_dynamic_sections): Create .hash only if info->emit_hash, create .gnu.hash section if info->emit_gnu_hash. (struct collect_gnu_hash_codes): New type. (elf_collect_gnu_hash_codes, elf_renumber_gnu_hash_syms, _bfd_elf_hash_symbol): New functions. (compute_bucket_count): Don't compute HASHCODES array, instead add that and NSYMS as arguments. Use bed->s->sizeof_hash_entry instead of bed->s->arch_size / 8. Fix .hash size estimation. When not optimizing, use the number of hashed symbols rather than dynsymcount. (bfd_elf_size_dynamic_sections): Only add DT_HASH if info->emit_hash, and ADD DT_GNU_HASH if info->emit_gnu_hash. (bfd_elf_size_dynsym_hash_dynstr): Size .hash only if info->emit_hash, adjust compute_bucket_count caller. Create and populate .gnu.hash section if info->emit_gnu_hash. (elf_link_output_extsym): Only populate .hash section if finfo->hash_sec != NULL. (bfd_elf_final_link): Adjust assertion. Handle DT_GNU_HASH. * elfxx-target.h (elf_backend_hash_symbol): Define if not yet defined. (elfNN_bed): Add elf_backend_hash_symbol. * elf64-x86-64.c (elf64_x86_64_hash_symbol): New function. (elf_backend_hash_symbol): Define. * elf32-i386.c (elf_i386_hash_symbol): New function. (elf_backend_hash_symbol): Define. binutils/ * readelf.c (get_dynamic_type): Handle DT_GNU_HASH. (get_section_type_name): Handle SHT_GNU_HASH. (dynamic_info_DT_GNU_HASH): New variable. (process_dynamic_section): Handle DT_GNU_HASH. (process_symbol_table): Print also DT_GNU_HASH histogram. ld/testsuite/ * ld-powerpc/tlsso32.r: Adjust. * ld-powerpc/tlsso32.d: Adjust. * ld-powerpc/tlsso32.g: Adjust. * ld-powerpc/tlsso.r: Adjust. * ld-powerpc/tlsso.g: Adjust. * ld-powerpc/tlstocso.g: Adjust.
2006-07-07PR ld/2874Nick Clifton1-8/+6
* ld.texinfo: Remove "Using LD" from the title since it is redundant.
2006-07-06PR ld/2877Nick Clifton1-2/+2
* ld.texinfo: Fix spelling mistakes.
2006-06-27(-rpath-link): Clarify distinction between -rpath and -rpath-link.Nick Clifton1-27/+29
2006-06-22* emultempl/pe.em (gld_${EMULATION_NAME}_open_dynamic_archive): Restructure.Nick Clifton1-10/+16
Add native "%s.lib" format to search list * ld.texinfo (node WIN32): Update documentation on dynamic lib search order. Add another reason for using import libs.
2006-06-14 * ld.texinfo: Document new -z lazy option.Alan Modra1-0/+6
* emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Handle new option. (gld${EMULATION_NAME}_list_options): Update help text.
2006-05-30bfd/H.J. Lu1-0/+6
2006-05-30 H.J. Lu <hongjiu.lu@intel.com> * bfd.c (bfd_emul_get_maxpagesize): New. (bfd_elf_set_pagesize): Likewise. (bfd_emul_set_maxpagesize): Likewise. (bfd_emul_get_commonpagesize): Likewise. (bfd_emul_set_commonpagesize): Likewise. * bfd-in2.h: Regenerated. * elf-bfd.h (elf_backend_data): Add commonpagesize. (xvec_get_elf_backend_data): New. (get_elf_backend_data): Use xvec_get_elf_backend_data. * elf32-arm.c (elf32_arm_vxworks_bed): Remove const. * elfxx-target.h (elfNN_bed): Likewise. * elf32-arm.c (ELF_COMMONPAGESIZE): Defined. * elf32-mips.c (ELF_COMMONPAGESIZE): Likewise. * elf32-ppc.c (ELF_COMMONPAGESIZE): Likewise. * elf32-sh.c (ELF_COMMONPAGESIZE): Likewise. * elf32-sh64.c (ELF_COMMONPAGESIZE): Likewise. * elf32-sparc.c (ELF_COMMONPAGESIZE): Likewise. * elf64-alpha.c (ELF_COMMONPAGESIZE): Likewise. * elf64-ppc.c (ELF_COMMONPAGESIZE): Likewise. * elf64-sparc.c (ELF_COMMONPAGESIZE): Likewise. * elf64-x86-64.c (ELF_COMMONPAGESIZE): Likewise. * elfn32-mips.c (ELF_COMMONPAGESIZE): Likewise. * elfxx-ia64.c (ELF_COMMONPAGESIZE): Likewise. * elfxx-target.h (ELF_COMMONPAGESIZE): Define if not defined. (elfNN_bed): Initialize commonpagesize with ELF_COMMONPAGESIZE. * targets.c (bfd_find_target): Support NULL abfd. ld/ 2006-05-30 H.J. Lu <hongjiu.lu@intel.com> * emulparams/arcelf.sh (MAXPAGESIZE): Changed to "CONSTANT (MAXPAGESIZE)". * emulparams/armelf_nbsd.sh: Likewise. * emulparams/armelf_vxworks.sh: Likewise. * emulparams/armnto.sh: Likewise. * emulparams/armsymbian.sh: Likewise. * emulparams/crislinux.sh: Likewise. * emulparams/elf32_i860.sh: Likewise. * emulparams/elf32_i960.sh: Likewise. * emulparams/elf32am33lin.sh: Likewise. * emulparams/elf32bfinfd.sh: Likewise. * emulparams/elf32bmipn32-defs.sh: Likewise. * emulparams/elf32frvfd.sh: Likewise. * emulparams/elf32i370.sh: Likewise. * emulparams/elf32lppcnto.sh: Likewise. * emulparams/elf32mcore.sh: Likewise. * emulparams/elf32openrisc.sh: Likewise. * emulparams/elf32ppcnto.sh: Likewise. * emulparams/elf32ppcwindiss.sh: Likewise. * emulparams/elf32vax.sh: Likewise. * emulparams/elf32xc16x.sh: Likewise. * emulparams/elf32xc16xl.sh: Likewise. * emulparams/elf32xc16xs.sh: Likewise. * emulparams/elf64_aix.sh: Likewise. * emulparams/elf64hppa.sh: Likewise. * emulparams/elf64mmix.sh: Likewise. * emulparams/elf_i386_be.sh: Likewise. * emulparams/elf_i386_chaos.sh: Likewise. * emulparams/elf_i386_ldso.sh: Likewise. * emulparams/hppa64linux.sh: Likewise. * emulparams/hppalinux.sh: Likewise. * emulparams/hppaobsd.sh: Likewise. * emulparams/i386lynx.sh: Likewise. * emulparams/i386moss.sh: Likewise. * emulparams/i386nto.sh: Likewise. * emulparams/i386nw.sh: Likewise. * emulparams/m32relf_linux.sh: Likewise. * emulparams/m68kpsos.sh: Likewise. * emulparams/or32elf.sh: Likewise. * emulparams/pjelf.sh: Likewise. * emulparams/pjlelf.sh: Likewise. * emulparams/ppclynx.sh: Likewise. * emulparams/ppcnw.sh: Likewise. * emulparams/shelf32_nbsd.sh : Likewise. * emulparams/shelf_nbsd.sh: Likewise. * emulparams/shelf_nto.sh: Likewise. * emulparams/shlelf_nto.sh: Likewise. * emulparams/xtensa-config.sh: Likewise. * emulparams/armelf_linux.sh (MAXPAGESIZE): Changed to "CONSTANT (MAXPAGESIZE)". (COMMONPAGESIZE): Changed to "CONSTANT (COMMONPAGESIZE)". * emulparams/elf32_sparc.sh: Likewise. * emulparams/elf32bmip.sh: Likewise. * emulparams/elf32ppccommon.sh: Likewise. * emulparams/elf64_ia64.sh: Likewise. * emulparams/elf64_s390.sh: Likewise. * emulparams/elf64_sparc.sh: Likewise. * emulparams/elf64alpha.sh: Likewise. * emulparams/elf64ppc.sh: Likewise. * emulparams/elf_i386.sh: Likewise. * emulparams/elf_i386_vxworks.sh: Likewise. * emulparams/elf_s390.sh: Likewise. * emulparams/elf_x86_64.sh: Likewise. * emulparams/shlelf32_linux.sh: Likewise. * emulparams/shlelf_linux.sh: Likewise. * emulparams/elf32bmipn32.sh (COMMONPAGESIZE): Changed to "CONSTANT (COMMONPAGESIZE)". * emulparams/elf32btsmipn32.sh: Likewise. * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Add "-z max-page-size=" and "-z common-page-size=". (gld${EMULATION_NAME}_list_options): Likewise. * ld.h (ld_config_type): Add maxpagesize and commonpagesize. * ld.texinfo: Document "-z max-page-size=" and "-z common-page-size=". * ldexp.c (exp_print_token): Handle CONSTANT. (fold_name): Likewise. * ldgram.y: Likewise. * ldlex.l: Likewise. * ldmain.c (main): Initiliaze config.maxpagesize and config.commonpagesize. Call bfd_emul_set_maxpagesize if config.maxpagesize isn't 0. Call bfd_emul_set_commonpagesize if config.commonpagesize config.maxpagesize isn't 0. ld/testsuite/ 2006-05-30 H.J. Lu <hongjiu.lu@intel.com> * ld-elf/binutils.exp: New file. * ld-elf/commonpage1.d: Likewise. * ld-elf/maxpage1.d: Likewise. * ld-elf/maxpage1.s: Likewise.
2006-05-11bfd/doc/Carlos O'Donell1-3/+3
2006-05-11 Carlos O'Donell <carlos@codesourcery.com> * bfd.texinfo: Rename "Index" to "BFD Index" gas/ 2006-05-11 Carlos O'Donell <carlos@codesourcery.com> * doc/as.texinfo: Rename "Index" to "AS Index", and "ABORT" to "ABORT (COFF)". ld/ 2006-05-11 Carlos O'Donell <carlos@codesourcery.com> * ld.texinfo: Rename "Index" to "LD Index"
2006-05-05 * ld.texinfo: Document PowerPC and PowerPC64 options.Alan Modra1-0/+194
* gen-doc.texi: Enable.
2006-05-02binutils/Daniel Jacobowitz1-1/+1
* doc/Makefile.am (AM_MAKEINFOFLAGS): New. (TEXI2POD): Use AM_MAKEINFOFLAGS. (config.texi): Don't set top_srcdir. * doc/binutils.texi: Don't use top_srcdir. * aclocal.m4, Makefile.in, doc/Makefile.in: Regenerated. gas/ * doc/Makefile.am (AM_MAKEINFOFLAGS): New. (TEXI2POD): Use AM_MAKEINFOFLAGS. (asconfig.texi): Don't set top_srcdir. * doc/as.texinfo: Don't use top_srcdir. * aclocal.m4, Makefile.in, doc/Makefile.in: Regenerated. ld/ * Makefile.am (AM_MAKEINFOFLAGS): Add libiberty. (TEXI2POD): Use AM_MAKEINFOFLAGS. (configdoc.texi): Don't set top_srcdir. * ld.texinfo: Don't use top_srcdir. * aclocal.m4, Makefile.in: Regenerated.
2006-04-07Fix typo in documentation of --check-sections.Nick Clifton1-1/+1
2006-04-01 * deffilep.y (def_image_name): If LIBRARY or NAME statementDanny Smith1-1/+2
specifies an empty string, retain the name specified on command line. * ld.texinfo: Document above
2006-03-03ld/Richard Sandiford1-0/+6
* emulparams/vxworks.sh (VXWORKS_BASE_EM_FILE): New variable. (EXTRA_EM_FILE): Define. * emultempl/vxworks.em: New file. * ld.texinfo (--force-dynamic): Document. * Makefile.am (eelf32ppcvxworks.cm, eelf_i386_vxworks.c): Depend on vxworks.em. * Makefile.in: Regenerate. ld/testsuite/ * ld-i386/vxworks1-static.d, ld-i386/vxworks2.s, * ld-i386/vxworks2.sd, ld-i386/vxworks2-static.sd: New tests. * ld-i386/i386.exp: Run them. * ld-powerpc/vxworks1-static.d, ld-powerpc/vxworks2.s, * ld-powerpc/vxworks2.sd, ld-powerpc/vxworks2-static.sd: New tests. * ld-powerpc/powerpc.exp: Run them.
2006-02-01 * deffilep.y (def_image_name): If the image name does not haveDanny Smith1-0/+16
a suffix, append the default. * ld.texinfo: Document NAME, LIBRARY usage in PE-COFF .def files.