Edit .eh_frame symbols
[external/binutils.git] / bfd / ChangeLog
1 2017-04-27  Alan Modra  <amodra@gmail.com>
2
3         * elf-bfd.h (struct eh_cie_fde): Add aug_str_len and aug_data_len.
4         (_bfd_elf_adjust_eh_frame_global_symbol): Declare.
5         * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Set aug_str_len and
6         aug_data_len.
7         (offset_adjust): New function.
8         (_bfd_elf_adjust_eh_frame_global_symbol): Likewise.
9         (adjust_eh_frame_local_symbols): Likewise.
10         (_bfd_elf_discard_section_eh_frame): Call adjust_eh_frame_local_symbols
11         after changing anything.  Return true if anything changed.
12         * elflink.c (bfd_elf_discard_info): If .eh_frame changed, call
13         _bfd_elf_adjust_eh_frame_global_symbol for globals.
14
15 2017-04-27  Alan Modra  <amodra@gmail.com>
16
17         * elflink.c (_bfd_elf_link_hash_hide_symbol): Clear dynstr_index
18         when force_local.
19
20 2017-04-27  Alan Modra  <amodra@gmail.com>
21
22         * elf32-ppc.c (UNDEFWEAK_NO_DYNAMIC_RELOC): Define.
23         (ppc_elf_select_plt_layout, ppc_elf_tls_setup): Use it.
24         (ppc_elf_adjust_dynamic_symbol, allocate_dynrelocs): Likewise.
25         (ppc_elf_relocate_section): Likewise.  Delete silly optimisation
26         for undef and undefweak dyn_relocs.
27         * elf64-ppc.c (UNDEFWEAK_NO_DYNAMIC_RELOC): Define.
28         (ppc64_elf_adjust_dynamic_symbol, ppc64_elf_tls_setup): Use it.
29         (allocate_got, allocate_dynrelocs): Likewise.
30         (ppc64_elf_relocate_section): Likewise.
31
32 2017-04-26  H.J. Lu  <hongjiu.lu@intel.com>
33
34         * elf32-i386.c (elf_i386_size_dynamic_sections): Alwasys add
35         DT_PLTRELSZ, DT_PLTREL and DT_JMPREL for .rel.plt section.
36         * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Alwasys
37         add DT_PLTRELSZ, DT_PLTREL and DT_JMPREL for .rela.plt section.
38
39 2017-04-26  Nick Clifton  <nickc@redhat.com>
40
41         PR binutils/21434
42         * reloc.c (bfd_perform_relocation): Check for a negative address
43         in the reloc.
44
45 2017-04-26  Maciej W. Rozycki  <macro@imgtec.com>
46
47         PR ld/21334
48         * elf-bfd.h (elf_backend_data): Add `always_renumber_dynsyms'
49         member.
50         * elfxx-target.h [!elf_backend_always_renumber_dynsyms]
51         (elf_backend_always_renumber_dynsyms): Define.
52         (elfNN_bed): Initialize `always_renumber_dynsyms' member.
53         * elfxx-mips.h (elf_backend_always_renumber_dynsyms): Define.
54         * elflink.c (bfd_elf_size_dynamic_sections): Also call
55         `_bfd_elf_link_renumber_dynsyms' if the backend has requested
56         it.
57         (bfd_elf_size_dynsym_hash_dynstr): Likewise.
58
59 2017-04-26  Maciej W. Rozycki  <macro@imgtec.com>
60
61         * elflink.c (bfd_elf_size_dynamic_sections): Only call
62         `_bfd_elf_link_renumber_dynsyms' after section GC if dynamic
63         sections have been created.
64
65 2017-04-26  Nick Clifton  <nickc@redhat.com>
66
67         PR binutils/21431
68         * compress.c (bfd_init_section_compress_status): Check the return
69         value from bfd_malloc.
70
71 2017-04-24  H.J. Lu  <hongjiu.lu@intel.com>
72
73         * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add
74         no_finish_dynamic_symbol.
75         (elf_x86_64_link_hash_newfunc): Set no_finish_dynamic_symbol to
76         0.
77         (elf_x86_64_allocate_dynrelocs): If a symbol isn't undefined
78         weak symbol, don't make it dynamic.
79         (elf_x86_64_relocate_section): If a symbol isn't dynamic in PIC,
80         set no_finish_dynamic_symbol and generate R_X86_64_RELATIVE
81         relocation for GOT reference.
82         (elf_x86_64_finish_dynamic_symbol): Abort if
83         no_finish_dynamic_symbol isn't 0.
84
85 2017-04-24  H.J. Lu  <hongjiu.lu@intel.com>
86
87         PR ld/21402
88         * elf32-i386.c (elf_i386_allocate_dynrelocs): If a symbol isn't
89         undefined weak symbol, don't make it dynamic.
90         (elf_i386_relocate_section): If a symbol isn't dynamic in PIC,
91         set no_finish_dynamic_symbol and generate R_386_RELATIVE
92         relocation for R_386_GOT32.
93
94 2017-04-24  H.J. Lu  <hongjiu.lu@intel.com>
95
96         PR ld/21425
97         * elf32-i386.c (ELF_MAXPAGESIZE): Set to 0x1000 for VxWorks.
98
99 2017-04-23  Alan Modra  <amodra@gmail.com>
100
101         PR 21414
102         * section.c (GLOBAL_SYM_INIT): Make available in bfd.h.
103         * elf.c (lcomm_sym): New.
104         (_bfd_elf_large_com_section): Use lcomm_sym section symbol.
105         * bfd-in2.h: Regenerate.
106
107 2017-04-23  Alan Modra  <amodra@gmail.com>
108
109         PR 21412
110         * elf-bfd.h (struct elf_backend_data <get_reloc_section>): Change
111         parameters and comment.
112         (_bfd_elf_get_reloc_section): Delete.
113         (_bfd_elf_plt_get_reloc_section): Declare.
114         * elf.c (_bfd_elf_plt_get_reloc_section, elf_get_reloc_section):
115         New functions.  Don't blindly skip over assumed .rel/.rela prefix.
116         Extracted from..
117         (_bfd_elf_get_reloc_section): ..here.  Delete.
118         (assign_section_numbers): Call elf_get_reloc_section.
119         * elf64-ppc.c (elf_backend_get_reloc_section): Define.
120         * elfxx-target.h (elf_backend_get_reloc_section): Update.
121
122 2017-04-23  Alan Modra  <amodra@gmail.com>
123
124         PR 21409
125         * dwarf2.c (_bfd_dwarf2_find_nearest_line): Don't segfault when
126         no symbols.
127
128 2017-04-21  H.J. Lu  <hongjiu.lu@intel.com>
129
130         PR ld/21402
131         * elf32-i386.c (elf_i386_link_hash_entry): Add
132         no_finish_dynamic_symbol.
133         (elf_i386_link_hash_newfunc): Set no_finish_dynamic_symbol to 0.
134         (elf_i386_allocate_dynrelocs): If a symbol isn't undefined weak
135         symbol, don't make it dynamic in PIE.
136         (elf_i386_relocate_section): If a symbol isn't dynamic in PIE,
137         set no_finish_dynamic_symbol and generate R_386_RELATIVE
138         relocation for R_386_GOT32
139         (elf_i386_finish_dynamic_symbol): Abort if no_finish_dynamic_symbol
140         isn't 0.
141
142 2017-04-21  H.J. Lu  <hongjiu.lu@intel.com>
143
144         PR ld/19617
145         PR ld/21086
146         * elflink.c (elf_link_add_object_symbols): Require
147         --no-dynamic-linker with -E/--dynamic-list when creating
148         dynamic sections.
149
150 2017-04-20  Maciej W. Rozycki  <macro@imgtec.com>
151
152         * elflink.c (_bfd_elf_symbol_refs_local_p): Always return TRUE
153         if forced local.
154
155 2017-04-20  Maciej W. Rozycki  <macro@imgtec.com>
156
157         * elfxx-mips.c (_bfd_mips_elf_final_link): Reorder comment about
158         dynamic symbol sorting.
159
160 2017-04-20  H.J. Lu  <hongjiu.lu@intel.com>
161
162         PR ld/21382
163         * elflink.c (elf_link_add_object_symbols): Preserve
164         dynamic_ref_after_ir_def when restoring the symbol table for
165         unneeded dynamic object.
166
167 2017-04-19  H.J. Lu  <hongjiu.lu@intel.com>
168
169         PR ld/21401
170         * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Don't abort
171         on on undefined IFUNC symbol in the second PLT.
172
173 2017-04-19  Wedson Almeida Filho  <wedsonaf@gmail.com>
174
175         * peXXigen.c (pe_print_reloc): Correct chunk_end.
176
177 2017-04-19  Alan Modra  <amodra@gmail.com>
178
179         * elflink.c (_bfd_elf_adjust_dynamic_symbol): Hide undefweak
180         or make dynamic for info->dynamic_undefined_weak 0 and 1.
181         * elf32-ppc.c:Formatting.
182         (ensure_undefweak_dynamic): Don't make dynamic when
183         info->dynamic_undefined_weak is zero.
184         (allocate_dynrelocs): Discard undefweak dyn_relocs for
185         info->dynamic_undefined_weak.  Discard undef dyn_relocs when
186         not default visibility.  Discard undef and undefweak
187         dyn_relocs earlier.
188         (ppc_elf_relocate_section): Adjust to suit.
189         * elf64-ppc.c: Formatting.
190         (ensure_undefweak_dynamic): Don't make dynamic when
191         info->dynamic_undefined_weak is zero.
192         (allocate_dynrelocs): Discard undefweak dyn_relocs for
193         info->dynamic_undefined_weak.  Discard them earlier.
194
195 2017-04-17  H.J. Lu  <hongjiu.lu@intel.com>
196
197         PR ld/21389
198         * elflink.c (bfd_elf_size_dynamic_sections): Get soname index
199         before generating the version definition section.
200
201 2017-04-17  Alan Modra  <amodra@gmail.com>
202
203         * elflink.c (_bfd_elf_merge_symbol): Undo dynamic linking
204         state when a regular object file defines a symbol with
205         incompatible type to that defined by an earlier shared lib.
206
207 2017-04-13  Alan Modra  <amodra@gmail.com>
208
209         * coffcode.h: Wrap some overly long _bfd_error_handler args.
210         * elf.c: Likewise.
211         * elf32-arm.c: Likewise.
212         * elf32-i386.c: Likewise.
213         * elf32-mep.c: Likewise.
214         * elf64-ia64-vms.c: Likewise.
215         * elf64-x86-64.c: Likewise.
216         * elflink.c: Likewise.
217         * elfnn-ia64.c: Likewise.
218         * elfxx-mips.c: Likewise.
219
220 2017-04-13  Alan Modra  <amodra@gmail.com>
221
222         * aoutx.h: Use %B and %A in error messages throughout file.
223         * aout-cris.c: Likewise.
224         * archive.c: Likewise.
225         * binary.c: Likewise.
226         * coff-rs6000.c: Likewise.
227         * coff-tic4x.c: Likewise.
228         * coffcode.h: Likewise.
229         * coffgen.c: Likewise.
230         * cofflink.c: Likewise.
231         * coffswap.h: Likewise.
232         * cpu-arm.c: Likewise.
233         * elf-eh-frame.c: Likewise.
234         * elf-m10300.c: Likewise.
235         * elf.c: Likewise.
236         * elf32-arc.c: Likewise.
237         * elf32-arm.c: Likewise.
238         * elf32-bfin.c: Likewise.
239         * elf32-frv.c: Likewise.
240         * elf32-iq2000.c: Likewise.
241         * elf32-m32c.c: Likewise.
242         * elf32-microblaze.c: Likewise.
243         * elf32-nds32.c: Likewise.
244         * elf32-rl78.c: Likewise.
245         * elf32-rx.c: Likewise.
246         * elf32-score.c: Likewise.
247         * elf32-score7.c: Likewise.
248         * elf32-sh64.c: Likewise.
249         * elf32-v850.c: Likewise.
250         * elf32-vax.c: Likewise.
251         * elf32-visium.c: Likewise.
252         * elf64-ia64-vms.c: Likewise.
253         * elf64-mmix.c: Likewise.
254         * elf64-sh64.c: Likewise.
255         * elfcode.h: Likewise.
256         * elfnn-aarch64.c: Likewise.
257         * elfnn-ia64.c: Likewise.
258         * elfxx-mips.c: Likewise.
259         * hpux-core.c: Likewise.
260         * ieee.c: Likewise.
261         * ihex.c: Likewise.
262         * linker.c: Likewise.
263         * merge.c: Likewise.
264         * mmo.c: Likewise.
265         * oasys.c: Likewise.
266         * pdp11.c: Likewise.
267         * peXXigen.c: Likewise.
268         * rs6000-core.c: Likewise.
269         * vms-alpha.c: Likewise.
270         * xcofflink.c: Likewise.
271
272 2017-04-13  Alan Modra  <amodra@gmail.com>
273
274         * bfd.c (PRINT_TYPE): Define.
275         (_doprnt): New function.
276         (error_handler_internal): Use _doprnt.
277         * coff-arm.c: Put %A and %B arguments to _bfd_error_handler
278         calls in their natural order, throughout file.
279         * coff-mcore.c: Likewise.
280         * coff-ppc.c: Likewise.
281         * coff-tic80.c: Likewise.
282         * cofflink.c: Likewise.
283         * elf-s390-common.c: Likewise.
284         * elf.c: Likewise.
285         * elf32-arm.c: Likewise.
286         * elf32-i386.c: Likewise.
287         * elf32-m32r.c: Likewise.
288         * elf32-msp430.c: Likewise.
289         * elf32-spu.c: Likewise.
290         * elf64-ia64-vms.c: Likewise.
291         * elf64-sparc.c: Likewise.
292         * elf64-x86-64.c: Likewise.
293         * elflink.c: Likewise.
294         * elfnn-aarch64.c: Likewise.
295         * elfnn-ia64.c: Likewise.
296         * elfxx-mips.c: Likewise.
297
298 2017-04-13  Alan Modra  <amodra@gmail.com>
299
300         * elf32-arm.c (arm_type_of_stub): Supply missing args to "long
301         branch veneers" error.  Fix double space and format message.
302         * elf32-avr.c (avr_add_stub): Do not pass NULL as %B arg.
303         * elf64-ppc.c (tocsave_find): Supply missing %B arg.
304
305 2017-04-13  Alan Modra  <amodra@gmail.com>
306
307         * bfd-in2.h: Regenerate.
308
309 2017-04-11  H.J. Lu  <hongjiu.lu@intel.com>
310
311         * elf-properties.c (_bfd_elf_parse_gnu_properties): Remove the
312         extra `\n' in warning/error messages.
313         * elf32-i386.c (elf_i386_parse_gnu_properties): Likewise.
314         * elf64-x86-64.c (elf_x86_64_parse_gnu_properties): Likewise.
315
316 2017-04-11  H.J. Lu  <hongjiu.lu@intel.com>
317
318         * elf-properties.c (_bfd_elf_parse_gnu_properties): Ignore
319         processor-specific properties with generic ELF target vector.
320
321 2017-04-10  Qing Zhao  <qing.zhao@oracle.com>
322
323         * elf32-sparc.c (elf_backend_fixup_symbol): New.
324         * elf64-sparc.c (elf_backend_fixup_symbol): New.
325         * elfxx-sparc.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
326         (_bfd_sparc_elf_link_hash_entry): Add has_got_reloc and
327         has_non_got_reloc.
328         (link_hash_newfunc): Initialize has_got_reloc and
329         has_non_got_reloc.
330         (_bfd_sparc_elf_size_dynamic_sections): Set interp to .interp
331         section.
332         (_bfd_sparc_elf_copy_indirect_symbol): Copy has_got_reloc and
333         has_non_got_reloc.
334         (_bfd_sparc_elf_check_relocs): Set has_got_reloc and
335         has_non_got_reloc.
336         (_bfd_sparc_elf_fixup_symbol): New function.
337         (allocate_dynrelocs): Don't allocate space for dynamic
338         relocations and discard relocations against resolved undefined
339         weak symbols in executable.  Don't make resolved undefined weak
340         symbols in executable dynamic.  Keep dynamic non-GOT/non-PLT
341         relocation against undefined weak symbols in PIE.
342         (_bfd_sparc_elf_relocate_section): Don't generate dynamic
343         relocations against resolved undefined weak symbols in PIE
344         (_bfd_sparc_elf_finish_dynamic_symbol): Keep PLT/GOT entries
345         without ynamic PLT/GOT relocations for resolved undefined weak
346         symbols.
347         Don't generate dynamic relocation against resolved undefined
348         weak symbol in executable.
349         (pie_finish_undefweak_symbol): New function.
350         (_bfd_sparc_elf_finish_dynamic_sections): Call
351         pie_finish_undefweak_symbol on all symbols in PIE.
352         * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add interp.
353         (_bfd_sparc_elf_fixup_symbol): New function.
354
355 2017-04-10  Nick Clifton  <nickc@redhat.com>
356
357         * config.bfd: Remove ns32k from obsolete list.
358
359 2017-04-10  Alan Modra  <amodra@gmail.com>
360
361         PR 21287
362         * elf.c (special_sections_f): Match .fini_array and .fini_array.*.
363         (special_sections_i): Likewise for .init_array.
364         (special_sections_p): Likewise for .preinit_array.
365
366 2017-04-07  H.J. Lu  <hongjiu.lu@intel.com>
367
368         PR ld/19579
369         PR ld/21306
370         * elf32-s390.c (elf_s390_finish_dynamic_symbol): Check
371         ELF_COMMON_DEF_P for common symbols.
372         * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
373         * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
374         * elflink.c (_bfd_elf_merge_symbol): Revert commits
375         202ac193bbbecc96a4978d1ac3d17148253f9b01 and
376         07492f668d2173da7a2bda3707ff0985e0f460b6.
377
378 2017-04-07  Pedro Alves  <palves@redhat.com>
379
380         * opncls.c (bfd_get_debug_link_info): Rename to...
381         (bfd_get_debug_link_info_1): ... this.  Change type of second
382         parameter to void pointer.  Adjust.
383         (bfd_get_debug_link_info): Reimplement on top of
384         bfd_get_debug_link_info_1.
385         (separate_debug_file_exists, separate_alt_debug_file_exists):
386         Change type of second parameter to void pointer.  Adjust.
387         (get_func_type, check_func_type): Change type of second parameter
388         to void pointer.
389         (find_separate_debug_file): Add 'func_data' parameter.  Pass it to
390         the callback functions instead of passing the address of a local.
391         (bfd_follow_gnu_debuglink): Pass address of unsigned long local to
392         find_separate_debug_file.
393         (get_alt_debug_link_info_shim): Change type of second parameter to
394         void pointer.  Adjust.
395         (bfd_follow_gnu_debugaltlink): Adjust to pass NULL to
396         find_separate_debug_file.
397         (get_build_id_name, bfd_boolean check_build_id_file): Change type
398         of second parameter to void pointer.  Adjust.
399         (bfd_follow_build_id_debuglink): Pass address of bfd_build_id
400         pointer local to find_separate_debug_file.
401
402 2017-04-07  Tristan Gingold  <gingold@gingold-Precision-7510>
403
404         * coffgen.c (_bfd_coff_gc_mark_hook): Handle PE weak
405         external symbols with a definition.
406         (_bfd_coff_gc_mark_extra_sections): Fix typo.
407
408 2017-04-07  Alan Modra  <amodra@gmail.com>
409
410         * po/SRC-POTFILES.in: Regenerate.
411
412 2017-04-05  Alan Modra  <amodra@gmail.com>
413
414         * elf64-ppc.c (ppc64_elf_gc_sweep_hook): Support ELFv2 PLT
415         reference counting.
416
417 2017-04-02  Jon Turney  <jon.turney@dronecode.org.uk>
418
419         (_bfd_XXi_swap_aouthdr_out): For clarity, use defines rather than
420         numbers for DataDirectory entry indicies passed to
421         add_data_entry().
422
423 2017-04-04  H.J. Lu  <hongjiu.lu@intel.com>
424
425         * elf.c (get_program_header_size): Add a GNU_MBIND segment for
426         each GNU_MBIND section and align GNU_MBIND section to page size.
427         (_bfd_elf_map_sections_to_segments): Create a GNU_MBIND
428         segment for each GNU_MBIND section.
429         (_bfd_elf_init_private_section_data): Copy sh_info from input
430         for GNU_MBIND section.
431
432 2017-04-03  Palmer Dabbelt  <palmer@dabbelt.com>
433
434         * elfnn-riscv.c (GP_NAME): Delete.
435         (riscv_global_pointer_value): Change GP_NAME to RISCV_GP_SYMBOL.
436         (_bfd_riscv_relax_lui): Likewise.
437
438 2017-04-04  Nick Clifton  <nickc@redhat.com>
439
440         PR binutils/21342
441         * elflink.c (_bfd_elf_define_linkage_sym): Prevent null pointer
442         dereference.
443         (bfd_elf_final_link): Only initialize the extended symbol index
444         section if there are extended symbol tables to list.
445
446 2017-04-03  H.J. Lu  <hongjiu.lu@intel.com>
447
448         * Makefile.am (BFD32_BACKENDS): Add elf-properties.lo.
449         (BFD32_BACKENDS_CFILES): Add elf-properties.c.
450         * configure.ac (elf): Add elf-properties.lo.
451         * Makefile.in: Regenerated.
452         * configure: Likewise.
453         * elf-bfd.h (elf_property_kind): New.
454         (elf_property): Likewise.
455         (elf_property_list): Likewise.
456         (elf_properties): Likewise.
457         (_bfd_elf_parse_gnu_properties): Likewise.
458         (_bfd_elf_get_property): Likewise.
459         (_bfd_elf_link_setup_gnu_properties): Likewise.
460         (elf_backend_data): Add parse_gnu_properties, merge_gnu_properties
461         and setup_gnu_properties.
462         (elf_obj_tdata): Add properties.
463         * elf-properties.c: New file.
464         * elf32-i386.c (elf_i386_parse_gnu_properties): New.
465         (elf_i386_merge_gnu_properties): Likewise.
466         (elf_backend_parse_gnu_properties): Likewise.
467         (elf_backend_merge_gnu_properties): Likewise.
468         * elf64-x86-64.c (elf_x86_64_parse_gnu_properties): Likewise.
469         (elf_x86_64_merge_gnu_properties): Likewise.
470         (elf_backend_parse_gnu_properties): Likewise.
471         (elf_backend_merge_gnu_properties): Likewise.
472         * elfxx-target.h (elf_backend_merge_gnu_properties): Likewise.
473         (elf_backend_parse_gnu_properties): Likewise.
474         (elf_backend_setup_gnu_properties): Likewise.
475         (elfNN_bed): Add elf_backend_parse_gnu_properties,
476         elf_backend_merge_gnu_properties and
477         elf_backend_setup_gnu_properties.
478
479 2017-03-30  Pip Cet  <pipcet@gmail.com>
480
481         * elf32-wasm32.c: Add relocation code, two relocs.
482         * reloc.c: Add wasm32 relocations.
483         * libbfd.h: Regenerate.
484         * bfd-in2.h: Regenerate.
485         * bfd/po/bfd.pot: Regenerate.
486
487 2017-03-29  Nick Clifton  <nickc@redhat.com>
488
489         PR binutils/18025
490         * coff-bfd.h (struct coff_section_data): Add new fields:
491         saved_bias and bias.
492         * coffgen.c (coff_find_nearest_line_with_names): Cache the bias
493         computed for PE binaries.
494         * dwarf2.c (scan_unit_for_symbols): Only warn once about each
495         missing abbrev.
496
497 2017-03-28  Hans-Peter Nilsson  <hp@axis.com>
498
499         PR ld/16044
500         * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Adjust BFD_ASSERT
501         to handle a local symbol with a hash-symbol-entry; without PLT.
502         Add BFD_ASSERT for an incidental case with GOT entry present.
503         (cris_elf_check_relocs): Increment PLT refcount only if the symbol
504         isn't forced-or-set local.
505
506 2017-03-27  Pip Cet  <pipcet@gmail.com>
507
508         * wasm-module.c: New file to support WebAssembly modules.
509         * wasm-module.h: New file to support WebAssembly modules.
510         * doc/webassembly.texi: Start documenting wasm-module.c.
511         * config.bfd: Add wasm_vec.
512         * targets.c: Likewise.
513         * configure.ac: Likewise.
514         * Makefile.am: Add entries for wasm-module.c.
515         * Makefile.in: Regenerate.
516         * configure: Regenerate.
517         * po/SRC-POTFILES.in: Regenerate.
518
519 2017-03-27  Pip Cet  <pipcet@gmail.com>
520
521         * cpu-wasm32.c: New file to support wasm32 architecture.
522         * elf32-wasm32.c: New file to support wasm32 architecture.
523         * Makefile.am: Add wasm32 architecture.
524         * archures.c: Likewise.
525         * config.bfd: Likewise.
526         * configure.ac: Likewise.
527         * targets.c: Likewise.
528         * Makefile.in: Regenerate.
529         * bfd-in2.h: Regenerate.
530         * configure: Regenerate.
531         * po/SRC-POTFILES.in: Regenerate.
532
533 2017-03-20  Alan Modra  <amodra@gmail.com>
534
535         PR 21266
536         * elf64-ppc.c (compare_symbols): Stabilize sort.
537
538 2017-03-18  Alan Modra  <amodra@gmail.com>
539
540         * elf64-ppc.c (struct ppc_link_hash_table): Add
541         local_ifunc_resolver and maybe_local_ifunc_resolver.
542         (ppc_build_one_stub): Set flags on emitting dynamic
543         relocation to ifunc.
544         (ppc64_elf_relocate_section): Likewise.
545         (ppc64_elf_finish_dynamic_symbol): Likewise.
546         (ppc64_elf_finish_dynamic_sections): Error on DT_TEXTREL with
547         local dynamic relocs to ifuncs.
548         * elf32-ppc.c (struct ppc_elf_link_hash_table): Add
549         local_ifunc_resolver and maybe_local_ifunc_resolver.
550         (ppc_elf_relocate_section): Set flag on emitting dynamic
551         relocation to ifuncs.
552         (ppc_elf_finish_dynamic_symbol): Likewise.
553         (ppc_elf_finish_dynamic_sections): Error on DT_TEXTREL with local
554         dynamic relocs to ifuncs.
555
556 2017-03-13  Nick Clifton  <nickc@redhat.com>
557
558         PR binutils/21202
559         * reloc.c (BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC): Rename to
560         BFD_RELOC_AARCH64_TLSDESC_LD64_LO12.
561         (BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC): Rename to
562         BFD_RELOC_AARCH64_TLSDESC_ADD_LO12.
563         * bfd-in2.h: Regenerate.
564         * libbfd.h: Regenerate.
565         * elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): Update reloc
566         names.
567         (IS_AARCH64_TLSDESC_RELOC): Likewise.
568         (elfNN_aarch64_howto_table): Likewise.
569         (aarch64_tls_transition_without_check): Likewise.
570         (aarch64_reloc_got_type): Likewise.
571         (elfNN_aarch64_final_link_relocate): Likewise.
572         (elfNN_aarch64_tls_relax): Likewise.
573         (elfNN_aarch64_relocate_section): Likewise.
574         (elfNN_aarch64_gc_sweep_hook): Likewise.
575         (elfNN_aarch64_check_relocs): Likewise.
576         * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
577         (_bfd_aarch64_elf_resolve_relocation): Likewise.
578
579 2017-03-11  Alan Modra  <amodra@gmail.com>
580
581         * elf32-ppc.c: Remove ATTRIBUTE_UNUSED throughout when function
582         parameter is in fact used.  Whitespace fixes.
583         * elf64-ppc.c: Likewise.
584
585 2017-03-09  Sam Thursfield  <sam.thursfield@codethink.co.uk>
586
587         * rs6000-core.c (CORE_NEW): Simplify macro when
588         AIX_CORE_DUMPX_CORE and BFD64 are true to avoid compile warning.
589
590 2017-03-07  Alan Modra  <amodra@gmail.com>
591
592         PR 21224
593         PR 20519
594         * elf64-ppc.c (ppc64_elf_relocate_section): Add missing
595         dyn_relocs check.
596
597 2017-03-05  Alan Modra  <amodra@gmail.com>
598
599         * elf-bfd.h (struct eh_cie_fde): Add u.cie.per_encoding_aligned8.
600         * elf-eh-frame.c (size_of_output_cie_fde): Don't align here.
601         (next_cie_fde_offset): New function.
602         (_bfd_elf_parse_eh_frame): Set u.cie.per_encoding_aligned8.
603         (_bfd_elf_discard_section_eh_frame): Align zero terminator to
604         four bytes.  Align CIEs to four or eight bytes depending on
605         per_encoding_aligned8.  Align FDEs according to their encoding.
606         Pad last FDE to output section alignment.
607         (_bfd_elf_write_section_eh_frame): Adjust to suit.  Remove
608         assertion.
609         * elf64-ppc.c (glink_eh_frame_cie): Delete padding.
610         (ppc64_elf_size_stubs): Pad glink eh_frame as per elf-eh-frame.c.
611         (ppc64_elf_finish_dynamic_sections): Adjust to suit.
612
613 2017-03-02  Martin Bickel  <binutils@ineranves.de>
614
615         PR ld/21212
616         * elf.c (rewrite_elf_program_header): Do not issue a warning for
617         empty segments which have a zero filesz, but a non-zero memsz.
618
619 2017-03-02  Alan Modra  <amodra@gmail.com>
620
621         * elf32-ppc.c (ppc_elf_vle_split16): Correct insn mask typo.
622
623 2017-02-28  Alan Modra  <amodra@gmail.com>
624
625         * elf64-ppc.c (ppc64_elf_ha_reloc): Revert last change.
626         (ppc64_elf_relocate_section): Likewise.
627
628 2017-02-28  Alan Modra  <amodra@gmail.com>
629
630         PR 20995
631         * elf32-nios2.c (nios2_elf32_relocate_section): Use htab
632         rather than elf32_nios2_hash_table or elf_hash_table.
633         (create_got_section): Likewise.
634         (nios2_elf32_finish_dynamic_symbol): Likewise.
635         (nios2_elf32_adjust_dynamic_symbol): Likewise.
636         (nios2_elf32_size_dynamic_sections): Likewise.
637         (nios2_elf32_check_relocs): Delete dynobj, sgot, and srelgot
638         vars.  Use htab equivalents directly instead.  Don't create
639         all dynamic sections on needing just the GOT.  Use a goto
640         rather than a fall-through with reloc test.  Ensure
641         htab->dynobj is set when making dynamic sreloc section.
642         (nios2_elf32_finish_dynamic_sections): Delete dynobj, use htab
643         equivalent directly instead.  Don't segfault on looking for
644         .dynamic when dynamic sections have not been created.  Don't
645         segfault on .got.plt being discarded.
646         (nios2_elf32_size_dynamic_sections): Delete plt and got vars.
647         Don't set "relocs" on .rela.plt.  Do handle .sbss.  Delete
648         fixme and another not so relevant comment.
649         (nios2_elf_add_symbol_hook): Delete dynobj var.  If not
650         already set, set hash table dynobj on creating .sbss.
651
652 2017-02-28  Alan Modra  <amodra@gmail.com>
653
654         * reloc.c (BFD_RELOC_PPC_16DX_HA): New.
655         * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_16DX_HA>): New howto.
656         (ppc64_elf_reloc_type_lookup): Translate new bfd reloc.
657         (ppc64_elf_ha_reloc): Correct overflow test on REL16DX_HA.
658         (ppc64_elf_relocate_section): Likewise.
659         * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_16DX_HA>): New howto.
660         (ppc_elf_reloc_type_lookup): Translate new bfd reloc.
661         (ppc_elf_check_relocs): Handle R_PPC_16DX_HA to pacify gcc.
662         * libbfd.h: Regenerate.
663         * bfd-in2.h: Regenerate.
664
665 2017-02-28  Alan Modra  <amodra@gmail.com>
666
667         * elflink.c (_bfd_elf_create_dynamic_sections): Don't make
668         dynamic .data.rel.ro read-only.
669         * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Compare section
670         rather than section flags when deciding where copy reloc goes.
671         * elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise.
672         * elf32-hppa.c (elf32_hppa_finish_dynamic_symbol): Likewise.
673         * elf32-i386.c (elf_i386_finish_dynamic_symbol): Likewise.
674         * elf32-metag.c (elf_metag_finish_dynamic_symbol): Likewise.
675         * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): Likewise.
676         * elf32-nios2.c (nios2_elf32_finish_dynamic_symbol): Likewise.
677         * elf32-or1k.c (or1k_elf_finish_dynamic_symbol): Likewise.
678         * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Likewise.
679         * elf32-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
680         * elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol): Likewise.
681         * elf32-tilepro.c (tilepro_elf_finish_dynamic_symbol): Likewise.
682         * elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Likewise.
683         * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
684         * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
685         * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Likewise.
686         * elfnn-riscv.c (riscv_elf_finish_dynamic_symbol): Likewise.
687         * elfxx-mips.c (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
688         * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
689         * elfxx-tilegx.c (tilegx_elf_finish_dynamic_symbol): Likewise.
690
691 2017-02-28  Maciej W. Rozycki  <macro@imgtec.com>
692
693         * elfxx-mips.c (mips_elf_perform_relocation): Also handle the
694         `jalr $0, $25' instruction encoding.
695
696 2017-02-27  Nick Clifton  <nickc@redhat.com>
697
698         PR ld/21180
699         * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): Avoid
700         generating a seg-fault when encountering a symbol that has been
701         deleted by garbage collection.
702
703 2017-02-25  Alan Modra  <amodra@gmail.com>
704
705         * elf32-arc.c (struct dynamic_sections): Delete.
706         (enum dyn_section_types): Delete.
707         (dyn_section_names): Delete.
708         (arc_create_dynamic_sections): Delete.
709         (elf_arc_finish_dynamic_sections): Don't call the above.  Don't
710         segfault on discarded .rela.plt section.
711         (elf_arc_size_dynamic_sections): Formatting.  Don't call
712         arc_create_dynamic_sections.  Don't allocate memory for sections
713         handled by the generic linker.  Correct code finding relocs in
714         read-only sections.  Set SEC_EXCLUDE on zero size .got,
715         .got.plt, and .dynbss sections.  Do set .interp for pies.
716
717 2017-02-24  Andrew Waterman  <andrew@sifive.com>
718
719         * elfnn-riscv.c (GP_NAME): New macro.
720         (riscv_global_pointer_value): Use it.
721         (_bfd_riscv_relax_lui): If symbol and global pointer are in same
722         output section, consider only that section's alignment.
723
724 2017-02-23  Maciej W. Rozycki  <macro@imgtec.com>
725
726         * elfxx-mips.h (_bfd_mips_relax_section): Remove prototype.
727         * elfxx-mips.c (_bfd_mips_relax_section): Remove function.
728         * elf64-mips.c (bfd_elf64_bfd_relax_section): Remove macro.
729         * elfn32-mips.c (bfd_elf32_bfd_relax_section): Likewise.
730
731 2017-02-23  Maciej W. Rozycki  <macro@imgtec.com>
732
733         * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS_JALR>
734         <R_MICROMIPS_JALR>: Discard relocation if `cross_mode_jump_p'
735         or misaligned.
736
737 2017-02-23  Alan Modra  <amodra@gmail.com>
738
739         PR 20744
740         * elf32-ppc.c (ppc_elf_howto_raw): Correct dst_mask on all VLE
741         16D relocations.
742         (ppc_elf_vle_split16): Correct field mask and shift for 16D relocs.
743         (ppc_elf_relocate_section): Correct calculation for VLE SDAREL
744         relocs.
745
746 2017-02-22  Maciej W. Rozycki  <macro@imgtec.com>
747
748         PR ld/20828
749         * elflink.c (bfd_elf_size_dynamic_sections): Move symbol version
750         processing ahead of the call to `elf_gc_sweep_symbol'.
751
752 2017-02-22  Nick Clifton  <nickc@redhat.com>
753
754         PR binutils/21193
755         * opncls.c (bfd_create_gnu_debuglink_section): Give the newly
756         created section 4-byte alignment.
757
758 2017-02-22  Alan Modra  <amodra@gmail.com>
759
760         * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Don't segfault
761         on .got or .plt output section being discarded by script.
762         * elf32-ppc.c (ppc_elf_finish_dynamic_sections): Likewise.  Move
763         vxworks splt temp.
764
765 2017-02-21  Alan Modra  <amodra@gmail.com>
766
767         * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only emit
768         DT_RELA, DT_RELASZ, and DT_RELAENT when DT_RELASZ is non-zero.
769
770 2017-02-20  Alan Modra  <amodra@gmail.com>
771
772         PR 21181
773         * elflink.c (bfd_elf_final_link): Make DT_REL/DT_RELA zero
774         if DT_RELSZ/DT_RELASZ is zero.
775
776 2017-02-17  Nick Clifton  <nickc@redhat.com>
777
778         * compress.c (bfd_get_full_section_contents): Remember to reduce
779         compressed size by the sizeof the compression header when
780         decompressing the contents.
781
782 2017-02-17  Pedro Alves  <palves@redhat.com>
783
784         * srec.c (Chunk): Rename to ...
785         (_bfd_srec_len): ... this.
786         (S3Forced): Rename to ...
787         (_bfd_srec_forceS3): ... this.
788         * objcopy.c: Adjust all references.
789
790 2017-02-17  Pedro Alves  <palves@redhat.com>
791
792         * archive.c (bsd_write_armap): Rename to ...
793         (_bfd_bsd_write_armap): ... this.
794         (coff_write_armap): Rename to ...
795         (_bfd_coff_write_armap): ... this.
796         * libbfd-in.h (bsd_write_armap): Rename to ...
797         (_bfd_bsd_write_armap): ... this.
798         (coff_write_armap): Rename to ...
799         (_bfd_coff_write_armap): ... this.
800         * aout-target.h, aout-tic30.c: Adjust all users.
801         * libbfd.h: Regenerate.
802
803 2017-02-17  Pedro Alves  <palves@redhat.com>
804
805         * bfd-in.h (bfd_read, bfd_write): Adjust to rename.
806         (warn_deprecated): Rename to ...
807         (_bfd_warn_deprecated): ... this.
808         * libbfd.c (warn_deprecated): Rename to ...
809         (_bfd_warn_deprecated): ... this.
810         * bfd-in2.h: Regenerate.
811
812 2017-02-17  Pedro Alves  <palves@redhat.com>
813
814         * bfdio.c (real_ftell): Rename to ...
815         (_bfd_real_ftell): ... this.
816         (real_fseek): Rename to ...
817         (_bfd_real_fseek): ... this.
818         (real_fopen): Rename to ...
819         (_bfd_real_fopen): ... this.
820         * libbfd-in.h (real_ftell): Rename to ...
821         (_bfd_real_ftell): ... this.
822         (real_fseek): Rename to ...
823         (_bfd_real_fseek): ... this.
824         (real_fopen): Rename to ...
825         (_bfd_real_fopen): ... this.
826         * cache.c, dwarf2.c, opncls.c: Adjust all callers.
827         * libbfd.h: Regenerate.
828
829 2017-02-17  Pedro Alves  <palves@redhat.com>
830
831         * dwarf2.c, elf-attrs.c, elf32-nds32.c: Adjust all callers.
832         * libbfd.c (read_unsigned_leb128): Rename to ...
833         (_bfd_read_unsigned_leb128): ... this.
834         (read_signed_leb128): Rename to ...
835         (_bfd_read_signed_leb128): ... this.
836         (safe_read_leb128): Rename to ...
837         (_bfd_safe_read_leb128): ... this.
838         * libbfd-in.h (read_unsigned_leb128): Rename to ...
839         (_bfd_read_unsigned_leb128): ... this.
840         (read_signed_leb128): Rename to ...
841         (_bfd_read_signed_leb128): ... this.
842         (safe_read_leb128): Rename to ...
843         (_bfd_safe_read_leb128): ... this.
844         * libbfd.h: Renegerate.
845
846 2017-02-16  Andrew Burgess  <andrew.burgess@embecosm.com>
847
848         * dwarf2.c (_bfd_dwarf2_find_nearest_line): Perform symbol lookup
849         before trying to fine matching file and line information.
850
851 2017-02-16  Andrew Burgess  <andrew.burgess@embecosm.com>
852
853         * dwarf2.c (struct dwarf2_debug): Add orig_bfd member.
854         (_bfd_dwarf2_slurp_debug_info): If stashed debug information does
855         not match current bfd, then reload debug information.  Record bfd
856         we're loading debug info for in the stash.  If we have debug
857         informatin in the cache then perform section placement before
858         returning.
859
860 2017-02-16  Alan Modra  <amodra@gmail.com>
861
862         PR 21000
863         * elf-bfd.h (struct elf_backend_data): Add no_page_alias.
864         * elfxx-target.h (elf_backend_no_page_alias): Define.
865         (elfNN_bed): Init new field.
866         * elf.c (assign_file_positions_for_load_sections): If no_page_alias
867         ensure PT_LOAD segment starts on a new page.
868         * elf32-hppa.c (elf_backend_no_page_alias): Define.
869
870 2017-02-16  Alan Modra  <amodra@gmail.com>
871
872         PR 21132
873         * elf32-hppa.c (allocate_plt_static): Allocate space for relocs
874         if pic.
875
876 2017-02-16  Jiong Wang <jiong.wang@arm.com>
877
878         * bfd.c (BFD_FLAGS_SAVED): Add BFD_LINKER_CREATED.
879         * bfd-in2.h: Regenerated.
880
881 2017-02-15  H.J. Lu  <hongjiu.lu@intel.com>
882
883         PR ld/21168
884         * elf32-i386.c (elf_i386_relocate_section): Allow
885         "lea foo@GOT, %reg" in PIC.
886
887 2017-02-15  H.J. Lu  <hongjiu.lu@intel.com>
888
889         PR ld/20244
890         * elf32-i386.c (elf_i386_relocate_section): Properly get IFUNC
891         symbol name when reporting R_386_GOT32/R_386_GOT32X relocation
892         error against local IFUNC symbol without a base register for
893         PIC.
894
895 2017-02-15  Maciej W. Rozycki  <macro@imgtec.com>
896
897         * elf32-ppc.c (ppc_elf_check_relocs): Use `%H:' rather than
898         `%P: %H:' with `info->callbacks->einfo'.
899         (ppc_elf_relocate_section): Likewise.
900         * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
901         (ppc64_elf_edit_toc): Likewise.
902         (ppc64_elf_relocate_section): Likewise.
903
904 2017-02-14  Alan Modra  <amodra@gmail.com>
905
906         * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support
907         --gc-keep-exported, and test versioned field of sym rather than
908         looking for @ in name.
909
910 2017-02-13  Palmer Dabbelt  <palmer@dabbelt.com>
911
912         * elfnn-riscv.c (riscv_global_pointer_value): Change _gp to
913         __global_pointer$.
914
915 2017-02-13  Nick Clifton  <nickc@redhat.com>
916
917         PR binutils/21151
918         * dwarf2.c (_bfd_dwarf2_find_nearest_line): Check for an invalid
919         unit length field.
920
921 2017-02-07  Andrew Waterman  <andrew@sifive.com>
922
923         * elfnn-riscv.c (riscv_elf_finish_dynamic_sections): Only write PLT
924         entry size if PLT header is written.
925
926 2017-02-06  Sheldon Lobo  <sheldon.lobo@oracle.com>
927
928         Fix sparc64 dynamic relocation processing to use the dynamic
929         symbol count.
930         * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Use 'dynamic'
931         to determine if bfd_get_symcount() or bfd_get_dynamic_symcount()
932         should be used.
933
934 2017-02-03  Nick Clifton  <nickc@redhat.com>
935
936         PR 21096
937         * coffcode.h (coff_write_object_contents): Enlarge size of
938         s_name_buf in order to avoid compile time warning about possible
939         integer truncation.
940         * elf32-nds32.c (nds32_elf_ex9_import_table): Mask off lower
941         32-bits of insn value before printing into buffer.
942
943 2017-02-02  Maciej W. Rozycki  <macro@imgtec.com>
944
945         * elfxx-mips.c (mips_elf_hash_sort_data): Add
946         `max_local_dynindx'.
947         (mips_elf_sort_hash_table): Handle it.
948         (mips_elf_sort_hash_table_f) <GGA_NONE>: For forced local
949         symbols bump up `max_local_dynindx' rather than
950         `max_non_got_dynindx'.
951
952 2017-02-02  Maciej W. Rozycki  <macro@imgtec.com>
953
954         * elfxx-mips.c (mips_elf_hash_sort_data): Convert the
955         `min_got_dynindx', `max_unref_got_dynindx' and
956         `max_non_got_dynindx' members to the `bfd_size_type' data type.
957         (mips_elf_sort_hash_table): Adjust accordingly.
958
959 2017-02-02  Maciej W. Rozycki  <macro@imgtec.com>
960
961         * elfxx-mips.c (mips_elf_sort_hash_table): Use `htab' throughout
962         to access the hash table.
963
964 2017-02-02  Maciej W. Rozycki  <macro@imgtec.com>
965
966         * elfxx-mips.c (mips_elf_sort_hash_table): Move assertion on
967         non-NULL `htab' to the beginning.
968
969 2017-02-02  Maciej W. Rozycki  <macro@imgtec.com>
970
971         * elflink.c (elf_gc_sweep): Wrap overlong line.
972
973 2017-01-30  Maciej W. Rozycki  <macro@imgtec.com>
974
975         * elfxx-mips.h (_bfd_mips_elf_insn32): Rename prototype to...
976         (_bfd_mips_elf_linker_flags): ... this.  Add another parameter.
977         * elfxx-mips.c (mips_elf_link_hash_table): Add
978         `ignore_branch_isa' member.
979         (mips_elf_perform_relocation): Do not treat an ISA mode mismatch
980         in branch relocation calculation as an error if
981         `ignore_branch_isa' has been set.
982         (_bfd_mips_elf_insn32): Rename to...
983         (_bfd_mips_elf_linker_flags): ... this.  Rename the `on'
984         parameter to `insn32' and add an `ignore_branch_isa' parameter.
985         Handle the new parameter.
986
987 2017-01-27  Hans-Peter Nilsson  <hp@axis.com>
988
989         * elf32-cris.c (elf_cris_finish_dynamic_symbol): Remove now unused
990         local variable dynobj.
991
992         PR ld/20995
993         * elf32-cris.c (elf_cris_size_dynamic_sections): Handle sdynrelro.
994         (elf_cris_adjust_dynamic_symbol): Place variables copied into the
995         executable from read-only sections into sdynrelro.
996         (elf_cris_finish_dynamic_symbol): Select sreldynrelro for
997         dynamic relocs in sdynrelro.
998         (elf_backend_want_dynrelro): Define.
999
1000 2017-01-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1001
1002         * config.bfd (*-*-rtemsaout*): Mark as removed.
1003
1004 2017-01-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1005
1006         * config.bfd (powerpcle-*-rtems*): Do not mark as removed.
1007         (arm-*-rtems*): Move to (arm*-*-eabi*).
1008         (i[3-7]86-*-rtems*): Move to (i[3-7]86-*-elf*).
1009         (m68-*-rtems*): Move to (m68*-*-elf*).
1010
1011 2017-01-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1012
1013         * config.bfd (*-*-rtemscoff*): Mark as removed.
1014
1015 2017-01-24  Maciej W. Rozycki  <macro@imgtec.com>
1016
1017         PR ld/20828
1018         * elflink.c (bfd_elf_record_link_assignment): Revert last
1019         change and don't ever clear `forced_local'.  Set `mark'
1020         unconditionally.
1021         (elf_gc_sweep_symbol_info, elf_gc_sweep_symbol): Reorder within
1022         file.
1023         (elf_gc_sweep): Move the call to `elf_gc_sweep_symbol'...
1024         (bfd_elf_size_dynamic_sections): ... here.
1025         * elf32-ppc.c (ppc_elf_tls_setup): Don't clear `forced_local'
1026         and set `mark' instead in `__tls_get_addr_opt' processing.
1027         * elf64-ppc.c (ppc64_elf_tls_setup): Likewise.
1028
1029 2017-01-24  Alan Modra  <amodra@gmail.com>
1030
1031         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Merge two cases
1032         where dynamic relocs are preferable.  Allow ifunc too.
1033         (ensure_undefweak_dynamic): New function.
1034         (allocate_dynrelocs): Use it here.  Move plt handling last and
1035         don't make symbols dynamic, simplifying loop.  Only make undef
1036         weak symbols with GOT entries dynamic.  Correct condition
1037         for GOT relocs.  Handle dynamic relocs on ifuncs.  Correct
1038         comments.  Remove goto.
1039         (ppc_elf_relocate_section): Correct test for using dynamic
1040         symbol on GOT relocs.  Rearrange test for emitting GOT relocs
1041         to suit.  Set up explicit tls_index entries and implicit GOT
1042         tls_index entries resolvable at link time for
1043         __tls_get_addr_opt.  Simplify test to clear mem for prelink.
1044         * elf64-ppc.c (allocate_got): Correct condition for GOT relocs.
1045         (ensure_undefweak_dynamic): New function.
1046         (allocate_dynrelocs): Use it here.  Only make undef weak symbols
1047         with GOT entries dynamic.  Remove unnecessary test of
1048         WILL_CALL_FINISH_DYNAMIC_SYMBOL in PLT handling.
1049         (ppc64_elf_relocate_section): Correct test for using dynamic
1050         symbol on GOT relocs.  Rearrange test for emitting GOT relocs
1051         to suit.  Set up explicit tls_index entries and implicit GOT
1052         tls_index entries resolvable at link time for __tls_get_addr_opt.
1053         Simplify expression to clear mem for prelink.
1054
1055 2017-01-23  Yury Norov  <ynorov@caviumnetworks.com>
1056
1057         * elfnn-aarch64.c: Fix relaxations for ILP32 mode.
1058
1059 2017-01-20  Jiong Wang <jiong.wang@arm.com>
1060
1061         * elfnn-aarch64.c (elf_aarch64_hash_symbol): New function.
1062         (elf_backend_hash_symbol): Define.
1063
1064 2017-01-18  Maciej W. Rozycki  <macro@imgtec.com>
1065
1066         PR ld/20828
1067         * elflink.c (bfd_elf_record_link_assignment): Clear any
1068         `forced_local' marking for DSO symbols that are not being
1069         provided.
1070
1071 2017-01-17  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
1072
1073         * elfnn-riscv.c (riscv_elf_object_p): New function.
1074
1075 2017-01-12  H.J. Lu  <hongjiu.lu@intel.com>
1076
1077         PR ld/21038
1078         * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
1079         plt_bnd_eh_frame.
1080         (elf_x86_64_check_relocs): Create .eh_frame section for the
1081         .plt.bnd section.
1082         (elf_x86_64_size_dynamic_sections): Allocate and initialize
1083         .eh_frame section for the .plt.bnd section.
1084         (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section
1085         for the .plt.bnd section.
1086
1087 2017-01-12  Nick Clifton  <nickc@redhat.com>
1088
1089         PR binutils/20876
1090         * opncls.c (find_separate_debug_file): Add include_dirs
1091         parameter.  Only include the directory part of the bfd's filename
1092         in search paths if include_dirs is true.  Add a couple of extra
1093         locations for looking for debug files.
1094         ( bfd_follow_gnu_debuglink): Update invocation of
1095         find_separate_debug_file.
1096         (bfd_follow_gnu_debugaltlink): Likewise.
1097         (get_build_id): New function: Finds the build-id of the given bfd.
1098         (get_build_id_name): New function: Computes the name of the
1099         separate debug info file for a bfd, based upon its build-id.
1100         (check_build_id_file): New function: Checks to see if a separate
1101         debug info file exists at the given location, and that its
1102         build-id matches that of the original bfd.
1103         (bfd_follow_build_id_debuglink): New function: Finds a separate
1104         debug info file for a given bfd by using the build-id method.
1105         * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Try using the build-id
1106         method of locating a separate debug info file before using the
1107         debuglink method.
1108         * bfd-in2.h: Regenerate.
1109
1110 2017-01-11  H.J. Lu  <hongjiu.lu@intel.com>
1111
1112         PR ld/21038
1113         * elf64-x86-64.c (elf_x86_64_eh_frame_bnd_plt): New.
1114         (elf_x86_64_bnd_arch_bed): Use elf_x86_64_eh_frame_bnd_plt and
1115         elf_x86_64_eh_frame_plt_got.
1116         (elf_x86_64_size_dynamic_sections): Get unwind info from
1117         elf_x86_64_bnd_arch_bed for the BND PLT.
1118
1119 2017-01-11  Jeremy Soller  <jackpot51@gmail.com>
1120
1121         * config.bfd: Add entries for i686-redox and x86_64-redox.
1122
1123 2017-01-10  H.J. Lu  <hongjiu.lu@intel.com>
1124
1125         * elf32-i386.c (elf_i386_check_relocs): Align .eh_frame section
1126         to 4 bytes.
1127         * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
1128         .eh_frame section to 4 bytes for x32.
1129         (elf_x86_64_check_relocs): Likewise.
1130
1131 2017-01-10  H.J. Lu  <hongjiu.lu@intel.com>
1132
1133         PR ld/20830
1134         * elf32-i386.c (elf_i386_eh_frame_plt_got): New.
1135         (PLT_GOT_FDE_LENGTH): Likewise.
1136         (elf_i386_plt_layout): Add eh_frame_plt_got and
1137         eh_frame_plt_got_size.
1138         (elf_i386_plt): Updated.
1139         (elf_i386_link_hash_table): Add plt_got_eh_frame.
1140         (elf_i386_check_relocs): Create .eh_frame section for .plt.got.
1141         (elf_i386_size_dynamic_sections): Allocate and initialize
1142         .eh_frame section for .plt.got.
1143         (elf_i386_finish_dynamic_sections): Adjust .eh_frame section for
1144         .plt.got.
1145         (elf_i386_nacl_plt): Add FIXME for eh_frame_plt_got and
1146         eh_frame_plt_got_size.
1147         * elf64-x86-64.c (elf_x86_64_eh_frame_plt_got): New.
1148         (PLT_GOT_FDE_LENGTH): Likewise.
1149         (elf_x86_64_backend_data): Add eh_frame_plt_got and
1150         eh_frame_plt_got_size.
1151         (elf_x86_64_arch_bed): Updated.
1152         (elf_x86_64_bnd_arch_bed): Add FIXME for eh_frame_plt_got and
1153         eh_frame_plt_got_size.
1154         (elf_x86_64_nacl_arch_bed): Likewise.
1155         (elf_x86_64_link_hash_table): Add plt_got_eh_frame.
1156         (elf_x86_64_check_relocs): Create .eh_frame section for .plt.got.
1157         (elf_x86_64_size_dynamic_sections): Allocate and initialize
1158         .eh_frame section for .plt.got.
1159         (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section
1160         for .plt.got.
1161
1162 2017-01-10  H.J. Lu  <hongjiu.lu@intel.com>
1163
1164         * elf32-i386.c (elf_i386_size_dynamic_sections): Set
1165         plt_eh_frame->size to eh_frame_plt_size and use eh_frame_plt.
1166
1167 2017-01-09  Nick Clifton  <nickc@redhat.com>
1168
1169         * dwarf2.c (lookup_address_in_function_table): Return early if
1170         there are no functions in the given comp unit, or if the high
1171         address of the last function in the comp unit is less than the
1172         desired address.
1173
1174 2017-01-09  Nick Clifton  <nickc@redhat.com>
1175
1176         PR binutils/21013
1177         * coffgen.c (_bfd_coff_get_external_symbols): Generate an error
1178         message if there are too many symbols to load.
1179
1180 2017-01-04  James Clarke  <jrtc27@jrtc27.com>
1181
1182         * elf64-alpha.c (elf64_alpha_relax_opt_call): Don't set tsec_free
1183         if relocs are cached.
1184
1185 2017-01-03  Rich Felker  <bugdal@aerifal.cx>
1186
1187         PR ld/21017
1188         * elf32-microblaze.c (microblaze_elf_check_relocs): Add an entry
1189         for R_MICROBLAZE_GOTOFF_64.
1190
1191 2017-01-03  Nick Clifton  <nickc@redhat.com>
1192
1193         * mach-o.c (bfd_mach_o_lookup_uuid_command): Fix compile time
1194         warning about using a possibly uninitialised variable.
1195
1196 2017-01-02  Alan Modra  <amodra@gmail.com>
1197
1198         * elf32-hppa.c (ensure_undef_weak_dynamic): New function.
1199         (allocate_plt_static, allocate_dynrelocs): Use it.
1200
1201 2017-01-02  Alan Modra  <amodra@gmail.com>
1202
1203         * elf-hppa.h (elf_hppa_fake_sections): Set SHF_INFO_LINK for
1204         .PARISC.unwind section.
1205
1206 2017-01-02  Alan Modra  <amodra@gmail.com>
1207
1208         PR ld/20989
1209         * elfxx-sparc.c (gdop_relative_offset_ok): New function.
1210         (_bfd_sparc_elf_relocate_section): Use it to validate GOT
1211         indirect to GOT pointer relative code edit.
1212
1213 2017-01-02  Alan Modra  <amodra@gmail.com>
1214
1215         Update year range in copyright notice of all files.
1216
1217 For older changes see ChangeLog-2016
1218 \f
1219 Copyright (C) 2017 Free Software Foundation, Inc.
1220
1221 Copying and distribution of this file, with or without modification,
1222 are permitted in any medium without royalty provided the copyright
1223 notice and this notice are preserved.
1224
1225 Local Variables:
1226 mode: change-log
1227 left-margin: 8
1228 fill-column: 74
1229 version-control: never
1230 End: