5 * ld.texinfo: Updated Output Section Discarding.
7 * ldlang.h (lang_output_section_statement_type): Add
8 section_relative_symbol.
9 * ldlang.c (strip_excluded_output_sections): Don't strip a
10 section with a symbol relative to it.
11 (lang_size_sections_1): Mark if an output section has a symbol
12 symbol relative to it.
16 * ld.texinfo (Options): Update description of local symbols for -X.
21 * scripttempl/elf.sc: Don't combine .gnu.linkonce.d.*personality*
22 and .gnu.linkonce.wi.* sections with .data and .debug_info for
27 * configure.in: Add new target x86_64-pc-mingw64.
28 * configure: Regenerate.
29 * configure.tgt: Add definition of target emulation i386pep.
30 * Makefile.am: Add new target files for target-all.
31 * Makefile.in: Regenerate.
32 * pe-dll.c: Adjust to be inheritable by pep_dll.c as include.
33 Fix memory out of bounds excess for idata relocation section data.
34 * pep-dll.c: Add target specific shared object handling.
35 * pep-dll.h: Add target specific definitions for shared object handling.
36 * emulparams/i386pep.sh: Add new emulation params for target x86_64 coff.
37 * emultempl/pep.em: Add new emulation file for target x86_64 coff.
38 * po/POTFILES.in: Regenerate.
39 * scripttempl/pep.sc: Add linker script template for target x86_64 coff.
40 * NEWS: Mention new target.
44 * configure.tgt: Add mips*el-sde-elf* and mips*-sde-elf*
49 * emulparams/scoreelf.sh: New file.
50 * emultempl/scoreelf.em: New file.
51 * Makefile.am: Add Score files.
52 * Makefile.in: Regenerate.
53 * configure.tgt: Add Score target.
54 * NEWS: Mention new target support.
59 * ldctor.c: Make use of new STRING_COMMA_LEN and CONST_STRNEQ
60 macros defined in bfd.h.
62 * ldwrite.c: Likewise.
65 * emultempl/aix.em: Likewise.
66 * emultempl/beos.em: Likewise.
67 * emultempl/elf32.em: Likewise.
68 * emultempl/pe.em: Likewise.
69 * emultempl/sunos.em: Likewise.
70 * emultempl/xtensaelf.em: Likewise.
75 * ldlang.c (lang_size_sections_1): Do not abort when encountering
76 a non-empty section that is ignored. Instead produce a warning
81 * ld.texinfo: Document --dynamic-list-cpp-typeinfo.
85 * Makefile.am (CXX): Set to g++.
86 (CXX_FOR_TARGET): Likewise.
87 * Makefile.in: Regenerated.
89 * NEWS: Mention --dynamic-list.
91 * ld.texinfo: Document --dynamic-list.
93 * ldgram.y: Support dynamic list.
95 * ldlang.c (lang_process): Call lang_finalize_version_expr_head
96 on link_info.dynamic if needed.
97 (lang_append_dynamic_list): New.
98 (lang_append_dynamic_list_cpp_typeinfo): New.
99 * ldlang.h (lang_append_dynamic_list): Likewise.
100 * ldlang.h (lang_append_dynamic_list_cpp_typeinfo): Likewise.
102 * ldlex.h (input_enum): Add input_dynamic_list.
103 * ldlex.l: Handle it.
105 * ldmain.c (main): Initialize link_info.dynamic.
107 * lexsup.c (option_values): Add OPTION_DYNAMIC_LIST and
108 OPTION_DYNAMIC_LIST_CPP_TYPEINFO.
109 (ld_options): Add entries for OPTION_DYNAMIC_LIST and
110 OPTION_DYNAMIC_LIST_CPP_TYPEINFO.
111 (parse_args): Handle OPTION_DYNAMIC_LIST and
112 OPTION_DYNAMIC_LIST_CPP_TYPEINFO.
116 * emulparams/h8300elf.sh: _tinydata should not be placed in
118 * emulparams/h8300.sh: Likewise.
119 * emulparams/h8300sxelf.sh: Likewise.
124 * emultempl/elf32.em: Enable "-z relro" only if $COMMONPAGESIZE
129 * ldlang.c (walk_wild): Allow * to glob '/' in wildcarded match.
133 * scripttempl/elf.sc: Ensure that crtbegin and crtend entries will
134 not match random object files in a path containing "crtbegin" or
135 "crtend" as part of a directory name.
136 * scripttempl/armbpabi.sc: Likewise.
137 * scripttempl/crisaout.sc: Likewise.
138 * scripttempl/elf32crx.sc: Likewise.
139 * scripttempl/elf32sh-symbian.sc: Likewise.
140 * scripttempl/elf_chaos.sc: Likewise.
141 * scripttempl/elfd10v.sc: Likewise.
142 * scripttempl/elfd30v.sc: Likewise.
143 * scripttempl/elfxtensa.sc: Likewise.
144 * scripttempl/iq2000.sc: Likewise.
145 * scripttempl/mmo.sc: Likewise.
146 * scripttempl/xstormy16.sc: Likewise.
150 * emulparams/elf32xtensa.sh (.xt.prop): Add .xt.prop.*.
151 * scripttempl/elfxtensa.sc (.text): Add .literal.*.
155 * ldlang.c (lang_size_sections_1, lang_assignment_statement_enum):
156 Adjust the current address of DEFAULT_MEMORY_REGION even
157 when dot hasn't changed.
161 * ldexp.c (fold_name <LOADADDR>): Return an absolute value
162 rather than a section relative value.
166 * NEWS: Mention LMA default change.
167 * ld.texinfo (Output Section LMA): Update default description.
168 (Location Counter): Clarify backward movement.
169 * ldlang.c (lang_size_sections_1): Leave non-alloc sections with
170 default lma equal to vma. Warn on backward movement of dot.
174 * configure.tgt: Set targ_emul to arm_wince_pe for ARM
179 * Makefile.am: Split arm-wince into its own emulation.
180 * Makefile.in: Regenerate.
181 * pe-dll.c : Define PE_ARCH_arm_wince.
182 (pe_detail_list): Add PE_ARCH_arm_wince case.
183 (make_one): Handle PE_ARCH_arm_epoc and PE_ARCH_arm_wince cases.
184 * emulparams/arm_wince_pe.sh: New file.
185 * emultempl/pe.em: Handle new TARGET_IS_arm_wince_pe define.
186 Remap bfd_arm_allocate_interworking_sections,
187 bfd_arm_get_bfd_for_interworking and
188 bfd_arm_process_before_allocation for arm-pe and arm-wince-pe
190 (gld_${EMULATION_NAME}_recognized_file): Handle arm-wince and
191 arm-epoc bfd format names.
195 * emultempl/armelf.em (arm_elf_before_allocation): Call
196 gld${EMULATION_NAME}_before_allocation after setting interworking bfd.
200 * pe-dll.c (autofilter_symbolprefixlist): Remove .idata$.
201 (generate_reloc): Revert to skipping sections without a SEC_LOAD flag,
202 and to not skipping .idata* sections.
207 * ldlang.h (lang_output_section_statement_type): Replace
208 "processed" field with "processed_vma" and "processed_lma".
209 * ldlang.c (lang_do_assignments_1): Move lma setting code..
210 (lang_size_sections_1): ..to here.
211 (lang_reset_memory_regions): Adjust for
212 lang_output_section_statement_type change.
213 * ldexp.c (fold_name): Likewise.
217 * emulparams/armelf.sh (MAXPAGESIZE): Changed to
218 "CONSTANT (MAXPAGESIZE)".
223 * ldlang.c (lang_section_bst_type): Moved to ...
226 * ldlang.h (lang_wild_statement_struct): Add a tree field.
228 * ldlang.c (wild_sort_fast): Use the tree field for BST.
230 (analyze_walk_wild_section_handler): Initialize the tree field.
235 * ldlang.c (update_wild_statements): Update the whole wild
241 * scripttempl/elf.sc (USER_LABEL_PREFIX): Define.
242 (__preinit_array_start, __preinit_array_end, __init_array_start,
243 __init_array_end, __fini_array_start, __fini_array_end, edata, end):
244 Use ${USER_LABEL_PREFIX}.
245 * emulparams/bfin.sh (DATA_END_SYMBOLS,END_SYMBOLS): Unset.
246 (USER_LABEL_PREFIX): Set.
250 * ldmain.c (main): Initialise print_gc_sections field of link_info
252 * lexsup.c: Add --print-gc-sections and --no-print-gc-sections
254 * ld.texinfo: Document new switches.
255 * NEWS: Mention new switches.
261 * Makefile.am (ALL_EMULATIONS): Add eshelf_vxworks.o and
263 (eshelf_vxworks.c, eshlelf_vxworks.c): New rules.
264 * Makefile.in: Regenerate.
265 * configure.tgt (sh-*-vxworks): Use shelf_vxworks and
267 * emulparams/shelf_vxworks.sh: New file.
268 * emulparams/shlelf_vxworks.sh: Likewise.
269 * emulparams/vxworks.sh (FINI): Prefix _etext with ${SYMPREFIX}.
270 (OTHER_END_SYMBOLS): Likewise _ehdr.
271 (DATA_END_SYMBOLS): Likewise _edata.
272 * emultempl/vxworks.em (vxworks_after_open): Check whether output_bfd
273 is indeed an ELF file before dealing with --force-dynamic.
278 * emulparams/elf_x86_64_fbsd.sh (OUTPUT_FORMAT): Define as
279 elf64-x86-64-freebsd.
283 * ldlang.c (init_os): Add flags. Replace bfd_make_section with
284 bfd_make_section_with_flags.
285 (exp_init_os): Updated.
286 (lang_add_section): Call init_os with flags.
287 (map_input_to_output_sections): Likewise.
291 * Makefile.am (eelf32b4300.c): Update dependencies.
292 (eelf32bmip.c): Likewise.
293 (eelf32bsmip.c): Likewise.
294 (eelf32btsmip.c): Likewise.
295 (eelf32btsmipn32.c): Likewise.
296 (eelf32ltsmip.c): Likewise.
297 (eelf32ltsmipn32.c): Likewise.
298 (eelf32ebmip.c): Likewise.
299 (eelf32ebmipvxworks.c): Likewise.
300 (eelf32elmip.c): Likewise.
301 (eelf32elmipvxworks.c): Likewise.
302 (eelf32bmipn32.c): Likewise.
303 (eelf32lmip.c): Likewise.
304 (eelf32mipswindiss.c): Likewise.
305 (eelf32lsmip.c): Likewise.
306 (eelf64bmip.c): Likewise.
307 (eelf64btsmip.c): Likewise.
308 (eelf64ltsmip.c): Likewise.
309 (emipsbig.c): Likewise. Canonicalize ${GENSCRIPTS} line.
310 (emipsbsd.c): Likewise.
311 (emipsidt.c): Update dependencies.
312 (emipsidtl.c): Likewise.
313 (emipslit.c): Likewise.
314 (emipslnews.c): Likewise.
315 (emipspe.c): Likewise. Fix ${GENSCRIPTS} invocation.
316 * Makefile.in: Regenerate.
317 * emulparams/elf32bmip.sh (EXTRA_EM_FILE): Define.
318 * emulparams/elf32bmipn32-defs.sh (EXTRA_EM_FILE): Likewise.
319 * emultempl/irix.em: Include emultempl/mipself.em.
320 * emultempl/mipself.em: New file.
324 * emultempl/elf-generic.em (map_segments): Reorganise loop so that
325 layout happens before segment map. Don't do segment map on
330 * ldexp.c (fold_name <LOADADDR>): Use the lma.
331 * ldlang.h (lang_memory_region_type): Delete old_length. Add
333 * ldlang.c (lang_memory_region_lookup): Init new field.
334 (lang_reset_memory_regions): Reset new field.
335 (lang_insert_orphan): Don't set load_base.
336 (lang_leave_overlay): Likewise.
337 (lang_size_sections_1): Delete unnecessary code setting lma_region
338 to region. Correct lma region check.
339 (lang_do_assignments_1): Rename output_section_statement parm
340 to current_os. Set lma from previous section in region.
342 * ldlang.c: Formatting.
346 * emultempl/xtensaelf.em (xtensa_strip_inconsistent_linkonce_sections):
347 Set discarded section's output_section to bfd_abs_section_ptr.
351 * ldlang.c (analyze_walk_wild_section_handler): Init handler_data
356 * emultempl/xtensaelf.em (is_inconsistent_linkonce_section): Add space
357 in dep_sec_name for null terminator. Make sure dep_sec_name has a
362 * emulparams/elf_x86_64.sh (LIBPATH_SUFFIX, ELF_INTERPRETER_NAME):
363 Set for *-*-solaris2*.
367 * ld.texinfo: Fix spelling mistakes.
368 * ldint.texinfo: Likewise.
372 * ldlang.c (lang_section_bst): New structure for sorting sections
374 (wild_sort_fast): New function: Insert a section into a binary
376 (output_section_callback_fast): New function: Store a section in
378 (output_section_callback_tree_to_list): New function: Convert a
380 (analyze_walk_wild_section_handler): Initialize handler_data
382 (wild): If the data is sorted by name use the BST method to sort
387 * ld.h (handle_asneeded_cref): Declare.
388 * ldcref.c: Include objalloc.h.
389 (old_table, old_count, old_tab, alloc_mark): New variables.
390 (tabsize, entsize, refsize, old_symcount): Likewise.
391 (add_cref): Use bfd_hash_allocate for refs.
392 (handle_asneeded_cref): New function.
393 * ldmain.c (notice): Call handle_asneeded_cref for NULL name.
397 * configure.tgt (i[3-7]86-*-solaris2*, i[3-7]86-*-solaris*): Correct
398 typo setting targ_extra_libpath.
402 * scripttempl/elf.sc: Add .gnu.hash section.
403 * emultempl/elf32.em (OPTION_HASH_STYLE): Define.
404 (gld${EMULATION_NAME}_add_options): Register --hash-style option.
405 (gld${EMULATION_NAME}_handle_option): Handle it.
406 (gld${EMULATION_NAME}_list_options): Document it.
407 * ldmain.c (main): Initialize emit_hash and emit_gnu_hash.
408 * ld.texinfo: Document --hash-style option.
412 * po/zh_TW.po: New Chinese (traditional) translation.
413 * configure.in (ALL_LINGUAS): Add zh_TW.
414 * configure: Regenerate.
419 * ld.texinfo: Remove "Using LD" from the title since it is
425 * ld.texinfo: Fix spelling mistakes.
430 * emultempl/pe.em (gld_$_open_dynamic_archive): Compute maximum
431 length of format strings in the libname_fmt[] array, rather than
432 relying upon a statically chosen value. Adjust xmalloc call to
433 use this longest length.
437 * ld.texinfo (-rpath-link): Clarify distinction between -rpath and
442 * configure.tgt (i[3-7]86-*-solaris2*, i[3-7]86-*-solaris*): Set
447 * pe-dll.c (pe_details_type): Add new pointer for symbols list
449 (autofilter_symbollist): Split into autofilter_symbollist_generic
450 and autofilter_symbollist_i386.
451 (pe_detail_list): Add autofilter_symbollist_i386 to i386 case and
452 autofilter_symbollist_generic for all the others.
453 (autofilter_symbolprefixlist): Moved _fmode, _impure_ptr, cygwin_attach_dll,
454 cygwin_premain0, cygwin_premain1, cygwin_premain2, cygwin_premain3, environ,
455 into autofilter_symbollist_i386.
456 (auto_export): Get autofilter_symbollist from pe_details.
461 * emultempl/pe.em (gld_$_after_open): When reporting non PE format
462 output files mention the file name and the fact that it is an
467 * emultempl/pe.em (gld_${EMULATION_NAME}_open_dynamic_archive):
468 Restructure. Add native "%s.lib" format to search list
469 * ld.texinfo (node WIN32): Update documentation on dynamic lib
470 search order. Add another reason for using import libs.
474 * ldlang.c (lang_insert_orphan): Correctly handle the case where
475 the section is to end up after the section currently at the end
476 of the list in output_bfd.
480 * emultempl/mmo.em: Improve comments. Explain why there's
485 * emultempl/elf-generic.em (gld${EMULATION_NAME}_map_segments): Limit
486 loop to ten iterations. Throw away any previous linker generated
488 * ldlang.c (lang_phdr_list): Make global.
489 * ldlang.h (lang_phdr_list): Declare.
490 * Makefile.am (ELF_GEN_DEPS): Define. Use in emul deps.
491 * Makefile.in: Regenerate.
495 * Makefile.am (ELF_DEPS): Define. Use in emul file deps. Fix
496 many ELF emul file deps that incorrectly said they needed elf32.em
497 instead of generic.em. Add genelf.em as required.
498 * Makefile.in: Regenerate.
499 * ldlang.c (lang_process): Call ldemul_finish before
500 lang_check_section_addresses.
501 * emulparams/arcelf.sh: Generic elf target needs genelf.
502 * emulparams/d30v_e.sh: Likewise.
503 * emulparams/d30v_o.sh: Likewise.
504 * emulparams/d30velf.sh: Likewise.
505 * emulparams/elf32_dlx.sh: Likewise.
506 * emulparams/elf32_i860.sh: Likewise.
507 * emulparams/elf32fr30.sh: Likewise.
508 * emulparams/elf32frv.sh: Likewise.
509 * emulparams/elf32iq10.sh: Likewise.
510 * emulparams/elf32iq2000.sh: Likewise.
511 * emulparams/elf32mt.sh: Likewise.
512 * emulparams/mn10200.sh: Likewise.
513 * emulparams/or32.sh: Likewise.
514 * emulparams/or32elf.sh: Likewise.
515 * emulparams/pjelf.sh: Likewise.
516 * emulparams/msp430all.sh: Likewise. Extract common entries.
517 * emulparams/pjlelf.sh: Include pjelf.sh.
518 * emulparams/elf32frvfd.sh (EXTRA_EM_FILE): Unset.
519 * emulparams/mn10300.sh (EXTRA_EM_FILE): Unset.
520 * emultempl/elf-generic.em: New file.
521 * emultempl/genelf.em: New file.
522 * emultempl/elf32.em: Include elf-generic.em.
523 (gld${EMULATION_NAME}_layout_sections_again): Delete.
524 (gld${EMULATION_NAME}_finish): Call gld${EMULATION_NAME}_map_segments.
525 * emultempl/hppaelf.em (hppaelf_layout_sections_again): Likewise.
526 (gld${EMULATION_NAME}_finish): Rename from hppaelf_finish. Call
527 gld${EMULATION_NAME}_map_segments.
528 (LDEMUL_FINISH): Update.
529 * emultempl/mmo.em: Correct comment. Include elf-bfd.h and
530 source elf-generic.em.
531 (mmo_finish): Call gld${EMULATION_NAME}_map_segments.
532 * emultempl/ppc64elf.em (ppc_layout_sections_again): Likewise.
533 (gld${EMULATION_NAME}_finish): Rename from ppc_finish. Call
534 gld${EMULATION_NAME}_map_segments.
535 (LDEMUL_FINISH): Update.
539 * ldexp.c (fold_name): Adjust bfd_sizeof_headers call.
543 * ld.texinfo: Document new -z lazy option.
544 * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Handle
546 (gld${EMULATION_NAME}_list_options): Update help text.
550 * emulparams/elf32bmip.sh (OTHER_SECTIONS): Keep the
551 ".mdebug.<abi>" and ".gcc_compiled_long<size>" sections
552 generated by mips gcc.
556 * emulparams/elf64bmip.sh, emulparams/elf64btsmip.sh (COMMONPAGESIZE):
561 * ldlang.h (lang_input_statement_type): Use bitfields for booleans.
562 * ldlang.c (struct out_section_hash_entry): Rename from
563 output_statement_hash_entry. Delete output_section_statement_type
564 entry. Add statement_union_type entry. Adjust all users.
565 (output_section_statement_table): Rename from output_statement_table.
567 (output_section_statement_newfunc): Rename from
568 output_statement_newfunc. Adjust all users.
569 (output_section_statement_table_init): Rename from
570 output_statement_table_init. Adjust all users.
571 (output_section_statement_table_free): Rename from
572 output_statement_table_free. Adjust all users.
576 * po/Make-in (pdf, ps): New dummy targets.
580 * ldlang.h (enum section_type): Delete dsect_section, copy_section,
581 info_section and overlay_section. Add noalloc_section.
582 * ldlang.c (lang_add_section): Adjust.
583 * ldgram.y (type): Adjust.
587 * ldlang.c (init_os): Whitespace.
588 (map_input_to_output_sections): Don't init_os for lang_input_section.
589 (print_all_symbols): Remove forward declaration. Convert to ISO C.
593 * po/Make-in (top_builddir): Define.
597 * ldexp.c (exp_get_abs_int): Make error message the same as
598 others emitted in this file.
602 * config.in: Regenerate.
606 * ldlang.c (lookup_name): Delete dead code. Remove FIXMEs.
610 * emultempl/elf32.em (global_found): Make it a pointer.
611 (stat_needed, try_needed): Adjust.
612 (check_needed): Don't skip non-loaded as-needed entries. Only
613 consider entries with both filename and the_bfd non-null.
614 (after_open): Try loading non-loaded as-needed libs to satisfy
619 * Makefile.am (TEXI2DVI): Add -I $(top_srcdir)/../libiberty.
620 * Makefile.in: Regenerate.
624 * Makefile.am: Replace INTLLIBS and INTLDEPS with LIBINTL
625 and LIBINTL_DEP everywhere.
627 (INCLUDES): Use @INCINTL@.
628 * configure.in: Use ZW_GNU_GETTEXT_SISTER_DIR and AM_PO_SUBDIRS.
629 Remove local code for po/Makefile.
630 * Makefile.in, configure: Regenerated.
634 * emulparams/arcelf.sh (MAXPAGESIZE): Changed to
635 "CONSTANT (MAXPAGESIZE)".
636 * emulparams/armelf_nbsd.sh: Likewise.
637 * emulparams/armelf_vxworks.sh: Likewise.
638 * emulparams/armnto.sh: Likewise.
639 * emulparams/armsymbian.sh: Likewise.
640 * emulparams/crislinux.sh: Likewise.
641 * emulparams/elf32_i860.sh: Likewise.
642 * emulparams/elf32_i960.sh: Likewise.
643 * emulparams/elf32am33lin.sh: Likewise.
644 * emulparams/elf32bfinfd.sh: Likewise.
645 * emulparams/elf32bmipn32-defs.sh: Likewise.
646 * emulparams/elf32frvfd.sh: Likewise.
647 * emulparams/elf32i370.sh: Likewise.
648 * emulparams/elf32lppcnto.sh: Likewise.
649 * emulparams/elf32mcore.sh: Likewise.
650 * emulparams/elf32openrisc.sh: Likewise.
651 * emulparams/elf32ppcnto.sh: Likewise.
652 * emulparams/elf32ppcwindiss.sh: Likewise.
653 * emulparams/elf32vax.sh: Likewise.
654 * emulparams/elf32xc16x.sh: Likewise.
655 * emulparams/elf32xc16xl.sh: Likewise.
656 * emulparams/elf32xc16xs.sh: Likewise.
657 * emulparams/elf64_aix.sh: Likewise.
658 * emulparams/elf64hppa.sh: Likewise.
659 * emulparams/elf64mmix.sh: Likewise.
660 * emulparams/elf_i386_be.sh: Likewise.
661 * emulparams/elf_i386_chaos.sh: Likewise.
662 * emulparams/elf_i386_ldso.sh: Likewise.
663 * emulparams/hppa64linux.sh: Likewise.
664 * emulparams/hppalinux.sh: Likewise.
665 * emulparams/hppaobsd.sh: Likewise.
666 * emulparams/i386lynx.sh: Likewise.
667 * emulparams/i386moss.sh: Likewise.
668 * emulparams/i386nto.sh: Likewise.
669 * emulparams/i386nw.sh: Likewise.
670 * emulparams/m32relf_linux.sh: Likewise.
671 * emulparams/m68kpsos.sh: Likewise.
672 * emulparams/or32elf.sh: Likewise.
673 * emulparams/pjelf.sh: Likewise.
674 * emulparams/pjlelf.sh: Likewise.
675 * emulparams/ppclynx.sh: Likewise.
676 * emulparams/ppcnw.sh: Likewise.
677 * emulparams/shelf32_nbsd.sh : Likewise.
678 * emulparams/shelf_nbsd.sh: Likewise.
679 * emulparams/shelf_nto.sh: Likewise.
680 * emulparams/shlelf_nto.sh: Likewise.
681 * emulparams/xtensa-config.sh: Likewise.
683 * emulparams/armelf_linux.sh (MAXPAGESIZE): Changed to
684 "CONSTANT (MAXPAGESIZE)".
685 (COMMONPAGESIZE): Changed to "CONSTANT (COMMONPAGESIZE)".
686 * emulparams/elf32_sparc.sh: Likewise.
687 * emulparams/elf32bmip.sh: Likewise.
688 * emulparams/elf32ppccommon.sh: Likewise.
689 * emulparams/elf64_ia64.sh: Likewise.
690 * emulparams/elf64_s390.sh: Likewise.
691 * emulparams/elf64_sparc.sh: Likewise.
692 * emulparams/elf64alpha.sh: Likewise.
693 * emulparams/elf64ppc.sh: Likewise.
694 * emulparams/elf_i386.sh: Likewise.
695 * emulparams/elf_i386_vxworks.sh: Likewise.
696 * emulparams/elf_s390.sh: Likewise.
697 * emulparams/elf_x86_64.sh: Likewise.
698 * emulparams/shlelf32_linux.sh: Likewise.
699 * emulparams/shlelf_linux.sh: Likewise.
701 * emulparams/elf32bmipn32.sh (COMMONPAGESIZE): Changed to
702 "CONSTANT (COMMONPAGESIZE)".
703 * emulparams/elf32btsmipn32.sh: Likewise.
705 * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Add
706 "-z max-page-size=" and "-z common-page-size=".
707 (gld${EMULATION_NAME}_list_options): Likewise.
709 * ld.h (ld_config_type): Add maxpagesize and commonpagesize.
711 * ld.texinfo: Document "-z max-page-size=" and
712 "-z common-page-size=".
714 * ldexp.c (exp_print_token): Handle CONSTANT.
715 (fold_name): Likewise.
716 * ldgram.y: Likewise.
719 * ldmain.c (main): Initiliaze config.maxpagesize and
720 config.commonpagesize. Call bfd_emul_set_maxpagesize if
721 config.maxpagesize isn't 0. Call bfd_emul_set_commonpagesize if
722 config.commonpagesize config.maxpagesize isn't 0.
726 * po/es.po: Updated Spanish translation.
730 * emulparams/elf_x86_64.sh (MAXPAGESIZE): Updated to 0x200000.
735 * configure.in: Use ${srcdir}/../bfd/config.bfd to check 64bit
736 bfd. Support 64bit host for --enable-targets=all.
737 * configure: Regenerated.
741 * po/vi.po: Updated Vietnamese translation.
745 * configure.tgt: Add avr6 to emulation list.
746 * Makefile.am: Add eavr6.o and corresponding rule.
747 * Makefile.in: Regenerate.
748 * emulparams/avr6.sh: New file.
749 * emulparams/avrX.sh (TEMPLATE_NAME): Use elf32 instead of generic
750 for target option support.
751 (EXTRA_EM_FILE): Add reference to new em template file avrelf.
752 * scripttempl/avr.sc: Add ".trampolines" section.
753 * emultempl/avrelf.em: Add new file for target specific options.
757 * scripttempl/elf32crx.sc (.rdata): Add .rodata.*.
761 * ldlang.c (lang_size_sections_1): Don't check mem regions for
762 os->ignored sections.
766 * ldlang.c (lang_size_sections): Call lang_reset_memory_regions
767 before redoing one_lang_size_sections_pass.
771 * ld.texinfo: Rename "Index" to "LD Index"
775 * pe-dll.c (autofilter_symbollist): Add Dllmain,
776 DllMainCRTStartup, _DllMainCRTStartup and .text.
777 (autofilter_liblist): Add libcegcc.
778 (autofilter_symbolprefixlist): Add __imp_ and .idata$.
779 (generate_reloc): Do not skip sections without a SEC_LOAD flag,
780 they can still contain relocs that need processing.
781 Skip the .idata$6 section.
782 (jmp_arm_bytes): New array: Contains byte codes for an ARM jump.
783 (make_one): Use the new array.
784 (make_import_fixup_entry): Use .idata$2 instead of .idata$3.
785 * emultempl/pe.em (MajorSubsystemVersion): Set to 3 for armpe.
789 * ld.texinfo: Document PowerPC and PowerPC64 options.
790 * gen-doc.texi: Enable.
794 * Makefile.am (AM_MAKEINFOFLAGS): Add libiberty.
795 (TEXI2POD): Use AM_MAKEINFOFLAGS.
796 (configdoc.texi): Don't set top_srcdir.
797 * ld.texinfo: Don't use top_srcdir.
798 * aclocal.m4, Makefile.in: Regenerated.
802 * ldlang.c (wild): Tidy default_common_section loop.
803 (print_input_section): Format.
805 * configure: Regenerate.
809 * po/POTFILES.in: Regenerated.
813 * config.in: Regenerated.
818 * emultempl/xtensaelf.em (elf_xtensa_before_allocation): Call new
819 function to strip inconsistent linkonce sections.
820 (input_section_linked_worker, input_section_linked): New.
821 (is_inconsistent_linkonce_section): New.
822 (xtensa_strip_inconsistent_linkonce_sections): New.
826 * emultempl/elf32.em: Add support for elf-hints.h on FreeBSD
827 and Dragonfly targets.
828 * configure.in (AC_CHECK_HEADERS): Add elf-hints.h.
829 * Makefile.am (HFILES): Add elf-hints-local.h.
830 * elf-hints-local.h: New file.
831 * Makefile.in: Regenerate.
832 * configure: Regenerate.
836 * ld.texinfo: Fix typo in documentation of --check-sections.
840 * ldlang.c (load_symbols): Set as_needed and add_needed according
841 to the corresponding script's fields while processing it.
845 * Makefile.am: Add install-html, install-html-am, and
846 install-html-recursive targets.
847 * Makefile.in: Regenerate.
848 * configure.in: AC_SUBST datarootdir, docdir, htmldir.
849 * configure: Regenerate.
850 * po/Make-in: Add install-html target.
854 * emultempl/ia64elf.em: Set link_info.relax_pass to 2. Remove
855 link_info.need_relax_finalize.
857 * ldlang.c (relax_sections): New.
858 (lang_process): Use. Call relax_sections link_info.relax_pass
861 * ldmain.c (main): Set link_info.relax_pass to 1. Remove
862 link_info.need_relax_finalize.
866 * Makefile.am (GENSCRIPTS): Pass prefix.
867 * Makefile.in: Regenerate.
868 * genscripts.sh: Adjust for extra parameter.
869 * emultempl/elf32.em (parse_ld_so_conf): Return true iff file
871 (check_ld_so_conf): Use ${prefix}/etc/ld.so.conf if it exists.
877 * configure.tgt (sparc*-*-vxworks*): New stanza.
878 * emulparams/elf32_sparc_vxworks.sh: New file.
879 * Makefile.am (ALL_EMULATIONS): Add eelf32_sparc_vxworks.o.
880 (eelf32_sparc_vxworks.c): New rule.
881 * Makefile.in: Regenerate.
885 * ldlang.c (lang_map): Print the list of discarded input sections.
886 (print_input_section): Change parameter and print zero-sized sections.
887 (print_statement): Adjust call to print_input_section.
891 * deffilep.y (def_image_name): If LIBRARY or NAME statement
892 specifies an empty string, retain the name specified on command
894 * ld.texinfo: Document above.
898 * ldmisc.c (vfinfo): Revert 2005-10-05 changes. If
899 bfd_find_nearest_line succeeded for %C or %D, but filename
900 is NULL, print section+offset at the end.
904 * emulparams/elf32bfinfd.sh: New file.
905 * emultempl/bfin.em: Delete.
906 * emulparams/bfin.sh: Lose reference to bfin.em.
907 * Makefile.am (eelf32bfin.c): Likewise.
908 (eelf32bfinfd.c): New.
909 * Makefile.in: Regenerate.
910 * configure.tgt (bfin-*-elf, bfin-*-uclinux): Add elf32bfinfd to
920 * configure.tgt (mips*el-*-vxworks*, mips*-*-vxworks*): Use
921 separate VxWorks emulations.
922 * emulparams/elf32ebmipvxworks.sh: New file.
923 * emulparams/elf32elmipvxworks.sh: New file.
924 * Makefile.am (ALL_EMULATIONS): Add eelf32ebmipvxworks.o and
925 eelf32elmipvxworks.o.
926 (eelf32ebmipvxworks.c, eelf32elmipvxworks.c): New rules.
927 * Makefile.in: Regenerate.
932 * ldcref.c (add_cref): Adjust bfd_hash_table_init calls.
933 * ldlang.c (output_statement_table_init, lang_init): Likewise.
934 * ldmain.c (add_ysym, add_wrap, add_keepsyms_file): Likewise.
935 (undefined_symbol): Likewise.
945 * emulparams/armelf_vxworks.sh: Include vxworks.sh.
946 (MAXPAGESIZE): Define.
947 * emulparams/vxworks.sh: Undefine EMBEDDED.
948 * Makefile.am (earmelf_vxworks.c): Depend on vxworks.sh and vxworks.em.
949 * Makefile.in: Regenerate.
953 * scripttempl/avr.sc: Add *(.jumptables) *(.lowtext) sections.
954 Add KEEP() directives.
955 Add *(.data*) *(.rodata) and *(.rodata*) and *(.bss*) to .data and
956 .bss output sections.
960 * emulparams/vxworks.sh (VXWORKS_BASE_EM_FILE): New variable.
961 (EXTRA_EM_FILE): Define.
962 * emultempl/vxworks.em: New file.
963 * ld.texinfo (--force-dynamic): Document.
964 * Makefile.am (eelf32ppcvxworks.cm, eelf_i386_vxworks.c): Depend
966 * Makefile.in: Regenerate.
970 * emulparams/elf32ppccommon.sh: New file, extracted from...
971 * emulparams/elf32ppc.sh: ...here.
972 * emulparams/elf32ppcvxworks.sh: Include elf32ppccommon.sh
973 instead of elf32ppc.sh.
974 (BSS_PLT): Remove override.
975 * Makefile.am (eelf32lppc.c): Depend on elf32ppccommons.h.
976 (eelf32lppcnto.c, eelf32lppcsim.c, eelf32ppcnto.c): Likewise.
977 (eelf32ppc.c, eelf32ppc_fbsd.c, eelf32ppcsimm): Likewise.
978 (eelf32ppclinux.c): Likewise.
979 (eelf32ppcvxworks.c): Likewise. Add missing vxworks.sh dependency.
980 * Makefile.in: Regenerate.
984 * Makefile.am: Add html target.
985 * Makefile.in: Regenerate.
986 * po/Make-in: Add html target.
992 * scripttemp/elf32xc16x.sc: Default linker script for tiny model.
993 * scripttemp/elf32xc16xl.sc: Default linker script for large model.
994 * scripttemp/elf32xc16xs.sc: Default linker script for small model.
995 * emulparams/elf32xc16x.sh: Emulation script for tiny model.
996 * emulparams/elf32xc16xl.sh: Emulation script for large model.
997 * emulparams/elf32xc16xs.sh: Emulation script for small model.
998 * Makefile.am: Add entry to make xc16x target.
999 * Makefile.in: Regenerate.
1000 * configure.tgt: Specify default and other emulation parameters
1002 * NEWS: Announce the support for the new target.
1006 * configure.tgt (mips*el-*-netbsd*, mips*-*-netbsd*):
1007 Use the traditional target.
1011 * configure.tgt (arm*b-*-linux-gnueabi): Change to
1012 arm*b-*-linux-*eabi.
1013 (arm*-*-linux-gnueabi): Change to arm*-*-linux-*eabi.
1018 * NEWS: Updated for the Linux linker search order change.
1020 * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Call
1021 gld${EMULATION_NAME}_check_ld_so_conf before checking default
1022 search directories for DT_NEEDED entries.
1026 * emultempl/armelf.em: Include elf/arm.h.
1027 (arm_elf_finish): Set low address bit if enty point is a Thumb
1032 * deffilep.y (def_image_name): If the image name does not have
1033 a suffix, append the default.
1034 * ld.texinfo: Document NAME, LIBRARY usage in PE-COFF .def files.
1038 * NEWS: Mention support for forward exports in PE-COFF dll's.
1039 * ld.texinfo: Expand documentation of EXPORT statements in
1044 * deffile.h (struct def_file_export): Add field flag_forward.
1045 * pe-dll.c (process_def_file): Check for forward exports.
1046 (generate_edata): Generate forward export symbols.
1047 (fill_edata): Emit them.
1049 * pe-dll.c (process_def_file): Don't crash on malformed
1050 fastcall symbol names in .def file.
1054 * po/vi.po: Updated Vietnamese translation.
1058 * pe-dll.c (pe_dll_generate_implib): Issue "Creating library
1059 file:" as informational message, not a warning.
1063 * emultempl/irix.em: Use lbasename instead of basename.
1067 * po/zh_CN.po: New Chinese (simplified) translation.
1068 * configure.in (ALL_LINGUAS): Add "zh_CH".
1069 * configure: Regenerate.
1073 * ld.texinfo (Options): Fix typo.
1075 For older changes see ChangeLog-2005
1081 version-control: never