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