Reduce parameter list in bfd_elf32_arm_target_relocs
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
68c39892
TP
12016-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
c2abbbeb
TP
122016-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
980aa3e6
CM
192016-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
65b94e90
CM
242016-08-26 Cupertino Miranda <cmiranda@synospsys.com>
25
26 * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
27
8a36df4d
CM
282016-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
4dd72ffd
CM
422016-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
a87aa054
CM
482016-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
0955507f
TP
552016-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
e3e9290d
AA
932016-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
ceada896
AA
1082016-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
47f7f636
AK
1182016-08-24 Anton Kolesov <Anton.Kolesov@synopsys.com>
119
120 * elf32-arc.c (elf32_arc_grok_prstatus): New function.
121
6342be70
NC
1222016-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
eacfca90
AM
1272016-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
5fbe0d87
NC
1332016-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
888a7fc3
AM
1382016-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
dd905818
NC
1462016-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
d311bc8b
AM
1512016-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
8a2058b5
AM
1612016-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
90ac2420
AM
1792016-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
d93d1c80
AM
1852016-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
fe152e64
MR
1912016-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
a848a227
MR
1972016-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
c7318def
MR
2022016-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
68994ca2
JW
2072016-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
8a286b63
NC
2122016-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
54ddd295
TP
2252016-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
4ba2ef8f
TP
2382016-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
89d77b8a
AM
2672016-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
a94d834c
NC
2722016-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
dfdaec14
AJ
2782016-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
781bf64d
NC
2852016-08-01 Nick Clifton <nickc@redhat.com>
286
287 * po/sv.po: Updated Swedish translation.
288
147d994b
NC
2892016-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
54806ffa
MR
2962016-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
c02d11a5
CM
3022016-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
fecd57f9
L
3082016-07-21 H.J. Lu <hongjiu.lu@intel.com>
309
310 * version.m4 (BFD_VERSION): Set to 2.27.51.
311 * configure: Regenerated.
312
5df1bc57
AM
3132016-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
3192016-07-21 Thomas Preud'homme <thomas.preudhomme@arm.com>
320
321 * elflink.c (elf_output_implib): Call bfd_set_error on no symbols.
322
0064d223
JB
3232016-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
89b829a8
L
3282016-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
3ce51288
AM
3342016-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
a6ebf616
MR
3402016-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
9d862524
MR
3472016-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
7d0b9ebc
AM
3692016-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
4212b42d
AM
3772016-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
00dad9a4
AM
3832016-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
76e7a751
AM
3892016-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
76359541
TP
3992016-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
f7e8b360
NC
4132016-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
06ab6faf
AM
4272016-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
0c117286
MR
4322016-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
37567a2c
L
4382016-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
cf143069
NC
4432016-07-12 Nick Clifton <nickc@redhat.com>
444
445 * binary.c (binary_set_section_contents): Second grammar fix.
446
f231881e
DR
4472016-07-12 Douglas B Rupp <rupp@adacore.com>
448
449 * binary.c (binary_set_section_contents): Fix grammar in warning
450 message.
451
b9316f59
CM
4522016-07-11 Cupertino Miranda <cmiranda@synopsys.com>
453
454 * elf32-arc.c: made PR_DEBUG always defined.
455
08759e0f
CM
4562016-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
458653a9 4702016-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
d5a67c02
AV
4742016-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
f0728ee3
AV
4842016-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
5e866f5a
TP
4962016-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
d691934d
NC
5062016-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
f4ab0e2d
L
5192016-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
fca2a38f
NC
5252016-06-28 Nick Clifton <nickc@redhat.com>
526
1b857aee
NC
527 * elf32-bfin.c (bfin_adjust_dynamic_symbol): Fail if a COPY reloc
528 is needed.
529
fca2a38f
NC
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
7160c10d
JC
5352016-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
c9775dde
MR
5402016-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
c9301e31
AM
5602016-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
3cd72572
TS
5682016-06-27 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
569
570 * elf32-dlx.h: New file.
571 * elf32-dlx.c: Adjust.
572
7c2c4aa1
TS
5732016-06-25 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
574
575 * elf32-xtensa.c (xtensa_make_property_section): Remove prototype.
576
3350c5f5
JB
5772016-06-24 John Baldwin <jhb@FreeBSD.org>
578
579 * elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PROCSTAT_AUXV
580 notes.
581
aa1ed4a9
JB
5822016-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
6e321fa8
JB
5922016-06-24 Joel Brobecker <brobecker@adacore.com>
593
594 * elflink.c: Check the value of BFD_SUPPORTS_PLUGINS rather
595 than its existance.
596
9cc0123f
AM
5972016-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
5f68df25
MR
6022016-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
bdd582db
GM
6102016-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
7dc3990e
L
6182016-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
0616a280
AM
6302016-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
49f30d83
L
6362016-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
233cc9c1
L
6442016-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
80c135e5
TP
7052016-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
4f26fb3a
JM
7162016-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
ca45f6e9
L
7382016-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
f92339b8
MK
7442016-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
081b1afe
L
7512016-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
4c23f2ff
L
7572016-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
31eef93e
SKS
7632016-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
c428ce9d
L
7692016-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
60a019a0
TP
7772016-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
3860d2b4
AM
7902016-06-14 Alan Modra <amodra@gmail.com>
791
792 * bfd-in.h (bfd_my_archive): Delete.
793 * bfd-in2.h: Regenerate.
794
b0cffb47
AM
7952016-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
712ec279
L
8122016-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
ca8c86ef
L
8202016-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
0c9663cb
MR
8252016-06-13 Maciej W. Rozycki <macro@imgtec.com>
826
827 * elf32-mips.c (elf_mips_gnu_pcrel32): Update comment.
828
815dc1bc
CZ
8292016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
830
831 * elf32-arc.c (elf_arc_relocate_section): Fixed condition.
832
3b63d2ce
CM
8332016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
834
835 * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
836
2ab2f40d
CM
8372016-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
0f7f3789
CM
8452016-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
74d7f0aa
L
8512016-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
ef53be89
AM
8582016-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
5c41dbc3
DC
8942016-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
6eaa7fb5
L
9002016-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
3b67f094
MK
9132016-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
161db279
AK
9212016-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
14b57c7c
AM
9272016-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
e2cbcd91
L
9432016-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
2ac27cd3
CG
9562016-06-04 Christian Groessler <chris@groessler.org>
957
958 * coff-z8k.c (extra_case): Fix range check for R_JR relocation.
959
99914dfd
NC
9602016-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
4ad0bb5f
VG
9682016-06-02 Vineet Gupta <Vineet.Gupta1@synopsys.com>
969
970 * config.bfd: Replace -uclibc with *.
971
3ddf1bdd
L
9722016-06-02 H.J. Lu <hongjiu.lu@intel.com>
973
974 * elf64-x86-64.c: Replace data32 with data16 in comments.
975
5b677558
AM
9762016-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
1fe0971e
TS
9922016-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
885a1087
NC
9982016-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
99aefae6
MR
10042016-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
77434823
MR
10102016-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
1a72702b
AM
10172016-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
bc27bb05
MR
11182016-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
ceab86af
MR
11242016-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
ed53407e
MR
11302016-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
de341542 11362016-05-25 Maciej W. Rozycki <macro@imgtec.com>
ed53407e 1137
de341542
MR
1138 * elfxx-mips.c (_bfd_mips_elf_relocate_section)
1139 <bfd_reloc_outofrange>: Call `->einfo' rather than `->warning'.
1140 Call `bfd_set_error'.
1141
e6cc316a
L
11422016-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
b95a0a31
L
12042016-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
7db9a74e
MR
12192016-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
b7f28d87
JW
12242016-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
a2bea324
KS
12322016-05-23 Kuba Sejdak <jakub.sejdak@phoesys.com>
1233
1234 * config.bfd: Add entry for arm-phoenix.
1235
d7c5bd02
TP
12362016-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
daa4adae
TP
12442016-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
52bf37dd
L
12642016-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
17c6c9d9
MR
12692016-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
7d4d9709
L
12742016-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
606851fb
AM
12812016-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
3c8adaca
CZ
12872016-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
6b200de0
MR
12962016-05-19 Maciej W. Rozycki <macro@imgtec.com>
1297
1298 * config.bfd: Remove `am34-*-linux*' support.
1299
57e7d118
AM
13002016-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
9f284bf9
AM
13052016-05-19 Alan Modra <amodra@gmail.com>
1306
1307 * elf64-ppc.c (ppc64_elf_branch_reloc): Check for NULL owner
1308 before dereferencing.
1309
50498060
NC
13102016-05-18 Nick Clifton <nickc@redhat.com>
1311
1312 * po/sv.po: Updated Swedish translation.
1313
7f991970
AM
13142016-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
a43942db
MR
13192016-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
71de3413
MR
13382016-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
2168b268
L
13452016-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
4ade44b7
AM
13512016-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
2168b268 1355 dynamic tags rather than using output sections. Remove asserts.
4ade44b7
AM
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
c8e44c6d
AM
13872016-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
1997c994
AM
13942016-05-12 Alan Modra <amodra@gmail.com>
1395
1396 * elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last.
1397
8f4f9071
MF
13982016-05-11 Andrew Bennett <andrew.bennett@imgtec.com>
1399
1400 * elfxx-mips.c (print_mips_ases): Add DSPR3.
1401
a464198b
AM
14022016-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
3bd43ebc
AM
14102016-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
4e7fbb34
JW
14162016-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
4f4faa4d
TP
14212016-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
39d911fc
TP
14322016-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
6bde4c52
TP
14452016-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
b715f643
TP
14582016-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
8d9d9490
TP
14632016-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
15afaa63
TP
14872016-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
66a36822
PC
14922016-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
315350be
NC
14992016-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
9239bbd3
CM
15052016-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
73597c18
NC
15172016-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
ae1bb197
AM
15232016-05-09 Alan Modra <amodra@gmail.com>
1524
1525 * elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check.
1526
97196564
L
15272016-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
030e823c
L
15382016-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
c175a657
L
15432016-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
bedfd056
L
15522016-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
6d6a648c
MR
15762016-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
1f56df9d
JW
15822016-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
493f652c
L
15912016-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
e62b9723
L
16002016-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
c337a162
L
16212016-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
afd9acee
L
16272016-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
5522f910
NC
16322016-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
786a118c
NC
16572016-04-28 Nick Clifton <nickc@redhat.com>
1658
1659 * po/zh_CN.po: Updated Chinese (simplified) translation.
1660
91f8bf69
L
16612016-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
a6a4679f
AM
16672016-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
28cc9170
TS
16732016-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
d5486c43
L
16792016-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
6645479e
L
16882016-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
6cd255ca
L
16932016-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
4f3b23b3
NC
16982016-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
e66cdd68
L
17372016-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
5ce03cea
L
17442016-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
338c190a
L
17492016-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
466ee2af
L
17602016-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
d9689752
L
17662016-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
e6c7cdec
TS
17732016-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
b98e6871
TS
17802016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
1781
1782 * elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *.
1783
6fd8e7c2
L
17842016-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
4b0c052e
AB
17902016-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
33cbe6c0
AB
18022016-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
7634c4e6
L
18102016-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
84865015
NC
18152016-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
2df3368d
L
18512016-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
15dd01b1
TP
18742016-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
1e5885b7
CZ
18802016-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
b3aee839
CZ
18852016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
1886
1887 * elf32-arc.c (elf_arc_check_relocs): Changed
1888
094fb063
CZ
18892016-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
94e5c971
CZ
18992016-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
1f599d0e
MR
19082016-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
67f101ee
NC
19142016-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
7b15fa7a
AM
19202016-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
024ea11b
SKS
19262016-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
ed3056eb
NC
19312016-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
e2b4fc91
TS
19382016-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
a97fbc7e
AM
19442016-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
9780e045
NC
19502016-03-22 Nick Clifton <nickc@redhat.com>
1951
96254e5c
NC
1952 * cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an
1953 architecture name for backwards compatibility.
1954
7769fa97
NC
1955 * peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible
1956 unbounded stack use.
1957
9780e045
NC
1958 * warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a
1959 sufficiently recent version of GCC.
1960 * configure: Regenerate.
1961
6f4c0a42
AM
19622016-03-22 Alan Modra <amodra@gmail.com>
1963
1964 PR 19851
1965 * plugin.c (try_load_plugin): Avoid -Wstack-usage warning.
1966
8699fc3e
AB
19672016-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
a9522a21
AB
19762016-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
c0334580
AB
19832016-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
e1fa0163
NC
19882016-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
4e0c91e4
L
20022016-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
4c10bbaa
L
20112016-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
fbe48798
L
20182016-03-14 H.J. Lu <hongjiu.lu@intel.com>
2019
2020 * bfd-in2.h: Regenerated.
2021
37b01f6a
DG
20222016-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
3ed4ff97
NC
20392016-03-10 Nick Clifton <nickc@redhat.com>
2040
2041 * config.bfd: Mark the i370 target as obsolete.
2042
4b05e0a7
PA
20432016-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
26c62da0
LW
20502016-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
03ee8583
AM
20562016-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
9c1d7a08
L
20622016-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
d1ed1c7d
L
20682016-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
202ac193
L
20752016-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
72f3b6aa
CZ
20812016-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
4fc87424
NC
20962016-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
18f822a0
JW
21022016-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
07492f66
L
21072016-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
70a5df4f
AM
21142016-03-02 Alan Modra <amodra@gmail.com>
2115
2116 * Makefile.in: Regenerate.
2117 * po/SRC-POTFILES.in: Regenerate.
2118
841fdfcd
CZ
21192016-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
7e458899
CZ
21242016-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
c5e3a364
RL
21312016-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
bae420ef
L
21362016-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
11e5f1ec
L
21512016-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
aec6b87e
L
21812016-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
b32547cd
AM
22422016-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
ef77d6af
L
22512016-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
0f550b3d
L
22572016-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
13f42277
L
22632016-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
6b3b0ab8
L
22692016-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
17733f5b
FS
22752016-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
47993b4a
RF
22802016-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
2d8dcb81
HPN
22862016-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
1a6e6083
L
22922016-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
75c1920b
L
22972016-02-22 H.J. Lu <hongjiu.lu@intel.com>
2298
2299 * syms.c: Remove BSF_COMMON from comments.
2300 * bfd-in2.h: Regenerated.
2301
9a228467
JW
23022016-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
73768414
NC
23082016-02-19 Nick Clifton <nickc@redhat.com>
2309
e517df3d
NC
2310 PR ld/19629
2311 * aoutx.h (aout_link_add_symbols): Check for out of range string
2312 table offsets.
2313
73768414
NC
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
bf89386a
L
23182016-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
8f79b794
L
23242016-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
64bfc258
JM
23292016-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
9fb71ee4
NC
23362016-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
32875eb1
L
23422016-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
83da6e74
NC
23482016-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
027e9c75
NC
23572016-02-09 Nick Clifton <nickc@redhat.com>
2358
609332f1
NC
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
027e9c75
NC
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
6f57d046
SM
23672016-02-05 Simon Marchi <simon.marchi@ericsson.com>
2368
2369 * pe-mips.c (coff_mips_reloc): Fix formatting.
2370
bdbca4e6
CM
23712016-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
4f038ee5
AM
23762016-02-04 Alan Modra <amodra@gmail.com>
2377
2378 * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
2379 for big-endian.
2380
4a539596
L
23812016-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
fb06f1c0 2385 distances in the compressed_size field of the output section.
4a539596 2386
85fabe71
AM
23872016-02-02 Alan Modra <amodra@gmail.com>
2388
2389 * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
2390 ELFv2 entry optimization.
2391
14f2c699
L
23922016-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
aef28989
L
23982016-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
655ed9ea
NS
24052016-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
ec1f73bb
AM
24102016-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
b6471e6e
KR
24162016-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
0bc7245a
JK
24222016-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
2423
2424 * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
2425
6d4b2867
JDA
24262016-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
d9e3b590
L
24332016-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
bf150a0b
L
24402016-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
840855c5
MR
24462016-01-25 Maciej W. Rozycki <macro@imgtec.com>
2447
2448 * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
2449 `dynindx'.
2450
cf466c2a
NC
24512016-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
eb6b0cf4
MR
24572016-01-24 Maciej W. Rozycki <macro@imgtec.com>
2458
2459 * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
2460
e67f83e5
MR
24612016-01-24 Maciej W. Rozycki <macro@imgtec.com>
2462
2463 * elfxx-mips.c (BZ16_REG): Correct calculation.
2464
23a42089
NC
24652016-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
aebf9be7
NC
24712016-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
2f340668
JW
24812016-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
aeb70569
AM
24892016-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
de64ce13
AM
25012016-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
c603b11b
AM
25102016-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
91f68a68
MG
25162016-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
5b2c414d
JB
25212016-01-19 John Baldwin <jhb@FreeBSD.org>
2522
2523 * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
2524
34e967a5
MC
25252016-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
9ae678af
NC
25642016-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
5c14705f
AM
25752016-01-17 Alan Modra <amodra@gmail.com>
2576
2577 * configure: Regenerate.
2578
ac06903d
YU
25792016-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
109575d7
JW
25852016-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
b05a65d0
AB
25922016-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
a3dc0a7f
MR
25992016-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
d537eeb5
MR
26052016-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
43d223b5
MR
26102016-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
b2e9744f
MR
26152016-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
28d45e28
MR
26212016-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
23ba6f18
MR
26262016-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
cf8502c1
MR
26312016-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
dcb1c796
MR
26362016-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
6f2750fe
AM
26412016-01-01 Alan Modra <amodra@gmail.com>
2642
2643 Update year range in copyright notice of all files.
2644
3499769a
AM
2645For older changes see ChangeLog-2015 and doc/ChangeLog-0415
2646\f
2647Copyright (C) 2016 Free Software Foundation, Inc.
2648
2649Copying and distribution of this file, with or without modification,
2650are permitted in any medium without royalty provided the copyright
2651notice and this notice are preserved.
2652
2653Local Variables:
2654mode: change-log
2655left-margin: 8
2656fill-column: 74
2657version-control: never
2658End:
This page took 0.167174 seconds and 4 git commands to generate.