Improve the speed of scanning PE binaries for line number information.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
e643cb45
NC
12017-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
086554e8
HPN
112017-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
a6be0538
PC
202017-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
79b1d3cb
PC
332017-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
aaed6f5b
AM
472017-03-20 Alan Modra <amodra@gmail.com>
48
49 PR 21266
50 * elf64-ppc.c (compare_symbols): Stabilize sort.
51
82e66161
AM
522017-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
f955cccf
NC
702017-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
4aef7643
AM
932017-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
f03265d9
ST
992017-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
b1b07054
AM
1042017-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
2e0ce1c8
AM
1112017-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
f98450c6
NC
1272017-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
d20928fa 131 empty segments which have a zero filesz, but a non-zero memsz.
f98450c6 132
673cff9b
AM
1332017-03-02 Alan Modra <amodra@gmail.com>
134
135 * elf32-ppc.c (ppc_elf_vle_split16): Correct insn mask typo.
136
3de43e7b
AM
1372017-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
4ef97a1b
AM
1422017-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
7ba71655
AM
1662017-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
afbf7e8e
AM
1792017-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
0e392101
MR
2052017-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
bd757ca7
NC
2102017-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
034fed0b
AM
2172017-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
d0f744f9
AW
2312017-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
5d58c733
MR
2382017-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
c1556ecd
MR
2452017-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
5499c7c7
AM
2512017-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
902e9fc7
MR
2602017-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
758d96d8
NC
2662017-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
6528b6eb
AM
2722017-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
24f1a751
AM
2792017-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
64487780
AM
2842017-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
6438d1be
NC
2902017-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
4bc26c69
PA
2962017-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
7ec22e0f
PA
3042017-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
8c8402cc
PA
3172017-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
c7c3d11b
PA
3262017-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
4265548c
PA
3432017-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
3239a423
AB
3602017-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
90ed9b8b
AB
3652017-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
a8c75b76
AM
3742017-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
247d6c4c
AM
3842017-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
90571206
JW
3902017-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
2a568401
L
3952017-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
a5def14f
L
4012017-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
174d0a74
MR
4092017-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
e278ae05
AM
4182017-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
10ddfe62
PD
4242017-02-13 Palmer Dabbelt <palmer@dabbelt.com>
425
426 * elfnn-riscv.c (riscv_global_pointer_value): Change _gp to
427 __global_pointer$.
428
d11135f5
NC
4292017-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
cc162427
AW
4352017-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
3d044c0c
SL
4402017-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
1b7e3d2f
NC
4482017-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
e17b0c35
MR
4572017-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
55f8b9d2
MR
4662017-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
0f8c4b60
MR
4732017-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
17a80fa8
MR
4782017-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
8f56d4fd
MR
4832017-02-02 Maciej W. Rozycki <macro@imgtec.com>
484
485 * elflink.c (elf_gc_sweep): Wrap overlong line.
486
8b10b0b3
MR
4872017-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
1fbd05e1
HPN
5012017-01-27 Hans-Peter Nilsson <hp@axis.com>
502
22d9a0de
HPN
503 * elf32-cris.c (elf_cris_finish_dynamic_symbol): Remove now unused
504 local variable dynobj.
505
1fbd05e1
HPN
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
4a7324e1
SH
5142017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
515
516 * config.bfd (*-*-rtemsaout*): Mark as removed.
517
c75b4ebd
SH
5182017-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
850d84f6
SH
5252017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
526
527 * config.bfd (*-*-rtemscoff*): Mark as removed.
528
b531344c
MR
5292017-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
f0158f44
AM
5432017-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
2d0ca824
YN
5692017-01-23 Yury Norov <ynorov@caviumnetworks.com>
570
571 * elfnn-aarch64.c: Fix relaxations for ILP32 mode.
572
7f784814
JW
5732017-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
81ff47b3
MR
5782017-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
640d6bfd
KLC
5852017-01-17 Kuan-Lin Chen <kuanlinchentw@gmail.com>
586
587 * elfnn-riscv.c (riscv_elf_object_p): New function.
588
8361ed4d
L
5892017-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
2425a30e
NC
6012017-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
9e659176
L
6242017-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
f2e2d2f5
JS
6332017-01-11 Jeremy Soller <jackpot51@gmail.com>
634
635 * config.bfd: Add entries for i686-redox and x86_64-redox.
636
52b232b3
L
6372017-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
fff53dae
L
6452017-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
f129e49f
L
6762017-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
cd6581da
NC
6812017-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
98f02962
NC
6882017-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
ae4fda66
JC
6942017-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
de1010f4
RF
6992017-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
09fe2662
NC
7052017-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
595e0a47
AM
7102017-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
7bd9df3b
AM
7152017-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
5b86074c
AM
7202017-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
2571583a
AM
7272017-01-02 Alan Modra <amodra@gmail.com>
728
729 Update year range in copyright notice of all files.
730
5c1ad6b5 731For older changes see ChangeLog-2016
3499769a 732\f
5c1ad6b5 733Copyright (C) 2017 Free Software Foundation, Inc.
3499769a
AM
734
735Copying and distribution of this file, with or without modification,
736are permitted in any medium without royalty provided the copyright
737notice and this notice are preserved.
738
739Local Variables:
740mode: change-log
741left-margin: 8
742fill-column: 74
743version-control: never
744End:
This page took 0.114961 seconds and 4 git commands to generate.