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