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