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