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