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