Add --no-dynamic-linker option to ld, for static PIE use
[external/binutils.git] / ld / ChangeLog
1 2015-09-20  Rich Felker  <dalias@libc.org>
2
3         * ld.texinfo (--no-dynamic-linker): Document.
4         * ldlex.h (enum option_values): Add OPTION_NO_DYNAMIC_LINKER.
5         * lexsup.c (ld_options, parse_args): Handle --no-dynamic-linker.
6
7 2015-09-18  Alan Modra  <amodra@gmail.com>
8
9         * ld.texinfo: Document PowerPC64 --{no-,}save-restore-funcs.
10
11 2015-09-18  Alan Modra  <amodra@gmail.com>
12
13         * emultempl/ppc64elf.em (params): Init tls_get_addr_opt field to -1.
14         (OPTION_TLS_GET_ADDR_OPT): Define.
15         (PARSE_AND_LIST_LONGOPTS): Handle --tls-get-addr-opt.
16         (PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Likewise.
17         * ld.texinfo: Document --tls-get-addr-optimize and
18         --no-tls-get-addr-optimize.
19
20 2015-09-18  Alan Modra  <amodra@gmail.com>
21
22         PR ld/18963
23         * ldexp.h (struct ldexp_control): Add rel_from_abs.
24         (ldexp_finalize_syms): Declare.
25         * ldexp.c (new_rel_from_abs): Keep absolute for expressions
26         outside of output section statements.  Set rel_from_abs.
27         (make_abs, exp_fold_tree, exp_fold_tree_no_dot): Clear rel_from_abs.
28         (struct definedness_hash_entry): Add final_sec, and comment.
29         (update_definedness): Set final_sec.
30         (set_sym_sections, ldexp_finalize_syms): New functions.
31         * ldlang.c (lang_process): Call ldexp_finalize_syms.
32
33 2015-09-10  Nick Clifton  <nickc@redhat.com>
34
35         * po/zh_CN.po: Updated simplified Chinese translation.
36
37 2015-09-09  James Bowman  <james.bowman@ftdichip.com>
38
39         * scripttempl/ft32.sc: default linker script RAM and
40         FLASH size symbols
41
42 2015-09-09  Nick Clifton  <nickc@redhat.com>
43
44         * po/zh_CN.po: Updated simplified Chinese translation.
45
46 2015-09-08  Nick Clifton  <nickc@redhat.com>
47
48         * ld.texinfo (Source Code Reference): Extend description to
49         include an example using arrays.
50
51 2015-07-28  Andrew Burgess  <andrew.burgess@embecosm.com>
52
53         * ld.h (enum orphan_handling_enum): New.
54         (ld_config_type): Remove warn_orphan, add orphan_handling.
55         * ldemul.c (ldemul_place_orphan): Remove warning about orphan
56         sections.
57         * ldlang.c (ldlang_place_orphan): New function.
58         (lang_place_orphans): Call ldlang_place_orphan.
59         * ldlex.h (enum option_values): Remove OPTION_WARN_ORPHAN and
60         OPTION_NO_WARN_ORPHAN, add OPTION_ORPHAN_HANDLING.
61         * lexsup.c (ld_options): Remove 'warn-orphan' and
62         'no-warn-orphan', add 'orphan-handling'.
63         (parse_args): Remove handling for OPTION_WARN_ORPHAN and
64         OPTION_NO_WARN_ORPHAN, add handling for OPTION_ORPHAN_HANDLING.
65         * NEWS: Replace text about --warn-orphan with --orphan-handling.
66         * ld.texinfo (Options): Remove --warn-orphan entry and add
67         entry on --orphan-handling.
68         (Orphan Sections): Add reference to relevant command line options.
69
70 2015-09-03  Nick Clifton  <nickc@redhat.com>
71
72         * ld.texinfo (--build-id): Fix typo.  The COFF/PE build-id section
73         is called .buildid not .build-id.
74
75 2015-09-03  Nick Clifton  <nickc@redhat.com>
76
77         (Source Code Reference): Fix off-by-one typo in example of how to
78         use linker script symbols in C source code.
79
80 2015-08-19  Alan Modra  <amodra@gmail.com>
81
82         * emultempl/aix.em: Don't set link_info.pic.
83         * emultempl/pe.em: Likewise.
84         * emultempl/pep.em: Likewise.
85         * emultempl/sunos.em: Likewise.
86         * lexsup.c (parse_args): Likewise.  Set type_pie for -pie.
87         * plugin.c (set_tv_header <LDPT_LINKER_OUTPUT>): Simplify.
88
89 2015-08-18  H.J. Lu  <hongjiu.lu@intel.com>
90
91         * ld/ldctor.c: Replace shared, executable, relocatable and pie
92         fields with bfd_link_executable, bfd_link_dll,
93         bfd_link_relocatable, bfd_link_pic and bfd_link_pie.
94         * ld/ldemul.c: Likewise.
95         * ld/ldfile.c: Likewise.
96         * ld/ldlang.c: Likewise.
97         * ld/ldmain.c: Likewise.
98         * ld/ldwrite.c: Likewise.
99         * ld/lexsup.c: Likewise.
100         * ld/pe-dll.c: Likewise.
101         * ld/plugin.c: Likewise.
102         * ld/emultempl/aarch64elf.em: Likewise.
103         * ld/emultempl/aix.em: Likewise.
104         * ld/emultempl/alphaelf.em: Likewise.
105         * ld/emultempl/armcoff.em: Likewise.
106         * ld/emultempl/armelf.em: Likewise.
107         * ld/emultempl/avrelf.em: Likewise.
108         * ld/emultempl/beos.em: Likewise.
109         * ld/emultempl/cr16elf.em: Likewise.
110         * ld/emultempl/elf-generic.em: Likewise.
111         * ld/emultempl/elf32.em: Likewise.
112         * ld/emultempl/genelf.em: Likewise.
113         * ld/emultempl/generic.em: Likewise.
114         * ld/emultempl/gld960.em: Likewise.
115         * ld/emultempl/gld960c.em: Likewise.
116         * ld/emultempl/hppaelf.em: Likewise.
117         * ld/emultempl/irix.em: Likewise.
118         * ld/emultempl/linux.em: Likewise.
119         * ld/emultempl/lnk960.em: Likewise.
120         * ld/emultempl/m68hc1xelf.em: Likewise.
121         * ld/emultempl/m68kcoff.em: Likewise.
122         * ld/emultempl/m68kelf.em: Likewise.
123         * ld/emultempl/metagelf.em: Likewise.
124         * ld/emultempl/mipself.em: Likewise.
125         * ld/emultempl/mmo.em: Likewise.
126         * ld/emultempl/msp430.em: Likewise.
127         * ld/emultempl/nds32elf.em: Likewise.
128         * ld/emultempl/needrelax.em: Likewise.
129         * ld/emultempl/nios2elf.em: Likewise.
130         * ld/emultempl/pe.em: Likewise.
131         * ld/emultempl/pep.em: Likewise.
132         * ld/emultempl/ppc32elf.em: Likewise.
133         * ld/emultempl/ppc64elf.em: Likewise.
134         * ld/emultempl/sh64elf.em: Likewise.
135         * ld/emultempl/solaris2.em: Likewise.
136         * ld/emultempl/spuelf.em: Likewise.
137         * ld/emultempl/sunos.em: Likewise.
138         * ld/emultempl/tic6xdsbt.em: Likewise.
139         * ld/emultempl/ticoff.em: Likewise.
140         * ld/emultempl/v850elf.em: Likewise.
141         * ld/emultempl/vms.em: Likewise.
142         * ld/emultempl/vxworks.em: Likewise.
143
144 2015-08-18  Alan Modra  <amodra@gmail.com>
145
146         * ldexp.c (exp_fold_tree_1): Clear linker_def on symbol assignment.
147
148 2015-08-06  Alan Modra  <amodra@gmail.com>
149
150         * ldexp.c (align_dot_val): Delete.
151         (fold_unary <ALIGN_K, NEXT>): Revert 2015-07-10 change.
152         (is_align_conditional): Revert 2015-07-20 change.
153         (exp_fold_tree_1): Likewise, but keep expanded comment.
154         * scripttempl/elf.sc (.ldata, .bss): Revert 2015-07-20 change.
155         * ld.texinfo (<ALIGN>): Correct description.
156
157 2015-08-04  Andrew Burgess  <andrew.burgess@embecosm.com>
158
159         * ld.texinfo (Options): Document --require-defined option.
160         * ldlang.c (struct require_defined_symbol): New structure.
161         (require_defined_symbol_list): New variable.
162         (ldlang_add_require_defined): New function.
163         (ldlang_check_require_defined_symbols): New function.
164         (lang_process): Check required symbols are defined.
165         * ldlang.h (ldlang_add_require_defined): Declare.
166         * ldlex.h (enum option_values): Add OPTION_REQUIRE_DEFINED_SYMBOL.
167         * lexsup.c (ld_options): Add '--require-defined' entry.
168         (parse_args): Handle '--requre-defined' entry.
169         * NEWS: Mention new '--require-defined' option.
170
171 2015-08-03  Andrew Burgess  <andrew.burgess@embecosm.com>
172
173         * ld.texinfo (MEMORY): Explain that multiple MEMORY commands are
174         acceptable.
175
176 2015-07-29  H.J. Lu  <hongjiu.lu@intel.com>
177
178         * lexsup.c (parse_args): Don't set link_info.executable to
179         TRUE for link_info.relocatable.
180
181 2015-07-27  H.J. Lu  <hongjiu.lu@intel.com>
182
183         * configure: Regenerated.
184
185 2015-07-24  Nick Clifton  <nickc@redhat.com>
186
187         * emulparams/elf32rl78.sh (OTHER_SECTIONS): Provide a value for
188         the _-rl78_abs__ symbol.
189
190 2015-07-20  Alan Modra  <amodra@gmail.com>
191
192         * emulparams/criself.sh (INIT_ADDR, FINI_ADDR): Define.
193         (INIT_START, FINI_START): Don't ALIGN.
194         * scriptempl/elf.sc (.init, .fini): Apply INIT_ADDR/FINI_ADDR.
195
196 2015-07-20  Alan Modra  <amodra@gmail.com>
197
198         * scripttempl/elf.sc (.ldata, .bss): Align absolute value of dot.
199         * ldexp.c (is_align_conditional): Handle binary ALIGN.
200         (exp_fold_tree_1): Move code setting SEC_KEEP for assignments to
201         dot inside output sections.  Handle absolute expressions.
202
203 2015-07-14  H.J. Lu  <hongjiu.lu@intel.com>
204
205         * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Make
206         --compress-debug-sections=zlib the same as
207         --compress-debug-sections=zlib-gabi.
208         * ld.texinfo: Change --compress-debug-sections=zlib to zlib-gabi.
209
210 2015-07-14  Nick Clifton  <nickc@redhat.com>
211
212         * ld.texinfo (Options): Add missing period after @xref.
213
214 2015-07-10  Alan Modra  <amodra@gmail.com>
215
216         * ldexp.c (align_dot_val): New function.
217         (fold_unary <ALIGN_K, NEXT>): Use it.
218
219 2015-07-03   Kai Tietz  <ktietz@redhat.com>
220
221         PR ld/11539
222         * scripttempl/pep.sc: Mark .idata*, .CRT*, .tls*,
223         .rsrc*, .init, .ctor*, .dtor*, .fini, .jcr,
224         .eh_frame, .pdata. .xdata, and .gcc_except_table sections
225         as KEEP.
226         * scripttempl/pe.sc: Likewise.
227         * ld.texinfo: Document that --gc-sections has experimental support
228         for COFF and PE targets.
229         * NEWS: Mention experimental support.
230
231 2015-07-03  Alan Modra  <amodra@gmail.com>
232
233         * Makefile.am (eelf32or1k.c, eelf32or1k_linux.c): Depend on ELF_DEPS.
234         * Makefile.in: Regenerate.
235
236 2015-06-28  H.J. Lu  <hongjiu.lu@intel.com>
237
238         * emultempl/elf32.em  (gld${EMULATION_NAME}_handle_option):
239         Replace COMPRESS_DEBUG_ZLIB with COMPRESS_DEBUG_GNU_ZLIB.
240
241 2015-06-26  H.J. Lu  <hongjiu.lu@intel.com>
242
243         * emulparams/elf_iamcu.sh (COMPILE_IN): New.
244
245 2015-06-15  Nick Clifton  <nickc@redhat.com>
246
247         PR ld/18466
248         * emultempl/pe.em (pe_find_data_imports): Generate an error if a
249         symbol name is too long to handle.
250         * emultempl/pep.em (pep_find_data_imports): Likewise.
251
252 2015-06-12  Tristan Gingold  <gingold@adacore.com>
253
254         * NEWS: Mention new option.
255         * lexsup.c (parse_args): Handle --print-memory-usage.
256         (ld_options): Add --print-memory-usage.
257         * ldmain.c (main): Call lang_print_memory_usage.
258         * ldlex.h (enum option_values): Add OPTION_PRINT_MEMORY_USAGE.
259         * ldlang.h: Add prototype of lang_print_memory_usage.
260         * ldlang.c (lang_print_memory_size, lang_print_memory_usage): New
261         functions.
262         * ld.texinfo (Options): Document --print-memory-usage.
263         * ld.h (args_type): Add print_memory_usage field.
264
265 2015-06-08  Nick Clifton  <nickc@redhat.com>
266
267         * po/fr.po: Updated French Translation.
268
269 2015-05-28  Catherine Moore  <clm@codesourcery.com>
270             Paul Brook <paul@codesourcery.com>
271
272         * emultempl/elf32.em (gld${EMULATION_NAME}_after_open):
273         Add Compact EH support.
274         * scripttempl/elf.sc: Handle .eh_frame_entry and .gnu_extab
275         sections.
276
277 2015-05-17  Chung-Lin Tang  <cltang@codesourcery.com>
278
279         * configure.ac (AC_PROG_GREP): Check for grep program.
280         (elf_list_options,elf_shlib_list_options,elf_plt_unwind_list_options):
281         Enable ELF option printing for emulations containing
282         'TEMPLATE_NAME=elf32'.
283         * configure: Regenerate.
284
285 2015-05-14  Nick Clifton  <nickc@redhat.com>
286
287         * ld.texinfo (ASSERT): Describe the interaction with PROVIDEd
288         symbols.
289
290 2015-05-11  H.J. Lu  <hongjiu.lu@intel.com>
291
292         * configure.tgt: Support i[3-7]86-*-elfiamcu target.
293
294 2015-05-11  H.J. Lu  <hongjiu.lu@intel.com>
295
296         * Makefile.am (ALL_EMULATION_SOURCES): Add eelf_iamcu.c.
297         (eelf_iamcu.c): New.
298         * configure.tgt (targ_extra_emuls): Add elf_iamcu if elf_i386 is
299         enabled in BFD.
300         * Makefile.in: Regenerated.
301         * emulparams/elf_iamcu.sh: New file.
302
303 2015-05-05  Nick Clifton  <nickc@redhat.com>
304
305         * emulparams/msp430elf.sh (TEMPLATE_NAME): Change to msp430.
306         * scripttempl/msp430.sc (.text): Add .lower.text and .either.text.
307         (.data): Add .lower.data and .either.data.
308         (.bss): Add .lower.bss and .either.bss.
309         (.rodata): Add .lower.rodata and .either.rodata.
310         * emultempl/msp430.em: New file.  Implements a new orphan
311         placement algorithm that divides sections between lower and upper
312         memory regions.
313         * Makefile.am (emsp430elf.c): Depend upon msp430.em.
314         *emsp430X.c): Likewise.
315         * Makefine.in: Regenerate.
316
317 2015-04-28  Andreas Schwab  <schwab@linux-m68k.org>
318
319         PR ld/18344
320         * ldlex.l (INPUTLIST): Increment lineno on newline.
321
322 2015-04-24  Alan Modra  <amodra@gmail.com>
323
324         * emultempl/ppc64elf.em (gld${EMULATION_NAME}_after_allocation):
325         Call gld${EMULATION_NAME}_map_segments regardless of need_laying_out.
326
327 2015-04-24  DJ Delorie  <dj@redhat.com>
328
329         * Makefile.am (msp430): Rename primary emulation to msp430elf.
330         (emsp430.c): Rename to emsp430elf.c, update dependencies
331         (emsp430X.c): Update dependencies.
332         * Makefile.in: Likewise.
333         * configure.tgt (msp430-*-*): Rename primary emulation to msp430elf.
334         * emulparams/msp430.sh: Rename to msp430elf.sh.
335         * emulparams/msp430X.sh: Update.
336
337 2015-04-23  H.J. Lu  <hongjiu.lu@intel.com>
338
339         PR binutils/18209
340         * ldfile.c (ldfile_try_open_bfd): Set is_linker_input to 1.
341
342 2015-04-23  Alan Modra  <amodra@gmail.com>
343
344         * emulparams/elf64ppc.sh (GOT): Align.
345
346 2015-04-22  Alan Modra  <amodra@gmail.com>
347
348         * ldexp.h (struct ldexp_control): Delete dataseg.min_base.  Add
349         data_seg.relro_offset.
350         * ldexp.c (fold_binary <DATA_SEGMENT_ALIGN>): Don't set min_base.
351         (fold_binary <DATA_SEGMENT_RELRO_END>): Do set relro_offset.
352         * ldlang.c (lang_size_sections): Rewrite code adjusting relro
353         segment base to line up last section on page boundary.
354
355 2015-04-15  H.J. Lu  <hongjiu.lu@intel.com>
356
357         * NEWS: Mention
358         --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi].
359
360 2015-04-14  H.J. Lu  <hongjiu.lu@intel.com>
361
362         * ld.texinfo: Document --compress-debug-sections=.
363         * ldmain.c (main): Set BFD_COMPRESS on output_bfd if
364         COMPRESS_DEBUG is set.  Set BFD_COMPRESS_GABI on output_bfd
365         for COMPRESS_DEBUG_GABI_ZLIB.
366         * lexsup.c (elf_static_list_options): Add
367         --compress-debug-sections=.
368         * emultempl/elf32.em (OPTION_COMPRESS_DEBUG): New.
369         (xtra_long): Add "compress-debug-sections".
370         (gld${EMULATION_NAME}_handle_option): Handle
371         OPTION_COMPRESS_DEBUG.
372
373 2015-04-14  H.J. Lu  <hongjiu.lu@intel.com>
374
375         PR ld/pr17709
376         * ld.texinfo: Document "-z noextern-protected-data".
377         * ldmain.c (main): Initialize link_info.extern_protected_data
378         to -1.
379         * lexsup.c (elf_shlib_list_options): Add
380         "-z [no]extern-protected-data".
381         * emulparams/elf32_x86_64.sh: Source extern_protected_data.sh.
382         * emulparams/elf_i386.sh: Likewise.
383         * emulparams/elf_i386_be.sh: Likewise.
384         * emulparams/elf_i386_chaos.sh: Likewise.
385         * emulparams/elf_i386_ldso.sh: Likewise.
386         * emulparams/elf_i386_vxworks.sh: Likewise.
387         * emulparams/elf_k1om.sh: Likewise.
388         * emulparams/elf_l1om.sh: Likewise.
389         * emulparams/elf_x86_64.sh: Source extern_protected_data.sh.
390         (PARSE_AND_LIST_OPTIONS): Renamed to ...
391         (PARSE_AND_LIST_OPTIONS_BNDPLT): This.
392         (PARSE_AND_LIST_ARGS_CASE_Z): Renamed to ...
393         (PARSE_AND_LIST_ARGS_CASE_Z_BNDPLT): This.
394         (PARSE_AND_LIST_OPTIONS): Append $PARSE_AND_LIST_OPTIONS_BNDPLT.
395         (PARSE_AND_LIST_ARGS_CASE_Z): Append
396         $PARSE_AND_LIST_ARGS_CASE_Z_BNDPLT.
397         * emulparams/extern_protected_data.sh: New file.
398
399 2015-04-11  H.J. Lu  <hongjiu.lu@intel.com>
400
401         * plugin.c (plugin_load_plugins): Removed an extra ';'.
402
403 2015-04-10  Nick Clifton  <nickc@redhat.com>
404
405         PR binutils/18198
406         * ld.texinfo (--be8): Add a note about the interaction of this
407         option with the assembler's -EB option.
408
409 2015-04-10  Alan Modra  <amodra@gmail.com>
410
411         * configure.ac: Set elf_list_options etc. in proper case.
412         * configure: Regenerate.
413
414 2015-04-10  Alan Modra  <amodra@gmail.com>
415
416         PR ld/18223
417         * ldlang.c (lang_process): Add _init and _fini to gc_sym_list.
418
419 2015-04-09  H.J. Lu  <hongjiu.lu@intel.com>
420
421         * emulparams/elf_x86_64.sh (BNDPLT): Removed.
422         (PARSE_AND_LIST_OPTIONS): New.
423         (PARSE_AND_LIST_ARGS_CASE_Z): Likewise.
424         * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Remove
425         BNDPLT check.  Handle PARSE_AND_LIST_ARGS_CASE_Z.
426         (gld${EMULATION_NAME}_list_options): Remove BNDPLT check.
427
428 2015-04-09  Nick Clifton  <nickc@redhat.com>
429
430         * po/fr.po: Updated French translation.
431
432 2015-04-08  H.J. Lu  <hongjiu.lu@intel.com>
433
434         * configure.ac (elf_list_options): Set to TRUE for
435         --enable-targets=all.
436         (elf_shlib_list_options): Likewise.
437         (elf_plt_unwind_list_options): Likewise.
438         * configure: Regenerated.
439
440 2015-04-08  H.J. Lu  <hongjiu.lu@intel.com>
441
442         * emulparams/elf32bmipn32-defs.sh: Skip empty EMULATION_NAME.
443
444 2015-04-08  H.J. Lu  <hongjiu.lu@intel.com>
445
446         * Makefile.am (ELF_CLFAGS): New.
447         (AM_CFLAGS): Add $(ELF_CLFAGS).
448         * configure.ac (elf_list_options): New.  AC_SUBST.
449         (elf_shlib_list_options): Likewise.
450         (elf_plt_unwind_list_options): Likewise.
451         * lexsup.c (elf_shlib_list_options): New.
452         (elf_static_list_options): Likewise.
453         (elf_plt_unwind_list_options): Likewise.
454         (ld_list_options): Likewise.
455         (help): Call ld_list_options.
456         * Makefile.in: Regenerated.
457         * configure: Likewise.
458         * emulparams/plt_unwind.sh (PLT_UNWIND): New.
459         (PARSE_AND_LIST_OPTIONS): Removed.
460         * emultempl/elf32.em (gld_list_options): New.
461         (gld${EMULATION_NAME}_list_options): Define only if BNDPLT or
462         PARSE_AND_LIST_OPTIONS is defined.
463         (ld_${EMULATION_NAME}_emulation): Replace
464         gld${EMULATION_NAME}_list_options with ${gld_list_options.
465
466 2015-04-07  Alan Modra  <amodra@gmail.com>
467
468         PR ld/18176
469         * ldlang.c (lang_size_sections): Cast shift expression.
470
471 2015-04-07  Alan Modra  <amodra@gmail.com>
472
473         * emultempl/ppc32elf.em: Handle --no-pic-fixup.
474         (params): Init new field.
475         (ppc_before_allocation): Enable relaxation for pic_fixup.
476
477 2015-04-07  Nick Clifton  <nickc@redhat.com>
478
479         * ld.h (struct ld_config_type): Add new field: warn_orphan.
480         * ldlex.h (enum option_values): Add OPTION_WARN_ORPHAN and
481         OPTION_NO_WARN_ORPHAN.
482         * lexsup.c (ld_options): Add --warn-orphan and --no-warn-orphan.
483         (parse_args): Handle the new options.
484         * ldemul.c (ldemul_place_orphan): If requested, generate a warning
485         message when an orphan section is placed in the output file.
486         * ld.texinfo: Document the new option.
487         * NEWS: Mention the new feature.
488
489 2015-04-02  Andrew Turner <andrew@freebsd.org>
490
491         * Makefile.am: Add FreeBSD aarch64 files.
492         * Makefile.in: Regenerate.
493         * configure.tgt: Add aarch64-*-freebsd* target triple.
494         * emulparams/aarch64fbsd.sh: New file.
495         * emulparams/aarch64fbsdb.sh: New file.
496
497 2015-04-01  H.J. Lu  <hongjiu.lu@intel.com>
498
499         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Work
500         around a GCC uninitialized warning bug fixed in GCC 4.6.
501
502 2015-04-01  Tejas Belagod  <tejas.belagod@arm.com>
503
504         * emultempl/aarch64elf.em
505         (aarch64_elf_create_output_section_statements): Add parameter in
506         bfd_elf${ELFSIZE}_aarch64_set_options call.
507         (OPTION_FIX_ERRATUM_843419): Define.
508         (PARSE_AND_LIST_LONGOPTS): Add fix-cortex-a53-843419.
509         (PARSE_AND_LIST_ARGS_CASES): Add OPTION_FIX_ERRATUM_843419.
510
511 2015-04-01  Chen Gang  <gang.chen.5i5j@gmail.com>
512
513         * emulparams/elf32_tic6x_le.sh: Skip OTHER_BSS_SECTIONS for
514         relocating operation.
515
516 2015-04-01  Alan Modra  <amodra@gmail.com>
517
518         PR ld/18176
519         * ldlang.c (lang_size_sections): When alignment of sections
520         results in relro base adjustment being too large, don't go lower
521         than the initial value.
522         * ldexp.c (fold_binary <DATA_SEGMENT_RELRO_END>): Comment.
523         * scripttempl/elf.sc (DATA_SEGMENT_ALIGN): Omit SEGMENT_SIZE
524         alignment when SEGMENT_SIZE is the same as MAXPAGESIZE.
525
526 2015-04-01  Alan Modra  <amodra@gmail.com>
527
528         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Don't
529         init ehdr_start_save.
530
531 2015-04-01  Alan Modra  <amodra@gmail.com>
532
533         * Makefile.am (eelf32ppcvxworks.c): Depend on ppc32elf.em and
534         ldemul-list.h.
535         (eelf32lppc.c, eelf32lppclinux.c, eelf32lppcnto.c, eelf32lppcsim.c,
536         eelf32ppc.c, eelf32ppc_fbsd.c, eelf32ppclinux.c, eelf32ppcnto.c,
537         eelf32ppcsim.c): Rearrange deps for consistency.
538         * Makefile.in: Regenerate.
539
540 2015-04-01  Ed Schouten  <ed@nuxi.nl>
541
542         * emultempl/elf32.em (gld*_before_allocation): Zero-initialize
543         the ehdr_start_save variable.
544
545 2015-03-31  Ed Schouten  <ed@nuxi.nl>
546
547         * Makefile.am (ALL_64_EMULATION_SOURCES): Add
548         eelf_x86_64_cloudabi.c.
549         (eelf_x86_64_cloudabi.c): New.
550         * configure.tgt (targ_emul): Set to elf_x86_64_cloudabi for
551         x86_64-*-cloudabi*.
552         * Makefile.in: Regenerated.
553         * emulparams/elf_x86_64_cloudabi.sh: New file.
554
555 2015-03-31  H.J. Lu  <hongjiu.lu@intel.com>
556
557         * configure.ac (AM_ZLIB): Removed.
558         * Makefile.in: Regenerated.
559         * config.in: Likewise.
560         * configure: Likewise.
561
562 2015-03-24  Marcus Shawcroft  <marcus.shawcroft@arm.com>
563
564         * emultempl/aarch64elf.em (_aarch64_add_stub_section): Set section
565         alignment to 2.
566
567 2015-03-23  Marcus Shawcroft  <marcus.shawcroft@arm.com>
568
569         * emultempl/aarch64elf.em
570         (elf${ELFSIZE}_aarch64_add_stub_section): Adjust layout.
571
572 2015-03-18  Chen Gang  <gang.chen.5i5j@gmail.com>
573
574         * ldmain.c (main): Use %F instead of %X for einfo.
575
576 2015-03-02  Alan Modra  <amodra@gmail.com>
577
578         * ld.texinfo (Options <-z nocopyreloc>): Rewrite.
579
580 2015-02-27  Nick Clifton  <nickc@redhat.com>
581
582         PR ld/17900
583         * ldlang.c (lang_set_flags): Allow exclamation mark to reverse the
584         sense of the following memory region attribute characters.
585
586 2015-02-27  Alan Modra  <amodra@gmail.com>
587
588         * Makefile.am (ALL_EMULATION_SOURCES): Sort new h8300 entries.
589         (eh8300elf_linux.c, eh8300helf_linux.c, eh8300self_linux.c,
590         eh8300sxelf_linux.c): Do not invoke genscripts here.
591         * Makefile.in: Regenerate.
592
593 2015-02-24  Nick Clifton  <nickc@redhat.com>
594
595         * Makefile.am (ev850.c): Add dependency upon
596         $(srcdir)/emultempl/v850elf.em.
597         (ev850_rh850.c): Likewise.
598         * Makefile.in: Regenerate.
599         * emultempl/v850elf.em: New file.
600         * emulparams/v850.sh (EXTRA_EM_FILE): Define.
601         * emulparams/v850_rh850.sh (EXTRA_EM_FILE): Define.
602         * scripttempl/v850.sc: Add .note.renesas section.
603         * scripttempl/v850_rh850.sc: Likewise.
604
605 2015-02-24  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
606
607         * scripttempl/avr.sc: Add new user_signatures region.  Define and
608         use symbols for all region lengths.
609         * scripttempl/avrtiny.sc: Define and use symbols for all region
610         lengths.
611
612 2015-01-21  Yoshinori Sato <ysato@users.sourceforge.jp>
613
614         * Makefile.am: (ALL_EMULATION_SOURCES): Add new emulations.
615         * Makefile.in: Regenerate.
616         * configure.tgt: Add h8300-*-linux
617         * emulparams/h8300elf_linux.sh: Add new emulation.
618         * emulparams/h8300helf_linux.sh: Likewise.
619         * emulparams/h8300self_linux.sh: Likewise.
620         * emulparams/h8300sxelf_linux.sh: Likewise.
621
622 2015-02-23  Nick Clifton  <nickc@redhat.com>
623
624         * lexsup.c (parse_args): Produce a more reasonable error message
625         when -ixxx or -rxxx is the last option on the linker command line.
626
627 2015-02-14  H.J. Lu  <hongjiu.lu@intel.com>
628
629         PR ld/17973
630         * testplug2.c (allsymbolsread_silent): New.
631         (set_register_hook): Handle allsymbolsreadsilent.
632         (onall_symbols_read): Skip a message if allsymbolsread_silent is
633         TRUE.
634
635 2015-02-14  Alan Modra  <amodra@gmail.com>
636
637         PR ld/17973
638         * ldlang.h (struct lang_input_statement_flags): Add lto_output.
639         * ldlang.c (lang_process): Don't set loading_lto_outputs.
640         * ldfile.c (ldfile_try_open_bfd): Transfer entry flags.lto_output
641         to bfd.
642         * plugin.c (add_input_file, add_input_library): Set flags.lto_output.
643
644 2015-02-13  H.J. Lu  <hongjiu.lu@intel.com>
645
646         * NEWS: Mention support for LLVM plugin.
647
648 2015-02-13  Alan Modra  <amodra@gmail.com>
649
650         * ld.texinfo (Options <--defsym>): Correct cross reference.
651
652 2015-02-11  H.J. Lu  <hongjiu.lu@intel.com>
653
654         * lexsup.c (ld_options): Add --[no-]map-whole-files for gold
655         option compatibility.
656
657 2015-02-11  H.J. Lu  <hongjiu.lu@intel.com>
658
659         * plugin.c (message): Output "warning:" for LDPL_WARNING. Output
660         "error:" for LDPL_FATAL and LDPL_ERROR.
661         * testplug2.c (parse_option): Handle fatal, error and warning.
662
663 2015-02-11  H.J. Lu  <hongjiu.lu@intel.com>
664
665         * testplug2.c (dump_tv_tag): Removed.
666         (onall_symbols_read): Return LDPS_ERR if the file descriptor isn't
667         closed.
668         * testplug3.c (dump_tv_tag): Removed.
669         (onclaim_file): Fix typo.
670
671 2015-02-11  H.J. Lu  <hongjiu.lu@intel.com>
672
673         PR ld/17878
674         * Makefile.am (noinst_LTLIBRARIES): Add libldtestplug2.la and
675         libldtestplug3.la.
676         (libldtestplug2_la_SOURCES): New.
677         (libldtestplug2_la_CFLAGS): Likewise.
678         (libldtestplug2_la_LDFLAGS): Likewise.
679         (libldtestplug3_la_SOURCES): New.
680         (libldtestplug3_la_CFLAGS): Likewise.
681         (libldtestplug3_la_LDFLAGS): Likewise.
682         * Makefile.in: Regenerated.
683         * testplug2.c: New file.
684         * testplug3.c: Likewise.
685
686 2015-02-11  H.J. Lu  <hongjiu.lu@intel.com>
687
688         PR ld/17878
689         * plugin.c: Include ../bfd/plugin.h.
690         (plugin_get_ir_dummy_bfd): Call bfd_create with
691         link_info.output_bfd instead of srctemplate.  Copy BFD info
692         from srctemplate only if it doesn't use BFD plugin target
693         vector.
694         (plugin_load_plugins): Call register_ld_plugin_object_p with
695         (plugin_object_p)
696         (plugin_maybe_claim): Renamed to ...
697         (plugin_object_p): This.  Return dummy BFD target vector if
698         input is calimed by plugin library, otherwise return NULL.
699         Update plugin_format and plugin_dummy_bfd.
700         (plugin_maybe_claim): New.  Use plugin_object_p.
701
702 2015-02-10  H.J. Lu  <hongjiu.lu@intel.com>
703
704         * plugin.c (plugin_maybe_claim): Initialize use_mmap.
705
706 2015-02-10  H.J. Lu  <hongjiu.lu@intel.com>
707
708         * plugin.c (plugin_input_file_t): Add use_mmap.
709         (plugin_pagesize): New.
710         (get_view): Use plugin_pagesize.  Set use_mmap if mmap is used.
711         (plugin_load_plugins): Initialize plugin_pagesize.
712         (plugin_maybe_claim): Unmap the buffer if plugin didn't claim the
713         file.
714
715 2015-02-10  H.J. Lu  <hongjiu.lu@intel.com>
716
717         * plugin.c (get_view): Align offset passed to mmap.
718
719 2015-02-08  H.J. Lu  <hongjiu.lu@intel.com>
720
721         * ldfile.c (ldfile_try_open_bfd): Don't call bfd_check_format
722         if plugin isn't active or there is no thing more to claim.
723
724 2015-02-08  H.J. Lu  <hongjiu.lu@intel.com>
725
726         * plugin.c (plugin_maybe_claim): Check format against bfd_object
727         directly.
728
729 2015-02-07  H.J. Lu  <hongjiu.lu@intel.com>
730
731         * plugin.c (plugin_maybe_claim): Replace entry->the_bfd with
732         ibfd.
733
734 2015-02-07  H.J. Lu  <hongjiu.lu@intel.com>
735
736         * plugin.c: Include "libbfd.h".
737         (plugin_strdup): New.
738         (plugin_maybe_claim): Remove the argument of pointer to struct
739         ld_plugin_input_file.  Open and handle input entry.
740         * plugin.h (plugin_maybe_claim): Updated.
741         * ldfile.c (ldfile_try_open_bfd): Call plugin_maybe_claim directly
742         without passing a pointer to struct ld_plugin_input_file.
743         * ldmain.c: Don't include "libbfd.h".
744         (add_archive_element): Call plugin_maybe_claim directly without
745         passing a pointer to struct ld_plugin_input_file.
746
747 2015-02-06  H.J. Lu  <hongjiu.lu@intel.com>
748
749         * ld.texinfo: Document -z text, -z notext and -z textoff.
750         * emultempl/elf32.em (gld${EMULATION_NAME}_list_options): Add
751         -z text, -z notext and -z textoff.
752
753 2015-02-06  H.J. Lu  <hongjiu.lu@intel.com>
754
755         * configure.ac: Add AC_FUNC_MMAP.
756         * config.in: Regenerated.
757         * configure: Likewise.
758         * plugin.c: Include <sys/mman.h>.
759         (MAP_FAILED): New.  Defined if not defined.
760         (PROT_READ): Likewise.
761         (MAP_PRIVATE): Likewise.
762         (view_buffer_t): New.
763         (plugin_input_file_t): Add view_buffer.
764         (get_view): Try mmap and cache the view buffer.
765         (plugin_maybe_claim): Initialize view_buffer.
766
767 2015-02-05  H.J. Lu  <hongjiu.lu@intel.com>
768
769         * plugin.c (release_input_file): Set fd to -1 after closing it.
770         (plugin_maybe_claim): Close fd only if fd != -1.
771
772 2015-02-05  H.J. Lu  <hongjiu.lu@intel.com>
773
774         PR ld/17878
775         * plugin.c: Include <errno.h>.
776         (errno): New.  Declare if needed.
777         (plugin_input_file_t): New.
778         (get_input_file): Implemented.
779         (get_view): Likewise.
780         (release_input_file): Likewise.
781         (add_symbols): Updated.
782         (get_symbols): Likewise.
783         (plugin_maybe_claim): Allocate a plugin_input_file_t.  Close fd
784         only for a bfd_object input.
785
786 2015-02-02  Alan Modra  <amodra@gmail.com>
787
788         * emultempl/ppc64elf.em (toc_section_name): New var.
789         (ppc_after_open): Set it.
790         (ppc_before_allocation): Use it.
791         (gld${EMULATION_NAME}_after_allocation): Here too.
792
793 2015-01-29  H.J. Lu  <hongjiu.lu@intel.com>
794
795         * ldfile.c (ldfile_try_open_bfd): Replace plugin_active_plugins_p()
796         with link_info.lto_plugin_active.
797         * ldlang.c (lang_process): Likewise.
798         * ldmain.c (add_archive_element): Likewise.
799         * plugin.c (plugin_active_plugins_p): Removed.
800         * plugin.h (plugin_active_plugins_p): Likewise.
801
802 2015-01-28  H.J. Lu  <hongjiu.lu@intel.com>
803
804         * plugin.h (plugin_get_ir_dummy_bfd): Removed.  Move comments to
805         ...
806         * plugin.c (plugin_get_ir_dummy_bfd): Here.  Make it static.
807
808 2015-01-28  H.J. Lu  <hongjiu.lu@intel.com>
809
810         PR ld/17878
811         * plugin.c (tv_header_tags(): Add LDPT_GET_VIEW.
812         (get_view): New function.
813         (set_tv_header): Handle LDPT_GET_VIEW.
814         * testplug.c (tag_names): Add LDPT_GET_VIEW.
815         (tv_get_view): New.
816         (dump_tv_tag): Handle LDPT_GET_VIEW.
817         (parse_tv_tag): Likewise.
818
819 2015-01-28  Alan Modra  <amodra@gmail.com>
820
821         * emulparams/elf64ppc.sh (INITIAL_READWRITE_SECTIONS): Define.
822         * emultempl/ppc64elf.em (params): Init new field.
823         (ppc_after_open): New function.
824         (LDEMUL_AFTER_OPEN): Define.
825         * ldlang.c (lang_final): Whitespace fix.
826
827 2015-01-28  James Bowman  <james.bowman@ftdichip.com>
828
829         * Makefile.am: Add FT32 files.
830         * configure.tgt: Handle FT32 target.
831         * emulparams/elf32ft32.sh: New file.
832         * scripttempl/ft32.sc: New file.
833         * Makefile.in: Regenerate.
834
835 2015-01-28  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
836
837         PR 4643
838         * ldexp.c (fold_name): Fold LENGTH only after
839         lang_first_phase_enum.
840         * ldgram.y (memory_spec): Don't evaluate ORIGIN and LENGTH
841         rightaway.
842         * ldlang.h (struct memory_region_struct): Add origin_exp and
843         length_exp fields.
844         * ldlang.c (lang_do_memory_regions): New.
845         (lang_memory_region_lookup): Initialize origin_exp and
846         length_exp fields.
847         (lang_process): Call lang_do_memory_regions.
848
849 2015-01-20  Andrew Burgess  <andrew.burgess@embecosm.com>
850
851         * ldlang.c (print_assignment): Only evaluate the expression for a
852         PROVIDE'd assignment when the destination is being defined.
853         Display a special message for PROVIDE'd symbols that are not being
854         provided.
855
856 2015-01-20  Alan Modra  <amodra@gmail.com>
857
858         * emulparams/elf64ppc.sh (OTHER_SDATA_SECTIONS): Use in place of..
859         (OTHER_BSS_SYMBOLS): ..this.
860         (OTHER_PLT_RELOC_SECTIONS): Don't define.
861         (OTHER_GOT_RELOC_SECTIONS): Add rela.toc1 and rela.tocbss.
862         (OTHER_READWRITE_SECTIONS): Don't define.  Move .toc1 to..
863         (OTHER_RELRO_SECTIONS_2): ..here.
864         * scripttempl/elf.sc: Move SBSS too when DATA_SDATA.
865
866 2015-01-20  Alan Modra  <amodra@gmail.com>
867
868         * emulparams/elf64ppc.sh (BSS_PLT): Don't define.
869         (OTHER_READWRITE_SECTIONS): Move .branch_lt to..
870         (OTHER_RELRO_SECTIONS_2): ..here.
871         (DATA_GOT, SEPARATE_GOTPLT, DATA_SDATA, DATA_PLT,
872         PLT_BEFORE_GOT): Define.
873         * scripttempl/elf.sc: Handle DATA_SDATA and DATA_GOT/DATA_PLT/
874         PLT_BEFORE_GOT combination.
875         (DATA_GOT, SDATA_GOT): Don't define if either is already defined.
876
877 2015-01-20  Alan Modra  <amodra@gmail.com>
878
879         * emulparams/elf64ppc.sh (OTHER_READWRITE_SECTIONS): Move .opd to..
880         (OTHER_RELRO_SECTIONS_2): ..here, new define.
881         * scripttempl/elf.sc: Add OTHER_RELRO_SECTIONS_2.
882
883 2015-01-19  Alan Modra  <amodra@gmail.com>
884
885         PR ld/17615
886         * ldlang.c (lang_process): Run lang_common before lang_gc_sections.
887
888 2015-01-14  Jiong Wang  <jiong.wang@arm.com>
889
890         * ld-arm/elf32-reject.s: New testcase.
891         * ld-arm/elf32-reject.d: Likewise.
892         * ld-arm/elf32-reject-pie.s: Likewise.
893         * ld-arm/elf32-reject-pie.d: Likewise.
894         * ld-arm/arm-elf.exp: Run new testcases.
895         * ld-arm/ifunc-7.s: Delete f2/f4 test items.
896         * ld-arm/ifunc-7.rd: Likewise.
897         * ld-arm/ifunc-7.gd: Likewise.
898         * ld-arm/ifunc-7.dd: Likewise.
899         * ld-arm/ifunc-8.s: Likewise.
900         * ld-arm/ifunc-8.rd: Likewise.
901         * ld-arm/ifunc-8.gd: Likewise.
902         * ld-arm/ifunc-8.dd: Likewise.
903
904 2015-01-01  Alan Modra  <amodra@gmail.com>
905
906         * ldver.c (ldversion): Just print current year.
907
908 2015-01-01  Alan Modra  <amodra@gmail.com>
909
910         Update year range in copyright notice of all files.
911
912 For older changes see ChangeLog-2014
913 \f
914 Copyright (C) 2015 Free Software Foundation, Inc.
915
916 Copying and distribution of this file, with or without modification,
917 are permitted in any medium without royalty provided the copyright
918 notice and this notice are preserved.
919
920 Local Variables:
921 mode: change-log
922 left-margin: 8
923 fill-column: 74
924 version-control: never
925 End: