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