Align .gnu_debuglink sections on a 4-byte boundary.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
758d96d8
NC
12017-02-22 Nick Clifton <nickc@redhat.com>
2
3 PR binutils/21193
4 * opncls.c (bfd_create_gnu_debuglink_section): Give the newly
5 created section 4-byte alignment.
6
6528b6eb
AM
72017-02-22 Alan Modra <amodra@gmail.com>
8
9 * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Don't segfault
10 on .got or .plt output section being discarded by script.
11 * elf32-ppc.c (ppc_elf_finish_dynamic_sections): Likewise. Move
12 vxworks splt temp.
13
24f1a751
AM
142017-02-21 Alan Modra <amodra@gmail.com>
15
16 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only emit
17 DT_RELA, DT_RELASZ, and DT_RELAENT when DT_RELASZ is non-zero.
18
64487780
AM
192017-02-20 Alan Modra <amodra@gmail.com>
20
21 PR 21181
22 * elflink.c (bfd_elf_final_link): Make DT_REL/DT_RELA zero
23 if DT_RELSZ/DT_RELASZ is zero.
24
6438d1be
NC
252017-02-17 Nick Clifton <nickc@redhat.com>
26
27 * compress.c (bfd_get_full_section_contents): Remember to reduce
28 compressed size by the sizeof the compression header when
29 decompressing the contents.
30
4bc26c69
PA
312017-02-17 Pedro Alves <palves@redhat.com>
32
33 * srec.c (Chunk): Rename to ...
34 (_bfd_srec_len): ... this.
35 (S3Forced): Rename to ...
36 (_bfd_srec_forceS3): ... this.
37 * objcopy.c: Adjust all references.
38
7ec22e0f
PA
392017-02-17 Pedro Alves <palves@redhat.com>
40
41 * archive.c (bsd_write_armap): Rename to ...
42 (_bfd_bsd_write_armap): ... this.
43 (coff_write_armap): Rename to ...
44 (_bfd_coff_write_armap): ... this.
45 * libbfd-in.h (bsd_write_armap): Rename to ...
46 (_bfd_bsd_write_armap): ... this.
47 (coff_write_armap): Rename to ...
48 (_bfd_coff_write_armap): ... this.
49 * aout-target.h, aout-tic30.c: Adjust all users.
50 * libbfd.h: Regenerate.
51
8c8402cc
PA
522017-02-17 Pedro Alves <palves@redhat.com>
53
54 * bfd-in.h (bfd_read, bfd_write): Adjust to rename.
55 (warn_deprecated): Rename to ...
56 (_bfd_warn_deprecated): ... this.
57 * libbfd.c (warn_deprecated): Rename to ...
58 (_bfd_warn_deprecated): ... this.
59 * bfd-in2.h: Regenerate.
60
c7c3d11b
PA
612017-02-17 Pedro Alves <palves@redhat.com>
62
63 * bfdio.c (real_ftell): Rename to ...
64 (_bfd_real_ftell): ... this.
65 (real_fseek): Rename to ...
66 (_bfd_real_fseek): ... this.
67 (real_fopen): Rename to ...
68 (_bfd_real_fopen): ... this.
69 * libbfd-in.h (real_ftell): Rename to ...
70 (_bfd_real_ftell): ... this.
71 (real_fseek): Rename to ...
72 (_bfd_real_fseek): ... this.
73 (real_fopen): Rename to ...
74 (_bfd_real_fopen): ... this.
75 * cache.c, dwarf2.c, opncls.c: Adjust all callers.
76 * libbfd.h: Regenerate.
77
4265548c
PA
782017-02-17 Pedro Alves <palves@redhat.com>
79
80 * dwarf2.c, elf-attrs.c, elf32-nds32.c: Adjust all callers.
81 * libbfd.c (read_unsigned_leb128): Rename to ...
82 (_bfd_read_unsigned_leb128): ... this.
83 (read_signed_leb128): Rename to ...
84 (_bfd_read_signed_leb128): ... this.
85 (safe_read_leb128): Rename to ...
86 (_bfd_safe_read_leb128): ... this.
87 * libbfd-in.h (read_unsigned_leb128): Rename to ...
88 (_bfd_read_unsigned_leb128): ... this.
89 (read_signed_leb128): Rename to ...
90 (_bfd_read_signed_leb128): ... this.
91 (safe_read_leb128): Rename to ...
92 (_bfd_safe_read_leb128): ... this.
93 * libbfd.h: Renegerate.
94
3239a423
AB
952017-02-16 Andrew Burgess <andrew.burgess@embecosm.com>
96
97 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Perform symbol lookup
98 before trying to fine matching file and line information.
99
90ed9b8b
AB
1002017-02-16 Andrew Burgess <andrew.burgess@embecosm.com>
101
102 * dwarf2.c (struct dwarf2_debug): Add orig_bfd member.
103 (_bfd_dwarf2_slurp_debug_info): If stashed debug information does
104 not match current bfd, then reload debug information. Record bfd
105 we're loading debug info for in the stash. If we have debug
106 informatin in the cache then perform section placement before
107 returning.
108
a8c75b76
AM
1092017-02-16 Alan Modra <amodra@gmail.com>
110
111 PR 21000
112 * elf-bfd.h (struct elf_backend_data): Add no_page_alias.
113 * elfxx-target.h (elf_backend_no_page_alias): Define.
114 (elfNN_bed): Init new field.
115 * elf.c (assign_file_positions_for_load_sections): If no_page_alias
116 ensure PT_LOAD segment starts on a new page.
117 * elf32-hppa.c (elf_backend_no_page_alias): Define.
118
247d6c4c
AM
1192017-02-16 Alan Modra <amodra@gmail.com>
120
121 PR 21132
122 * elf32-hppa.c (allocate_plt_static): Allocate space for relocs
123 if pic.
124
90571206
JW
1252017-02-16 Jiong Wang <jiong.wang@arm.com>
126
127 * bfd.c (BFD_FLAGS_SAVED): Add BFD_LINKER_CREATED.
128 * bfd-in2.h: Regenerated.
129
2a568401
L
1302017-02-15 H.J. Lu <hongjiu.lu@intel.com>
131
132 PR ld/21168
133 * elf32-i386.c (elf_i386_relocate_section): Allow
134 "lea foo@GOT, %reg" in PIC.
135
a5def14f
L
1362017-02-15 H.J. Lu <hongjiu.lu@intel.com>
137
138 PR ld/20244
139 * elf32-i386.c (elf_i386_relocate_section): Properly get IFUNC
140 symbol name when reporting R_386_GOT32/R_386_GOT32X relocation
141 error against local IFUNC symbol without a base register for
142 PIC.
143
174d0a74
MR
1442017-02-15 Maciej W. Rozycki <macro@imgtec.com>
145
146 * elf32-ppc.c (ppc_elf_check_relocs): Use `%H:' rather than
147 `%P: %H:' with `info->callbacks->einfo'.
148 (ppc_elf_relocate_section): Likewise.
149 * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
150 (ppc64_elf_edit_toc): Likewise.
151 (ppc64_elf_relocate_section): Likewise.
152
e278ae05
AM
1532017-02-14 Alan Modra <amodra@gmail.com>
154
155 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support
156 --gc-keep-exported, and test versioned field of sym rather than
157 looking for @ in name.
158
10ddfe62
PD
1592017-02-13 Palmer Dabbelt <palmer@dabbelt.com>
160
161 * elfnn-riscv.c (riscv_global_pointer_value): Change _gp to
162 __global_pointer$.
163
d11135f5
NC
1642017-02-13 Nick Clifton <nickc@redhat.com>
165
166 PR binutils/21151
167 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Check for an invalid
168 unit length field.
169
cc162427
AW
1702017-02-07 Andrew Waterman <andrew@sifive.com>
171
172 * elfnn-riscv.c (riscv_elf_finish_dynamic_sections): Only write PLT
173 entry size if PLT header is written.
174
3d044c0c
SL
1752017-02-06 Sheldon Lobo <sheldon.lobo@oracle.com>
176
177 Fix sparc64 dynamic relocation processing to use the dynamic
178 symbol count.
179 * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Use 'dynamic'
180 to determine if bfd_get_symcount() or bfd_get_dynamic_symcount()
181 should be used.
182
1b7e3d2f
NC
1832017-02-03 Nick Clifton <nickc@redhat.com>
184
185 PR 21096
186 * coffcode.h (coff_write_object_contents): Enlarge size of
187 s_name_buf in order to avoid compile time warning about possible
188 integer truncation.
189 * elf32-nds32.c (nds32_elf_ex9_import_table): Mask off lower
190 32-bits of insn value before printing into buffer.
191
e17b0c35
MR
1922017-02-02 Maciej W. Rozycki <macro@imgtec.com>
193
194 * elfxx-mips.c (mips_elf_hash_sort_data): Add
195 `max_local_dynindx'.
196 (mips_elf_sort_hash_table): Handle it.
197 (mips_elf_sort_hash_table_f) <GGA_NONE>: For forced local
198 symbols bump up `max_local_dynindx' rather than
199 `max_non_got_dynindx'.
200
55f8b9d2
MR
2012017-02-02 Maciej W. Rozycki <macro@imgtec.com>
202
203 * elfxx-mips.c (mips_elf_hash_sort_data): Convert the
204 `min_got_dynindx', `max_unref_got_dynindx' and
205 `max_non_got_dynindx' members to the `bfd_size_type' data type.
206 (mips_elf_sort_hash_table): Adjust accordingly.
207
0f8c4b60
MR
2082017-02-02 Maciej W. Rozycki <macro@imgtec.com>
209
210 * elfxx-mips.c (mips_elf_sort_hash_table): Use `htab' throughout
211 to access the hash table.
212
17a80fa8
MR
2132017-02-02 Maciej W. Rozycki <macro@imgtec.com>
214
215 * elfxx-mips.c (mips_elf_sort_hash_table): Move assertion on
216 non-NULL `htab' to the beginning.
217
8f56d4fd
MR
2182017-02-02 Maciej W. Rozycki <macro@imgtec.com>
219
220 * elflink.c (elf_gc_sweep): Wrap overlong line.
221
8b10b0b3
MR
2222017-01-30 Maciej W. Rozycki <macro@imgtec.com>
223
224 * elfxx-mips.h (_bfd_mips_elf_insn32): Rename prototype to...
225 (_bfd_mips_elf_linker_flags): ... this. Add another parameter.
226 * elfxx-mips.c (mips_elf_link_hash_table): Add
227 `ignore_branch_isa' member.
228 (mips_elf_perform_relocation): Do not treat an ISA mode mismatch
229 in branch relocation calculation as an error if
230 `ignore_branch_isa' has been set.
231 (_bfd_mips_elf_insn32): Rename to...
232 (_bfd_mips_elf_linker_flags): ... this. Rename the `on'
233 parameter to `insn32' and add an `ignore_branch_isa' parameter.
234 Handle the new parameter.
235
1fbd05e1
HPN
2362017-01-27 Hans-Peter Nilsson <hp@axis.com>
237
22d9a0de
HPN
238 * elf32-cris.c (elf_cris_finish_dynamic_symbol): Remove now unused
239 local variable dynobj.
240
1fbd05e1
HPN
241 PR ld/20995
242 * elf32-cris.c (elf_cris_size_dynamic_sections): Handle sdynrelro.
243 (elf_cris_adjust_dynamic_symbol): Place variables copied into the
244 executable from read-only sections into sdynrelro.
245 (elf_cris_finish_dynamic_symbol): Select sreldynrelro for
246 dynamic relocs in sdynrelro.
247 (elf_backend_want_dynrelro): Define.
248
4a7324e1
SH
2492017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
250
251 * config.bfd (*-*-rtemsaout*): Mark as removed.
252
c75b4ebd
SH
2532017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
254
255 * config.bfd (powerpcle-*-rtems*): Do not mark as removed.
256 (arm-*-rtems*): Move to (arm*-*-eabi*).
257 (i[3-7]86-*-rtems*): Move to (i[3-7]86-*-elf*).
258 (m68-*-rtems*): Move to (m68*-*-elf*).
259
850d84f6
SH
2602017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
261
262 * config.bfd (*-*-rtemscoff*): Mark as removed.
263
b531344c
MR
2642017-01-24 Maciej W. Rozycki <macro@imgtec.com>
265
266 PR ld/20828
267 * elflink.c (bfd_elf_record_link_assignment): Revert last
268 change and don't ever clear `forced_local'. Set `mark'
269 unconditionally.
270 (elf_gc_sweep_symbol_info, elf_gc_sweep_symbol): Reorder within
271 file.
272 (elf_gc_sweep): Move the call to `elf_gc_sweep_symbol'...
273 (bfd_elf_size_dynamic_sections): ... here.
274 * elf32-ppc.c (ppc_elf_tls_setup): Don't clear `forced_local'
275 and set `mark' instead in `__tls_get_addr_opt' processing.
276 * elf64-ppc.c (ppc64_elf_tls_setup): Likewise.
277
f0158f44
AM
2782017-01-24 Alan Modra <amodra@gmail.com>
279
280 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Merge two cases
281 where dynamic relocs are preferable. Allow ifunc too.
282 (ensure_undefweak_dynamic): New function.
283 (allocate_dynrelocs): Use it here. Move plt handling last and
284 don't make symbols dynamic, simplifying loop. Only make undef
285 weak symbols with GOT entries dynamic. Correct condition
286 for GOT relocs. Handle dynamic relocs on ifuncs. Correct
287 comments. Remove goto.
288 (ppc_elf_relocate_section): Correct test for using dynamic
289 symbol on GOT relocs. Rearrange test for emitting GOT relocs
290 to suit. Set up explicit tls_index entries and implicit GOT
291 tls_index entries resolvable at link time for
292 __tls_get_addr_opt. Simplify test to clear mem for prelink.
293 * elf64-ppc.c (allocate_got): Correct condition for GOT relocs.
294 (ensure_undefweak_dynamic): New function.
295 (allocate_dynrelocs): Use it here. Only make undef weak symbols
296 with GOT entries dynamic. Remove unnecessary test of
297 WILL_CALL_FINISH_DYNAMIC_SYMBOL in PLT handling.
298 (ppc64_elf_relocate_section): Correct test for using dynamic
299 symbol on GOT relocs. Rearrange test for emitting GOT relocs
300 to suit. Set up explicit tls_index entries and implicit GOT
301 tls_index entries resolvable at link time for __tls_get_addr_opt.
302 Simplify expression to clear mem for prelink.
303
2d0ca824
YN
3042017-01-23 Yury Norov <ynorov@caviumnetworks.com>
305
306 * elfnn-aarch64.c: Fix relaxations for ILP32 mode.
307
7f784814
JW
3082017-01-20 Jiong Wang <jiong.wang@arm.com>
309
310 * elfnn-aarch64.c (elf_aarch64_hash_symbol): New function.
311 (elf_backend_hash_symbol): Define.
312
81ff47b3
MR
3132017-01-18 Maciej W. Rozycki <macro@imgtec.com>
314
315 PR ld/20828
316 * elflink.c (bfd_elf_record_link_assignment): Clear any
317 `forced_local' marking for DSO symbols that are not being
318 provided.
319
640d6bfd
KLC
3202017-01-17 Kuan-Lin Chen <kuanlinchentw@gmail.com>
321
322 * elfnn-riscv.c (riscv_elf_object_p): New function.
323
8361ed4d
L
3242017-01-12 H.J. Lu <hongjiu.lu@intel.com>
325
326 PR ld/21038
327 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
328 plt_bnd_eh_frame.
329 (elf_x86_64_check_relocs): Create .eh_frame section for the
330 .plt.bnd section.
331 (elf_x86_64_size_dynamic_sections): Allocate and initialize
332 .eh_frame section for the .plt.bnd section.
333 (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section
334 for the .plt.bnd section.
335
2425a30e
NC
3362017-01-12 Nick Clifton <nickc@redhat.com>
337
338 PR binutils/20876
339 * opncls.c (find_separate_debug_file): Add include_dirs
340 parameter. Only include the directory part of the bfd's filename
341 in search paths if include_dirs is true. Add a couple of extra
342 locations for looking for debug files.
343 ( bfd_follow_gnu_debuglink): Update invocation of
344 find_separate_debug_file.
345 (bfd_follow_gnu_debugaltlink): Likewise.
346 (get_build_id): New function: Finds the build-id of the given bfd.
347 (get_build_id_name): New function: Computes the name of the
348 separate debug info file for a bfd, based upon its build-id.
349 (check_build_id_file): New function: Checks to see if a separate
350 debug info file exists at the given location, and that its
351 build-id matches that of the original bfd.
352 (bfd_follow_build_id_debuglink): New function: Finds a separate
353 debug info file for a given bfd by using the build-id method.
354 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Try using the build-id
355 method of locating a separate debug info file before using the
356 debuglink method.
357 * bfd-in2.h: Regenerate.
358
9e659176
L
3592017-01-11 H.J. Lu <hongjiu.lu@intel.com>
360
361 PR ld/21038
362 * elf64-x86-64.c (elf_x86_64_eh_frame_bnd_plt): New.
363 (elf_x86_64_bnd_arch_bed): Use elf_x86_64_eh_frame_bnd_plt and
364 elf_x86_64_eh_frame_plt_got.
365 (elf_x86_64_size_dynamic_sections): Get unwind info from
366 elf_x86_64_bnd_arch_bed for the BND PLT.
367
f2e2d2f5
JS
3682017-01-11 Jeremy Soller <jackpot51@gmail.com>
369
370 * config.bfd: Add entries for i686-redox and x86_64-redox.
371
52b232b3
L
3722017-01-10 H.J. Lu <hongjiu.lu@intel.com>
373
374 * elf32-i386.c (elf_i386_check_relocs): Align .eh_frame section
375 to 4 bytes.
376 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
377 .eh_frame section to 4 bytes for x32.
378 (elf_x86_64_check_relocs): Likewise.
379
fff53dae
L
3802017-01-10 H.J. Lu <hongjiu.lu@intel.com>
381
382 PR ld/20830
383 * elf32-i386.c (elf_i386_eh_frame_plt_got): New.
384 (PLT_GOT_FDE_LENGTH): Likewise.
385 (elf_i386_plt_layout): Add eh_frame_plt_got and
386 eh_frame_plt_got_size.
387 (elf_i386_plt): Updated.
388 (elf_i386_link_hash_table): Add plt_got_eh_frame.
389 (elf_i386_check_relocs): Create .eh_frame section for .plt.got.
390 (elf_i386_size_dynamic_sections): Allocate and initialize
391 .eh_frame section for .plt.got.
392 (elf_i386_finish_dynamic_sections): Adjust .eh_frame section for
393 .plt.got.
394 (elf_i386_nacl_plt): Add FIXME for eh_frame_plt_got and
395 eh_frame_plt_got_size.
396 * elf64-x86-64.c (elf_x86_64_eh_frame_plt_got): New.
397 (PLT_GOT_FDE_LENGTH): Likewise.
398 (elf_x86_64_backend_data): Add eh_frame_plt_got and
399 eh_frame_plt_got_size.
400 (elf_x86_64_arch_bed): Updated.
401 (elf_x86_64_bnd_arch_bed): Add FIXME for eh_frame_plt_got and
402 eh_frame_plt_got_size.
403 (elf_x86_64_nacl_arch_bed): Likewise.
404 (elf_x86_64_link_hash_table): Add plt_got_eh_frame.
405 (elf_x86_64_check_relocs): Create .eh_frame section for .plt.got.
406 (elf_x86_64_size_dynamic_sections): Allocate and initialize
407 .eh_frame section for .plt.got.
408 (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section
409 for .plt.got.
410
f129e49f
L
4112017-01-10 H.J. Lu <hongjiu.lu@intel.com>
412
413 * elf32-i386.c (elf_i386_size_dynamic_sections): Set
414 plt_eh_frame->size to eh_frame_plt_size and use eh_frame_plt.
415
cd6581da
NC
4162017-01-09 Nick Clifton <nickc@redhat.com>
417
418 * dwarf2.c (lookup_address_in_function_table): Return early if
419 there are no functions in the given comp unit, or if the high
420 address of the last function in the comp unit is less than the
421 desired address.
422
98f02962
NC
4232017-01-09 Nick Clifton <nickc@redhat.com>
424
425 PR binutils/21013
426 * coffgen.c (_bfd_coff_get_external_symbols): Generate an error
427 message if there are too many symbols to load.
428
ae4fda66
JC
4292017-01-04 James Clarke <jrtc27@jrtc27.com>
430
431 * elf64-alpha.c (elf64_alpha_relax_opt_call): Don't set tsec_free
432 if relocs are cached.
433
de1010f4
RF
4342017-01-03 Rich Felker <bugdal@aerifal.cx>
435
436 PR ld/21017
437 * elf32-microblaze.c (microblaze_elf_check_relocs): Add an entry
438 for R_MICROBLAZE_GOTOFF_64.
439
09fe2662
NC
4402017-01-03 Nick Clifton <nickc@redhat.com>
441
442 * mach-o.c (bfd_mach_o_lookup_uuid_command): Fix compile time
443 warning about using a possibly uninitialised variable.
444
595e0a47
AM
4452017-01-02 Alan Modra <amodra@gmail.com>
446
447 * elf32-hppa.c (ensure_undef_weak_dynamic): New function.
448 (allocate_plt_static, allocate_dynrelocs): Use it.
449
7bd9df3b
AM
4502017-01-02 Alan Modra <amodra@gmail.com>
451
452 * elf-hppa.h (elf_hppa_fake_sections): Set SHF_INFO_LINK for
453 .PARISC.unwind section.
454
5b86074c
AM
4552017-01-02 Alan Modra <amodra@gmail.com>
456
457 PR ld/20989
458 * elfxx-sparc.c (gdop_relative_offset_ok): New function.
459 (_bfd_sparc_elf_relocate_section): Use it to validate GOT
460 indirect to GOT pointer relative code edit.
461
2571583a
AM
4622017-01-02 Alan Modra <amodra@gmail.com>
463
464 Update year range in copyright notice of all files.
465
5c1ad6b5 466For older changes see ChangeLog-2016
3499769a 467\f
5c1ad6b5 468Copyright (C) 2017 Free Software Foundation, Inc.
3499769a
AM
469
470Copying and distribution of this file, with or without modification,
471are permitted in any medium without royalty provided the copyright
472notice and this notice are preserved.
473
474Local Variables:
475mode: change-log
476left-margin: 8
477fill-column: 74
478version-control: never
479End:
This page took 0.117279 seconds and 4 git commands to generate.