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