Automatic date update in version.in
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
90ac2420
AM
12016-08-12 Alan Modra <amodra@gmail.com>
2
3 * elf-bfd.h (struct elf_link_hash_table): Add local_dynsymcount.
4 * elflink.c (_bfd_elf_link_renumber_dynsyms): Set local_dynsymcount.
5 (bfd_elf_final_link): Set .dynsym sh_info from local_dynsymcount.
6
d93d1c80
AM
72016-08-11 Alan Modra <amodra@gmail.com>
8
9 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't exit with
10 non_got_ref true in any case where we could have generated dynbss
11 copies but decide not to do so.
12
fe152e64
MR
132016-08-10 Maciej W. Rozycki <macro@imgtec.com>
14
15 * elfxx-mips.c (mips_elf_add_la25_stub): Clear the ISA bit of
16 the stub address retrieved if associated with a microMIPS
17 function.
18
a848a227
MR
192016-08-10 Maciej W. Rozycki <macro@imgtec.com>
20
21 * elfxx-mips.c (mips_elf_create_stub_symbol): For a microMIPS
22 stub also add STO_MICROMIPS annotation.
23
c7318def
MR
242016-08-10 Maciej W. Rozycki <macro@imgtec.com>
25
26 * elfxx-mips.c (mips_elf_calculate_relocation): Set the ISA bit
27 in microMIPS LA25 stub references.
28
68994ca2
JW
292016-08-09 Jiaming Wei <jmwei@hxgpt.com>
30
31 * elf64-alpha.c (elf64_alpha_copy_indirect_symbol): Fix thinko
32 adjusting the use_count of merged .got entries.
33
8a286b63
NC
342016-08-08 Nick Clifton <nickc@redhat.com>
35
36 * doc/chew.c (delete_string): Only free the string buffer if it is
37 there. Mark the buffer as NULL after freeing.
38 (drop): Free the dropped string.
39 (free_words): New function: Frees the memory allocated to the
40 dictionary.
41 (add_instrinsic): Duplicate the name string, so that it can be
42 freed later on.
43 (compile): Free unused words.
44 (main): Free the dictionary and top level string buffers at the
45 end.
46
54ddd295
TP
472016-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
48
49 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add one parameter.
50 * bfd-in2.h: Regenerate.
51 * elf32-arm.c (struct elf32_arm_link_hash_table): Declare new
52 cmse_implib field.
53 (bfd_elf32_arm_set_target_relocs): Add new parameter to initialize
54 cmse_implib field in struct elf32_arm_link_hash_table.
55 (elf32_arm_filter_cmse_symbols): New function.
56 (elf32_arm_filter_implib_symbols): Likewise.
57 (elf_backend_filter_implib_symbols): Define to
58 elf32_arm_filter_implib_symbols.
59
4ba2ef8f
TP
602016-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
61
62 * elf32-arm.c (CMSE_PREFIX): Define macro.
63 (elf32_arm_stub_cmse_branch_thumb_only): Define stub sequence.
64 (cmse_branch_thumb_only): Declare stub.
65 (struct elf32_arm_link_hash_table): Define cmse_stub_sec field.
66 (elf32_arm_get_plt_info): Add globals parameter. Use it to return
67 FALSE if there is no PLT.
68 (arm_type_of_stub): Adapt to new elf32_arm_get_plt_info signature.
69 (elf32_arm_final_link_relocate): Likewise.
70 (elf32_arm_gc_sweep_hook): Likewise.
71 (elf32_arm_gc_mark_extra_sections): Mark sections holding ARMv8-M
72 secure entry functions.
73 (arm_stub_is_thumb): Add case for arm_stub_cmse_branch_thumb_only.
74 (arm_dedicated_stub_output_section_required): Change to a switch case
75 and add a case for arm_stub_cmse_branch_thumb_only.
76 (arm_dedicated_stub_output_section_required_alignment): Likewise.
77 (arm_stub_dedicated_output_section_name): Likewise.
78 (arm_stub_dedicated_input_section_ptr): Likewise and remove
79 ATTRIBUTE_UNUSED for htab parameter.
80 (arm_stub_required_alignment): Likewise.
81 (arm_stub_sym_claimed): Likewise.
82 (arm_dedicated_stub_section_padding): Likewise.
83 (cmse_scan): New function.
84 (elf32_arm_size_stubs): Call cmse_scan for ARM M profile targets.
85 Set stub_changed to TRUE if such veneers were created.
86 (elf32_arm_swap_symbol_in): Add detection code for CMSE special
87 symbols.
88
89d77b8a
AM
892016-08-02 Alan Modra <amodra@gmail.com>
90
91 PR ld/20428
92 * elf64-ppc.c (ppc_get_stub_entry): Don't segfault on NULL group.
93
a94d834c
NC
942016-08-02 Nick Clifton <nickc@redhat.com>
95
96 PR ld/17739
97 * elf32-sh.c (sh_elf_gc_sweep_hook): Delete.
98 (elf_backend_sweep_hook): Delete.
99
dfdaec14
AJ
1002016-08-01 Andrew Jenner <andrew@codesourcery.com>
101 Kwok Cheung Yeung <kcy@codesourcery.com>
102
103 * elf32-ppc.c (is_branch_reloc): Recognise VLE branch relocations.
104 (ppc_elf_howto_raw): Fix dst_mask of R_PPC_VLE_REL15.
105 (ppc_elf_vle_split16): Clear field before inserting.
106
781bf64d
NC
1072016-08-01 Nick Clifton <nickc@redhat.com>
108
109 * po/sv.po: Updated Swedish translation.
110
147d994b
NC
1112016-07-27 Ozkan Sezer <sezeroz@gmail.com>
112 Nick Clifton <nickc@redhat.com>
113
114 PR ld/20401
115 * coffgen.c (fini_reloc_cookie_rels): Check for the extistence
116 of the coff_section_data before using it.
117
54806ffa
MR
1182016-07-26 Maciej W. Rozycki <macro@imgtec.com>
119
120 * elfxx-mips.c (mips_elf_calculate_relocation): Handle branches
121 in PLT compression selection.
122 (_bfd_mips_elf_check_relocs): Likewise.
123
c02d11a5
CM
1242016-07-22 Cupertino Miranda <cmiranda@synopsys.com>
125
126 * arc-got.h (relocate_fix_got_relocs_for_got_info): Handle the
127 case where there's no elf_link_hash_entry while processing
128 GOT_NORMAL got entries.
129
fecd57f9
L
1302016-07-21 H.J. Lu <hongjiu.lu@intel.com>
131
132 * version.m4 (BFD_VERSION): Set to 2.27.51.
133 * configure: Regenerated.
134
5df1bc57
AM
1352016-07-21 Nick Clifton <nickc@redhat.com>
136
137 * elf.c (_bfd_elf_filter_global_symbols): Skip local symbols.
138 (swap_out_syms): Return an error when not finding ELF output
139 section rather than asserting.
140
1412016-07-21 Thomas Preud'homme <thomas.preudhomme@arm.com>
142
143 * elflink.c (elf_output_implib): Call bfd_set_error on no symbols.
144
0064d223
JB
1452016-07-20 John Baldwin <jhb@FreeBSD.org>
146
147 * elf.c (elfcore_grok_freebsd_psinfo): Check for minimum note size
148 and handle pr_pid if present.
149
89b829a8
L
1502016-07-20 H.J. Lu <hongjiu.lu@intel.com>
151
152 PR ld/20376
153 * elf.c (assign_file_positions_for_load_sections): Also check
154 p_paddr for program header space.
155
3ce51288
AM
1562016-07-20 Alan Modra <amodra@gmail.com>
157
158 * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_PLTREL32>): Put
159 ppc64_elf_unhandled_reloc for special_function.
160 * elf32-ppc.c (ppc_elf_howto_raw): Similarly for lots of relocs.
161
a6ebf616
MR
1622016-07-19 Maciej W. Rozycki <macro@imgtec.com>
163
164 * elfxx-mips.c (mips_elf_perform_relocation): Convert cross-mode
165 BAL to JALX.
166 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add a
167 corresponding error message.
168
9d862524
MR
1692016-07-19 Maciej W. Rozycki <macro@imgtec.com>
170
171 * elfxx-mips.c (b_reloc_p): Add R_MICROMIPS_PC16_S1,
172 R_MICROMIPS_PC10_S1 and R_MICROMIPS_PC7_S1.
173 (branch_reloc_p): New function.
174 (mips_elf_calculate_relocation): Handle ISA mode determination
175 for relocations against section symbols, against absolute
176 symbols and absolute relocations. Also set `*cross_mode_jump_p'
177 for branches.
178 <R_MIPS16_26, R_MIPS_26, R_MICROMIPS_26_S1>: Suppress alignment
179 checks for weak undefined symbols. Also check target alignment
180 within the same ISA mode.
181 <R_MIPS_PC16, R_MIPS_GNU_REL16_S2>: Handle cross-mode branches
182 in the alignment check.
183 <R_MICROMIPS_PC7_S1>: Add an alignment check.
184 <R_MICROMIPS_PC10_S1>: Likewise.
185 <R_MICROMIPS_PC16_S1>: Likewise.
186 (mips_elf_perform_relocation): Report a failure for unsupported
187 same-mode JALX instructions and cross-mode branches.
188 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add
189 error messages for jumps to misaligned addresses.
190
7d0b9ebc
AM
1912016-07-16 Alan Modra <amodra@gmail.com>
192
193 * elflink.c: Include plugin-api.h.
194 * plugin.c (bfd_plugin_open_input): New function, extracted from..
195 (try_claim): ..here.
196 * plugin.h: Don't include bfd.h.
197 (bfd_plugin_open_input): Declare.
198
4212b42d
AM
1992016-07-16 Alan Modra <amodra@gmail.com>
200
201 * targets.c (bfd_seach_for_target): Rename to..
202 (bfd_iterate_over_targets): ..this. Rewrite doc.
203 * bfd-in2.h: Regenerate.
204
00dad9a4
AM
2052016-07-16 Alan Modra <amodra@gmail.com>
206
207 * archures.c (bfd_default_set_arch_mach): Make available in bfd.h.
208 * libbfd.h: Regenerate.
209 * bfd-in2.h: Regenerate.
210
76e7a751
AM
2112016-07-16 Alan Modra <amodra@gmail.com>
212
213 * libbfd-in.h (BFD_ALIGN): Move to..
214 * bfd-in.h: ..here.
215 * elf32-ppc.h (struct ppc_elf_params): Add pagesize.
216 * elf32-ppc.c (default_params): Adjust init.
217 (ppc_elf_link_params): Set pagesize_p2.
218 * libbfd.h: Regenerate.
219 * bfd-in2.h: Regenerate.
220
76359541
TP
2212016-07-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
222
223 * elf-bfd.h (elf_backend_filter_implib_symbols): Declare backend hook.
224 (_bfd_elf_filter_global_symbols): Declare.
225 * elf.c (_bfd_elf_filter_global_symbols): New function.
226 * elflink.c (elf_filter_global_symbols): Likewise.
227 (elf_output_implib): Likewise.
228 (bfd_elf_final_link): Call above function, failing if it does.
229 * elfxx-target.h (elf_backend_filter_implib_symbols): Define macro and
230 default it to NULL.
231 (elf_backend_copy_indirect_symbol): Fix spacing.
232 (elf_backend_hide_symbol): Likewise.
233 (elfNN_bed): Initialize elf_backend_filter_implib_symbols backend hook.
234
f7e8b360
NC
2352016-07-15 Andrew Burgess <andrew.burgess@embecosm.com>
236 Nick Clifton <nickc@redhat.com>
237
238 * elf32-arc.c (PR_DEBUG): Delete.
239 Fix printing of debug information. Fix formatting of debug
240 statements.
241 (debug_arc_reloc): Handle symbols that are not from an input file.
242 (arc_do_relocation): Remove excessive exclamation points.
243
244 * arc-got.h: Fix formatting. Fix printing of debug information.
245 (new_got_entry_to_list): Use xmalloc.
246 * config.bfd: use the big-endian arc vector as the default vector
247 for big-endian arc targets.
248
06ab6faf
AM
2492016-07-15 Alan Modra <amodra@gmail.com>
250
251 * cofflink.c (mark_relocs): Exclude relocs with -1 r_symndx
252 from marking sym_indices.
253
0c117286
MR
2542016-07-14 Maciej W. Rozycki <macro@imgtec.com>
255
256 * reloc.c (bfd_perform_relocation): Try the `howto' handler
257 first with relocations against absolute symbols.
258 (bfd_install_relocation): Likewise.
259
37567a2c
L
2602016-07-12 H.J. Lu <hongjiu.lu@intel.com>
261
262 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
263 .got/.got.plt sections to 8 bytes.
264
cf143069
NC
2652016-07-12 Nick Clifton <nickc@redhat.com>
266
267 * binary.c (binary_set_section_contents): Second grammar fix.
268
f231881e
DR
2692016-07-12 Douglas B Rupp <rupp@adacore.com>
270
271 * binary.c (binary_set_section_contents): Fix grammar in warning
272 message.
273
b9316f59
CM
2742016-07-11 Cupertino Miranda <cmiranda@synopsys.com>
275
276 * elf32-arc.c: made PR_DEBUG always defined.
277
08759e0f
CM
2782016-07-11 Cupertino Miranda <cmiranda@synopsys.com>
279
280 * arc-got.h: Moved got related structures from elf32-arc.c to
281 this file. More precisely, tls_type_e, tls_got_entries, got_entry.
282 * (arc_get_local_got_ents, got_entry_for_type, new_got_entry_to_list,
283 tls_type_for_reloc, symbol_has_entry_of_type,
284 get_got_entry_list_for_symbol, arc_got_entry_type_for_reloc,
285 ADD_SYMBOL_REF_SEC_AND_RELOC, rc_fill_got_info_for_reloc,
286 relocate_fix_got_relocs_for_got_info,
287 create_got_dynrelocs_for_single_entry,
288 create_got_dynrelocs_for_got_info): Added to file.
289 * elf32-arc.c: Removed GOT & TLS related structs and functions to
290 arc-got.h.
291
458653a9 2922016-07-08 James Bowman <james.bowman@ftdichip.com>
293
294 * elf32-ft32.c (ft32_reloc_map): Use R_FT32_32 for BFD_RELOC_32.
295
d5a67c02
AV
2962016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com>
297
298 * elf32-arm.c (THUMB32_MOVT): New veneer macro.
299 (THUMB32_MOVW): Likewise.
300 (elf32_arm_stub_long_branch_thumb2_only_pure): New.
301 (DEF_STUBS): Define long_branch_thumb2_only_pure.
302 (arm_stub_is_thumb): Add new veneer stub.
303 (arm_type_of_stub): Use new veneer.
304 (arm_stub_required_alignment): Add new veneer.
305
f0728ee3
AV
3062016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com>
307
308 * bfd-in2.h (SEC_ELF_NOREAD): Rename to ...
309 (SEC_ELF_PURECODE): ... this.
310 * elf32-arm.c (elf32_arm_post_process_headers): Rename SEC_ELF_NOREAD
311 to SEC_ELF_NOREAD.
312 (elf32_arm_fake_sections): Likewise.
313 (elf_32_arm_section_flags): Likewise.
314 (elf_32_arm_lookup_section_flags): Likewise.
315 * section.c (SEC_ELF_NOREAD): Rename to ...
316 (SEC_ELF_PURECODE): ... this.
317
5e866f5a
TP
3182016-07-01 Thomas Preud'homme <thomas.preudhomme@arm.com>
319
320 * elf32-arm.c (using_thumb2_bl): New function.
321 (arm_type_of_stub): Declare thumb2 variable together and change type
322 to bfd_boolean. Use using_thumb2_bl () to determine whether
323 THM_MAX_FWD_BRANCH_OFFSET or THM2_MAX_FWD_BRANCH_OFFSET should be
324 checked for BL range.
325 (elf32_arm_final_link_relocate): Use using_thumb2_bl () to determine
326 the bit size of BL offset.
327
d691934d
NC
3282016-06-29 Nick Clifton <nickc@redhat.com>
329
330 * elfnn-aarch64.c (is_aarch64_mapping_symbol): New function.
331 Returns TRUE for AArch64 mapping symbols.
332 (elfNN_aarch64_backend_symbol_processing): New function. Marks
333 mapping symbols as precious in object files so that they will not
334 be stripped.
335 (elf_backend_symbol_processing): Define.
336
337 * elf32-arm.c (is_arm_mapping_symbol): New function. Returns TRUE
338 for ARM mapping symbols.
339 (elf32_arm_backend_symbol_processing): Make use of the new function.
340
f4ab0e2d
L
3412016-06-28 H.J. Lu <hongjiu.lu@intel.com>
342
343 PR ld/20306
344 * elflink.c (elf_link_check_versioned_symbol): Return false
345 for unreferenced undefined symbol.
346
fca2a38f
NC
3472016-06-28 Nick Clifton <nickc@redhat.com>
348
1b857aee
NC
349 * elf32-bfin.c (bfin_adjust_dynamic_symbol): Fail if a COPY reloc
350 is needed.
351
fca2a38f
NC
352 * elf32-arm.c (elf32_arm_backend_symbol_processing): New
353 function. Marks mapping symbols in object files as precious, so
354 that strip will not remove them.
355 (elf_backend_symbol_processing): Define.
356
7160c10d
JC
3572016-06-28 James Clarke <jrtc27@jrtc27.com>
358
359 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert
360 R_SPARC_32 to R_SPARC_RELATIVE if class is ELFCLASS64.
361
c9775dde
MR
3622016-06-28 Maciej W. Rozycki <macro@imgtec.com>
363
364 * elf32-mips.c (elf_mips16_howto_table_rel): Add
365 R_MIPS16_PC16_S1.
366 (mips16_reloc_map): Likewise.
367 * elf64-mips.c (mips16_elf64_howto_table_rel): Likewise.
368 (mips16_elf64_howto_table_rela): Likewise.
369 (mips16_reloc_map): Likewise.
370 * elfn32-mips.c (elf_mips16_howto_table_rel): Likewise.
371 (elf_mips16_howto_table_rela): Likewise.
372 (mips16_reloc_map): Likewise.
373 * elfxx-mips.c (mips16_branch_reloc_p): New function.
374 (mips16_reloc_p): Handle R_MIPS16_PC16_S1.
375 (b_reloc_p): Likewise.
376 (mips_elf_calculate_relocation): Likewise.
377 (_bfd_mips_elf_check_relocs): Likewise.
378 * reloc.c (BFD_RELOC_MIPS16_16_PCREL_S1): New relocation.
379 * bfd-in2.h: Regenerate.
380 * libbfd.h: Regenerate.
381
c9301e31
AM
3822016-06-27 Alan Modra <amodra@gmail.com>
383
384 PR ld/19264
385 * elf64-ppc.c (STUB_SHRINK_ITER): Define.
386 (ppc64_elf_size_stubs): Exit stub sizing loop past STUB_SHRINK_ITER
387 if shrinking stubs.
388 (ppc64_elf_size_stubs): Adjust to suit.
389
3cd72572
TS
3902016-06-27 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
391
392 * elf32-dlx.h: New file.
393 * elf32-dlx.c: Adjust.
394
7c2c4aa1
TS
3952016-06-25 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
396
397 * elf32-xtensa.c (xtensa_make_property_section): Remove prototype.
398
3350c5f5
JB
3992016-06-24 John Baldwin <jhb@FreeBSD.org>
400
401 * elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PROCSTAT_AUXV
402 notes.
403
aa1ed4a9
JB
4042016-06-24 John Baldwin <jhb@FreeBSD.org>
405
406 * elf.c (elfcore_grok_note): Remove handling of NT_X86_XSTATE for
407 FreeBSD. Remove case for NT_FREEBSD_THRMISC.
408 (elfcore_grok_freebsd_psinfo): New function.
409 (elfcore_grok_freebsd_prstatus): New function.
410 (elfcore_grok_freebsd_note): New function.
411 (elf_parse_notes): Use "elfcore_grok_freebsd_note" for "FreeBSD"
412 notes.
413
6e321fa8
JB
4142016-06-24 Joel Brobecker <brobecker@adacore.com>
415
416 * elflink.c: Check the value of BFD_SUPPORTS_PLUGINS rather
417 than its existance.
418
9cc0123f
AM
4192016-06-24 Alan Modra <amodra@gmail.com>
420
421 * config.bfd: Delete mips vxworks patterns matched earlier.
422 Combine mips*-*-none with mips*-*-elf*.
423
5f68df25
MR
4242016-06-21 Maciej W. Rozycki <macro@imgtec.com>
425
426 * elfxx-mips.c (mips_elf_perform_relocation): Call
427 `info->callbacks->einfo' rather than `*_bfd_error_handler' and
428 use the `%X%H' format for the cross-mode jump conversion error
429 message. Remove the full stop from the end of the message.
430 Continue processing rather than returning failure.
431
bdd582db
GM
4322016-06-21 Graham Markall <graham.markall@embecosm.com>
433
434 * archures.c: Remove bfd_mach_arc_nps400.
435 * bfd-in2.h: Likewise.
436 * cpu-arc.c (arch_info_struct): Likewise.
437 * elf32-arc.c (arc_elf_object_p, arc_elf_final_write_processing):
438 Likewise.
439
7dc3990e
L
4402016-06-20 H.J. Lu <hongjiu.lu@intel.com>
441
442 PR ld/18250
443 PR ld/20267
444 * elflink.c: Include plugin.h if BFD_SUPPORTS_PLUGINS is
445 defined.
446 (elf_link_is_defined_archive_symbol): Call
447 bfd_link_plugin_object_p on unknown plugin object and use the
448 IR symbol table if the input is an IR object.
449 * plugin.c (bfd_link_plugin_object_p): New function.
450 * plugin.h (bfd_link_plugin_object_p): New prototype.
451
0616a280
AM
4522016-06-20 H.J. Lu <hongjiu.lu@intel.com>
453
454 PR ld/20276
455 * elflink.c (elf_link_add_object_symbols): Don't check alignment
456 on symbol from plugin dummy input.
457
49f30d83
L
4582016-06-18 H.J. Lu <hongjiu.lu@intel.com>
459
460 * bfd.c (bfd_plugin_format): Rename bfd_plugin_uknown to
461 bfd_plugin_unknown.
462 * bfd-in2.h: Regenerated.
463 * plugin.c (bfd_plugin_object_p): Replace bfd_plugin_uknown
464 with bfd_plugin_unknown.
465
233cc9c1
L
4662016-06-18 H.J. Lu <hongjiu.lu@intel.com>
467
468 PR ld/20253
469 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add an
470 bfd_boolean argument.
471 * elf-ifunc.c (_bfd_elf_create_ifunc_sections): Replace
472 "shared object" with "PIC object" in comments.
473 (_bfd_elf_allocate_ifunc_dyn_relocs): Updated. Replace
474 "shared object" with "PIC object" in comments. Avoid PLT if
475 requested. Generate dynamic relocations for non-GOT references.
476 Make room for the special first entry in PLT and allocate PLT
477 entry only for PLT and PC-relative references. Store dynamic
478 GOT relocations in .rel[a].iplt section for static executables.
479 If PLT isn't used, always use GOT for symbol value. Don't
480 allocate GOT entry if it isn't used.
481 * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
482 count only in the code section. Allocate dynamic pointer
483 relocation against STT_GNU_IFUNC symbol in the non-code section.
484 (elf_i386_adjust_dynamic_symbol): Increment PLT reference count
485 only for PC-relative references.
486 (elf_i386_allocate_dynrelocs): Pass TRUE to
487 _bfd_elf_allocate_ifunc_dyn_relocs.
488 (elf_i386_relocate_section): Allow R_386_GOT32/R_386_GOT32X
489 relocations against STT_GNU_IFUNC symbols without PLT. Generate
490 dynamic pointer relocation against STT_GNU_IFUNC symbol in
491 the non-code section and store it in the proper REL section.
492 Don't allow non-pointer relocation against STT_GNU_IFUNC symbol
493 without PLT.
494 (elf_i386_finish_dynamic_symbol): Generate dynamic
495 R_386_IRELATIVE and R_386_GLOB_DAT GOT relocations against
496 STT_GNU_IFUNC symbols without PLT.
497 (elf_i386_finish_dynamic_sections): Don't handle local
498 STT_GNU_IFUNC symbols here.
499 (elf_i386_output_arch_local_syms): Handle local STT_GNU_IFUNC
500 symbols here.
501 (elf_backend_output_arch_local_syms): New.
502 * elf32-x86-64.c (elf_i386_check_relocs): Increment PLT reference
503 count only in the code section. Allocate dynamic pointer
504 relocation against STT_GNU_IFUNC symbol in the non-code section.
505 (elf_x86_64_adjust_dynamic_symbol): Increment PLT reference
506 count only for PC-relative references.
507 (elf_x86_64_allocate_dynrelocs): Pass TRUE to
508 _bfd_elf_allocate_ifunc_dyn_relocs.
509 (elf_x86_64_relocate_section): Allow R_X86_64_GOTPCREL,
510 R_X86_64_GOTPCRELX, R_X86_64_REX_GOTPCRELX and
511 R_X86_64_GOTPCREL64 relocations against STT_GNU_IFUNC symbols
512 without PLT. Generate dynamic pointer relocation against
513 STT_GNU_IFUNC symbol in the non-code section and store it in
514 the proper RELA section. Don't allow non-pointer relocation
515 against STT_GNU_IFUNC symbol without PLT.
516 (elf_x86_64_finish_dynamic_symbol): Generate dynamic
517 R_X86_64_IRELATIVE and R_X86_64_GLOB_DAT GOT relocations against
518 STT_GNU_IFUNC symbols without PLT.
519 (elf_x86_64_finish_dynamic_sections): Don't handle local
520 STT_GNU_IFUNC symbols here.
521 (elf_x86_64_output_arch_local_syms): Handle local STT_GNU_IFUNC
522 symbols here.
523 (elf_backend_output_arch_local_syms): New.
524 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
525 Pass FALSE to _bfd_elf_allocate_ifunc_dyn_relocs.
526
80c135e5
TP
5272016-06-17 Thomas Preud'homme <thomas.preudhomme@arm.com>
528 Tony Wang <tony.wang@arm.com>
529
530 * elf32-arm.c (elf32_arm_stub_long_branch_thumb2_only): Define stub
531 sequence.
532 (stub_long_branch_thumb2_only): Define stub.
533 (arm_stub_is_thumb): Add case for arm_stub_long_branch_thumb2_only.
534 (arm_stub_long_branch_thumb2_only): Likewise.
535 (arm_type_of_stub): Use arm_stub_long_branch_thumb2_only for Thumb-2
536 capable targets.
537
4f26fb3a
JM
5382016-06-17 Jose E. Marchesi <jose.marchesi@oracle.com>
539
540 * archures.c (bfd_mach_sparc_v8plusc): Define.
541 (bfd_mach_sparc_v9c): Likewise.
542 (bfd_mach_sparc_v8plusd): Likewise.
543 (bfd_mach_sparc_v9d): Likewise.
544 (bfd_mach_sparc_v8pluse): Likewise.
545 (bfd_mach_sparc_v9e): Likewise.
546 (bfd_mach_sparc_v8plusv): Likewise
547 (bfd_mach_sparc_v9v): Likewise.
548 (bfd_mach_sparc_v8plusm): Likewise.
549 (bfd_mach_sparc_v9m): Likewise.
550 (bfd_mach_sparc_v9_p): Adapt to v8plusm and v9m.
551 (bfd_mach_sparc_64bit_p): Likewise.
552 * bfd-in2.h: Regenerate.
553 * cpu-sparc.c (arch_info_struct): Add entries for
554 bfd_mach_sparc_v8plus{c,d,e,v,m} and bfd_mach_sparc_v9{c,d,e,v,m}.
555 * aoutx.h (machine_type): Handle bfd_mach_sparc_v8plus{c,d,e,v,m}
556 and bfd_mach_sparc_v9{c,d,e,v,m}.
557 * elf32-sparc.c (elf32_sparc_final_write_processing): Likewise.
558 * elfxx-sparc.c (_bfd_sparc_elf_object_p): Likewise.
559
ca45f6e9
L
5602016-06-16 H.J. Lu <hongjiu.lu@intel.com>
561
562 * elf32-i386.c (elf_i386_check_relocs): Don't check undefined
563 symbols for relocations against IFUNC symbols.
564 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
565
f92339b8
MK
5662016-06-16 Marcin Kościelnicki <koriakin@0x04.net>
567
568 * elf32-s390.c (elf_s390_finish_dynamic_sections): Include
569 .rela.iplt in DT_PLTRELSZ.
570 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise,
571 for DT_PLTRELSZ and DT_RELASZ as well.
572
081b1afe
L
5732016-06-16 H.J. Lu <hongjiu.lu@intel.com>
574
575 * elf32-i386.c (elf_i386_check_relocs): Skip relocations in
576 non-loaded, non-alloced sections.
577 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
578
4c23f2ff
L
5792016-06-15 H.J. Lu <hongjiu.lu@intel.com>
580
581 * elf32-i386.c (elf_i386_check_relocs): Check SEC_ALLOC before
582 allocating dynamic relocation.
583 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
584
31eef93e
SKS
5852016-06-14 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
586
587 PR ld/20254
588 * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust reloc
589 offsets until reloc_toaddr.
590
c428ce9d
L
5912016-06-14 H.J. Lu <hongjiu.lu@intel.com>
592
593 * elf32-i386.c (elf_i386_reloc_type_class): Check R_386_IRELATIVE.
594 Don't check symbol type for STN_UNDEF symbol index.
595 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Check
596 R_X86_64_IRELATIVE. Don't check symbol type for STN_UNDEF symbol
597 index.
598
60a019a0
TP
5992016-06-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
600
601 * elf32-arm.c (using_thumb_only): Force review of arch check logic for
602 new architecture.
603 (using_thumb2): Try Tag_THUMB_ISA_use first and check
604 for exact arch value then. Force review of arch check logic for new
605 architecture.
606 (arch_has_arm_nop): Update and fix arch check logic. Force review of
607 that logic for new architecture.
608 (arch_has_thumb2_nop): Remove.
609 (elf32_arm_tls_relax): Use using_thumb2 instead of above function.
610 (elf32_arm_final_link_relocate): Likewise but using thumb2.
611
3860d2b4
AM
6122016-06-14 Alan Modra <amodra@gmail.com>
613
614 * bfd-in.h (bfd_my_archive): Delete.
615 * bfd-in2.h: Regenerate.
616
b0cffb47
AM
6172016-06-14 Alan Modra <amodra@gmail.com>
618
619 PR ld/20241
620 * archive.c (open_nested_file): Set my_archive.
621 * bfd.c (_bfd_default_error_handler <%B>): Exclude archive file name
622 for thin archives.
623 * bfdio.c (bfd_tell): Don't adjust origin for thin archives.
624 (bfd_seek): Likewise.
625 * bfdwin.c (bfd_get_file_window): Likewise.
626 * cache.c (cache_bmmap): Likewise.
627 (bfd_cache_lookup_worker): Don't look in my_archive for thin archives.
628 * mach-o.c (bfd_mach_o_follow_dsym): Don't open my_archive for
629 thin archives.
630 * plugin.c (try_claim): Likewise.
631 * xcofflink.c (xcoff_link_add_dynamic_symbols): Use import path of
632 file within thin archive, not the archive.
633
712ec279
L
6342016-06-13 H.J. Lu <hongjiu.lu@intel.com>
635
636 PR ld/20244
637 * elf32-i386.c (elf_i386_relocate_section): Add the .got.plt
638 section address for R_386_GOT32/R_386_GOT32X relocations against
639 IFUNC symbols if there is no base register and return error for
640 PIC.
641
ca8c86ef
L
6422016-06-13 H.J. Lu <hongjiu.lu@intel.com>
643
644 * elf32-i386.c (elf_i386_relocate_section): Simplify IFUNC
645 GOT32 adjustment for static executables.
646
0c9663cb
MR
6472016-06-13 Maciej W. Rozycki <macro@imgtec.com>
648
649 * elf32-mips.c (elf_mips_gnu_pcrel32): Update comment.
650
815dc1bc
CZ
6512016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
652
653 * elf32-arc.c (elf_arc_relocate_section): Fixed condition.
654
3b63d2ce
CM
6552016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
656
657 * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
658
2ab2f40d
CM
6592016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
660
661 * elf32-arc.c (arc_local_data, arc_local_data): Removed.
662 (SECTSTART): Changed.
663 (elf_arc_relocate_section): Fixed mistake in PIE related
664 condition.
665 (elf_arc_size_dynamic_sections): Changed DT_RELENT to DT_RELAENT.
666
0f7f3789
CM
6672016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
668
669 * elf32-arc.c (elf32_arc_reloc_type_class): Defined function to
670 enable support for "-z combreloc" and DT_RELACOUNT.
671 (elf_backend_reloc_type_class): Likewise
672
74d7f0aa
L
6732016-06-11 H.J. Lu <hongjiu.lu@intel.com>
674
675 PR ld/20244
676 * elf32-i386.c (elf_i386_relocate_section): When relocating
677 R_386_GOT32, return error without a base register for PIC and
678 subtract the .got.plt section address only with a base register.
679
ef53be89
AM
6802016-06-10 Alan Modra <amodra@gmail.com>
681
682 * elf-strtab.c (struct strtab_save): Use size_t for "size".
683 (struct elf_strtab_hash): Likewise for "size" and "alloced".
684 (_bfd_elf_strtab_init): Formatting.
685 (_bfd_elf_strtab_add): Return size_t rather than bfd_size_type.
686 (_bfd_elf_strtab_addref): Take size_t idx param.
687 (_bfd_elf_strtab_delref, _bfd_elf_strtab_refcount): Likewise.
688 (_bfd_elf_strtab_offset): Likewise.
689 (_bfd_elf_strtab_clear_all_refs): Use size_t idx.
690 (_bfd_elf_strtab_save): Use size_t "idx" and "size" vars.
691 (_bfd_elf_strtab_restore, _bfd_elf_strtab_emit): Similarly.
692 (_bfd_elf_strtab_finalize): Similarly.
693 * elf-bfd.h (_bfd_elf_strtab_add): Update prototypes.
694 (_bfd_elf_strtab_addref, _bfd_elf_strtab_delref): Likewise.
695 (_bfd_elf_strtab_refcount, _bfd_elf_strtab_offset): Likewise.
696 * elf.c (bfd_elf_get_elf_syms): Calculate symbol buffer size
697 using bfd_size_type.
698 (bfd_section_from_shdr): Delete amt.
699 (_bfd_elf_init_reloc_shdr): Likewise.
700 (_bfd_elf_link_assign_sym_version): Likewise.
701 (assign_section_numbers): Use size_t reloc_count.
702 * elflink.c (struct elf_symbuf_head): Use size_t "count".
703 (bfd_elf_link_record_dynamic_symbol): Use size_t for some vars.
704 (elf_link_is_defined_archive_symbol): Likewise.
705 (elf_add_dt_needed_tag): Likewise.
706 (elf_finalize_dynstr): Likewise.
707 (elf_link_add_object_symbols): Likewise.
708 (bfd_elf_size_dynamic_sections): Likewise.
709 (elf_create_symbuf): Similarly.
710 (bfd_elf_match_symbols_in_sections): Likewise.
711 (elf_link_swap_symbols_out): Likewise.
712 (elf_link_check_versioned_symbol): Likewise.
713 (bfd_elf_gc_record_vtinherit): Likewise.
714 (bfd_elf_gc_common_finalize_got_offsets): Likewise.
715
5c41dbc3
DC
7162016-06-08 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
717
718 PR ld/20221
719 * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust syms
720 and relocs only if shrinking occurred.
721
6eaa7fb5
L
7222016-06-08 H.J. Lu <hongjiu.lu@intel.com>
723
724 * elf64-i386.c (elf_i386_link_hash_entry): Add tls_get_addr.
725 (elf_i386_link_hash_newfunc): Initialize tls_get_addr to 2.
726 (elf_i386_check_tls_transition): Check indirect call and direct
727 call with the addr32 prefix for general and local dynamic models.
728 Set the tls_get_addr feild.
729 (elf_i386_convert_load_reloc): Always use addr32 prefix for
730 indirect ___tls_get_addr call via GOT.
731 (elf_i386_relocate_section): Handle GD->LE, GD->IE and LD->LE
732 transitions with indirect call and direct call with the addr32
733 prefix.
734
3b67f094
MK
7352016-06-07 Marcin Kościelnicki <koriakin@0x04.net>
736
737 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Fix comment.
738 * elf64-s390.c (elf_s390x_plt_entry): Fix comment.
739 (elf_s390_relocate_section): Fix comment.
740 (elf_s390_finish_dynamic_sections): Fix initialization of fixed
741 .got.plt entries.
742
161db279
AK
7432016-06-07 Ulrich Weigand <ulrich.weigand@de.ibm.com>
744
745 * elf64-s390.c (elf_s390_finish_dynamic_sections): Subtract plt
746 section offset when calculation the larl operand in the first PLT
747 entry.
748
14b57c7c
AM
7492016-06-07 Alan Modra <amodra@gmail.com>
750
751 * cpu-powerpc.c (powerpc_compatible): Allow bfd_mach_ppc_vle entry
752 to match other 32-bit archs.
753 * elf32-ppc.c (_bfd_elf_ppc_set_arch): New function.
754 (ppc_elf_object_p): Call it.
755 (ppc_elf_special_sections): Use APUINFO_SECTION_NAME. Fix
756 overlong line.
757 (APUINFO_SECTION_NAME, APUINFO_LABEL): Don't define here.
758 * elf64-ppc.c (ppc64_elf_object_p): Call _bfd_elf_ppc_set_arch.
759 * bfd-in.h (_bfd_elf_ppc_at_tls_transform,
760 _bfd_elf_ppc_at_tprel_transform): Move to..
761 * elf-bfd.h: ..here.
762 (_bfd_elf_ppc_set_arch): Declare.
763 * bfd-in2.h: Regenerate.
764
e2cbcd91
L
7652016-06-06 H.J. Lu <hongjiu.lu@intel.com>
766
767 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add tls_get_addr.
768 (elf_x86_64_link_hash_newfunc): Initialize tls_get_addr to 2.
769 (elf_x86_64_check_tls_transition): Check indirect call and
770 direct call with the addr32 prefix for general and local dynamic
771 models. Set the tls_get_addr feild.
772 (elf_x86_64_convert_load_reloc): Always use addr32 prefix for
773 indirect __tls_get_addr call via GOT.
774 (elf_x86_64_relocate_section): Handle GD->LE, GD->IE and LD->LE
775 transitions with indirect call and direct call with the addr32
776 prefix.
777
2ac27cd3
CG
7782016-06-04 Christian Groessler <chris@groessler.org>
779
780 * coff-z8k.c (extra_case): Fix range check for R_JR relocation.
781
99914dfd
NC
7822016-06-02 Nick Clifton <nickc@redhat.com>
783
784 PR target/20088
785 * cpu-arm.c (processors): Add "arm_any" type to match any ARM
786 architecture.
787 (arch_info_struct): Likewise.
788 (architectures): Likewise.
789
4ad0bb5f
VG
7902016-06-02 Vineet Gupta <Vineet.Gupta1@synopsys.com>
791
792 * config.bfd: Replace -uclibc with *.
793
3ddf1bdd
L
7942016-06-02 H.J. Lu <hongjiu.lu@intel.com>
795
796 * elf64-x86-64.c: Replace data32 with data16 in comments.
797
5b677558
AM
7982016-05-31 Alan Modra <amodra@gmail.com>
799
800 PR ld/20159
801 PR ld/16467
802 * elflink.c (_bfd_elf_merge_symbol): Revert PR16467 change.
803 (_bfd_elf_add_default_symbol): Don't indirect to/from defined
804 symbol given a version by a script different to the version
805 of the symbol being added.
806 (elf_link_add_object_symbols): Use _bfd_elf_strtab_save and
807 _bfd_elf_strtab_restore. Don't fudge dynstr references.
808 * elf-strtab.c (_bfd_elf_strtab_restore_size): Delete.
809 (struct strtab_save): New.
810 (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): New functions.
811 * elf-bfd.h (_bfd_elf_strtab_restore_size): Delete.
812 (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): Declare.
813
1fe0971e
TS
8142016-06-01 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
815
816 * elf32-hppa.h: Add extern "C".
817 * elf32-nds32.h: Likewise.
818 * elf32-tic6x.h: Likewise.
819
885a1087
NC
8202016-06-01 Nick Clifton <nickc@redhat.com>
821
822 * po/sr.po: New Serbian translation.
823 * configure.ac (ALL_LINGUAS): Add sr.
824 * configure: Regenerate.
825
99aefae6
MR
8262016-05-28 Maciej W. Rozycki <macro@imgtec.com>
827
828 * elfxx-mips.c (b_reloc_p): New function.
829 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Handle
830 branch relocations.
831
77434823
MR
8322016-05-28 Maciej W. Rozycki <macro@imgtec.com>
833
834 * elfxx-mips.c (mips_elf_calculate_relocation): <R_MIPS16_26>
835 <R_MIPS_26, R_MICROMIPS_26_S1>: Drop the region bits of the
836 reloc location from calculation, treat the addend as signed with
837 local non-section symbols and enable overflow detection.
838
1a72702b
AM
8392016-05-28 Alan Modra <amodra@gmail.com>
840
841 * aoutx.h: Adjust linker callback calls throughout file,
842 removing dead code.
843 * bout.c: Likewise.
844 * coff-alpha.c: Likewise.
845 * coff-arm.c: Likewise.
846 * coff-h8300.c: Likewise.
847 * coff-h8500.c: Likewise.
848 * coff-i960.c: Likewise.
849 * coff-mcore.c: Likewise.
850 * coff-mips.c: Likewise.
851 * coff-ppc.c: Likewise.
852 * coff-rs6000.c: Likewise.
853 * coff-sh.c: Likewise.
854 * coff-tic80.c: Likewise.
855 * coff-w65.c: Likewise.
856 * coff-z80.c: Likewise.
857 * coff-z8k.c: Likewise.
858 * coff64-rs6000.c: Likewise.
859 * cofflink.c: Likewise.
860 * ecoff.c: Likewise.
861 * elf-bfd.h: Likewise.
862 * elf-m10200.c: Likewise.
863 * elf-m10300.c: Likewise.
864 * elf32-arc.c: Likewise.
865 * elf32-arm.c: Likewise.
866 * elf32-avr.c: Likewise.
867 * elf32-bfin.c: Likewise.
868 * elf32-cr16.c: Likewise.
869 * elf32-cr16c.c: Likewise.
870 * elf32-cris.c: Likewise.
871 * elf32-crx.c: Likewise.
872 * elf32-d10v.c: Likewise.
873 * elf32-epiphany.c: Likewise.
874 * elf32-fr30.c: Likewise.
875 * elf32-frv.c: Likewise.
876 * elf32-ft32.c: Likewise.
877 * elf32-h8300.c: Likewise.
878 * elf32-hppa.c: Likewise.
879 * elf32-i370.c: Likewise.
880 * elf32-i386.c: Likewise.
881 * elf32-i860.c: Likewise.
882 * elf32-ip2k.c: Likewise.
883 * elf32-iq2000.c: Likewise.
884 * elf32-lm32.c: Likewise.
885 * elf32-m32c.c: Likewise.
886 * elf32-m32r.c: Likewise.
887 * elf32-m68hc1x.c: Likewise.
888 * elf32-m68k.c: Likewise.
889 * elf32-mep.c: Likewise.
890 * elf32-metag.c: Likewise.
891 * elf32-microblaze.c: Likewise.
892 * elf32-moxie.c: Likewise.
893 * elf32-msp430.c: Likewise.
894 * elf32-mt.c: Likewise.
895 * elf32-nds32.c: Likewise.
896 * elf32-nios2.c: Likewise.
897 * elf32-or1k.c: Likewise.
898 * elf32-ppc.c: Likewise.
899 * elf32-s390.c: Likewise.
900 * elf32-score.c: Likewise.
901 * elf32-score7.c: Likewise.
902 * elf32-sh.c: Likewise.
903 * elf32-sh64.c: Likewise.
904 * elf32-spu.c: Likewise.
905 * elf32-tic6x.c: Likewise.
906 * elf32-tilepro.c: Likewise.
907 * elf32-v850.c: Likewise.
908 * elf32-vax.c: Likewise.
909 * elf32-visium.c: Likewise.
910 * elf32-xstormy16.c: Likewise.
911 * elf32-xtensa.c: Likewise.
912 * elf64-alpha.c: Likewise.
913 * elf64-hppa.c: Likewise.
914 * elf64-ia64-vms.c: Likewise.
915 * elf64-mmix.c: Likewise.
916 * elf64-ppc.c: Likewise.
917 * elf64-s390.c: Likewise.
918 * elf64-sh64.c: Likewise.
919 * elf64-x86-64.c: Likewise.
920 * elflink.c: Likewise.
921 * elfnn-aarch64.c: Likewise.
922 * elfnn-ia64.c: Likewise.
923 * elfxx-mips.c: Likewise.
924 * elfxx-sparc.c: Likewise.
925 * elfxx-tilegx.c: Likewise.
926 * linker.c: Likewise.
927 * pdp11.c: Likewise.
928 * pe-mips.c: Likewise.
929 * reloc.c: Likewise.
930 * reloc16.c: Likewise.
931 * simple.c: Likewise.
932 * vms-alpha.c: Likewise.
933 * xcofflink.c: Likewise.
934 * elf32-rl78.c (get_symbol_value, get_romstart, get_ramstart): Delete
935 status param. Adjust calls to these and linker callbacks throughout.
936 * elf32-rx.c: (get_symbol_value, get_gp, get_romstart,
937 get_ramstart): Delete status param. Adjust calls to these and
938 linker callbacks throughout.
939
bc27bb05
MR
9402016-05-27 Maciej W. Rozycki <macro@imgtec.com>
941
942 * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS16_26>
943 <R_MIPS_26, R_MICROMIPS_26_S1>: Include the addend in JALX's
944 target alignment verification.
945
ceab86af
MR
9462016-05-27 Maciej W. Rozycki <macro@imgtec.com>
947
948 * elfxx-mips.c (mips_elf_calculate_relocation): Also use the
949 section name if `bfd_elf_string_from_elf_section' returns an
950 empty string.
951
ed53407e
MR
9522016-05-26 Maciej W. Rozycki <macro@imgtec.com>
953
954 * elfxx-mips.c (_bfd_mips_elf_relocate_section)
955 <bfd_reloc_outofrange>: Use the `%X%H' rather than `%C' format
956 for message. Continue processing rather than returning failure.
957
de341542 9582016-05-25 Maciej W. Rozycki <macro@imgtec.com>
ed53407e 959
de341542
MR
960 * elfxx-mips.c (_bfd_mips_elf_relocate_section)
961 <bfd_reloc_outofrange>: Call `->einfo' rather than `->warning'.
962 Call `bfd_set_error'.
963
e6cc316a
L
9642016-05-25 H.J. Lu <hongjiu.lu@intel.com>
965
966 PR binutils/14625
967 * archive.c (bfd_slurp_armap): Replace
968 bfd_elf64_archive_slurp_armap with
969 _bfd_archive_64_bit_slurp_armap.
970 (bsd_write_armap): Call _bfd_archive_64_bit_write_armap if
971 BFD64 is defined and the archive is too big.
972 (coff_write_armap): Likewise.
973 * archive64.c (bfd_elf64_archive_slurp_armap): Renamed to ...
974 (_bfd_archive_64_bit_slurp_armap): This.
975 (bfd_elf64_archive_write_armap): Renamed to ...
976 (_bfd_archive_64_bit_write_armap): This.
977 * configure.ac: Add --enable-64-bit-archive.
978 (want_64_bit_archive): New. Set to true by default for 64-bit
979 MIPS and s390 ELF targets.
980 (USE_64_BIT_ARCHIVE): New AC_DEFINE.
981 * config.in: Regenerated.
982 * configure: Likewise.
983 * elf64-mips.c (bfd_elf64_archive_functions): Removed.
984 (bfd_elf64_archive_slurp_armap): Likewise.
985 (bfd_elf64_archive_write_armap): Likewise.
986 (bfd_elf64_archive_slurp_extended_name_table): Likewise.
987 (bfd_elf64_archive_construct_extended_name_table): Likewise.
988 (bfd_elf64_archive_truncate_arname): Likewise.
989 (bfd_elf64_archive_read_ar_hdr): Likewise.
990 (bfd_elf64_archive_write_ar_hdr): Likewise.
991 (bfd_elf64_archive_openr_next_archived_file): Likewise.
992 (bfd_elf64_archive_get_elt_at_index): Likewise.
993 (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
994 (bfd_elf64_archive_update_armap_timestamp): Likewise.
995 * elf64-s390.c (bfd_elf64_archive_functions): Removed.
996 (bfd_elf64_archive_slurp_armap): Likewise.
997 (bfd_elf64_archive_write_armap): Likewise.
998 (bfd_elf64_archive_slurp_extended_name_table): Likewise.
999 (bfd_elf64_archive_construct_extended_name_table): Likewise.
1000 (bfd_elf64_archive_truncate_arname): Likewise.
1001 (bfd_elf64_archive_read_ar_hdr): Likewise.
1002 (bfd_elf64_archive_write_ar_hdr): Likewise.
1003 (bfd_elf64_archive_openr_next_archived_file): Likewise.
1004 (bfd_elf64_archive_get_elt_at_index): Likewise.
1005 (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
1006 (bfd_elf64_archive_update_armap_timestamp): Likewise.
1007 * elfxx-target.h (TARGET_BIG_SYM): Use _bfd_archive_64_bit on
1008 BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined and
1009 bfd_elfNN_archive_functions isn't defined.
1010 (TARGET_LITTLE_SYM): Likewise.
1011 * libbfd-in.h (_bfd_archive_64_bit_slurp_armap): New prototype.
1012 (_bfd_archive_64_bit_write_armap): Likewise.
1013 (_bfd_archive_64_bit_slurp_extended_name_table): New macro.
1014 (_bfd_archive_64_bit_construct_extended_name_table): Likewise.
1015 (_bfd_archive_64_bit_truncate_arname): Likewise.
1016 (_bfd_archive_64_bit_read_ar_hdr): Likewise.
1017 (_bfd_archive_64_bit_write_ar_hdr): Likewise.
1018 (_bfd_archive_64_bit_openr_next_archived_file): Likewise.
1019 (_bfd_archive_64_bit_get_elt_at_index): Likewise.
1020 (_bfd_archive_64_bit_generic_stat_arch_elt): Likewise.
1021 (_bfd_archive_64_bit_update_armap_timestamp): Likewise.
1022 * libbfd.h: Regenerated.
1023 * plugin.c (plugin_vec): Use _bfd_archive_64_bit on
1024 BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined.
1025
b95a0a31
L
10262016-05-25 H.J. Lu <hongjiu.lu@intel.com>
1027
1028 PR ld/20103
1029 * cofflink.c (coff_link_check_archive_element): Return TRUE if
1030 linker add_archive_element callback returns FALSE.
1031 * ecoff.c (ecoff_link_check_archive_element): Likewise.
1032 * elf64-ia64-vms.c (elf64_vms_link_add_archive_symbols): Skip
1033 archive element if linker add_archive_element callback returns
1034 FALSE.
1035 * elflink.c (elf_link_add_archive_symbols): Likewise.
1036 * pdp11.c (aout_link_check_ar_symbols): Likewise.
1037 * vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise.
1038 * xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Likewise.
1039 (xcoff_link_check_ar_symbols): Likewise.
1040
7db9a74e
MR
10412016-05-24 Maciej W. Rozycki <macro@imgtec.com>
1042
1043 * elfxx-mips.c (_bfd_mips_elf_relocate_section)
1044 <bfd_reloc_outofrange>: Unify error reporting code.
1045
b7f28d87
JW
10462016-05-23 Jim Wilson <jim.wilson@linaro.org>
1047
1048 * elfnn-aarch64.c: Unconditionally enable R_AARCH64_NULL and
1049 R_AARCH64_NONE. Use HOWTO64 for R_AARCH64_NULL.
1050 * relocs.c: Add BFD_RELOC_AARCH64_NULL.
1051 * bfd-in2.h: Regenerate.
1052 * libbfd.h: Likewise.
1053
a2bea324
KS
10542016-05-23 Kuba Sejdak <jakub.sejdak@phoesys.com>
1055
1056 * config.bfd: Add entry for arm-phoenix.
1057
d7c5bd02
TP
10582016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
1059
1060 * elf32-arm.c (arm_dedicated_stub_section_padding): New function.
1061 (elf32_arm_size_stubs): Declare stub_type in a more outer scope and
1062 account for padding for stub section requiring one.
1063 (elf32_arm_build_stubs): Add comment to stress the importance of
1064 zeroing veneer section content.
1065
daa4adae
TP
10662016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
1067
1068 * bfd-in.h (bfd_elf32_arm_keep_private_stub_output_sections): Declare
1069 bfd hook.
1070 * bfd-in2.h: Regenerate.
1071 * elf32-arm.c (arm_dedicated_stub_output_section_required): New
1072 function.
1073 (arm_dedicated_stub_output_section_required_alignment): Likewise.
1074 (arm_dedicated_stub_output_section_name): Likewise.
1075 (arm_dedicated_stub_input_section_ptr): Likewise.
1076 (elf32_arm_create_or_find_stub_sec): Add stub type parameter and
1077 function description comment. Add support for dedicated output stub
1078 section to given stub types.
1079 (elf32_arm_add_stub): Add a stub type parameter and pass it down to
1080 elf32_arm_create_or_find_stub_sec.
1081 (elf32_arm_create_stub): Pass stub type down to elf32_arm_add_stub.
1082 (elf32_arm_size_stubs): Pass stub type when calling
1083 elf32_arm_create_or_find_stub_sec for Cortex-A8 erratum veneers.
1084 (bfd_elf32_arm_keep_private_stub_output_sections): New function.
1085
52bf37dd
L
10862016-05-20 H.J. Lu <hongjiu.lu@intel.com>
1087
1088 * elf32-i386.c (elf_i386_check_relocs): Don't check R_386_GOT32
1089 when setting need_convert_load.
1090
17c6c9d9
MR
10912016-05-20 Maciej W. Rozycki <macro@imgtec.com>
1092
1093 * elfxx-mips.c (mips_elf_read_rel_addend): Adjust the addend for
1094 microMIPS JALX.
1095
7d4d9709
L
10962016-05-19 H.J. Lu <hongjiu.lu@intel.com>
1097
1098 PR ld/20117
1099 * elf32-i386.c (elf_i386_convert_load_reloc): Don't check
1100 R_386_GOT32X.
1101 (elf_i386_convert_load): Don't convert R_386_GOT32.
1102
606851fb
AM
11032016-05-20 Alan Modra <amodra@gmail.com>
1104
1105 PR gas/20118
1106 * elf.c (elf_fake_sections): Set sh_entsize for SHT_INIT_ARRAY,
1107 SHT_FINI_ARRAY, and SHT_PREINIT_ARRAY.
1108
3c8adaca
CZ
11092016-05-19 Cupertino Miranda <cmiranda@synopsys.com>
1110
1111 * elf32-arc.c (arc_elf_final_write_processing): Changed.
1112 (debug_arc_reloc): Likewise.
1113 (elf_arc_relocate_section): Likewise.
1114 (elf_arc_check_relocs): Likewise.
1115 (elf_arc_adjust_dynamic_symbol): Likewise.
1116 (elf_arc_add_symbol_hook): Likewise.
1117
6b200de0
MR
11182016-05-19 Maciej W. Rozycki <macro@imgtec.com>
1119
1120 * config.bfd: Remove `am34-*-linux*' support.
1121
57e7d118
AM
11222016-05-19 Alan Modra <amodra@gmail.com>
1123
1124 * elf64-ppc.c (allocate_dynrelocs): Allocate got and other dynamic
1125 relocs before plt relocs.
1126
9f284bf9
AM
11272016-05-19 Alan Modra <amodra@gmail.com>
1128
1129 * elf64-ppc.c (ppc64_elf_branch_reloc): Check for NULL owner
1130 before dereferencing.
1131
50498060
NC
11322016-05-18 Nick Clifton <nickc@redhat.com>
1133
1134 * po/sv.po: Updated Swedish translation.
1135
7f991970
AM
11362016-05-18 Alan Modra <amodra@gmail.com>
1137
1138 * elf32-arm.c (elf32_arm_size_stubs): Free or cache local syms
1139 for each BFD. Don't goto error_ret_free_local from outside loop.
1140
a43942db
MR
11412016-05-17 Maciej W. Rozycki <macro@imgtec.com>
1142
1143 * elf-s390-common.c (elf_s390_add_symbol_hook): Remove
1144 STB_GNU_UNIQUE handling.
1145 * elf32-arc.c (elf_arc_add_symbol_hook): Likewise.
1146 * elf32-arm.c (elf32_arm_add_symbol_hook): Likewise.
1147 * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
1148 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
1149 * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
1150 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
1151 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
1152 * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
1153 * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
1154 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Likewise.
1155 * elf32-i386.c (elf_i386_add_symbol_hook): Remove function.
1156 (elf_backend_add_symbol_hook): Remove macro.
1157 * elflink.c (elf_link_add_object_symbols): Set `has_gnu_symbols'
1158 for STB_GNU_UNIQUE symbols.
1159
71de3413
MR
11602016-05-16 Maciej W. Rozycki <macro@imgtec.com>
1161
1162 * elf32-v850.c (v850_elf_copy_notes): New function, factored out
1163 from...
1164 (v850_elf_copy_private_bfd_data): ... here. Call the new
1165 function and `_bfd_elf_copy_private_bfd_data'.
1166
2168b268
L
11672016-05-13 H.J. Lu <hongjiu.lu@intel.com>
1168
1169 PR ld/20093
1170 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Don't convert
1171 GOTPCREL relocation against large section.
1172
4ade44b7
AM
11732016-05-13 Alan Modra <amodra@gmail.com>
1174
1175 * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Use
1176 linker dynamic sections in calculating size and address of
2168b268 1177 dynamic tags rather than using output sections. Remove asserts.
4ade44b7
AM
1178 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Likewise.
1179 * elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Likewise.
1180 * elf32-cris.c (elf_cris_finish_dynamic_sections): Likewise.
1181 * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
1182 * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise.
1183 * elf32-m32r.c (m32r_elf_finish_dynamic_sections): Likewise.
1184 * elf32-m68k.c (elf_m68k_finish_dynamic_sections): Likewise.
1185 * elf32-metag.c (elf_metag_finish_dynamic_sections): Likewise.
1186 * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Likewise.
1187 * elf32-nds32.c (nds32_elf_finish_dynamic_sections): Likewise.
1188 * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Likewise.
1189 * elf32-or1k.c (or1k_elf_finish_dynamic_sections): Likewise.
1190 * elf32-s390.c (elf_s390_finish_dynamic_sections): Likewise.
1191 * elf32-score.c (s3_bfd_score_elf_finish_dynamic_sections): Likewise.
1192 * elf32-score7.c (s7_bfd_score_elf_finish_dynamic_sections): Likewise.
1193 * elf32-vax.c (elf_vax_finish_dynamic_sections): Likewise.
1194 * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Likewise.
1195 * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Likewise.
1196 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
1197 * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
1198 * elflink.c (bfd_elf_final_link): Likewise.
1199 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Likewise.
1200 * elfxx-sparc.c (sparc_finish_dyn): Likewise. Adjust error message.
1201 * elf32-arc.c (GET_SYMBOL_OR_SECTION): Remove ASSERT arg and
1202 don't set doit. Look up dynobj section.
1203 (elf_arc_finish_dynamic_sections): Adjust GET_SYMBOL_OR_SECTION
1204 invocation and dynamic tag vma calculation. Don't test
1205 boolean var == TRUE.
1206 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Fix
1207 DT_JMPREL calc.
1208
c8e44c6d
AM
12092016-05-13 Alan Modra <amodra@gmail.com>
1210
1211 * elflink.c (elf_link_sort_relocs): Wrap overlong lines. Fix
1212 octets_per_byte. Put dynamic .rela.plt last in link orders.
1213 Assign output_offset for reloc sections rather than writing
1214 sorted relocs from block corresponding to output_offset.
1215
1997c994
AM
12162016-05-12 Alan Modra <amodra@gmail.com>
1217
1218 * elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last.
1219
8f4f9071
MF
12202016-05-11 Andrew Bennett <andrew.bennett@imgtec.com>
1221
1222 * elfxx-mips.c (print_mips_ases): Add DSPR3.
1223
a464198b
AM
12242016-05-11 Alan Modra <amodra@gmail.com>
1225
1226 * elf32-hppa.c (elf32_hppa_init_stub_bfd): New function.
1227 (elf32_hppa_check_relocs): Don't set dynobj.
1228 (elf32_hppa_size_stubs): Test !SEC_LINKER_CREATED for stub sections.
1229 (elf32_hppa_build_stubs): Likewise.
1230 * elf32-hppa.h (elf32_hppa_init_stub_bfd): Declare.
1231
3bd43ebc
AM
12322016-05-11 Alan Modra <amodra@gmail.com>
1233
1234 PR 20060
1235 * elf64-ppc.c (ppc64_elf_tls_setup): Clear forced_local.
1236 * elf32-ppc.c (ppc_elf_tls_setup): Likewise.
1237
4e7fbb34
JW
12382016-05-10 Jiong Wang <jiong.wang@arm.com>
1239
1240 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Remove redundant
1241 aarch64_tls_transition check.
1242
4f4faa4d
TP
12432016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
1244
1245 * elf32-arm.c (enum elf32_arm_stub_type): New max_stub_type
1246 enumerator.
1247 (arm_stub_sym_claimed): New function.
1248 (elf32_arm_create_stub): Use veneered symbol name and section if
1249 veneer needs to claim its symbol, and keep logic unchanged otherwise.
1250 (arm_stub_claim_sym): New function.
1251 (arm_map_one_stub): Call arm_stub_claim_sym if veneer needs to claim
1252 veneered symbol, otherwise create local symbol as before.
1253
39d911fc
TP
12542016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
1255
1256 * elf32-arm.c (elf32_arm_size_stubs): Use new macros
1257 ARM_GET_SYM_BRANCH_TYPE and ARM_SET_SYM_BRANCH_TYPE to respectively get
1258 and set branch type of a symbol.
1259 (bfd_elf32_arm_process_before_allocation): Likewise.
1260 (elf32_arm_relocate_section): Likewise and fix identation along the
1261 way.
1262 (allocate_dynrelocs_for_symbol): Likewise.
1263 (elf32_arm_finish_dynamic_symbol): Likewise.
1264 (elf32_arm_swap_symbol_in): Likewise.
1265 (elf32_arm_swap_symbol_out): Likewise.
1266
6bde4c52
TP
12672016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
1268
1269 * bfd-in.h (elf32_arm_size_stubs): Add an output section parameter.
1270 * bfd-in2.h: Regenerated.
1271 * elf32-arm.c (struct elf32_arm_link_hash_table): Add an output section
1272 parameter to add_stub_section callback.
1273 (elf32_arm_create_or_find_stub_sec): Get output section from link_sec
1274 and pass it down to add_stub_section.
1275 (elf32_arm_add_stub): Set section to stub_sec if NULL before using it
1276 for error message.
1277 (elf32_arm_size_stubs): Add output section parameter to
1278 add_stub_section function pointer parameter.
1279
b715f643
TP
12802016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
1281
1282 * elf32-arm.c (elf32_arm_create_stub): New function.
1283 (elf32_arm_size_stubs): Use elf32_arm_create_stub for stub creation.
1284
8d9d9490
TP
12852016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
1286
1287 * elf32-arm.c (enum elf32_arm_stub_type): Delete
1288 arm_stub_a8_veneer_lwm enumerator.
1289 (arm_stub_a8_veneer_lwm): New unsigned constant to replace
1290 aforementioned enumerator.
1291 (struct elf32_arm_stub_hash_entry): Delete target_addend
1292 field and add source_value.
1293 (struct a8_erratum_fix): Delete addend field and add target_offset.
1294 (stub_hash_newfunc): Initialize source_value field amd remove
1295 initialization for target_addend.
1296 (arm_build_one_stub): Stop special casing Thumb relocations: promote
1297 the else to being always executed, moving the
1298 arm_stub_a8_veneer_b_cond specific code in it. Remove
1299 stub_entry->target_addend from points_to computation.
1300 (cortex_a8_erratum_scan): Store in a8_erratum_fix structure the offset
1301 to target symbol from start of section rather than the offset from the
1302 stub address.
1303 (elf32_arm_size_stubs): Set stub_entry's source_value and target_value
1304 fields from struct a8_erratum_fix's offset and target_offset
1305 respectively.
1306 (make_branch_to_a8_stub): Rename target variable to loc. Compute
1307 veneered_insn_loc and loc using stub_entry's source_value.
1308
15afaa63
TP
13092016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
1310
1311 (elf32_arm_merge_eabi_attributes): Add merging logic for
1312 Tag_DSP_extension.
1313
66a36822
PC
13142016-05-10 Pip Cet <pipcet@gmail.com>
1315
1316 PR ld/20059
1317 * elfxx-target.h (bfd_elfNN_bfd_copy_link_hash_symbol_type):
1318 Define as _bfd_generic_copy_link_hash_symbol_type when using
1319 generic hash table.
1320
315350be
NC
13212016-05-09 Nick Clifton <nickc@redhat.com>
1322
1323 PR binutils/20063
1324 * elf.c (bfd_elf_get_elf_syms): Check for out of range sh_link
1325 field before accessing sections array.
1326
9239bbd3
CM
13272016-05-09 Christophe Monat <christophe.monat@st.com>
1328
1329 PR ld/20030
1330 * elf32-arm.c (is_thumb2_vldm): Account for T1 (DP) encoding.
1331 (stm32l4xx_need_create_replacing_stub): Rename ambiguous nb_regs
1332 to nb_words.
1333 (create_instruction_vldmia): Add is_dp to disambiguate SP/DP
1334 encoding.
1335 (create_instruction_vldmdb): Likewise.
1336 (stm32l4xx_create_replacing_stub_vldm): is_dp detects DP encoding,
1337 uses it to re-encode.
1338
73597c18
NC
13392016-05-09 Nick Clifton <nickc@redhat.com>
1340
1341 PR 19938
1342 * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Revert accidental
1343 commit.
1344
ae1bb197
AM
13452016-05-09 Alan Modra <amodra@gmail.com>
1346
1347 * elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check.
1348
97196564
L
13492016-05-06 H.J. Lu <hongjiu.lu@intel.com>
1350
1351 PR ld/17550
1352 * elf-bfd.h (elf_link_hash_entry): Update comments for indx,
1353 documenting that indx == -3 if symbol is defined in a discarded
1354 section.
1355 * elflink.c (elf_link_add_object_symbols): Set indx to -3 if
1356 symbol is defined in a discarded section.
1357 (elf_link_output_extsym): Strip a global symbol defined in a
1358 discarded section.
1359
030e823c
L
13602016-05-06 H.J. Lu <hongjiu.lu@intel.com>
1361
1362 * elf32-i386.c (elf_backend_add_symbol_hook): Defined for Intel
1363 MCU.
1364
c175a657
L
13652016-05-05 H.J. Lu <hongjiu.lu@intel.com>
1366
1367 * elf32-i386.c (elf_i386_convert_load): Extract the GOT load
1368 conversion to ...
1369 (elf_i386_convert_load_reloc): This. New function.
1370 * elf64-x86-64.c (elf_x86_64_convert_load): Extract the GOT load
1371 conversion to ...
1372 (elf_x86_64_convert_load_reloc): This. New function.
1373
bedfd056
L
13742016-05-05 H.J. Lu <hongjiu.lu@intel.com>
1375
1376 * elf32-i386.c (elf_i386_check_tls_transition): Remove abfd.
1377 Don't check if contents == NULL.
1378 (elf_i386_tls_transition): Add from_relocate_section. Check
1379 from_relocate_section instead of contents != NULL. Update
1380 elf_i386_check_tls_transition call.
1381 (elf_i386_check_relocs): Cache the section contents if
1382 keep_memory is FALSE. Pass FALSE as from_relocate_section to
1383 elf_i386_tls_transition.
1384 (elf_i386_relocate_section): Pass TRUE as from_relocate_section
1385 to elf_i386_tls_transition.
1386 (elf_backend_caches_rawsize): New.
1387 * elf64-x86-64.c (elf_x86_64_check_tls_transition): Don't check
1388 if contents == NULL.
1389 (elf_x86_64_tls_transition): Add from_relocate_section. Check
1390 from_relocate_section instead of contents != NULL.
1391 (elf_x86_64_check_relocs): Cache the section contents if
1392 keep_memory is FALSE. Pass FALSE as from_relocate_section to
1393 elf_x86_64_tls_transition.
1394 (elf_x86_64_relocate_section): Pass TRUE as from_relocate_section
1395 to elf_x86_64_tls_transition.
1396 (elf_backend_caches_rawsize): New.
1397
6d6a648c
MR
13982016-05-03 Maciej W. Rozycki <macro@imgtec.com>
1399
1400 PR 10549
1401 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle
1402 STB_GNU_UNIQUE.
1403
1f56df9d
JW
14042016-05-03 Jiong Wang <jiong.wang@arm.com>
1405
1406 * bfd-in.h (bfd_elf64_aarch64_set_options): Update prototype.
1407 * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
1408 * elfnn-aarch64.c (bfd_elfNN_aarch64_set_options): Initialize
1409 no_apply_dynamic_relocs.
1410 (elfNN_aarch64_final_link_relocate): Apply absolute relocations even though
1411 dynamic relocations generated.
1412
493f652c
L
14132016-04-29 H.J. Lu <hongjiu.lu@intel.com>
1414
1415 * elf32-i386.c (elf_i386_size_dynamic_sections): Move interp
1416 setting to ...
1417 (elf_i386_create_dynamic_sections): Here.
1418 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Move
1419 interp setting to ...
1420 (elf_x86_64_create_dynamic_sections): Here.
1421
e62b9723
L
14222016-04-29 H.J. Lu <hongjiu.lu@intel.com>
1423
1424 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC
1425 and replace (EH)->has_got_reloc with GOT_RELOC.
1426 (elf_i386_fixup_symbol): Pass has_got_reloc to
1427 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
1428 (elf_i386_allocate_dynrelocs): Likewise.
1429 (elf_i386_relocate_section): Likewise.
1430 (elf_i386_finish_dynamic_symbol): Likewise.
1431 (elf_i386_convert_load): Pass TRUE to
1432 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
1433 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take
1434 GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC.
1435 (elf_x86_64_fixup_symbol): Pass has_got_reloc to
1436 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
1437 (elf_x86_64_allocate_dynrelocs): Likewise.
1438 (elf_x86_64_relocate_section): Likewise.
1439 (elf_x86_64_finish_dynamic_symbol): Likewise.
1440 (elf_x86_64_convert_load): Pass TRUE to
1441 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
1442
c337a162
L
14432016-04-29 H.J. Lu <hongjiu.lu@intel.com>
1444
1445 * elf32-i386.c (check_relocs_failed): New.
1446 (elf_i386_check_relocs): Set check_relocs_failed on error.
1447 (elf_i386_relocate_section): Skip if check_relocs failed.
1448
afd9acee
L
14492016-04-29 H.J. Lu <hongjiu.lu@intel.com>
1450
1451 * elf64-x86-64.c (elf_x86_64_check_relocs): Set
1452 check_relocs_failed on error.
1453
5522f910
NC
14542016-04-29 Nick Clifton <nickc@redhat.com>
1455
1456 PR 19938
1457 * elf-bfd.h (struct elf_backend_data): Rename
1458 elf_backend_set_special_section_info_and_link to
1459 elf_backend_copy_special_section_fields.
1460 * elfxx-target.h: Likewise.
1461 * elf.c (section_match): Ignore the SHF_INFO_LINK flag when
1462 comparing section flags.
1463 (copy_special_section_fields): New function.
1464 (_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field.
1465 Perform two scans over special sections. The first one looks for
1466 a direct mapping between the output section and an input section.
1467 The second scan looks for a possible match based upon section
1468 characteristics.
1469 * elf32-arm.c (elf32_arm_copy_special_section_fields): New
1470 function. Handle setting the sh_link field of SHT_ARM_EXIDX
1471 sections.
1472 * elf32-i386.c (elf32_i386_set_special_info_link): Rename to
1473 elf32_i386_copy_solaris_special_section_fields.
1474 * elf32-sparc.c (elf32_sparc_set_special_section_info_link):
1475 Rename to elf32_sparc_copy_solaris_special_section_fields.
1476 * elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to
1477 elf64_x86_64_copy_solaris_special_section_fields.
1478
786a118c
NC
14792016-04-28 Nick Clifton <nickc@redhat.com>
1480
1481 * po/zh_CN.po: Updated Chinese (simplified) translation.
1482
91f8bf69
L
14832016-04-27 H.J. Lu <hongjiu.lu@intel.com>
1484
1485 PR ld/20006
1486 * elf64-x86-64.c (elf_x86_64_convert_load): Skip debug sections
1487 when estimating distances between output sections.
1488
a6a4679f
AM
14892016-04-27 Alan Modra <amodra@gmail.com>
1490
1491 * elflink.c (_bfd_elf_is_start_stop): New function.
1492 (_bfd_elf_gc_mark_rsec): Use it.
1493 * elf-bfd.h (_bfd_elf_is_start_stop): Declare.
1494
28cc9170
TS
14952016-04-26 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
1496
1497 * elf32-rx.c (rx_set_section_contents): Avoid arithmetic on void *.
1498 * mmo.c (mmo_get_section_contents): Likewise.
1499 (mmo_set_section_contents): Likewise.
1500
d5486c43
L
15012016-04-26 H.J. Lu <hongjiu.lu@intel.com>
1502
1503 * elf-bfd.h (elf_link_hash_table): Update comments for
1504 dynsymcount.
1505 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always count for
1506 the unused NULL entry at the head of dynamic symbol table.
1507 (bfd_elf_size_dynsym_hash_dynstr): Remove dynsymcount != 0
1508 checks.
1509
6645479e
L
15102016-04-21 H.J. Lu <hongjiu.lu@intel.com>
1511
1512 * elflink.c (_bfd_elf_link_create_dynstrtab): Exclude linker
1513 created file from dynobj.
1514
6cd255ca
L
15152016-04-21 H.J. Lu <hongjiu.lu@intel.com>
1516
1517 * elflink.c (_bfd_elf_link_create_dynstrtab): Set dynobj to a
1518 normal input file if possible.
1519
4f3b23b3
NC
15202016-04-21 Nick Clifton <nickc@redhat.com>
1521
1522 * aout-adobe.c: Use _bfd_generic_link_check_relocs.
1523 * aout-target.h: Likewise.
1524 * aout-tic30.c: Likewise.
1525 * binary.c: Likewise.
1526 * bout.c: Likewise.
1527 * coff-alpha.c: Likewise.
1528 * coff-rs6000.c: Likewise.
1529 * coff64-rs6000.c: Likewise.
1530 * coffcode.h: Likewise.
1531 * i386msdos.c: Likewise.
1532 * i386os9k.c: Likewise.
1533 * ieee.c: Likewise.
1534 * ihex.c: Likewise.
1535 * libbfd-in.h: Likewise.
1536 * libecoff.h: Likewise.
1537 * mach-o-target.c: Likewise.
1538 * mmo.c: Likewise.
1539 * nlm-target.h: Likewise.
1540 * oasys.c: Likewise.
1541 * pef.c: Likewise.
1542 * plugin.c: Likewise.
1543 * ppcboot.c: Likewise.
1544 * som.c: Likewise.
1545 * srec.c: Likewise.
1546 * tekhex.c: Likewise.
1547 * versados.c: Likewise.
1548 * vms-alpha.c: Likewise.
1549 * xsym.c: Likewise.
1550 * elfxx-target.h: Use _bfd_elf_link_check_relocs.
1551 * linker.c (bfd_link_check_relocs): New function.
1552 (_bfd_generic_link_check_relocs): New function.
1553 * targets.c (BFD_JUMP_TABLE_LINK): Add initialization of
1554 _bfd_link_check_relocs field.
1555 (struct bfd_target)L Add _bfd_link_check_relocs field.
1556 * bfd-in2.h: Regenerate.
1557 * libbfd.h: Regenerate.
1558
e66cdd68
L
15592016-04-20 H.J. Lu <hongjiu.lu@intel.com>
1560
1561 * elf32-i386.c (elf_i386_gc_sweep_hook): Removed.
1562 (elf_backend_gc_sweep_hook): Likewise.
1563 * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
1564 (elf_backend_gc_sweep_hook): Likewise.
1565
5ce03cea
L
15662016-04-20 H.J. Lu <hongjiu.lu@intel.com>
1567
1568 * elflink.c (_bfd_elf_link_check_relocs): Don't check relocations
1569 in excluded sections
1570
338c190a
L
15712016-04-20 H.J. Lu <hongjiu.lu@intel.com>
1572
1573 PR ld/19969
1574 * elf64-x86-64.c (check_relocs_failed): New.
1575 (elf_x86_64_need_pic): Moved before elf_x86_64_check_relocs.
1576 Support relocation agaist local symbol. Set check_relocs_failed.
1577 (elf_x86_64_check_relocs): Use elf_x86_64_need_pic. Check
1578 R_X86_64_32 relocation overflow.
1579 (elf_x86_64_relocate_section): Skip if check_relocs failed.
1580 Update one elf_x86_64_need_pic and remove one elf_x86_64_need_pic.
1581
466ee2af
L
15822016-04-20 H.J. Lu <hongjiu.lu@intel.com>
1583
1584 * elf32-i386.c (elf_i386_check_relocs): Call
1585 _bfd_elf_create_ifunc_sections only for STT_GNU_IFUNC symbol.
1586 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1587
d9689752
L
15882016-04-20 H.J. Lu <hongjiu.lu@intel.com>
1589
1590 * elf-bfd.h (_bfd_elf_link_check_relocs): New.
1591 * elflink.c (_bfd_elf_link_check_relocs): New function.
1592 (elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs
1593 if check_relocs_after_open_input is FALSE.
1594
e6c7cdec
TS
15952016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
1596
1597 * cache.c: Update old style function definitions.
1598 * elf32-m68k.c: Likewise.
1599 * elf64-mmix.c: Likewise.
1600 * stab-syms.c: Likewise.
1601
b98e6871
TS
16022016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
1603
1604 * elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *.
1605
6fd8e7c2
L
16062016-04-15 H.J. Lu <hongjiu.lu@intel.com>
1607
1608 * Makefile.in: Regenerated with automake 1.11.6.
1609 * aclocal.m4: Likewise.
1610 * doc/Makefile.in: Likewise.
1611
4b0c052e
AB
16122016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
1613
1614 * reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry.
1615 * bfd-in2.h: Regenerate.
1616 * libbfd.h: Regenerate.
1617 * elf32-arc.c: Add 'opcode/arc.h' include.
1618 (struct arc_relocation_data): Add symbol_name.
1619 (arc_special_overflow_checks): New function.
1620 (arc_do_relocation): Use arc_special_overflow_checks, reindent as
1621 required, add an extra comment.
1622 (elf_arc_relocate_section): Setup symbol_name in reloc_data.
1623
33cbe6c0
AB
16242016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
1625
1626 * elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all
1627 entries.
1628 (elf_arc_relocate_section): Update enum uses.
1629 (elf_arc_check_relocs): Likewise.
1630 (elf_arc_finish_dynamic_symbol): Likewise.
1631
7634c4e6
L
16322016-04-14 H.J. Lu <hongjiu.lu@intel.com>
1633
1634 * elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
1635 "sh_link".
1636
84865015
NC
16372016-04-14 Nick Clifton <nickc@redhat.com>
1638
1639 PR target/19938
1640 * elf-bbfd.h (struct elf_backend_data): New field:
1641 elf_strtab_flags.
1642 New field: elf_backend_set_special_section_info_and_link
1643 * elfxx-target.h (elf_backend_strtab_flags): Define if not already
1644 defined.
1645 (elf_backend_set_special_section_info_and_link): Define if not
1646 already defined.
1647 (elfNN_bed): Use elf_backend_set_special_section_info_and_link and
1648 elf_backend_strtab_flags macros to initialise fields in structure.
1649 * elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS
1650 being set even if SHF_MERGE is not set.
1651 (elf_fake_sections): Likewise.
1652 (section_match): New function. Matches two ELF sections based
1653 upon fixed characteristics.
1654 (find_link): New function. Locates a section in a BFD that
1655 matches a section in a different BFD.
1656 (_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link
1657 fields of reserved sections.
1658 (bfd_elf_compute_section_file_positions): Set the flags for the
1659 .shstrtab section based upon the elf_strtab_flags field in the
1660 elf_backend_data structure.
1661 (swap_out_syms): Likewise for the .strtab section.
1662 * elflink.c (bfd_elf_final_link): Set the flags for the
1663 .strtab section based upon the elf_strtab_flags field in the
1664 elf_backend_data structure.
1665 * elf32-i386.c (elf32_i386_set_special_info_link): New function.
1666 (elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris
1667 targets.
1668 (elf_backend_set_special_section_info_and_link): Define for
1669 Solaris targets.
1670 * elf32-sparc.c: Likewise.
1671 * elf64-x86-64.c: Likewise.
1672
2df3368d
L
16732016-04-11 H.J. Lu <hongjiu.lu@intel.com>
1674
1675 PR ld/19939
1676 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer
1677 to bfd_boolean.
1678 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
1679 Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc
1680 applies to read-only section.
1681 * elf32-i386.c (elf_i386_link_hash_table): Add
1682 readonly_dynrelocs_against_ifunc.
1683 (elf_i386_allocate_dynrelocs): Updated.
1684 (elf_i386_size_dynamic_sections): Issue an error for read-only
1685 segment with dynamic IFUNC relocations only if
1686 readonly_dynrelocs_against_ifunc is TRUE.
1687 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
1688 readonly_dynrelocs_against_ifunc.
1689 (elf_x86_64_allocate_dynrelocs): Updated.
1690 (elf_x86_64_size_dynamic_sections): Issue an error for read-only
1691 segment with dynamic IFUNC relocations only if
1692 readonly_dynrelocs_against_ifunc is TRUE.
1693 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
1694 Updated.
1695
15dd01b1
TP
16962016-04-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
1697
1698 * elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be
1699 a fall through from error_ret_free_internal. Free local_syms in
1700 error_ret_free_local if allocated from bfd_elf_get_elf_syms ().
1701
1e5885b7
CZ
17022016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
1703
1704 * elf32-arc.c (plt_do_relocs_for_symbol): Changed.
1705 (relocate_plt_for_entry): Likewise.
1706
b3aee839
CZ
17072016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
1708
1709 * elf32-arc.c (elf_arc_check_relocs): Changed
1710
094fb063
CZ
17112016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
1712
1713 * elf32-arc.c (name_for_global_symbol): Changed assert.
1714 (get_replace_function): Created.:
1715 (struct arc_relocation_data): Changed to signed types.
1716 (defines S, L, P, PDATA): Casted to signed type.
1717 (defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise.
1718 (PRINT_DEBUG_RELOC_INFO_BEFORE): Changed.
1719 (arc_do_relocation): Changed.
1720
94e5c971
CZ
17212016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
1722
1723 * elf32-arc.c (name_for_global_symbol): Added assert to check for
1724 symbol index.
1725 (elf_arc_relocate_section): Added and changed asserts, validating
1726 the synamic symbol index.
1727 (elf_arc_finish_dynamic_symbol): Do not fill the dynamic
1728 relocation if symbol has dynindx set to -1.
1729
1f599d0e
MR
17302016-04-05 Maciej W. Rozycki <macro@imgtec.com>
1731
1732 * elflink.c (elf_link_add_object_symbols): Always turn hidden
1733 and internal symbols which have a dynamic index into local
1734 ones.
1735
67f101ee
NC
17362016-04-04 Nick Clifton <nickc@redhat.com>
1737
1738 PR 19872
1739 * dwarf2.c (parse_comp_unit): Skip warning about unrecognised
1740 version number if the version is zero.
1741
7b15fa7a
AM
17422016-04-01 Alan Modra <amodra@gmail.com>
1743
1744 PR 19886
1745 * elflink.c (on_needed_list): Recursively check needed status.
1746 (elf_link_add_object_symbols): Adjust.
1747
024ea11b
SKS
17482016-03-30 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1749
1750 * elf32-avr.c (avr_elf32_load_records_from_section): Free
1751 internal_relocs only if they aren't cached.
1752
ed3056eb
NC
17532016-03-29 Nick Clifton <nickc@redhat.com>
1754
1755 PR 17334
1756 * elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax
1757 assertion on the size of the got section to allow it to be bigger
1758 than the number of relocs.
1759
e2b4fc91
TS
17602016-03-29 Toni Spets <toni.spets@iki.fi>
1761
1762 PR 19878
1763 * coffcode.h (coff_write_object_contents): Revert accidental
1764 2014-11-10 change.
1765
a97fbc7e
AM
17662016-03-22 Alan Modra <amodra@gmail.com>
1767
1768 PR 19850
1769 * dwarf2.c (read_attribute_value): Skip info_ptr check for
1770 DW_FORM_flag_present.
1771
9780e045
NC
17722016-03-22 Nick Clifton <nickc@redhat.com>
1773
96254e5c
NC
1774 * cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an
1775 architecture name for backwards compatibility.
1776
7769fa97
NC
1777 * peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible
1778 unbounded stack use.
1779
9780e045
NC
1780 * warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a
1781 sufficiently recent version of GCC.
1782 * configure: Regenerate.
1783
6f4c0a42
AM
17842016-03-22 Alan Modra <amodra@gmail.com>
1785
1786 PR 19851
1787 * plugin.c (try_load_plugin): Avoid -Wstack-usage warning.
1788
8699fc3e
AB
17892016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
1790
1791 * archures.c (bfd_mach_arc_nps400): Define.
1792 * bfd-in2.h: Regenerate.
1793 * cpu-arc.c (arch_info_struct): New entry for nps400, renumber
1794 some existing entries to make space.
1795 * elf32-arc.c (arc_elf_object_p): Add nps400 case.
1796 (arc_elf_final_write_processing): Likewise.
1797
a9522a21
AB
17982016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
1799
1800 * elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of
1801 EF_ARC_CPU_GENERIC.
1802 (arc_elf_final_write_processing): Don't bother setting cpu field
1803 in e_flags, this will have been set elsewhere.
1804
c0334580
AB
18052016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
1806
1807 * elf32-arc.c (arc_elf_final_write_processing): Switch to using
1808 EF_ARC_MACH_MSK.
1809
e1fa0163
NC
18102016-03-21 Nick Clifton <nickc@redhat.com>
1811
1812 * warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144
1813 * configure: Regenerate.
1814 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of
1815 alloca with call to xmalloc.
1816 * elf32-nds32.c: Likewise.
1817 * elf64-hppa.c: Likewise.
1818 * elfxx-mips.c: Likewise.
1819 * pef.c: Likewise.
1820 * pei-x86_64.c: Likewise.
1821 * som.c: Likewise.
1822 * xsym.c: Likewise.
1823
4e0c91e4
L
18242016-03-15 H.J. Lu <hongjiu.lu@intel.com>
1825
1826 PR ld/19827
1827 * elf32-i386.c (elf_i386_check_relocs): Bind defined symbol
1828 locally in PIE.
1829 (elf_i386_relocate_section): Likewise.
1830 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1831 (elf_x86_64_relocate_section): Likewise.
1832
4c10bbaa
L
18332016-03-15 H.J. Lu <hongjiu.lu@intel.com>
1834
1835 PR ld/19807
1836 * elf64-x86-64.c (elf_x86_64_relocate_section): Check
1837 no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S
1838 relocation overflow check.
1839
fbe48798
L
18402016-03-14 H.J. Lu <hongjiu.lu@intel.com>
1841
1842 * bfd-in2.h: Regenerated.
1843
37b01f6a
DG
18442016-03-11 Dan Gissel <dgisselq@ieee.org>
1845
1846 PR 19713
1847 * elf.c (_bfd_elf_section_offset): Ensure that the returned offset
1848 uses bytes not octets.
1849 * elflink.c (resolve_section): Likewise.
1850 Add a bfd parameter.
1851 (eval_section): Pass the input_bfd to resolve_section.
1852 (bfd_elf_perform_complex_relocation): Convert byte offset to
1853 octets before read and writing values.
1854 (elf_link_input_bfd): Add byte to octet conversions.
1855 (elf_reloc_link_order): Likewise.
1856 (elf_fixup_link_order): Likewise.
1857 (bfd_elf_final_link): Likewise.
1858 * reloc.c (_bfd_final_link_relocate): Likewise.
1859 * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
1860
3ed4ff97
NC
18612016-03-10 Nick Clifton <nickc@redhat.com>
1862
1863 * config.bfd: Mark the i370 target as obsolete.
1864
4b05e0a7
PA
18652016-03-09 Pedro Alves <palves@redhat.com>
1866
1867 * cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old
1868 gcc ABI)" to printable name.
1869 * cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead
1870 of "v850-rh850" as printable name.
1871
26c62da0
LW
18722016-03-09 Leon Winter <winter-gcc@bfw-online.de>
1873
1874 PR ld/19623
1875 * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply
1876 relocations against absolute symbols.
1877
03ee8583
AM
18782016-03-09 Alan Modra <amodra@gmail.com>
1879
1880 PR binutils/19775
1881 * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero
1882 length elements in the archive.
1883
9c1d7a08
L
18842016-03-08 H.J. Lu <hongjiu.lu@intel.com>
1885
1886 PR ld/19789
1887 * elflink.c (elf_link_add_object_symbols): Create dynamic sections
1888 for -E/--dynamic-list only when not relocatable.
1889
d1ed1c7d
L
18902016-03-08 H.J. Lu <hongjiu.lu@intel.com>
1891
1892 PR ld/19784
1893 * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
1894 count for locally defined local IFUNC symbols in shared object.
1895 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1896
202ac193
L
18972016-03-08 H.J. Lu <hongjiu.lu@intel.com>
1898
1899 PR ld/19579
1900 * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking
1901 together.
1902
72f3b6aa
CZ
19032016-03-08 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
1904 Andrew Burgess <andrew.burgess@embecosm.com>
1905
1906 * elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32.
1907 (arc_bfd_put_32): Becomes an alias for bfd_put_32.
1908 (arc_elf_howto_init): Added assert to validate relocations.
1909 (get_middle_endian_relocation): Delete.
1910 (middle_endian_convert): New function.
1911 (ME): Redefine, now does nothing.
1912 (IS_ME): New define.
1913 (arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO'
1914 definition to call middle_endian_convert. Add a new local
1915 variable and make use of this throughout. Added call to
1916 arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations.
1917
4fc87424
NC
19182016-03-07 Nick Clifton <nickc@redhat.com>
1919
1920 PR binutils/19775
1921 * archive.c (bfd_generic_openr_next_archived_file): Allow zero
1922 length elements in the archive.
1923
18f822a0
JW
19242016-03-07 Jiong Wang <jiong.wang@arm.com>
1925
1926 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got
1927 section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced.
1928
07492f66
L
19292016-03-04 H.J. Lu <hongjiu.lu@intel.com>
1930
1931 PR ld/19579
1932 * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
1933 executable as definition if the new definition comes from a
1934 shared library.
1935
70a5df4f
AM
19362016-03-02 Alan Modra <amodra@gmail.com>
1937
1938 * Makefile.in: Regenerate.
1939 * po/SRC-POTFILES.in: Regenerate.
1940
841fdfcd
CZ
19412016-02-29 Cupertino Miranda <cmiranda@synopsys.com>
1942
1943 * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
1944 relocation addend when sections get merged.
1945
7e458899
CZ
19462016-02-29 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
1947
1948 * elf32-arc.c (arc_elf_final_write_processing): Add condition to
1949 the flag change.
1950 (elf_arc_relocate_section): Fixes and conditions to support PIE.
1951 Assert for code sections dynamic relocs.
1952
c5e3a364
RL
19532016-02-26 Renlin Li <renlin.li@arm.com>
1954
1955 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow
1956 check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2.
1957
bae420ef
L
19582016-02-26 H.J. Lu <hongjiu.lu@intel.com>
1959
1960 PR ld/19609
1961 * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
1962 load with locally bound symbols if PIC is false or there is no
1963 base register. Optimize branch to 0 if PIC is false.
1964 (elf_i386_relocate_section): Don't generate dynamic relocations
1965 against undefined weak symbols if PIC is false.
1966 * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
1967 if we can't estimate relocation overflow with --no-relax.
1968 Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
1969 symbols if PIC is false. Optimize branch to 0 if PIC is false.
1970 (elf_x86_64_relocate_section): Don't generate dynamic relocations
1971 against undefined weak symbols if PIC is false.
1972
11e5f1ec
L
19732016-02-26 H.J. Lu <hongjiu.lu@intel.com>
1974
1975 PR ld/19645
1976 * bfd.c (bfd): Change flags to 20 bits.
1977 (BFD_CONVERT_ELF_COMMON): New.
1978 (BFD_USE_ELF_STT_COMMON): Likewise.
1979 (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
1980 BFD_USE_ELF_STT_COMMON.
1981 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
1982 * configure.ac: Remove --enable-elf-stt-common.
1983 * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
1984 common symbol depending on BFD_CONVERT_ELF_COMMON and
1985 BFD_USE_ELF_STT_COMMON.
1986 * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
1987 STT_COMMON.
1988 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
1989 STT_COMMON.
1990 (elf_link_convert_common_type): New function.
1991 (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
1992 common symbol depending on BFD_CONVERT_ELF_COMMON and
1993 BFD_USE_ELF_STT_COMMON. Set sym.st_info after sym.st_shndx.
1994 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
1995 and BFD_USE_ELF_STT_COMMON to object_flags.
1996 (TARGET_LITTLE_SYM): Likewise.
1997 * syms.c (BSF_KEEP_G): Renamed to ...
1998 (BSF_ELF_COMMON): This.
1999 * bfd-in2.h: Regenerated.
2000 * config.in: Likewise.
2001 * configure: Likewise.
2002
aec6b87e
L
20032016-02-26 H.J. Lu <hongjiu.lu@intel.com>
2004
2005 PR ld/19636
2006 PR ld/19704
2007 PR ld/19719
2008 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
2009 (elf_i386_link_hash_entry): Add has_got_reloc and
2010 has_non_got_reloc.
2011 (elf_i386_link_hash_table): Add interp.
2012 (elf_i386_link_hash_newfunc): Initialize has_got_reloc and
2013 has_non_got_reloc.
2014 (elf_i386_copy_indirect_symbol): Copy has_got_reloc and
2015 has_non_got_reloc.
2016 (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
2017 (elf_i386_fixup_symbol): New function.
2018 (elf_i386_pie_finish_undefweak_symbol): Likewise.
2019 (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
2020 relocations and discard relocations against resolved undefined
2021 weak symbols in executable. Don't make resolved undefined weak
2022 symbols in executable dynamic. Keep dynamic non-GOT/non-PLT
2023 relocation against undefined weak symbols in PIE.
2024 (elf_i386_size_dynamic_sections): Set interp to .interp section.
2025 (elf_i386_relocate_section): Don't generate dynamic relocations
2026 against resolved undefined weak symbols in PIE, except for
2027 R_386_PC32.
2028 (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
2029 dynamic PLT/GOT relocations for resolved undefined weak symbols.
2030 Don't generate dynamic relocation against resolved undefined weak
2031 symbol in executable.
2032 (elf_i386_finish_dynamic_sections): Call
2033 elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
2034 (elf_backend_fixup_symbol): New.
2035 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
2036 (elf_x86_64_link_hash_entry): Add has_got_reloc and
2037 has_non_got_reloc.
2038 (elf_x86_64_link_hash_table): Add interp.
2039 (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
2040 has_non_got_reloc.
2041 (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
2042 has_non_got_reloc.
2043 (elf_x86_64_check_relocs): Set has_got_reloc and
2044 has_non_got_reloc.
2045 (elf_x86_64_fixup_symbol): New function.
2046 (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
2047 (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
2048 relocations and discard relocations against resolved undefined
2049 weak symbols in executable. Don't make resolved undefined weak
2050 symbols in executable dynamic.
2051 (elf_x86_64_size_dynamic_sections): Set interp to .interp section.
2052 (elf_x86_64_relocate_section): Check relocation overflow for
2053 dynamic relocations against unresolved weak undefined symbols.
2054 Don't generate dynamic relocations against resolved weak
2055 undefined symbols in PIE.
2056 (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
2057 dynamic PLT/GOT relocations for resolved undefined weak symbols.
2058 Don't generate dynamic relocation against resolved undefined weak
2059 symbol in executable.
2060 (elf_x86_64_finish_dynamic_sections): Call
2061 elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
2062 (elf_backend_fixup_symbol): New.
2063
b32547cd
AM
20642016-02-26 Alan Modra <amodra@gmail.com>
2065
2066 * elf64-ppc.c (create_linkage_sections): Create sfpr when
2067 save_restore_funcs, rest of sections when not relocatable.
2068 (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
2069 (sfpr_define): Define all symbols on emitted code.
2070 (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
2071 when relocatable. Move sfpr_define loop earlier.
2072
ef77d6af
L
20732016-02-24 H.J. Lu <hongjiu.lu@intel.com>
2074
2075 * elf64-x86-64.c (elf_x86_64_need_pic): New function.
2076 (elf_x86_64_relocate_section): Use it. Replace
2077 x86_64_elf_howto_table[r_type] with howto.
2078
0f550b3d
L
20792016-02-24 H.J. Lu <hongjiu.lu@intel.com>
2080
2081 PR ld/19698
2082 * elflink.c (bfd_elf_record_link_assignment): Set versioned if
2083 symbol version is unknown.
2084
13f42277
L
20852016-02-24 H.J. Lu <hongjiu.lu@intel.com>
2086
2087 * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
2088 to (bfd_vma) -1 when setting needs_plt to 0.
2089 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
2090
6b3b0ab8
L
20912016-02-23 H.J. Lu <hongjiu.lu@intel.com>
2092
2093 * elflink.c (bfd_elf_record_link_assignment): Check for shared
2094 library, instead of PIC, and don't check PDE when making linker
2095 assigned symbol dynamic.
2096
17733f5b
FS
20972016-02-23 Faraz Shahbazker <faraz.shahbazker@imgtec.com>
2098
2099 * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
2100 ABIVERSION for non-executable stack.
2101
47993b4a
RF
21022016-02-23 Rich Felker <bugdal@aerifal.cx>
2103
2104 PR target/19516
2105 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
2106 Always produce a RELATIVE reloc for a local symbol.
2107
2d8dcb81
HPN
21082016-02-23 Hans-Peter Nilsson <hp@axis.com>
2109
2110 Fix test-case ld-elf/pr19617b
2111 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
2112 discard unused non-function symbols when --dynamic-list-data.
2113
1a6e6083
L
21142016-02-22 H.J. Lu <hongjiu.lu@intel.com>
2115
2116 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
2117 dynsym section, even if it is empty, with dynamic sections.
2118
75c1920b
L
21192016-02-22 H.J. Lu <hongjiu.lu@intel.com>
2120
2121 * syms.c: Remove BSF_COMMON from comments.
2122 * bfd-in2.h: Regenerated.
2123
9a228467
JW
21242016-02-22 Jiong Wang <jiong.wang@arm.com>
2125
2126 * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
2127 for destination. Remove useless function parameters.
2128 (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
2129
73768414
NC
21302016-02-19 Nick Clifton <nickc@redhat.com>
2131
e517df3d
NC
2132 PR ld/19629
2133 * aoutx.h (aout_link_add_symbols): Check for out of range string
2134 table offsets.
2135
73768414
NC
2136 PR ld/19628
2137 * reloc.c (bfd_generic_get_relocated_section_contents): Stop
2138 processing if we encounter a reloc without an associated symbol.
2139
bf89386a
L
21402016-02-18 H.J. Lu <hongjiu.lu@intel.com>
2141
2142 PR ld/19617
2143 * elflink.c (elf_link_add_object_symbols): Always create dynamic
2144 sections for -E/--dynamic-list.
2145
8f79b794
L
21462016-02-17 H.J. Lu <hongjiu.lu@intel.com>
2147
2148 * elf64-x86-64.c (elf_backend_omit_section_dynsym): New. Defined
2149 to bfd_true.
2150
64bfc258
JM
21512016-02-16 Joseph Myers <joseph@codesourcery.com>
2152
2153 * plugin.c (plugin_vec): Set match priority to 255.
2154 * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
2155 matching against the plugin vector, take priority from there not
2156 from TEMP.
2157
9fb71ee4
NC
21582016-02-15 Nick Clifton <nickc@redhat.com>
2159
2160 * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
2161 for length and type fields. Use a signed value for the
2162 suffix_length field.
2163
32875eb1
L
21642016-02-10 H.J. Lu <hongjiu.lu@intel.com>
2165
2166 PR ld/19601
2167 * elf32-i386.c (elf_i386_relocate_section): Mask off the least
2168 significant bit in GOT offset for R_386_GOT32X.
2169
83da6e74
NC
21702016-02-10 Nick Clifton <nickc@redhat.com>
2171
2172 PR 19405
2173 * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
2174 immediate values.
2175 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
2176 number of messages about FDE encoding preventing .eh_frame_hdr
2177 generation.
2178
027e9c75
NC
21792016-02-09 Nick Clifton <nickc@redhat.com>
2180
609332f1
NC
2181 * oasys.c (oasys_archive_p): Fix indentation.
2182 * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
2183 constant for left shifting.
2184
027e9c75
NC
2185 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
2186 helpful warning message to explain why certain AArch64 relocs
2187 might overflow.
2188
6f57d046
SM
21892016-02-05 Simon Marchi <simon.marchi@ericsson.com>
2190
2191 * pe-mips.c (coff_mips_reloc): Fix formatting.
2192
bdbca4e6
CM
21932016-02-05 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
2194
2195 * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
2196 to bfd_mach_arc_arc600.
2197
4f038ee5
AM
21982016-02-04 Alan Modra <amodra@gmail.com>
2199
2200 * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
2201 for big-endian.
2202
4a539596
L
22032016-02-02 H.J. Lu <hongjiu.lu@intel.com>
2204
2205 PR ld/19542
2206 * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
fb06f1c0 2207 distances in the compressed_size field of the output section.
4a539596 2208
85fabe71
AM
22092016-02-02 Alan Modra <amodra@gmail.com>
2210
2211 * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
2212 ELFv2 entry optimization.
2213
14f2c699
L
22142016-02-02 H.J. Lu <hongjiu.lu@intel.com>
2215
2216 PR binutils/19547
2217 * elf.c (assign_section_numbers): Clear HAS_RELOC if there are
2218 no relocations in relocatable files.
2219
aef28989
L
22202016-02-01 H.J. Lu <hongjiu.lu@intel.com>
2221
2222 PR ld/19553
2223 * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
2224 if a symbol from a library loaded via DT_NEEDED doesn't match
2225 the symbol referenced by regular object.
2226
655ed9ea
NS
22272016-02-01 Nathaniel Smith <njs@pobox.com>
2228
2229 * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
2230 CODE and DATA.
2231
ec1f73bb
AM
22322016-02-01 Alan Modra <amodra@gmail.com>
2233
2234 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
2235 an out of range reloc_index.
2236 * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
2237
b6471e6e
KR
22382016-02-01 Kamil Rytarowski <n54@gmx.com>
2239
2240 * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
2241 (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
2242 * Makefile.in: Regenerated.
2243
0bc7245a
JK
22442016-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
2245
2246 * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
2247
6d4b2867
JDA
22482016-01-31 John David Anglin <danglin@gcc.gnu.org>
2249
2250 PR ld/19526
2251 * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
2252 files.
2253 * elf64-hppa.c (elf32_hppa_final_link): Likewise. Remove retval.
2254
d9e3b590
L
22552016-01-30 H.J. Lu <hongjiu.lu@intel.com>
2256
2257 PR ld/19539
2258 * elf32-i386.c (elf_i386_reloc_type_class): Check relocation
2259 against STT_GNU_IFUNC symbol only with dynamic symbols.
2260 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
2261
bf150a0b
L
22622016-01-28 H.J. Lu <hongjiu.lu@intel.com>
2263
2264 PR binutils/19523
2265 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
2266 decompress debug sections.
2267
840855c5
MR
22682016-01-25 Maciej W. Rozycki <macro@imgtec.com>
2269
2270 * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
2271 `dynindx'.
2272
cf466c2a
NC
22732016-01-25 Nick Clifton <nickc@redhat.com>
2274
2275 PR target/19435
2276 * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
2277 dsym filename buffer.
2278
eb6b0cf4
MR
22792016-01-24 Maciej W. Rozycki <macro@imgtec.com>
2280
2281 * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
2282
e67f83e5
MR
22832016-01-24 Maciej W. Rozycki <macro@imgtec.com>
2284
2285 * elfxx-mips.c (BZ16_REG): Correct calculation.
2286
23a42089
NC
22872016-01-21 Nick Clifton <nickc@redhat.com>
2288
2289 * elf32-arc.c (ADD_RELA): Fix compile time warning errors by
2290 changing the type of _loc to be bfd_byte *.
2291 (elf_arc_finish_dynamic_symbol): Likewise.
2292
aebf9be7
NC
22932016-01-21 Nick Clifton <nickc@redhat.com>
2294
2295 PR ld/19455
2296 * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
2297 class of the linker stub bfd.
2298 (elf32_arm_check_relocs): Skip check for pic format after
2299 processing a vxWorks R_ARM_ABS12 reloc.
2300 * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
2301 reporting a class mismatch.
2302
2f340668
JW
23032016-01-21 Jiong Wang <jiong.wang@arm.com>
2304
2305 * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
2306 veneer for sym_sec != input_sec.
2307 (elfNN_aarch64_size_stub): Support STT_SECTION symbol.
2308 (elfNN_aarch64_final_link_relocate): Take rela addend into account when
2309 calculation destination.
2310
aeb70569
AM
23112016-01-21 Alan Modra <amodra@gmail.com>
2312
2313 * elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
2314 (swap_linux_prpsinfo64_out): New function.
2315 (LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
2316 (LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
2317 * elf.c (elfcore_write_linux_prpsinfo32): Adjust. Don't memset.
2318 (elfcore_write_linux_prpsinfo64): Likewise.
2319 * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
2320 (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
2321 (elfcore_write_ppc_linux_prpsinfo32): Adjust. Don't memset.
2322
de64ce13
AM
23232016-01-21 Alan Modra <amodra@gmail.com>
2324
2325 * elf-linux-core.h: Rename from elf-linux-psinfo.h.
2326 * elf.c: Adjust #include.
2327 * elf32-ppc.c: Don't #include elf-linux-psinfo.h
2328 * Makefile.am (SOURCE_HFILES): Update.
2329 * Makefile.in: Regenerate.
2330 * po/SRC-PORFILES.in: Regenerate.
2331
c603b11b
AM
23322016-01-21 Alan Modra <amodra@gmail.com>
2333
2334 * configure.ac: Move corefile selection later in file. Move
2335 tdefaults code immediately after other target vector code.
2336 * configure: Regenerate.
2337
91f68a68
MG
23382016-01-20 Mickael Guene <mickael.guene@st.com>
2339
2340 * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
2341 section using '.text.noread' pattern.
2342
5b2c414d
JB
23432016-01-19 John Baldwin <jhb@FreeBSD.org>
2344
2345 * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
2346
34e967a5
MC
23472016-01-18 Miranda Cupertino <Cupertino.Miranda@synopsys.com>
2348 Zissulescu Claudiu <Claudiu.Zissulescu@synopsys.com>
2349
2350 * arc-plt.def: New file.
2351 * arc-plt.h: Likewise.
2352 * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
2353 elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
2354 elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
2355 elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
2356 (name_for_global_symbol): Added.
2357 (ADD_RELA): Helper to create dynamic relocs.
2358 (new_got_entry_to_list): Create a new got entry in linked list.
2359 (symbol_has_entry_of_type): Search for specific type of entry in
2360 list.
2361 (is_reloc_for_GOT): return FALSE for any TLS related relocs.
2362 (is_reloc_for_TLS, arc_elf_set_private_flags)
2363 (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
2364 (arc_elf_merge_private_bfd_data): New functions.
2365 (debug_arc_reloc): Cleaned debug info printing.
2366 (PDATA reloc): Changed not to perform address alignment.
2367 (reverse_me): Added. Fix for ARC_32 relocs.
2368 (arc_do_relocation): Return bfd_reloc_of when no relocation should
2369 occur.
2370 (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
2371 Changed function to access an array of list of GOT entries instead
2372 of just an array of offsets.
2373 (elf_arc_relocate_section): Added support for PIC and TLS related relocations.
2374 (elf_arc_check_relocs): Likewise.
2375 (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
2376 (elf_arc_finish_dynamic_sections): Likewise
2377 (arc_create_dynamic_sections): Modified conditions to create
2378 dynamic sections.
2379 (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
2380 (plt_do_relocs_for_symbol, relocate_plt_for_symbol)
2381 (relocate_plt_for_entry): Changed to support new way to define PLT
2382 related code.
2383 (add_symbol_to_plt): Likewise.
2384 (arc_elf_link_hash_table_create): New function.
2385
9ae678af
NC
23862016-01-18 Nick Clifton <nickc@redhat.com>
2387
2388 PR ld/19440
2389 * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
2390 section number into internal section number.
2391 * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
2392 * coffswap.h (coff_swap_sym_in): Likewise.
2393 * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
2394 * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
2395 section number field is big enough to hold the external value.
2396
5c14705f
AM
23972016-01-17 Alan Modra <amodra@gmail.com>
2398
2399 * configure: Regenerate.
2400
ac06903d
YU
24012016-01-12 Yury Usishchev <y.usishchev@samsung.com>
2402
2403 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
2404 when address in first unwind entry does not match start of
2405 section.
2406
109575d7
JW
24072016-01-08 Richard Sandiford <richard.sandiford@arm.com>
2408 Jiong Wang <jiong.wang@arm.com>
2409
2410 PR ld/19368
2411 * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
2412 reloc_class_ifunc.
2413
b05a65d0
AB
24142016-01-06 Andrew Burgess <andrew.burgess@embecosm.com>
2415
2416 * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
2417 place 'R_' before the reloc name returned.
2418 (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
2419 the relocation string.
2420
a3dc0a7f
MR
24212016-01-04 Maciej W. Rozycki <macro@imgtec.com>
2422
2423 * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
2424 factored out from...
2425 (_bfd_mips_elf_merge_private_bfd_data): ... here.
2426
d537eeb5
MR
24272016-01-04 Maciej W. Rozycki <macro@imgtec.com>
2428
2429 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
2430 attribute check after ELF file header flag check.
2431
43d223b5
MR
24322016-01-04 Maciej W. Rozycki <macro@imgtec.com>
2433
2434 * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
2435 return status from `_bfd_elf_merge_object_attributes'.
2436
b2e9744f
MR
24372016-01-04 Maciej W. Rozycki <macro@imgtec.com>
2438
2439 * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
2440 factored out from...
2441 (_bfd_mips_elf_merge_private_bfd_data): ... here.
2442
28d45e28
MR
24432016-01-04 Maciej W. Rozycki <macro@imgtec.com>
2444
2445 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
2446 handling of input MIPS ABI flags together.
2447
23ba6f18
MR
24482016-01-04 Maciej W. Rozycki <macro@imgtec.com>
2449
2450 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
2451 attribute checks for null input.
2452
cf8502c1
MR
24532016-01-04 Maciej W. Rozycki <macro@imgtec.com>
2454
2455 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
2456 pointers to target data.
2457
dcb1c796
MR
24582016-01-04 Maciej W. Rozycki <macro@imgtec.com>
2459
2460 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
2461 an FP ABI warning.
2462
6f2750fe
AM
24632016-01-01 Alan Modra <amodra@gmail.com>
2464
2465 Update year range in copyright notice of all files.
2466
3499769a
AM
2467For older changes see ChangeLog-2015 and doc/ChangeLog-0415
2468\f
2469Copyright (C) 2016 Free Software Foundation, Inc.
2470
2471Copying and distribution of this file, with or without modification,
2472are permitted in any medium without royalty provided the copyright
2473notice and this notice are preserved.
2474
2475Local Variables:
2476mode: change-log
2477left-margin: 8
2478fill-column: 74
2479version-control: never
2480End:
This page took 0.162184 seconds and 4 git commands to generate.