Reduce parameter list in bfd_elf32_arm_target_relocs
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 2016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
2
3 * bfd-in.h (struct elf32_arm_params): Define.
4 (bfd_elf32_arm_set_target_relocs): Rename into ...
5 (bfd_elf32_arm_set_target_params): This. Use a struct
6 elf32_arm_params to pass all parameters but the bfd and bfd_link_info.
7 * bfd-in2.h: Regenerate.
8 * elf32-arm.c (bfd_elf32_arm_set_target_relocs): Rename into ...
9 (bfd_elf32_arm_set_target_params): This. Pass all values via a struct
10 elf32_arm_params rather than as individual parameters.
11
12 2016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
13
14 * elf32-arm.c (elf32_arm_get_stub_entry): Assert that we don't access
15 passed the end of htab->stub_group array.
16 (elf32_arm_create_or_find_stub_sec): Likewise.
17 (elf32_arm_create_stub): Likewise.
18
19 2016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
20
21 * elf32-arc.c (elf_arc_relocate_section): Changed. Set should_relocate
22 to TRUE for GOT and TLS relocs.
23
24 2016-08-26 Cupertino Miranda <cmiranda@synospsys.com>
25
26 * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
27
28 2016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
29
30 * elf-bfd.h: Added ARC_ELF_DATA to enum elf_target_id.
31 * elf32-arc.c (struct elf_arc_link_hash_entry): Added.
32 (struct elf_arc_link_hash_table): Likewise.
33 (elf_arc_link_hash_newfunc): Likewise.
34 (elf_arc_link_hash_table_free): Likewise.
35 (arc_elf_link_hash_table_create): Likewise.
36 (elf_arc_relocate_section): Fixed conditions related to dynamic
37 (elf_arc_check_relocs): Likewise.
38 (arc_elf_create_dynamic_sections): Added
39 (elf_arc_adjust_dynamic_symbol): Changed access to .rela.bss to be done
40 through the hash table.
41
42 2016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
43
44 * arc-got.h (relocate_fix_got_relocs_for_got_info): Fixed addresses in
45 debug comments. Fixed address in .got related to TLS_IE_GOT dynamic
46 relocation.
47
48 2016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
49
50 * reloc.c: Fixed type in ARC_SECTOFF relocations. Added ARC_SDA_12
51 relocation.
52 * bfd-in2.h: Regenerated from the previous changes.
53 * libbfd.h: Regenerated from the previous changes.
54
55 2016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
56
57 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add a new parameter for
58 the input import library bfd.
59 * bfd-in2.h: Regenerate.
60 * elf32-arm.c (struct elf32_arm_link_hash_table): New in_implib_bfd
61 and new_cmse_stub_offset fields.
62 (stub_hash_newfunc): Initialize stub_offset and stub_template_size to
63 -1.
64 (elf32_arm_add_stub): Likewise for stub_offset.
65 (arm_new_stubs_start_offset_ptr): New function.
66 (arm_build_one_stub): Only allocate a stub_offset if it is -1. Allow
67 empty SG veneers to have zero relocations.
68 (arm_size_one_stub): Only initialize stub size and template
69 information for non empty veneers. Do not update veneer section size
70 if veneer already has an offset.
71 (elf32_arm_create_stub): Return the stub entry pointer or NULL instead
72 of a boolean indicating success or failure.
73 (cmse_scan): Change stub_changed parameter into an integer pointer
74 parameter cmse_stub_created to count the number of stub created and
75 adapt to change of return value in elf32_arm_create_stub.
76 (cmse_entry_fct_p): New function.
77 (arm_list_new_cmse_stub): Likewise.
78 (set_cmse_veneer_addr_from_implib): Likewise.
79 (elf32_arm_size_stubs): Define cmse_stub_created, pass its address to
80 cmse_scan instead of that of cmse_stub_changed to compute the number
81 of stub created and use it to initialize stub_changed. Call
82 set_cmse_veneer_addr_from_implib after all cmse_scan. Adapt to change
83 of return value in elf32_arm_create_stub. Use
84 arm_stub_section_start_offset () if not NULL to initialize size of
85 secure gateway veneers section. Initialize stub_offset of Cortex-A8
86 erratum fix to -1. Use ret to hold return value.
87 (elf32_arm_build_stubs): Use arm_stub_section_start_offset () if not
88 NULL to initialize size of secure gateway veneers section. Adapt
89 comment to stress the importance of zeroing veneer section content.
90 (bfd_elf32_arm_set_target_relocs): Add new in_implib_bfd parameter to
91 initialize eponymous field in struct elf32_arm_link_hash_table.
92
93 2016-08-25 Andreas Arnez <arnez@linux.vnet.ibm.com>
94
95 * elf32-s390.c (stdarg.h): New include.
96 (elf_s390_grok_psinfo): New function.
97 (elf_s390_write_core_note): New function.
98 (elf_backend_grok_psinfo): Declare backend hook.
99 (elf_backend_write_core_note): Likewise.
100 * elf64-s390.c (stdarg.h): New include.
101 (elf_s390_grok_prstatus): New function.
102 (elf_s390_grok_psinfo): New function.
103 (elf_s390_write_core_note): New function.
104 (elf_backend_grok_prstatus): Declare backend hook.
105 (elf_backend_grok_psinfo): Likewise.
106 (elf_backend_write_core_note): Likewise.
107
108 2016-08-25 Andreas Arnez <arnez@linux.vnet.ibm.com>
109
110 * elf32-s390.c (allocate_dynrelocs): Fix indentation.
111 (elf_s390_finish_ifunc_symbol): Likewise.
112 (elf_s390_finish_dynamic_symbol): Likewise.
113 (elf_s390_finish_dynamic_sections): Likewise.
114 (elf_s390_grok_prstatus): Likewise.
115 * elf64-s390.c (elf_s390_hash_table): Fix indentation.
116 (elf_s390_finish_dynamic_symbol): Likewise.
117
118 2016-08-24 Anton Kolesov <Anton.Kolesov@synopsys.com>
119
120 * elf32-arc.c (elf32_arc_grok_prstatus): New function.
121
122 2016-08-23 Nick Clifton <nickc@redhat.com>
123
124 * elf32-arm.c (elf32_arm_count_additional_relocs): Return zero if
125 there is no arm data associated with the section.
126
127 2016-08-23 Alan Modra <amodra@gmail.com>
128
129 PR 20475
130 * elf32-or1k.c (or1k_elf_relocate_section): Offset from
131 _GLOBAL_OFFSET_TABLE_, not start of .got section.
132
133 2016-08-22 Nick Clifton <nickc@redhat.com>
134
135 * doc/chew.c (main): Free the string buffer used to files as they
136 are parsed.
137
138 2016-08-22 Alan Modra <amodra@gmail.com>
139
140 * elf32-ppc.c (ppc_elf_check_relocs): Move error for @local ifunc..
141 (ppc_elf_relocate_section): ..to here. Comment. Error on
142 detecting -mbss-plt -fPIC local ifuncs too.
143 (ppc_elf_size_dynamic_sections): Comment on unnecessary glink
144 branch table entries.
145
146 2016-08-19 Nick Clifton <nickc@redhat.com>
147
148 * elf.c (assign_section_numbers): Assign number for the .shstrtab
149 section after the symbol table and string table sections.
150
151 2016-08-19 Alan Modra <amodra@gmail.com>
152
153 * elf64-ppc.c (struct ppc_link_hash_entry): Add weakref.
154 (ppc64_elf_copy_indirect_symbol): Set weakref. Don't merge
155 dyn_relocs for weakdefs.
156 (alias_readonly_dynrelocs): New function.
157 (ppc64_elf_adjust_dynamic_symbol): Use alias_readonly_dynrelocs.
158 (ppc64_elf_relocate_section): Simplify condition under which
159 dyn_relocs are emitted.
160
161 2016-08-19 Alan Modra <amodra@gmail.com>
162
163 PR 20472
164 * elf64-ppc.c (ppc64_elf_before_check_relocs): Tweak abiversion test.
165 (readonly_dynrelocs): Comment fix.
166 (global_entry_stub): New function.
167 (ppc64_elf_adjust_dynamic_symbol): Tweak abiversion test. Match
168 ELFv2 code deciding on dynamic relocs vs. global entry stubs to
169 that in size_global_entry_stubs, handling ifunc too. Delete dead
170 weak sym code.
171 (allocate_dynrelocs): Ensure dyn_relocs field is cleared when no
172 dyn_relocs are needed. Correct handling of ifunc dyn_relocs.
173 Tidy ELIMINATE_COPY_RELOCS code, only setting dynindx for
174 undefweak syms. Expand and correct comments.
175 (size_global_entry_stubs): Ensure symbol is defined.
176 (ppc64_elf_relocate_section): Match condition under which
177 dyn_relocs are emitted to that in allocate_dynrelocs.
178
179 2016-08-12 Alan Modra <amodra@gmail.com>
180
181 * elf-bfd.h (struct elf_link_hash_table): Add local_dynsymcount.
182 * elflink.c (_bfd_elf_link_renumber_dynsyms): Set local_dynsymcount.
183 (bfd_elf_final_link): Set .dynsym sh_info from local_dynsymcount.
184
185 2016-08-11 Alan Modra <amodra@gmail.com>
186
187 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't exit with
188 non_got_ref true in any case where we could have generated dynbss
189 copies but decide not to do so.
190
191 2016-08-10 Maciej W. Rozycki <macro@imgtec.com>
192
193 * elfxx-mips.c (mips_elf_add_la25_stub): Clear the ISA bit of
194 the stub address retrieved if associated with a microMIPS
195 function.
196
197 2016-08-10 Maciej W. Rozycki <macro@imgtec.com>
198
199 * elfxx-mips.c (mips_elf_create_stub_symbol): For a microMIPS
200 stub also add STO_MICROMIPS annotation.
201
202 2016-08-10 Maciej W. Rozycki <macro@imgtec.com>
203
204 * elfxx-mips.c (mips_elf_calculate_relocation): Set the ISA bit
205 in microMIPS LA25 stub references.
206
207 2016-08-09 Jiaming Wei <jmwei@hxgpt.com>
208
209 * elf64-alpha.c (elf64_alpha_copy_indirect_symbol): Fix thinko
210 adjusting the use_count of merged .got entries.
211
212 2016-08-08 Nick Clifton <nickc@redhat.com>
213
214 * doc/chew.c (delete_string): Only free the string buffer if it is
215 there. Mark the buffer as NULL after freeing.
216 (drop): Free the dropped string.
217 (free_words): New function: Frees the memory allocated to the
218 dictionary.
219 (add_instrinsic): Duplicate the name string, so that it can be
220 freed later on.
221 (compile): Free unused words.
222 (main): Free the dictionary and top level string buffers at the
223 end.
224
225 2016-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
226
227 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add one parameter.
228 * bfd-in2.h: Regenerate.
229 * elf32-arm.c (struct elf32_arm_link_hash_table): Declare new
230 cmse_implib field.
231 (bfd_elf32_arm_set_target_relocs): Add new parameter to initialize
232 cmse_implib field in struct elf32_arm_link_hash_table.
233 (elf32_arm_filter_cmse_symbols): New function.
234 (elf32_arm_filter_implib_symbols): Likewise.
235 (elf_backend_filter_implib_symbols): Define to
236 elf32_arm_filter_implib_symbols.
237
238 2016-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
239
240 * elf32-arm.c (CMSE_PREFIX): Define macro.
241 (elf32_arm_stub_cmse_branch_thumb_only): Define stub sequence.
242 (cmse_branch_thumb_only): Declare stub.
243 (struct elf32_arm_link_hash_table): Define cmse_stub_sec field.
244 (elf32_arm_get_plt_info): Add globals parameter. Use it to return
245 FALSE if there is no PLT.
246 (arm_type_of_stub): Adapt to new elf32_arm_get_plt_info signature.
247 (elf32_arm_final_link_relocate): Likewise.
248 (elf32_arm_gc_sweep_hook): Likewise.
249 (elf32_arm_gc_mark_extra_sections): Mark sections holding ARMv8-M
250 secure entry functions.
251 (arm_stub_is_thumb): Add case for arm_stub_cmse_branch_thumb_only.
252 (arm_dedicated_stub_output_section_required): Change to a switch case
253 and add a case for arm_stub_cmse_branch_thumb_only.
254 (arm_dedicated_stub_output_section_required_alignment): Likewise.
255 (arm_stub_dedicated_output_section_name): Likewise.
256 (arm_stub_dedicated_input_section_ptr): Likewise and remove
257 ATTRIBUTE_UNUSED for htab parameter.
258 (arm_stub_required_alignment): Likewise.
259 (arm_stub_sym_claimed): Likewise.
260 (arm_dedicated_stub_section_padding): Likewise.
261 (cmse_scan): New function.
262 (elf32_arm_size_stubs): Call cmse_scan for ARM M profile targets.
263 Set stub_changed to TRUE if such veneers were created.
264 (elf32_arm_swap_symbol_in): Add detection code for CMSE special
265 symbols.
266
267 2016-08-02 Alan Modra <amodra@gmail.com>
268
269 PR ld/20428
270 * elf64-ppc.c (ppc_get_stub_entry): Don't segfault on NULL group.
271
272 2016-08-02 Nick Clifton <nickc@redhat.com>
273
274 PR ld/17739
275 * elf32-sh.c (sh_elf_gc_sweep_hook): Delete.
276 (elf_backend_sweep_hook): Delete.
277
278 2016-08-01 Andrew Jenner <andrew@codesourcery.com>
279 Kwok Cheung Yeung <kcy@codesourcery.com>
280
281 * elf32-ppc.c (is_branch_reloc): Recognise VLE branch relocations.
282 (ppc_elf_howto_raw): Fix dst_mask of R_PPC_VLE_REL15.
283 (ppc_elf_vle_split16): Clear field before inserting.
284
285 2016-08-01 Nick Clifton <nickc@redhat.com>
286
287 * po/sv.po: Updated Swedish translation.
288
289 2016-07-27 Ozkan Sezer <sezeroz@gmail.com>
290 Nick Clifton <nickc@redhat.com>
291
292 PR ld/20401
293 * coffgen.c (fini_reloc_cookie_rels): Check for the extistence
294 of the coff_section_data before using it.
295
296 2016-07-26 Maciej W. Rozycki <macro@imgtec.com>
297
298 * elfxx-mips.c (mips_elf_calculate_relocation): Handle branches
299 in PLT compression selection.
300 (_bfd_mips_elf_check_relocs): Likewise.
301
302 2016-07-22 Cupertino Miranda <cmiranda@synopsys.com>
303
304 * arc-got.h (relocate_fix_got_relocs_for_got_info): Handle the
305 case where there's no elf_link_hash_entry while processing
306 GOT_NORMAL got entries.
307
308 2016-07-21 H.J. Lu <hongjiu.lu@intel.com>
309
310 * version.m4 (BFD_VERSION): Set to 2.27.51.
311 * configure: Regenerated.
312
313 2016-07-21 Nick Clifton <nickc@redhat.com>
314
315 * elf.c (_bfd_elf_filter_global_symbols): Skip local symbols.
316 (swap_out_syms): Return an error when not finding ELF output
317 section rather than asserting.
318
319 2016-07-21 Thomas Preud'homme <thomas.preudhomme@arm.com>
320
321 * elflink.c (elf_output_implib): Call bfd_set_error on no symbols.
322
323 2016-07-20 John Baldwin <jhb@FreeBSD.org>
324
325 * elf.c (elfcore_grok_freebsd_psinfo): Check for minimum note size
326 and handle pr_pid if present.
327
328 2016-07-20 H.J. Lu <hongjiu.lu@intel.com>
329
330 PR ld/20376
331 * elf.c (assign_file_positions_for_load_sections): Also check
332 p_paddr for program header space.
333
334 2016-07-20 Alan Modra <amodra@gmail.com>
335
336 * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_PLTREL32>): Put
337 ppc64_elf_unhandled_reloc for special_function.
338 * elf32-ppc.c (ppc_elf_howto_raw): Similarly for lots of relocs.
339
340 2016-07-19 Maciej W. Rozycki <macro@imgtec.com>
341
342 * elfxx-mips.c (mips_elf_perform_relocation): Convert cross-mode
343 BAL to JALX.
344 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add a
345 corresponding error message.
346
347 2016-07-19 Maciej W. Rozycki <macro@imgtec.com>
348
349 * elfxx-mips.c (b_reloc_p): Add R_MICROMIPS_PC16_S1,
350 R_MICROMIPS_PC10_S1 and R_MICROMIPS_PC7_S1.
351 (branch_reloc_p): New function.
352 (mips_elf_calculate_relocation): Handle ISA mode determination
353 for relocations against section symbols, against absolute
354 symbols and absolute relocations. Also set `*cross_mode_jump_p'
355 for branches.
356 <R_MIPS16_26, R_MIPS_26, R_MICROMIPS_26_S1>: Suppress alignment
357 checks for weak undefined symbols. Also check target alignment
358 within the same ISA mode.
359 <R_MIPS_PC16, R_MIPS_GNU_REL16_S2>: Handle cross-mode branches
360 in the alignment check.
361 <R_MICROMIPS_PC7_S1>: Add an alignment check.
362 <R_MICROMIPS_PC10_S1>: Likewise.
363 <R_MICROMIPS_PC16_S1>: Likewise.
364 (mips_elf_perform_relocation): Report a failure for unsupported
365 same-mode JALX instructions and cross-mode branches.
366 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add
367 error messages for jumps to misaligned addresses.
368
369 2016-07-16 Alan Modra <amodra@gmail.com>
370
371 * elflink.c: Include plugin-api.h.
372 * plugin.c (bfd_plugin_open_input): New function, extracted from..
373 (try_claim): ..here.
374 * plugin.h: Don't include bfd.h.
375 (bfd_plugin_open_input): Declare.
376
377 2016-07-16 Alan Modra <amodra@gmail.com>
378
379 * targets.c (bfd_seach_for_target): Rename to..
380 (bfd_iterate_over_targets): ..this. Rewrite doc.
381 * bfd-in2.h: Regenerate.
382
383 2016-07-16 Alan Modra <amodra@gmail.com>
384
385 * archures.c (bfd_default_set_arch_mach): Make available in bfd.h.
386 * libbfd.h: Regenerate.
387 * bfd-in2.h: Regenerate.
388
389 2016-07-16 Alan Modra <amodra@gmail.com>
390
391 * libbfd-in.h (BFD_ALIGN): Move to..
392 * bfd-in.h: ..here.
393 * elf32-ppc.h (struct ppc_elf_params): Add pagesize.
394 * elf32-ppc.c (default_params): Adjust init.
395 (ppc_elf_link_params): Set pagesize_p2.
396 * libbfd.h: Regenerate.
397 * bfd-in2.h: Regenerate.
398
399 2016-07-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
400
401 * elf-bfd.h (elf_backend_filter_implib_symbols): Declare backend hook.
402 (_bfd_elf_filter_global_symbols): Declare.
403 * elf.c (_bfd_elf_filter_global_symbols): New function.
404 * elflink.c (elf_filter_global_symbols): Likewise.
405 (elf_output_implib): Likewise.
406 (bfd_elf_final_link): Call above function, failing if it does.
407 * elfxx-target.h (elf_backend_filter_implib_symbols): Define macro and
408 default it to NULL.
409 (elf_backend_copy_indirect_symbol): Fix spacing.
410 (elf_backend_hide_symbol): Likewise.
411 (elfNN_bed): Initialize elf_backend_filter_implib_symbols backend hook.
412
413 2016-07-15 Andrew Burgess <andrew.burgess@embecosm.com>
414 Nick Clifton <nickc@redhat.com>
415
416 * elf32-arc.c (PR_DEBUG): Delete.
417 Fix printing of debug information. Fix formatting of debug
418 statements.
419 (debug_arc_reloc): Handle symbols that are not from an input file.
420 (arc_do_relocation): Remove excessive exclamation points.
421
422 * arc-got.h: Fix formatting. Fix printing of debug information.
423 (new_got_entry_to_list): Use xmalloc.
424 * config.bfd: use the big-endian arc vector as the default vector
425 for big-endian arc targets.
426
427 2016-07-15 Alan Modra <amodra@gmail.com>
428
429 * cofflink.c (mark_relocs): Exclude relocs with -1 r_symndx
430 from marking sym_indices.
431
432 2016-07-14 Maciej W. Rozycki <macro@imgtec.com>
433
434 * reloc.c (bfd_perform_relocation): Try the `howto' handler
435 first with relocations against absolute symbols.
436 (bfd_install_relocation): Likewise.
437
438 2016-07-12 H.J. Lu <hongjiu.lu@intel.com>
439
440 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
441 .got/.got.plt sections to 8 bytes.
442
443 2016-07-12 Nick Clifton <nickc@redhat.com>
444
445 * binary.c (binary_set_section_contents): Second grammar fix.
446
447 2016-07-12 Douglas B Rupp <rupp@adacore.com>
448
449 * binary.c (binary_set_section_contents): Fix grammar in warning
450 message.
451
452 2016-07-11 Cupertino Miranda <cmiranda@synopsys.com>
453
454 * elf32-arc.c: made PR_DEBUG always defined.
455
456 2016-07-11 Cupertino Miranda <cmiranda@synopsys.com>
457
458 * arc-got.h: Moved got related structures from elf32-arc.c to
459 this file. More precisely, tls_type_e, tls_got_entries, got_entry.
460 * (arc_get_local_got_ents, got_entry_for_type, new_got_entry_to_list,
461 tls_type_for_reloc, symbol_has_entry_of_type,
462 get_got_entry_list_for_symbol, arc_got_entry_type_for_reloc,
463 ADD_SYMBOL_REF_SEC_AND_RELOC, rc_fill_got_info_for_reloc,
464 relocate_fix_got_relocs_for_got_info,
465 create_got_dynrelocs_for_single_entry,
466 create_got_dynrelocs_for_got_info): Added to file.
467 * elf32-arc.c: Removed GOT & TLS related structs and functions to
468 arc-got.h.
469
470 2016-07-08 James Bowman <james.bowman@ftdichip.com>
471
472 * elf32-ft32.c (ft32_reloc_map): Use R_FT32_32 for BFD_RELOC_32.
473
474 2016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com>
475
476 * elf32-arm.c (THUMB32_MOVT): New veneer macro.
477 (THUMB32_MOVW): Likewise.
478 (elf32_arm_stub_long_branch_thumb2_only_pure): New.
479 (DEF_STUBS): Define long_branch_thumb2_only_pure.
480 (arm_stub_is_thumb): Add new veneer stub.
481 (arm_type_of_stub): Use new veneer.
482 (arm_stub_required_alignment): Add new veneer.
483
484 2016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com>
485
486 * bfd-in2.h (SEC_ELF_NOREAD): Rename to ...
487 (SEC_ELF_PURECODE): ... this.
488 * elf32-arm.c (elf32_arm_post_process_headers): Rename SEC_ELF_NOREAD
489 to SEC_ELF_NOREAD.
490 (elf32_arm_fake_sections): Likewise.
491 (elf_32_arm_section_flags): Likewise.
492 (elf_32_arm_lookup_section_flags): Likewise.
493 * section.c (SEC_ELF_NOREAD): Rename to ...
494 (SEC_ELF_PURECODE): ... this.
495
496 2016-07-01 Thomas Preud'homme <thomas.preudhomme@arm.com>
497
498 * elf32-arm.c (using_thumb2_bl): New function.
499 (arm_type_of_stub): Declare thumb2 variable together and change type
500 to bfd_boolean. Use using_thumb2_bl () to determine whether
501 THM_MAX_FWD_BRANCH_OFFSET or THM2_MAX_FWD_BRANCH_OFFSET should be
502 checked for BL range.
503 (elf32_arm_final_link_relocate): Use using_thumb2_bl () to determine
504 the bit size of BL offset.
505
506 2016-06-29 Nick Clifton <nickc@redhat.com>
507
508 * elfnn-aarch64.c (is_aarch64_mapping_symbol): New function.
509 Returns TRUE for AArch64 mapping symbols.
510 (elfNN_aarch64_backend_symbol_processing): New function. Marks
511 mapping symbols as precious in object files so that they will not
512 be stripped.
513 (elf_backend_symbol_processing): Define.
514
515 * elf32-arm.c (is_arm_mapping_symbol): New function. Returns TRUE
516 for ARM mapping symbols.
517 (elf32_arm_backend_symbol_processing): Make use of the new function.
518
519 2016-06-28 H.J. Lu <hongjiu.lu@intel.com>
520
521 PR ld/20306
522 * elflink.c (elf_link_check_versioned_symbol): Return false
523 for unreferenced undefined symbol.
524
525 2016-06-28 Nick Clifton <nickc@redhat.com>
526
527 * elf32-bfin.c (bfin_adjust_dynamic_symbol): Fail if a COPY reloc
528 is needed.
529
530 * elf32-arm.c (elf32_arm_backend_symbol_processing): New
531 function. Marks mapping symbols in object files as precious, so
532 that strip will not remove them.
533 (elf_backend_symbol_processing): Define.
534
535 2016-06-28 James Clarke <jrtc27@jrtc27.com>
536
537 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert
538 R_SPARC_32 to R_SPARC_RELATIVE if class is ELFCLASS64.
539
540 2016-06-28 Maciej W. Rozycki <macro@imgtec.com>
541
542 * elf32-mips.c (elf_mips16_howto_table_rel): Add
543 R_MIPS16_PC16_S1.
544 (mips16_reloc_map): Likewise.
545 * elf64-mips.c (mips16_elf64_howto_table_rel): Likewise.
546 (mips16_elf64_howto_table_rela): Likewise.
547 (mips16_reloc_map): Likewise.
548 * elfn32-mips.c (elf_mips16_howto_table_rel): Likewise.
549 (elf_mips16_howto_table_rela): Likewise.
550 (mips16_reloc_map): Likewise.
551 * elfxx-mips.c (mips16_branch_reloc_p): New function.
552 (mips16_reloc_p): Handle R_MIPS16_PC16_S1.
553 (b_reloc_p): Likewise.
554 (mips_elf_calculate_relocation): Likewise.
555 (_bfd_mips_elf_check_relocs): Likewise.
556 * reloc.c (BFD_RELOC_MIPS16_16_PCREL_S1): New relocation.
557 * bfd-in2.h: Regenerate.
558 * libbfd.h: Regenerate.
559
560 2016-06-27 Alan Modra <amodra@gmail.com>
561
562 PR ld/19264
563 * elf64-ppc.c (STUB_SHRINK_ITER): Define.
564 (ppc64_elf_size_stubs): Exit stub sizing loop past STUB_SHRINK_ITER
565 if shrinking stubs.
566 (ppc64_elf_size_stubs): Adjust to suit.
567
568 2016-06-27 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
569
570 * elf32-dlx.h: New file.
571 * elf32-dlx.c: Adjust.
572
573 2016-06-25 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
574
575 * elf32-xtensa.c (xtensa_make_property_section): Remove prototype.
576
577 2016-06-24 John Baldwin <jhb@FreeBSD.org>
578
579 * elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PROCSTAT_AUXV
580 notes.
581
582 2016-06-24 John Baldwin <jhb@FreeBSD.org>
583
584 * elf.c (elfcore_grok_note): Remove handling of NT_X86_XSTATE for
585 FreeBSD. Remove case for NT_FREEBSD_THRMISC.
586 (elfcore_grok_freebsd_psinfo): New function.
587 (elfcore_grok_freebsd_prstatus): New function.
588 (elfcore_grok_freebsd_note): New function.
589 (elf_parse_notes): Use "elfcore_grok_freebsd_note" for "FreeBSD"
590 notes.
591
592 2016-06-24 Joel Brobecker <brobecker@adacore.com>
593
594 * elflink.c: Check the value of BFD_SUPPORTS_PLUGINS rather
595 than its existance.
596
597 2016-06-24 Alan Modra <amodra@gmail.com>
598
599 * config.bfd: Delete mips vxworks patterns matched earlier.
600 Combine mips*-*-none with mips*-*-elf*.
601
602 2016-06-21 Maciej W. Rozycki <macro@imgtec.com>
603
604 * elfxx-mips.c (mips_elf_perform_relocation): Call
605 `info->callbacks->einfo' rather than `*_bfd_error_handler' and
606 use the `%X%H' format for the cross-mode jump conversion error
607 message. Remove the full stop from the end of the message.
608 Continue processing rather than returning failure.
609
610 2016-06-21 Graham Markall <graham.markall@embecosm.com>
611
612 * archures.c: Remove bfd_mach_arc_nps400.
613 * bfd-in2.h: Likewise.
614 * cpu-arc.c (arch_info_struct): Likewise.
615 * elf32-arc.c (arc_elf_object_p, arc_elf_final_write_processing):
616 Likewise.
617
618 2016-06-20 H.J. Lu <hongjiu.lu@intel.com>
619
620 PR ld/18250
621 PR ld/20267
622 * elflink.c: Include plugin.h if BFD_SUPPORTS_PLUGINS is
623 defined.
624 (elf_link_is_defined_archive_symbol): Call
625 bfd_link_plugin_object_p on unknown plugin object and use the
626 IR symbol table if the input is an IR object.
627 * plugin.c (bfd_link_plugin_object_p): New function.
628 * plugin.h (bfd_link_plugin_object_p): New prototype.
629
630 2016-06-20 H.J. Lu <hongjiu.lu@intel.com>
631
632 PR ld/20276
633 * elflink.c (elf_link_add_object_symbols): Don't check alignment
634 on symbol from plugin dummy input.
635
636 2016-06-18 H.J. Lu <hongjiu.lu@intel.com>
637
638 * bfd.c (bfd_plugin_format): Rename bfd_plugin_uknown to
639 bfd_plugin_unknown.
640 * bfd-in2.h: Regenerated.
641 * plugin.c (bfd_plugin_object_p): Replace bfd_plugin_uknown
642 with bfd_plugin_unknown.
643
644 2016-06-18 H.J. Lu <hongjiu.lu@intel.com>
645
646 PR ld/20253
647 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add an
648 bfd_boolean argument.
649 * elf-ifunc.c (_bfd_elf_create_ifunc_sections): Replace
650 "shared object" with "PIC object" in comments.
651 (_bfd_elf_allocate_ifunc_dyn_relocs): Updated. Replace
652 "shared object" with "PIC object" in comments. Avoid PLT if
653 requested. Generate dynamic relocations for non-GOT references.
654 Make room for the special first entry in PLT and allocate PLT
655 entry only for PLT and PC-relative references. Store dynamic
656 GOT relocations in .rel[a].iplt section for static executables.
657 If PLT isn't used, always use GOT for symbol value. Don't
658 allocate GOT entry if it isn't used.
659 * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
660 count only in the code section. Allocate dynamic pointer
661 relocation against STT_GNU_IFUNC symbol in the non-code section.
662 (elf_i386_adjust_dynamic_symbol): Increment PLT reference count
663 only for PC-relative references.
664 (elf_i386_allocate_dynrelocs): Pass TRUE to
665 _bfd_elf_allocate_ifunc_dyn_relocs.
666 (elf_i386_relocate_section): Allow R_386_GOT32/R_386_GOT32X
667 relocations against STT_GNU_IFUNC symbols without PLT. Generate
668 dynamic pointer relocation against STT_GNU_IFUNC symbol in
669 the non-code section and store it in the proper REL section.
670 Don't allow non-pointer relocation against STT_GNU_IFUNC symbol
671 without PLT.
672 (elf_i386_finish_dynamic_symbol): Generate dynamic
673 R_386_IRELATIVE and R_386_GLOB_DAT GOT relocations against
674 STT_GNU_IFUNC symbols without PLT.
675 (elf_i386_finish_dynamic_sections): Don't handle local
676 STT_GNU_IFUNC symbols here.
677 (elf_i386_output_arch_local_syms): Handle local STT_GNU_IFUNC
678 symbols here.
679 (elf_backend_output_arch_local_syms): New.
680 * elf32-x86-64.c (elf_i386_check_relocs): Increment PLT reference
681 count only in the code section. Allocate dynamic pointer
682 relocation against STT_GNU_IFUNC symbol in the non-code section.
683 (elf_x86_64_adjust_dynamic_symbol): Increment PLT reference
684 count only for PC-relative references.
685 (elf_x86_64_allocate_dynrelocs): Pass TRUE to
686 _bfd_elf_allocate_ifunc_dyn_relocs.
687 (elf_x86_64_relocate_section): Allow R_X86_64_GOTPCREL,
688 R_X86_64_GOTPCRELX, R_X86_64_REX_GOTPCRELX and
689 R_X86_64_GOTPCREL64 relocations against STT_GNU_IFUNC symbols
690 without PLT. Generate dynamic pointer relocation against
691 STT_GNU_IFUNC symbol in the non-code section and store it in
692 the proper RELA section. Don't allow non-pointer relocation
693 against STT_GNU_IFUNC symbol without PLT.
694 (elf_x86_64_finish_dynamic_symbol): Generate dynamic
695 R_X86_64_IRELATIVE and R_X86_64_GLOB_DAT GOT relocations against
696 STT_GNU_IFUNC symbols without PLT.
697 (elf_x86_64_finish_dynamic_sections): Don't handle local
698 STT_GNU_IFUNC symbols here.
699 (elf_x86_64_output_arch_local_syms): Handle local STT_GNU_IFUNC
700 symbols here.
701 (elf_backend_output_arch_local_syms): New.
702 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
703 Pass FALSE to _bfd_elf_allocate_ifunc_dyn_relocs.
704
705 2016-06-17 Thomas Preud'homme <thomas.preudhomme@arm.com>
706 Tony Wang <tony.wang@arm.com>
707
708 * elf32-arm.c (elf32_arm_stub_long_branch_thumb2_only): Define stub
709 sequence.
710 (stub_long_branch_thumb2_only): Define stub.
711 (arm_stub_is_thumb): Add case for arm_stub_long_branch_thumb2_only.
712 (arm_stub_long_branch_thumb2_only): Likewise.
713 (arm_type_of_stub): Use arm_stub_long_branch_thumb2_only for Thumb-2
714 capable targets.
715
716 2016-06-17 Jose E. Marchesi <jose.marchesi@oracle.com>
717
718 * archures.c (bfd_mach_sparc_v8plusc): Define.
719 (bfd_mach_sparc_v9c): Likewise.
720 (bfd_mach_sparc_v8plusd): Likewise.
721 (bfd_mach_sparc_v9d): Likewise.
722 (bfd_mach_sparc_v8pluse): Likewise.
723 (bfd_mach_sparc_v9e): Likewise.
724 (bfd_mach_sparc_v8plusv): Likewise
725 (bfd_mach_sparc_v9v): Likewise.
726 (bfd_mach_sparc_v8plusm): Likewise.
727 (bfd_mach_sparc_v9m): Likewise.
728 (bfd_mach_sparc_v9_p): Adapt to v8plusm and v9m.
729 (bfd_mach_sparc_64bit_p): Likewise.
730 * bfd-in2.h: Regenerate.
731 * cpu-sparc.c (arch_info_struct): Add entries for
732 bfd_mach_sparc_v8plus{c,d,e,v,m} and bfd_mach_sparc_v9{c,d,e,v,m}.
733 * aoutx.h (machine_type): Handle bfd_mach_sparc_v8plus{c,d,e,v,m}
734 and bfd_mach_sparc_v9{c,d,e,v,m}.
735 * elf32-sparc.c (elf32_sparc_final_write_processing): Likewise.
736 * elfxx-sparc.c (_bfd_sparc_elf_object_p): Likewise.
737
738 2016-06-16 H.J. Lu <hongjiu.lu@intel.com>
739
740 * elf32-i386.c (elf_i386_check_relocs): Don't check undefined
741 symbols for relocations against IFUNC symbols.
742 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
743
744 2016-06-16 Marcin Kościelnicki <koriakin@0x04.net>
745
746 * elf32-s390.c (elf_s390_finish_dynamic_sections): Include
747 .rela.iplt in DT_PLTRELSZ.
748 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise,
749 for DT_PLTRELSZ and DT_RELASZ as well.
750
751 2016-06-16 H.J. Lu <hongjiu.lu@intel.com>
752
753 * elf32-i386.c (elf_i386_check_relocs): Skip relocations in
754 non-loaded, non-alloced sections.
755 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
756
757 2016-06-15 H.J. Lu <hongjiu.lu@intel.com>
758
759 * elf32-i386.c (elf_i386_check_relocs): Check SEC_ALLOC before
760 allocating dynamic relocation.
761 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
762
763 2016-06-14 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
764
765 PR ld/20254
766 * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust reloc
767 offsets until reloc_toaddr.
768
769 2016-06-14 H.J. Lu <hongjiu.lu@intel.com>
770
771 * elf32-i386.c (elf_i386_reloc_type_class): Check R_386_IRELATIVE.
772 Don't check symbol type for STN_UNDEF symbol index.
773 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Check
774 R_X86_64_IRELATIVE. Don't check symbol type for STN_UNDEF symbol
775 index.
776
777 2016-06-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
778
779 * elf32-arm.c (using_thumb_only): Force review of arch check logic for
780 new architecture.
781 (using_thumb2): Try Tag_THUMB_ISA_use first and check
782 for exact arch value then. Force review of arch check logic for new
783 architecture.
784 (arch_has_arm_nop): Update and fix arch check logic. Force review of
785 that logic for new architecture.
786 (arch_has_thumb2_nop): Remove.
787 (elf32_arm_tls_relax): Use using_thumb2 instead of above function.
788 (elf32_arm_final_link_relocate): Likewise but using thumb2.
789
790 2016-06-14 Alan Modra <amodra@gmail.com>
791
792 * bfd-in.h (bfd_my_archive): Delete.
793 * bfd-in2.h: Regenerate.
794
795 2016-06-14 Alan Modra <amodra@gmail.com>
796
797 PR ld/20241
798 * archive.c (open_nested_file): Set my_archive.
799 * bfd.c (_bfd_default_error_handler <%B>): Exclude archive file name
800 for thin archives.
801 * bfdio.c (bfd_tell): Don't adjust origin for thin archives.
802 (bfd_seek): Likewise.
803 * bfdwin.c (bfd_get_file_window): Likewise.
804 * cache.c (cache_bmmap): Likewise.
805 (bfd_cache_lookup_worker): Don't look in my_archive for thin archives.
806 * mach-o.c (bfd_mach_o_follow_dsym): Don't open my_archive for
807 thin archives.
808 * plugin.c (try_claim): Likewise.
809 * xcofflink.c (xcoff_link_add_dynamic_symbols): Use import path of
810 file within thin archive, not the archive.
811
812 2016-06-13 H.J. Lu <hongjiu.lu@intel.com>
813
814 PR ld/20244
815 * elf32-i386.c (elf_i386_relocate_section): Add the .got.plt
816 section address for R_386_GOT32/R_386_GOT32X relocations against
817 IFUNC symbols if there is no base register and return error for
818 PIC.
819
820 2016-06-13 H.J. Lu <hongjiu.lu@intel.com>
821
822 * elf32-i386.c (elf_i386_relocate_section): Simplify IFUNC
823 GOT32 adjustment for static executables.
824
825 2016-06-13 Maciej W. Rozycki <macro@imgtec.com>
826
827 * elf32-mips.c (elf_mips_gnu_pcrel32): Update comment.
828
829 2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
830
831 * elf32-arc.c (elf_arc_relocate_section): Fixed condition.
832
833 2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
834
835 * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
836
837 2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
838
839 * elf32-arc.c (arc_local_data, arc_local_data): Removed.
840 (SECTSTART): Changed.
841 (elf_arc_relocate_section): Fixed mistake in PIE related
842 condition.
843 (elf_arc_size_dynamic_sections): Changed DT_RELENT to DT_RELAENT.
844
845 2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
846
847 * elf32-arc.c (elf32_arc_reloc_type_class): Defined function to
848 enable support for "-z combreloc" and DT_RELACOUNT.
849 (elf_backend_reloc_type_class): Likewise
850
851 2016-06-11 H.J. Lu <hongjiu.lu@intel.com>
852
853 PR ld/20244
854 * elf32-i386.c (elf_i386_relocate_section): When relocating
855 R_386_GOT32, return error without a base register for PIC and
856 subtract the .got.plt section address only with a base register.
857
858 2016-06-10 Alan Modra <amodra@gmail.com>
859
860 * elf-strtab.c (struct strtab_save): Use size_t for "size".
861 (struct elf_strtab_hash): Likewise for "size" and "alloced".
862 (_bfd_elf_strtab_init): Formatting.
863 (_bfd_elf_strtab_add): Return size_t rather than bfd_size_type.
864 (_bfd_elf_strtab_addref): Take size_t idx param.
865 (_bfd_elf_strtab_delref, _bfd_elf_strtab_refcount): Likewise.
866 (_bfd_elf_strtab_offset): Likewise.
867 (_bfd_elf_strtab_clear_all_refs): Use size_t idx.
868 (_bfd_elf_strtab_save): Use size_t "idx" and "size" vars.
869 (_bfd_elf_strtab_restore, _bfd_elf_strtab_emit): Similarly.
870 (_bfd_elf_strtab_finalize): Similarly.
871 * elf-bfd.h (_bfd_elf_strtab_add): Update prototypes.
872 (_bfd_elf_strtab_addref, _bfd_elf_strtab_delref): Likewise.
873 (_bfd_elf_strtab_refcount, _bfd_elf_strtab_offset): Likewise.
874 * elf.c (bfd_elf_get_elf_syms): Calculate symbol buffer size
875 using bfd_size_type.
876 (bfd_section_from_shdr): Delete amt.
877 (_bfd_elf_init_reloc_shdr): Likewise.
878 (_bfd_elf_link_assign_sym_version): Likewise.
879 (assign_section_numbers): Use size_t reloc_count.
880 * elflink.c (struct elf_symbuf_head): Use size_t "count".
881 (bfd_elf_link_record_dynamic_symbol): Use size_t for some vars.
882 (elf_link_is_defined_archive_symbol): Likewise.
883 (elf_add_dt_needed_tag): Likewise.
884 (elf_finalize_dynstr): Likewise.
885 (elf_link_add_object_symbols): Likewise.
886 (bfd_elf_size_dynamic_sections): Likewise.
887 (elf_create_symbuf): Similarly.
888 (bfd_elf_match_symbols_in_sections): Likewise.
889 (elf_link_swap_symbols_out): Likewise.
890 (elf_link_check_versioned_symbol): Likewise.
891 (bfd_elf_gc_record_vtinherit): Likewise.
892 (bfd_elf_gc_common_finalize_got_offsets): Likewise.
893
894 2016-06-08 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
895
896 PR ld/20221
897 * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust syms
898 and relocs only if shrinking occurred.
899
900 2016-06-08 H.J. Lu <hongjiu.lu@intel.com>
901
902 * elf64-i386.c (elf_i386_link_hash_entry): Add tls_get_addr.
903 (elf_i386_link_hash_newfunc): Initialize tls_get_addr to 2.
904 (elf_i386_check_tls_transition): Check indirect call and direct
905 call with the addr32 prefix for general and local dynamic models.
906 Set the tls_get_addr feild.
907 (elf_i386_convert_load_reloc): Always use addr32 prefix for
908 indirect ___tls_get_addr call via GOT.
909 (elf_i386_relocate_section): Handle GD->LE, GD->IE and LD->LE
910 transitions with indirect call and direct call with the addr32
911 prefix.
912
913 2016-06-07 Marcin Kościelnicki <koriakin@0x04.net>
914
915 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Fix comment.
916 * elf64-s390.c (elf_s390x_plt_entry): Fix comment.
917 (elf_s390_relocate_section): Fix comment.
918 (elf_s390_finish_dynamic_sections): Fix initialization of fixed
919 .got.plt entries.
920
921 2016-06-07 Ulrich Weigand <ulrich.weigand@de.ibm.com>
922
923 * elf64-s390.c (elf_s390_finish_dynamic_sections): Subtract plt
924 section offset when calculation the larl operand in the first PLT
925 entry.
926
927 2016-06-07 Alan Modra <amodra@gmail.com>
928
929 * cpu-powerpc.c (powerpc_compatible): Allow bfd_mach_ppc_vle entry
930 to match other 32-bit archs.
931 * elf32-ppc.c (_bfd_elf_ppc_set_arch): New function.
932 (ppc_elf_object_p): Call it.
933 (ppc_elf_special_sections): Use APUINFO_SECTION_NAME. Fix
934 overlong line.
935 (APUINFO_SECTION_NAME, APUINFO_LABEL): Don't define here.
936 * elf64-ppc.c (ppc64_elf_object_p): Call _bfd_elf_ppc_set_arch.
937 * bfd-in.h (_bfd_elf_ppc_at_tls_transform,
938 _bfd_elf_ppc_at_tprel_transform): Move to..
939 * elf-bfd.h: ..here.
940 (_bfd_elf_ppc_set_arch): Declare.
941 * bfd-in2.h: Regenerate.
942
943 2016-06-06 H.J. Lu <hongjiu.lu@intel.com>
944
945 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add tls_get_addr.
946 (elf_x86_64_link_hash_newfunc): Initialize tls_get_addr to 2.
947 (elf_x86_64_check_tls_transition): Check indirect call and
948 direct call with the addr32 prefix for general and local dynamic
949 models. Set the tls_get_addr feild.
950 (elf_x86_64_convert_load_reloc): Always use addr32 prefix for
951 indirect __tls_get_addr call via GOT.
952 (elf_x86_64_relocate_section): Handle GD->LE, GD->IE and LD->LE
953 transitions with indirect call and direct call with the addr32
954 prefix.
955
956 2016-06-04 Christian Groessler <chris@groessler.org>
957
958 * coff-z8k.c (extra_case): Fix range check for R_JR relocation.
959
960 2016-06-02 Nick Clifton <nickc@redhat.com>
961
962 PR target/20088
963 * cpu-arm.c (processors): Add "arm_any" type to match any ARM
964 architecture.
965 (arch_info_struct): Likewise.
966 (architectures): Likewise.
967
968 2016-06-02 Vineet Gupta <Vineet.Gupta1@synopsys.com>
969
970 * config.bfd: Replace -uclibc with *.
971
972 2016-06-02 H.J. Lu <hongjiu.lu@intel.com>
973
974 * elf64-x86-64.c: Replace data32 with data16 in comments.
975
976 2016-05-31 Alan Modra <amodra@gmail.com>
977
978 PR ld/20159
979 PR ld/16467
980 * elflink.c (_bfd_elf_merge_symbol): Revert PR16467 change.
981 (_bfd_elf_add_default_symbol): Don't indirect to/from defined
982 symbol given a version by a script different to the version
983 of the symbol being added.
984 (elf_link_add_object_symbols): Use _bfd_elf_strtab_save and
985 _bfd_elf_strtab_restore. Don't fudge dynstr references.
986 * elf-strtab.c (_bfd_elf_strtab_restore_size): Delete.
987 (struct strtab_save): New.
988 (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): New functions.
989 * elf-bfd.h (_bfd_elf_strtab_restore_size): Delete.
990 (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): Declare.
991
992 2016-06-01 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
993
994 * elf32-hppa.h: Add extern "C".
995 * elf32-nds32.h: Likewise.
996 * elf32-tic6x.h: Likewise.
997
998 2016-06-01 Nick Clifton <nickc@redhat.com>
999
1000 * po/sr.po: New Serbian translation.
1001 * configure.ac (ALL_LINGUAS): Add sr.
1002 * configure: Regenerate.
1003
1004 2016-05-28 Maciej W. Rozycki <macro@imgtec.com>
1005
1006 * elfxx-mips.c (b_reloc_p): New function.
1007 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Handle
1008 branch relocations.
1009
1010 2016-05-28 Maciej W. Rozycki <macro@imgtec.com>
1011
1012 * elfxx-mips.c (mips_elf_calculate_relocation): <R_MIPS16_26>
1013 <R_MIPS_26, R_MICROMIPS_26_S1>: Drop the region bits of the
1014 reloc location from calculation, treat the addend as signed with
1015 local non-section symbols and enable overflow detection.
1016
1017 2016-05-28 Alan Modra <amodra@gmail.com>
1018
1019 * aoutx.h: Adjust linker callback calls throughout file,
1020 removing dead code.
1021 * bout.c: Likewise.
1022 * coff-alpha.c: Likewise.
1023 * coff-arm.c: Likewise.
1024 * coff-h8300.c: Likewise.
1025 * coff-h8500.c: Likewise.
1026 * coff-i960.c: Likewise.
1027 * coff-mcore.c: Likewise.
1028 * coff-mips.c: Likewise.
1029 * coff-ppc.c: Likewise.
1030 * coff-rs6000.c: Likewise.
1031 * coff-sh.c: Likewise.
1032 * coff-tic80.c: Likewise.
1033 * coff-w65.c: Likewise.
1034 * coff-z80.c: Likewise.
1035 * coff-z8k.c: Likewise.
1036 * coff64-rs6000.c: Likewise.
1037 * cofflink.c: Likewise.
1038 * ecoff.c: Likewise.
1039 * elf-bfd.h: Likewise.
1040 * elf-m10200.c: Likewise.
1041 * elf-m10300.c: Likewise.
1042 * elf32-arc.c: Likewise.
1043 * elf32-arm.c: Likewise.
1044 * elf32-avr.c: Likewise.
1045 * elf32-bfin.c: Likewise.
1046 * elf32-cr16.c: Likewise.
1047 * elf32-cr16c.c: Likewise.
1048 * elf32-cris.c: Likewise.
1049 * elf32-crx.c: Likewise.
1050 * elf32-d10v.c: Likewise.
1051 * elf32-epiphany.c: Likewise.
1052 * elf32-fr30.c: Likewise.
1053 * elf32-frv.c: Likewise.
1054 * elf32-ft32.c: Likewise.
1055 * elf32-h8300.c: Likewise.
1056 * elf32-hppa.c: Likewise.
1057 * elf32-i370.c: Likewise.
1058 * elf32-i386.c: Likewise.
1059 * elf32-i860.c: Likewise.
1060 * elf32-ip2k.c: Likewise.
1061 * elf32-iq2000.c: Likewise.
1062 * elf32-lm32.c: Likewise.
1063 * elf32-m32c.c: Likewise.
1064 * elf32-m32r.c: Likewise.
1065 * elf32-m68hc1x.c: Likewise.
1066 * elf32-m68k.c: Likewise.
1067 * elf32-mep.c: Likewise.
1068 * elf32-metag.c: Likewise.
1069 * elf32-microblaze.c: Likewise.
1070 * elf32-moxie.c: Likewise.
1071 * elf32-msp430.c: Likewise.
1072 * elf32-mt.c: Likewise.
1073 * elf32-nds32.c: Likewise.
1074 * elf32-nios2.c: Likewise.
1075 * elf32-or1k.c: Likewise.
1076 * elf32-ppc.c: Likewise.
1077 * elf32-s390.c: Likewise.
1078 * elf32-score.c: Likewise.
1079 * elf32-score7.c: Likewise.
1080 * elf32-sh.c: Likewise.
1081 * elf32-sh64.c: Likewise.
1082 * elf32-spu.c: Likewise.
1083 * elf32-tic6x.c: Likewise.
1084 * elf32-tilepro.c: Likewise.
1085 * elf32-v850.c: Likewise.
1086 * elf32-vax.c: Likewise.
1087 * elf32-visium.c: Likewise.
1088 * elf32-xstormy16.c: Likewise.
1089 * elf32-xtensa.c: Likewise.
1090 * elf64-alpha.c: Likewise.
1091 * elf64-hppa.c: Likewise.
1092 * elf64-ia64-vms.c: Likewise.
1093 * elf64-mmix.c: Likewise.
1094 * elf64-ppc.c: Likewise.
1095 * elf64-s390.c: Likewise.
1096 * elf64-sh64.c: Likewise.
1097 * elf64-x86-64.c: Likewise.
1098 * elflink.c: Likewise.
1099 * elfnn-aarch64.c: Likewise.
1100 * elfnn-ia64.c: Likewise.
1101 * elfxx-mips.c: Likewise.
1102 * elfxx-sparc.c: Likewise.
1103 * elfxx-tilegx.c: Likewise.
1104 * linker.c: Likewise.
1105 * pdp11.c: Likewise.
1106 * pe-mips.c: Likewise.
1107 * reloc.c: Likewise.
1108 * reloc16.c: Likewise.
1109 * simple.c: Likewise.
1110 * vms-alpha.c: Likewise.
1111 * xcofflink.c: Likewise.
1112 * elf32-rl78.c (get_symbol_value, get_romstart, get_ramstart): Delete
1113 status param. Adjust calls to these and linker callbacks throughout.
1114 * elf32-rx.c: (get_symbol_value, get_gp, get_romstart,
1115 get_ramstart): Delete status param. Adjust calls to these and
1116 linker callbacks throughout.
1117
1118 2016-05-27 Maciej W. Rozycki <macro@imgtec.com>
1119
1120 * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS16_26>
1121 <R_MIPS_26, R_MICROMIPS_26_S1>: Include the addend in JALX's
1122 target alignment verification.
1123
1124 2016-05-27 Maciej W. Rozycki <macro@imgtec.com>
1125
1126 * elfxx-mips.c (mips_elf_calculate_relocation): Also use the
1127 section name if `bfd_elf_string_from_elf_section' returns an
1128 empty string.
1129
1130 2016-05-26 Maciej W. Rozycki <macro@imgtec.com>
1131
1132 * elfxx-mips.c (_bfd_mips_elf_relocate_section)
1133 <bfd_reloc_outofrange>: Use the `%X%H' rather than `%C' format
1134 for message. Continue processing rather than returning failure.
1135
1136 2016-05-25 Maciej W. Rozycki <macro@imgtec.com>
1137
1138 * elfxx-mips.c (_bfd_mips_elf_relocate_section)
1139 <bfd_reloc_outofrange>: Call `->einfo' rather than `->warning'.
1140 Call `bfd_set_error'.
1141
1142 2016-05-25 H.J. Lu <hongjiu.lu@intel.com>
1143
1144 PR binutils/14625
1145 * archive.c (bfd_slurp_armap): Replace
1146 bfd_elf64_archive_slurp_armap with
1147 _bfd_archive_64_bit_slurp_armap.
1148 (bsd_write_armap): Call _bfd_archive_64_bit_write_armap if
1149 BFD64 is defined and the archive is too big.
1150 (coff_write_armap): Likewise.
1151 * archive64.c (bfd_elf64_archive_slurp_armap): Renamed to ...
1152 (_bfd_archive_64_bit_slurp_armap): This.
1153 (bfd_elf64_archive_write_armap): Renamed to ...
1154 (_bfd_archive_64_bit_write_armap): This.
1155 * configure.ac: Add --enable-64-bit-archive.
1156 (want_64_bit_archive): New. Set to true by default for 64-bit
1157 MIPS and s390 ELF targets.
1158 (USE_64_BIT_ARCHIVE): New AC_DEFINE.
1159 * config.in: Regenerated.
1160 * configure: Likewise.
1161 * elf64-mips.c (bfd_elf64_archive_functions): Removed.
1162 (bfd_elf64_archive_slurp_armap): Likewise.
1163 (bfd_elf64_archive_write_armap): Likewise.
1164 (bfd_elf64_archive_slurp_extended_name_table): Likewise.
1165 (bfd_elf64_archive_construct_extended_name_table): Likewise.
1166 (bfd_elf64_archive_truncate_arname): Likewise.
1167 (bfd_elf64_archive_read_ar_hdr): Likewise.
1168 (bfd_elf64_archive_write_ar_hdr): Likewise.
1169 (bfd_elf64_archive_openr_next_archived_file): Likewise.
1170 (bfd_elf64_archive_get_elt_at_index): Likewise.
1171 (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
1172 (bfd_elf64_archive_update_armap_timestamp): Likewise.
1173 * elf64-s390.c (bfd_elf64_archive_functions): Removed.
1174 (bfd_elf64_archive_slurp_armap): Likewise.
1175 (bfd_elf64_archive_write_armap): Likewise.
1176 (bfd_elf64_archive_slurp_extended_name_table): Likewise.
1177 (bfd_elf64_archive_construct_extended_name_table): Likewise.
1178 (bfd_elf64_archive_truncate_arname): Likewise.
1179 (bfd_elf64_archive_read_ar_hdr): Likewise.
1180 (bfd_elf64_archive_write_ar_hdr): Likewise.
1181 (bfd_elf64_archive_openr_next_archived_file): Likewise.
1182 (bfd_elf64_archive_get_elt_at_index): Likewise.
1183 (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
1184 (bfd_elf64_archive_update_armap_timestamp): Likewise.
1185 * elfxx-target.h (TARGET_BIG_SYM): Use _bfd_archive_64_bit on
1186 BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined and
1187 bfd_elfNN_archive_functions isn't defined.
1188 (TARGET_LITTLE_SYM): Likewise.
1189 * libbfd-in.h (_bfd_archive_64_bit_slurp_armap): New prototype.
1190 (_bfd_archive_64_bit_write_armap): Likewise.
1191 (_bfd_archive_64_bit_slurp_extended_name_table): New macro.
1192 (_bfd_archive_64_bit_construct_extended_name_table): Likewise.
1193 (_bfd_archive_64_bit_truncate_arname): Likewise.
1194 (_bfd_archive_64_bit_read_ar_hdr): Likewise.
1195 (_bfd_archive_64_bit_write_ar_hdr): Likewise.
1196 (_bfd_archive_64_bit_openr_next_archived_file): Likewise.
1197 (_bfd_archive_64_bit_get_elt_at_index): Likewise.
1198 (_bfd_archive_64_bit_generic_stat_arch_elt): Likewise.
1199 (_bfd_archive_64_bit_update_armap_timestamp): Likewise.
1200 * libbfd.h: Regenerated.
1201 * plugin.c (plugin_vec): Use _bfd_archive_64_bit on
1202 BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined.
1203
1204 2016-05-25 H.J. Lu <hongjiu.lu@intel.com>
1205
1206 PR ld/20103
1207 * cofflink.c (coff_link_check_archive_element): Return TRUE if
1208 linker add_archive_element callback returns FALSE.
1209 * ecoff.c (ecoff_link_check_archive_element): Likewise.
1210 * elf64-ia64-vms.c (elf64_vms_link_add_archive_symbols): Skip
1211 archive element if linker add_archive_element callback returns
1212 FALSE.
1213 * elflink.c (elf_link_add_archive_symbols): Likewise.
1214 * pdp11.c (aout_link_check_ar_symbols): Likewise.
1215 * vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise.
1216 * xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Likewise.
1217 (xcoff_link_check_ar_symbols): Likewise.
1218
1219 2016-05-24 Maciej W. Rozycki <macro@imgtec.com>
1220
1221 * elfxx-mips.c (_bfd_mips_elf_relocate_section)
1222 <bfd_reloc_outofrange>: Unify error reporting code.
1223
1224 2016-05-23 Jim Wilson <jim.wilson@linaro.org>
1225
1226 * elfnn-aarch64.c: Unconditionally enable R_AARCH64_NULL and
1227 R_AARCH64_NONE. Use HOWTO64 for R_AARCH64_NULL.
1228 * relocs.c: Add BFD_RELOC_AARCH64_NULL.
1229 * bfd-in2.h: Regenerate.
1230 * libbfd.h: Likewise.
1231
1232 2016-05-23 Kuba Sejdak <jakub.sejdak@phoesys.com>
1233
1234 * config.bfd: Add entry for arm-phoenix.
1235
1236 2016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
1237
1238 * elf32-arm.c (arm_dedicated_stub_section_padding): New function.
1239 (elf32_arm_size_stubs): Declare stub_type in a more outer scope and
1240 account for padding for stub section requiring one.
1241 (elf32_arm_build_stubs): Add comment to stress the importance of
1242 zeroing veneer section content.
1243
1244 2016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
1245
1246 * bfd-in.h (bfd_elf32_arm_keep_private_stub_output_sections): Declare
1247 bfd hook.
1248 * bfd-in2.h: Regenerate.
1249 * elf32-arm.c (arm_dedicated_stub_output_section_required): New
1250 function.
1251 (arm_dedicated_stub_output_section_required_alignment): Likewise.
1252 (arm_dedicated_stub_output_section_name): Likewise.
1253 (arm_dedicated_stub_input_section_ptr): Likewise.
1254 (elf32_arm_create_or_find_stub_sec): Add stub type parameter and
1255 function description comment. Add support for dedicated output stub
1256 section to given stub types.
1257 (elf32_arm_add_stub): Add a stub type parameter and pass it down to
1258 elf32_arm_create_or_find_stub_sec.
1259 (elf32_arm_create_stub): Pass stub type down to elf32_arm_add_stub.
1260 (elf32_arm_size_stubs): Pass stub type when calling
1261 elf32_arm_create_or_find_stub_sec for Cortex-A8 erratum veneers.
1262 (bfd_elf32_arm_keep_private_stub_output_sections): New function.
1263
1264 2016-05-20 H.J. Lu <hongjiu.lu@intel.com>
1265
1266 * elf32-i386.c (elf_i386_check_relocs): Don't check R_386_GOT32
1267 when setting need_convert_load.
1268
1269 2016-05-20 Maciej W. Rozycki <macro@imgtec.com>
1270
1271 * elfxx-mips.c (mips_elf_read_rel_addend): Adjust the addend for
1272 microMIPS JALX.
1273
1274 2016-05-19 H.J. Lu <hongjiu.lu@intel.com>
1275
1276 PR ld/20117
1277 * elf32-i386.c (elf_i386_convert_load_reloc): Don't check
1278 R_386_GOT32X.
1279 (elf_i386_convert_load): Don't convert R_386_GOT32.
1280
1281 2016-05-20 Alan Modra <amodra@gmail.com>
1282
1283 PR gas/20118
1284 * elf.c (elf_fake_sections): Set sh_entsize for SHT_INIT_ARRAY,
1285 SHT_FINI_ARRAY, and SHT_PREINIT_ARRAY.
1286
1287 2016-05-19 Cupertino Miranda <cmiranda@synopsys.com>
1288
1289 * elf32-arc.c (arc_elf_final_write_processing): Changed.
1290 (debug_arc_reloc): Likewise.
1291 (elf_arc_relocate_section): Likewise.
1292 (elf_arc_check_relocs): Likewise.
1293 (elf_arc_adjust_dynamic_symbol): Likewise.
1294 (elf_arc_add_symbol_hook): Likewise.
1295
1296 2016-05-19 Maciej W. Rozycki <macro@imgtec.com>
1297
1298 * config.bfd: Remove `am34-*-linux*' support.
1299
1300 2016-05-19 Alan Modra <amodra@gmail.com>
1301
1302 * elf64-ppc.c (allocate_dynrelocs): Allocate got and other dynamic
1303 relocs before plt relocs.
1304
1305 2016-05-19 Alan Modra <amodra@gmail.com>
1306
1307 * elf64-ppc.c (ppc64_elf_branch_reloc): Check for NULL owner
1308 before dereferencing.
1309
1310 2016-05-18 Nick Clifton <nickc@redhat.com>
1311
1312 * po/sv.po: Updated Swedish translation.
1313
1314 2016-05-18 Alan Modra <amodra@gmail.com>
1315
1316 * elf32-arm.c (elf32_arm_size_stubs): Free or cache local syms
1317 for each BFD. Don't goto error_ret_free_local from outside loop.
1318
1319 2016-05-17 Maciej W. Rozycki <macro@imgtec.com>
1320
1321 * elf-s390-common.c (elf_s390_add_symbol_hook): Remove
1322 STB_GNU_UNIQUE handling.
1323 * elf32-arc.c (elf_arc_add_symbol_hook): Likewise.
1324 * elf32-arm.c (elf32_arm_add_symbol_hook): Likewise.
1325 * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
1326 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
1327 * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
1328 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
1329 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
1330 * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
1331 * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
1332 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Likewise.
1333 * elf32-i386.c (elf_i386_add_symbol_hook): Remove function.
1334 (elf_backend_add_symbol_hook): Remove macro.
1335 * elflink.c (elf_link_add_object_symbols): Set `has_gnu_symbols'
1336 for STB_GNU_UNIQUE symbols.
1337
1338 2016-05-16 Maciej W. Rozycki <macro@imgtec.com>
1339
1340 * elf32-v850.c (v850_elf_copy_notes): New function, factored out
1341 from...
1342 (v850_elf_copy_private_bfd_data): ... here. Call the new
1343 function and `_bfd_elf_copy_private_bfd_data'.
1344
1345 2016-05-13 H.J. Lu <hongjiu.lu@intel.com>
1346
1347 PR ld/20093
1348 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Don't convert
1349 GOTPCREL relocation against large section.
1350
1351 2016-05-13 Alan Modra <amodra@gmail.com>
1352
1353 * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Use
1354 linker dynamic sections in calculating size and address of
1355 dynamic tags rather than using output sections. Remove asserts.
1356 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Likewise.
1357 * elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Likewise.
1358 * elf32-cris.c (elf_cris_finish_dynamic_sections): Likewise.
1359 * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
1360 * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise.
1361 * elf32-m32r.c (m32r_elf_finish_dynamic_sections): Likewise.
1362 * elf32-m68k.c (elf_m68k_finish_dynamic_sections): Likewise.
1363 * elf32-metag.c (elf_metag_finish_dynamic_sections): Likewise.
1364 * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Likewise.
1365 * elf32-nds32.c (nds32_elf_finish_dynamic_sections): Likewise.
1366 * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Likewise.
1367 * elf32-or1k.c (or1k_elf_finish_dynamic_sections): Likewise.
1368 * elf32-s390.c (elf_s390_finish_dynamic_sections): Likewise.
1369 * elf32-score.c (s3_bfd_score_elf_finish_dynamic_sections): Likewise.
1370 * elf32-score7.c (s7_bfd_score_elf_finish_dynamic_sections): Likewise.
1371 * elf32-vax.c (elf_vax_finish_dynamic_sections): Likewise.
1372 * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Likewise.
1373 * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Likewise.
1374 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
1375 * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
1376 * elflink.c (bfd_elf_final_link): Likewise.
1377 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Likewise.
1378 * elfxx-sparc.c (sparc_finish_dyn): Likewise. Adjust error message.
1379 * elf32-arc.c (GET_SYMBOL_OR_SECTION): Remove ASSERT arg and
1380 don't set doit. Look up dynobj section.
1381 (elf_arc_finish_dynamic_sections): Adjust GET_SYMBOL_OR_SECTION
1382 invocation and dynamic tag vma calculation. Don't test
1383 boolean var == TRUE.
1384 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Fix
1385 DT_JMPREL calc.
1386
1387 2016-05-13 Alan Modra <amodra@gmail.com>
1388
1389 * elflink.c (elf_link_sort_relocs): Wrap overlong lines. Fix
1390 octets_per_byte. Put dynamic .rela.plt last in link orders.
1391 Assign output_offset for reloc sections rather than writing
1392 sorted relocs from block corresponding to output_offset.
1393
1394 2016-05-12 Alan Modra <amodra@gmail.com>
1395
1396 * elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last.
1397
1398 2016-05-11 Andrew Bennett <andrew.bennett@imgtec.com>
1399
1400 * elfxx-mips.c (print_mips_ases): Add DSPR3.
1401
1402 2016-05-11 Alan Modra <amodra@gmail.com>
1403
1404 * elf32-hppa.c (elf32_hppa_init_stub_bfd): New function.
1405 (elf32_hppa_check_relocs): Don't set dynobj.
1406 (elf32_hppa_size_stubs): Test !SEC_LINKER_CREATED for stub sections.
1407 (elf32_hppa_build_stubs): Likewise.
1408 * elf32-hppa.h (elf32_hppa_init_stub_bfd): Declare.
1409
1410 2016-05-11 Alan Modra <amodra@gmail.com>
1411
1412 PR 20060
1413 * elf64-ppc.c (ppc64_elf_tls_setup): Clear forced_local.
1414 * elf32-ppc.c (ppc_elf_tls_setup): Likewise.
1415
1416 2016-05-10 Jiong Wang <jiong.wang@arm.com>
1417
1418 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Remove redundant
1419 aarch64_tls_transition check.
1420
1421 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
1422
1423 * elf32-arm.c (enum elf32_arm_stub_type): New max_stub_type
1424 enumerator.
1425 (arm_stub_sym_claimed): New function.
1426 (elf32_arm_create_stub): Use veneered symbol name and section if
1427 veneer needs to claim its symbol, and keep logic unchanged otherwise.
1428 (arm_stub_claim_sym): New function.
1429 (arm_map_one_stub): Call arm_stub_claim_sym if veneer needs to claim
1430 veneered symbol, otherwise create local symbol as before.
1431
1432 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
1433
1434 * elf32-arm.c (elf32_arm_size_stubs): Use new macros
1435 ARM_GET_SYM_BRANCH_TYPE and ARM_SET_SYM_BRANCH_TYPE to respectively get
1436 and set branch type of a symbol.
1437 (bfd_elf32_arm_process_before_allocation): Likewise.
1438 (elf32_arm_relocate_section): Likewise and fix identation along the
1439 way.
1440 (allocate_dynrelocs_for_symbol): Likewise.
1441 (elf32_arm_finish_dynamic_symbol): Likewise.
1442 (elf32_arm_swap_symbol_in): Likewise.
1443 (elf32_arm_swap_symbol_out): Likewise.
1444
1445 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
1446
1447 * bfd-in.h (elf32_arm_size_stubs): Add an output section parameter.
1448 * bfd-in2.h: Regenerated.
1449 * elf32-arm.c (struct elf32_arm_link_hash_table): Add an output section
1450 parameter to add_stub_section callback.
1451 (elf32_arm_create_or_find_stub_sec): Get output section from link_sec
1452 and pass it down to add_stub_section.
1453 (elf32_arm_add_stub): Set section to stub_sec if NULL before using it
1454 for error message.
1455 (elf32_arm_size_stubs): Add output section parameter to
1456 add_stub_section function pointer parameter.
1457
1458 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
1459
1460 * elf32-arm.c (elf32_arm_create_stub): New function.
1461 (elf32_arm_size_stubs): Use elf32_arm_create_stub for stub creation.
1462
1463 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
1464
1465 * elf32-arm.c (enum elf32_arm_stub_type): Delete
1466 arm_stub_a8_veneer_lwm enumerator.
1467 (arm_stub_a8_veneer_lwm): New unsigned constant to replace
1468 aforementioned enumerator.
1469 (struct elf32_arm_stub_hash_entry): Delete target_addend
1470 field and add source_value.
1471 (struct a8_erratum_fix): Delete addend field and add target_offset.
1472 (stub_hash_newfunc): Initialize source_value field amd remove
1473 initialization for target_addend.
1474 (arm_build_one_stub): Stop special casing Thumb relocations: promote
1475 the else to being always executed, moving the
1476 arm_stub_a8_veneer_b_cond specific code in it. Remove
1477 stub_entry->target_addend from points_to computation.
1478 (cortex_a8_erratum_scan): Store in a8_erratum_fix structure the offset
1479 to target symbol from start of section rather than the offset from the
1480 stub address.
1481 (elf32_arm_size_stubs): Set stub_entry's source_value and target_value
1482 fields from struct a8_erratum_fix's offset and target_offset
1483 respectively.
1484 (make_branch_to_a8_stub): Rename target variable to loc. Compute
1485 veneered_insn_loc and loc using stub_entry's source_value.
1486
1487 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
1488
1489 (elf32_arm_merge_eabi_attributes): Add merging logic for
1490 Tag_DSP_extension.
1491
1492 2016-05-10 Pip Cet <pipcet@gmail.com>
1493
1494 PR ld/20059
1495 * elfxx-target.h (bfd_elfNN_bfd_copy_link_hash_symbol_type):
1496 Define as _bfd_generic_copy_link_hash_symbol_type when using
1497 generic hash table.
1498
1499 2016-05-09 Nick Clifton <nickc@redhat.com>
1500
1501 PR binutils/20063
1502 * elf.c (bfd_elf_get_elf_syms): Check for out of range sh_link
1503 field before accessing sections array.
1504
1505 2016-05-09 Christophe Monat <christophe.monat@st.com>
1506
1507 PR ld/20030
1508 * elf32-arm.c (is_thumb2_vldm): Account for T1 (DP) encoding.
1509 (stm32l4xx_need_create_replacing_stub): Rename ambiguous nb_regs
1510 to nb_words.
1511 (create_instruction_vldmia): Add is_dp to disambiguate SP/DP
1512 encoding.
1513 (create_instruction_vldmdb): Likewise.
1514 (stm32l4xx_create_replacing_stub_vldm): is_dp detects DP encoding,
1515 uses it to re-encode.
1516
1517 2016-05-09 Nick Clifton <nickc@redhat.com>
1518
1519 PR 19938
1520 * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Revert accidental
1521 commit.
1522
1523 2016-05-09 Alan Modra <amodra@gmail.com>
1524
1525 * elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check.
1526
1527 2016-05-06 H.J. Lu <hongjiu.lu@intel.com>
1528
1529 PR ld/17550
1530 * elf-bfd.h (elf_link_hash_entry): Update comments for indx,
1531 documenting that indx == -3 if symbol is defined in a discarded
1532 section.
1533 * elflink.c (elf_link_add_object_symbols): Set indx to -3 if
1534 symbol is defined in a discarded section.
1535 (elf_link_output_extsym): Strip a global symbol defined in a
1536 discarded section.
1537
1538 2016-05-06 H.J. Lu <hongjiu.lu@intel.com>
1539
1540 * elf32-i386.c (elf_backend_add_symbol_hook): Defined for Intel
1541 MCU.
1542
1543 2016-05-05 H.J. Lu <hongjiu.lu@intel.com>
1544
1545 * elf32-i386.c (elf_i386_convert_load): Extract the GOT load
1546 conversion to ...
1547 (elf_i386_convert_load_reloc): This. New function.
1548 * elf64-x86-64.c (elf_x86_64_convert_load): Extract the GOT load
1549 conversion to ...
1550 (elf_x86_64_convert_load_reloc): This. New function.
1551
1552 2016-05-05 H.J. Lu <hongjiu.lu@intel.com>
1553
1554 * elf32-i386.c (elf_i386_check_tls_transition): Remove abfd.
1555 Don't check if contents == NULL.
1556 (elf_i386_tls_transition): Add from_relocate_section. Check
1557 from_relocate_section instead of contents != NULL. Update
1558 elf_i386_check_tls_transition call.
1559 (elf_i386_check_relocs): Cache the section contents if
1560 keep_memory is FALSE. Pass FALSE as from_relocate_section to
1561 elf_i386_tls_transition.
1562 (elf_i386_relocate_section): Pass TRUE as from_relocate_section
1563 to elf_i386_tls_transition.
1564 (elf_backend_caches_rawsize): New.
1565 * elf64-x86-64.c (elf_x86_64_check_tls_transition): Don't check
1566 if contents == NULL.
1567 (elf_x86_64_tls_transition): Add from_relocate_section. Check
1568 from_relocate_section instead of contents != NULL.
1569 (elf_x86_64_check_relocs): Cache the section contents if
1570 keep_memory is FALSE. Pass FALSE as from_relocate_section to
1571 elf_x86_64_tls_transition.
1572 (elf_x86_64_relocate_section): Pass TRUE as from_relocate_section
1573 to elf_x86_64_tls_transition.
1574 (elf_backend_caches_rawsize): New.
1575
1576 2016-05-03 Maciej W. Rozycki <macro@imgtec.com>
1577
1578 PR 10549
1579 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle
1580 STB_GNU_UNIQUE.
1581
1582 2016-05-03 Jiong Wang <jiong.wang@arm.com>
1583
1584 * bfd-in.h (bfd_elf64_aarch64_set_options): Update prototype.
1585 * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
1586 * elfnn-aarch64.c (bfd_elfNN_aarch64_set_options): Initialize
1587 no_apply_dynamic_relocs.
1588 (elfNN_aarch64_final_link_relocate): Apply absolute relocations even though
1589 dynamic relocations generated.
1590
1591 2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
1592
1593 * elf32-i386.c (elf_i386_size_dynamic_sections): Move interp
1594 setting to ...
1595 (elf_i386_create_dynamic_sections): Here.
1596 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Move
1597 interp setting to ...
1598 (elf_x86_64_create_dynamic_sections): Here.
1599
1600 2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
1601
1602 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC
1603 and replace (EH)->has_got_reloc with GOT_RELOC.
1604 (elf_i386_fixup_symbol): Pass has_got_reloc to
1605 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
1606 (elf_i386_allocate_dynrelocs): Likewise.
1607 (elf_i386_relocate_section): Likewise.
1608 (elf_i386_finish_dynamic_symbol): Likewise.
1609 (elf_i386_convert_load): Pass TRUE to
1610 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
1611 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take
1612 GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC.
1613 (elf_x86_64_fixup_symbol): Pass has_got_reloc to
1614 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
1615 (elf_x86_64_allocate_dynrelocs): Likewise.
1616 (elf_x86_64_relocate_section): Likewise.
1617 (elf_x86_64_finish_dynamic_symbol): Likewise.
1618 (elf_x86_64_convert_load): Pass TRUE to
1619 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
1620
1621 2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
1622
1623 * elf32-i386.c (check_relocs_failed): New.
1624 (elf_i386_check_relocs): Set check_relocs_failed on error.
1625 (elf_i386_relocate_section): Skip if check_relocs failed.
1626
1627 2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
1628
1629 * elf64-x86-64.c (elf_x86_64_check_relocs): Set
1630 check_relocs_failed on error.
1631
1632 2016-04-29 Nick Clifton <nickc@redhat.com>
1633
1634 PR 19938
1635 * elf-bfd.h (struct elf_backend_data): Rename
1636 elf_backend_set_special_section_info_and_link to
1637 elf_backend_copy_special_section_fields.
1638 * elfxx-target.h: Likewise.
1639 * elf.c (section_match): Ignore the SHF_INFO_LINK flag when
1640 comparing section flags.
1641 (copy_special_section_fields): New function.
1642 (_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field.
1643 Perform two scans over special sections. The first one looks for
1644 a direct mapping between the output section and an input section.
1645 The second scan looks for a possible match based upon section
1646 characteristics.
1647 * elf32-arm.c (elf32_arm_copy_special_section_fields): New
1648 function. Handle setting the sh_link field of SHT_ARM_EXIDX
1649 sections.
1650 * elf32-i386.c (elf32_i386_set_special_info_link): Rename to
1651 elf32_i386_copy_solaris_special_section_fields.
1652 * elf32-sparc.c (elf32_sparc_set_special_section_info_link):
1653 Rename to elf32_sparc_copy_solaris_special_section_fields.
1654 * elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to
1655 elf64_x86_64_copy_solaris_special_section_fields.
1656
1657 2016-04-28 Nick Clifton <nickc@redhat.com>
1658
1659 * po/zh_CN.po: Updated Chinese (simplified) translation.
1660
1661 2016-04-27 H.J. Lu <hongjiu.lu@intel.com>
1662
1663 PR ld/20006
1664 * elf64-x86-64.c (elf_x86_64_convert_load): Skip debug sections
1665 when estimating distances between output sections.
1666
1667 2016-04-27 Alan Modra <amodra@gmail.com>
1668
1669 * elflink.c (_bfd_elf_is_start_stop): New function.
1670 (_bfd_elf_gc_mark_rsec): Use it.
1671 * elf-bfd.h (_bfd_elf_is_start_stop): Declare.
1672
1673 2016-04-26 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
1674
1675 * elf32-rx.c (rx_set_section_contents): Avoid arithmetic on void *.
1676 * mmo.c (mmo_get_section_contents): Likewise.
1677 (mmo_set_section_contents): Likewise.
1678
1679 2016-04-26 H.J. Lu <hongjiu.lu@intel.com>
1680
1681 * elf-bfd.h (elf_link_hash_table): Update comments for
1682 dynsymcount.
1683 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always count for
1684 the unused NULL entry at the head of dynamic symbol table.
1685 (bfd_elf_size_dynsym_hash_dynstr): Remove dynsymcount != 0
1686 checks.
1687
1688 2016-04-21 H.J. Lu <hongjiu.lu@intel.com>
1689
1690 * elflink.c (_bfd_elf_link_create_dynstrtab): Exclude linker
1691 created file from dynobj.
1692
1693 2016-04-21 H.J. Lu <hongjiu.lu@intel.com>
1694
1695 * elflink.c (_bfd_elf_link_create_dynstrtab): Set dynobj to a
1696 normal input file if possible.
1697
1698 2016-04-21 Nick Clifton <nickc@redhat.com>
1699
1700 * aout-adobe.c: Use _bfd_generic_link_check_relocs.
1701 * aout-target.h: Likewise.
1702 * aout-tic30.c: Likewise.
1703 * binary.c: Likewise.
1704 * bout.c: Likewise.
1705 * coff-alpha.c: Likewise.
1706 * coff-rs6000.c: Likewise.
1707 * coff64-rs6000.c: Likewise.
1708 * coffcode.h: Likewise.
1709 * i386msdos.c: Likewise.
1710 * i386os9k.c: Likewise.
1711 * ieee.c: Likewise.
1712 * ihex.c: Likewise.
1713 * libbfd-in.h: Likewise.
1714 * libecoff.h: Likewise.
1715 * mach-o-target.c: Likewise.
1716 * mmo.c: Likewise.
1717 * nlm-target.h: Likewise.
1718 * oasys.c: Likewise.
1719 * pef.c: Likewise.
1720 * plugin.c: Likewise.
1721 * ppcboot.c: Likewise.
1722 * som.c: Likewise.
1723 * srec.c: Likewise.
1724 * tekhex.c: Likewise.
1725 * versados.c: Likewise.
1726 * vms-alpha.c: Likewise.
1727 * xsym.c: Likewise.
1728 * elfxx-target.h: Use _bfd_elf_link_check_relocs.
1729 * linker.c (bfd_link_check_relocs): New function.
1730 (_bfd_generic_link_check_relocs): New function.
1731 * targets.c (BFD_JUMP_TABLE_LINK): Add initialization of
1732 _bfd_link_check_relocs field.
1733 (struct bfd_target)L Add _bfd_link_check_relocs field.
1734 * bfd-in2.h: Regenerate.
1735 * libbfd.h: Regenerate.
1736
1737 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
1738
1739 * elf32-i386.c (elf_i386_gc_sweep_hook): Removed.
1740 (elf_backend_gc_sweep_hook): Likewise.
1741 * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
1742 (elf_backend_gc_sweep_hook): Likewise.
1743
1744 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
1745
1746 * elflink.c (_bfd_elf_link_check_relocs): Don't check relocations
1747 in excluded sections
1748
1749 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
1750
1751 PR ld/19969
1752 * elf64-x86-64.c (check_relocs_failed): New.
1753 (elf_x86_64_need_pic): Moved before elf_x86_64_check_relocs.
1754 Support relocation agaist local symbol. Set check_relocs_failed.
1755 (elf_x86_64_check_relocs): Use elf_x86_64_need_pic. Check
1756 R_X86_64_32 relocation overflow.
1757 (elf_x86_64_relocate_section): Skip if check_relocs failed.
1758 Update one elf_x86_64_need_pic and remove one elf_x86_64_need_pic.
1759
1760 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
1761
1762 * elf32-i386.c (elf_i386_check_relocs): Call
1763 _bfd_elf_create_ifunc_sections only for STT_GNU_IFUNC symbol.
1764 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1765
1766 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
1767
1768 * elf-bfd.h (_bfd_elf_link_check_relocs): New.
1769 * elflink.c (_bfd_elf_link_check_relocs): New function.
1770 (elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs
1771 if check_relocs_after_open_input is FALSE.
1772
1773 2016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
1774
1775 * cache.c: Update old style function definitions.
1776 * elf32-m68k.c: Likewise.
1777 * elf64-mmix.c: Likewise.
1778 * stab-syms.c: Likewise.
1779
1780 2016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
1781
1782 * elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *.
1783
1784 2016-04-15 H.J. Lu <hongjiu.lu@intel.com>
1785
1786 * Makefile.in: Regenerated with automake 1.11.6.
1787 * aclocal.m4: Likewise.
1788 * doc/Makefile.in: Likewise.
1789
1790 2016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
1791
1792 * reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry.
1793 * bfd-in2.h: Regenerate.
1794 * libbfd.h: Regenerate.
1795 * elf32-arc.c: Add 'opcode/arc.h' include.
1796 (struct arc_relocation_data): Add symbol_name.
1797 (arc_special_overflow_checks): New function.
1798 (arc_do_relocation): Use arc_special_overflow_checks, reindent as
1799 required, add an extra comment.
1800 (elf_arc_relocate_section): Setup symbol_name in reloc_data.
1801
1802 2016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
1803
1804 * elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all
1805 entries.
1806 (elf_arc_relocate_section): Update enum uses.
1807 (elf_arc_check_relocs): Likewise.
1808 (elf_arc_finish_dynamic_symbol): Likewise.
1809
1810 2016-04-14 H.J. Lu <hongjiu.lu@intel.com>
1811
1812 * elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
1813 "sh_link".
1814
1815 2016-04-14 Nick Clifton <nickc@redhat.com>
1816
1817 PR target/19938
1818 * elf-bbfd.h (struct elf_backend_data): New field:
1819 elf_strtab_flags.
1820 New field: elf_backend_set_special_section_info_and_link
1821 * elfxx-target.h (elf_backend_strtab_flags): Define if not already
1822 defined.
1823 (elf_backend_set_special_section_info_and_link): Define if not
1824 already defined.
1825 (elfNN_bed): Use elf_backend_set_special_section_info_and_link and
1826 elf_backend_strtab_flags macros to initialise fields in structure.
1827 * elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS
1828 being set even if SHF_MERGE is not set.
1829 (elf_fake_sections): Likewise.
1830 (section_match): New function. Matches two ELF sections based
1831 upon fixed characteristics.
1832 (find_link): New function. Locates a section in a BFD that
1833 matches a section in a different BFD.
1834 (_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link
1835 fields of reserved sections.
1836 (bfd_elf_compute_section_file_positions): Set the flags for the
1837 .shstrtab section based upon the elf_strtab_flags field in the
1838 elf_backend_data structure.
1839 (swap_out_syms): Likewise for the .strtab section.
1840 * elflink.c (bfd_elf_final_link): Set the flags for the
1841 .strtab section based upon the elf_strtab_flags field in the
1842 elf_backend_data structure.
1843 * elf32-i386.c (elf32_i386_set_special_info_link): New function.
1844 (elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris
1845 targets.
1846 (elf_backend_set_special_section_info_and_link): Define for
1847 Solaris targets.
1848 * elf32-sparc.c: Likewise.
1849 * elf64-x86-64.c: Likewise.
1850
1851 2016-04-11 H.J. Lu <hongjiu.lu@intel.com>
1852
1853 PR ld/19939
1854 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer
1855 to bfd_boolean.
1856 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
1857 Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc
1858 applies to read-only section.
1859 * elf32-i386.c (elf_i386_link_hash_table): Add
1860 readonly_dynrelocs_against_ifunc.
1861 (elf_i386_allocate_dynrelocs): Updated.
1862 (elf_i386_size_dynamic_sections): Issue an error for read-only
1863 segment with dynamic IFUNC relocations only if
1864 readonly_dynrelocs_against_ifunc is TRUE.
1865 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
1866 readonly_dynrelocs_against_ifunc.
1867 (elf_x86_64_allocate_dynrelocs): Updated.
1868 (elf_x86_64_size_dynamic_sections): Issue an error for read-only
1869 segment with dynamic IFUNC relocations only if
1870 readonly_dynrelocs_against_ifunc is TRUE.
1871 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
1872 Updated.
1873
1874 2016-04-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
1875
1876 * elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be
1877 a fall through from error_ret_free_internal. Free local_syms in
1878 error_ret_free_local if allocated from bfd_elf_get_elf_syms ().
1879
1880 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
1881
1882 * elf32-arc.c (plt_do_relocs_for_symbol): Changed.
1883 (relocate_plt_for_entry): Likewise.
1884
1885 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
1886
1887 * elf32-arc.c (elf_arc_check_relocs): Changed
1888
1889 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
1890
1891 * elf32-arc.c (name_for_global_symbol): Changed assert.
1892 (get_replace_function): Created.:
1893 (struct arc_relocation_data): Changed to signed types.
1894 (defines S, L, P, PDATA): Casted to signed type.
1895 (defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise.
1896 (PRINT_DEBUG_RELOC_INFO_BEFORE): Changed.
1897 (arc_do_relocation): Changed.
1898
1899 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
1900
1901 * elf32-arc.c (name_for_global_symbol): Added assert to check for
1902 symbol index.
1903 (elf_arc_relocate_section): Added and changed asserts, validating
1904 the synamic symbol index.
1905 (elf_arc_finish_dynamic_symbol): Do not fill the dynamic
1906 relocation if symbol has dynindx set to -1.
1907
1908 2016-04-05 Maciej W. Rozycki <macro@imgtec.com>
1909
1910 * elflink.c (elf_link_add_object_symbols): Always turn hidden
1911 and internal symbols which have a dynamic index into local
1912 ones.
1913
1914 2016-04-04 Nick Clifton <nickc@redhat.com>
1915
1916 PR 19872
1917 * dwarf2.c (parse_comp_unit): Skip warning about unrecognised
1918 version number if the version is zero.
1919
1920 2016-04-01 Alan Modra <amodra@gmail.com>
1921
1922 PR 19886
1923 * elflink.c (on_needed_list): Recursively check needed status.
1924 (elf_link_add_object_symbols): Adjust.
1925
1926 2016-03-30 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1927
1928 * elf32-avr.c (avr_elf32_load_records_from_section): Free
1929 internal_relocs only if they aren't cached.
1930
1931 2016-03-29 Nick Clifton <nickc@redhat.com>
1932
1933 PR 17334
1934 * elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax
1935 assertion on the size of the got section to allow it to be bigger
1936 than the number of relocs.
1937
1938 2016-03-29 Toni Spets <toni.spets@iki.fi>
1939
1940 PR 19878
1941 * coffcode.h (coff_write_object_contents): Revert accidental
1942 2014-11-10 change.
1943
1944 2016-03-22 Alan Modra <amodra@gmail.com>
1945
1946 PR 19850
1947 * dwarf2.c (read_attribute_value): Skip info_ptr check for
1948 DW_FORM_flag_present.
1949
1950 2016-03-22 Nick Clifton <nickc@redhat.com>
1951
1952 * cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an
1953 architecture name for backwards compatibility.
1954
1955 * peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible
1956 unbounded stack use.
1957
1958 * warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a
1959 sufficiently recent version of GCC.
1960 * configure: Regenerate.
1961
1962 2016-03-22 Alan Modra <amodra@gmail.com>
1963
1964 PR 19851
1965 * plugin.c (try_load_plugin): Avoid -Wstack-usage warning.
1966
1967 2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
1968
1969 * archures.c (bfd_mach_arc_nps400): Define.
1970 * bfd-in2.h: Regenerate.
1971 * cpu-arc.c (arch_info_struct): New entry for nps400, renumber
1972 some existing entries to make space.
1973 * elf32-arc.c (arc_elf_object_p): Add nps400 case.
1974 (arc_elf_final_write_processing): Likewise.
1975
1976 2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
1977
1978 * elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of
1979 EF_ARC_CPU_GENERIC.
1980 (arc_elf_final_write_processing): Don't bother setting cpu field
1981 in e_flags, this will have been set elsewhere.
1982
1983 2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
1984
1985 * elf32-arc.c (arc_elf_final_write_processing): Switch to using
1986 EF_ARC_MACH_MSK.
1987
1988 2016-03-21 Nick Clifton <nickc@redhat.com>
1989
1990 * warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144
1991 * configure: Regenerate.
1992 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of
1993 alloca with call to xmalloc.
1994 * elf32-nds32.c: Likewise.
1995 * elf64-hppa.c: Likewise.
1996 * elfxx-mips.c: Likewise.
1997 * pef.c: Likewise.
1998 * pei-x86_64.c: Likewise.
1999 * som.c: Likewise.
2000 * xsym.c: Likewise.
2001
2002 2016-03-15 H.J. Lu <hongjiu.lu@intel.com>
2003
2004 PR ld/19827
2005 * elf32-i386.c (elf_i386_check_relocs): Bind defined symbol
2006 locally in PIE.
2007 (elf_i386_relocate_section): Likewise.
2008 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
2009 (elf_x86_64_relocate_section): Likewise.
2010
2011 2016-03-15 H.J. Lu <hongjiu.lu@intel.com>
2012
2013 PR ld/19807
2014 * elf64-x86-64.c (elf_x86_64_relocate_section): Check
2015 no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S
2016 relocation overflow check.
2017
2018 2016-03-14 H.J. Lu <hongjiu.lu@intel.com>
2019
2020 * bfd-in2.h: Regenerated.
2021
2022 2016-03-11 Dan Gissel <dgisselq@ieee.org>
2023
2024 PR 19713
2025 * elf.c (_bfd_elf_section_offset): Ensure that the returned offset
2026 uses bytes not octets.
2027 * elflink.c (resolve_section): Likewise.
2028 Add a bfd parameter.
2029 (eval_section): Pass the input_bfd to resolve_section.
2030 (bfd_elf_perform_complex_relocation): Convert byte offset to
2031 octets before read and writing values.
2032 (elf_link_input_bfd): Add byte to octet conversions.
2033 (elf_reloc_link_order): Likewise.
2034 (elf_fixup_link_order): Likewise.
2035 (bfd_elf_final_link): Likewise.
2036 * reloc.c (_bfd_final_link_relocate): Likewise.
2037 * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
2038
2039 2016-03-10 Nick Clifton <nickc@redhat.com>
2040
2041 * config.bfd: Mark the i370 target as obsolete.
2042
2043 2016-03-09 Pedro Alves <palves@redhat.com>
2044
2045 * cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old
2046 gcc ABI)" to printable name.
2047 * cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead
2048 of "v850-rh850" as printable name.
2049
2050 2016-03-09 Leon Winter <winter-gcc@bfw-online.de>
2051
2052 PR ld/19623
2053 * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply
2054 relocations against absolute symbols.
2055
2056 2016-03-09 Alan Modra <amodra@gmail.com>
2057
2058 PR binutils/19775
2059 * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero
2060 length elements in the archive.
2061
2062 2016-03-08 H.J. Lu <hongjiu.lu@intel.com>
2063
2064 PR ld/19789
2065 * elflink.c (elf_link_add_object_symbols): Create dynamic sections
2066 for -E/--dynamic-list only when not relocatable.
2067
2068 2016-03-08 H.J. Lu <hongjiu.lu@intel.com>
2069
2070 PR ld/19784
2071 * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
2072 count for locally defined local IFUNC symbols in shared object.
2073 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
2074
2075 2016-03-08 H.J. Lu <hongjiu.lu@intel.com>
2076
2077 PR ld/19579
2078 * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking
2079 together.
2080
2081 2016-03-08 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
2082 Andrew Burgess <andrew.burgess@embecosm.com>
2083
2084 * elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32.
2085 (arc_bfd_put_32): Becomes an alias for bfd_put_32.
2086 (arc_elf_howto_init): Added assert to validate relocations.
2087 (get_middle_endian_relocation): Delete.
2088 (middle_endian_convert): New function.
2089 (ME): Redefine, now does nothing.
2090 (IS_ME): New define.
2091 (arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO'
2092 definition to call middle_endian_convert. Add a new local
2093 variable and make use of this throughout. Added call to
2094 arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations.
2095
2096 2016-03-07 Nick Clifton <nickc@redhat.com>
2097
2098 PR binutils/19775
2099 * archive.c (bfd_generic_openr_next_archived_file): Allow zero
2100 length elements in the archive.
2101
2102 2016-03-07 Jiong Wang <jiong.wang@arm.com>
2103
2104 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got
2105 section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced.
2106
2107 2016-03-04 H.J. Lu <hongjiu.lu@intel.com>
2108
2109 PR ld/19579
2110 * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
2111 executable as definition if the new definition comes from a
2112 shared library.
2113
2114 2016-03-02 Alan Modra <amodra@gmail.com>
2115
2116 * Makefile.in: Regenerate.
2117 * po/SRC-POTFILES.in: Regenerate.
2118
2119 2016-02-29 Cupertino Miranda <cmiranda@synopsys.com>
2120
2121 * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
2122 relocation addend when sections get merged.
2123
2124 2016-02-29 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
2125
2126 * elf32-arc.c (arc_elf_final_write_processing): Add condition to
2127 the flag change.
2128 (elf_arc_relocate_section): Fixes and conditions to support PIE.
2129 Assert for code sections dynamic relocs.
2130
2131 2016-02-26 Renlin Li <renlin.li@arm.com>
2132
2133 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow
2134 check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2.
2135
2136 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
2137
2138 PR ld/19609
2139 * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
2140 load with locally bound symbols if PIC is false or there is no
2141 base register. Optimize branch to 0 if PIC is false.
2142 (elf_i386_relocate_section): Don't generate dynamic relocations
2143 against undefined weak symbols if PIC is false.
2144 * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
2145 if we can't estimate relocation overflow with --no-relax.
2146 Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
2147 symbols if PIC is false. Optimize branch to 0 if PIC is false.
2148 (elf_x86_64_relocate_section): Don't generate dynamic relocations
2149 against undefined weak symbols if PIC is false.
2150
2151 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
2152
2153 PR ld/19645
2154 * bfd.c (bfd): Change flags to 20 bits.
2155 (BFD_CONVERT_ELF_COMMON): New.
2156 (BFD_USE_ELF_STT_COMMON): Likewise.
2157 (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
2158 BFD_USE_ELF_STT_COMMON.
2159 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
2160 * configure.ac: Remove --enable-elf-stt-common.
2161 * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
2162 common symbol depending on BFD_CONVERT_ELF_COMMON and
2163 BFD_USE_ELF_STT_COMMON.
2164 * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
2165 STT_COMMON.
2166 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
2167 STT_COMMON.
2168 (elf_link_convert_common_type): New function.
2169 (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
2170 common symbol depending on BFD_CONVERT_ELF_COMMON and
2171 BFD_USE_ELF_STT_COMMON. Set sym.st_info after sym.st_shndx.
2172 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
2173 and BFD_USE_ELF_STT_COMMON to object_flags.
2174 (TARGET_LITTLE_SYM): Likewise.
2175 * syms.c (BSF_KEEP_G): Renamed to ...
2176 (BSF_ELF_COMMON): This.
2177 * bfd-in2.h: Regenerated.
2178 * config.in: Likewise.
2179 * configure: Likewise.
2180
2181 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
2182
2183 PR ld/19636
2184 PR ld/19704
2185 PR ld/19719
2186 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
2187 (elf_i386_link_hash_entry): Add has_got_reloc and
2188 has_non_got_reloc.
2189 (elf_i386_link_hash_table): Add interp.
2190 (elf_i386_link_hash_newfunc): Initialize has_got_reloc and
2191 has_non_got_reloc.
2192 (elf_i386_copy_indirect_symbol): Copy has_got_reloc and
2193 has_non_got_reloc.
2194 (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
2195 (elf_i386_fixup_symbol): New function.
2196 (elf_i386_pie_finish_undefweak_symbol): Likewise.
2197 (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
2198 relocations and discard relocations against resolved undefined
2199 weak symbols in executable. Don't make resolved undefined weak
2200 symbols in executable dynamic. Keep dynamic non-GOT/non-PLT
2201 relocation against undefined weak symbols in PIE.
2202 (elf_i386_size_dynamic_sections): Set interp to .interp section.
2203 (elf_i386_relocate_section): Don't generate dynamic relocations
2204 against resolved undefined weak symbols in PIE, except for
2205 R_386_PC32.
2206 (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
2207 dynamic PLT/GOT relocations for resolved undefined weak symbols.
2208 Don't generate dynamic relocation against resolved undefined weak
2209 symbol in executable.
2210 (elf_i386_finish_dynamic_sections): Call
2211 elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
2212 (elf_backend_fixup_symbol): New.
2213 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
2214 (elf_x86_64_link_hash_entry): Add has_got_reloc and
2215 has_non_got_reloc.
2216 (elf_x86_64_link_hash_table): Add interp.
2217 (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
2218 has_non_got_reloc.
2219 (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
2220 has_non_got_reloc.
2221 (elf_x86_64_check_relocs): Set has_got_reloc and
2222 has_non_got_reloc.
2223 (elf_x86_64_fixup_symbol): New function.
2224 (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
2225 (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
2226 relocations and discard relocations against resolved undefined
2227 weak symbols in executable. Don't make resolved undefined weak
2228 symbols in executable dynamic.
2229 (elf_x86_64_size_dynamic_sections): Set interp to .interp section.
2230 (elf_x86_64_relocate_section): Check relocation overflow for
2231 dynamic relocations against unresolved weak undefined symbols.
2232 Don't generate dynamic relocations against resolved weak
2233 undefined symbols in PIE.
2234 (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
2235 dynamic PLT/GOT relocations for resolved undefined weak symbols.
2236 Don't generate dynamic relocation against resolved undefined weak
2237 symbol in executable.
2238 (elf_x86_64_finish_dynamic_sections): Call
2239 elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
2240 (elf_backend_fixup_symbol): New.
2241
2242 2016-02-26 Alan Modra <amodra@gmail.com>
2243
2244 * elf64-ppc.c (create_linkage_sections): Create sfpr when
2245 save_restore_funcs, rest of sections when not relocatable.
2246 (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
2247 (sfpr_define): Define all symbols on emitted code.
2248 (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
2249 when relocatable. Move sfpr_define loop earlier.
2250
2251 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
2252
2253 * elf64-x86-64.c (elf_x86_64_need_pic): New function.
2254 (elf_x86_64_relocate_section): Use it. Replace
2255 x86_64_elf_howto_table[r_type] with howto.
2256
2257 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
2258
2259 PR ld/19698
2260 * elflink.c (bfd_elf_record_link_assignment): Set versioned if
2261 symbol version is unknown.
2262
2263 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
2264
2265 * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
2266 to (bfd_vma) -1 when setting needs_plt to 0.
2267 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
2268
2269 2016-02-23 H.J. Lu <hongjiu.lu@intel.com>
2270
2271 * elflink.c (bfd_elf_record_link_assignment): Check for shared
2272 library, instead of PIC, and don't check PDE when making linker
2273 assigned symbol dynamic.
2274
2275 2016-02-23 Faraz Shahbazker <faraz.shahbazker@imgtec.com>
2276
2277 * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
2278 ABIVERSION for non-executable stack.
2279
2280 2016-02-23 Rich Felker <bugdal@aerifal.cx>
2281
2282 PR target/19516
2283 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
2284 Always produce a RELATIVE reloc for a local symbol.
2285
2286 2016-02-23 Hans-Peter Nilsson <hp@axis.com>
2287
2288 Fix test-case ld-elf/pr19617b
2289 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
2290 discard unused non-function symbols when --dynamic-list-data.
2291
2292 2016-02-22 H.J. Lu <hongjiu.lu@intel.com>
2293
2294 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
2295 dynsym section, even if it is empty, with dynamic sections.
2296
2297 2016-02-22 H.J. Lu <hongjiu.lu@intel.com>
2298
2299 * syms.c: Remove BSF_COMMON from comments.
2300 * bfd-in2.h: Regenerated.
2301
2302 2016-02-22 Jiong Wang <jiong.wang@arm.com>
2303
2304 * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
2305 for destination. Remove useless function parameters.
2306 (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
2307
2308 2016-02-19 Nick Clifton <nickc@redhat.com>
2309
2310 PR ld/19629
2311 * aoutx.h (aout_link_add_symbols): Check for out of range string
2312 table offsets.
2313
2314 PR ld/19628
2315 * reloc.c (bfd_generic_get_relocated_section_contents): Stop
2316 processing if we encounter a reloc without an associated symbol.
2317
2318 2016-02-18 H.J. Lu <hongjiu.lu@intel.com>
2319
2320 PR ld/19617
2321 * elflink.c (elf_link_add_object_symbols): Always create dynamic
2322 sections for -E/--dynamic-list.
2323
2324 2016-02-17 H.J. Lu <hongjiu.lu@intel.com>
2325
2326 * elf64-x86-64.c (elf_backend_omit_section_dynsym): New. Defined
2327 to bfd_true.
2328
2329 2016-02-16 Joseph Myers <joseph@codesourcery.com>
2330
2331 * plugin.c (plugin_vec): Set match priority to 255.
2332 * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
2333 matching against the plugin vector, take priority from there not
2334 from TEMP.
2335
2336 2016-02-15 Nick Clifton <nickc@redhat.com>
2337
2338 * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
2339 for length and type fields. Use a signed value for the
2340 suffix_length field.
2341
2342 2016-02-10 H.J. Lu <hongjiu.lu@intel.com>
2343
2344 PR ld/19601
2345 * elf32-i386.c (elf_i386_relocate_section): Mask off the least
2346 significant bit in GOT offset for R_386_GOT32X.
2347
2348 2016-02-10 Nick Clifton <nickc@redhat.com>
2349
2350 PR 19405
2351 * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
2352 immediate values.
2353 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
2354 number of messages about FDE encoding preventing .eh_frame_hdr
2355 generation.
2356
2357 2016-02-09 Nick Clifton <nickc@redhat.com>
2358
2359 * oasys.c (oasys_archive_p): Fix indentation.
2360 * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
2361 constant for left shifting.
2362
2363 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
2364 helpful warning message to explain why certain AArch64 relocs
2365 might overflow.
2366
2367 2016-02-05 Simon Marchi <simon.marchi@ericsson.com>
2368
2369 * pe-mips.c (coff_mips_reloc): Fix formatting.
2370
2371 2016-02-05 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
2372
2373 * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
2374 to bfd_mach_arc_arc600.
2375
2376 2016-02-04 Alan Modra <amodra@gmail.com>
2377
2378 * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
2379 for big-endian.
2380
2381 2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
2382
2383 PR ld/19542
2384 * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
2385 distances in the compressed_size field of the output section.
2386
2387 2016-02-02 Alan Modra <amodra@gmail.com>
2388
2389 * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
2390 ELFv2 entry optimization.
2391
2392 2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
2393
2394 PR binutils/19547
2395 * elf.c (assign_section_numbers): Clear HAS_RELOC if there are
2396 no relocations in relocatable files.
2397
2398 2016-02-01 H.J. Lu <hongjiu.lu@intel.com>
2399
2400 PR ld/19553
2401 * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
2402 if a symbol from a library loaded via DT_NEEDED doesn't match
2403 the symbol referenced by regular object.
2404
2405 2016-02-01 Nathaniel Smith <njs@pobox.com>
2406
2407 * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
2408 CODE and DATA.
2409
2410 2016-02-01 Alan Modra <amodra@gmail.com>
2411
2412 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
2413 an out of range reloc_index.
2414 * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
2415
2416 2016-02-01 Kamil Rytarowski <n54@gmx.com>
2417
2418 * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
2419 (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
2420 * Makefile.in: Regenerated.
2421
2422 2016-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
2423
2424 * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
2425
2426 2016-01-31 John David Anglin <danglin@gcc.gnu.org>
2427
2428 PR ld/19526
2429 * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
2430 files.
2431 * elf64-hppa.c (elf32_hppa_final_link): Likewise. Remove retval.
2432
2433 2016-01-30 H.J. Lu <hongjiu.lu@intel.com>
2434
2435 PR ld/19539
2436 * elf32-i386.c (elf_i386_reloc_type_class): Check relocation
2437 against STT_GNU_IFUNC symbol only with dynamic symbols.
2438 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
2439
2440 2016-01-28 H.J. Lu <hongjiu.lu@intel.com>
2441
2442 PR binutils/19523
2443 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
2444 decompress debug sections.
2445
2446 2016-01-25 Maciej W. Rozycki <macro@imgtec.com>
2447
2448 * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
2449 `dynindx'.
2450
2451 2016-01-25 Nick Clifton <nickc@redhat.com>
2452
2453 PR target/19435
2454 * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
2455 dsym filename buffer.
2456
2457 2016-01-24 Maciej W. Rozycki <macro@imgtec.com>
2458
2459 * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
2460
2461 2016-01-24 Maciej W. Rozycki <macro@imgtec.com>
2462
2463 * elfxx-mips.c (BZ16_REG): Correct calculation.
2464
2465 2016-01-21 Nick Clifton <nickc@redhat.com>
2466
2467 * elf32-arc.c (ADD_RELA): Fix compile time warning errors by
2468 changing the type of _loc to be bfd_byte *.
2469 (elf_arc_finish_dynamic_symbol): Likewise.
2470
2471 2016-01-21 Nick Clifton <nickc@redhat.com>
2472
2473 PR ld/19455
2474 * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
2475 class of the linker stub bfd.
2476 (elf32_arm_check_relocs): Skip check for pic format after
2477 processing a vxWorks R_ARM_ABS12 reloc.
2478 * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
2479 reporting a class mismatch.
2480
2481 2016-01-21 Jiong Wang <jiong.wang@arm.com>
2482
2483 * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
2484 veneer for sym_sec != input_sec.
2485 (elfNN_aarch64_size_stub): Support STT_SECTION symbol.
2486 (elfNN_aarch64_final_link_relocate): Take rela addend into account when
2487 calculation destination.
2488
2489 2016-01-21 Alan Modra <amodra@gmail.com>
2490
2491 * elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
2492 (swap_linux_prpsinfo64_out): New function.
2493 (LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
2494 (LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
2495 * elf.c (elfcore_write_linux_prpsinfo32): Adjust. Don't memset.
2496 (elfcore_write_linux_prpsinfo64): Likewise.
2497 * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
2498 (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
2499 (elfcore_write_ppc_linux_prpsinfo32): Adjust. Don't memset.
2500
2501 2016-01-21 Alan Modra <amodra@gmail.com>
2502
2503 * elf-linux-core.h: Rename from elf-linux-psinfo.h.
2504 * elf.c: Adjust #include.
2505 * elf32-ppc.c: Don't #include elf-linux-psinfo.h
2506 * Makefile.am (SOURCE_HFILES): Update.
2507 * Makefile.in: Regenerate.
2508 * po/SRC-PORFILES.in: Regenerate.
2509
2510 2016-01-21 Alan Modra <amodra@gmail.com>
2511
2512 * configure.ac: Move corefile selection later in file. Move
2513 tdefaults code immediately after other target vector code.
2514 * configure: Regenerate.
2515
2516 2016-01-20 Mickael Guene <mickael.guene@st.com>
2517
2518 * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
2519 section using '.text.noread' pattern.
2520
2521 2016-01-19 John Baldwin <jhb@FreeBSD.org>
2522
2523 * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
2524
2525 2016-01-18 Miranda Cupertino <Cupertino.Miranda@synopsys.com>
2526 Zissulescu Claudiu <Claudiu.Zissulescu@synopsys.com>
2527
2528 * arc-plt.def: New file.
2529 * arc-plt.h: Likewise.
2530 * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
2531 elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
2532 elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
2533 elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
2534 (name_for_global_symbol): Added.
2535 (ADD_RELA): Helper to create dynamic relocs.
2536 (new_got_entry_to_list): Create a new got entry in linked list.
2537 (symbol_has_entry_of_type): Search for specific type of entry in
2538 list.
2539 (is_reloc_for_GOT): return FALSE for any TLS related relocs.
2540 (is_reloc_for_TLS, arc_elf_set_private_flags)
2541 (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
2542 (arc_elf_merge_private_bfd_data): New functions.
2543 (debug_arc_reloc): Cleaned debug info printing.
2544 (PDATA reloc): Changed not to perform address alignment.
2545 (reverse_me): Added. Fix for ARC_32 relocs.
2546 (arc_do_relocation): Return bfd_reloc_of when no relocation should
2547 occur.
2548 (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
2549 Changed function to access an array of list of GOT entries instead
2550 of just an array of offsets.
2551 (elf_arc_relocate_section): Added support for PIC and TLS related relocations.
2552 (elf_arc_check_relocs): Likewise.
2553 (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
2554 (elf_arc_finish_dynamic_sections): Likewise
2555 (arc_create_dynamic_sections): Modified conditions to create
2556 dynamic sections.
2557 (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
2558 (plt_do_relocs_for_symbol, relocate_plt_for_symbol)
2559 (relocate_plt_for_entry): Changed to support new way to define PLT
2560 related code.
2561 (add_symbol_to_plt): Likewise.
2562 (arc_elf_link_hash_table_create): New function.
2563
2564 2016-01-18 Nick Clifton <nickc@redhat.com>
2565
2566 PR ld/19440
2567 * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
2568 section number into internal section number.
2569 * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
2570 * coffswap.h (coff_swap_sym_in): Likewise.
2571 * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
2572 * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
2573 section number field is big enough to hold the external value.
2574
2575 2016-01-17 Alan Modra <amodra@gmail.com>
2576
2577 * configure: Regenerate.
2578
2579 2016-01-12 Yury Usishchev <y.usishchev@samsung.com>
2580
2581 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
2582 when address in first unwind entry does not match start of
2583 section.
2584
2585 2016-01-08 Richard Sandiford <richard.sandiford@arm.com>
2586 Jiong Wang <jiong.wang@arm.com>
2587
2588 PR ld/19368
2589 * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
2590 reloc_class_ifunc.
2591
2592 2016-01-06 Andrew Burgess <andrew.burgess@embecosm.com>
2593
2594 * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
2595 place 'R_' before the reloc name returned.
2596 (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
2597 the relocation string.
2598
2599 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
2600
2601 * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
2602 factored out from...
2603 (_bfd_mips_elf_merge_private_bfd_data): ... here.
2604
2605 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
2606
2607 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
2608 attribute check after ELF file header flag check.
2609
2610 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
2611
2612 * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
2613 return status from `_bfd_elf_merge_object_attributes'.
2614
2615 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
2616
2617 * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
2618 factored out from...
2619 (_bfd_mips_elf_merge_private_bfd_data): ... here.
2620
2621 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
2622
2623 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
2624 handling of input MIPS ABI flags together.
2625
2626 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
2627
2628 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
2629 attribute checks for null input.
2630
2631 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
2632
2633 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
2634 pointers to target data.
2635
2636 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
2637
2638 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
2639 an FP ABI warning.
2640
2641 2016-01-01 Alan Modra <amodra@gmail.com>
2642
2643 Update year range in copyright notice of all files.
2644
2645 For older changes see ChangeLog-2015 and doc/ChangeLog-0415
2646 \f
2647 Copyright (C) 2016 Free Software Foundation, Inc.
2648
2649 Copying and distribution of this file, with or without modification,
2650 are permitted in any medium without royalty provided the copyright
2651 notice and this notice are preserved.
2652
2653 Local Variables:
2654 mode: change-log
2655 left-margin: 8
2656 fill-column: 74
2657 version-control: never
2658 End:
This page took 0.08591 seconds and 4 git commands to generate.