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