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