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