3 * configure: Regenerate.
7 * NEWS: Add marker for 2.24.
12 * deffilep.y (def_file_add_directive): Avoid readin past end of
18 * ld.texinfo: Fix uses of MB abbreviation.
22 * emulparams/elf_i386_nacl.sh (ARCH): Set to i386:nacl.
23 * emulparams/elf_x86_64_nacl.sh (ARCH): Set to i386:x86-64:nacl.
24 * emulparams/elf32_x86_64_nacl.sh (ARCH): Set to i386:x64-32:nacl.
28 * emulparams/elf_nacl.sh (nacl_rodata_addr): Don't add in
29 SIZEOF_HEADERS here; elf.sc does it already.
34 * scripttempl/avr.sc: Do not include gc'able sections into general
35 sections during relocatable links.
39 * emultempl/pe.em: Add --disable-large-address-aware option.
40 * ld.texinfo (--disable-large-address-aware): Add documentation.
44 * ldexp.c: Add LOG2CEIL() builtin function to linker script language
47 * NEWS: Mention the new feature.
48 * ld.texinfo: Document the new feature.
52 * ldgram.y: Add ALIGN_WITH_INPUT output section attribute.
57 * ld.texinfo: Document new feature.
58 * NEWS: Mention new feature.
62 * emultempl/armelf.em (elf32_arm_add_stub_section): Take third
63 argument ALIGNMENT_POWER, use it instead of constant 3.
67 * scripttempl/elf.sc: Handle function names and other text after
72 * scripttempl/ia64vms.sc: Add support of per data and per function
77 * emultempl/ppc64elf.em: (ppc_layout_sections_again): Call
78 ppc64_elf_set_toc rather than ppc64_elf_toc/_bfd_set_gp_value.
79 (gld${EMULATION_NAME}_after_allocation): Likewise.
83 * emulparams/aarch64elf32.sh: New file.
87 * Makefile.am (ALL_64_EMULATION_SOURCES): Add eaarch64elf32b.c.
88 (eaarch64elf32b.c): New dependency and rule.
89 * Makefile.in: Re-generated.
90 * configure.tgt (aarch64-*-elf): Add aarch64elf32b.
91 (aarch64_be-*-elf, aarch64_be-*-linux*, aarch64-*-linux*): Likewise.
92 * emulparams/aarch64elf32b.sh: New file.
96 * Makefile.am (ALL_64_EMULATION_SOURCES): Add eaarch64elf32.c.
97 (eaarch64elf32.c): New dependency and rule.
98 * Makefile.in: Re-generated.
99 * configure.tgt (aarch64-*-elf): Add aarch64elf32.
100 (aarch64_be-*-elf, aarch64_be-*-linux*, aarch64-*-linux*): Likewise.
101 * emulparams/aarch64elf32.sh: New file.
105 * emultempl/mipself.em (insn32): New variable.
106 (mips_create_output_section_statements): Handle insn32 mode.
107 (PARSE_AND_LIST_PROLOGUE): New macro.
108 (PARSE_AND_LIST_LONGOPTS): Likewise.
109 (PARSE_AND_LIST_OPTIONS): Likewise.
111 * gen-doc.texi: Set MIPS.
112 * ld.texinfo: Likewise.
113 (Options specific to MIPS targets): New section.
114 (ld and MIPS family): New node.
115 (Top, Machine Dependent): List the new node.
119 * emulparams/elf32btsmip.sh: Arrange for .got.plt to be placed
120 as close to .plt as possible.
121 * scripttempl/elf.sc: Handle $INITIAL_READWRITE_SECTIONS and
122 $PLT_NEXT_DATA variables.
126 * Makefile.am (ALL_EMULATION_SOURCES): Move MIPS ELF emulations to...
127 (ALL_64_EMULATION_SOURCES): ...here.
128 * Makefile.in: Regenerate.
132 * NEWS: Document the removal of MIPS ECOFF targets.
133 * ld.texinfo (--gpsize=@var{value}): Use MIPS ELF rather than
134 MIPS ECOFF as an example of a target that supports small data.
135 * ldmain.c (g_switch_value): Likewise.
136 * configure.tgt (mips*-*-pe, mips*-dec-ultrix*, mips*-dec-osf*)
137 (mips*-sgi-irix* [v4 and earlier], mips*el-*-ecoff*, mips*-*-ecoff*)
138 (mips*-*-bsd*, mips*-*-lnews*): Remove cases.
139 * Makefile.am (ALL_EMULATION_SOURCES): Remove emipsbig.c, emipsbsd.c,
140 emipsidt.c, emipsidtl.c, emipslit.c, emipslnews.c and emipspe.c.
141 (emipsbig.c, emipsbsd.c, emipsidt.c, emipsidtl.c, emipslit.c)
142 (emipslnews.c, emipspe.c): Delete rules.
143 * Makefile.in: Regenerate.
144 * emulparams/mipsbig.sh, emulparams/mipsbsd.sh, emulparams/mipsidt.sh,
145 emulparams/mipsidtl.sh, emulparams/mipslit.sh, emulparams/mipslnews.sh,
146 emulparams/mipspe.sh, emultempl/mipsecoff.em: Delete.
147 * emultempl/m68kcoff.em: Update comment to say that MIPS ECOFF support
148 has now been removed.
149 * emultempl/pe.em: Remove TARGET_IS_mipspe checks.
153 * emulparams/aarch64elf.sh: Remove IREL_IN_PLT.
157 * emulparams/aarch64elf.sh: Add IREL_IN_PLT.
161 * ldcref.c (output_one_cref): Place common definitions after
162 ordinary definitions but before references.
167 * ld.texinfo (Source Code Reference): Fix typos.
171 * emulparams/aarch64elf.sh: Add IREL_IN_PLT.
175 * ld.texinfo (SEGMENT_START): Rephrase to indicate that a -T
176 option must appear before the SEGMENT_START is encountered in
177 order for the default value to be overridden.
182 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
183 Restrict __ehdr_start's export class to no less than STV_HIDDEN.
187 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
188 Only call lang_for_each_statement if an ELF hash table is used.
192 * Makefile.am: Add emsp430X.c
193 * Makefine.in: Regenerate.
194 * configure.tgt (msp430): Add msp430X emulation.
195 * ldmain.c (multiple_definition): Only disable relaxation if it
196 was enabled by the user.
197 * ldmain.h (RELAXATION_ENABLED_BY_USER): New macro.
198 * emulparams/msp430all.sh: Add support for MSP430X.
199 * emultempl/generic.em: (before_parse): Enable relaxation for the
201 * scripttempl/msp430.sc: Reorganize sections. Add .rodata
203 * scripttempl/msp430_3.sc: Likewise.
204 * NEWS: Mention support for MSP430X.
208 * configure.tgt: Replace alpha*-*-linuxecoff* pattern with
209 alpha*-*-linux*ecoff*. Update the `sed' pattern used to convert
210 from alpha*-*-linux-* to alpha*-*-linux*ecoff*.
214 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
215 Use is_elf_hash_table rather than a handcoded condition.
219 * ld.texinfo (SORT_BY_ALIGNMENT): Fix and clarify typo - sections
220 are sorted by descending order of alignment.
224 * scripttempl/DWARF.sc: Add support for .debug_line.* and
229 * emultempl/pe.em [cygwin]: Do not merge rdata with v2
234 * scripttempl/armbpabi.sc: Replace "source" usage with ".".
235 * scripttempl/avr.sc: Likewise.
236 * scripttempl/elf.sc: Likewise.
237 * scripttempl/elf32cr16.sc: Likewise.
238 * scripttempl/elf32crx.sc: Likewise.
239 * scripttempl/elf32msp430.sc: Likewise.
240 * scripttempl/elf32msp430_3.sc: Likewise.
241 * scripttempl/elf32sh-symbian.sc: Likewise.
242 * scripttempl/elf64hppa.sc: Likewise.
243 * scripttempl/elf_chaos.sc: Likewise.
244 * scripttempl/elfd10v.sc: Likewise.
245 * scripttempl/elfd30v.sc: Likewise.
246 * scripttempl/elfi370.sc: Likewise.
247 * scripttempl/elfm68hc11.sc: Likewise.
248 * scripttempl/elfm68hc12.sc: Likewise.
249 * scripttempl/elfxgate.sc: Likewise.
250 * scripttempl/elfxtensa.sc: Likewise.
251 * scripttempl/epiphany_4x4.sc: Likewise.
252 * scripttempl/i386beos.sc: Likewise.
253 * scripttempl/i386go32.sc: Likewise.
254 * scripttempl/ia64vms.sc: Likewise.
255 * scripttempl/ip2k.sc: Likewise.
256 * scripttempl/iq2000.sc: Likewise.
257 * scripttempl/mep.sc: Likewise.
258 * scripttempl/mmo.sc: Likewise.
259 * scripttempl/v850.sc: Likewise.
260 * scripttempl/v850_rh850.sc: Likewise.
261 * scripttempl/xstormy16.sc: Likewise.
265 * scripttempl/avr.sc: Add ALIGN directive after *(.progmem*).
269 * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Test
270 unresolved_syms_in_shared_libs rather than !executable to
271 determine whether to load DT_NEEDED libraries.
275 * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32lppclinux.c.
276 (eelf32lppclinux.c): New rule.
277 * Makefile.in: Regenerate.
278 * configure.tgt: Merge powerpc-linux and other powerpc-elf targets
279 with corresponding little-endian targets.
280 * emulparams/elf32lppc.sh: Update comment.
281 * emulparams/elf32lppclinux.sh: New.
285 * configure.tgt (targ_extra_emuls): Adds elf32_x86_64 for
287 (targ_extra_libpath): Likewise.
288 (tdir_elf_i386): Replace x86_64 with i386 for x86_64-*-elf*.
292 * emulparams/aarch64elf.sh: Define ELFSIZE=64.
293 * emulparams/aarch64linux.sh: Ditto.
294 * emultempl/aarch64elf.em (aarch64_elf_before_allocation):
295 Replace elf64 with elf${ELFSIZE}.
296 (elf64_aarch64_add_stub_section): Likewise.
297 (build_section_lists): Likewise.
298 (gld${EMULATION_NAME}_after_allocation): Likewise.
299 (gld${EMULATION_NAME}_finish): Likewise.
300 (aarch64_elf_create_output_section_statements): Likewise.
305 * scripttempl/avr.sc: Add .note.gnu.build-id section.
309 * emultempl/ppc64elf.em (ppc_create_output_section_statements):
310 Check return from ppc64_elf_init_stub_bfd.
314 * Makefile.am (ELF_DEPS): Add a dependency upon
315 scripttempl/DWARF.sc.
316 (ELF_GEN_DEPS): Likewise.
318 * Makefile.in: Regenerate.
320 * scripttempl/armbpabi.sc: Replace DWARF sections with an
321 inclusion of DWARF.sc.
322 * scripttempl/avr.sc: Likewise.
323 * scripttempl/elf.sc: Likewise.
324 * scripttempl/elf32cr16.sc: Likewise.
325 * scripttempl/elf32crx.sc: Likewise.
326 * scripttempl/elf32msp430.sc: Likewise.
327 * scripttempl/elf32msp430_3.sc: Likewise.
328 * scripttempl/elf32sh-symbian.sc: Likewise.
329 * scripttempl/elf64hppa.sc: Likewise.
330 * scripttempl/elf_chaos.sc: Likewise.
331 * scripttempl/elfd10v.sc: Likewise.
332 * scripttempl/elfd30v.sc: Likewise.
333 * scripttempl/elfi370.sc: Likewise.
334 * scripttempl/elfm68hc11.sc: Likewise.
335 * scripttempl/elfm68hc12.sc: Likewise.
336 * scripttempl/elfxgate.sc: Likewise.
337 * scripttempl/elfxtensa.sc: Likewise.
338 * scripttempl/epiphany_4x4.sc: Likewise.
339 * scripttempl/i386beos.sc: Likewise.
340 * scripttempl/i386go32.sc: Likewise.
341 * scripttempl/ia64vms.sc: Likewise.
342 * scripttempl/ip2k.sc: Likewise.
343 * scripttempl/iq2000.sc: Likewise.
344 * scripttempl/mep.sc: Likewise.
345 * scripttempl/mmo.sc: Likewise.
346 * scripttempl/v850.sc: Likewise.
347 * scripttempl/v850_rh850.sc: Likewise.
348 * scripttempl/xstormy16.sc: Likewise.
349 * scripttempl/DWARF.sc: New.
353 * ldlang.c (load_symbols): Report "error adding symbols" on
354 bfd_link_add_symbols failure.
355 * emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Likewise.
356 * emultempl/sunos.em (gld${EMULATION_NAME}_after_open): Likewise.
357 (gld${EMULATION_NAME}_try_needed): Likewise.
362 * scripttempl/avr.sc: Place trampolines before .progmem section.
366 * ld.texinfo (--disable-runtime-pseudo-reloc): Adjust default.
370 * ld.texinfo (H8/300): Add description of relaxation of
371 mov @(disp:32,ERx) to mov @(disp:16,ERx).
375 * pe-dll.c (process_def_file_and_drectve): Don't handle VC
376 generated C++-symbols as stdcall/fastcall.
380 * ld.texinfo (--as-needed): Update.
384 * emulparams/aarch64linux.sh (LIBPATH_SUFFIX): Set to 64 for
385 aarch64linux* emulations.
389 * ldfile.c (ldfile_open_command_file_1): Return after einfo
394 * configure.host: Add x86_64-*-cygwin* as valid host.
395 * configure.tgt: Add x86_64-*-cygwin* as valid target.
396 * emultempl/pep.em: Handle different requirements for Cygwin in terms
397 of start addresses for executables and DLLs, based on memory model in
398 http://cygwin.com/ml/cygwin-developers/2013-02/msg00027.html
403 * ldlang.c (lang_size_sections_1): When given an lma_region align
404 LMA as per VMA only if lma_region is the same as region.
408 * scripttempl/elf32msp430.sc: Add placement of .data.* sections.
409 Add alignment of .bss section.
410 * scripttempl/elf32msp430_3.sc: Likewise.
415 * ld.texinfo: Fix typos.
419 * scripttempl/elf.sc (.init_array, .fini_array): Don't sort all
420 .init_array/.fini_array input sections before .ctors/.dtors input
422 (CTORS_IN_INIT_ARRAY, DTORS_IN_INIT_ARRAY): Adjust to suit.
426 * emultempl/elf32.em (write_build_id, setup_build_id): Adjust
427 for elf_tdata changes.
431 * emultempl/elf-generic.em: Use newly defined elf_obj_tdata
436 * Makefile.am: Use $(ELF_DEPS) on a number of eelf*.c rules.
437 * Makefile.in: Regenerate.
442 * plugin.c (plugin_notice): Add null check before dereferencing
447 * emultempl/elf32.em (emit_note_gnu_build_id): New static var.
448 Replace all info->emit_note_gnu_build_id refs.
449 (id_note_section_size): Rename from
450 gld${EMULATION_NAME}_id_note_section_size.
451 (struct build_id_info): Delete.
452 (write_build_id): Rename from
453 gld${EMULATION_NAME}_write_build_id_section.
454 Update elf_tdata usage. Style, formatting.
455 (setup_build_id): New function.
456 (gld${EMULATION_NAME}_after_open): Use setup_build_id.
461 * plugin.c (plugin_notice): Replace the undefined dummy bfd with
467 * plugin.c (plugin_notice): Also trace symbol from the IR bfd.
471 * scripttempl/pep.sc (.xdata): Merge .xdata* into .xdata section.
472 (.pdata): Merge .pdata* into .pdata section.
476 * ldlang.c (get_init_priority): Comment typo.
477 (lang_finish): Free link_info.hash and lang_definedness_table.
478 (lang_end): Delete lang_definedness_table comment.
483 * ld.texinfo (-rpath-link): Typo fix.
487 * emultempl/metagelf.em (build_section_lists): Use sec_info_type
488 rather than userdata->flags.just_syms.
493 Based on patches from Altera Corporation.
495 * Makefile.am (enios2elf.c): New rule.
496 * Makefile.in: Regenerated.
497 * configure.tgt: Add case for nios2*-*-*.
498 * emulparams/nios2elf.sh: New file.
499 * NEWS: Note Altera Nios II support.
503 * emultempl/avrelf.em (avr_elf_before_parse): New function.
504 (LDEMUL_BEFORE_PARSE): Define.
509 * emultempl/elf32.em: Revert 2013-02-04, 2013-01-22 and 2013-01-21.
510 * emultempl/alphaelf.em: Revert 2013-02-04.
511 * emultempl/cr16elf.em: Likewise.
512 * emultempl/crxelf.em: Likewise.
513 * emultempl/hppaelf.em: Likewise.
514 * emultempl/ia64elf.em: Likewise.
515 * emultempl/mipself.em: Likewise.
516 * NEWS: Revert 2013-01-21.
521 * emultempl/alphaelf.em (alpha_after_parse): Call
522 gld${EMULATION_NAME}_after_parse instead of after_parse_default.
523 * emultempl/cr16elf.em (cr16elf_after_parse): Likewise.
524 * emultempl/crxelf.em (crxelf_after_parse): Likewise.
525 * emultempl/hppaelf.em (hppaelf_after_parse): Likewise.
526 * emultempl/mipself.em (mips_after_parse): Likewise.
528 * emultempl/ia64elf.em (gld${EMULATION_NAME}_after_parse): Renamed
530 (gld_${EMULATION_NAME}_after_parse): This. Call
531 gld${EMULATION_NAME}_after_parse instead of after_parse_default.
532 (LDEMUL_AFTER_PARSE): Set to gld_${EMULATION_NAME}_after_parse.
534 * emultempl/elf32.em (new_dtags_set): New variable.
535 (gld${EMULATION_NAME}_before_parse): Don't set link_info.new_dtags
537 (gld${EMULATION_NAME}_after_parse): New function.
538 (ld_${EMULATION_NAME}_emulation): Replace after_parse_default'
539 with gld${EMULATION_NAME}_after_parse.
540 (gld${EMULATION_NAME}_handle_option): Set new_dtags_set to TRUE
541 when setting link_info.new_dtags.
545 * deffilep.y (def_image_name): Adjust type of base-address
547 (%union): Add new type bfd_vma as vma.
549 (opt_base): Use VMA instead of NUMBER rule to evaluate value.
550 (def_file_print): Use bfd's fprintf_vma to output base-address.
554 * NEWS: Mention support for V850E3V5 architecture.
559 * scripttempl/pep.sc (.pdata): Only accept .pdata sections.
561 (.debug_frame): Similarly.
566 * scripttempl/avr.sc (.eeprom): Keep it.
570 * Makefile.am (ALL_64_EMULATION_SOURCES): Add eelf64rdos.c.
571 (eelf64rdos.c): New rule.
572 * emulparams/elf64rdos.sh: New file.
573 * configure.tgt (x86_64-*-rdos*): Use above.
574 * Makefile.in: Regenerate.
578 * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Set
579 new_dtags to TRUE for *-*-nacl* targets.
583 * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Set
584 link_info.new_dtags to TRUE for linux/gnu targets.
585 * NEWS: Mention new dtags default.
589 * Makefile.am (HOSTING_SCRT0): New.
591 * configure.host (HOSTING_SCRT0): New. Used for PIE.
593 * configure.in (HOSTING_SCRT0): New AC_SUBST.
595 * Makefile.in: Regenerated.
596 * configure: Likewise.
600 * NEWS: Mention change in behavior with --enable-new-dtags.
601 * ld.texinfo (Options): Clarify --enable-new-dtags behavior.
606 * ld.texinfo (-Tldata-segment): Describe.
607 * ldlex.h (OPTION_TLDATA_SEGMENT): New enum value.
608 * lexsup.c (ld_options): Add -Tldata-segment.
609 (parse_args): Handle OPTION_TLDATA_SEGMENT.
610 * scripttempl/elf.sc: Support LARGE_DATA_ADDR.
614 * deffilep.y: Remove trailing white spaces.
615 * elf-hints-local.h: Likewise.
617 * ldlang.h: Likewise.
618 * ldmisc.c: Likewise.
619 * ldwrite.c: Likewise.
620 * pe-dll.c: Likewise.
621 * emulparams/criself.sh: Likewise.
622 * emulparams/crislinux.sh: Likewise.
623 * emulparams/elf32_tic6x_le.sh: Likewise.
624 * emulparams/elf32bmipn32-defs.sh: Likewise.
625 * emulparams/elf32mb_linux.sh: Likewise.
626 * emulparams/elf32mep.sh: Likewise.
627 * emulparams/elf32microblaze.sh: Likewise.
628 * emulparams/elf32ppc.sh: Likewise.
629 * emulparams/elf64_s390.sh: Likewise.
630 * emulparams/elf64alpha.sh: Likewise.
631 * emulparams/elf_s390.sh: Likewise.
632 * emulparams/elf_x86_64.sh: Likewise.
633 * emulparams/tic80coff.sh: Likewise.
634 * emultempl/aix.em: Likewise.
635 * emultempl/avrelf.em: Likewise.
636 * emultempl/cr16elf.em: Likewise.
637 * emultempl/pe.em: Likewise.
638 * emultempl/pep.em: Likewise.
639 * emultempl/spuelf.em: Likewise.
640 * emultempl/tic6xdsbt.em: Likewise.
644 * Makefile.am: Add Meta.
645 * Makefile.in: Regenerate.
646 * configure.tgt: Add Meta.
647 * emulparams/elf32metag.sh: New file.
648 * emultempl/metagelf.em: New file.
652 * emulparams/elf_x86_64.sh (LARGE_BSS_AFTER_BSS): Define.
653 * emulparams/elf32_x86_64.sh: Likewise.
654 * emulparams/elf_k1om.sh: Likewise.
655 * emulparams/elf_l1om.sh: Likewise.
656 * scripttempl/elf.sc (LARGE_BSS): Define rather than appending to
657 OTHER_BSS_SECTIONS. Substitute in script.
661 * scripttempl/elf.sc (RODATA_ADDR): Typo fix.
665 * emultempl/elf32.em (gld${EMULATION_NAME}_check_ld_so_conf): Replace
666 "name" param with a bfd_link_needed_list pointer. Update caller.
667 (gld${EMULATION_NAME}_check_ld_elf_hints): Likewise.
671 * Makefile.am (ALL_EMULATION_SOURCES): Correct eavrxmega entries.
672 * Makefile.in: Regenerate.
676 * lexsup.c (ld_options): Add fuse-ld= for GCC linker option
681 * ld.texinfo: Replace @ with @@ when it is part of the text.
682 Correct ordering of M68HC11 entry.
686 * configure.tgt: Support ELF files for Sony Playstation 2 (for
688 * emulparams/elf32lr5900n32.sh: Create linker script for Sony
689 Playstation 2 ELF files using MIPS ABI n32.
690 * emulparams/elf32lr5900.sh: Create linker script for Sony
691 Playstation 2 ELF files using MIPS ABI o32.
692 * Makefile.am: Add linker scripts for Sony Playstation 2 ELF
697 * ldver.c (ldversion): Update copyright year to 2013.
699 For older changes see ChangeLog-2012
701 Copyright (C) 2013 Free Software Foundation, Inc.
703 Copying and distribution of this file, with or without modification,
704 are permitted in any medium without royalty provided the copyright
705 notice and this notice are preserved.
711 version-control: never