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