1 2015-08-19 Alan Modra <amodra@gmail.com>
3 * emultempl/aix.em: Don't set link_info.pic.
4 * emultempl/pe.em: Likewise.
5 * emultempl/pep.em: Likewise.
6 * emultempl/sunos.em: Likewise.
7 * lexsup.c (parse_args): Likewise. Set type_pie for -pie.
8 * plugin.c (set_tv_header <LDPT_LINKER_OUTPUT>): Simplify.
10 2015-08-18 H.J. Lu <hongjiu.lu@intel.com>
12 * ld/ldctor.c: Replace shared, executable, relocatable and pie
13 fields with bfd_link_executable, bfd_link_dll,
14 bfd_link_relocatable, bfd_link_pic and bfd_link_pie.
15 * ld/ldemul.c: Likewise.
16 * ld/ldfile.c: Likewise.
17 * ld/ldlang.c: Likewise.
18 * ld/ldmain.c: Likewise.
19 * ld/ldwrite.c: Likewise.
20 * ld/lexsup.c: Likewise.
21 * ld/pe-dll.c: Likewise.
22 * ld/plugin.c: Likewise.
23 * ld/emultempl/aarch64elf.em: Likewise.
24 * ld/emultempl/aix.em: Likewise.
25 * ld/emultempl/alphaelf.em: Likewise.
26 * ld/emultempl/armcoff.em: Likewise.
27 * ld/emultempl/armelf.em: Likewise.
28 * ld/emultempl/avrelf.em: Likewise.
29 * ld/emultempl/beos.em: Likewise.
30 * ld/emultempl/cr16elf.em: Likewise.
31 * ld/emultempl/elf-generic.em: Likewise.
32 * ld/emultempl/elf32.em: Likewise.
33 * ld/emultempl/genelf.em: Likewise.
34 * ld/emultempl/generic.em: Likewise.
35 * ld/emultempl/gld960.em: Likewise.
36 * ld/emultempl/gld960c.em: Likewise.
37 * ld/emultempl/hppaelf.em: Likewise.
38 * ld/emultempl/irix.em: Likewise.
39 * ld/emultempl/linux.em: Likewise.
40 * ld/emultempl/lnk960.em: Likewise.
41 * ld/emultempl/m68hc1xelf.em: Likewise.
42 * ld/emultempl/m68kcoff.em: Likewise.
43 * ld/emultempl/m68kelf.em: Likewise.
44 * ld/emultempl/metagelf.em: Likewise.
45 * ld/emultempl/mipself.em: Likewise.
46 * ld/emultempl/mmo.em: Likewise.
47 * ld/emultempl/msp430.em: Likewise.
48 * ld/emultempl/nds32elf.em: Likewise.
49 * ld/emultempl/needrelax.em: Likewise.
50 * ld/emultempl/nios2elf.em: Likewise.
51 * ld/emultempl/pe.em: Likewise.
52 * ld/emultempl/pep.em: Likewise.
53 * ld/emultempl/ppc32elf.em: Likewise.
54 * ld/emultempl/ppc64elf.em: Likewise.
55 * ld/emultempl/sh64elf.em: Likewise.
56 * ld/emultempl/solaris2.em: Likewise.
57 * ld/emultempl/spuelf.em: Likewise.
58 * ld/emultempl/sunos.em: Likewise.
59 * ld/emultempl/tic6xdsbt.em: Likewise.
60 * ld/emultempl/ticoff.em: Likewise.
61 * ld/emultempl/v850elf.em: Likewise.
62 * ld/emultempl/vms.em: Likewise.
63 * ld/emultempl/vxworks.em: Likewise.
65 2015-08-18 Alan Modra <amodra@gmail.com>
67 * ldexp.c (exp_fold_tree_1): Clear linker_def on symbol assignment.
69 2015-08-06 Alan Modra <amodra@gmail.com>
71 * ldexp.c (align_dot_val): Delete.
72 (fold_unary <ALIGN_K, NEXT>): Revert 2015-07-10 change.
73 (is_align_conditional): Revert 2015-07-20 change.
74 (exp_fold_tree_1): Likewise, but keep expanded comment.
75 * scripttempl/elf.sc (.ldata, .bss): Revert 2015-07-20 change.
76 * ld.texinfo (<ALIGN>): Correct description.
78 2015-08-04 Andrew Burgess <andrew.burgess@embecosm.com>
80 * ld.texinfo (Options): Document --require-defined option.
81 * ldlang.c (struct require_defined_symbol): New structure.
82 (require_defined_symbol_list): New variable.
83 (ldlang_add_require_defined): New function.
84 (ldlang_check_require_defined_symbols): New function.
85 (lang_process): Check required symbols are defined.
86 * ldlang.h (ldlang_add_require_defined): Declare.
87 * ldlex.h (enum option_values): Add OPTION_REQUIRE_DEFINED_SYMBOL.
88 * lexsup.c (ld_options): Add '--require-defined' entry.
89 (parse_args): Handle '--requre-defined' entry.
90 * NEWS: Mention new '--require-defined' option.
92 2015-08-03 Andrew Burgess <andrew.burgess@embecosm.com>
94 * ld.texinfo (MEMORY): Explain that multiple MEMORY commands are
97 2015-07-29 H.J. Lu <hongjiu.lu@intel.com>
99 * lexsup.c (parse_args): Don't set link_info.executable to
100 TRUE for link_info.relocatable.
102 2015-07-27 H.J. Lu <hongjiu.lu@intel.com>
104 * configure: Regenerated.
106 2015-07-24 Nick Clifton <nickc@redhat.com>
108 * emulparams/elf32rl78.sh (OTHER_SECTIONS): Provide a value for
109 the _-rl78_abs__ symbol.
111 2015-07-20 Alan Modra <amodra@gmail.com>
113 * emulparams/criself.sh (INIT_ADDR, FINI_ADDR): Define.
114 (INIT_START, FINI_START): Don't ALIGN.
115 * scriptempl/elf.sc (.init, .fini): Apply INIT_ADDR/FINI_ADDR.
117 2015-07-20 Alan Modra <amodra@gmail.com>
119 * scripttempl/elf.sc (.ldata, .bss): Align absolute value of dot.
120 * ldexp.c (is_align_conditional): Handle binary ALIGN.
121 (exp_fold_tree_1): Move code setting SEC_KEEP for assignments to
122 dot inside output sections. Handle absolute expressions.
124 2015-07-14 H.J. Lu <hongjiu.lu@intel.com>
126 * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Make
127 --compress-debug-sections=zlib the same as
128 --compress-debug-sections=zlib-gabi.
129 * ld.texinfo: Change --compress-debug-sections=zlib to zlib-gabi.
131 2015-07-14 Nick Clifton <nickc@redhat.com>
133 * ld.texinfo (Options): Add missing period after @xref.
135 2015-07-10 Alan Modra <amodra@gmail.com>
137 * ldexp.c (align_dot_val): New function.
138 (fold_unary <ALIGN_K, NEXT>): Use it.
140 2015-07-03 Kai Tietz <ktietz@redhat.com>
143 * scripttempl/pep.sc: Mark .idata*, .CRT*, .tls*,
144 .rsrc*, .init, .ctor*, .dtor*, .fini, .jcr,
145 .eh_frame, .pdata. .xdata, and .gcc_except_table sections
147 * scripttempl/pe.sc: Likewise.
148 * ld.texinfo: Document that --gc-sections has experimental support
149 for COFF and PE targets.
150 * NEWS: Mention experimental support.
152 2015-07-03 Alan Modra <amodra@gmail.com>
154 * Makefile.am (eelf32or1k.c, eelf32or1k_linux.c): Depend on ELF_DEPS.
155 * Makefile.in: Regenerate.
157 2015-06-28 H.J. Lu <hongjiu.lu@intel.com>
159 * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option):
160 Replace COMPRESS_DEBUG_ZLIB with COMPRESS_DEBUG_GNU_ZLIB.
162 2015-06-26 H.J. Lu <hongjiu.lu@intel.com>
164 * emulparams/elf_iamcu.sh (COMPILE_IN): New.
166 2015-06-15 Nick Clifton <nickc@redhat.com>
169 * emultempl/pe.em (pe_find_data_imports): Generate an error if a
170 symbol name is too long to handle.
171 * emultempl/pep.em (pep_find_data_imports): Likewise.
173 2015-06-12 Tristan Gingold <gingold@adacore.com>
175 * NEWS: Mention new option.
176 * lexsup.c (parse_args): Handle --print-memory-usage.
177 (ld_options): Add --print-memory-usage.
178 * ldmain.c (main): Call lang_print_memory_usage.
179 * ldlex.h (enum option_values): Add OPTION_PRINT_MEMORY_USAGE.
180 * ldlang.h: Add prototype of lang_print_memory_usage.
181 * ldlang.c (lang_print_memory_size, lang_print_memory_usage): New
183 * ld.texinfo (Options): Document --print-memory-usage.
184 * ld.h (args_type): Add print_memory_usage field.
186 2015-06-08 Nick Clifton <nickc@redhat.com>
188 * po/fr.po: Updated French Translation.
190 2015-05-28 Catherine Moore <clm@codesourcery.com>
191 Paul Brook <paul@codesourcery.com>
193 * emultempl/elf32.em (gld${EMULATION_NAME}_after_open):
194 Add Compact EH support.
195 * scripttempl/elf.sc: Handle .eh_frame_entry and .gnu_extab
198 2015-05-17 Chung-Lin Tang <cltang@codesourcery.com>
200 * configure.ac (AC_PROG_GREP): Check for grep program.
201 (elf_list_options,elf_shlib_list_options,elf_plt_unwind_list_options):
202 Enable ELF option printing for emulations containing
203 'TEMPLATE_NAME=elf32'.
204 * configure: Regenerate.
206 2015-05-14 Nick Clifton <nickc@redhat.com>
208 * ld.texinfo (ASSERT): Describe the interaction with PROVIDEd
211 2015-05-11 H.J. Lu <hongjiu.lu@intel.com>
213 * configure.tgt: Support i[3-7]86-*-elfiamcu target.
215 2015-05-11 H.J. Lu <hongjiu.lu@intel.com>
217 * Makefile.am (ALL_EMULATION_SOURCES): Add eelf_iamcu.c.
219 * configure.tgt (targ_extra_emuls): Add elf_iamcu if elf_i386 is
221 * Makefile.in: Regenerated.
222 * emulparams/elf_iamcu.sh: New file.
224 2015-05-05 Nick Clifton <nickc@redhat.com>
226 * emulparams/msp430elf.sh (TEMPLATE_NAME): Change to msp430.
227 * scripttempl/msp430.sc (.text): Add .lower.text and .either.text.
228 (.data): Add .lower.data and .either.data.
229 (.bss): Add .lower.bss and .either.bss.
230 (.rodata): Add .lower.rodata and .either.rodata.
231 * emultempl/msp430.em: New file. Implements a new orphan
232 placement algorithm that divides sections between lower and upper
234 * Makefile.am (emsp430elf.c): Depend upon msp430.em.
235 *emsp430X.c): Likewise.
236 * Makefine.in: Regenerate.
238 2015-04-28 Andreas Schwab <schwab@linux-m68k.org>
241 * ldlex.l (INPUTLIST): Increment lineno on newline.
243 2015-04-24 Alan Modra <amodra@gmail.com>
245 * emultempl/ppc64elf.em (gld${EMULATION_NAME}_after_allocation):
246 Call gld${EMULATION_NAME}_map_segments regardless of need_laying_out.
248 2015-04-24 DJ Delorie <dj@redhat.com>
250 * Makefile.am (msp430): Rename primary emulation to msp430elf.
251 (emsp430.c): Rename to emsp430elf.c, update dependencies
252 (emsp430X.c): Update dependencies.
253 * Makefile.in: Likewise.
254 * configure.tgt (msp430-*-*): Rename primary emulation to msp430elf.
255 * emulparams/msp430.sh: Rename to msp430elf.sh.
256 * emulparams/msp430X.sh: Update.
258 2015-04-23 H.J. Lu <hongjiu.lu@intel.com>
261 * ldfile.c (ldfile_try_open_bfd): Set is_linker_input to 1.
263 2015-04-23 Alan Modra <amodra@gmail.com>
265 * emulparams/elf64ppc.sh (GOT): Align.
267 2015-04-22 Alan Modra <amodra@gmail.com>
269 * ldexp.h (struct ldexp_control): Delete dataseg.min_base. Add
270 data_seg.relro_offset.
271 * ldexp.c (fold_binary <DATA_SEGMENT_ALIGN>): Don't set min_base.
272 (fold_binary <DATA_SEGMENT_RELRO_END>): Do set relro_offset.
273 * ldlang.c (lang_size_sections): Rewrite code adjusting relro
274 segment base to line up last section on page boundary.
276 2015-04-15 H.J. Lu <hongjiu.lu@intel.com>
279 --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi].
281 2015-04-14 H.J. Lu <hongjiu.lu@intel.com>
283 * ld.texinfo: Document --compress-debug-sections=.
284 * ldmain.c (main): Set BFD_COMPRESS on output_bfd if
285 COMPRESS_DEBUG is set. Set BFD_COMPRESS_GABI on output_bfd
286 for COMPRESS_DEBUG_GABI_ZLIB.
287 * lexsup.c (elf_static_list_options): Add
288 --compress-debug-sections=.
289 * emultempl/elf32.em (OPTION_COMPRESS_DEBUG): New.
290 (xtra_long): Add "compress-debug-sections".
291 (gld${EMULATION_NAME}_handle_option): Handle
292 OPTION_COMPRESS_DEBUG.
294 2015-04-14 H.J. Lu <hongjiu.lu@intel.com>
297 * ld.texinfo: Document "-z noextern-protected-data".
298 * ldmain.c (main): Initialize link_info.extern_protected_data
300 * lexsup.c (elf_shlib_list_options): Add
301 "-z [no]extern-protected-data".
302 * emulparams/elf32_x86_64.sh: Source extern_protected_data.sh.
303 * emulparams/elf_i386.sh: Likewise.
304 * emulparams/elf_i386_be.sh: Likewise.
305 * emulparams/elf_i386_chaos.sh: Likewise.
306 * emulparams/elf_i386_ldso.sh: Likewise.
307 * emulparams/elf_i386_vxworks.sh: Likewise.
308 * emulparams/elf_k1om.sh: Likewise.
309 * emulparams/elf_l1om.sh: Likewise.
310 * emulparams/elf_x86_64.sh: Source extern_protected_data.sh.
311 (PARSE_AND_LIST_OPTIONS): Renamed to ...
312 (PARSE_AND_LIST_OPTIONS_BNDPLT): This.
313 (PARSE_AND_LIST_ARGS_CASE_Z): Renamed to ...
314 (PARSE_AND_LIST_ARGS_CASE_Z_BNDPLT): This.
315 (PARSE_AND_LIST_OPTIONS): Append $PARSE_AND_LIST_OPTIONS_BNDPLT.
316 (PARSE_AND_LIST_ARGS_CASE_Z): Append
317 $PARSE_AND_LIST_ARGS_CASE_Z_BNDPLT.
318 * emulparams/extern_protected_data.sh: New file.
320 2015-04-11 H.J. Lu <hongjiu.lu@intel.com>
322 * plugin.c (plugin_load_plugins): Removed an extra ';'.
324 2015-04-10 Nick Clifton <nickc@redhat.com>
327 * ld.texinfo (--be8): Add a note about the interaction of this
328 option with the assembler's -EB option.
330 2015-04-10 Alan Modra <amodra@gmail.com>
332 * configure.ac: Set elf_list_options etc. in proper case.
333 * configure: Regenerate.
335 2015-04-10 Alan Modra <amodra@gmail.com>
338 * ldlang.c (lang_process): Add _init and _fini to gc_sym_list.
340 2015-04-09 H.J. Lu <hongjiu.lu@intel.com>
342 * emulparams/elf_x86_64.sh (BNDPLT): Removed.
343 (PARSE_AND_LIST_OPTIONS): New.
344 (PARSE_AND_LIST_ARGS_CASE_Z): Likewise.
345 * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Remove
346 BNDPLT check. Handle PARSE_AND_LIST_ARGS_CASE_Z.
347 (gld${EMULATION_NAME}_list_options): Remove BNDPLT check.
349 2015-04-09 Nick Clifton <nickc@redhat.com>
351 * po/fr.po: Updated French translation.
353 2015-04-08 H.J. Lu <hongjiu.lu@intel.com>
355 * configure.ac (elf_list_options): Set to TRUE for
356 --enable-targets=all.
357 (elf_shlib_list_options): Likewise.
358 (elf_plt_unwind_list_options): Likewise.
359 * configure: Regenerated.
361 2015-04-08 H.J. Lu <hongjiu.lu@intel.com>
363 * emulparams/elf32bmipn32-defs.sh: Skip empty EMULATION_NAME.
365 2015-04-08 H.J. Lu <hongjiu.lu@intel.com>
367 * Makefile.am (ELF_CLFAGS): New.
368 (AM_CFLAGS): Add $(ELF_CLFAGS).
369 * configure.ac (elf_list_options): New. AC_SUBST.
370 (elf_shlib_list_options): Likewise.
371 (elf_plt_unwind_list_options): Likewise.
372 * lexsup.c (elf_shlib_list_options): New.
373 (elf_static_list_options): Likewise.
374 (elf_plt_unwind_list_options): Likewise.
375 (ld_list_options): Likewise.
376 (help): Call ld_list_options.
377 * Makefile.in: Regenerated.
378 * configure: Likewise.
379 * emulparams/plt_unwind.sh (PLT_UNWIND): New.
380 (PARSE_AND_LIST_OPTIONS): Removed.
381 * emultempl/elf32.em (gld_list_options): New.
382 (gld${EMULATION_NAME}_list_options): Define only if BNDPLT or
383 PARSE_AND_LIST_OPTIONS is defined.
384 (ld_${EMULATION_NAME}_emulation): Replace
385 gld${EMULATION_NAME}_list_options with ${gld_list_options.
387 2015-04-07 Alan Modra <amodra@gmail.com>
390 * ldlang.c (lang_size_sections): Cast shift expression.
392 2015-04-07 Alan Modra <amodra@gmail.com>
394 * emultempl/ppc32elf.em: Handle --no-pic-fixup.
395 (params): Init new field.
396 (ppc_before_allocation): Enable relaxation for pic_fixup.
398 2015-04-07 Nick Clifton <nickc@redhat.com>
400 * ld.h (struct ld_config_type): Add new field: warn_orphan.
401 * ldlex.h (enum option_values): Add OPTION_WARN_ORPHAN and
402 OPTION_NO_WARN_ORPHAN.
403 * lexsup.c (ld_options): Add --warn-orphan and --no-warn-orphan.
404 (parse_args): Handle the new options.
405 * ldemul.c (ldemul_place_orphan): If requested, generate a warning
406 message when an orphan section is placed in the output file.
407 * ld.texinfo: Document the new option.
408 * NEWS: Mention the new feature.
410 2015-04-02 Andrew Turner <andrew@freebsd.org>
412 * Makefile.am: Add FreeBSD aarch64 files.
413 * Makefile.in: Regenerate.
414 * configure.tgt: Add aarch64-*-freebsd* target triple.
415 * emulparams/aarch64fbsd.sh: New file.
416 * emulparams/aarch64fbsdb.sh: New file.
418 2015-04-01 H.J. Lu <hongjiu.lu@intel.com>
420 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Work
421 around a GCC uninitialized warning bug fixed in GCC 4.6.
423 2015-04-01 Tejas Belagod <tejas.belagod@arm.com>
425 * emultempl/aarch64elf.em
426 (aarch64_elf_create_output_section_statements): Add parameter in
427 bfd_elf${ELFSIZE}_aarch64_set_options call.
428 (OPTION_FIX_ERRATUM_843419): Define.
429 (PARSE_AND_LIST_LONGOPTS): Add fix-cortex-a53-843419.
430 (PARSE_AND_LIST_ARGS_CASES): Add OPTION_FIX_ERRATUM_843419.
432 2015-04-01 Chen Gang <gang.chen.5i5j@gmail.com>
434 * emulparams/elf32_tic6x_le.sh: Skip OTHER_BSS_SECTIONS for
435 relocating operation.
437 2015-04-01 Alan Modra <amodra@gmail.com>
440 * ldlang.c (lang_size_sections): When alignment of sections
441 results in relro base adjustment being too large, don't go lower
442 than the initial value.
443 * ldexp.c (fold_binary <DATA_SEGMENT_RELRO_END>): Comment.
444 * scripttempl/elf.sc (DATA_SEGMENT_ALIGN): Omit SEGMENT_SIZE
445 alignment when SEGMENT_SIZE is the same as MAXPAGESIZE.
447 2015-04-01 Alan Modra <amodra@gmail.com>
449 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Don't
450 init ehdr_start_save.
452 2015-04-01 Alan Modra <amodra@gmail.com>
454 * Makefile.am (eelf32ppcvxworks.c): Depend on ppc32elf.em and
456 (eelf32lppc.c, eelf32lppclinux.c, eelf32lppcnto.c, eelf32lppcsim.c,
457 eelf32ppc.c, eelf32ppc_fbsd.c, eelf32ppclinux.c, eelf32ppcnto.c,
458 eelf32ppcsim.c): Rearrange deps for consistency.
459 * Makefile.in: Regenerate.
461 2015-04-01 Ed Schouten <ed@nuxi.nl>
463 * emultempl/elf32.em (gld*_before_allocation): Zero-initialize
464 the ehdr_start_save variable.
466 2015-03-31 Ed Schouten <ed@nuxi.nl>
468 * Makefile.am (ALL_64_EMULATION_SOURCES): Add
469 eelf_x86_64_cloudabi.c.
470 (eelf_x86_64_cloudabi.c): New.
471 * configure.tgt (targ_emul): Set to elf_x86_64_cloudabi for
473 * Makefile.in: Regenerated.
474 * emulparams/elf_x86_64_cloudabi.sh: New file.
476 2015-03-31 H.J. Lu <hongjiu.lu@intel.com>
478 * configure.ac (AM_ZLIB): Removed.
479 * Makefile.in: Regenerated.
480 * config.in: Likewise.
481 * configure: Likewise.
483 2015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
485 * emultempl/aarch64elf.em (_aarch64_add_stub_section): Set section
488 2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
490 * emultempl/aarch64elf.em
491 (elf${ELFSIZE}_aarch64_add_stub_section): Adjust layout.
493 2015-03-18 Chen Gang <gang.chen.5i5j@gmail.com>
495 * ldmain.c (main): Use %F instead of %X for einfo.
497 2015-03-02 Alan Modra <amodra@gmail.com>
499 * ld.texinfo (Options <-z nocopyreloc>): Rewrite.
501 2015-02-27 Nick Clifton <nickc@redhat.com>
504 * ldlang.c (lang_set_flags): Allow exclamation mark to reverse the
505 sense of the following memory region attribute characters.
507 2015-02-27 Alan Modra <amodra@gmail.com>
509 * Makefile.am (ALL_EMULATION_SOURCES): Sort new h8300 entries.
510 (eh8300elf_linux.c, eh8300helf_linux.c, eh8300self_linux.c,
511 eh8300sxelf_linux.c): Do not invoke genscripts here.
512 * Makefile.in: Regenerate.
514 2015-02-24 Nick Clifton <nickc@redhat.com>
516 * Makefile.am (ev850.c): Add dependency upon
517 $(srcdir)/emultempl/v850elf.em.
518 (ev850_rh850.c): Likewise.
519 * Makefile.in: Regenerate.
520 * emultempl/v850elf.em: New file.
521 * emulparams/v850.sh (EXTRA_EM_FILE): Define.
522 * emulparams/v850_rh850.sh (EXTRA_EM_FILE): Define.
523 * scripttempl/v850.sc: Add .note.renesas section.
524 * scripttempl/v850_rh850.sc: Likewise.
526 2015-02-24 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
528 * scripttempl/avr.sc: Add new user_signatures region. Define and
529 use symbols for all region lengths.
530 * scripttempl/avrtiny.sc: Define and use symbols for all region
533 2015-01-21 Yoshinori Sato <ysato@users.sourceforge.jp>
535 * Makefile.am: (ALL_EMULATION_SOURCES): Add new emulations.
536 * Makefile.in: Regenerate.
537 * configure.tgt: Add h8300-*-linux
538 * emulparams/h8300elf_linux.sh: Add new emulation.
539 * emulparams/h8300helf_linux.sh: Likewise.
540 * emulparams/h8300self_linux.sh: Likewise.
541 * emulparams/h8300sxelf_linux.sh: Likewise.
543 2015-02-23 Nick Clifton <nickc@redhat.com>
545 * lexsup.c (parse_args): Produce a more reasonable error message
546 when -ixxx or -rxxx is the last option on the linker command line.
548 2015-02-14 H.J. Lu <hongjiu.lu@intel.com>
551 * testplug2.c (allsymbolsread_silent): New.
552 (set_register_hook): Handle allsymbolsreadsilent.
553 (onall_symbols_read): Skip a message if allsymbolsread_silent is
556 2015-02-14 Alan Modra <amodra@gmail.com>
559 * ldlang.h (struct lang_input_statement_flags): Add lto_output.
560 * ldlang.c (lang_process): Don't set loading_lto_outputs.
561 * ldfile.c (ldfile_try_open_bfd): Transfer entry flags.lto_output
563 * plugin.c (add_input_file, add_input_library): Set flags.lto_output.
565 2015-02-13 H.J. Lu <hongjiu.lu@intel.com>
567 * NEWS: Mention support for LLVM plugin.
569 2015-02-13 Alan Modra <amodra@gmail.com>
571 * ld.texinfo (Options <--defsym>): Correct cross reference.
573 2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
575 * lexsup.c (ld_options): Add --[no-]map-whole-files for gold
576 option compatibility.
578 2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
580 * plugin.c (message): Output "warning:" for LDPL_WARNING. Output
581 "error:" for LDPL_FATAL and LDPL_ERROR.
582 * testplug2.c (parse_option): Handle fatal, error and warning.
584 2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
586 * testplug2.c (dump_tv_tag): Removed.
587 (onall_symbols_read): Return LDPS_ERR if the file descriptor isn't
589 * testplug3.c (dump_tv_tag): Removed.
590 (onclaim_file): Fix typo.
592 2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
595 * Makefile.am (noinst_LTLIBRARIES): Add libldtestplug2.la and
597 (libldtestplug2_la_SOURCES): New.
598 (libldtestplug2_la_CFLAGS): Likewise.
599 (libldtestplug2_la_LDFLAGS): Likewise.
600 (libldtestplug3_la_SOURCES): New.
601 (libldtestplug3_la_CFLAGS): Likewise.
602 (libldtestplug3_la_LDFLAGS): Likewise.
603 * Makefile.in: Regenerated.
604 * testplug2.c: New file.
605 * testplug3.c: Likewise.
607 2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
610 * plugin.c: Include ../bfd/plugin.h.
611 (plugin_get_ir_dummy_bfd): Call bfd_create with
612 link_info.output_bfd instead of srctemplate. Copy BFD info
613 from srctemplate only if it doesn't use BFD plugin target
615 (plugin_load_plugins): Call register_ld_plugin_object_p with
617 (plugin_maybe_claim): Renamed to ...
618 (plugin_object_p): This. Return dummy BFD target vector if
619 input is calimed by plugin library, otherwise return NULL.
620 Update plugin_format and plugin_dummy_bfd.
621 (plugin_maybe_claim): New. Use plugin_object_p.
623 2015-02-10 H.J. Lu <hongjiu.lu@intel.com>
625 * plugin.c (plugin_maybe_claim): Initialize use_mmap.
627 2015-02-10 H.J. Lu <hongjiu.lu@intel.com>
629 * plugin.c (plugin_input_file_t): Add use_mmap.
630 (plugin_pagesize): New.
631 (get_view): Use plugin_pagesize. Set use_mmap if mmap is used.
632 (plugin_load_plugins): Initialize plugin_pagesize.
633 (plugin_maybe_claim): Unmap the buffer if plugin didn't claim the
636 2015-02-10 H.J. Lu <hongjiu.lu@intel.com>
638 * plugin.c (get_view): Align offset passed to mmap.
640 2015-02-08 H.J. Lu <hongjiu.lu@intel.com>
642 * ldfile.c (ldfile_try_open_bfd): Don't call bfd_check_format
643 if plugin isn't active or there is no thing more to claim.
645 2015-02-08 H.J. Lu <hongjiu.lu@intel.com>
647 * plugin.c (plugin_maybe_claim): Check format against bfd_object
650 2015-02-07 H.J. Lu <hongjiu.lu@intel.com>
652 * plugin.c (plugin_maybe_claim): Replace entry->the_bfd with
655 2015-02-07 H.J. Lu <hongjiu.lu@intel.com>
657 * plugin.c: Include "libbfd.h".
658 (plugin_strdup): New.
659 (plugin_maybe_claim): Remove the argument of pointer to struct
660 ld_plugin_input_file. Open and handle input entry.
661 * plugin.h (plugin_maybe_claim): Updated.
662 * ldfile.c (ldfile_try_open_bfd): Call plugin_maybe_claim directly
663 without passing a pointer to struct ld_plugin_input_file.
664 * ldmain.c: Don't include "libbfd.h".
665 (add_archive_element): Call plugin_maybe_claim directly without
666 passing a pointer to struct ld_plugin_input_file.
668 2015-02-06 H.J. Lu <hongjiu.lu@intel.com>
670 * ld.texinfo: Document -z text, -z notext and -z textoff.
671 * emultempl/elf32.em (gld${EMULATION_NAME}_list_options): Add
672 -z text, -z notext and -z textoff.
674 2015-02-06 H.J. Lu <hongjiu.lu@intel.com>
676 * configure.ac: Add AC_FUNC_MMAP.
677 * config.in: Regenerated.
678 * configure: Likewise.
679 * plugin.c: Include <sys/mman.h>.
680 (MAP_FAILED): New. Defined if not defined.
681 (PROT_READ): Likewise.
682 (MAP_PRIVATE): Likewise.
683 (view_buffer_t): New.
684 (plugin_input_file_t): Add view_buffer.
685 (get_view): Try mmap and cache the view buffer.
686 (plugin_maybe_claim): Initialize view_buffer.
688 2015-02-05 H.J. Lu <hongjiu.lu@intel.com>
690 * plugin.c (release_input_file): Set fd to -1 after closing it.
691 (plugin_maybe_claim): Close fd only if fd != -1.
693 2015-02-05 H.J. Lu <hongjiu.lu@intel.com>
696 * plugin.c: Include <errno.h>.
697 (errno): New. Declare if needed.
698 (plugin_input_file_t): New.
699 (get_input_file): Implemented.
700 (get_view): Likewise.
701 (release_input_file): Likewise.
702 (add_symbols): Updated.
703 (get_symbols): Likewise.
704 (plugin_maybe_claim): Allocate a plugin_input_file_t. Close fd
705 only for a bfd_object input.
707 2015-02-02 Alan Modra <amodra@gmail.com>
709 * emultempl/ppc64elf.em (toc_section_name): New var.
710 (ppc_after_open): Set it.
711 (ppc_before_allocation): Use it.
712 (gld${EMULATION_NAME}_after_allocation): Here too.
714 2015-01-29 H.J. Lu <hongjiu.lu@intel.com>
716 * ldfile.c (ldfile_try_open_bfd): Replace plugin_active_plugins_p()
717 with link_info.lto_plugin_active.
718 * ldlang.c (lang_process): Likewise.
719 * ldmain.c (add_archive_element): Likewise.
720 * plugin.c (plugin_active_plugins_p): Removed.
721 * plugin.h (plugin_active_plugins_p): Likewise.
723 2015-01-28 H.J. Lu <hongjiu.lu@intel.com>
725 * plugin.h (plugin_get_ir_dummy_bfd): Removed. Move comments to
727 * plugin.c (plugin_get_ir_dummy_bfd): Here. Make it static.
729 2015-01-28 H.J. Lu <hongjiu.lu@intel.com>
732 * plugin.c (tv_header_tags(): Add LDPT_GET_VIEW.
733 (get_view): New function.
734 (set_tv_header): Handle LDPT_GET_VIEW.
735 * testplug.c (tag_names): Add LDPT_GET_VIEW.
737 (dump_tv_tag): Handle LDPT_GET_VIEW.
738 (parse_tv_tag): Likewise.
740 2015-01-28 Alan Modra <amodra@gmail.com>
742 * emulparams/elf64ppc.sh (INITIAL_READWRITE_SECTIONS): Define.
743 * emultempl/ppc64elf.em (params): Init new field.
744 (ppc_after_open): New function.
745 (LDEMUL_AFTER_OPEN): Define.
746 * ldlang.c (lang_final): Whitespace fix.
748 2015-01-28 James Bowman <james.bowman@ftdichip.com>
750 * Makefile.am: Add FT32 files.
751 * configure.tgt: Handle FT32 target.
752 * emulparams/elf32ft32.sh: New file.
753 * scripttempl/ft32.sc: New file.
754 * Makefile.in: Regenerate.
756 2015-01-28 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
759 * ldexp.c (fold_name): Fold LENGTH only after
760 lang_first_phase_enum.
761 * ldgram.y (memory_spec): Don't evaluate ORIGIN and LENGTH
763 * ldlang.h (struct memory_region_struct): Add origin_exp and
765 * ldlang.c (lang_do_memory_regions): New.
766 (lang_memory_region_lookup): Initialize origin_exp and
768 (lang_process): Call lang_do_memory_regions.
770 2015-01-20 Andrew Burgess <andrew.burgess@embecosm.com>
772 * ldlang.c (print_assignment): Only evaluate the expression for a
773 PROVIDE'd assignment when the destination is being defined.
774 Display a special message for PROVIDE'd symbols that are not being
777 2015-01-20 Alan Modra <amodra@gmail.com>
779 * emulparams/elf64ppc.sh (OTHER_SDATA_SECTIONS): Use in place of..
780 (OTHER_BSS_SYMBOLS): ..this.
781 (OTHER_PLT_RELOC_SECTIONS): Don't define.
782 (OTHER_GOT_RELOC_SECTIONS): Add rela.toc1 and rela.tocbss.
783 (OTHER_READWRITE_SECTIONS): Don't define. Move .toc1 to..
784 (OTHER_RELRO_SECTIONS_2): ..here.
785 * scripttempl/elf.sc: Move SBSS too when DATA_SDATA.
787 2015-01-20 Alan Modra <amodra@gmail.com>
789 * emulparams/elf64ppc.sh (BSS_PLT): Don't define.
790 (OTHER_READWRITE_SECTIONS): Move .branch_lt to..
791 (OTHER_RELRO_SECTIONS_2): ..here.
792 (DATA_GOT, SEPARATE_GOTPLT, DATA_SDATA, DATA_PLT,
793 PLT_BEFORE_GOT): Define.
794 * scripttempl/elf.sc: Handle DATA_SDATA and DATA_GOT/DATA_PLT/
795 PLT_BEFORE_GOT combination.
796 (DATA_GOT, SDATA_GOT): Don't define if either is already defined.
798 2015-01-20 Alan Modra <amodra@gmail.com>
800 * emulparams/elf64ppc.sh (OTHER_READWRITE_SECTIONS): Move .opd to..
801 (OTHER_RELRO_SECTIONS_2): ..here, new define.
802 * scripttempl/elf.sc: Add OTHER_RELRO_SECTIONS_2.
804 2015-01-19 Alan Modra <amodra@gmail.com>
807 * ldlang.c (lang_process): Run lang_common before lang_gc_sections.
809 2015-01-14 Jiong Wang <jiong.wang@arm.com>
811 * ld-arm/elf32-reject.s: New testcase.
812 * ld-arm/elf32-reject.d: Likewise.
813 * ld-arm/elf32-reject-pie.s: Likewise.
814 * ld-arm/elf32-reject-pie.d: Likewise.
815 * ld-arm/arm-elf.exp: Run new testcases.
816 * ld-arm/ifunc-7.s: Delete f2/f4 test items.
817 * ld-arm/ifunc-7.rd: Likewise.
818 * ld-arm/ifunc-7.gd: Likewise.
819 * ld-arm/ifunc-7.dd: Likewise.
820 * ld-arm/ifunc-8.s: Likewise.
821 * ld-arm/ifunc-8.rd: Likewise.
822 * ld-arm/ifunc-8.gd: Likewise.
823 * ld-arm/ifunc-8.dd: Likewise.
825 2015-01-01 Alan Modra <amodra@gmail.com>
827 * ldver.c (ldversion): Just print current year.
829 2015-01-01 Alan Modra <amodra@gmail.com>
831 Update year range in copyright notice of all files.
833 For older changes see ChangeLog-2014
835 Copyright (C) 2015 Free Software Foundation, Inc.
837 Copying and distribution of this file, with or without modification,
838 are permitted in any medium without royalty provided the copyright
839 notice and this notice are preserved.
845 version-control: never