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