3 * pe-dll.c (generate_reloc): Take account of wrapper options when
4 testing if a weak symbol is defined or not, and when it is not,
5 consider whether the default value requires a base reloc anyway.
9 * deffilep.y (def_file_free): Add missing shadow parameter renaming.
10 (def_file_print): Likewise.
11 (def_stash_module): Likewise.
12 (def_file_add_import): Likewise.
16 * Makefile.in: Regenerate.
17 * configure: Regenerate.
18 * deffilep.y: Fix shadowed variable warnings.
22 * emultempl/elf32.em: Likewise.
27 * emulparams/elf64ppc.sh (OTHER_GOT_RELOC_SECTIONS): Move .rela.opd ..
28 (INITIAL_RELOC_SECTIONS): .. to here. New define.
29 * scripttempl/elf.sc: Expand INITIAL_RELOC_SECTIONS.
33 * ld.texinfo: Make it clear that --nmagic disables linking
34 against shared libraries.
38 * configure: Regenerate.
43 * lexsup.c (parse_args): Allow nested --start-group, --end-group.
47 * pe-dll.c (pe_implied_import_dll): Return early if there is no
53 * ld.h (struct args_type): Rename 'relax' field to
54 'disable_target_specific_optimizations' and turn it into a
56 (RELAXATION_DISABLED_BY_DEFAULT): New macro.
57 (RELAXATION_DISABLED_BY_USER): New macro.
58 (RELAXATION_ENABLED): New macro.
59 (DISABLE_RELAXATION): New macro.
60 (ENABLE_RELAXATION): New macro.
61 * lexsup (enum option_values): Add OPTION_NO_RELAX.
62 (struct ld_options): Add --no-relax.
63 (parse_args): Handle OPTION_NO_RELAX. Use DISABLE_RELAXATION and
64 ENABLE_RELAXATION macros.
65 * ldlang.c (lang_relax_sections): Use RELAXATION_ENABLED macro.
66 (lang_process): Likewise.
67 * ldmain.c (main): Initialise
68 disable_target_specific_optimizations field.
69 (multiple_definition): Use RELAXATION_ENABLED macro.
70 * ld.texinfo: Document new command line option.
71 * emultempl/alphaelf.em: Remove --no-relax option.
72 (before_allocation): Test RELAXATION_DISABLED_BY_USER macro.
73 Use ENABLE_RELAXATION macro.
74 * emultempl/avrelf.em: (after_allocation): Test RELAXATION_ENABLED
76 * emultempl/cr16elf.em: Remove --no-relax option.
77 (before_allocation): Test RELAXATION_DISABLED_BY_USER macro.
78 Use ENABLE_RELAXATION macro.
79 * emultempl/crxelf.em: Remove --no-relax option.
80 (before_allocation): Test RELAXATION_DISABLED_BY_USER macro.
81 Use ENABLE_RELAXATION macro.
82 * emultempl/mmix-elfnmmo.em: (before_allocation): Use
83 ENABLE_RELAXATION macro.
84 * emultempl/needrelax.em: (before_allocation): Use
85 ENABLE_RELAXATION macro.
86 * emultempl/ppc32elf.em: (before_allocation): Test
87 RELAXATION_DISABLED_BY_DEFAULT macro. Use
88 ENABLE_RELAXATION macro.
89 * emultempl/sh64elf.em: (before_allocation): Test
90 RELAXATION_ENABLED macro. Use DISABLE_RELAXATION macro.
91 * emultempl/xtensaelf.em: Remove --no-relax option.
92 (before_allocation): Test RELAXATION_ENABLED macro.
93 Use ENABLE_RELAXATION macro.
97 * scripttempl/pe.sc: (.note.GNU-stack): Mark as discardable.
98 (.gnu.lto_*): Likewise.
99 * scripttempl/pep.sc: (.note.GNU-stack): Mark as discardable.
100 (.gnu.lto_*): Likewise.
104 * ldexp.c: Copy symbol type for simple assignments.
108 * emulparams/armelf.sh (OTHER_READONLY_SECTIONS)
109 <__exidx_start, __exidx_end>: Use PROVIDE_HIDDEN.
110 * emulparams/armelf_linux_eabi.sh (OTHER_READONLY_SECTIONS)
111 <__exidx_start, __exidx_end>: Likewise.
112 * emulparams/armsymbian.sh (OTHER_READONLY_SECTIONS)
113 <.ARM.exidx$$Base, __exidx_start, __exidx_end, .ARM.exidx$$Limit>:
119 * emulparams/armelf_linux.sh (DATA_START_SYMBOLS): Use PROVIDE
124 * ldlex.l: Enable nounput flex option.
128 * pe-dll.c (pe_undef_alias_cdecl_match): New function.
129 (pe_find_cdecl_alias_match): New function.
130 (pe_process_import_defs): Add matching for import symbols
131 declared as cdecl for fastcall/stdcall.
132 * emultempl/pe.em (pe_undef_cdecl_match): Treat fastcall
134 (pe_fixup_stdcalls): Likewise.
135 (gld_XXX_after_open): Redo scanning for imported
136 fastcall/stdcall symbols as cdecl one.
137 * emultempl/pep.em (pep_undef_cdecl_match): Treat fastcall
139 (pep_fixup_stdcalls): Likewise.
140 (gld_XXX_after_open): Redo scanning for imported
141 fastcall/stdcall symbols as cdecl one.
145 * po/id.po: Updated Indonesian translation.
149 * configure.in: Call ACX_LARGEFILE. Stop calling AC_SYS_LARGEFILE.
150 * aclocal.m4: Regenerate.
151 * configure: Regenerate.
156 * ld.texinfo (Entry Point): Mention that the default entry symbol
157 is not 'start' on some targets.
162 * ldmain.c (add_DT_NEEDED_for_dynamic): Default to TRUE.
166 * pe.em (DEFAULT_PSEUDO_RELOC_VERSION): New macro.
167 (gld_XXX_before_parse): Set pseudo-relocation default
168 version to DEFAULT_PSEUDO_RELOC_VERSION.
169 (gldXXX_handle_option): Likewise.
174 * lexsup.c: Rename --add-needed to --copy-dt-needed-entries.
175 * ldlang.h (struct lang_input_statement_struct): Rename add_needed
176 to add_DT_NEEDED_for_dynamic. Rename as_needed to
177 add_DT_NEEDED_for_regular.
178 * ldlang.c: Likewise.
179 * ldlang.h: Likewise.
180 * ldlang.c: Use the new variable names.
181 * ldgram.y: Likewise.
182 * emultempl/elf32.em: Likewise.
183 * ld.texinfo: Document the renamed option. Also mention its
184 affect on the resolution of dynamic symbols.
185 * NEWS: Mention the changed option name.
189 * emulparams/arm_epoc_pe.sh: Remove ENTRY.
190 * emulparams/arm_wince_pe.sh: Likewise.
191 * emulparams/i386pe.sh: Likewise.
192 * emulparams/i386pe_posix.sh: Likewise.
193 * emulparams/mcorepe.sh: Likewise.
194 * emulparams/mipspe.sh: Likewise.
195 * emulparams/ppcpe.sh: Likewise.
196 * emulparams/armpe.sh: Likewise.
197 * emulparams/i386pep.sh: Likewise.
198 * emulparams/shpe.sh: Likewise.
199 Additionally cleaned up double-defined
200 variables SUBSYSTEM and INITIAL_SYMBOL_CHAR.
201 * emultempl/pe.em: Remove use of ENTRY.
202 (pe_subsystem): New local variable.
203 (gld_XXX_before_parse): Don't set default
205 (set_entry_point): New function to set entry
207 (set_pe_subsystem): Remove code for entry point.
208 (gld_XXX_after_parse): Use set_entry_point here.
209 * emultempl/pep.em: Likewise.
213 * emulparams/vxworks.sh (OTHER_READONLY_SECTIONS): Move into ...
214 (OTHER_READWRITE_SECTIONS): ... here.
218 * emultempl/pep.em (U): Define underscore macro.
219 (init): Use for __ImageBase U macro.
223 * deffile.h (def_file_export): New member its_name.
224 (def_file_import): Likewise.
225 (def_file_add_export): Add argument its_name.
226 (def_file_add_import): Likewise.
227 * deffilep.y (def_exports): Add argument its_name.
228 (def_import): Likewise.
229 (EQUAL): Add new token for '=='.
230 (opt_equalequal_name): New rule.
231 (expline): Add rule opt_equalequal_name.
233 (def_file_free): Free for exports and imports
234 the optional member its_name.
235 (def_lex): Add scan of '==' as EQUAL.
236 * pe-dll.c (pe_export_sort): Sort for its_name too.
237 (process_def_file_and_drectve): Adjust calls to
239 (generate_edata): Take its_name in account.
240 (make_one): Likewise.
241 (pe_process_import_defs): Likewise.
242 (pe_dll_generate_def_file): Add print of new '==' option.
243 * ld.texinfo: Extend documentation about .def file syntax.
244 * NEWS: Mention new feature.
248 * deffilep.y (def_lex): Allow '<' and '>' characters in identifier
254 * emultempl/elf32.em (gld${EMULATION_NAME}_search_needed): Handle
255 drive specifiers for DOS based filesystems in rpath-link strings.
259 * Makefile.am: Remove spurious sanitization marker.
260 * Makefile.in: Regenerate.
264 * emultempl/pe.em (OPTION_EXCLUDE_ALL_SYMBOLS): New macro.
265 (gld${EMULATION_NAME}_add_options): Add new --exclude-all-symbols option
266 to exclude all symbols from automatic export.
267 (gld_${EMULATION_NAME}_list_options): Describe it.
268 (gld${EMULATION_NAME}_handle_option): Handle it.
269 * emultempl/pep.em: Likewise to all the above.
270 * pe-dll.c (pe_dll_exclude_all_symbols): New variable.
271 (process_def_file_and_drectve): Use it.
272 * pe-dll.h (pe_dll_exclude_all_symbols): Declare.
273 * pep-dll.c (pep_dll_exclude_all_symbols): Define pep_ alias.
274 * pep-dll.h (pe_dll_exclude_all_symbols): Declare.
275 * NEWS: Mention the new feature.
276 * ld.texinfo: Document the new command line switch.
280 * ldlex.l (yy_input): Remove second argument and return the value
286 * emultempl/netbsd.em (gldnetbsd_before_parse): Typo fix.
290 * ldlang.c (load_symbols): Set whole_archive from entry when
291 parsing a linker script.
295 * scripttempl/elf32cr16.sc: Revert 2009-09-28 changes.
296 * scripttempl/elf32cr16c.sc: Likewise.
297 * scripttempl/elf32crx.sc: Likewise.
298 * scripttempl/tic54xcoff.sc: Likewise.
299 * scripttempl/aix.sc: Likewise.
300 * scripttempl/avr.sc: Likewise.
301 * scripttempl/elf32msp430.sc: Likewise.
302 * scripttempl/elf32msp430_3.sc: Likewise.
303 * scripttempl/elf32sh-symbian.sc: Likewise.
304 * scripttempl/elf_chaos.sc: Likewise.
305 * scripttempl/elfi370.sc: Likewise.
306 * scripttempl/nw.sc: Likewise.
307 * scripttempl/psos.sc: Likewise.
308 * scripttempl/armbpabi.sc: Likewise.
309 * scripttempl/elf.sc: Likewise.
310 * scripttempl/elf64hppa.sc: Likewise.
311 * scripttempl/elfd10v.sc: Likewise.
312 * scripttempl/elfd30v.sc: Likewise.
313 * scripttempl/elfm68hc11.sc: Likewise.
314 * scripttempl/elfm68hc12.sc: Likewise.
315 * scripttempl/elfmicroblaze.sc: Likewise.
316 * scripttempl/elfxtensa.sc: Likewise.
317 * scripttempl/iq2000.sc: Likewise.
318 * scripttempl/mep.sc: Likewise.
319 * scripttempl/xstormy16.sc: Likewise.
324 * ldlang.c (lang_size_sections_1): Zero section vmas only for COFF.
329 * ldlang.c (lang_new_phdr): Allow FILEHDR/PHDRS on more than the
330 first PT_LOAD header.
331 * ld.texinfo: Update.
335 * ldlang.c (lang_new_phdr): Check PHDRS and FILEHDR in loadable
336 segments do not appear after a different loadable segment.
337 * ld.texinfo (PHDRS): Document order of processing segments.
338 Document where PHDRS and FILEHDR may appear.
342 * emultempl/ppc32elf.em (emit_stub_syms): Init to -1.
343 (ppc_after_open): Set emit_stubs_syms by default when shared.
344 (OPTION_NO_STUBSYMS): Define.
345 (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS,
346 PARSE_AND_LIST_ARGS_CASES): Handle --no-emit-stub-syms.
347 * emultempl/ppc64elf.em (emit_stub_syms): Init to -1.
348 (gld${EMULATION_NAME}_finish): Set emit_stubs_syms by default.
349 (OPTION_NO_STUBSYMS): Define.
350 (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS,
351 PARSE_AND_LIST_ARGS_CASES): Handle --no-emit-stub-syms.
355 * emulparams/m68kelf.sh (NOP): Use 0x4e71 (nop) rather than 0x4e75
360 * Makefile.am: Add rules to build RX emulation.
361 * configure.tgt: Likewise.
362 * NEWS: Mention support for RX architecture.
363 * Makefile.in: Regenerate.
364 * emulparams/elf32rx.sh: New file.
365 * emultempl/rxelf.em: New file.
369 * ldlang.c (lang_size_sections_1): Allow scripts to specify a
370 non-zero vma even when relocatable.
374 * scripttempl/elf32cr16.sc: Emit empty script for ld -r and ld -Ur.
375 * scripttempl/elf32cr16c.sc: Likewise.
376 * scripttempl/elf32crx.sc: Likewise.
377 * scripttempl/tic54xcoff.sc: Likewise.
378 * scripttempl/aix.sc: Delete ${RELOCATING-0}.
379 * scripttempl/avr.sc: Likewise.
380 * scripttempl/elf32msp430.sc: Likewise.
381 * scripttempl/elf32msp430_3.sc: Likewise.
382 * scripttempl/elf32sh-symbian.sc: Likewise.
383 * scripttempl/elf_chaos.sc: Likewise.
384 * scripttempl/elfi370.sc: Likewise.
385 * scripttempl/nw.sc: Likewise.
386 * scripttempl/psos.sc: Likewise.
387 * scripttempl/armbpabi.sc: Delete ${RELOCATING-0} and ${CONSTRUCTING-0}.
388 * scripttempl/elf.sc: Likewise.
389 * scripttempl/elf64hppa.sc: Likewise.
390 * scripttempl/elfd10v.sc: Likewise.
391 * scripttempl/elfd30v.sc: Likewise.
392 * scripttempl/elfm68hc11.sc: Likewise.
393 * scripttempl/elfm68hc12.sc: Likewise.
394 * scripttempl/elfmicroblaze.sc: Likewise.
395 * scripttempl/elfxtensa.sc: Likewise.
396 * scripttempl/iq2000.sc: Likewise.
397 * scripttempl/mep.sc: Likewise.
398 * scripttempl/xstormy16.sc: Likewise.
403 * ldlang.c (lang_size_sections_1): Always force output vma to zero for
404 relocatable sections.
405 (lang_size_sections_1): Revert previous COFF-only accommodation for
406 relocatable sections.
410 Update sources to make arm targets compile cleanly with
412 * emultempl/armelf.em: Add casts.
416 * emultempl/elf32.em (gld${EMULATION_NAME}_add_options): Add --audit,
417 --depaudit, and -P options.
418 (gld${EULATION_NAME}_handle_options): Ditto.
419 (gld${EULATION_NAME}_list_options): Ditto.
420 (gld${EMULATION_NAME}_append_to_separated_string): New function for
421 handling rpath-like colon separated strings.
422 (gld${EMULATION_NAME}_before_allocation): Pass the audit and depaudit
423 libs to bfd. Propagate DT_AUDIT from needed libs to depaudit.
424 * ld.texinfo: Document new options.
428 * po/vi.po: Updated Vietnamese translation.
432 * scripttempl/a29k.sc: Delete.
433 * scripttempl/ebmon29k.sc: Delete.
434 * scripttempl/m68klynx.sc: Delete.
435 * scripttempl/sa29200.sc: Delete.
436 * scripttempl/sparclynx.sc: Delete.
440 * emultempl/ppc32elf.em (no_tls_get_addr_opt): New var.
441 (ppc_before_allocation): Pass to ppc_elf_tls_setup.
442 (OPTION_NO_TLS_GET_ADDR_OPT): Define. Redefine other options in
443 terms of previous option.
444 (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add
445 --no-tls-get-addr-optimize.
446 (PARSE_AND_LIST_ARGS_CASES): Handle it.
447 * emultempl/ppc64elf.em (no_tls_get_addr_opt): New var.
448 (ppc_before_allocation): Pass to ppc64_elf_tls_setup.
449 (OPTION_NO_TLS_GET_ADDR_OPT): Define.
450 (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add
451 --no-tls-get-addr-optimize.
452 (PARSE_AND_LIST_ARGS_CASES): Handle it.
456 * po/es.po: Updated Spanish translation.
461 * lexsup.c (parse_args <-e>): Revert 2009-03-18 change.
462 * ldemul.c (after_parse_default): Add entry symbol as undef.
463 * emultempl/alphaelf.em (alpha_after_parse): Call after_parse_default.
464 * emultempl/cr16elf.em (cr16elf_after_parse): Likewise.
465 * emultempl/crxelf.em (crxelf_after_parse): Likewise.
466 * emultempl/hppaelf.em (hppaelf_after_parse): Likewise.
467 * emultempl/ia64elf.em (gld${EMULATION_NAME}_after_parse): Likewise.
468 * emultempl/pe.em (gld_${EMULATION_NAME}_after_parse): Call
469 after_parse_default and delete now duplicate code.
470 * emultempl/pep.em (gld_${EMULATION_NAME}_after_parse): Likewise.
471 * scripttempl/elf32cr16.sc: No need to make entry extern.
472 * scripttempl/elf32cr16c.sc: Likewise.
473 * scripttempl/elf32crx.sc: Likewise.
474 * scripttempl/elf32xc16xs.sc: Only provide ENTRY on final link.
478 * po/ld.pot: Updated by the Translation project.
479 * po/fi.po: Updated Finnish translation.
483 Updated sources to compile cleanly with -Wc++-compat:
484 * ld.h (enum endian_enum,enum symbolic_enum,enum
485 dynamic_list_enum): Move to top level.
486 * ldcref.c: Add casts.
487 * ldctor.c: Add casts.
489 * ldexp.h (enum node_tree_enum,enum phase_enum): Move to top level.
490 * ldlang.c: Add casts. (lang_insert_orphan): Use enum name instead
492 * ldlang.h (enum statement_enum): Move to top level.
493 * ldmain.c: Add casts.
494 * ldwrite.c: Add casts.
495 * lexsup.c: Add casts. (enum control_enum): Move to top level.
496 * mri.c: Add casts. (mri_draw_tree): Use enum name instead of
501 * scripttempl/aix.sc: Only provide ENTRY on final link.
502 * scripttempl/alpha.sc: Likewise.
503 * scripttempl/armcoff.sc: Likewise.
504 * scripttempl/crisaout.sc: Likewise.
505 * scripttempl/delta68.sc: Likewise.
506 * scripttempl/ebmon29k.sc: Likewise.
507 * scripttempl/elf32xc16x.sc: Likewise.
508 * scripttempl/elf32xc16xl.sc: Likewise.
509 * scripttempl/elfmicroblaze.sc: Likewise.
510 * scripttempl/epocpe.sc: Likewise.
511 * scripttempl/h8300.sc: Likewise.
512 * scripttempl/h8300h.sc: Likewise.
513 * scripttempl/h8300hn.sc: Likewise.
514 * scripttempl/h8300s.sc: Likewise.
515 * scripttempl/h8300sn.sc: Likewise.
516 * scripttempl/h8300sx.sc: Likewise.
517 * scripttempl/h8300sxn.sc: Likewise.
518 * scripttempl/hppaelf.sc: Likewise.
519 * scripttempl/i386beos.sc: Likewise.
520 * scripttempl/i386coff.sc: Likewise.
521 * scripttempl/i386go32.sc: Likewise.
522 * scripttempl/m68kaux.sc: Likewise.
523 * scripttempl/m68klynx.sc: Likewise.
524 * scripttempl/m88kbcs.sc: Likewise.
525 * scripttempl/maxqcoff.sc: Likewise.
526 * scripttempl/mcorepe.sc: Likewise.
527 * scripttempl/mips.sc: Likewise.
528 * scripttempl/ppcpe.sc: Likewise.
529 * scripttempl/sa29200.sc: Likewise.
530 * scripttempl/sparccoff.sc: Likewise.
531 * scripttempl/sparclynx.sc: Likewise.
532 * scripttempl/tic4xcoff.sc: Likewise.
533 * scripttempl/tic54xcoff.sc: Likewise.
534 * scripttempl/tic80coff.sc: Likewise.
535 * scripttempl/z8000.sc: Likewise.
539 * po/ld.pot: Regenerate.
543 * emultempl/elf32.em (gld${EMULATION_NAME}_load_symbols,
544 gld${EMULATION_NAME}_try_needed): Rename variable class to
549 * NEWS: Add marker for 2.20.
553 * scripttempl/elf.sc (.text): Add cold text sections.
557 * emulparams/elf32bfinfd.sh (OTHER_SECTIONS): Add .l2.text
562 * scripttempl/pe.sc (.text): Add "*(.text.*)" in order to catch
563 new GCC hot/cold/unlikely partitions.
564 * scripttempl/pep.sc: Likewise.
565 * scripttempl/epocpe.sc: Likewise.
566 * scripttempl/mcorepe.sc: Likewise.
567 * scripttempl/ppcpe.sc: Likewise.
571 * Makefile.am (ldgram.o, ldlex.o, deffilep.o): Supply correct
572 source file name for generated files which may be in $(srcdir).
573 * Makefile.in: Regenerate.
577 * ldver.c (ldversion): Change to "Copyright 2009".
581 * scripttempl/elf.sc: Add ${USER_LABEL_PREFIX} to _start, etext,
582 _stack and __bss_start.
583 * emulparams/bfin.sh (ENTRY): Remove.
588 * ldexp.c (fold_name <MAXPAGESIZE>): Return config.maxpagesize.
589 (fold_name <COMMONPAGESIZE>): Similarly.
590 * ldlang.c (output_target): Make global.
591 * ldlang.h (output_target): Declare.
592 * ldmain.c (main): Set config.maxpagesize from bfd_emul_get_maxpagesize.
593 Similarly for config.commonpagesize.
594 * ldemul.c (set_output_arch_default): Call bfd_emul_set_maxpagesize
595 and bfd_emul_set_commonpagesize.
596 * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Don't call
597 bfd_emul_set_maxpagesize or bfd_emul_set_commonpagesize here.
601 * ldexp.c (exp_intop, exp_bigintop, exp_relop, exp_binop)
602 (exp_trinop, exp_unop, exp_nameop, exp_assop): Rename variable new
604 * ldfile.c (ldfile_add_library_path): Rename variable new to
605 new_dirs. (ldfile_add_arch): Rename variable new to new_arch.
606 * ldlang.c (new_statement, lang_final, lang_add_wild)
607 (lang_target, lang_add_fill, lang_add_data, lang_add_assignment)
608 (lang_add_insert): Rename variable new to new_stmt. (new_afile):
609 Added missing cast. (lang_memory_region_lookup): Rename variable
610 new to new_region. (init_os): Rename variable new to
611 new_userdata. (lang_add_section): Rename variable new to
612 new_section. (ldlang_add_undef): Rename variable new to
613 new_undef. (realsymbol): Rename variable new to new_name.
618 * emultempl/elf32.em (_after_open): Do not create a
619 .note.gnu-build-id section if there are no input files.
623 * scripttempl/elfxtensa.sc (DISCARDED): Discard sections with
625 * scripttempl/armbpabi.sc: Likewise.
626 * scripttempl/elf32sh-symbian.sc: Likewise.
627 * scripttempl/elf64hppa.sc: Likewise.
628 * scripttempl/mep.sc: Likewise.
632 * Makefile.am (ldmain.o, ldfile.o): Fix typos in non-fastdep
634 (eelf32_spu.o): Add dependency tracking.
635 * Makefile.in: Regenerate.
637 * Makefile.am (am__skiplex, am__skipyacc): New.
638 * Makefile.in: Regenerate.
642 * Makefile.am (bin_PROGRAMS): Renamed from ...
643 (noinst_PROGRAMS): ... this.
644 (transform): Override, including the renaming of ld-new to ld.
645 (install-exec-local): Installation of ld in $(bindir) not needed
647 (AM_CPPFLAGS): Renamed from ...
648 (INCLUDES): ... this.
649 (MAINTAINERCLEANFILES): Add ld.1.
650 * Makefile.in: Regenerate.
652 * Makefile.am (AUTOMAKE_OPTIONS): Remove cygnus. Add
653 no-texinfo.tex, no-dist, foreign.
654 (TEXINFO_TEX): New variable.
655 (install-data-local): Removed, not needed any more.
656 (all): Dependencies upon info and ld.1 not needed any more.
657 (MKDEP, DEP, DEP1, dep.sed, dep, dep-in, dep-am): Removed.
658 (mkdep generated section): Removed.
659 (ldgram.o, ldlex.o, deffilep.o, ldmain.o, ldfile.o): Rewrite to
660 use automake dependency tracking mechanism.
661 (EXTRA_ld_new_SOURCES): Add pep-dll.c, pe-dll.c, and
662 $(ALL_EMULATIONS:.o=.c) $(ALL_64_EMULATIONS:.o=.c) so their
663 dependencies are tracked too.
664 (BUILT_SOURCES): New, list $(GENERATED_HFILES) to ensure they
666 * configure.in: Use AM_MAINTAINER_MODE.
667 * aclocal.m4, configure, Makefile.in: Regenerate.
669 * Makefile.am (pdf__strip_dir, install-pdf, install-pdf-am)
670 (install-pdf-recursive, html__strip_dir, install-html)
671 (install-html-am, install-html-recursive): Remove.
672 * Makefile.in: Regenerate.
674 * Makefile.in: Regenerate.
675 * aclocal.m4: Likewise.
676 * config.in: Likewise.
677 * configure: Likewise.
681 * scripttempl/elf.sc: Discard sections with .gnu.lto_ prefix.
685 * ld.h (fat_user_section_struct): Add map_symbol_def_count field.
686 * ldlang.c (hash_entry_addr_cmp): New function.
687 (print_all_symbols): Sort the symbols by address before printing them.
692 * ldemul.c (after_allocation_default): Run lang_relax_sections.
693 * ldlang.h (lang_relax_sections): Declare.
694 * ldlang.c (relax_sections): Delete.
695 (lang_relax_sections): New function.
696 (lang_process): Don't relax directly from here.
697 * emultempl/alphaelf.em (alpha_finish): Call finish_default.
698 * emultempl/armelf.em (arm_elf_after_allocation): Delete. Move body..
699 (gld${EMULATION_NAME}_finish): ..to here. Move existing code..
700 (gld${EMULATION_NAME}_after_allocation): ..to here. New function.
701 (LDEMUL_AFTER_ALLOCATION): Update.
702 * emultempl/avrelf.em (avr_elf_finish, LDEMUL_FINISH): Delete.
703 (avr_elf_after_allocation): New function.
704 (LDEMUL_AFTER_ALLOCATION): Define.
705 * emultempl/elf-generic.em (gld${EMULATION_NAME}_map_segments): Call
707 * emultempl/elf32.em (gld${EMULATION_NAME}_finish): Delete. Move..
708 (gld${EMULATION_NAME}_after_allocation): ..code to here. New function.
709 (LDEMUL_AFTER_ALLOCATION, LDEMUL_FINISH): Update.
710 * emultempl/genelf.em (gld${EMULATION_NAME}_finish): Delete. Move..
711 (gld${EMULATION_NAME}_after_allocation): ..code to here. New function.
712 (LDEMUL_FINISH): Delete.
713 (LDEMUL_AFTER_ALLOCATION): Define.
714 * emultempl/hppaelf.em (gld${EMULATION_NAME}_finish): Delete. Move..
715 (gld${EMULATION_NAME}_after_allocation): ..to here. New function.
716 (LDEMUL_FINISH): Delete.
717 (LDEMUL_AFTER_ALLOCATION): Define.
718 * emultempl/m68hc1xelf.em (m68hc11elf_finish): Delete. Move..
719 (m68hc11elf_after_allocation): ..to here. New function.
720 (LDEMUL_FINISH): Delete.
721 (LDEMUL_AFTER_ALLOCATION): Define.
722 * emultempl/m68kelf.em (m68k_elf_after_allocation): Call
723 gld${EMULATION_NAME}_after_allocation.
724 * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Call
725 gld${EMULATION_NAME}_after_allocation.
726 * emultempl/mmo.em (mmo_finish): Delete. Move body..
727 (gld${EMULATION_NAME}_after_allocation): ..to here. New function.
728 (LDEMUL_FINISH): Define.
729 * emultempl/ppc64elf.em (ppc_layout_sections_again): Set elf_gp.
730 (gld${EMULATION_NAME}_finish): Move code sizing sections..
731 (gld${EMULATION_NAME}_after_allocation): ..to here.
732 * emultempl/sh64elf.em (sh64_elf_${EMULATION_NAME}_after_allocation):
733 Call gld${EMULATION_NAME}_after_allocation.
734 * emultempl/spuelf.em (gld${EMULATION_NAME}_finish): Delete
735 bfd_elf_discard_info and map_segments call.
739 * Makefile.am: Add eelf32mb_linux.o, eelf32microblaze.o to
740 ALL_EMULATIONS, targets.
741 * Makefile.in: Regenerate.
742 * configure.tgt: Add microblaze*-linux*, microblaze* targets.
743 * emulparams/elf32mb_linux.sh: New.
744 * emulparams/elf32microblaze.sh. New.
745 * scripttempl/elfmicroblaze.sc: New.
749 * emulparams/elf32_spu.sh (OTHER_READONLY_SECTIONS): Add .fixup
750 section and __fixup_start symbol.
751 * emultempl/spuelf.em (params): Initialize emit_fixups member.
752 (spu_before_allocation): Call spu_elf_size_sections.
753 (OPTION_SPU_EMIT_FIXUPS): Define.
754 (PARSE_AND_LIST_LONGOPTS): Add --emit-fixups.
755 (PARSE_AND_LIST_ARGS_CASES): Handle --emit-fixups.
756 * ld.texinfo (--emit-fixups): Document.
761 * emultempl/ppc32elf.em (ppc_before_allocation): Test rawsize,
762 not size, after lang_reset_memory_regions.
766 * emulparams/elf32ppc.sh (PLT): Don't include ".iplt".
767 * emulparams/elf_i386.sh (IREL_IN_PLT): Define.
768 * emulparams/elf_x86_64.sh (IREL_IN_PLT): Define.
769 * scripttempl/elf.sc: Create separate .iplt and .rela.iplt sections
774 * scripttempl/mmo.sc: For relocateable links, set $OUTPUT_FORMAT to
775 the new $RELOCATEABLE_OUTPUT_FORMAT, if set.
776 (OUTPUT_FORMAT): Use the variable $OUTPUT_FORMAT.
777 (ENTRY): Don't emit for relocateable links.
778 (/DISCARD/): Don't discard .gnu.warning.* for relocateable links.
779 * emulparams/mmo.sh (RELOCATEABLE_OUTPUT_FORMAT): Set, to
781 * emulparams/elf64mmix.sh (OTHER_TEXT_SECTIONS): Empty, don't
782 provide "Main" or set "_start.", for relocateable links.
786 * (po/fi.po): Updated Finnish translation.
790 * configure.tgt (targ64_extra_emuls): Add elf_l1om if elf_x86_64
791 is supported. Add elf_l1om_fbsd if elf_x86_64_fbsd is supported.
792 (targ_extra_emuls): Likewise.
794 * Makefile.am (ALL_64_EMULATIONS): Add eelf_l1om.o and
797 (eelf_l1om_fbsd.c): Likewise.
798 * Makefile.in: Regenerated.
800 * emulparams/elf_l1om.sh: New.
801 * emulparams/elf_l1om_fbsd.sh: Likewise.
805 * NEWS: Mention the linker's support for symbols with a binding of
811 * ldlang.c (insert_os_after): Tie assignments to non-alloc
812 output sections if there is no-input section.
816 * ldlang.c (insert_os_after): Don't tie assignments to non-alloc
821 * emultempl/ppc32elf.em (ppc_before_allocation): Turn on
822 linker relaxation if it might be necessary.
826 * emulparams/elf32ppc.sh (GOTPLT, PLT): Handle .iplt.
830 * ld.texinfo: Fix typo.
834 * scripttempl/pep.sc: Put .eh_frame in its own section.
835 * scripttempl/pe.sc: Ditto.
839 * scripttempl/pe.sc (.debug_pubtypes): Added section rule.
840 * scripttempl/pep.sc: Likewise.
844 * ldlang.c (print_input_section): Add is_discarded parameter. Adjust
846 (lang_map): Print the size of discarded sections.
847 (print_statement): Adjust call to print_input_section.
851 Merge cegcc and mingw32ce target name changes from CeGCC project:
855 * configure.tgt (arm*-*-cegcc*): Set LIB_PATH to
856 ${tooldir}/lib/w32api.
860 * configure.tgt: Add arm*-*-cegcc* target.
864 * configure.tgt: Add arm-*-mingw32ce* target.
868 * emultempl/armelf.em (gld${EMULATION_NAME}_finish): Avoid crash
869 if section has no ELF data.
873 * scripttempl/elf.sc: Add .rel.ifunc and .rela.ifunc.
877 * scripttempl/elf.sc: Remove .rel.ifunc.dyn and .rela.ifunc.dyn.
881 * dep-in.sed: Don't use \n in replacement part of s command.
882 * Makefile.am (DEP1): LC_ALL for uniq.
883 * Makefile.in: Regenerate.
887 * scripttempl/elf.sc (PLT): Add "*(.iplt)".
888 (GOT): Add "*(.igot.plt)a" and "*(.igot)".
889 (GOTPLT): Add "*(.igot)".
890 (__rel_iplt_start): New.
891 (__rel_iplt_end): Likewise.
892 (__rela_iplt_start): Likewise.
893 (__rela_iplt_end): Likewise.
897 * deffilep.y (%union): Add new string-type semantic value 'digits'.
898 (%token): Remove NUMBER as token, add DIGITS.
899 (%type): Add NUMBER as type. Add new id types anylang_id, opt_id.
900 (ALIGNCOMM): Parse an anylang_id instead of a plain ID.
901 (anylang_id): New production.
902 (opt_digits): Likewise.
905 (def_lex): Return strings of digits in raw string form as DIGITS
906 token, instead of converting to numeric integer type.
910 * ldmain.c (main): Don't reject --relax -r.
911 * ld.texinfo (PowerPC ELF32): Document behaviour of relaxing
916 * po/id.po: Updated Indonesian translation.
917 * po/ld.pot: Updated template file.
921 * dep-in.sed: Output one filename per line with all lines having
922 continuation backslash. Prefix first line with "A", following
924 * Makefile.am (DEP): Don't use dep.sed here.
925 (DEP1): Run $MKDEP on single files, use dep.sed here on dependencies,
927 * Makefile.in: Regenerate.
931 * ldlang.c (lang_check_section_addresses): Ignore non-alloc sections.
935 * emultempl/armelf.em (fix_cortex_a8): New.
936 (arm_elf_before_allocation): Call bfd_elf32_arm_set_cortex_a8_fix.
937 (arm_elf_create_output_section_statements): Add fix_cortex_a8 to
938 bfd_elf32_arm_set_target_relocs.
939 (OPTION_FIX_CORTEX_A8, OPTION_NO_FIX_CORTEX_A8): New.
940 (PARSE_AND_LIST_LONGOPTS): Add [no-]fix-cortex-a8 options.
941 (PARSE_AND_LIST_OPTIONS): Add [no-]fix-cortex-a8 options.
942 (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_[NO_]FIX_CORTEX_A8.
943 * ld.texinfo (--[no-]fix-cortex-a8): Briefly document new options.
947 * ldlang.c (lang_check_section_addresses): Ignore non-loadable
948 sections when checking for overlap. Clarify error message
949 concerns load address.
953 * Makefile.am: Run "make dep-am".
954 * Makefile.in: Regenerate.
958 * NEWS: Mention new feature.
959 * deffile.h (def_file_aligncomm): Add new struct definition.
960 (def_file): Add new def_file_aligncomm member.
961 * deffilep.y (%token): Add new ALIGNCOMM token.
962 (command): Add production rule for ALIGNCOMM.
963 (def_file_free): Free any chained def_file_aligncomm structs.
964 (diropts[]): Add entry for '-aligncomm' .drectve command.
965 (def_aligncomm): New grammar function.
966 * ld.texinfo: Document new feature.
967 * pe-dll.c (process_def_file): Rename from this ...
968 (process_def_file_and_drectve): ... to this, updating all callers,
969 and process any aligncomms chained to the def file after scanning
970 all .drectve sections.
971 (generate_edata): Updated to match.
972 (pe_dll_build_sections): Likewise.
976 * pe-dll.c (process_def_file): Do not create empty export table.
980 * ldlang.c (lang_output_section_statement_lookup): Add function
981 comment. Make "name" non-const. Ensure duplicate entries use
982 the same string, allowing simple comparison in hash bucket loop.
983 Tweak constraint check.
984 (next_matching_output_section_statement): New function.
985 * ldlang.h (lang_output_section_statement_lookup): Update.
986 (next_matching_output_section_statement): Declare.
987 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
988 combine orphan sections when input sections flags differ in
990 * emultempl/pe.em: Formatting throughout.
991 (gld${EMULATION_NAME}_place_orphan): As for elf32.em.
992 * emultempl/pep.em: Formatting throughout.
993 (gld${EMULATION_NAME}_place_orphan): As for elf32.em.
997 * emultempl/spuelf.em (PARSE_AND_LIST_ARGS_CASES): Always use
998 compact stubs with software i-cache.
1002 * emultempl/spuelf.em (spu_before_allocation): Call
1003 spu_elf_place_overlay_data.
1007 * ldlang.c (lang_insert_orphan): Add __start_<section> symbol
1008 assignment inside output section statement. Ensure only one
1009 set of symbols per output section.
1010 * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Add non-
1011 dollar sections before dollar sections. Correct add_child
1013 * emultempl/pep.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
1017 * emultempl/armelf.em (compare_output_sec_vma): New function.
1018 (gld${EMULATION_NAME}_finish): Add exidx munging code.
1022 * scripttempl/avr.sc (MEMORY): Use DATA_ORIGIN.
1023 * emulparams/avr1.sh (DATA_ORIGIN): Add.
1024 * emulparams/avr2.sh (DATA_ORIGIN): Add.
1025 * emulparams/avr25.sh (DATA_ORIGIN): Add.
1026 * emulparams/avr3.sh (DATA_ORIGIN): Add.
1027 * emulparams/avr31.sh (DATA_ORIGIN): Add.
1028 * emulparams/avr35.sh (DATA_ORIGIN): Add.
1029 * emulparams/avr4.sh (DATA_ORIGIN): Add.
1030 * emulparams/avr5.sh (DATA_ORIGIN): Add.
1031 * emulparams/avr51.sh (DATA_ORIGIN): Add.
1032 (DATA_LENGTH): Update.
1033 * emulparams/avr6.sh (DATA_ORIGIN): Add.
1034 (DATA_LENGTH): Update.
1038 * NEWS: Mention new feature.
1039 * ld.texinfo (--version-script): Document extent of PE support.
1040 (WIN32): Mention --version-script. Extend auto-export description.
1041 * pe-dll.c (process_def_file): Use version script info to filter
1042 symbols from auto-export.
1043 * testsuite/ld-pe/vers-script-1.d: New file.
1044 * testsuite/ld-pe/vers-script-2.d: New file.
1045 * testsuite/ld-pe/vers-script-3.d: New file.
1046 * testsuite/ld-pe/vers-script-4.d: New file.
1047 * testsuite/ld-pe/vers-script-1.ver: New file.
1048 * testsuite/ld-pe/vers-script-2.ver: New file.
1049 * testsuite/ld-pe/vers-script-3.ver: New file.
1050 * testsuite/ld-pe/vers-script-4.ver: New file.
1051 * testsuite/ld-pe/vers-script-dll.c: New file.
1052 * testsuite/ld-pe/vers-script.exp: New test script.
1056 * emulparams/vxworks.sh (TEXT_START_ADDR): Override.
1060 * NEWS: Mention support for IFUNC symbols.
1064 * emulparams/elf32moxie.sh (STACK_ADDR): Move default stack
1065 position out to accommodate larger programs.
1069 * lexsup.c (option_values): Add OPTION_NO_EXPORT_DYNAMIC.
1070 (ld_options): Likewise.
1071 (parse_args): Likewise.
1072 * ld.texinfo: Document --no-export-dynamic.
1073 * NEWS: Mention --no-export-dynamic.
1077 * deffilep.y (STACKSIZE_K): Rename from STACKSIZE.
1082 * genscripts.sh: Don't pass $EMULATION_NAME as $CUSTOMIZER_SCRIPT
1087 * emultempl/armelf.em (bfd_for_interwork, arm_elf_after_open)
1088 (arm_elf_set_bfd_for_interworking): Delete.
1089 (arm_elf_before_allocation): Do not set the interworking BFD.
1090 Move allocation inside not-dynamic block.
1091 (arm_elf_create_output_section_statements): Create glue sections
1092 and set the interworking BFD here.
1093 (LDEMUL_AFTER_OPEN): Delete.
1097 * ldlang.c (lang_one_common): Use bfd_define_common_symbol.
1101 * configure.tgt: Add moxie support.
1102 * Makefile.am: Add moxie files.
1103 * Makefile.in: Rebuilt.
1104 * emulparams/elf32moxie.sh: New file.
1105 * scripttempl/moxie.sc: New file.
1109 * ldlang.c: Do not include limits.h.
1114 * ldfile.c (find_scripts_dir): Use make_relative_prefix to find
1115 ldscripts in build tree. Don't repeat search for ../lib/ldscripts.
1119 * ldfile.c (ldfile_find_command_file): Revert the last change.
1124 * ldfile.c (ldfile_find_command_file): First try raw name.
1129 * ld.texinfo (Output Section Constraint): New node. Documents the
1130 ONLY_IF_RO and ONLY_IF_RW constraints.
1131 (Symbolic Constants): New node. Documents the CONSTANT operator.
1135 * emultempl/spuelf.em (embedded_spu_file): Use pex_one in place
1140 * lexsup.c (option_values): Add OPTION_WARN_ALTERNATE_EM.
1141 (ld_options): Likewise.
1142 (parse_args): Likewise.
1144 * ld.texinfo: Document --warn-alternate-em.
1146 * NEWS: Mention --warn-alternate-em.
1150 * emulparams/elf32mep.sh: Change default endian to little.
1154 * ld.texinfo (Output Section Address): Note that specifying an
1155 address for an output section will only change the location
1156 counter if the output section is used.
1160 * ldfile.c (ldfile_find_command_file): Initialize result.
1164 * ld.texinfo (-L): Mention that -L options do not affect how ld
1165 searches for a linker script unless -T option is specified.
1166 * ldfile.c (ldfile_find_command_file): Append the path obtained
1167 from the program name to the search path instead of
1168 prepending. Add a new parameter "default_only". Restrict the
1169 search to the default script location if the new parameter is
1171 (ldfile_open_command_file_1): New.
1172 (ldfile_open_command_file): Call ldfile_open_command_file_1.
1173 (ldfile_open_default_command_file): New.
1177 * ldlang.c (lang_leave_output_section_statement): Set lma_region
1178 if it is not overridden and section is for the same vma region as
1179 the previous section.
1184 * ld.texinfo (--export-dynamic): Mention --export-all-symbols.
1185 * emultempl/pe.em (gld_${EMULATION_NAME}_after_parse): Issue
1186 warning if --export-dynamic was passed on command-line.
1187 * emultempl/pep.em (gld_${EMULATION_NAME}_after_parse): Likewise.
1191 * emultempl/aix.em (gld${EMULATION_NAME}_open_dynamic_archive): New
1193 (ld_${EMULATION_NAME}_emulation): Use it.
1198 * ldlang.c (lang_end): Warn missing entry symbol for -pie.
1202 * emultempl/spuelf.em (spu_before_allocation): Report errors from
1203 spu_elf_find_overlays.
1208 * lexsup.c (parse_args): Call ldlang_add_undef for -e.
1212 * ld.h: Remove alloca handling.
1216 * emultempl/spu_icache.S: Add new entry to dummy handler.
1217 * emultempl/spu_icache.o_c: Regenerate.
1218 * emultempl/spuelf.em (params): Init new field.
1219 (no_overlays): New static var.
1220 (spu_before_allocation): Use it.
1221 (OPTION_SPU_COMPACT_STUBS): Define.
1222 (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add compact-stubs.
1223 (PARSE_AND_LIST_ARGS_CASES): Handle compact-stubs. Adjust no-overlays
1228 * configure.host (HOSTING_LIBS): Two dollars on shell variable
1229 expansion to suit make.
1233 * configure.in: Invoke ACX_PROG_CMP_IGNORE_INITIAL.
1234 * Makefile.am (check-DEJAGNU): Set DO_COMPARE.
1235 * aclocal.m4: Regenerate.
1236 * configure: Regenerate.
1237 * Makefile.in: Regenerate.
1241 * emultempl/aix.em (auto_export_flags): New variable.
1242 (explicit_auto_export_flags): Likewise.
1243 (OPTION_EXPALL, OPTION_EXPFULL): New enum values.
1244 (OPTION_NOEXPALL, OPTION_NOEXPFULL): Likewise.
1245 (gld${EMULATION_NAME}_add_options): Add -bexpall, -bexpfull,
1246 -bnoexpall and -bnoexpfull.
1247 (gld${EMULATION_NAME}_handle_option): Handle them.
1248 (gld${EMULATION_NAME}_before_allocation): Update the call to
1249 bfd_size_dynamic_sections.
1253 * emultempl/aix.em (gld${EMULATION_NAME}_handle_option): Make
1254 -berok and -bernotok control link_info.unresolved_syms_in_objects
1255 and link_info.unresolved_syms_in_shared_libs instead of
1256 force_make_executable.
1260 * emultempl/aix.em (gld${EMULATION_NAME}_before_parse): Set
1261 config.dynamic_link to TRUE.
1265 * emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Mark
1266 .text, .data and .bss output sections as SEC_KEEP.
1270 * configure.tgt: Extend AIX 5 behavior to AIX 6 and above.
1275 * emultmpl/pe.em (pe_dll_characteristics): New variable.
1276 (OPTION_DYNAMIC_BASE, OPTION_FORCE_INTEGRITY, OPTION_NX_COMPAT,
1277 OPTION_NO_ISOLATION. OPTION_NO_SEH, OPTION_NO_BIND,
1278 OPTION_WDM_DRIVER, OPTION_TERMINAL_SERVER_AWARE):
1279 New macros for options to set DllCharacteristics flag bits.
1280 (gld${EMULATION_NAME}_add_options): Add dynamicbase, forceinteg,
1281 nxcompat, no-isolation, no-seh, no-bind, wdmdriver, tsaware options.
1282 (init): Add DllCharacteristics field.
1283 (gld_${EMULATION_NAME}_list_options): List new options.
1284 (gld${EMULATION_NAME}_handle_option): Handle new options.
1285 * emultmpl/pep.em (pe_dll_characteristics): New variable.
1286 (OPTION_DYNAMIC_BASE, OPTION_FORCE_INTEGRITY, OPTION_NX_COMPAT,
1287 OPTION_NO_ISOLATION. OPTION_NO_SEH, OPTION_NO_BIND,
1288 OPTION_WDM_DRIVER, OPTION_TERMINAL_SERVER_AWARE):
1289 New macros for options to set DllCharacteristics flags.
1290 (gld${EMULATION_NAME}_add_options): Add dynamicbase, forceinteg,
1291 nxcompat,no-isolation, no-seh, no-bind, wdmdriver, tsaware options.
1292 (init): Add DllCharacteristics field.
1293 (gld_${EMULATION_NAME}_list_options): List new options.
1294 (gld${EMULATION_NAME}_handle_option): Handle new options.
1295 * ldtexinfo : Document dynamicbase, forceinteg, nxcompat,
1296 no-isolation, no-seh, no-bind, wdmdriver, tsaware options.
1300 * po/es.po: Updated Spanish translation.
1304 * emultempl/pe.em (debug_section_p): New bfd_map_over_sections hook.
1305 (gld_${EMULATION_NAME}_after_open): Use it to iterate all sections
1306 of all input BFDs, looking for debug info. Enable long section names
1308 * emultempl/pe.em (debug_section_p): Likewise.
1309 (gld_${EMULATION_NAME}_after_open): Likewise.
1310 * NEWS: Retrospectively adjust news announcement.
1311 * ld.texinfo: Update documentation to mention new behaviour.
1315 * Makefile.am: Run "make dep-am".
1316 * Makefile.in: Regenerate.
1320 * ldgram.y: Add support for REGION_ALIAS operator.
1321 * ldlang.c: Likewise.
1322 * ldlang.h: Likewise.
1323 * ldlex.l: Likewise.
1324 * NEWS: Mention the new feature.
1325 * ld.texinfo: Document the new feature.
1329 * Makefile.am: Replace score elf emulation with score3 and score7
1331 * Makefile.in: Regenerate,
1332 * NEWS: Mention support for Score7 architecture.
1333 * configure.tgt: Add score7 emulation to score-elf target.
1334 * emulparams/scoreelf.sh: Add score7 support.
1335 * emultempl/scoreelf.em: Likewise.
1339 * configure.tgt: Only use elf64hppa target emulation for hpux.
1340 * emulparams/elf64hppa.sh: Don't include hppa64linux.sh.
1341 (SCRIPT_NAME): Use new script elf64hppa.
1342 (SCRIPT_NAME, ELFSIZE, NO_REL_RELOCS, ARCH, MACHINE, ENTRY,
1343 TEMPLATE_NAME, GENERATE_SHLIB_SCRIPT, OTHER_READONLY_SECTIONS,
1344 OTHER_READWRITE_SECTIONS, OTHER_BSS_SECTIONS, OTHER_GOT_RELOC_SECTIONS,
1345 DATA_START_SYMBOLS, OTHER_SYMBOLS, DATA_PLT, PLT_BEFORE_GOT,
1346 TEXT_DYNAMIC): Define.
1347 * emulparams/hppa64linux.sh: Adjust comments.
1348 * scripttempl/elf64hppa.sc: New file.
1352 * configure: Regenerate.
1356 * emultempl/pe.em (gld_${EMULATION_NAME}_before_parse): Set
1357 default state of auto-import flag based on $target.
1361 * ld.texinfo (ARM): Document changed meaning of --stub-group-size.
1362 * emultempl/armelf.em (hook_in_stub): Insert after the input section.
1363 (elf32_arm_add_stub_section): Update comment.
1364 (PARSE_AND_LIST_OPTIONS): Update help for --stub-group-size.
1368 * ld.texinfo (Options): Correct typos in example. Recommend
1369 using joined forms of syntax for passing options with arguments
1371 (-a): Use consistent syntax for documenting option arguments.
1372 Clean up indexing and markup.
1373 (-A/--architecture): Likewise.
1374 (-f/--auxiliary): Likewise.
1375 (-F/--filter): Likewise.
1377 (-G/--gpsize): Likewise.
1378 (-h/-soname):Likewise.
1380 (-l/--library): Likewise.
1381 (-L/--library-path): Likewise.
1383 (--defsym): Likewise.
1384 (-I/--dynamic-linker): Likewise.
1386 (--oformat): Likewise.
1387 (--retain-symbols-file): Likewise.
1389 (-rpath-link): Likewise.
1390 (--sort-common): Likewise.
1391 (--sort-section): Likewise.
1392 (--split-by-file): Likewise.
1393 (--split-by-reloc): Likewise.
1394 (--sysroot): Likewise.
1395 (--section-start): Likewise.
1396 (-Tbss, -Tdata, -Ttext): Likewise.
1397 (-Ttext-segment): Likewise.
1398 (--version-script): Likewise.
1403 * ld.texinfo: Update to mention long section name options.
1404 * NEWS: Mention new behaviour and command-line options.
1405 * pe-dll.c (pe_use_coff_long_section_names): New global variable.
1406 (pe_output_file_set_long_section_names): New function.
1407 (pe_dll_build_sections): Call it on output BFDs.
1408 (pe_exe_build_sections): Likewise.
1409 (pe_dll_fill_sections): Likewise.
1410 (pe_exe_fill_sections): Likewise.
1411 * pe-dll.h (pe_use_coff_long_section_names): Declare extern.
1412 (pe_output_file_set_long_section_names): Add prototype.
1413 * pep-dll.c (pe_use_coff_long_section_names): Define pep_ alias.
1414 (pe_output_file_set_long_section_names): Likewise.
1415 * pep-dll.h (pep_use_coff_long_section_names): Declare extern.
1416 (pep_output_file_set_long_section_names): Add prototype.
1417 * pe.em (OPTION_ENABLE_LONG_SECTION_NAMES): New getopt value macro.
1418 (OPTION_DISABLE_LONG_SECTION_NAMES): Likewise.
1419 (gld${EMULATION_NAME}_add_options): Add new options to xtra_long[].
1420 (gld_${EMULATION_NAME}_list_options): Describe them.
1421 (gld${EMULATION_NAME}_handle_option): Set or clear global
1422 pe_use_coff_long_section_names flag when options recognised.
1423 (gld_${EMULATION_NAME}_after_open): En/disable long section names
1424 for main output bfd by calling pe_output_file_set_long_section_names.
1425 * pep.em (enum options): Extend enum with new getopt option values.
1426 (gld${EMULATION_NAME}_add_options): Add new options to xtra_long[].
1427 (gld_${EMULATION_NAME}_list_options): Describe them.
1428 (gld${EMULATION_NAME}_handle_option): Set or clear global
1429 pe_use_coff_long_section_names flag when options recognised.
1430 (gld_${EMULATION_NAME}_after_open): En/disable long section names
1431 for main output bfd by calling pep_output_file_set_long_section_names.
1435 * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Don't emit
1436 inadvertent .reloc sections caused by refactoring accident.
1440 * ldlang.c (process_insert_statements): ASSERT that output section
1441 statements are in order.
1445 * ldlang.c (push_stat_ptr, pop_stat_ptr): New functions.
1446 (stat_save, stat_save_ptr): New variables.
1447 (lang_insert_orphan): Use push_stat_ptr and pop_stat_ptr.
1448 (load_symbols): Likewise. Delete dead "bad_load" code.
1449 (open_input_bfds): Warn on script containing output sections.
1450 (lang_enter_output_section_statement): Use push_stat_ptr.
1451 (lang_enter_group): Likewise.
1452 (lang_leave_output_section_statement): Use pop_stat_ptr.
1453 (lang_leave_group): Likewise.
1454 * ldlang.h (push_stat_ptr, pop_stat_ptr): Declare.
1455 * ldctor.c (ldctor_build_sets): Use push_stat_ptr and pop_stat_ptr.
1456 * emultempl/beos.em (gld_${EMULATION_NAME}_set_symbols): Likewise.
1457 * emultempl/pe.em (gld_${EMULATION_NAME}_set_symbols): Likewise.
1458 * emultempl/pep.em (gld_${EMULATION_NAME}_set_symbols): Likewise.
1459 * emultempl/spuelf.em (spu_place_special_section): Likewise.
1460 * emultempl/xtensaelf.em (ld_xtensa_insert_page_offsets): Likewise.
1464 Missing piece of 2009-01-26 commit
1465 * ldlang.c (lang_process): Don't consider relocatable flag when
1466 checking for overlap.
1470 * emulparams/m68kelf.sh: Add newline at end of file.
1475 * ld.texinfo (--allow-shlib-undefined): Correct description of
1476 default settings and tidy up the rest of the entry.
1480 * emultempl/spuelf.em (spu_after_open): Don't combine .text.ia.*
1481 during relocatable link.
1486 * ld.texinfo (Constants): Document the base-encoding suffixes
1487 supported in linker scripts.
1491 * NEWS: Mention --as-needed change.
1495 * configure.in: AC_SUBST pdfdir.
1496 * Makefile.am: Add install-pdf, install-pdf-am,
1497 and install-pdf-recursive targets. Define pdf__strip_dir.
1498 * po/Make-in: Add install-pdf target.
1499 * configure: Regenerate.
1500 * Makefile.in: Regenerate.
1504 * ld.texinfo (--as-needed): Update.
1508 * emultempl/armelf.em: Correct formatting of help text for
1509 --no-enum-size-warning option.
1513 * lexsup.c (parse_args): Set check_section_addresses to 1 or 0.
1514 * ld.h (args_type): Make check_section_addresses a char.
1515 * ldmain.c (main): Default check_section_addresses to -1. Check it
1516 for relocatable links.
1517 * ld.texinfo (--check-sections): Update documentation.
1521 * pe-dll.c (tmp_seq2): New static variable.
1522 (make_singleton_name_imp): New.
1523 (make_import_fixup_entry): Use for v2 the _imp_<name> symbol and
1524 avoid duplicate import table generation for same symbol.
1525 (pe_create_runtime_relocator_reference): Make reference for
1530 * emultempl/spuelf.em (params): Init new field.
1531 (OPTION_SPU_NON_IA_TEXT): Define.
1532 (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add --non-ia-text.
1533 (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_SPU_NON_IA_TEXT.
1537 * lexsup.c (option_values): Add OPTION_TTEXT_SEGMENT.
1538 (ld_options): Add -Ttext-segment.
1539 (parse_args): Handle OPTION_TTEXT_SEGMENT.
1541 * ld.texinfo: Document -Ttext-segment.
1543 * NEWS: Mention -Ttext-segment.
1545 * scripttempl/elf.sc (TEXT_START_ADDR): Use SEGMENT_START.
1546 (SHLIB_TEXT_START_ADDR): Likewise.
1550 * emultempl/spu_icache.o_c: Regenerate.
1554 * emultempl/spuelf.em (params): Init new fields.
1555 (num_lines_set, line_size_set, icache_mgr, icache_mgr_stream): New vars.
1556 (spu_place_special_section): Adjust placement for soft-icache. Pad
1557 soft-icache section to a fixed size. Clear addr_tree.
1558 (spu_elf_load_ovl_mgr): Support soft-icache. Map overlay manager
1559 sections a little more intelligently.
1560 (gld${EMULATION_NAME}_finish): Don't call spu_elf_build_stubs.
1561 (OPTION_SPU_NUM_LINES): Rename from OPTION_SPU_NUM_REGIONS.
1562 (OPTION_SPU_SOFT_ICACHE, OPTION_SPU_LINE_SIZE): Define.
1563 (OPTION_SPU_LRLIVE): Define.
1564 (PARSE_AND_LIST_LONGOPTS): Add new soft-icache options.
1565 (PARSE_AND_LIST_OPTIONS): Likewise.
1566 (PARSE_AND_LIST_ARGS_CASES): Handle them.
1567 * emultempl/spu_icache.S: Dummy file.
1568 * emultempl/spu_icache.o_c: Regenerate.
1569 * Makefile.am (eelf32_spu.c): Depend on spu_icache.o_c.
1570 (spu_icache.o_c): Add rule to build.
1571 (CLEANFILES): Zap temp files.
1572 (EXTRA_DIST): Add spu_icache.o_c.
1573 * Makefile.in: Regenerate.
1577 * pe.em (OPTION_USE_NUL_PREFIXED_IMPORT_TABLES): New.
1578 (gld..._add_options): Add new option
1579 --use-nul-prefixed-import-tables.
1580 (gld..._handle_option): Likewise.
1581 * pep.em: Same as for pe.em.
1582 * ld.texinfo: Add new option documentation for
1583 --use-nul-prefixed-import-tables.
1584 * pe-dll.c (pe_use_nul_prefixed_import_tables): New.
1585 (make_head): Make prefix leading zero prefix element for
1586 idata$4 and idata$5 dependent to new flag.
1587 (make_import_fixup_entry): Remove idata4/5 prefix.
1588 * pe-dll.h (pe_use_nul_prefixed_import_tables): New.
1589 * pep-dll.c (pe_use_nul_prefixed_import_tables): New.
1590 * pep-dll.h (pep_use_nul_prefixed_import_tables): New.
1591 * NEWS: Add new option.
1595 * emultempl/pe.em: Prefix dollar characters to be outputed in
1597 * emultempl/pep.em: Likewise.
1601 * NEWS: Mention new feature --exclude-modules-for-implib.
1602 * ld.texinfo: Document new --exclude-modules-for-implib option.
1603 * pe-dll.c (exclude_list_struct): Change type member from int to
1604 new enumeration exclude_type.
1605 (pe_dll_add_excludes): Accept exclude_type instead of int param.
1606 (auto_export): Replace magic constants by exclude_type values and
1607 handle new choice EXCLUDEFORIMPLIB.
1608 (pe_dll_generate_implib): Accept a pointer to the link_info and
1609 iterate all input BFDs looking for EXCLUDEFORIMPLIB modules; re-open
1610 fresh BFDs for any found and link into import lib archive chain.
1611 * pe-dll.h (exclude_type): Add new enumerated type to replace magic
1612 constants previously used for exclude_list_struct type member.
1613 (pe_dll_add_excludes, pe_dll_generate_implib): Update prototypes.
1614 * pep-dll.h (exclude_type, pe_dll_add_excludes,
1615 pe_dll_generate_implib): Likewise to all the above.
1616 * emultempl/pe.em (OPTION_EXCLUDE_MODULES_FOR_IMPLIB): Define new
1617 getopts long option code for new --exclude-modules-for-implib option.
1618 (gld${EMULATION_NAME}_add_options): Add new entry to xtra_long[].
1619 (gld_${EMULATION_NAME}_list_options): List usage for it.
1620 (gld${EMULATION_NAME}_handle_option): Use exclude_type enumerated
1621 values when calling pe_dll_add_excludes, and handle EXCLUDEFORIMPLIB.
1622 (gld_${EMULATION_NAME}_finish): Pass pointer to link_info when
1623 calling pe_dll_generate_implib.
1624 * emultempl/pep.em (options): Define new enumerated value for getopts
1625 long option code for new --exclude-modules-for-implib option.
1626 (gld${EMULATION_NAME}_add_options, gld_${EMULATION_NAME}_list_options,
1627 gld${EMULATION_NAME}_handle_option, gld_${EMULATION_NAME}_finish):
1628 Again, likewise to all the above.
1632 * pe-dll.c (autofilter_liblist): Add entry for shared libgcc.
1633 (libnamencmp): New function.
1634 (auto_export): Use it in place of strncmp when filtering libraries.
1636 For older changes see ChangeLog-2008
1638 Copyright (C) 2009 Free Software Foundation, Inc.
1640 Copying and distribution of this file, with or without modification,
1641 are permitted in any medium without royalty provided the copyright
1642 notice and this notice are preserved.
1648 version-control: never