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