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