0f08ddd1e3e9108130e7d1242217d5881163d640
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 2017-04-27 Alan Modra <amodra@gmail.com>
2
3 * elf-bfd.h (struct eh_cie_fde): Add aug_str_len and aug_data_len.
4 (_bfd_elf_adjust_eh_frame_global_symbol): Declare.
5 * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Set aug_str_len and
6 aug_data_len.
7 (offset_adjust): New function.
8 (_bfd_elf_adjust_eh_frame_global_symbol): Likewise.
9 (adjust_eh_frame_local_symbols): Likewise.
10 (_bfd_elf_discard_section_eh_frame): Call adjust_eh_frame_local_symbols
11 after changing anything. Return true if anything changed.
12 * elflink.c (bfd_elf_discard_info): If .eh_frame changed, call
13 _bfd_elf_adjust_eh_frame_global_symbol for globals.
14
15 2017-04-27 Alan Modra <amodra@gmail.com>
16
17 * elflink.c (_bfd_elf_link_hash_hide_symbol): Clear dynstr_index
18 when force_local.
19
20 2017-04-27 Alan Modra <amodra@gmail.com>
21
22 * elf32-ppc.c (UNDEFWEAK_NO_DYNAMIC_RELOC): Define.
23 (ppc_elf_select_plt_layout, ppc_elf_tls_setup): Use it.
24 (ppc_elf_adjust_dynamic_symbol, allocate_dynrelocs): Likewise.
25 (ppc_elf_relocate_section): Likewise. Delete silly optimisation
26 for undef and undefweak dyn_relocs.
27 * elf64-ppc.c (UNDEFWEAK_NO_DYNAMIC_RELOC): Define.
28 (ppc64_elf_adjust_dynamic_symbol, ppc64_elf_tls_setup): Use it.
29 (allocate_got, allocate_dynrelocs): Likewise.
30 (ppc64_elf_relocate_section): Likewise.
31
32 2017-04-26 H.J. Lu <hongjiu.lu@intel.com>
33
34 * elf32-i386.c (elf_i386_size_dynamic_sections): Alwasys add
35 DT_PLTRELSZ, DT_PLTREL and DT_JMPREL for .rel.plt section.
36 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Alwasys
37 add DT_PLTRELSZ, DT_PLTREL and DT_JMPREL for .rela.plt section.
38
39 2017-04-26 Nick Clifton <nickc@redhat.com>
40
41 PR binutils/21434
42 * reloc.c (bfd_perform_relocation): Check for a negative address
43 in the reloc.
44
45 2017-04-26 Maciej W. Rozycki <macro@imgtec.com>
46
47 PR ld/21334
48 * elf-bfd.h (elf_backend_data): Add `always_renumber_dynsyms'
49 member.
50 * elfxx-target.h [!elf_backend_always_renumber_dynsyms]
51 (elf_backend_always_renumber_dynsyms): Define.
52 (elfNN_bed): Initialize `always_renumber_dynsyms' member.
53 * elfxx-mips.h (elf_backend_always_renumber_dynsyms): Define.
54 * elflink.c (bfd_elf_size_dynamic_sections): Also call
55 `_bfd_elf_link_renumber_dynsyms' if the backend has requested
56 it.
57 (bfd_elf_size_dynsym_hash_dynstr): Likewise.
58
59 2017-04-26 Maciej W. Rozycki <macro@imgtec.com>
60
61 * elflink.c (bfd_elf_size_dynamic_sections): Only call
62 `_bfd_elf_link_renumber_dynsyms' after section GC if dynamic
63 sections have been created.
64
65 2017-04-26 Nick Clifton <nickc@redhat.com>
66
67 PR binutils/21431
68 * compress.c (bfd_init_section_compress_status): Check the return
69 value from bfd_malloc.
70
71 2017-04-24 H.J. Lu <hongjiu.lu@intel.com>
72
73 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add
74 no_finish_dynamic_symbol.
75 (elf_x86_64_link_hash_newfunc): Set no_finish_dynamic_symbol to
76 0.
77 (elf_x86_64_allocate_dynrelocs): If a symbol isn't undefined
78 weak symbol, don't make it dynamic.
79 (elf_x86_64_relocate_section): If a symbol isn't dynamic in PIC,
80 set no_finish_dynamic_symbol and generate R_X86_64_RELATIVE
81 relocation for GOT reference.
82 (elf_x86_64_finish_dynamic_symbol): Abort if
83 no_finish_dynamic_symbol isn't 0.
84
85 2017-04-24 H.J. Lu <hongjiu.lu@intel.com>
86
87 PR ld/21402
88 * elf32-i386.c (elf_i386_allocate_dynrelocs): If a symbol isn't
89 undefined weak symbol, don't make it dynamic.
90 (elf_i386_relocate_section): If a symbol isn't dynamic in PIC,
91 set no_finish_dynamic_symbol and generate R_386_RELATIVE
92 relocation for R_386_GOT32.
93
94 2017-04-24 H.J. Lu <hongjiu.lu@intel.com>
95
96 PR ld/21425
97 * elf32-i386.c (ELF_MAXPAGESIZE): Set to 0x1000 for VxWorks.
98
99 2017-04-23 Alan Modra <amodra@gmail.com>
100
101 PR 21414
102 * section.c (GLOBAL_SYM_INIT): Make available in bfd.h.
103 * elf.c (lcomm_sym): New.
104 (_bfd_elf_large_com_section): Use lcomm_sym section symbol.
105 * bfd-in2.h: Regenerate.
106
107 2017-04-23 Alan Modra <amodra@gmail.com>
108
109 PR 21412
110 * elf-bfd.h (struct elf_backend_data <get_reloc_section>): Change
111 parameters and comment.
112 (_bfd_elf_get_reloc_section): Delete.
113 (_bfd_elf_plt_get_reloc_section): Declare.
114 * elf.c (_bfd_elf_plt_get_reloc_section, elf_get_reloc_section):
115 New functions. Don't blindly skip over assumed .rel/.rela prefix.
116 Extracted from..
117 (_bfd_elf_get_reloc_section): ..here. Delete.
118 (assign_section_numbers): Call elf_get_reloc_section.
119 * elf64-ppc.c (elf_backend_get_reloc_section): Define.
120 * elfxx-target.h (elf_backend_get_reloc_section): Update.
121
122 2017-04-23 Alan Modra <amodra@gmail.com>
123
124 PR 21409
125 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Don't segfault when
126 no symbols.
127
128 2017-04-21 H.J. Lu <hongjiu.lu@intel.com>
129
130 PR ld/21402
131 * elf32-i386.c (elf_i386_link_hash_entry): Add
132 no_finish_dynamic_symbol.
133 (elf_i386_link_hash_newfunc): Set no_finish_dynamic_symbol to 0.
134 (elf_i386_allocate_dynrelocs): If a symbol isn't undefined weak
135 symbol, don't make it dynamic in PIE.
136 (elf_i386_relocate_section): If a symbol isn't dynamic in PIE,
137 set no_finish_dynamic_symbol and generate R_386_RELATIVE
138 relocation for R_386_GOT32
139 (elf_i386_finish_dynamic_symbol): Abort if no_finish_dynamic_symbol
140 isn't 0.
141
142 2017-04-21 H.J. Lu <hongjiu.lu@intel.com>
143
144 PR ld/19617
145 PR ld/21086
146 * elflink.c (elf_link_add_object_symbols): Require
147 --no-dynamic-linker with -E/--dynamic-list when creating
148 dynamic sections.
149
150 2017-04-20 Maciej W. Rozycki <macro@imgtec.com>
151
152 * elflink.c (_bfd_elf_symbol_refs_local_p): Always return TRUE
153 if forced local.
154
155 2017-04-20 Maciej W. Rozycki <macro@imgtec.com>
156
157 * elfxx-mips.c (_bfd_mips_elf_final_link): Reorder comment about
158 dynamic symbol sorting.
159
160 2017-04-20 H.J. Lu <hongjiu.lu@intel.com>
161
162 PR ld/21382
163 * elflink.c (elf_link_add_object_symbols): Preserve
164 dynamic_ref_after_ir_def when restoring the symbol table for
165 unneeded dynamic object.
166
167 2017-04-19 H.J. Lu <hongjiu.lu@intel.com>
168
169 PR ld/21401
170 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Don't abort
171 on on undefined IFUNC symbol in the second PLT.
172
173 2017-04-19 Wedson Almeida Filho <wedsonaf@gmail.com>
174
175 * peXXigen.c (pe_print_reloc): Correct chunk_end.
176
177 2017-04-19 Alan Modra <amodra@gmail.com>
178
179 * elflink.c (_bfd_elf_adjust_dynamic_symbol): Hide undefweak
180 or make dynamic for info->dynamic_undefined_weak 0 and 1.
181 * elf32-ppc.c:Formatting.
182 (ensure_undefweak_dynamic): Don't make dynamic when
183 info->dynamic_undefined_weak is zero.
184 (allocate_dynrelocs): Discard undefweak dyn_relocs for
185 info->dynamic_undefined_weak. Discard undef dyn_relocs when
186 not default visibility. Discard undef and undefweak
187 dyn_relocs earlier.
188 (ppc_elf_relocate_section): Adjust to suit.
189 * elf64-ppc.c: Formatting.
190 (ensure_undefweak_dynamic): Don't make dynamic when
191 info->dynamic_undefined_weak is zero.
192 (allocate_dynrelocs): Discard undefweak dyn_relocs for
193 info->dynamic_undefined_weak. Discard them earlier.
194
195 2017-04-17 H.J. Lu <hongjiu.lu@intel.com>
196
197 PR ld/21389
198 * elflink.c (bfd_elf_size_dynamic_sections): Get soname index
199 before generating the version definition section.
200
201 2017-04-17 Alan Modra <amodra@gmail.com>
202
203 * elflink.c (_bfd_elf_merge_symbol): Undo dynamic linking
204 state when a regular object file defines a symbol with
205 incompatible type to that defined by an earlier shared lib.
206
207 2017-04-13 Alan Modra <amodra@gmail.com>
208
209 * coffcode.h: Wrap some overly long _bfd_error_handler args.
210 * elf.c: Likewise.
211 * elf32-arm.c: Likewise.
212 * elf32-i386.c: Likewise.
213 * elf32-mep.c: Likewise.
214 * elf64-ia64-vms.c: Likewise.
215 * elf64-x86-64.c: Likewise.
216 * elflink.c: Likewise.
217 * elfnn-ia64.c: Likewise.
218 * elfxx-mips.c: Likewise.
219
220 2017-04-13 Alan Modra <amodra@gmail.com>
221
222 * aoutx.h: Use %B and %A in error messages throughout file.
223 * aout-cris.c: Likewise.
224 * archive.c: Likewise.
225 * binary.c: Likewise.
226 * coff-rs6000.c: Likewise.
227 * coff-tic4x.c: Likewise.
228 * coffcode.h: Likewise.
229 * coffgen.c: Likewise.
230 * cofflink.c: Likewise.
231 * coffswap.h: Likewise.
232 * cpu-arm.c: Likewise.
233 * elf-eh-frame.c: Likewise.
234 * elf-m10300.c: Likewise.
235 * elf.c: Likewise.
236 * elf32-arc.c: Likewise.
237 * elf32-arm.c: Likewise.
238 * elf32-bfin.c: Likewise.
239 * elf32-frv.c: Likewise.
240 * elf32-iq2000.c: Likewise.
241 * elf32-m32c.c: Likewise.
242 * elf32-microblaze.c: Likewise.
243 * elf32-nds32.c: Likewise.
244 * elf32-rl78.c: Likewise.
245 * elf32-rx.c: Likewise.
246 * elf32-score.c: Likewise.
247 * elf32-score7.c: Likewise.
248 * elf32-sh64.c: Likewise.
249 * elf32-v850.c: Likewise.
250 * elf32-vax.c: Likewise.
251 * elf32-visium.c: Likewise.
252 * elf64-ia64-vms.c: Likewise.
253 * elf64-mmix.c: Likewise.
254 * elf64-sh64.c: Likewise.
255 * elfcode.h: Likewise.
256 * elfnn-aarch64.c: Likewise.
257 * elfnn-ia64.c: Likewise.
258 * elfxx-mips.c: Likewise.
259 * hpux-core.c: Likewise.
260 * ieee.c: Likewise.
261 * ihex.c: Likewise.
262 * linker.c: Likewise.
263 * merge.c: Likewise.
264 * mmo.c: Likewise.
265 * oasys.c: Likewise.
266 * pdp11.c: Likewise.
267 * peXXigen.c: Likewise.
268 * rs6000-core.c: Likewise.
269 * vms-alpha.c: Likewise.
270 * xcofflink.c: Likewise.
271
272 2017-04-13 Alan Modra <amodra@gmail.com>
273
274 * bfd.c (PRINT_TYPE): Define.
275 (_doprnt): New function.
276 (error_handler_internal): Use _doprnt.
277 * coff-arm.c: Put %A and %B arguments to _bfd_error_handler
278 calls in their natural order, throughout file.
279 * coff-mcore.c: Likewise.
280 * coff-ppc.c: Likewise.
281 * coff-tic80.c: Likewise.
282 * cofflink.c: Likewise.
283 * elf-s390-common.c: Likewise.
284 * elf.c: Likewise.
285 * elf32-arm.c: Likewise.
286 * elf32-i386.c: Likewise.
287 * elf32-m32r.c: Likewise.
288 * elf32-msp430.c: Likewise.
289 * elf32-spu.c: Likewise.
290 * elf64-ia64-vms.c: Likewise.
291 * elf64-sparc.c: Likewise.
292 * elf64-x86-64.c: Likewise.
293 * elflink.c: Likewise.
294 * elfnn-aarch64.c: Likewise.
295 * elfnn-ia64.c: Likewise.
296 * elfxx-mips.c: Likewise.
297
298 2017-04-13 Alan Modra <amodra@gmail.com>
299
300 * elf32-arm.c (arm_type_of_stub): Supply missing args to "long
301 branch veneers" error. Fix double space and format message.
302 * elf32-avr.c (avr_add_stub): Do not pass NULL as %B arg.
303 * elf64-ppc.c (tocsave_find): Supply missing %B arg.
304
305 2017-04-13 Alan Modra <amodra@gmail.com>
306
307 * bfd-in2.h: Regenerate.
308
309 2017-04-11 H.J. Lu <hongjiu.lu@intel.com>
310
311 * elf-properties.c (_bfd_elf_parse_gnu_properties): Remove the
312 extra `\n' in warning/error messages.
313 * elf32-i386.c (elf_i386_parse_gnu_properties): Likewise.
314 * elf64-x86-64.c (elf_x86_64_parse_gnu_properties): Likewise.
315
316 2017-04-11 H.J. Lu <hongjiu.lu@intel.com>
317
318 * elf-properties.c (_bfd_elf_parse_gnu_properties): Ignore
319 processor-specific properties with generic ELF target vector.
320
321 2017-04-10 Qing Zhao <qing.zhao@oracle.com>
322
323 * elf32-sparc.c (elf_backend_fixup_symbol): New.
324 * elf64-sparc.c (elf_backend_fixup_symbol): New.
325 * elfxx-sparc.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
326 (_bfd_sparc_elf_link_hash_entry): Add has_got_reloc and
327 has_non_got_reloc.
328 (link_hash_newfunc): Initialize has_got_reloc and
329 has_non_got_reloc.
330 (_bfd_sparc_elf_size_dynamic_sections): Set interp to .interp
331 section.
332 (_bfd_sparc_elf_copy_indirect_symbol): Copy has_got_reloc and
333 has_non_got_reloc.
334 (_bfd_sparc_elf_check_relocs): Set has_got_reloc and
335 has_non_got_reloc.
336 (_bfd_sparc_elf_fixup_symbol): New function.
337 (allocate_dynrelocs): Don't allocate space for dynamic
338 relocations and discard relocations against resolved undefined
339 weak symbols in executable. Don't make resolved undefined weak
340 symbols in executable dynamic. Keep dynamic non-GOT/non-PLT
341 relocation against undefined weak symbols in PIE.
342 (_bfd_sparc_elf_relocate_section): Don't generate dynamic
343 relocations against resolved undefined weak symbols in PIE
344 (_bfd_sparc_elf_finish_dynamic_symbol): Keep PLT/GOT entries
345 without ynamic PLT/GOT relocations for resolved undefined weak
346 symbols.
347 Don't generate dynamic relocation against resolved undefined
348 weak symbol in executable.
349 (pie_finish_undefweak_symbol): New function.
350 (_bfd_sparc_elf_finish_dynamic_sections): Call
351 pie_finish_undefweak_symbol on all symbols in PIE.
352 * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add interp.
353 (_bfd_sparc_elf_fixup_symbol): New function.
354
355 2017-04-10 Nick Clifton <nickc@redhat.com>
356
357 * config.bfd: Remove ns32k from obsolete list.
358
359 2017-04-10 Alan Modra <amodra@gmail.com>
360
361 PR 21287
362 * elf.c (special_sections_f): Match .fini_array and .fini_array.*.
363 (special_sections_i): Likewise for .init_array.
364 (special_sections_p): Likewise for .preinit_array.
365
366 2017-04-07 H.J. Lu <hongjiu.lu@intel.com>
367
368 PR ld/19579
369 PR ld/21306
370 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Check
371 ELF_COMMON_DEF_P for common symbols.
372 * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
373 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
374 * elflink.c (_bfd_elf_merge_symbol): Revert commits
375 202ac193bbbecc96a4978d1ac3d17148253f9b01 and
376 07492f668d2173da7a2bda3707ff0985e0f460b6.
377
378 2017-04-07 Pedro Alves <palves@redhat.com>
379
380 * opncls.c (bfd_get_debug_link_info): Rename to...
381 (bfd_get_debug_link_info_1): ... this. Change type of second
382 parameter to void pointer. Adjust.
383 (bfd_get_debug_link_info): Reimplement on top of
384 bfd_get_debug_link_info_1.
385 (separate_debug_file_exists, separate_alt_debug_file_exists):
386 Change type of second parameter to void pointer. Adjust.
387 (get_func_type, check_func_type): Change type of second parameter
388 to void pointer.
389 (find_separate_debug_file): Add 'func_data' parameter. Pass it to
390 the callback functions instead of passing the address of a local.
391 (bfd_follow_gnu_debuglink): Pass address of unsigned long local to
392 find_separate_debug_file.
393 (get_alt_debug_link_info_shim): Change type of second parameter to
394 void pointer. Adjust.
395 (bfd_follow_gnu_debugaltlink): Adjust to pass NULL to
396 find_separate_debug_file.
397 (get_build_id_name, bfd_boolean check_build_id_file): Change type
398 of second parameter to void pointer. Adjust.
399 (bfd_follow_build_id_debuglink): Pass address of bfd_build_id
400 pointer local to find_separate_debug_file.
401
402 2017-04-07 Tristan Gingold <gingold@gingold-Precision-7510>
403
404 * coffgen.c (_bfd_coff_gc_mark_hook): Handle PE weak
405 external symbols with a definition.
406 (_bfd_coff_gc_mark_extra_sections): Fix typo.
407
408 2017-04-07 Alan Modra <amodra@gmail.com>
409
410 * po/SRC-POTFILES.in: Regenerate.
411
412 2017-04-05 Alan Modra <amodra@gmail.com>
413
414 * elf64-ppc.c (ppc64_elf_gc_sweep_hook): Support ELFv2 PLT
415 reference counting.
416
417 2017-04-02 Jon Turney <jon.turney@dronecode.org.uk>
418
419 (_bfd_XXi_swap_aouthdr_out): For clarity, use defines rather than
420 numbers for DataDirectory entry indicies passed to
421 add_data_entry().
422
423 2017-04-04 H.J. Lu <hongjiu.lu@intel.com>
424
425 * elf.c (get_program_header_size): Add a GNU_MBIND segment for
426 each GNU_MBIND section and align GNU_MBIND section to page size.
427 (_bfd_elf_map_sections_to_segments): Create a GNU_MBIND
428 segment for each GNU_MBIND section.
429 (_bfd_elf_init_private_section_data): Copy sh_info from input
430 for GNU_MBIND section.
431
432 2017-04-03 Palmer Dabbelt <palmer@dabbelt.com>
433
434 * elfnn-riscv.c (GP_NAME): Delete.
435 (riscv_global_pointer_value): Change GP_NAME to RISCV_GP_SYMBOL.
436 (_bfd_riscv_relax_lui): Likewise.
437
438 2017-04-04 Nick Clifton <nickc@redhat.com>
439
440 PR binutils/21342
441 * elflink.c (_bfd_elf_define_linkage_sym): Prevent null pointer
442 dereference.
443 (bfd_elf_final_link): Only initialize the extended symbol index
444 section if there are extended symbol tables to list.
445
446 2017-04-03 H.J. Lu <hongjiu.lu@intel.com>
447
448 * Makefile.am (BFD32_BACKENDS): Add elf-properties.lo.
449 (BFD32_BACKENDS_CFILES): Add elf-properties.c.
450 * configure.ac (elf): Add elf-properties.lo.
451 * Makefile.in: Regenerated.
452 * configure: Likewise.
453 * elf-bfd.h (elf_property_kind): New.
454 (elf_property): Likewise.
455 (elf_property_list): Likewise.
456 (elf_properties): Likewise.
457 (_bfd_elf_parse_gnu_properties): Likewise.
458 (_bfd_elf_get_property): Likewise.
459 (_bfd_elf_link_setup_gnu_properties): Likewise.
460 (elf_backend_data): Add parse_gnu_properties, merge_gnu_properties
461 and setup_gnu_properties.
462 (elf_obj_tdata): Add properties.
463 * elf-properties.c: New file.
464 * elf32-i386.c (elf_i386_parse_gnu_properties): New.
465 (elf_i386_merge_gnu_properties): Likewise.
466 (elf_backend_parse_gnu_properties): Likewise.
467 (elf_backend_merge_gnu_properties): Likewise.
468 * elf64-x86-64.c (elf_x86_64_parse_gnu_properties): Likewise.
469 (elf_x86_64_merge_gnu_properties): Likewise.
470 (elf_backend_parse_gnu_properties): Likewise.
471 (elf_backend_merge_gnu_properties): Likewise.
472 * elfxx-target.h (elf_backend_merge_gnu_properties): Likewise.
473 (elf_backend_parse_gnu_properties): Likewise.
474 (elf_backend_setup_gnu_properties): Likewise.
475 (elfNN_bed): Add elf_backend_parse_gnu_properties,
476 elf_backend_merge_gnu_properties and
477 elf_backend_setup_gnu_properties.
478
479 2017-03-30 Pip Cet <pipcet@gmail.com>
480
481 * elf32-wasm32.c: Add relocation code, two relocs.
482 * reloc.c: Add wasm32 relocations.
483 * libbfd.h: Regenerate.
484 * bfd-in2.h: Regenerate.
485 * bfd/po/bfd.pot: Regenerate.
486
487 2017-03-29 Nick Clifton <nickc@redhat.com>
488
489 PR binutils/18025
490 * coff-bfd.h (struct coff_section_data): Add new fields:
491 saved_bias and bias.
492 * coffgen.c (coff_find_nearest_line_with_names): Cache the bias
493 computed for PE binaries.
494 * dwarf2.c (scan_unit_for_symbols): Only warn once about each
495 missing abbrev.
496
497 2017-03-28 Hans-Peter Nilsson <hp@axis.com>
498
499 PR ld/16044
500 * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Adjust BFD_ASSERT
501 to handle a local symbol with a hash-symbol-entry; without PLT.
502 Add BFD_ASSERT for an incidental case with GOT entry present.
503 (cris_elf_check_relocs): Increment PLT refcount only if the symbol
504 isn't forced-or-set local.
505
506 2017-03-27 Pip Cet <pipcet@gmail.com>
507
508 * wasm-module.c: New file to support WebAssembly modules.
509 * wasm-module.h: New file to support WebAssembly modules.
510 * doc/webassembly.texi: Start documenting wasm-module.c.
511 * config.bfd: Add wasm_vec.
512 * targets.c: Likewise.
513 * configure.ac: Likewise.
514 * Makefile.am: Add entries for wasm-module.c.
515 * Makefile.in: Regenerate.
516 * configure: Regenerate.
517 * po/SRC-POTFILES.in: Regenerate.
518
519 2017-03-27 Pip Cet <pipcet@gmail.com>
520
521 * cpu-wasm32.c: New file to support wasm32 architecture.
522 * elf32-wasm32.c: New file to support wasm32 architecture.
523 * Makefile.am: Add wasm32 architecture.
524 * archures.c: Likewise.
525 * config.bfd: Likewise.
526 * configure.ac: Likewise.
527 * targets.c: Likewise.
528 * Makefile.in: Regenerate.
529 * bfd-in2.h: Regenerate.
530 * configure: Regenerate.
531 * po/SRC-POTFILES.in: Regenerate.
532
533 2017-03-20 Alan Modra <amodra@gmail.com>
534
535 PR 21266
536 * elf64-ppc.c (compare_symbols): Stabilize sort.
537
538 2017-03-18 Alan Modra <amodra@gmail.com>
539
540 * elf64-ppc.c (struct ppc_link_hash_table): Add
541 local_ifunc_resolver and maybe_local_ifunc_resolver.
542 (ppc_build_one_stub): Set flags on emitting dynamic
543 relocation to ifunc.
544 (ppc64_elf_relocate_section): Likewise.
545 (ppc64_elf_finish_dynamic_symbol): Likewise.
546 (ppc64_elf_finish_dynamic_sections): Error on DT_TEXTREL with
547 local dynamic relocs to ifuncs.
548 * elf32-ppc.c (struct ppc_elf_link_hash_table): Add
549 local_ifunc_resolver and maybe_local_ifunc_resolver.
550 (ppc_elf_relocate_section): Set flag on emitting dynamic
551 relocation to ifuncs.
552 (ppc_elf_finish_dynamic_symbol): Likewise.
553 (ppc_elf_finish_dynamic_sections): Error on DT_TEXTREL with local
554 dynamic relocs to ifuncs.
555
556 2017-03-13 Nick Clifton <nickc@redhat.com>
557
558 PR binutils/21202
559 * reloc.c (BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC): Rename to
560 BFD_RELOC_AARCH64_TLSDESC_LD64_LO12.
561 (BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC): Rename to
562 BFD_RELOC_AARCH64_TLSDESC_ADD_LO12.
563 * bfd-in2.h: Regenerate.
564 * libbfd.h: Regenerate.
565 * elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): Update reloc
566 names.
567 (IS_AARCH64_TLSDESC_RELOC): Likewise.
568 (elfNN_aarch64_howto_table): Likewise.
569 (aarch64_tls_transition_without_check): Likewise.
570 (aarch64_reloc_got_type): Likewise.
571 (elfNN_aarch64_final_link_relocate): Likewise.
572 (elfNN_aarch64_tls_relax): Likewise.
573 (elfNN_aarch64_relocate_section): Likewise.
574 (elfNN_aarch64_gc_sweep_hook): Likewise.
575 (elfNN_aarch64_check_relocs): Likewise.
576 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
577 (_bfd_aarch64_elf_resolve_relocation): Likewise.
578
579 2017-03-11 Alan Modra <amodra@gmail.com>
580
581 * elf32-ppc.c: Remove ATTRIBUTE_UNUSED throughout when function
582 parameter is in fact used. Whitespace fixes.
583 * elf64-ppc.c: Likewise.
584
585 2017-03-09 Sam Thursfield <sam.thursfield@codethink.co.uk>
586
587 * rs6000-core.c (CORE_NEW): Simplify macro when
588 AIX_CORE_DUMPX_CORE and BFD64 are true to avoid compile warning.
589
590 2017-03-07 Alan Modra <amodra@gmail.com>
591
592 PR 21224
593 PR 20519
594 * elf64-ppc.c (ppc64_elf_relocate_section): Add missing
595 dyn_relocs check.
596
597 2017-03-05 Alan Modra <amodra@gmail.com>
598
599 * elf-bfd.h (struct eh_cie_fde): Add u.cie.per_encoding_aligned8.
600 * elf-eh-frame.c (size_of_output_cie_fde): Don't align here.
601 (next_cie_fde_offset): New function.
602 (_bfd_elf_parse_eh_frame): Set u.cie.per_encoding_aligned8.
603 (_bfd_elf_discard_section_eh_frame): Align zero terminator to
604 four bytes. Align CIEs to four or eight bytes depending on
605 per_encoding_aligned8. Align FDEs according to their encoding.
606 Pad last FDE to output section alignment.
607 (_bfd_elf_write_section_eh_frame): Adjust to suit. Remove
608 assertion.
609 * elf64-ppc.c (glink_eh_frame_cie): Delete padding.
610 (ppc64_elf_size_stubs): Pad glink eh_frame as per elf-eh-frame.c.
611 (ppc64_elf_finish_dynamic_sections): Adjust to suit.
612
613 2017-03-02 Martin Bickel <binutils@ineranves.de>
614
615 PR ld/21212
616 * elf.c (rewrite_elf_program_header): Do not issue a warning for
617 empty segments which have a zero filesz, but a non-zero memsz.
618
619 2017-03-02 Alan Modra <amodra@gmail.com>
620
621 * elf32-ppc.c (ppc_elf_vle_split16): Correct insn mask typo.
622
623 2017-02-28 Alan Modra <amodra@gmail.com>
624
625 * elf64-ppc.c (ppc64_elf_ha_reloc): Revert last change.
626 (ppc64_elf_relocate_section): Likewise.
627
628 2017-02-28 Alan Modra <amodra@gmail.com>
629
630 PR 20995
631 * elf32-nios2.c (nios2_elf32_relocate_section): Use htab
632 rather than elf32_nios2_hash_table or elf_hash_table.
633 (create_got_section): Likewise.
634 (nios2_elf32_finish_dynamic_symbol): Likewise.
635 (nios2_elf32_adjust_dynamic_symbol): Likewise.
636 (nios2_elf32_size_dynamic_sections): Likewise.
637 (nios2_elf32_check_relocs): Delete dynobj, sgot, and srelgot
638 vars. Use htab equivalents directly instead. Don't create
639 all dynamic sections on needing just the GOT. Use a goto
640 rather than a fall-through with reloc test. Ensure
641 htab->dynobj is set when making dynamic sreloc section.
642 (nios2_elf32_finish_dynamic_sections): Delete dynobj, use htab
643 equivalent directly instead. Don't segfault on looking for
644 .dynamic when dynamic sections have not been created. Don't
645 segfault on .got.plt being discarded.
646 (nios2_elf32_size_dynamic_sections): Delete plt and got vars.
647 Don't set "relocs" on .rela.plt. Do handle .sbss. Delete
648 fixme and another not so relevant comment.
649 (nios2_elf_add_symbol_hook): Delete dynobj var. If not
650 already set, set hash table dynobj on creating .sbss.
651
652 2017-02-28 Alan Modra <amodra@gmail.com>
653
654 * reloc.c (BFD_RELOC_PPC_16DX_HA): New.
655 * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_16DX_HA>): New howto.
656 (ppc64_elf_reloc_type_lookup): Translate new bfd reloc.
657 (ppc64_elf_ha_reloc): Correct overflow test on REL16DX_HA.
658 (ppc64_elf_relocate_section): Likewise.
659 * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_16DX_HA>): New howto.
660 (ppc_elf_reloc_type_lookup): Translate new bfd reloc.
661 (ppc_elf_check_relocs): Handle R_PPC_16DX_HA to pacify gcc.
662 * libbfd.h: Regenerate.
663 * bfd-in2.h: Regenerate.
664
665 2017-02-28 Alan Modra <amodra@gmail.com>
666
667 * elflink.c (_bfd_elf_create_dynamic_sections): Don't make
668 dynamic .data.rel.ro read-only.
669 * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Compare section
670 rather than section flags when deciding where copy reloc goes.
671 * elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise.
672 * elf32-hppa.c (elf32_hppa_finish_dynamic_symbol): Likewise.
673 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Likewise.
674 * elf32-metag.c (elf_metag_finish_dynamic_symbol): Likewise.
675 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): Likewise.
676 * elf32-nios2.c (nios2_elf32_finish_dynamic_symbol): Likewise.
677 * elf32-or1k.c (or1k_elf_finish_dynamic_symbol): Likewise.
678 * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Likewise.
679 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
680 * elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol): Likewise.
681 * elf32-tilepro.c (tilepro_elf_finish_dynamic_symbol): Likewise.
682 * elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Likewise.
683 * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
684 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
685 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Likewise.
686 * elfnn-riscv.c (riscv_elf_finish_dynamic_symbol): Likewise.
687 * elfxx-mips.c (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
688 * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
689 * elfxx-tilegx.c (tilegx_elf_finish_dynamic_symbol): Likewise.
690
691 2017-02-28 Maciej W. Rozycki <macro@imgtec.com>
692
693 * elfxx-mips.c (mips_elf_perform_relocation): Also handle the
694 `jalr $0, $25' instruction encoding.
695
696 2017-02-27 Nick Clifton <nickc@redhat.com>
697
698 PR ld/21180
699 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): Avoid
700 generating a seg-fault when encountering a symbol that has been
701 deleted by garbage collection.
702
703 2017-02-25 Alan Modra <amodra@gmail.com>
704
705 * elf32-arc.c (struct dynamic_sections): Delete.
706 (enum dyn_section_types): Delete.
707 (dyn_section_names): Delete.
708 (arc_create_dynamic_sections): Delete.
709 (elf_arc_finish_dynamic_sections): Don't call the above. Don't
710 segfault on discarded .rela.plt section.
711 (elf_arc_size_dynamic_sections): Formatting. Don't call
712 arc_create_dynamic_sections. Don't allocate memory for sections
713 handled by the generic linker. Correct code finding relocs in
714 read-only sections. Set SEC_EXCLUDE on zero size .got,
715 .got.plt, and .dynbss sections. Do set .interp for pies.
716
717 2017-02-24 Andrew Waterman <andrew@sifive.com>
718
719 * elfnn-riscv.c (GP_NAME): New macro.
720 (riscv_global_pointer_value): Use it.
721 (_bfd_riscv_relax_lui): If symbol and global pointer are in same
722 output section, consider only that section's alignment.
723
724 2017-02-23 Maciej W. Rozycki <macro@imgtec.com>
725
726 * elfxx-mips.h (_bfd_mips_relax_section): Remove prototype.
727 * elfxx-mips.c (_bfd_mips_relax_section): Remove function.
728 * elf64-mips.c (bfd_elf64_bfd_relax_section): Remove macro.
729 * elfn32-mips.c (bfd_elf32_bfd_relax_section): Likewise.
730
731 2017-02-23 Maciej W. Rozycki <macro@imgtec.com>
732
733 * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS_JALR>
734 <R_MICROMIPS_JALR>: Discard relocation if `cross_mode_jump_p'
735 or misaligned.
736
737 2017-02-23 Alan Modra <amodra@gmail.com>
738
739 PR 20744
740 * elf32-ppc.c (ppc_elf_howto_raw): Correct dst_mask on all VLE
741 16D relocations.
742 (ppc_elf_vle_split16): Correct field mask and shift for 16D relocs.
743 (ppc_elf_relocate_section): Correct calculation for VLE SDAREL
744 relocs.
745
746 2017-02-22 Maciej W. Rozycki <macro@imgtec.com>
747
748 PR ld/20828
749 * elflink.c (bfd_elf_size_dynamic_sections): Move symbol version
750 processing ahead of the call to `elf_gc_sweep_symbol'.
751
752 2017-02-22 Nick Clifton <nickc@redhat.com>
753
754 PR binutils/21193
755 * opncls.c (bfd_create_gnu_debuglink_section): Give the newly
756 created section 4-byte alignment.
757
758 2017-02-22 Alan Modra <amodra@gmail.com>
759
760 * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Don't segfault
761 on .got or .plt output section being discarded by script.
762 * elf32-ppc.c (ppc_elf_finish_dynamic_sections): Likewise. Move
763 vxworks splt temp.
764
765 2017-02-21 Alan Modra <amodra@gmail.com>
766
767 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only emit
768 DT_RELA, DT_RELASZ, and DT_RELAENT when DT_RELASZ is non-zero.
769
770 2017-02-20 Alan Modra <amodra@gmail.com>
771
772 PR 21181
773 * elflink.c (bfd_elf_final_link): Make DT_REL/DT_RELA zero
774 if DT_RELSZ/DT_RELASZ is zero.
775
776 2017-02-17 Nick Clifton <nickc@redhat.com>
777
778 * compress.c (bfd_get_full_section_contents): Remember to reduce
779 compressed size by the sizeof the compression header when
780 decompressing the contents.
781
782 2017-02-17 Pedro Alves <palves@redhat.com>
783
784 * srec.c (Chunk): Rename to ...
785 (_bfd_srec_len): ... this.
786 (S3Forced): Rename to ...
787 (_bfd_srec_forceS3): ... this.
788 * objcopy.c: Adjust all references.
789
790 2017-02-17 Pedro Alves <palves@redhat.com>
791
792 * archive.c (bsd_write_armap): Rename to ...
793 (_bfd_bsd_write_armap): ... this.
794 (coff_write_armap): Rename to ...
795 (_bfd_coff_write_armap): ... this.
796 * libbfd-in.h (bsd_write_armap): Rename to ...
797 (_bfd_bsd_write_armap): ... this.
798 (coff_write_armap): Rename to ...
799 (_bfd_coff_write_armap): ... this.
800 * aout-target.h, aout-tic30.c: Adjust all users.
801 * libbfd.h: Regenerate.
802
803 2017-02-17 Pedro Alves <palves@redhat.com>
804
805 * bfd-in.h (bfd_read, bfd_write): Adjust to rename.
806 (warn_deprecated): Rename to ...
807 (_bfd_warn_deprecated): ... this.
808 * libbfd.c (warn_deprecated): Rename to ...
809 (_bfd_warn_deprecated): ... this.
810 * bfd-in2.h: Regenerate.
811
812 2017-02-17 Pedro Alves <palves@redhat.com>
813
814 * bfdio.c (real_ftell): Rename to ...
815 (_bfd_real_ftell): ... this.
816 (real_fseek): Rename to ...
817 (_bfd_real_fseek): ... this.
818 (real_fopen): Rename to ...
819 (_bfd_real_fopen): ... this.
820 * libbfd-in.h (real_ftell): Rename to ...
821 (_bfd_real_ftell): ... this.
822 (real_fseek): Rename to ...
823 (_bfd_real_fseek): ... this.
824 (real_fopen): Rename to ...
825 (_bfd_real_fopen): ... this.
826 * cache.c, dwarf2.c, opncls.c: Adjust all callers.
827 * libbfd.h: Regenerate.
828
829 2017-02-17 Pedro Alves <palves@redhat.com>
830
831 * dwarf2.c, elf-attrs.c, elf32-nds32.c: Adjust all callers.
832 * libbfd.c (read_unsigned_leb128): Rename to ...
833 (_bfd_read_unsigned_leb128): ... this.
834 (read_signed_leb128): Rename to ...
835 (_bfd_read_signed_leb128): ... this.
836 (safe_read_leb128): Rename to ...
837 (_bfd_safe_read_leb128): ... this.
838 * libbfd-in.h (read_unsigned_leb128): Rename to ...
839 (_bfd_read_unsigned_leb128): ... this.
840 (read_signed_leb128): Rename to ...
841 (_bfd_read_signed_leb128): ... this.
842 (safe_read_leb128): Rename to ...
843 (_bfd_safe_read_leb128): ... this.
844 * libbfd.h: Renegerate.
845
846 2017-02-16 Andrew Burgess <andrew.burgess@embecosm.com>
847
848 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Perform symbol lookup
849 before trying to fine matching file and line information.
850
851 2017-02-16 Andrew Burgess <andrew.burgess@embecosm.com>
852
853 * dwarf2.c (struct dwarf2_debug): Add orig_bfd member.
854 (_bfd_dwarf2_slurp_debug_info): If stashed debug information does
855 not match current bfd, then reload debug information. Record bfd
856 we're loading debug info for in the stash. If we have debug
857 informatin in the cache then perform section placement before
858 returning.
859
860 2017-02-16 Alan Modra <amodra@gmail.com>
861
862 PR 21000
863 * elf-bfd.h (struct elf_backend_data): Add no_page_alias.
864 * elfxx-target.h (elf_backend_no_page_alias): Define.
865 (elfNN_bed): Init new field.
866 * elf.c (assign_file_positions_for_load_sections): If no_page_alias
867 ensure PT_LOAD segment starts on a new page.
868 * elf32-hppa.c (elf_backend_no_page_alias): Define.
869
870 2017-02-16 Alan Modra <amodra@gmail.com>
871
872 PR 21132
873 * elf32-hppa.c (allocate_plt_static): Allocate space for relocs
874 if pic.
875
876 2017-02-16 Jiong Wang <jiong.wang@arm.com>
877
878 * bfd.c (BFD_FLAGS_SAVED): Add BFD_LINKER_CREATED.
879 * bfd-in2.h: Regenerated.
880
881 2017-02-15 H.J. Lu <hongjiu.lu@intel.com>
882
883 PR ld/21168
884 * elf32-i386.c (elf_i386_relocate_section): Allow
885 "lea foo@GOT, %reg" in PIC.
886
887 2017-02-15 H.J. Lu <hongjiu.lu@intel.com>
888
889 PR ld/20244
890 * elf32-i386.c (elf_i386_relocate_section): Properly get IFUNC
891 symbol name when reporting R_386_GOT32/R_386_GOT32X relocation
892 error against local IFUNC symbol without a base register for
893 PIC.
894
895 2017-02-15 Maciej W. Rozycki <macro@imgtec.com>
896
897 * elf32-ppc.c (ppc_elf_check_relocs): Use `%H:' rather than
898 `%P: %H:' with `info->callbacks->einfo'.
899 (ppc_elf_relocate_section): Likewise.
900 * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
901 (ppc64_elf_edit_toc): Likewise.
902 (ppc64_elf_relocate_section): Likewise.
903
904 2017-02-14 Alan Modra <amodra@gmail.com>
905
906 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support
907 --gc-keep-exported, and test versioned field of sym rather than
908 looking for @ in name.
909
910 2017-02-13 Palmer Dabbelt <palmer@dabbelt.com>
911
912 * elfnn-riscv.c (riscv_global_pointer_value): Change _gp to
913 __global_pointer$.
914
915 2017-02-13 Nick Clifton <nickc@redhat.com>
916
917 PR binutils/21151
918 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Check for an invalid
919 unit length field.
920
921 2017-02-07 Andrew Waterman <andrew@sifive.com>
922
923 * elfnn-riscv.c (riscv_elf_finish_dynamic_sections): Only write PLT
924 entry size if PLT header is written.
925
926 2017-02-06 Sheldon Lobo <sheldon.lobo@oracle.com>
927
928 Fix sparc64 dynamic relocation processing to use the dynamic
929 symbol count.
930 * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Use 'dynamic'
931 to determine if bfd_get_symcount() or bfd_get_dynamic_symcount()
932 should be used.
933
934 2017-02-03 Nick Clifton <nickc@redhat.com>
935
936 PR 21096
937 * coffcode.h (coff_write_object_contents): Enlarge size of
938 s_name_buf in order to avoid compile time warning about possible
939 integer truncation.
940 * elf32-nds32.c (nds32_elf_ex9_import_table): Mask off lower
941 32-bits of insn value before printing into buffer.
942
943 2017-02-02 Maciej W. Rozycki <macro@imgtec.com>
944
945 * elfxx-mips.c (mips_elf_hash_sort_data): Add
946 `max_local_dynindx'.
947 (mips_elf_sort_hash_table): Handle it.
948 (mips_elf_sort_hash_table_f) <GGA_NONE>: For forced local
949 symbols bump up `max_local_dynindx' rather than
950 `max_non_got_dynindx'.
951
952 2017-02-02 Maciej W. Rozycki <macro@imgtec.com>
953
954 * elfxx-mips.c (mips_elf_hash_sort_data): Convert the
955 `min_got_dynindx', `max_unref_got_dynindx' and
956 `max_non_got_dynindx' members to the `bfd_size_type' data type.
957 (mips_elf_sort_hash_table): Adjust accordingly.
958
959 2017-02-02 Maciej W. Rozycki <macro@imgtec.com>
960
961 * elfxx-mips.c (mips_elf_sort_hash_table): Use `htab' throughout
962 to access the hash table.
963
964 2017-02-02 Maciej W. Rozycki <macro@imgtec.com>
965
966 * elfxx-mips.c (mips_elf_sort_hash_table): Move assertion on
967 non-NULL `htab' to the beginning.
968
969 2017-02-02 Maciej W. Rozycki <macro@imgtec.com>
970
971 * elflink.c (elf_gc_sweep): Wrap overlong line.
972
973 2017-01-30 Maciej W. Rozycki <macro@imgtec.com>
974
975 * elfxx-mips.h (_bfd_mips_elf_insn32): Rename prototype to...
976 (_bfd_mips_elf_linker_flags): ... this. Add another parameter.
977 * elfxx-mips.c (mips_elf_link_hash_table): Add
978 `ignore_branch_isa' member.
979 (mips_elf_perform_relocation): Do not treat an ISA mode mismatch
980 in branch relocation calculation as an error if
981 `ignore_branch_isa' has been set.
982 (_bfd_mips_elf_insn32): Rename to...
983 (_bfd_mips_elf_linker_flags): ... this. Rename the `on'
984 parameter to `insn32' and add an `ignore_branch_isa' parameter.
985 Handle the new parameter.
986
987 2017-01-27 Hans-Peter Nilsson <hp@axis.com>
988
989 * elf32-cris.c (elf_cris_finish_dynamic_symbol): Remove now unused
990 local variable dynobj.
991
992 PR ld/20995
993 * elf32-cris.c (elf_cris_size_dynamic_sections): Handle sdynrelro.
994 (elf_cris_adjust_dynamic_symbol): Place variables copied into the
995 executable from read-only sections into sdynrelro.
996 (elf_cris_finish_dynamic_symbol): Select sreldynrelro for
997 dynamic relocs in sdynrelro.
998 (elf_backend_want_dynrelro): Define.
999
1000 2017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
1001
1002 * config.bfd (*-*-rtemsaout*): Mark as removed.
1003
1004 2017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
1005
1006 * config.bfd (powerpcle-*-rtems*): Do not mark as removed.
1007 (arm-*-rtems*): Move to (arm*-*-eabi*).
1008 (i[3-7]86-*-rtems*): Move to (i[3-7]86-*-elf*).
1009 (m68-*-rtems*): Move to (m68*-*-elf*).
1010
1011 2017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
1012
1013 * config.bfd (*-*-rtemscoff*): Mark as removed.
1014
1015 2017-01-24 Maciej W. Rozycki <macro@imgtec.com>
1016
1017 PR ld/20828
1018 * elflink.c (bfd_elf_record_link_assignment): Revert last
1019 change and don't ever clear `forced_local'. Set `mark'
1020 unconditionally.
1021 (elf_gc_sweep_symbol_info, elf_gc_sweep_symbol): Reorder within
1022 file.
1023 (elf_gc_sweep): Move the call to `elf_gc_sweep_symbol'...
1024 (bfd_elf_size_dynamic_sections): ... here.
1025 * elf32-ppc.c (ppc_elf_tls_setup): Don't clear `forced_local'
1026 and set `mark' instead in `__tls_get_addr_opt' processing.
1027 * elf64-ppc.c (ppc64_elf_tls_setup): Likewise.
1028
1029 2017-01-24 Alan Modra <amodra@gmail.com>
1030
1031 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Merge two cases
1032 where dynamic relocs are preferable. Allow ifunc too.
1033 (ensure_undefweak_dynamic): New function.
1034 (allocate_dynrelocs): Use it here. Move plt handling last and
1035 don't make symbols dynamic, simplifying loop. Only make undef
1036 weak symbols with GOT entries dynamic. Correct condition
1037 for GOT relocs. Handle dynamic relocs on ifuncs. Correct
1038 comments. Remove goto.
1039 (ppc_elf_relocate_section): Correct test for using dynamic
1040 symbol on GOT relocs. Rearrange test for emitting GOT relocs
1041 to suit. Set up explicit tls_index entries and implicit GOT
1042 tls_index entries resolvable at link time for
1043 __tls_get_addr_opt. Simplify test to clear mem for prelink.
1044 * elf64-ppc.c (allocate_got): Correct condition for GOT relocs.
1045 (ensure_undefweak_dynamic): New function.
1046 (allocate_dynrelocs): Use it here. Only make undef weak symbols
1047 with GOT entries dynamic. Remove unnecessary test of
1048 WILL_CALL_FINISH_DYNAMIC_SYMBOL in PLT handling.
1049 (ppc64_elf_relocate_section): Correct test for using dynamic
1050 symbol on GOT relocs. Rearrange test for emitting GOT relocs
1051 to suit. Set up explicit tls_index entries and implicit GOT
1052 tls_index entries resolvable at link time for __tls_get_addr_opt.
1053 Simplify expression to clear mem for prelink.
1054
1055 2017-01-23 Yury Norov <ynorov@caviumnetworks.com>
1056
1057 * elfnn-aarch64.c: Fix relaxations for ILP32 mode.
1058
1059 2017-01-20 Jiong Wang <jiong.wang@arm.com>
1060
1061 * elfnn-aarch64.c (elf_aarch64_hash_symbol): New function.
1062 (elf_backend_hash_symbol): Define.
1063
1064 2017-01-18 Maciej W. Rozycki <macro@imgtec.com>
1065
1066 PR ld/20828
1067 * elflink.c (bfd_elf_record_link_assignment): Clear any
1068 `forced_local' marking for DSO symbols that are not being
1069 provided.
1070
1071 2017-01-17 Kuan-Lin Chen <kuanlinchentw@gmail.com>
1072
1073 * elfnn-riscv.c (riscv_elf_object_p): New function.
1074
1075 2017-01-12 H.J. Lu <hongjiu.lu@intel.com>
1076
1077 PR ld/21038
1078 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
1079 plt_bnd_eh_frame.
1080 (elf_x86_64_check_relocs): Create .eh_frame section for the
1081 .plt.bnd section.
1082 (elf_x86_64_size_dynamic_sections): Allocate and initialize
1083 .eh_frame section for the .plt.bnd section.
1084 (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section
1085 for the .plt.bnd section.
1086
1087 2017-01-12 Nick Clifton <nickc@redhat.com>
1088
1089 PR binutils/20876
1090 * opncls.c (find_separate_debug_file): Add include_dirs
1091 parameter. Only include the directory part of the bfd's filename
1092 in search paths if include_dirs is true. Add a couple of extra
1093 locations for looking for debug files.
1094 ( bfd_follow_gnu_debuglink): Update invocation of
1095 find_separate_debug_file.
1096 (bfd_follow_gnu_debugaltlink): Likewise.
1097 (get_build_id): New function: Finds the build-id of the given bfd.
1098 (get_build_id_name): New function: Computes the name of the
1099 separate debug info file for a bfd, based upon its build-id.
1100 (check_build_id_file): New function: Checks to see if a separate
1101 debug info file exists at the given location, and that its
1102 build-id matches that of the original bfd.
1103 (bfd_follow_build_id_debuglink): New function: Finds a separate
1104 debug info file for a given bfd by using the build-id method.
1105 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Try using the build-id
1106 method of locating a separate debug info file before using the
1107 debuglink method.
1108 * bfd-in2.h: Regenerate.
1109
1110 2017-01-11 H.J. Lu <hongjiu.lu@intel.com>
1111
1112 PR ld/21038
1113 * elf64-x86-64.c (elf_x86_64_eh_frame_bnd_plt): New.
1114 (elf_x86_64_bnd_arch_bed): Use elf_x86_64_eh_frame_bnd_plt and
1115 elf_x86_64_eh_frame_plt_got.
1116 (elf_x86_64_size_dynamic_sections): Get unwind info from
1117 elf_x86_64_bnd_arch_bed for the BND PLT.
1118
1119 2017-01-11 Jeremy Soller <jackpot51@gmail.com>
1120
1121 * config.bfd: Add entries for i686-redox and x86_64-redox.
1122
1123 2017-01-10 H.J. Lu <hongjiu.lu@intel.com>
1124
1125 * elf32-i386.c (elf_i386_check_relocs): Align .eh_frame section
1126 to 4 bytes.
1127 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
1128 .eh_frame section to 4 bytes for x32.
1129 (elf_x86_64_check_relocs): Likewise.
1130
1131 2017-01-10 H.J. Lu <hongjiu.lu@intel.com>
1132
1133 PR ld/20830
1134 * elf32-i386.c (elf_i386_eh_frame_plt_got): New.
1135 (PLT_GOT_FDE_LENGTH): Likewise.
1136 (elf_i386_plt_layout): Add eh_frame_plt_got and
1137 eh_frame_plt_got_size.
1138 (elf_i386_plt): Updated.
1139 (elf_i386_link_hash_table): Add plt_got_eh_frame.
1140 (elf_i386_check_relocs): Create .eh_frame section for .plt.got.
1141 (elf_i386_size_dynamic_sections): Allocate and initialize
1142 .eh_frame section for .plt.got.
1143 (elf_i386_finish_dynamic_sections): Adjust .eh_frame section for
1144 .plt.got.
1145 (elf_i386_nacl_plt): Add FIXME for eh_frame_plt_got and
1146 eh_frame_plt_got_size.
1147 * elf64-x86-64.c (elf_x86_64_eh_frame_plt_got): New.
1148 (PLT_GOT_FDE_LENGTH): Likewise.
1149 (elf_x86_64_backend_data): Add eh_frame_plt_got and
1150 eh_frame_plt_got_size.
1151 (elf_x86_64_arch_bed): Updated.
1152 (elf_x86_64_bnd_arch_bed): Add FIXME for eh_frame_plt_got and
1153 eh_frame_plt_got_size.
1154 (elf_x86_64_nacl_arch_bed): Likewise.
1155 (elf_x86_64_link_hash_table): Add plt_got_eh_frame.
1156 (elf_x86_64_check_relocs): Create .eh_frame section for .plt.got.
1157 (elf_x86_64_size_dynamic_sections): Allocate and initialize
1158 .eh_frame section for .plt.got.
1159 (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section
1160 for .plt.got.
1161
1162 2017-01-10 H.J. Lu <hongjiu.lu@intel.com>
1163
1164 * elf32-i386.c (elf_i386_size_dynamic_sections): Set
1165 plt_eh_frame->size to eh_frame_plt_size and use eh_frame_plt.
1166
1167 2017-01-09 Nick Clifton <nickc@redhat.com>
1168
1169 * dwarf2.c (lookup_address_in_function_table): Return early if
1170 there are no functions in the given comp unit, or if the high
1171 address of the last function in the comp unit is less than the
1172 desired address.
1173
1174 2017-01-09 Nick Clifton <nickc@redhat.com>
1175
1176 PR binutils/21013
1177 * coffgen.c (_bfd_coff_get_external_symbols): Generate an error
1178 message if there are too many symbols to load.
1179
1180 2017-01-04 James Clarke <jrtc27@jrtc27.com>
1181
1182 * elf64-alpha.c (elf64_alpha_relax_opt_call): Don't set tsec_free
1183 if relocs are cached.
1184
1185 2017-01-03 Rich Felker <bugdal@aerifal.cx>
1186
1187 PR ld/21017
1188 * elf32-microblaze.c (microblaze_elf_check_relocs): Add an entry
1189 for R_MICROBLAZE_GOTOFF_64.
1190
1191 2017-01-03 Nick Clifton <nickc@redhat.com>
1192
1193 * mach-o.c (bfd_mach_o_lookup_uuid_command): Fix compile time
1194 warning about using a possibly uninitialised variable.
1195
1196 2017-01-02 Alan Modra <amodra@gmail.com>
1197
1198 * elf32-hppa.c (ensure_undef_weak_dynamic): New function.
1199 (allocate_plt_static, allocate_dynrelocs): Use it.
1200
1201 2017-01-02 Alan Modra <amodra@gmail.com>
1202
1203 * elf-hppa.h (elf_hppa_fake_sections): Set SHF_INFO_LINK for
1204 .PARISC.unwind section.
1205
1206 2017-01-02 Alan Modra <amodra@gmail.com>
1207
1208 PR ld/20989
1209 * elfxx-sparc.c (gdop_relative_offset_ok): New function.
1210 (_bfd_sparc_elf_relocate_section): Use it to validate GOT
1211 indirect to GOT pointer relative code edit.
1212
1213 2017-01-02 Alan Modra <amodra@gmail.com>
1214
1215 Update year range in copyright notice of all files.
1216
1217 For older changes see ChangeLog-2016
1218 \f
1219 Copyright (C) 2017 Free Software Foundation, Inc.
1220
1221 Copying and distribution of this file, with or without modification,
1222 are permitted in any medium without royalty provided the copyright
1223 notice and this notice are preserved.
1224
1225 Local Variables:
1226 mode: change-log
1227 left-margin: 8
1228 fill-column: 74
1229 version-control: never
1230 End:
This page took 0.056819 seconds and 3 git commands to generate.