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