Improve the speed of scanning PE binaries for line number information.
[external/binutils.git] / bfd / ChangeLog
1 2017-03-29  Nick Clifton  <nickc@redhat.com>
2
3         PR binutils/18025
4         * coff-bfd.h (struct coff_section_data): Add new fields:
5         saved_bias and bias.
6         * coffgen.c (coff_find_nearest_line_with_names): Cache the bias
7         computed for PE binaries.
8         * dwarf2.c (scan_unit_for_symbols): Only warn once about each
9         missing abbrev.
10
11 2017-03-28  Hans-Peter Nilsson  <hp@axis.com>
12
13         PR ld/16044
14         * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Adjust BFD_ASSERT
15         to handle a local symbol with a hash-symbol-entry; without PLT.
16         Add BFD_ASSERT for an incidental case with GOT entry present.
17         (cris_elf_check_relocs): Increment PLT refcount only if the symbol
18         isn't forced-or-set local.
19
20 2017-03-27  Pip Cet  <pipcet@gmail.com>
21
22         * wasm-module.c: New file to support WebAssembly modules.
23         * wasm-module.h: New file to support WebAssembly modules.
24         * doc/webassembly.texi: Start documenting wasm-module.c.
25         * config.bfd: Add wasm_vec.
26         * targets.c: Likewise.
27         * configure.ac: Likewise.
28         * Makefile.am: Add entries for wasm-module.c.
29         * Makefile.in: Regenerate.
30         * configure: Regenerate.
31         * po/SRC-POTFILES.in: Regenerate.
32
33 2017-03-27  Pip Cet  <pipcet@gmail.com>
34
35         * cpu-wasm32.c: New file to support wasm32 architecture.
36         * elf32-wasm32.c: New file to support wasm32 architecture.
37         * Makefile.am: Add wasm32 architecture.
38         * archures.c: Likewise.
39         * config.bfd: Likewise.
40         * configure.ac: Likewise.
41         * targets.c: Likewise.
42         * Makefile.in: Regenerate.
43         * bfd-in2.h: Regenerate.
44         * configure: Regenerate.
45         * po/SRC-POTFILES.in: Regenerate.
46
47 2017-03-20  Alan Modra  <amodra@gmail.com>
48
49         PR 21266
50         * elf64-ppc.c (compare_symbols): Stabilize sort.
51
52 2017-03-18  Alan Modra  <amodra@gmail.com>
53
54         * elf64-ppc.c (struct ppc_link_hash_table): Add
55         local_ifunc_resolver and maybe_local_ifunc_resolver.
56         (ppc_build_one_stub): Set flags on emitting dynamic
57         relocation to ifunc.
58         (ppc64_elf_relocate_section): Likewise.
59         (ppc64_elf_finish_dynamic_symbol): Likewise.
60         (ppc64_elf_finish_dynamic_sections): Error on DT_TEXTREL with
61         local dynamic relocs to ifuncs.
62         * elf32-ppc.c (struct ppc_elf_link_hash_table): Add
63         local_ifunc_resolver and maybe_local_ifunc_resolver.
64         (ppc_elf_relocate_section): Set flag on emitting dynamic
65         relocation to ifuncs.
66         (ppc_elf_finish_dynamic_symbol): Likewise.
67         (ppc_elf_finish_dynamic_sections): Error on DT_TEXTREL with local
68         dynamic relocs to ifuncs.
69
70 2017-03-13  Nick Clifton  <nickc@redhat.com>
71
72         PR binutils/21202
73         * reloc.c (BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC): Rename to
74         BFD_RELOC_AARCH64_TLSDESC_LD64_LO12.
75         (BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC): Rename to
76         BFD_RELOC_AARCH64_TLSDESC_ADD_LO12.
77         * bfd-in2.h: Regenerate.
78         * libbfd.h: Regenerate.
79         * elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): Update reloc
80         names.
81         (IS_AARCH64_TLSDESC_RELOC): Likewise.
82         (elfNN_aarch64_howto_table): Likewise.
83         (aarch64_tls_transition_without_check): Likewise.
84         (aarch64_reloc_got_type): Likewise.
85         (elfNN_aarch64_final_link_relocate): Likewise.
86         (elfNN_aarch64_tls_relax): Likewise.
87         (elfNN_aarch64_relocate_section): Likewise.
88         (elfNN_aarch64_gc_sweep_hook): Likewise.
89         (elfNN_aarch64_check_relocs): Likewise.
90         * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
91         (_bfd_aarch64_elf_resolve_relocation): Likewise.
92
93 2017-03-11  Alan Modra  <amodra@gmail.com>
94
95         * elf32-ppc.c: Remove ATTRIBUTE_UNUSED throughout when function
96         parameter is in fact used.  Whitespace fixes.
97         * elf64-ppc.c: Likewise.
98
99 2017-03-09  Sam Thursfield  <sam.thursfield@codethink.co.uk>
100
101         * rs6000-core.c (CORE_NEW): Simplify macro when
102         AIX_CORE_DUMPX_CORE and BFD64 are true to avoid compile warning.
103
104 2017-03-07  Alan Modra  <amodra@gmail.com>
105
106         PR 21224
107         PR 20519
108         * elf64-ppc.c (ppc64_elf_relocate_section): Add missing
109         dyn_relocs check.
110
111 2017-03-05  Alan Modra  <amodra@gmail.com>
112
113         * elf-bfd.h (struct eh_cie_fde): Add u.cie.per_encoding_aligned8.
114         * elf-eh-frame.c (size_of_output_cie_fde): Don't align here.
115         (next_cie_fde_offset): New function.
116         (_bfd_elf_parse_eh_frame): Set u.cie.per_encoding_aligned8.
117         (_bfd_elf_discard_section_eh_frame): Align zero terminator to
118         four bytes.  Align CIEs to four or eight bytes depending on
119         per_encoding_aligned8.  Align FDEs according to their encoding.
120         Pad last FDE to output section alignment.
121         (_bfd_elf_write_section_eh_frame): Adjust to suit.  Remove
122         assertion.
123         * elf64-ppc.c (glink_eh_frame_cie): Delete padding.
124         (ppc64_elf_size_stubs): Pad glink eh_frame as per elf-eh-frame.c.
125         (ppc64_elf_finish_dynamic_sections): Adjust to suit.
126
127 2017-03-02  Martin Bickel  <binutils@ineranves.de>
128
129         PR ld/21212
130         * elf.c (rewrite_elf_program_header): Do not issue a warning for
131         empty segments which have a zero filesz, but a non-zero memsz.
132
133 2017-03-02  Alan Modra  <amodra@gmail.com>
134
135         * elf32-ppc.c (ppc_elf_vle_split16): Correct insn mask typo.
136
137 2017-02-28  Alan Modra  <amodra@gmail.com>
138
139         * elf64-ppc.c (ppc64_elf_ha_reloc): Revert last change.
140         (ppc64_elf_relocate_section): Likewise.
141
142 2017-02-28  Alan Modra  <amodra@gmail.com>
143
144         PR 20995
145         * elf32-nios2.c (nios2_elf32_relocate_section): Use htab
146         rather than elf32_nios2_hash_table or elf_hash_table.
147         (create_got_section): Likewise.
148         (nios2_elf32_finish_dynamic_symbol): Likewise.
149         (nios2_elf32_adjust_dynamic_symbol): Likewise.
150         (nios2_elf32_size_dynamic_sections): Likewise.
151         (nios2_elf32_check_relocs): Delete dynobj, sgot, and srelgot
152         vars.  Use htab equivalents directly instead.  Don't create
153         all dynamic sections on needing just the GOT.  Use a goto
154         rather than a fall-through with reloc test.  Ensure
155         htab->dynobj is set when making dynamic sreloc section.
156         (nios2_elf32_finish_dynamic_sections): Delete dynobj, use htab
157         equivalent directly instead.  Don't segfault on looking for
158         .dynamic when dynamic sections have not been created.  Don't
159         segfault on .got.plt being discarded.
160         (nios2_elf32_size_dynamic_sections): Delete plt and got vars.
161         Don't set "relocs" on .rela.plt.  Do handle .sbss.  Delete
162         fixme and another not so relevant comment.
163         (nios2_elf_add_symbol_hook): Delete dynobj var.  If not
164         already set, set hash table dynobj on creating .sbss.
165
166 2017-02-28  Alan Modra  <amodra@gmail.com>
167
168         * reloc.c (BFD_RELOC_PPC_16DX_HA): New.
169         * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_16DX_HA>): New howto.
170         (ppc64_elf_reloc_type_lookup): Translate new bfd reloc.
171         (ppc64_elf_ha_reloc): Correct overflow test on REL16DX_HA.
172         (ppc64_elf_relocate_section): Likewise.
173         * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_16DX_HA>): New howto.
174         (ppc_elf_reloc_type_lookup): Translate new bfd reloc.
175         (ppc_elf_check_relocs): Handle R_PPC_16DX_HA to pacify gcc.
176         * libbfd.h: Regenerate.
177         * bfd-in2.h: Regenerate.
178
179 2017-02-28  Alan Modra  <amodra@gmail.com>
180
181         * elflink.c (_bfd_elf_create_dynamic_sections): Don't make
182         dynamic .data.rel.ro read-only.
183         * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Compare section
184         rather than section flags when deciding where copy reloc goes.
185         * elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise.
186         * elf32-hppa.c (elf32_hppa_finish_dynamic_symbol): Likewise.
187         * elf32-i386.c (elf_i386_finish_dynamic_symbol): Likewise.
188         * elf32-metag.c (elf_metag_finish_dynamic_symbol): Likewise.
189         * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): Likewise.
190         * elf32-nios2.c (nios2_elf32_finish_dynamic_symbol): Likewise.
191         * elf32-or1k.c (or1k_elf_finish_dynamic_symbol): Likewise.
192         * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Likewise.
193         * elf32-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
194         * elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol): Likewise.
195         * elf32-tilepro.c (tilepro_elf_finish_dynamic_symbol): Likewise.
196         * elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Likewise.
197         * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
198         * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
199         * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Likewise.
200         * elfnn-riscv.c (riscv_elf_finish_dynamic_symbol): Likewise.
201         * elfxx-mips.c (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
202         * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
203         * elfxx-tilegx.c (tilegx_elf_finish_dynamic_symbol): Likewise.
204
205 2017-02-28  Maciej W. Rozycki  <macro@imgtec.com>
206
207         * elfxx-mips.c (mips_elf_perform_relocation): Also handle the
208         `jalr $0, $25' instruction encoding.
209
210 2017-02-27  Nick Clifton  <nickc@redhat.com>
211
212         PR ld/21180
213         * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): Avoid
214         generating a seg-fault when encountering a symbol that has been
215         deleted by garbage collection.
216
217 2017-02-25  Alan Modra  <amodra@gmail.com>
218
219         * elf32-arc.c (struct dynamic_sections): Delete.
220         (enum dyn_section_types): Delete.
221         (dyn_section_names): Delete.
222         (arc_create_dynamic_sections): Delete.
223         (elf_arc_finish_dynamic_sections): Don't call the above.  Don't
224         segfault on discarded .rela.plt section.
225         (elf_arc_size_dynamic_sections): Formatting.  Don't call
226         arc_create_dynamic_sections.  Don't allocate memory for sections
227         handled by the generic linker.  Correct code finding relocs in
228         read-only sections.  Set SEC_EXCLUDE on zero size .got,
229         .got.plt, and .dynbss sections.  Do set .interp for pies.
230
231 2017-02-24  Andrew Waterman  <andrew@sifive.com>
232
233         * elfnn-riscv.c (GP_NAME): New macro.
234         (riscv_global_pointer_value): Use it.
235         (_bfd_riscv_relax_lui): If symbol and global pointer are in same
236         output section, consider only that section's alignment.
237
238 2017-02-23  Maciej W. Rozycki  <macro@imgtec.com>
239
240         * elfxx-mips.h (_bfd_mips_relax_section): Remove prototype.
241         * elfxx-mips.c (_bfd_mips_relax_section): Remove function.
242         * elf64-mips.c (bfd_elf64_bfd_relax_section): Remove macro.
243         * elfn32-mips.c (bfd_elf32_bfd_relax_section): Likewise.
244
245 2017-02-23  Maciej W. Rozycki  <macro@imgtec.com>
246
247         * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS_JALR>
248         <R_MICROMIPS_JALR>: Discard relocation if `cross_mode_jump_p'
249         or misaligned.
250
251 2017-02-23  Alan Modra  <amodra@gmail.com>
252
253         PR 20744
254         * elf32-ppc.c (ppc_elf_howto_raw): Correct dst_mask on all VLE
255         16D relocations.
256         (ppc_elf_vle_split16): Correct field mask and shift for 16D relocs.
257         (ppc_elf_relocate_section): Correct calculation for VLE SDAREL
258         relocs.
259
260 2017-02-22  Maciej W. Rozycki  <macro@imgtec.com>
261
262         PR ld/20828
263         * elflink.c (bfd_elf_size_dynamic_sections): Move symbol version
264         processing ahead of the call to `elf_gc_sweep_symbol'.
265
266 2017-02-22  Nick Clifton  <nickc@redhat.com>
267
268         PR binutils/21193
269         * opncls.c (bfd_create_gnu_debuglink_section): Give the newly
270         created section 4-byte alignment.
271
272 2017-02-22  Alan Modra  <amodra@gmail.com>
273
274         * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Don't segfault
275         on .got or .plt output section being discarded by script.
276         * elf32-ppc.c (ppc_elf_finish_dynamic_sections): Likewise.  Move
277         vxworks splt temp.
278
279 2017-02-21  Alan Modra  <amodra@gmail.com>
280
281         * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only emit
282         DT_RELA, DT_RELASZ, and DT_RELAENT when DT_RELASZ is non-zero.
283
284 2017-02-20  Alan Modra  <amodra@gmail.com>
285
286         PR 21181
287         * elflink.c (bfd_elf_final_link): Make DT_REL/DT_RELA zero
288         if DT_RELSZ/DT_RELASZ is zero.
289
290 2017-02-17  Nick Clifton  <nickc@redhat.com>
291
292         * compress.c (bfd_get_full_section_contents): Remember to reduce
293         compressed size by the sizeof the compression header when
294         decompressing the contents.
295
296 2017-02-17  Pedro Alves  <palves@redhat.com>
297
298         * srec.c (Chunk): Rename to ...
299         (_bfd_srec_len): ... this.
300         (S3Forced): Rename to ...
301         (_bfd_srec_forceS3): ... this.
302         * objcopy.c: Adjust all references.
303
304 2017-02-17  Pedro Alves  <palves@redhat.com>
305
306         * archive.c (bsd_write_armap): Rename to ...
307         (_bfd_bsd_write_armap): ... this.
308         (coff_write_armap): Rename to ...
309         (_bfd_coff_write_armap): ... this.
310         * libbfd-in.h (bsd_write_armap): Rename to ...
311         (_bfd_bsd_write_armap): ... this.
312         (coff_write_armap): Rename to ...
313         (_bfd_coff_write_armap): ... this.
314         * aout-target.h, aout-tic30.c: Adjust all users.
315         * libbfd.h: Regenerate.
316
317 2017-02-17  Pedro Alves  <palves@redhat.com>
318
319         * bfd-in.h (bfd_read, bfd_write): Adjust to rename.
320         (warn_deprecated): Rename to ...
321         (_bfd_warn_deprecated): ... this.
322         * libbfd.c (warn_deprecated): Rename to ...
323         (_bfd_warn_deprecated): ... this.
324         * bfd-in2.h: Regenerate.
325
326 2017-02-17  Pedro Alves  <palves@redhat.com>
327
328         * bfdio.c (real_ftell): Rename to ...
329         (_bfd_real_ftell): ... this.
330         (real_fseek): Rename to ...
331         (_bfd_real_fseek): ... this.
332         (real_fopen): Rename to ...
333         (_bfd_real_fopen): ... this.
334         * libbfd-in.h (real_ftell): Rename to ...
335         (_bfd_real_ftell): ... this.
336         (real_fseek): Rename to ...
337         (_bfd_real_fseek): ... this.
338         (real_fopen): Rename to ...
339         (_bfd_real_fopen): ... this.
340         * cache.c, dwarf2.c, opncls.c: Adjust all callers.
341         * libbfd.h: Regenerate.
342
343 2017-02-17  Pedro Alves  <palves@redhat.com>
344
345         * dwarf2.c, elf-attrs.c, elf32-nds32.c: Adjust all callers.
346         * libbfd.c (read_unsigned_leb128): Rename to ...
347         (_bfd_read_unsigned_leb128): ... this.
348         (read_signed_leb128): Rename to ...
349         (_bfd_read_signed_leb128): ... this.
350         (safe_read_leb128): Rename to ...
351         (_bfd_safe_read_leb128): ... this.
352         * libbfd-in.h (read_unsigned_leb128): Rename to ...
353         (_bfd_read_unsigned_leb128): ... this.
354         (read_signed_leb128): Rename to ...
355         (_bfd_read_signed_leb128): ... this.
356         (safe_read_leb128): Rename to ...
357         (_bfd_safe_read_leb128): ... this.
358         * libbfd.h: Renegerate.
359
360 2017-02-16  Andrew Burgess  <andrew.burgess@embecosm.com>
361
362         * dwarf2.c (_bfd_dwarf2_find_nearest_line): Perform symbol lookup
363         before trying to fine matching file and line information.
364
365 2017-02-16  Andrew Burgess  <andrew.burgess@embecosm.com>
366
367         * dwarf2.c (struct dwarf2_debug): Add orig_bfd member.
368         (_bfd_dwarf2_slurp_debug_info): If stashed debug information does
369         not match current bfd, then reload debug information.  Record bfd
370         we're loading debug info for in the stash.  If we have debug
371         informatin in the cache then perform section placement before
372         returning.
373
374 2017-02-16  Alan Modra  <amodra@gmail.com>
375
376         PR 21000
377         * elf-bfd.h (struct elf_backend_data): Add no_page_alias.
378         * elfxx-target.h (elf_backend_no_page_alias): Define.
379         (elfNN_bed): Init new field.
380         * elf.c (assign_file_positions_for_load_sections): If no_page_alias
381         ensure PT_LOAD segment starts on a new page.
382         * elf32-hppa.c (elf_backend_no_page_alias): Define.
383
384 2017-02-16  Alan Modra  <amodra@gmail.com>
385
386         PR 21132
387         * elf32-hppa.c (allocate_plt_static): Allocate space for relocs
388         if pic.
389
390 2017-02-16  Jiong Wang <jiong.wang@arm.com>
391
392         * bfd.c (BFD_FLAGS_SAVED): Add BFD_LINKER_CREATED.
393         * bfd-in2.h: Regenerated.
394
395 2017-02-15  H.J. Lu  <hongjiu.lu@intel.com>
396
397         PR ld/21168
398         * elf32-i386.c (elf_i386_relocate_section): Allow
399         "lea foo@GOT, %reg" in PIC.
400
401 2017-02-15  H.J. Lu  <hongjiu.lu@intel.com>
402
403         PR ld/20244
404         * elf32-i386.c (elf_i386_relocate_section): Properly get IFUNC
405         symbol name when reporting R_386_GOT32/R_386_GOT32X relocation
406         error against local IFUNC symbol without a base register for
407         PIC.
408
409 2017-02-15  Maciej W. Rozycki  <macro@imgtec.com>
410
411         * elf32-ppc.c (ppc_elf_check_relocs): Use `%H:' rather than
412         `%P: %H:' with `info->callbacks->einfo'.
413         (ppc_elf_relocate_section): Likewise.
414         * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
415         (ppc64_elf_edit_toc): Likewise.
416         (ppc64_elf_relocate_section): Likewise.
417
418 2017-02-14  Alan Modra  <amodra@gmail.com>
419
420         * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support
421         --gc-keep-exported, and test versioned field of sym rather than
422         looking for @ in name.
423
424 2017-02-13  Palmer Dabbelt  <palmer@dabbelt.com>
425
426         * elfnn-riscv.c (riscv_global_pointer_value): Change _gp to
427         __global_pointer$.
428
429 2017-02-13  Nick Clifton  <nickc@redhat.com>
430
431         PR binutils/21151
432         * dwarf2.c (_bfd_dwarf2_find_nearest_line): Check for an invalid
433         unit length field.
434
435 2017-02-07  Andrew Waterman  <andrew@sifive.com>
436
437         * elfnn-riscv.c (riscv_elf_finish_dynamic_sections): Only write PLT
438         entry size if PLT header is written.
439
440 2017-02-06  Sheldon Lobo  <sheldon.lobo@oracle.com>
441
442         Fix sparc64 dynamic relocation processing to use the dynamic
443         symbol count.
444         * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Use 'dynamic'
445         to determine if bfd_get_symcount() or bfd_get_dynamic_symcount()
446         should be used.
447
448 2017-02-03  Nick Clifton  <nickc@redhat.com>
449
450         PR 21096
451         * coffcode.h (coff_write_object_contents): Enlarge size of
452         s_name_buf in order to avoid compile time warning about possible
453         integer truncation.
454         * elf32-nds32.c (nds32_elf_ex9_import_table): Mask off lower
455         32-bits of insn value before printing into buffer.
456
457 2017-02-02  Maciej W. Rozycki  <macro@imgtec.com>
458
459         * elfxx-mips.c (mips_elf_hash_sort_data): Add
460         `max_local_dynindx'.
461         (mips_elf_sort_hash_table): Handle it.
462         (mips_elf_sort_hash_table_f) <GGA_NONE>: For forced local
463         symbols bump up `max_local_dynindx' rather than
464         `max_non_got_dynindx'.
465
466 2017-02-02  Maciej W. Rozycki  <macro@imgtec.com>
467
468         * elfxx-mips.c (mips_elf_hash_sort_data): Convert the
469         `min_got_dynindx', `max_unref_got_dynindx' and
470         `max_non_got_dynindx' members to the `bfd_size_type' data type.
471         (mips_elf_sort_hash_table): Adjust accordingly.
472
473 2017-02-02  Maciej W. Rozycki  <macro@imgtec.com>
474
475         * elfxx-mips.c (mips_elf_sort_hash_table): Use `htab' throughout
476         to access the hash table.
477
478 2017-02-02  Maciej W. Rozycki  <macro@imgtec.com>
479
480         * elfxx-mips.c (mips_elf_sort_hash_table): Move assertion on
481         non-NULL `htab' to the beginning.
482
483 2017-02-02  Maciej W. Rozycki  <macro@imgtec.com>
484
485         * elflink.c (elf_gc_sweep): Wrap overlong line.
486
487 2017-01-30  Maciej W. Rozycki  <macro@imgtec.com>
488
489         * elfxx-mips.h (_bfd_mips_elf_insn32): Rename prototype to...
490         (_bfd_mips_elf_linker_flags): ... this.  Add another parameter.
491         * elfxx-mips.c (mips_elf_link_hash_table): Add
492         `ignore_branch_isa' member.
493         (mips_elf_perform_relocation): Do not treat an ISA mode mismatch
494         in branch relocation calculation as an error if
495         `ignore_branch_isa' has been set.
496         (_bfd_mips_elf_insn32): Rename to...
497         (_bfd_mips_elf_linker_flags): ... this.  Rename the `on'
498         parameter to `insn32' and add an `ignore_branch_isa' parameter.
499         Handle the new parameter.
500
501 2017-01-27  Hans-Peter Nilsson  <hp@axis.com>
502
503         * elf32-cris.c (elf_cris_finish_dynamic_symbol): Remove now unused
504         local variable dynobj.
505
506         PR ld/20995
507         * elf32-cris.c (elf_cris_size_dynamic_sections): Handle sdynrelro.
508         (elf_cris_adjust_dynamic_symbol): Place variables copied into the
509         executable from read-only sections into sdynrelro.
510         (elf_cris_finish_dynamic_symbol): Select sreldynrelro for
511         dynamic relocs in sdynrelro.
512         (elf_backend_want_dynrelro): Define.
513
514 2017-01-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
515
516         * config.bfd (*-*-rtemsaout*): Mark as removed.
517
518 2017-01-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
519
520         * config.bfd (powerpcle-*-rtems*): Do not mark as removed.
521         (arm-*-rtems*): Move to (arm*-*-eabi*).
522         (i[3-7]86-*-rtems*): Move to (i[3-7]86-*-elf*).
523         (m68-*-rtems*): Move to (m68*-*-elf*).
524
525 2017-01-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
526
527         * config.bfd (*-*-rtemscoff*): Mark as removed.
528
529 2017-01-24  Maciej W. Rozycki  <macro@imgtec.com>
530
531         PR ld/20828
532         * elflink.c (bfd_elf_record_link_assignment): Revert last
533         change and don't ever clear `forced_local'.  Set `mark'
534         unconditionally.
535         (elf_gc_sweep_symbol_info, elf_gc_sweep_symbol): Reorder within
536         file.
537         (elf_gc_sweep): Move the call to `elf_gc_sweep_symbol'...
538         (bfd_elf_size_dynamic_sections): ... here.
539         * elf32-ppc.c (ppc_elf_tls_setup): Don't clear `forced_local'
540         and set `mark' instead in `__tls_get_addr_opt' processing.
541         * elf64-ppc.c (ppc64_elf_tls_setup): Likewise.
542
543 2017-01-24  Alan Modra  <amodra@gmail.com>
544
545         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Merge two cases
546         where dynamic relocs are preferable.  Allow ifunc too.
547         (ensure_undefweak_dynamic): New function.
548         (allocate_dynrelocs): Use it here.  Move plt handling last and
549         don't make symbols dynamic, simplifying loop.  Only make undef
550         weak symbols with GOT entries dynamic.  Correct condition
551         for GOT relocs.  Handle dynamic relocs on ifuncs.  Correct
552         comments.  Remove goto.
553         (ppc_elf_relocate_section): Correct test for using dynamic
554         symbol on GOT relocs.  Rearrange test for emitting GOT relocs
555         to suit.  Set up explicit tls_index entries and implicit GOT
556         tls_index entries resolvable at link time for
557         __tls_get_addr_opt.  Simplify test to clear mem for prelink.
558         * elf64-ppc.c (allocate_got): Correct condition for GOT relocs.
559         (ensure_undefweak_dynamic): New function.
560         (allocate_dynrelocs): Use it here.  Only make undef weak symbols
561         with GOT entries dynamic.  Remove unnecessary test of
562         WILL_CALL_FINISH_DYNAMIC_SYMBOL in PLT handling.
563         (ppc64_elf_relocate_section): Correct test for using dynamic
564         symbol on GOT relocs.  Rearrange test for emitting GOT relocs
565         to suit.  Set up explicit tls_index entries and implicit GOT
566         tls_index entries resolvable at link time for __tls_get_addr_opt.
567         Simplify expression to clear mem for prelink.
568
569 2017-01-23  Yury Norov  <ynorov@caviumnetworks.com>
570
571         * elfnn-aarch64.c: Fix relaxations for ILP32 mode.
572
573 2017-01-20  Jiong Wang <jiong.wang@arm.com>
574
575         * elfnn-aarch64.c (elf_aarch64_hash_symbol): New function.
576         (elf_backend_hash_symbol): Define.
577
578 2017-01-18  Maciej W. Rozycki  <macro@imgtec.com>
579
580         PR ld/20828
581         * elflink.c (bfd_elf_record_link_assignment): Clear any
582         `forced_local' marking for DSO symbols that are not being
583         provided.
584
585 2017-01-17  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
586
587         * elfnn-riscv.c (riscv_elf_object_p): New function.
588
589 2017-01-12  H.J. Lu  <hongjiu.lu@intel.com>
590
591         PR ld/21038
592         * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
593         plt_bnd_eh_frame.
594         (elf_x86_64_check_relocs): Create .eh_frame section for the
595         .plt.bnd section.
596         (elf_x86_64_size_dynamic_sections): Allocate and initialize
597         .eh_frame section for the .plt.bnd section.
598         (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section
599         for the .plt.bnd section.
600
601 2017-01-12  Nick Clifton  <nickc@redhat.com>
602
603         PR binutils/20876
604         * opncls.c (find_separate_debug_file): Add include_dirs
605         parameter.  Only include the directory part of the bfd's filename
606         in search paths if include_dirs is true.  Add a couple of extra
607         locations for looking for debug files.
608         ( bfd_follow_gnu_debuglink): Update invocation of
609         find_separate_debug_file.
610         (bfd_follow_gnu_debugaltlink): Likewise.
611         (get_build_id): New function: Finds the build-id of the given bfd.
612         (get_build_id_name): New function: Computes the name of the
613         separate debug info file for a bfd, based upon its build-id.
614         (check_build_id_file): New function: Checks to see if a separate
615         debug info file exists at the given location, and that its
616         build-id matches that of the original bfd.
617         (bfd_follow_build_id_debuglink): New function: Finds a separate
618         debug info file for a given bfd by using the build-id method.
619         * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Try using the build-id
620         method of locating a separate debug info file before using the
621         debuglink method.
622         * bfd-in2.h: Regenerate.
623
624 2017-01-11  H.J. Lu  <hongjiu.lu@intel.com>
625
626         PR ld/21038
627         * elf64-x86-64.c (elf_x86_64_eh_frame_bnd_plt): New.
628         (elf_x86_64_bnd_arch_bed): Use elf_x86_64_eh_frame_bnd_plt and
629         elf_x86_64_eh_frame_plt_got.
630         (elf_x86_64_size_dynamic_sections): Get unwind info from
631         elf_x86_64_bnd_arch_bed for the BND PLT.
632
633 2017-01-11  Jeremy Soller  <jackpot51@gmail.com>
634
635         * config.bfd: Add entries for i686-redox and x86_64-redox.
636
637 2017-01-10  H.J. Lu  <hongjiu.lu@intel.com>
638
639         * elf32-i386.c (elf_i386_check_relocs): Align .eh_frame section
640         to 4 bytes.
641         * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
642         .eh_frame section to 4 bytes for x32.
643         (elf_x86_64_check_relocs): Likewise.
644
645 2017-01-10  H.J. Lu  <hongjiu.lu@intel.com>
646
647         PR ld/20830
648         * elf32-i386.c (elf_i386_eh_frame_plt_got): New.
649         (PLT_GOT_FDE_LENGTH): Likewise.
650         (elf_i386_plt_layout): Add eh_frame_plt_got and
651         eh_frame_plt_got_size.
652         (elf_i386_plt): Updated.
653         (elf_i386_link_hash_table): Add plt_got_eh_frame.
654         (elf_i386_check_relocs): Create .eh_frame section for .plt.got.
655         (elf_i386_size_dynamic_sections): Allocate and initialize
656         .eh_frame section for .plt.got.
657         (elf_i386_finish_dynamic_sections): Adjust .eh_frame section for
658         .plt.got.
659         (elf_i386_nacl_plt): Add FIXME for eh_frame_plt_got and
660         eh_frame_plt_got_size.
661         * elf64-x86-64.c (elf_x86_64_eh_frame_plt_got): New.
662         (PLT_GOT_FDE_LENGTH): Likewise.
663         (elf_x86_64_backend_data): Add eh_frame_plt_got and
664         eh_frame_plt_got_size.
665         (elf_x86_64_arch_bed): Updated.
666         (elf_x86_64_bnd_arch_bed): Add FIXME for eh_frame_plt_got and
667         eh_frame_plt_got_size.
668         (elf_x86_64_nacl_arch_bed): Likewise.
669         (elf_x86_64_link_hash_table): Add plt_got_eh_frame.
670         (elf_x86_64_check_relocs): Create .eh_frame section for .plt.got.
671         (elf_x86_64_size_dynamic_sections): Allocate and initialize
672         .eh_frame section for .plt.got.
673         (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section
674         for .plt.got.
675
676 2017-01-10  H.J. Lu  <hongjiu.lu@intel.com>
677
678         * elf32-i386.c (elf_i386_size_dynamic_sections): Set
679         plt_eh_frame->size to eh_frame_plt_size and use eh_frame_plt.
680
681 2017-01-09  Nick Clifton  <nickc@redhat.com>
682
683         * dwarf2.c (lookup_address_in_function_table): Return early if
684         there are no functions in the given comp unit, or if the high
685         address of the last function in the comp unit is less than the
686         desired address.
687
688 2017-01-09  Nick Clifton  <nickc@redhat.com>
689
690         PR binutils/21013
691         * coffgen.c (_bfd_coff_get_external_symbols): Generate an error
692         message if there are too many symbols to load.
693
694 2017-01-04  James Clarke  <jrtc27@jrtc27.com>
695
696         * elf64-alpha.c (elf64_alpha_relax_opt_call): Don't set tsec_free
697         if relocs are cached.
698
699 2017-01-03  Rich Felker  <bugdal@aerifal.cx>
700
701         PR ld/21017
702         * elf32-microblaze.c (microblaze_elf_check_relocs): Add an entry
703         for R_MICROBLAZE_GOTOFF_64.
704
705 2017-01-03  Nick Clifton  <nickc@redhat.com>
706
707         * mach-o.c (bfd_mach_o_lookup_uuid_command): Fix compile time
708         warning about using a possibly uninitialised variable.
709
710 2017-01-02  Alan Modra  <amodra@gmail.com>
711
712         * elf32-hppa.c (ensure_undef_weak_dynamic): New function.
713         (allocate_plt_static, allocate_dynrelocs): Use it.
714
715 2017-01-02  Alan Modra  <amodra@gmail.com>
716
717         * elf-hppa.h (elf_hppa_fake_sections): Set SHF_INFO_LINK for
718         .PARISC.unwind section.
719
720 2017-01-02  Alan Modra  <amodra@gmail.com>
721
722         PR ld/20989
723         * elfxx-sparc.c (gdop_relative_offset_ok): New function.
724         (_bfd_sparc_elf_relocate_section): Use it to validate GOT
725         indirect to GOT pointer relative code edit.
726
727 2017-01-02  Alan Modra  <amodra@gmail.com>
728
729         Update year range in copyright notice of all files.
730
731 For older changes see ChangeLog-2016
732 \f
733 Copyright (C) 2017 Free Software Foundation, Inc.
734
735 Copying and distribution of this file, with or without modification,
736 are permitted in any medium without royalty provided the copyright
737 notice and this notice are preserved.
738
739 Local Variables:
740 mode: change-log
741 left-margin: 8
742 fill-column: 74
743 version-control: never
744 End: