Update list of known MSP430 MCU names.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
ef05be83
AK
12015-10-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2
3 PR ld/19083
4 * elf32-s390.c (elf_s390_gc_sweep_hook): Do not reduce got
5 refcount for relocs not really requiring a got slot.
6 * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
7
da6e19a9
JDA
82015-10-11 John David Anglin <danglin@gcc.gnu.org>
9
10 * elf-hppa.h (elf_hppa_action_discarded): Ignore relocations in
11 .data.rel.ro.local.
12
886a2506
NC
132015-10-07 Cupertino Miranda <cmiranda@synopsys.com>
14
15 * archures.c: Remove support for older ARC. Added support for new
16 ARC cpus (ARC600, ARC601, ARC700, ARCV2).
17 * bfd-in2.h: Likewise.
18 * config.bfd: Likewise.
19 * cpu-arc.c: Likewise.
20 * elf32-arc.c: Totally changed file with a refactored
21 inplementation of the ARC port.
22 * libbfd.h: Added ARC specific relocation types.
23 * reloc.c: Likewise.
24
8c6da3df
L
252015-10-06 H.J. Lu <hongjiu.lu@intel.com>
26
27 * bfd.c (bfd_update_compression_header): Clear the ch_reserved
28 field in 64-bit output.
29 (bfd_convert_section_contents): Likewise.
30
a0d49154
L
312015-10-05 H.J. Lu <hongjiu.lu@intel.com>
32
33 PR ld/18914
34 * elflink.c (elf_link_add_object_symbols): Don't re-export a
35 symbol if it isn't undefined.
36
d00c2bc9
L
372015-10-04 H.J. Lu <hongjiu.lu@intel.com>
38
39 * config.bfd (targ_selvecs, targ64_selvecs): Add iamcu_elf32_vec,
40 i386_pei_vec and x86_64_pei_vec for Solaris2/x86.
41
3ebe65c0
RL
422015-10-02 Renlin Li <renlin.li@arm.com>
43
44 * elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): Add
45 TLSIE_MOVW_GOTTPREL_G1.
46 (aarch64_tls_transition_without_check): Add
47 TLSIE_MOVW_GOTTPREL_G1 to TLSLE_MOVW_TPREL_G2
48 transition for local symbol.
49 (elfNN_aarch64_tls_relax): Add a argument to pass tp offset.
50 Add TLSIE_MOVW_GOTTPREL_G1 relaxation.
51 (elfNN_aarch64_relocate_section): Call elfNN_aarch64_tls_relax
52 with new argument.
53
0484b454
RL
542015-10-02 Renlin Li <renlin.li@arm.com>
55
56 * elfnn-aarch64.c (aarch64_tls_transition_without_check): Add
57 relax transitions for TLSDESC_ADD, TLSDESC_LDR, TLSDESC_OFF_G0_NC,
58 TLSDESC_OFF_G1.
59 (aarch64_tls_transition_without_check): Add relaxation support.
60 (aarch64_reloc_got_type): Add support.
61 (elfNN_aarch64_final_link_relocate): Likewise.
62 (elfNN_aarch64_tls_relax): Likewise.
63 (elfNN_aarch64_relocate_section): Likewise.
64 (elfNN_aarch64_gc_sweep_hook): Likewise.
65 (elfNN_aarch64_check_relocs): Likewise.
66 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
67 (_bfd_aarch64_elf_resolve_relocation): Likewise.
68
43a357f9
RL
692015-10-02 Renlin Li <renlin.li@arm.com>
70
71 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Check overflow for
72 BFD_RELOC_AARCH64_TLSDESC_OFF_G1.
73
ac734732
RL
742015-10-02 Renlin Li <renlin.li@arm.com>
75
76 * elfnn-aarch64.c(IS_AARCH64_TLS_RELAX_RELOC):
77 Add relaxation support for TLSGD_MOVW_G0_NC and TLSGD_MOVW_G1.
78 (aarch64_tls_transition_without_check): Likewise
79 (elfNN_aarch64_tls_relax): Likwise.
80
b7a944fe
RL
812015-10-02 Renlin Li <renlin.li@arm.com>
82
83 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Create GOT section
84 for TLSLE_MOVW_TPREL_G(1, 1_NC, 2) relocation.
85
3b957e5b
RL
862015-10-02 Renlin Li <renlin.li@arm.com>
87
88 * reloc.c: Make AARCH64_TLSIE_MOVW_GOTTPREL_G1 and
89 AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC defined in alphabetical order.
90 * libbfd.h: Regenerate.
91 * bfd-in2.h: Likewise.
92 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Make
93 TLSIE_MOVW_GOTTPREL_G1 check overflow.
94 (aarch64_reloc_got_type): Add support for TLSIE_MOVW_GOTTPREL_G1
95 and TLSIE_MOVW_GOTTPREL_G0_NC.
96 (elfNN_aarch64_final_link_relocate): Likewise.
97 (elfNN_aarch64_relocate_section): Likewise.
98 (elfNN_aarch64_gc_sweep_hook): Likewise.
99 (elfNN_aarch64_check_relocs): Likewise.
100 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
101 (_bfd_aarch64_elf_resolve_relocation): Likewise.
102
7ba7cfe4
RL
1032015-10-02 Renlin Li <renlin.li@arm.com>
104
105 * elfnn-aarch64.c (aarch64_reloc_got_type): Add
106 BFD_RELOC_AARCH64_TLSGD_MOVW_G0_NC support.
107 (elfNN_aarch64_final_link_relocate): Likewise.
108 (elfNN_aarch64_relocate_section): Likewise.
109 (elfNN_aarch64_gc_sweep_hook): Likewise.
110 (elfNN_aarch64_check_relocs): Likewise.
111 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
112 (_bfd_aarch64_elf_resolve_relocation): Likewise.
113
3e8286c0
RL
1142015-10-02 Renlin Li <renlin.li@arm.com>
115
116 * reloc.c (BFD_RELOC_AARCH64_TLSGD_MOVW_G0_NC): New entry.
117 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
118 BFD_RELOC_AARCH64_TLSGD_MOVW_G0_NC.
119 * libbfd.h: Regenerate.
120 * bfd-in2.h: Likewise
121
94facae3
RL
1222015-10-02 Renlin Li <renlin.li@arm.com>
123
124 * elfnn-aarch64.c (aarch64_reloc_got_type): Add
125 BFD_RELOC_AARCH64_TLSGD_MOVW_G1 support.
126 (elfNN_aarch64_final_link_relocate): Likewise.
127 (elfNN_aarch64_relocate_section): Likewise.
128 (elfNN_aarch64_gc_sweep_hook): Likewise.
129 (elfNN_aarch64_check_relocs): Likewise.
130 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
131 (_bfd_aarch64_elf_resolve_relocation): Likewise.
132
1aa66fb1
RL
1332015-10-02 Renlin Li <renlin.li@arm.com>
134
135 * reloc.c (BFD_RELOC_AARCH64_TLSGD_MOVW_G1): New entry.
136 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
137 BFD_RELOC_AARCH64_TLSGD_MOVW_G1.
138 * bfd-in2.h: Regenerate.
139 * libbfd.h: Likewise.
140
dc8008f5
RL
1412015-10-02 Renlin Li <renlin.li@arm.com>
142
143 * elfnn-aarch64.c (aarch64_reloc_got_type): Add
144 BFD_RELOC_AARCH64_MOVW_GOTOFF_G0_NC support.
145 (elfNN_aarch64_final_link_relocate): Likewise.
146 (elfNN_aarch64_gc_sweep_hook): Likewise.
147 (elfNN_aarch64_check_relocs): Likewise.
148 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
149 (_bfd_aarch64_elf_resolve_relocation): Likewise.
150
ca632371
RL
1512015-10-02 Renlin Li <renlin.li@arm.com>
152
153 * reloc.c (BFD_RELOC_AARCH64_MOVW_GOTOFF_G0_NC): New.
154 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry
155 MOVW_GOTOFF_G0_NC.
156 * libbfd.h: Regnerate.
157 * bfd-in2.h: Regenerate.
158
74a1bfe1
RL
1592015-10-02 Renlin Li <renlin.li@arm.com>
160
161 * elfnn-aarch64.c (aarch64_reloc_got_type): Add support
162 for BFD_RELOC_AARCH64_MOVW_GOTOFF_G1.
163 (elfNN_aarch64_gc_sweep_hook): Likewise.
164 (elfNN_aarch64_check_relocs): Likewise
165 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
166 (_bfd_aarch64_elf_resolve_relocation): Likewise
167 (elfNN_aarch64_final_link_relocate): Likewise
168
654248e7
RL
1692015-010-02 Renlin Li <renlin.li@arm.com>
170
171 * reloc.c (BFD_RELOC_AARCH64_MOVW_GOTOFF_G1): New.
172 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
173 MOVW_GOTOFF_G1.
174 * libbfd.h: Regenerate.
175 * bfd-in2.h: Regenerate.
176
a2e1db00
RL
1772015-10-02 Renlin Li <renlin.li@arm.com>
178
179 * elfnn-aarch64.c (aarch64_reloc_got_type): Add
180 BFD_RELOC_AARCH64_LD_64_GOTOFF_LO15 support.
181 (elfNN_aarch64_gc_sweep_hook): Likewise.
182 (elfNN_aarch64_check_relocs): Likewise
183 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
184 (_bfd_aarch64_elf_resolve_relocation): Likewise
185 (elfNN_aarch64_final_link_relocate): Calculate offset within GOT.
186
a0becb89
RL
1872015-10-02 Renlin Li <renlin.li@arm.com>
188
189 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Change if to
190 switch statement.
191
5db4f0d3
L
1922015-10-01 H.J. Lu <hongjiu.lu@intel.com>
193
194 PR ld/19031
195 * elf64-x86-64.c (elf_x86_64_check_relocs): Set
196 pointer_equality_needed for R_X86_64_PC32 reloc in non-code
197 sections.
198
73524045
RL
1992015-10-01 Renlin Li <renlin.li@arm.com>
200
201 * elfnn-aarch64.c (elfNN_aarch64_output_plt_map): Remove.
202 (elfNN_aarch64_output_arch_local_syms): Emit AARCH64_MAP_INSN once.
203
de48f481
KK
2042015-10-01 Kaz Kojima <kkojima@rr.iij4u.or.jp>
205
206 * config.bfd (targ_selvecs): Remove sh_elf32_vec and
207 sh_elf32_le_vec from sh*-*-linux cases.
208
017e6bce
AM
2092015-10-01 Alan Modra <amodra@gmail.com>
210
211 PR ld/19013
212 * elflink.c (_bfd_elf_merge_sections): Revert last change.
213
4b627c18
L
2142015-09-30 H.J. Lu <hongjiu.lu@intel.com>
215
216 PR ld/19031
217 * elf32-i386.c (elf_i386_check_relocs): Set
218 pointer_equality_needed for R_386_PC32 reloc in non-code
219 sections.
220
9865bd0d
L
2212015-09-30 H.J. Lu <hongjiu.lu@intel.com>
222
223 PR ld/19013
224 * elflink.c (_bfd_elf_merge_sections): Only merge input bfds
225 that have the compatible ELF machine code with the output bfd.
226
630993ec
AM
2272015-09-30 Alan Modra <amodra@gmail.com>
228
229 PR ld/19013
230 * elflink.c (_bfd_elf_merge_sections): Only merge input bfds that
231 will be handled by elf_link_input_bfd. Rename abfd param to obfd.
232
6c4f2328
RF
2332015-09-30 Rich Felker <dalias@libc.org>
234
235 * config.bfd (targ_selvecs): Add fdpic and misc targets
236 for sh*-*-linux*.
237
cbd44e24
L
2382015-09-29 Andrew Stubbs <ams@codesourcery.com>
239 H.J. Lu <hongjiu.lu@intel.com>
240
241 PR binutils/19020
242 * bfd.c (bfd_convert_section_contents): Add ptr_size parameter.
243 * bfd-in2.h: Regenerated.
244
8a9e7a91
PZ
2452015-08-11 Peter Zotov <whitequark@whitequark.org>
246
247 PR ld/18759
248 * elf32-or1k.c (R_OR1K_32_PCREL): Set pcrel_offset to TRUE.
249 (R_OR1K_16_PCREL): Likewise.
250 (R_OR1K_8_PCREL): Likewise.
251
b6518b38
NC
2522015-09-23 Nick Clifton <nickc@redhat.com>
253
254 * bout.c (b_out_slurp_reloc_table): Cast constant to unsigned in
255 order to avoid problems with left shifting negative values.
256 (abs32code): Likewise.
257 * mach-o.c (FILE_ALIGN): Likewise.
258 * coff-rs6000.c (xcoff_debug_sections): Delete unused static
259 array.
260 * elf32-visium.c (visium_reloc_map): Likewise.
261 * elf32-arm.c (elf32_arm_final_link_relocate): Remove useless
262 calls to abs function.
263 * elf32-frv.c (_frvfdpic_relax_tls_entries): Likewise.
264 * elf32-score.c (score_elf_final_link_relocate): Likewise.
265 * elf32-score7.c (score_elf_final_link_relocate): Likewise.
266 * elf32-i860.c (i860_howto_pc26_reloc): Use multiplication instead
267 of shifting to create a negative mask.
268 * elf32-msp430.c (elf_backend_special_sections): Define.
269 * elfxx-mips.c (got_ofst_reloc_p): Delete unused function.
270 (got_hi16_reloc_p): Delete unused function.
271 * ppcboot.c (ppcboot_bfd_print_private_bfd_data): Fix test of
272 partition name.
273
6a40cf0c
NC
2742015-09-23 Nick Clifton <nickc@redhat.com>
275
276 PR binutils/15835
277 * elf-bfd.h (struct elf_section_list): New structure.
278 (struct elf_obj_tdata): Replace symtab_shndx_hdr with
279 symtab_shndx_list. Delete symtab_shndx_section.
280 (elf_symtab_shndx): Replace macro with elf_symtab_shndx_list.
281 * elf.c (bfd_elf_get_syms): If symtab index sections are present,
282 scan them for the section that matches the provided symbol table.
283 (bfd_section_from_shdr): Record all SHT_SYMTAB_SHNDX sections.
284 (assign_section_numbers): Use the first symtab index table in the
285 list.
286 (_bfd_elf_compute_section_file_positions): Replace use of
287 symtab_shndx_hdr with use of symtab_shndx_list.
288 (find_section_in_list): New function.
289 (assign_file_postions_except_relocs): Use new function.
290 (_bfd_elf_copy_private_symbol_data): Likewise.
291 (swap_out_syms): Handle multiple symbol table index sections.
292 * elf32-m32c.c (m32c_elf_relax_section): Replace use of
293 symtab_shndx_hdr with use of symtab_shndx_list.
294 * elf32-rl78.c (rl78_elf_relax_section): Likewise.
295 * elf32-rx.c (rx_relax_section): Likewise.
296 * elf32-v850.c (v850_elf_relax_delete_bytes): Likewise.
297 * elflink.c (bfd_elf_final_link): Likewise.
298
c8b187ea
L
2992015-09-21 H.J. Lu <hongjiu.lu@intel.com>
300
301 * bfd.c (bfd_update_compression_header): Use bfd_put_32 on
302 ch_type.
303 (bfd_check_compression_header): Use bfd_get_32 on ch_type.
304 (bfd_convert_section_contents): Use bfd_get_32 and bfd_put_32
305 on ch_type.
306
9b8b325a
RF
3072015-09-20 Rich Felker <dalias@libc.org>
308
309 * elflink.c (_bfd_elf_link_create_dynamic_sections): Don't create
310 .interp when info->nointerp.
311 (bfd_elf_size_dynamic_sections): Adjust assert.
312 * elf32-arm.c (elf32_arm_size_dynamic_sections): Don't size .interp
313 when info->nointerp.
314 * elf32-bfin.c (elf32_bfinfdpic_size_dynamic_sections): Likewise.
315 * elf32-cr16.c (_bfd_cr16_elf_size_dynamic_sections): Likewise.
316 * elf32-cris.c (elf_cris_size_dynamic_sections): Likewise.
317 * elf32-frv.c (elf32_frvfdpic_size_dynamic_sections): Likewise.
318 * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
319 * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
320 * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
321 * elf32-lm32.c (lm32_elf_size_dynamic_sections): Likewise.
322 * elf32-m32r.c (m32r_elf_size_dynamic_sections): Likewise.
323 * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
324 * elf32-metag.c (elf_metag_size_dynamic_sections): Likewise.
325 * elf32-nds32.c (nds32_elf_size_dynamic_sections): Likewise.
326 * elf32-nios2.c (nios2_elf32_size_dynamic_sections): Likewise.
327 * elf32-or1k.c (or1k_elf_size_dynamic_sections): Likewise.
328 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
329 * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
330 * elf32-score.c (s3_bfd_score_elf_size_dynamic_sections): Likewise.
331 * elf32-score7.c (s7_bfd_score_elf_size_dynamic_sections): Likewise.
332 * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
333 * elf32-tic6x.c (elf32_tic6x_size_dynamic_sections): Likewise.
334 * elf32-tilepro.c (tilepro_elf_size_dynamic_sections): Likewise.
335 * elf32-vax.c (elf_vax_size_dynamic_sections): Likewise.
336 * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Likewise.
337 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
338 * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
339 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Likewise.
340 * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
341 * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
342 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Likewise.
343 * elfnn-aarch64.c (elfNN_aarch64_size_dynamic_sections): Likewise.
344 * elfnn-ia64.c (elfNN_ia64_size_dynamic_sections): Likewise.
345 * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Likewise.
346 * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Likewise.
347 * elfxx-tilegx.c (tilegx_elf_size_dynamic_sections): Likewise.
348
015d2e7e
DE
3492015-09-18 Doug Evans <xdje42@gmail.com>
350
351 * targets.c (enum bfd_flavour): Add comment.
352 (bfd_flavour_name): New function.
353 * bfd-in2.h: Regenerate.
354
7c9cf415
AM
3552015-09-18 Alan Modra <amodra@gmail.com>
356
357 * elf64-ppc.h (struct ppc64_elf_params <tls_get_addr_opt>): Rename
358 from no_tls_get_addr_opt.
359 * elf64-ppc.c: Update for rename and inversion of tls_get_addr_opt.
360 (ppc64_elf_tls_setup): Set tls_get_addr_opt to 0 only when at
361 default of -1.
362
b29b8669
AM
3632015-09-17 Alan Modra <amodra@gmail.com>
364
365 PR 18867
366 * elflink.c (elf_link_adjust_relocs): Correct start of insertion
367 sort main loop.
368
bca6d0e3
AM
3692015-09-16 Alan Modra <amodra@gmail.com>
370
371 PR 18867
372 * elflink.c (elf_link_adjust_relocs): Modify insertion sort to
373 insert a run. Return status in case of malloc failure.
374 Adjust callers.
375
92b3f008
MF
3762015-09-15 Max Filippov <jcmvbkbc@gmail.com>
377
378 * elf32-xtensa.c (elf_xtensa_be_plt_entry)
379 (elf_xtensa_le_plt_entry): Emit 'entry' instruction only for
380 windowed ABI.
381 (elf_xtensa_create_plt_entry): Generate 'l32r' offsets and fix
382 up instructions according to ABI.
383
fbedb42d
RF
3842015-09-14 Rich Felker <dalias@libc.org>
385
386 * elf32-sh.c (sh_elf_relocate_section): Set EF_SH_PIC flag
387 instead of clearing it on cross-section relocations.
388 (sh_elf_merge_private_data): Clear EF_SH_PIC flag by default.
389
f3c3938c
JDA
3902015-09-12 Helge Deller <deller@gmx.de>
391
392 PR ld/18514
393 * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Set .plt entry
394 size to 0.
395
4af68b9c
JW
3962015-09-09 Jiong Wang <jiong.wang@arm.com>
397
398 * elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): Sort alphabetically.
399
259364ad
JW
4002015-09-09 Jiong Wang <jiong.wang@arm.com>
401
402 * elfnn-aarch64.c (aarch64_tls_transition_without_check): Support three
403 TLS local dynamic traditional relocations types.
404 (elfNN_aarch64_tls_relax): Support TLS local dynamic traditional to
405 local executable relaxation.
406
77697d41
L
4072015-09-03 H.J. Lu <hongjiu.lu@intel.com>
408
409 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Remove
410 convert_mov_to_lea.
411
c74be520
L
4122015-09-02 H.J. Lu <hongjiu.lu@intel.com>
413
414 * elf32-i386.c (R_386_irelative): Renamed to ...
415 (R_386_ext2): This.
416 (R_386_vt_offset): Updated.
417 (elf_i386_rtype_to_howto): Likewise.
418 (elf_i386_relocate_section): Likewise.
419
04ebc307
L
4202015-09-01 H.J. Lu <hongjiu.lu@intel.com>
421
422 PR ld/18900
423 * elf32-i386.c (elf_i386_link_hash_entry): Add
424 func_pointer_refcount.
425 (elf_i386_link_hash_newfunc): Clear func_pointer_refcount.
426 (elf_i386_get_local_sym_hash): Likewise.
427 (elf_i386_copy_indirect_symbol): Also copy
428 func_pointer_refcount.
429 (elf_i386_check_relocs): Increment func_pointer_refcount.
430 (elf_i386_gc_sweep_hook): Decrement func_pointer_refcount.
431 (elf_i386_allocate_dynrelocs): Don't create the PLT entry if
432 there are only function pointer relocations which can be
433 resolved at run-time. Keep dynanamic relocations for run-time
434 function pointer initialization.
435 (elf_i386_relocate_section): Copy dynamic function pointer
436 relocations.
437 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add
438 func_pointer_refcount.
439 (elf_x86_64_link_hash_newfunc): Clear func_pointer_refcount.
440 (elf_x86_64_get_local_sym_hash): Likewise.
441 (elf_x86_64_copy_indirect_symbol): Also copy
442 func_pointer_refcount.
443 (elf_x86_64_check_relocs): Increment func_pointer_refcount.
444 (elf_x86_64_gc_sweep_hook): Decrement func_pointer_refcount.
445 (elf_x86_64_allocate_dynrelocs): Don't create the PLT entry if
446 there are only function pointer relocations which can be
447 resolved at run-time. Keep dynanamic relocations for run-time
448 function pointer initialization.
449 (elf_x86_64_relocate_section): Copy dynamic function pointer
450 relocations.
451
b07bca4e
AM
4522015-09-01 Alan Modra <amodra@gmail.com>
453
454 * elf64-ppc.c (ppc64_elf_maybe_function_sym): Adjust symbol value
455 if .opd section has been edited.
456
a4b6fadd
AM
4572015-09-01 Alan Modra <amodra@gmail.com>
458
459 PR 18878
460 * elf64-ppc.c (ARRAY_SIZE): Define. Use throughout.
461 (enum ppc_stub_type): Add ppc_stub_save_res.
462 (struct map_stub): Add "next" and "needs_save_res".
463 (struct ppc_link_hash_entry): Add "save_res" flag.
464 (struct ppc_link_hash_table): Add "group".
465 (sfpr_define): Add stub_sec param. Define symbol in stub_sec if
466 stub_sec is non-null. Set "save_res".
467 (save_res_funcs): Make file scope, rename from funcs. Adjust uses.
468 (ppc64_elf_adjust_dynamic_symbol): Prohibit plt call to save_res syms.
469 (ppc_build_one_stub): Handle ppc_stub_save_res.
470 (ppc_size_one_stub): Set stub type to ppc_size_one_stub on finding
471 stub for linker defined save_res sym.
472 (group_sections): Init new fields of struct map_stub.
473 (ppc64_elf_size_stubs): Reserve space for save/restore func copy.
474 (ppc64_elf_build_stubs): Copy save/restore funcs to groups. Emit
475 alias syms too.
476 (ppc64_elf_relocate_section): Set destination for ppc_stub_save_res.
477
a7c49797
AM
4782015-08-31 Alan Modra <amodra@gmail.com>
479
480 * elf64-ppc.c (get_r2off): Return -1 on error.
481 (ppc_build_one_stub): Adjust for get_r2off change. Don't emit
482 addi r2,r2,0 on r2off stubs when the low 16-bit delta is zero.
483 (ppc_size_one_stub): Corresponding size changes for r2off stubs.
484 Add condition in test for -R objects.
485
6f20ed8a
AM
4862015-08-31 Alan Modra <amodra@gmail.com>
487
488 * section.c (section_id): Make file scope.
489 (bfd_get_next_section_id): New function.
490 * elf64-ppc.c (struct map_stub): Remove toc_off field. Move decl.
491 (struct ppc_stub_hash_entry): Delete stub_sec and id_sec. Add
492 group. Update all uses.
493 (struct ppc_link_hash_table): Delete top_id, top_index, and
494 input_list. Add sec_info_arr_size. Rename stub_group to
495 sec_info, and make group info indirect. Update stub_group refs
496 throughout file.
497 (ppc_add_stub): Don't look for stub_sec on link_sec stub_group
498 entry.
499 (ppc_build_one_stub): Delete FIXME.
500 (ppc64_elf_setup_section_lists): Size htab->sec_info for all
501 sections, not just input sections. Don't create htab->input_list.
502 (ppc64_elf_next_input_section): Update to use sec_info union as
503 list pointer.
504 (PREV_SEC): Delete.
505 (group_sections): Pass "info" param rather than "htab". Iterate
506 over output sections rather than input_list. Use sec_info union
507 as list pointers. Alloc atruct map_stub, and return fail status.
508 * bfd-in2.h: Regenerate.
509
d3435ae8
AM
5102015-08-31 Alan Modra <amodra@gmail.com>
511
512 * elflink.c (elf_sort_symbol): Use correctly sized type for
513 calculating signed section->id difference.
514 (elf_link_add_object_symbols): Likewise.
515 * pef.c (bfd_pef_scan_start_address): Warning fix.
516 * vms-alpha.c (vms_new_section_hook): Likewise.
517
6cae483a
AM
5182015-08-31 Alan Modra <amodra@gmail.com>
519
520 * elf32-nds32.c (nds32_convert_32_to_16_alu1): Warning fix.
521 (find_relocs_at_address_addr): Make "reloc_type" an enum.
522 (nds32_elf_relax_delete_blanks): Warning fix.
523 (nds32_elf_relax_loadstore): Correct loop bound.
524
7292b3ac
AM
5252015-08-31 Alan Modra <amodra@gmail.com>
526
527 * section.c (struct bfd_section): Make "id" and "index" unsigned.
528 * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Adjust local var to suit.
529 * elf.c (elf_map_symbols): Likewise.
530 * elf64-ppc.c (sym_exists_at): Make "id" param unsigned.
531 (struct ppc_link_hash_table): Make "top_id" and "top_index" unsigned.
532 (ppc64_elf_setup_section_lists): Ditto for local vars.
533 * elf32-arm.c: Similarly to elf64-ppc.c.
534 * elf32-avr.c: Likewise.
535 * elf32-hppa.c: Likewise.
536 * elf32-m68hc1x.c: Likewise.
537 * elf32-metag.c: Likewise.
538 * elf32-nios2.c: Likewise.
539 * elfnn-aarch64.c: Likewise.
540 * simple.c (struct saved_offsets): Make "section_count" unsigned.
541 * bfd-in2.h: Regenerate.
542
6fc5bb57
AM
5432015-08-27 Alan Modra <amodra@gmail.com>
544
a40d44c4 545 PR 18867
6fc5bb57
AM
546 * elf64-alpha.c (elf64_alpha_sort_relocs_p): New function.
547 (elf_backend_sort_relocs_p): Define.
548
0e287786
AM
5492015-08-26 Alan Modra <amodra@gmail.com>
550
551 PR 18867
552 * elflink.c (cmp_ext32l_r_offset, cmp_ext32b_r_offset): Delete.
553 (cmp_ext64l_r_offset, cmp_ext64b_r_offset): Delete.
554 (ext32l_r_offset, ext32b_r_offset, ext64l_r_offset, ext64b_r_offset):
555 New functions.
556 (elf_link_adjust_relocs): Use an insertion sort to sort relocs.
557
c97c330b
MF
5582015-08-26 Matthew Fortune <matthew.fortune@imgtec.com>
559
560 PR ld/18401
561 * elfxx-mips.c (bfd_mips_isa_ext_mach): New function: Converts an
562 ISA value to a bfd machine number.
563 (bfd_mips_isa_ext): Update the ISA level and revision if
564 necessary. Use mips_mach_extends_p to decide if the ISA extension
565 needs to be set.
566 (_bfd_mips_elf_merge_private_bfd_data): Allow the ISA extension to
567 be inferred from the ABI setting. Set the ISA level from the
568 maximum of the incoming and outgoing ISA levels.
569
16ad13ec
NC
5702015-08-25 Nick Clifton <nickc@redhat.com>
571
572 PR binutils/18854
573 * elf.c (bfd_section_from_shdr): Replace assertions with warnings
574 about multiple symbol tables.
575
7c2bea1a
RL
5762015-08-25 Renlin Li <renlin.li@arm.com>
577
578 * reloc.c (BFD_RELOC_AARCH64_LD64_GOTOFF_LO15): Use LP64 instead of
579 ILP64.
580 * bfd-in2.h: Regenerate.
581
595bce75
AM
5822015-08-22 Alan Modra <amodra@gmail.com>
583
584 * elf.c (_bfd_elf_slurp_version_tables): Always init vd_nodename.
585 Don't copy fields not set by _bfd_elf_swap_verdef_in.
586
07c9aa07
JW
5872015-08-19 Jiong Wang <jiong.wang@arm.com>
588
589 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize new relocation
590 types, including BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12,
591 BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC,
592 BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12,
593 BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC,
594 BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12,
595 BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC,
596 BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12,
597 BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC.
598 (elfNN_aarch64_final_link_relocate): Likewise.
599 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
600 (_bfd_aarch64_elf_resolve_relocation): Likewise.
601
4c562523
JW
6022015-08-19 Jiong Wang <jiong.wang@arm.com>
603
604 * reloc.c (BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12,
605 BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC,
606 BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12,
607 BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC,
608 BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12,
609 BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC.
610 BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12,
611 BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC): New entries.
612 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
613 * bfd-in2.h: Regenerate.
614 * libbfd.h: Regenerate.
615
6ffe9a1b
JW
6162015-08-19 Jiong Wang <jiong.wang@arm.com>
617
618 PR ld/18276
619 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize new relocation
620 types, including BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_HI12,
621 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0,
622 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0_NC,
623 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1,
624 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1_NC,
625 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G2.
626 (elfNN_aarch64_final_link_relocate): Likewise.
627 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
628 (_bfd_aarch64_elf_resolve_relocation): Likewise.
629
49df5539
JW
6302015-08-19 Jiong Wang <jiong.wang@arm.com>
631
632 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_HI12,
633 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0,
634 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0_NC,
635 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1,
636 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1_NC,
637 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G2): New entries.
638 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
639 * bfd-in2.h: Regenerate.
640 * libbfd.h: Regenerate.
641
753999c1
JW
6422015-08-19 Jiong Wang <jiong.wang@arm.com>
643
644 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
645 BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC.
646 (aarch64_reloc_got_type): Likewise.
647 (elfNN_aarch64_final_link_relocate): Likewise.
648 (elfNN_aarch64_relocate_section): Likewise.
649 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
650 (_bfd_aarch64_elf_resolve_relocation): Likewise.
651
13289c10
JW
6522015-08-19 Jiong Wang <jiong.wang@arm.com>
653
654 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC): New entry.
655 * bfd-in2.h: Regenerate.
656 * libbfd.h: Regenerate.
657 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
658 BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC.
659
3cbc1e5e
AM
6602015-08-19 Alan Modra <amodra@gmail.com>
661
662 * elf-s390-common.c: Simplify expressions using
663 bfd_linke_executable, bfd_link_pie and bfd_link_pic.
664 * elf32-arm.c: Likewise.
665 * elf32-bfin.c: Likewise.
666 * elf32-frv.c: Likewise.
667 * elf32-m68k.c: Likewise.
668 * elf32-nios2.c: Likewise.
669 * elf32-ppc.c: Likewise.
670 * elf32-s390.c: Likewise.
671 * elf32-sh.c: Likewise.
672 * elf64-alpha.c: Likewise.
673 * elf64-ppc.c: Likewise.
674 * elf64-s390.c: Likewise.
675 * elflink.c: Likewise.
676
44b4145b
JW
6772015-08-18 Jiong Wang <jiong.wang@arm.com>
678
679 * elfnn-aarch64.c (aarch64_reloc_got_type): Delete useless check.
680 (elfNN_aarch64_relocate_section): Likewise.
681 (elfNN_aarch64_gc_sweep_hook): Likewise.
682 (elfNN_aarch64_check_relocs): Likewise.
683
cae1fbbb
L
6842015-08-18 H.J. Lu <hongjiu.lu@intel.com>
685
686 PR ld/18841
687 * elf-bfd.h (elf_link_hash_table): Add dynsym.
688 * elf32-i386.c (elf_i386_reloc_type_class): Return
689 reloc_class_ifunc for relocation against STT_GNU_IFUNC symbol.
690 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
691 * elflink.c (_bfd_elf_link_create_dynamic_sections): Set dynsym.
692 (bfd_elf_size_dynsym_hash_dynstr): Use dynsym.
693 (elf_final_link_info): Remove dynsym_sec.
694 (elf_link_output_extsym): Replace dynsym_sec with dynsym.
695 (bfd_elf_final_link): Remove reference to dynsym_sec. Replace
696 dynsym_sec with dynsym.
697
0e1862bb
L
6982015-08-18 H.J. Lu <hongjiu.lu@intel.com>
699
700 * bfd/aoutx.h: Replace shared, executable, relocatable and pie
701 fields with bfd_link_executable, bfd_link_dll,
702 bfd_link_relocatable, bfd_link_pic and bfd_link_pie.
703 * bfd/bout.c: Likewise.
704 * bfd/coff-alpha.c: Likewise.
705 * bfd/coff-arm.c: Likewise.
706 * bfd/coff-i386.c: Likewise.
707 * bfd/coff-i960.c: Likewise.
708 * bfd/coff-m68k.c: Likewise.
709 * bfd/coff-mcore.c: Likewise.
710 * bfd/coff-mips.c: Likewise.
711 * bfd/coff-ppc.c: Likewise.
712 * bfd/coff-rs6000.c: Likewise.
713 * bfd/coff-sh.c: Likewise.
714 * bfd/coff-tic80.c: Likewise.
715 * bfd/coff-x86_64.c: Likewise.
716 * bfd/coff64-rs6000.c: Likewise.
717 * bfd/coffgen.c: Likewise.
718 * bfd/cofflink.c: Likewise.
719 * bfd/ecoff.c: Likewise.
720 * bfd/ecofflink.c: Likewise.
721 * bfd/elf-bfd.h: Likewise.
722 * bfd/elf-eh-frame.c: Likewise.
723 * bfd/elf-ifunc.c: Likewise.
724 * bfd/elf-m10200.c: Likewise.
725 * bfd/elf-m10300.c: Likewise.
726 * bfd/elf-s390-common.c: Likewise.
727 * bfd/elf-vxworks.c: Likewise.
728 * bfd/elf.c: Likewise.
729 * bfd/elf32-arm.c: Likewise.
730 * bfd/elf32-avr.c: Likewise.
731 * bfd/elf32-bfin.c: Likewise.
732 * bfd/elf32-cr16.c: Likewise.
733 * bfd/elf32-cr16c.c: Likewise.
734 * bfd/elf32-cris.c: Likewise.
735 * bfd/elf32-crx.c: Likewise.
736 * bfd/elf32-d10v.c: Likewise.
737 * bfd/elf32-dlx.c: Likewise.
738 * bfd/elf32-epiphany.c: Likewise.
739 * bfd/elf32-fr30.c: Likewise.
740 * bfd/elf32-frv.c: Likewise.
741 * bfd/elf32-ft32.c: Likewise.
742 * bfd/elf32-h8300.c: Likewise.
743 * bfd/elf32-hppa.c: Likewise.
744 * bfd/elf32-i370.c: Likewise.
745 * bfd/elf32-i386.c: Likewise.
746 * bfd/elf32-i860.c: Likewise.
747 * bfd/elf32-ip2k.c: Likewise.
748 * bfd/elf32-iq2000.c: Likewise.
749 * bfd/elf32-lm32.c: Likewise.
750 * bfd/elf32-m32c.c: Likewise.
751 * bfd/elf32-m32r.c: Likewise.
752 * bfd/elf32-m68hc11.c: Likewise.
753 * bfd/elf32-m68hc1x.c: Likewise.
754 * bfd/elf32-m68k.c: Likewise.
755 * bfd/elf32-mcore.c: Likewise.
756 * bfd/elf32-mep.c: Likewise.
757 * bfd/elf32-metag.c: Likewise.
758 * bfd/elf32-microblaze.c: Likewise.
759 * bfd/elf32-moxie.c: Likewise.
760 * bfd/elf32-msp430.c: Likewise.
761 * bfd/elf32-mt.c: Likewise.
762 * bfd/elf32-nds32.c: Likewise.
763 * bfd/elf32-nios2.c: Likewise.
764 * bfd/elf32-or1k.c: Likewise.
765 * bfd/elf32-ppc.c: Likewise.
766 * bfd/elf32-rl78.c: Likewise.
767 * bfd/elf32-rx.c: Likewise.
768 * bfd/elf32-s390.c: Likewise.
769 * bfd/elf32-score.c: Likewise.
770 * bfd/elf32-score7.c: Likewise.
771 * bfd/elf32-sh-symbian.c: Likewise.
772 * bfd/elf32-sh.c: Likewise.
773 * bfd/elf32-sh64.c: Likewise.
774 * bfd/elf32-spu.c: Likewise.
775 * bfd/elf32-tic6x.c: Likewise.
776 * bfd/elf32-tilepro.c: Likewise.
777 * bfd/elf32-v850.c: Likewise.
778 * bfd/elf32-vax.c: Likewise.
779 * bfd/elf32-visium.c: Likewise.
780 * bfd/elf32-xc16x.c: Likewise.
781 * bfd/elf32-xstormy16.c: Likewise.
782 * bfd/elf32-xtensa.c: Likewise.
783 * bfd/elf64-alpha.c: Likewise.
784 * bfd/elf64-hppa.c: Likewise.
785 * bfd/elf64-ia64-vms.c: Likewise.
786 * bfd/elf64-mmix.c: Likewise.
787 * bfd/elf64-ppc.c: Likewise.
788 * bfd/elf64-s390.c: Likewise.
789 * bfd/elf64-sh64.c: Likewise.
790 * bfd/elf64-x86-64.c: Likewise.
791 * bfd/elflink.c: Likewise.
792 * bfd/elfnn-aarch64.c: Likewise.
793 * bfd/elfnn-ia64.c: Likewise.
794 * bfd/elfxx-mips.c: Likewise.
795 * bfd/elfxx-sparc.c: Likewise.
796 * bfd/elfxx-tilegx.c: Likewise.
797 * bfd/i386linux.c: Likewise.
798 * bfd/linker.c: Likewise.
799 * bfd/m68klinux.c: Likewise.
800 * bfd/pdp11.c: Likewise.
801 * bfd/pe-mips.c: Likewise.
802 * bfd/peXXigen.c: Likewise.
803 * bfd/reloc.c: Likewise.
804 * bfd/reloc16.c: Likewise.
805 * bfd/sparclinux.c: Likewise.
806 * bfd/sunos.c: Likewise.
807 * bfd/vms-alpha.c: Likewise.
808 * bfd/xcofflink.c: Likewise.
809
fe875424
AM
8102015-08-18 Alan Modra <amodra@gmail.com>
811
812 PR 18667
813 * Makefile.am: Use $(SED) in place of sed throughout.
814 * Makefile.in: Regenerate.
815
43417696
AM
8162015-08-18 Alan Modra <amodra@gmail.com>
817
818 * elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't redefine .TOC.
819 if already defined, and set linker_def.
820 (ppc64_elf_set_toc): Use .TOC. value if defined other than by
821 the backend.
822
9b57267f
AM
8232015-08-14 Alan Modra <amodra@gmail.com>
824
825 PR ld/18759
826 * elf32-or1k.c: Revert 2015-08-11 change.
827
8efa2874
L
8282015-08-13 H.J. Lu <hongjiu.lu@intel.com>
829
830 PR ld/18801
831 * elf32-i386.c (elf_i386_size_dynamic_sections): Issue an error
832 for read-only segment with dynamic IFUNC relocations.
833 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Likewise.
834
40fc1451
SD
8352015-08-12 Simon Dardis <simon.dardis@imgtec.com>
836
837 * elfxx-mips.c (STUB_MOVE): Change to use 'or' only.
838 (mips_o32_exec_plt0_entry, mips_n32_exec_plt0_entry,
839 mips_n64_exec_plt0_entry, micromips_insn32_o32_exec_plt0_entry):
840 Update to use 'or' instead of 'addu/daddu'.
841 (_bfd_mips_elf_finish_dynamic_symbol): Update usage of STUB_MOVE.
842 (move_insns_32): Reorder table.
843
0eace210
L
8442015-08-11 H.J. Lu <hongjiu.lu@intel.com>
845
846 * elf32-i386.c (elf_i386_relocate_section): Properly skip IFUNC
847 relocations in debug sections.
848 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
849
c674f5cd
JW
8502015-08-11 Jiong Wang <jiong.wang@arm.com>
851
852 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Improve warning
853 message for R_AARCH64_LD64_GOTPAGE_LO15/R_AARCH64_LD32_GOTPAGE_LO14.
854
9331eea1
JW
8552015-08-11 Jiong Wang <jiong.wang@arm.com>
856
857 * elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): New.
858 (aarch64_can_relax_tls): Use the new IS_AARCH64_TLS_RELAX_RELOC.
859
f678ded7
JW
8602015-08-11 Jiong Wang <jiong.wang@arm.com>
861
862 * bfd/elfnn-aarch64.c (aarch64_type_of_stub): New parameter "sym_sec".
863 Loose the check for symbol from ABS section.
864 (elfNN_aarch64_size_stubs): Pass sym_sec.
865
07f9ddfe
JW
8662015-08-11 Jiong Wang <jiong.wang@arm.com>
867
868 PR ld/18668
869 * elfnn-aarch64.c (aarch64_type_of_stub): Update destination for
870 calls go through plt stub.
871 (elfNN_aarch64_final_link_relocate): Adjust code logic for CALL26,
872 JUMP26 relocation to support inserting veneer for call to plt stub.
873
40fbed84
JW
8742015-08-11 Jiong Wang <jiong.wang@arm.com>
875
876 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
877 BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12.
878 (aarch64_reloc_got_type): Likewise.
879 (elfNN_aarch64_final_link_relocate): Likewise.
880 (elfNN_aarch64_relocate_section): Likewise.
881 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
882 (_bfd_aarch64_elf_resolve_relocation): Likewise.
883
70151fb5
JW
8842015-08-11 Jiong Wang <jiong.wang@arm.com>
885
886 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12): New entry.
887 * bfd-in2.h: Regenerate.
888 * libbfd.h: Regenerate.
889 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
890 BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12.
891
73f925cc
JW
8922015-08-11 Jiong Wang <jiong.wang@arm.com>
893
894 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
895 BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC.
896 (aarch64_reloc_got_type): Likewise.
897 (elfNN_aarch64_final_link_relocate): Likewise.
898 (elfNN_aarch64_relocate_section): Likewise.
899 (elfNN_aarch64_gc_sweep_hook): Likewise.
900 (elfNN_aarch64_check_relocs): Likewise.
901 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
902 (_bfd_aarch64_elf_resolve_relocation): Likewise.
903
a12fad50
JW
9042015-08-11 Jiong Wang <jiong.wang@arm.com>
905
906 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC): New entry.
907 * bfd-in2.h: Regenerate.
908 * libbfd.h: Regenerate.
909 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
910 BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC.
911
f69e4920
JW
9122015-08-11 Jiong Wang <jiong.wang@arm.com>
913
914 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
915 BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21.
916 (aarch64_reloc_got_type): Likewise.
917 (elfNN_aarch64_final_link_relocate): Likewise.
918 (elfNN_aarch64_relocate_section): Likewise.
919 (elfNN_aarch64_gc_sweep_hook): Likewise.
920 (elfNN_aarch64_check_relocs): Likewise.
921 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
922 (_bfd_aarch64_elf_resolve_relocation): Likewise.
923
1107e076
JW
9242015-08-11 Jiong Wang <jiong.wang@arm.com>
925
926 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21): New entry.
927 * bfd-in2.h: Regenerate.
928 * libbfd.h: Regenerate.
929 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
930 BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21.
931
97dc35c8
L
9322015-08-11 H.J. Lu <hongjiu.lu@intel.com>
933
934 PR ld/18808
935 * elf32-i386.c (elf_i386_relocate_section): Skip IFUNC
936 relocations in debug sections.
937 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
938
dbac553d
PZ
9392015-08-11 Peter Zotov <whitequark@whitequark.org>
940
941 PR ld/18759
942 * elf32-or1k.c (R_OR1K_32_PCREL): Set pcrel_offset to TRUE.
943 (R_OR1K_16_PCREL): Likewise.
944 (R_OR1K_8_PCREL): Likewise.
945
4b0e8a5f
NC
9462015-08-11 Nick Clifton <nickc@redhat.com>
947
4c0160b8
NC
948 PR binutils/18747
949 * coff-sh.c (_bfd_sh_align_load_span): Fix typo when setting
950 opcode count.
951
4b0e8a5f
NC
952 PR binutils/18758
953 * elf.c (_bfd_elf_setup_sections): Add checks for corrupt section
954 group information.
955 * peicode.h (pe_ILF_make_a_section): Ensure alignment of the
956 used_by_bfd pointer.
957 (pe_ILF_build_a_bfd): Ensure alignment of vars.data pointer.
958
64140f86
L
9592015-08-11 H.J. Lu <hongjiu.lu@intel.com>
960
961 * elf.c (_bfd_elf_copy_private_bfd_data): Fix a typo.
962
422f1182
L
9632015-08-10 H.J. Lu <hongjiu.lu@intel.com>
964
965 * elf-bfd.h (elf_symbol_version): New enum.
966 (elf_link_hash_entry): Replace hidden with versioned.
967 * elflink.c (_bfd_elf_merge_symbol): Don't look for symbol
968 version if the symbol is unversioned. Initialize versioned.
969 (_bfd_elf_add_default_symbol): Don't look for symbol version
970 if the symbol is unversioned or hidden. Initialize versioned.
971 (elf_collect_hash_codes): Don't look for symbol version if the
972 symbol is unversioned.
973 (elf_collect_gnu_hash_codes): Likewise.
974 (bfd_elf_gc_mark_dynamic_ref_symbol): Likewise.
975 (_bfd_elf_link_hash_copy_indirect): Check versioned instead of
976 hidden.
977 (elf_link_output_extsym): Likewise.
978
d4ac1f87
L
9792015-08-07 H.J. Lu <hongjiu.lu@intel.com>
980
981 PR binutils/18785
982 * elf.c (_bfd_elf_copy_private_bfd_data): When copying the
983 sh_link and sh_info fields in stripped section headers, we also
64140f86 984 check if the sh_type, sh_flags, sh_addralign and sh_entsize
d4ac1f87
L
985 fields of the output section match the output. Since
986 --only-keep-debug turns all non-debug sections into SHT_NOBITS
987 sections, the output SHT_NOBITS type matches any input type.
988
6e33951e
L
9892015-08-07 H.J. Lu <hongjiu.lu@intel.com>
990
991 PR ld/18720
992 * elflink.c (_bfd_elf_merge_symbol): Add a parameter to indicate
993 if the new symbol matches the existing one. The new hidden
994 versioned symbol matches the existing symbol if they have the
995 same symbol version. Update the existing symbol only if they
996 match.
997 (_bfd_elf_add_default_symbol): Update call to
998 _bfd_elf_merge_symbol.
999 (_bfd_elf_link_assign_sym_version): Don't set the hidden field
1000 here.
1001 (elf_link_add_object_symbols): Override a definition only if the
1002 new symbol matches the existing one.
1003 (_bfd_elf_link_hash_copy_indirect): Don't copy any references to
1004 the hidden versioned symbol.
1005 (elf_link_output_extsym): Bind a symbol locally when linking
1006 executable if it is locally defined, hidden versioned, not
1007 referenced by shared library and not exported. Turn on
422f1182 1008 VERSYM_HIDDEN only if the hidden versioned symbol is defined
6e33951e
L
1009 locally.
1010
63b9bbb7
NC
10112015-08-05 Nick Clifton <nickc@redhat.com>
1012
1013 * elf.c (_bfd_elf_copy_private_bfd_data): Copy the sh_link and
1014 sh_info fields of sections whose type has been changed to
1015 SHT_NOBITS.
1016
7e27a9d5
YK
10172015-08-04 Yuriy M. Kaminskiy" <yumkam@gmail.com>
1018 Tyler Hicks <tyhicks@canonical.com>
1019
1020 PR binutils/18750
1021 * ihex.c (ihex_scan): Fixes incorrect escape sequence in error message
1022 and stack overflow when char is signed and \200-\376 was in place of hex
1023 digit; also fixes \377 was handled as EOF instead of "incorrect character".
1024 (ihex_read_section): Changed for consistency.
1025 (ihex_bad_byte): Prevent (now impossible to trigger) stack
1026 overflow and incorrect escape sequence handling.
1027 * srec.c (srec_bad_byte): Likewise.
1028
cb1c8103
HPN
10292015-08-03 Hans-Peter Nilsson <hp@axis.com>
1030
1031 * elf32-cris.c (cris_elf_relocate_section)
1032 (elf_cris_finish_dynamic_symbol, cris_elf_check_relocs)
1033 (elf_cris_discard_excess_dso_dynamics): Use SYMBOLIC_BIND, not
4122b413 1034 just link_info->symbolic, to check if a symbol should be bound
cb1c8103
HPN
1035 symbolically.
1036
c6e8a9a8
L
10372015-07-30 H.J. Lu <hongjiu.lu@intel.com>
1038
1039 PR ld/18735
1040 * elflink.c (_bfd_elf_add_default_symbol): Add the default
1041 symbol if not performing a relocatable link.
1042 (elf_link_add_object_symbols): Adjust the default symbol if
1043 not performing a relocatable link.
1044
e77e648e
L
10452015-07-29 H.J. Lu <hongjiu.lu@intel.com>
1046
1047 * elflink.c (elf_link_add_object_symbols): Remove
1048 !info->relocatable check for info->executable. Add
1049 !info->relocatable check for !info->executable.
1050 (elf_link_output_extsym): Remove
1051 !info->relocatable check for info->executable.
1052
11509220
HPN
10532015-07-29 Hans-Peter Nilsson <hp@bitrange.com>
1054
1055 * mmo.c (mmo_write_symbols_and_terminator): Skip symbol-type
1056 assignment loop for bfd plugin objects.
1057
e5654c0f
AM
10582015-07-28 Alan Modra <amodra@gmail.com>
1059
1060 * elf.c (_bfd_elf_map_sections_to_segments): Do not make a new
1061 segment for loaded sections after nonloaded sections if the
1062 sections are on the same page.
1063
d6f1bafa
IB
10642015-07-28 Iain Buclaw <ibuclaw@gdcproject.org>
1065
1066 * configure.in: Add asprintf and vasprintf to AC_CHECK_DECLS.
1067 * config.in, configure: Regenerate.
1068
37a42ee9
L
10692015-07-27 H.J. Lu <hongjiu.lu@intel.com>
1070
1071 * configure: Regenerated.
1072
79559014
NC
10732015-07-27 Nick Clifton <nickc@redhat.com>
1074
1075 * elf32-msp430.c (uses_large_model): New function.
1076 (msp430_elf_eh_frame_address_size): New function.
1077 (elf_backend_eh_frame_address_size): Define.
1078
32f573bc
SN
10792015-07-27 Szabolcs Nagy <szabolcs.nagy@arm.com>
1080
1081 PR ld/18705
1082 * elfnn-aarch64.c (elf_backend_extern_protected_data): Define.
1083
b68a20d6
SN
10842015-07-27 Szabolcs Nagy <szabolcs.nagy@arm.com>
1085
1086 PR ld/18705
1087 * elf32-arm.c (elf_backend_extern_protected_data): Define.
1088
18d9555c
L
10892015-07-25 H.J. Lu <hongjiu.lu@intel.com>
1090
1091 PR ld/18718
1092 * elflink.c (elf_link_output_extsym): Check symbol version
1093 section check only if not linking executable, the symbol is
1094 referenced by shared library or not locally defined.
1095
a496fbc8
AM
10962015-07-25 Thomas Preud'homme <thomas.preudhomme@arm.com>
1097
1098 * elf32-arm.c (elf32_arm_final_link_relocate): Use SYMBOLIC_BIND to
1099 check if a symbol should be bound symbolically.
1100 * elf32-hppa.c (elf32_hppa_check_relocs,
1101 elf32_hppa_adjust_dynamic_symbol, elf32_hppa_relocate_section,
1102 elf32_hppa_finish_dynamic_symbol): Likewise.
1103 * elf32-m68k.c (elf_m68k_check_relocs,
1104 elf_m68k_relocate_section): Likewise.
1105 * elf32-nios2.c (nios2_elf32_relocate_section,
1106 nios2_elf32_check_relocs, allocate_dynrelocs): Likewise.
1107 * elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol,
1108 elf32_tic6x_relocate_section): Likewise.
1109
91cb26da
AM
11102015-07-24 Alan Modra <amodra@gmail.com>
1111
1112 * elf.c (_bfd_elf_assign_file_positions_for_non_load): Use .rela
1113 prefix for reloc section corresponding to rela section associated
1114 with renamed debug section.
1115
2fb9328d
AM
11162015-07-24 Alan Modra <amodra@gmail.com>
1117
1118 * section.c (bfd_get_section_by_name_if): Iterate over entire hash
1119 chain.
1120
d5cff5df
JM
11212015-07-23 Joseph Myers <joseph@codesourcery.com>
1122
1123 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections)
1124 <DT_MIPS_RLD_MAP_REL>: Add target address to host address
1125 difference, not to host pointer.
1126
bb854a36
AM
11272015-07-22 Alan Modra <amodra@gmail.com>
1128
1129 * elf64-ppc.c (opd_entry_value): Remove assertion. Instead,
1130 return -1 if symbol referenced is not defined. Tidy.
1131
f2d7e0f4
AM
11322015-07-20 Alan Modra <amodra@gmail.com>
1133
1134 * po/SRC-POTFILES.in: Regenerate.
1135
4c0a9a6f
JW
11362015-07-17 Jiong Wang <jiong.wang@arm.com>
1137
1138 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Sort alphabetically.
1139 (IS_AARCH64_TLSDESC_RELOC): Sort alphabetically.
1140
77a69ff8
JW
11412015-07-16 Jiong Wang <jiong.wang@arm.com>
1142
1143 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
1144 BFD_RELOC_AARCH64_TLSLD_ADR_PREL21.
1145 (aarch64_reloc_got_type): Ditto.
1146 (elfNN_aarch64_final_link_relocate): Ditto.
1147 (elfNN_aarch64_relocate_section): Ditto.
1148 (elfNN_aarch64_gc_sweep_hook): Ditto.
1149 (elfNN_aarch64_check_relocs): Ditto.
1150 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Ditto.
1151 (_bfd_aarch64_elf_resolve_relocation): Ditto.
1152
6c37fedc
JW
11532015-07-16 Jiong Wang <jiong.wang@arm.com>
1154
1155 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADR_PREL21): New entry.
1156 * bfd-in2.h: Regenerate.
1157 * libbfd.h: Regenerate.
1158 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
1159 BFD_RELOC_AARCH64_TLSLD_ADR_PREL21.
1160
88988473
L
11612015-07-10 H.J. Lu <hongjiu.lu@intel.com>
1162
1163 PR binutils/18656
1164 * bfd.c (bfd_convert_section_size): New function.
1165 (bfd_convert_section_contents): Likewise.
1166 * bfd-in2.h: Regenerated.
1167
de231f20
CM
11682015-07-09 Catherine Moore <clm@codesourcery.com>
1169
1170 * elflink.c (bfd_elf_size_dynamic_sections): Call to
1171 _bfd_elf_maybe_strip_eh_frame_hdr should be before
1172 bed->elf_backend_size_dynamic_sections.
1173
328e7bfd
DC
11742015-07-08 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
1175
1176 * elf32-avr.c: Add 32 bit PC relative relocation for AVR target.
1177
92a9c616
RS
11782015-07-05 Richard Sandiford <richard.sandiford@arm.com>
1179
1180 * elf64-ppc.c (toc_adjusting_stub_needed): Use the symbol value
1181 plus addend rather than the original st_value when looking up
1182 entries in opd->adjust.
1183
0f088b2a
KT
11842015-07-03 Kai Tietz <ktietz@redhat.com>
1185 Nick Clifton <nickc@redhat.com>
1186
1187 PR ld/11539
1188 * coffcode.h (coff_bfd_gc_sections): Define default
1189 to bfd_coff_gc_sections function.
1190 (coff_gc_mark_hook_fn): New type.
1191 * coffgen.c (init_reloc_cookie): Copy and adjust coff
1192 related code about gc-sections from elflink.c to here.
1193 (fini_reloc_cookie): Likewise.
1194 (init_reloc_cookie_rels): Likewise.
1195 (fini_reloc_cookie_rels): Likewise.
1196 (init_reloc_cookie_for_section): Likewise.
1197 (fini_reloc_cookie_for_section): Likewise.
1198 (_bfd_coff_gc_mark_hook): Likewise.
1199 (_bfd_coff_gc_mark_rsec): Likewise.
1200 (_bfd_coff_gc_mark_reloc): Likewise.
1201 (_bfd_coff_gc_mark): Likewise.
1202 (_bfd_coff_gc_mark_extra_sections): Likewise.
1203 (coff_gc_sweep_symbol_info): Likewise.
1204 (coff_gc_sweep_symbol): Likewise.
1205 (gc_sweep_hook_fn): Likewise.
1206 (coff_gc_sweep): Likewise.
1207 (bfd_coff_gc_sections): Likewise.
1208 (_bfd_coff_gc_keep): Likewise.
1209 * libcoff-in.h (coff_reloc_cookie): New struct.
1210 (bfd_coff_gc_sections): New prototype.
1211 * libcoff.h: Regenerate.
1212
8c163c5a
SL
12132015-07-01 Sandra Loosemore <sandra@codesourcery.com>
1214 Cesar Philippidis <cesar@codesourcery.com>
1215
1216 * bfd-in2.h: Regenerated.
1217 * elf32-nios2.c (elf_nios2_howto_table_rel): Rename to...
1218 (elf_nios2_r1_howto_table_rel): This.
1219 (elf_nios2_r2_howto_table_rel): New.
1220 (BFD_IS_R2): New.
1221 (lookup_howto): Add ABFD parameter. Adjust to look up in either
1222 the R1 or R2 relocation table, as determined by ABFD.
1223 (nios2_reloc_map): Add R2 relocations.
1224 (nios2_elf32_bfd_reloc_type_lookup): Do lookup using lookup_howto.
1225 Pass it the ABFD parameter.
1226 (nios2_elf32_bfd_reloc_name_lookup): Use ABFD to decide whether to
1227 return an R1 or R2 relocation.
1228 (nios2_elf32_info_to_howto): Do lookup using lookup_howto.
1229 Pass it the ABFD parameter.
1230 (nios2_elf32_do_call26_relocate): Check for alignment on a 4-byte
1231 boundary.
1232 (nios2_elf32_relocate_section): Adjust call to lookup_howto.
1233 * libbfd.h: Regenerated.
1234 * reloc.c (BFD_RELOC_NIOS2_R2_S12): New.
1235 (BFD_RELOC_NIOS2_R2_I10_1_PCREL): New.
1236 (BFD_RELOC_NIOS2_R2_T1I7_1_PCREL): New.
1237 (BFD_RELOC_NIOS2_R2_T1I7_2): New.
1238 (BFD_RELOC_NIOS2_R2_T2I4): New.
1239 (BFD_RELOC_NIOS2_R2_T2I4_1): New.
1240 (BFD_RELOC_NIOS2_R2_T2I4_2): New.
1241 (BFD_RELOC_NIOS2_R2_X1I7_2): New.
1242 (BFD_RELOC_NIOS2_R2_X2L5): New.
1243 (BFD_RELOC_NIOS2_R2_F1I5_2): New.
1244 (BFD_RELOC_NIOS2_R2_L5I4X1): New.
1245 (BFD_RELOC_NIOS2_R2_T1X1I6): New.
1246 (BFD_RELOC_NIOS2_R2_T1X1I6_2): New.
1247
965b1d80
SL
12482015-07-01 Sandra Loosemore <sandra@codesourcery.com>
1249 Cesar Philippidis <cesar@codesourcery.com>
1250
1251 * archures.c (bfd_mach_nios2r1, bfd_mach_nios2r2): New.
1252 * bfd-in2.h: Regenerated.
1253 * cpu-nios2.c (nios2_compatible): New.
1254 (N): Use nios2_compatible instead of bfd_default_compatible.
1255 (NIOS2R1_NEXT, NIOS2R2_NEXT): Define.
1256 (arch_info_struct): New.
1257 (bfd_nios2_arch): Chain to NIOS2R1_NEXT.
1258 * elf32-nios2.c (is_nios2_elf): New.
1259 (nios2_elf32_merge_private_bfd_data): New.
1260 (nios2_elf32_object_p): New.
1261 (bfd_elf32_bfd_merge_private_bfd_data): Define.
1262 (elf_backend_object_p): Define.
1263
dfc87947
L
12642015-07-01 H.J. Lu <hongjiu.lu@intel.com>
1265
1266 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Refactor.
1267
5ee4a1ca
NC
12682015-06-30 Nick Clifton <nickc@redhat.com>
1269
1270 PR binutils/18570
1271 * elf-attrs.c (obj_attr_size): Use an unsigned int type for the tag.
1272 (write_obj_attribute): Likewise.
1273 (elf_new_obj_attr): Likewise.
1274 (bfd_elf_get_obj_attr_int): Likewise.
1275 (bfd_elf_add_obj_attr_int): Likewise.
1276 (bfd_elf_add_obj_attr_string): Likewise.
1277 (bfd_elf_add_obj_attr_int_string): Likewise.
1278 (gnu_obj_attrs_arg_type): Likewise.
1279 (_bfd_elf_obj_attrs_arg_type): Likewise.
1280 (_bfd_elf_parse_attributes): Likewise.
1281 (_bfd_elf_merge_unknown_attribute_list): Likewise.
1282 * elf-bfd.h (struct obj_attribute_list): Likewise.
1283 Update prototypes.
1284
ee0c0c50
L
12852015-06-28 H.J. Lu <hongjiu.lu@intel.com>
1286
1287 * bfd-in.h (compressed_debug_section_type): Remove
1288 COMPRESS_DEBUG_ZLIB.
1289 * bfd-in2.h : Regenerated.
1290
a5499fa4
MF
12912015-06-26 Matthew Fortune <matthew.fortune@imgtec.com>
1292
1293 * elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Use executable
1294 instead of !shared to indicate an application vs shared library.
1295 (_bfd_mips_elf_size_dynamic_sections): Likewise.
1296 (_bfd_mips_elf_finish_dynamic_sections): Handle DT_MIPS_RLD_MAP_REL.
1297 (_bfd_mips_elf_get_target_dtag): Likewise.
1298
3f307074
DD
12992015-06-25 DJ Delorie <dj@redhat.com>
1300
1301 * elf32-msp430.c (msp430_final_link_relocate): Fix comments. Fix
1302 REL loads to match RELA stores.
1303
946748d5
L
13042015-06-25 H.J. Lu <hongjiu.lu@intel.com>
1305
1306 * elf.c (_bfd_elf_compute_section_file_positions): Don't
1307 initialize sh_size for .shstrtab here.
1308
ef10c3ac
L
13092015-06-25 H.J. Lu <hongjiu.lu@intel.com>
1310
1311 PR gas/18451
1312 * elf-bfd.h (elf_sym_strtab): New.
1313 (elf_link_hash_table): Add strtabcount, strtabsize and
1314 strtab.
1315 (_bfd_elf_stringtab_init): Removed.
1316 * elf.c (_bfd_elf_stringtab_init): Removed.
1317 (_bfd_elf_compute_section_file_positions): Replace
1318 bfd_strtab_hash/_bfd_elf_stringtab_init/_bfd_stringtab_free/
1319 _bfd_stringtab_size with
1320 elf_strtab_hash/_bfd_elf_strtab_init/_bfd_elf_strtab_free/
1321 _bfd_elf_strtab_size. Use _bfd_elf_strtab_add,
1322 _bfd_elf_strtab_finalize and _bfd_elf_strtab_offset to get
1323 st_name.
1324 (swap_out_syms): Likewise.
1325 * elflink.c (elf_final_link_info): Replace bfd_strtab_hash
1326 with elf_strtab_hash. Remove symbuf, symbuf_count,
1327 symbuf_size and shndxbuf_size.
1328 (elf_link_flush_output_syms): Removed.
1329 (elf_link_output_sym): Renamed to ...
1330 (elf_link_output_symstrtab): This. Replace _bfd_stringtab_add
1331 with _bfd_elf_strtab_add. Don't flush symbols to the file nor
1332 swap out symbols.
1333 (elf_link_swap_symbols_out): New.
1334 (elf_link_output_extsym): Replace elf_link_output_sym with
1335 elf_link_output_symstrtab.
1336 (elf_link_input_bfd): Likewise.
1337 (elf_final_link_free): Replace _bfd_stringtab_free with
1338 _bfd_elf_strtab_free. Remove symbuf.
1339 (bfd_elf_final_link): Replace _bfd_elf_stringtab_init with
1340 _bfd_elf_strtab_init. Don't set symbuf, symbuf_count,
1341 symbuf_size nor shndxbuf_size. Initialize strtabsize and
1342 strtab. Initialize symshndxbuf to -1 when number of sections
1343 >= 64K. Replace elf_link_output_sym/elf_link_output_sym with
1344 elf_link_output_symstrtab/elf_link_output_symstrtab. Don't
1345 call elf_link_flush_output_syms. Call _bfd_elf_strtab_finalize
1346 and elf_link_swap_symbols_out. Replace _bfd_stringtab_size
1347 and _bfd_stringtab_emit with _bfd_elf_strtab_size and
1348 _bfd_elf_strtab_emit.
1349
7cc152be
L
13502015-06-24 H.J. Lu <hongjiu.lu@intel.com>
1351
1352 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Silence older
1353 GCC warning.
1354
7c1e8d3e
L
13552015-06-24 H.J. Lu <hongjiu.lu@intel.com>
1356
1357 * elf32-i386.c (elf_i386_allocate_dynrelocs): Always allocate
1358 space for the first .plt entry.
1359 (elf_i386_size_dynamic_sections): Always add DT_PLTGOT for .plt
1360 section. Add DT_PLTRELSZ, DT_PLTREL and DT_JMPREL only if
1361 there are PLT relocations.
1362 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Always
1363 allocate space for the first .plt entry.
1364 (elf_x86_64_size_dynamic_sections): Always add DT_PLTGOT for
1365 .plt section. Add DT_PLTRELSZ, DT_PLTREL and DT_JMPREL only if
1366 there are PLT relocations.
1367
59cab532
L
13682015-06-24 H.J. Lu <hongjiu.lu@intel.com>
1369
1370 PR ld/18591
1371 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Don't convert
1372 R_X86_64_GOTPCREL to R_X86_64_PC32 if it will cause relocation
1373 overflow.
1374
c2170589
JW
13752015-06-23 Jiong Wang <jiong.wang@arm.com>
1376
1377 * elfnn-aarch64.c (aarch64_readonly_dynrelocs): New function.
1378 (elfNN_aarch64_size_dynamic_sections): Traverse hash table to check
1379 relocations against read-only sections.
1380
75c11999
NC
13812015-06-18 Nick Clifton <nickc@redhat.com>
1382
1383 PR 18481
1384 * elf32-arm.c (R_ARM_TLS_LE32): Set the special function to NULL.
1385
56f40832
JT
13862015-06-15 Jon Turney <jon.turney@dronecode.org.uk>
1387
1388 * bfd.c: Change struct bfd_build_id to use bfd_size_type.
1389 * bfd-in2.h : Regenerate.
1390
1d5c94cb
AM
13912015-06-16 Alan Modra <amodra@gmail.com>
1392
1393 * elf32-ppc.c (ppc_elf_relocate_section): Correct binary search of
1394 dynamic relocs.
1395
c74f7d1c
JT
13962015-06-10 Jon Turney <jon.turney@dronecode.org.uk>
1397
1398 * elf-bfd.h : Remove struct elf_build_id.
1399 * bfd.c : Add struct bfd_build_id.
1400 * bfd-in2.h: Regenerate.
1401 * elf.c (elfobj_grok_gnu_build_id): Update to use bfd_build_id.
1402 * libpei.h: Add protoype and macros for
1403 bfd_XXi_slurp_codeview_record.
1404 * peXXigen.c (_bfd_XXi_slurp_codeview_record): Make public
1405 * peicode.h (pe_bfd_read_buildid): Add.
1406 (pe_bfd_object_p): Use pe_bfd_read_buildid().
1407
87f5fbcc
RL
14082015-06-15 Renlin Li <renlin.li@arm.com>
1409
1410 * reloc.c (BFD_RELOC_AARCH64_LD64_GOTOFF_LO15): New entry.
1411 * bfd-in2.h: Regenerate.
1412 * libbfd.h: Regenerate.
1413 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
1414 BFD_RELOC_AARCH64_LD64_GOTOFF_LO15.
1415
3a062fa1
AM
14162015-06-15 Alan Modra <amodra@gmail.com>
1417
1418 * cofflink.c (_bfd_coff_generic_relocate_section): Revert
1419 2014-03-26 change. Call _bfd_clear_contents for relocs against
1420 local and global symbols defined in discarded input sections.
1421
1ade7175
NC
14222015-06-05 Nick Clifton <nickc@redhat.com>
1423
1424 * elf32-msp430.c (rl78_sym_diff_handler): New function.
1425 (msp430_howto_table): Use the new function for the SYM_DIFF reloc.
1426 (msp430x_howto_table): Likewise.
1427
f8b44781
AM
14282015-06-05 Alan Modra <amodra@gmail.com>
1429
1430 * elf64-ppc.c (ppc_elf_relocate_section): Move dynamic text
1431 relocs with insns moved by --ppc476-workaround. Correct
1432 output of REL16 relocs.
1433
7018c030
JW
14342015-06-01 Jiong Wang <jiong.wang@arm.com>
1435
1436 * elfnn-aarch64.c (aarch64_reloc_got_type): Support
1437 BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14.
1438 (elfNN_aarch64_final_link_relocate): Ditto.
1439 (elfNN_aarch64_gc_swap_hook): Ditto.
1440 (elfNN_aarch64_check_relocs): Ditto.
1441 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Ditto.
1442
3d715ce4
JW
14432015-06-01 Jiong Wang <jiong.wang@arm.com>
1444
1445 * reloc.c (BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14): New entry.
1446 * bfd-in2.h: Regenerate.
1447 * libbfd.h: Regenerate.
1448 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
1449 BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14.
1450
36e6c140
JW
14512015-06-01 Jiong Wang <jiong.wang@arm.com>
1452
1453 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Set overflow type to
1454 complain_overflow_unsigned for BFD_RELOC_AARCH64_TLSLE_ADD_LO12.
1455 * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Don't use
1456 PGOFF for BFD_RELOC_AARCH64_TLSLE_ADD_LO12.
1457
99ad26cb
JW
14582015-06-01 Jiong Wang <jiong.wang@arm.com>
1459
1460 * elfnn-aarch64.c (aarch64_reloc_got_type): Support
1461 BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15.
1462 (elfNN_aarch64_final_link_relocate): Ditto.
1463 (elfNN_aarch64_gc_swap_hook): Ditto.
1464 (elfNN_aarch64_check_relocs): Ditto.
1465 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Ditto.
1466
a921b5bd
JW
14672015-06-01 Jiong Wang <jiong.wang@arm.com>
1468
1469 * reloc.c (BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15): New entry.
1470 * bfd-in2.h: Regenerate.
1471 * libbfd.h: Regenerate.
1472 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
1473 BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15.
1474
2f0c68f2
CM
14752015-05-28 Catherine Moore <clm@codesourcery.com>
1476 Bernd Schmidt <bernds@codesourcery.com>
1477 Paul Brook <paul@codesourcery.com>
1478
1479 bfd/
1480 * bfd-in2.h: Regenerated.
1481 * elf-bfd.h (DWARF2_EH_HDR, COMPACT_EH_HDR): Define.
1482 (COMPACT_EH_CANT_UNWIND_OPCODE): Define.
1483 (dwarf_eh_frame_hdr_info): Move dwarf-specific fields from
1484 eh_frame_hdr_info.
1485 (compact_eh_frame_hdr_info): Declare.
1486 (eh_frame_hdr_info): Redeclare with union for dwarf-specific
1487 fields and compact-eh fields.
1488 (elf_backend_data): Add cant_unwind_opcode and compact_eh_encoding.
1489 (bfd_elf_section_data): Add eh_frame_entry_field.
1490 (elf_section_eh_frame_entry): Define.
1491 (bfd_elf_parse_eh_frame_entries): Declare.
1492 (_bfd_elf_parse_eh_frame_entry): Declare.
1493 (_bfd_elf_end_eh_frame_parsing): Declare.
1494 (_bfd_elf_write_section_eh_frame_entry): Declare.
1495 (_bfd_elf_eh_frame_entry_present): Declare.
1496 (_bfd_elf_section_for_symbol): Declare.
1497 * elf-eh-frame.c (bfd_elf_discard_eh_frame_entry): New function.
1498 (bfd_elf_record_eh_frame_entry): New function.
1499 (_bfd_elf_parse_eh_frame_entry): New function.
1500 (_bfd_elf_parse_eh_frame): Update hdr_info field references.
1501 (cmp_eh_frame_hdr): New function.
1502 (add_eh_frame_hdr_terminator): New function.
1503 (_bfd_elf_end_eh_frame_parsing): New function.
1504 (find_merged_cie): Update hdr_info field references.
1505 (_bfd_elf_discard_section_eh_frame): Likewise.
1506 (_bfd_elf_discard_section_eh_frame_hdr): Add Compact EH support.
1507 (_bfd_elf_eh_frame_entry_present): New function.
1508 (_bfd_elf_maybe_strip_eh_frame_hdr): Add Compact EH support.
1509 (_bfd_elf_write_section_eh_frame_entry): New function.
1510 (_bfd_elf_write_section_eh_frame): Update hdr_info field references.
1511 (_bfd_elf_fixup_eh_frame_hdr): New function.
1512 (write_compact_eh_frame_hdr): New function.
1513 (write_dwarf_eh_frame_hdr): New function.
1514 (_bfd_elf_write_section_eh_frame_hdr): Add Compact EH support.
1515 * elflink.c (_bfd_elf_section_for_symbol): New function.
1516 (elf_section_ignore_discarded_relocs): Add Compact EH support.
1517 (elf_link_input_bfd): Likewise.
1518 (bfd_elf_final_link): Likewise.
1519 (_bfd_elf_gc_mark): Likewise.
1520 (bfd_elf_parse_eh_frame_entries): New function.
1521 (bfd_elf_gc_sections): Add Compact EH support.
1522 (bfd_elf_discard_info): Likewise.
1523 * elfxx-mips.c: Include dwarf2.h.
1524 (_bfd_mips_elf_compact_eh_encoding): New function.
1525 (_bfd_mips_elf_cant_unwind_opcode): New function.
1526 * elfxx-mips.h (_bfd_mips_elf_compact_eh_encoding): Declare.
1527 (_bfd_mips_elf_cant_unwind_opcode): Declare.
1528 (elf_backend_compact_eh_encoding): Define.
1529 (elf_backend_cant_unwind_opcode): Define.
1530 * elfxx-target.h (elf_backend_compact_eh_encoding): Provide default.
1531 (elf_backend_cant_unwind_opcode): Provide default.
1532 (elf_backend_data elfNN_bed): Add elf_backend_compact_eh_encoding and
1533 elf_backend_cant_unwind_opcode.
1534 * section.c (SEC_INFO_TYPE_EH_FRAME_ENTRY): Add definition.
1535
8ded2ddc
L
15362015-05-27 H.J. Lu <hongjiu.lu@intel.com>
1537
1538 PR binutils/18458
1539 * elf32-i386.c (elf_i386_check_relocs): Create .plt.got section
1540 for now binding only if pointer equality isn't needed.
1541 (elf_i386_allocate_dynrelocs): Use .plt.got section for now
1542 binding only if pointer equality isn't needed.
1543 * elf64-x86-64.c (elf_x86_64_check_relocs): Create .plt.got
1544 section for now binding only if pointer equality isn't needed.
1545 (elf_x86_64_allocate_dynrelocs): Use .plt.got section for now
1546 binding only if pointer equality isn't needed.
1547
fca6ae69
L
15482015-05-26 H.J. Lu <hongjiu.lu@intel.com>
1549
1550 PR binutils/18437
1551 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip extra relocations
1552 in .rel.plt/.rela.plt.
1553 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
1554
ce336788
JW
15552015-05-19 Jiong Wang <jiong.wang@arm.com>
1556
1557 * elfnn-aarch64.c (aarch64_tls_transition_without_check): Sort
1558 relocation case labels alphabetically.
1559 (elfNN_aarch64_final_link_relocate): Ditto.
1560 (elfNN_aarch64_tls_relax): Ditto.
1561 (elfNN_aarch64_relocate_section): Ditto.
1562 (elfNN_aarch64_gc_sweep_hook): Ditto.
1563 (elfNN_aarch64_check_relocs): Ditto.
1564 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Ditto.
1565 (_bfd_aarch64_elf_resolve_relocation): Ditto.
1566
80de0c6d
JW
15672015-05-18 Jiong Wang <jiong.wang@arm.com>
1568
1569 * elfnn-aarch64.c (elfNN_aarch64_adjust_dynamic_symbol): Rewrite
1570 comments.
1571
25070364
L
15722015-05-16 H.J. Lu <hongjiu.lu@intel.com>
1573
1574 * elf32-i386.c (elf_i386_check_relocs): Create .plt.got section
1575 for now binding.
1576 (elf_i386_allocate_dynrelocs): Use .plt.got section for now
1577 binding.
1578 * elf64-x86-64.c (elf_x86_64_check_relocs): Create .plt.got
1579 section for now binding.
1580 (elf_x86_64_allocate_dynrelocs): Use .plt.got section for now
1581 binding.
1582
dab394de
L
15832015-05-14 H.J. Lu <hongjiu.lu@intel.com>
1584
1585 * bfd.c (bfd_update_compression_header): Also write the zlib
1586 header if the SHF_COMPRESSED bit cleared..
1587 (bfd_check_compression_header): Return the uncompressed size.
1588 * compress.c (decompress_contents): Don't skip the zlib header.
1589 (bfd_compress_section_contents): Properly handle ELFCOMPRESS_ZLIB,
1590 which doesn't have the zlib header.
1591 (bfd_init_section_decompress_status): Likewise.
1592 (bfd_get_full_section_contents): Updated.
1593 (bfd_is_section_compressed): Likewise.
1594 (bfd_is_section_compressed_with_header): Return the uncompressed
1595 size.
1596 * elf.c (_bfd_elf_make_section_from_shdr): Updated.
1597 * bfd-in2.h: Regenerated.
1598
fdc3b1b1
JW
15992015-05-14 Jiong Wang <jiong.wang@arm.com>
1600
1601 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Remove overflow
1602 check restrictions.
1603
e6c9a083
MF
16042015-05-14 Max Filippov <jcmvbkbc@gmail.com>
1605
1606 * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Treat PLT reference
1607 as GOT reference when plt.refcount is not positive.
1608
a3747075
L
16092015-05-12 H.J. Lu <hongjiu.lu@intel.com>
1610
1611 * elf32-i386.c (elf_i386_allocate_dynrelocs): Allocate space
1612 for the first .plt entry only if needed.
1613 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
1614
bf64a951
L
16152015-05-11 H.J. Lu <hongjiu.lu@intel.com>
1616
1617 * Makefile.am (ALL_MACHINES): Add cpu-iamcu.lo.
1618 (ALL_MACHINES_CFILES): Likewise.
1619 * archures.c (bfd_mach_iamcu): New.
1620 (bfd_mach_i386_iamcu): Likewise.
1621 (bfd_mach_i386_iamcu_intel_syntax): Likewise.
1622 (bfd_iamcu_arch): Likewise.
1623 (bfd_archures_list): Add &bfd_iamcu_arch.
1624 * config.bfd (targ_selvecs): Add iamcu_elf32_vec to
1625 i386_elf32_vec.
1626 (targ_archs): Add bfd_iamcu_arch if needed.
1627 * configure.ac: Support iamcu_elf32_vec.
1628 * cpu-iamcu.c: New file.
1629 * elf32-i386.c (elf32_iamcu_elf_object_p): New function.
1630 Add support for iamcu_elf32_vec and elf32_iamcu_bed.
1631 * targets.c (iamcu_elf32_vec): New.
1632 (_bfd_target_vector): Add iamcu_elf32_vec.
1633 * Makefile.in: Regenerated.
1634 * bfd-in2.h: Likewise.
1635 * configure: Likewise.
1636
22abe556
L
16372015-05-11 H.J. Lu <hongjiu.lu@intel.com>
1638
1639 * elfcode.h (elf_object_p): Replace EM_486 with EM_IAMCU.
1640
4b71eec6
L
16412015-05-10 H.J. Lu <hongjiu.lu@intel.com>
1642
1643 * elf32-i386.c (elf_i386_convert_mov_to_lea): Replace input_bfd
1644 and output_bfd with abfd.
1645 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
1646
9ac47a43
TS
16472015-05-06 Toni Spets <toni.spets@iki.fi>
1648
1649 PR ld/18372
1650 * peXXigen.c (rsrc_process_section): Skip discarded resource
1651 sections.
1652
b633b725
L
16532015-05-01 H.J. Lu <hongjiu.lu@intel.com>
1654
1655 * config.bfd: Support i[3-7]86-*-elf*.
1656
914082d1
L
16572015-04-30 H.J. Lu <hongjiu.lu@intel.com>
1658
1659 * elf32-i386.c (elf_backend_post_process_headers): Undef for
1660 Solaris 2.
1661
153a2776
NC
16622015-04-30 Nick Clifton <nickc@redhat.com>
1663
1664 PR 18317
1665 * elf32-mep.c (MEPREL): Use bfd_elf_generic_reloc instead of
1666 mep_reloc.
1667 (mep_reloc): Delete unused function.
1668
a93d5cb1
NC
16692015-04-29 Nick Clifton <nickc@redhat.com>
1670
1671 PR 17099
1672 * coff-i386.c (coff_i386_rtype_to_howto): Allow absolute PCRLONG
1673 relocs.
1674
643f7afb
AK
16752015-04-27 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1676
1677 * elf-s390-common.c (elf_s390_merge_obj_attributes): New function.
1678 * elf32-s390.c (elf32_s390_merge_private_bfd_data): Call
1679 elf_s390_merge_obj_attributes.
1680 * elf64-s390.c (elf64_s390_merge_private_bfd_data): New function.
1681
b53b1bed
JW
16822015-04-24 Jiong Wang <jiong.wang@arm.com>
1683
1684 PR ld/18270
1685 * elfnn-aarch64.c (elfNN_aarch64_size_dynamic): Count local symbol for
1686 GOT_NORMAL for both sgot/srelgot section.
1687 (elfNN_aarch64_final_link_relocate): Relocate against GOT entry address
1688 and generate necessary runtime relocation for GOT entry.
1689
69b52ab8
L
16902015-04-24 H.J. Lu <hongjiu.lu@intel.com>
1691
1692 PR binutils/18209
1693 * archive.c (_bfd_get_elt_at_filepos): Copy is_linker_input.
1694
dcbd20eb
JW
16952015-04-24 Jiong Wang <jiong.wang@arm.com>
1696
1697 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Reject
1698 PC-relative relocation for external symbol.
1699
de13ef81
NC
17002015-04-24 Nick Clifton <nickc@redhat.com>
1701
1702 PR 18313
1703 * compress.c (decompress_contents): Zero initialse the z_stream
1704 structure.
1705
b1fa9dd6
NC
17062015-04-24 Nick Clifton <nickc@redhat.com>
1707
1708 * elf.c (_bfd_elf_is_local_label_name): Extend test for assembler
1709 local labels to include local labels with a numeric suffix and
1710 fake symbols.
1711
9361e630
L
17122015-04-24 H.J. Lu <hongjiu.lu@intel.com>
1713
1714 PR binutils/18316
1715 * section.c (SEC_MEP_VLIW): New.
1716 * bfd-in2.h: Regenerated.
1717
3e19fb8f
L
17182015-04-23 H.J. Lu <hongjiu.lu@intel.com>
1719
1720 PR ld/18277
1721 * compress.c (bfd_compress_section_contents): Remove the
1722 write_compress argument.
1723 (bfd_init_section_compress_status): Updated.
1724 (bfd_compress_section): Likewise.
1725 * elf.c (_bfd_elf_set_reloc_sh_name): New.
1726 (_bfd_elf_init_reloc_shdr): Add delay_st_name_p. Set sh_name
1727 to (unsigned int) -1 if delay_st_name_p is TRUE. Use
1728 _bfd_elf_set_reloc_sh_name.
1729 (elf_fake_sections): Don't rename DWARF debug section for
1730 linker output if it will be compressed. Instead, set
1731 delay_st_name_p to TRUE and pass it to _bfd_elf_init_reloc_shdr.
1732 (assign_section_numbers): Call _bfd_elf_strtab_addref only if
1733 sh_name != (unsigned int) -1. Don't finalize nor assign
1734 shstrtab section here. Delay setting output section names to
1735 _bfd_elf_write_object_contents.
1736 (_bfd_elf_compute_section_file_positions): Update comments on
1737 sh_offset for shstrtab section.
1738 (assign_file_positions_for_non_load_sections): Set sh_offset to
1739 -1 for shstrtab section.
1740 (assign_file_positions_except_relocs): Likewise.
1741 (_bfd_elf_assign_file_positions_for_non_load): Set up sh_name
1742 when compressing DWARF debug sections. Place shstrtab section
1743 after DWARF debug sections have been compressed.
1744 (_bfd_elf_write_object_contents): Setting sh_name for output
1745 sections.
1746
f6fe1ccd
L
17472015-04-23 H.J. Lu <hongjiu.lu@intel.com>
1748
1749 PR binutils/18209
1750 * bfd.c (bfd): Add is_linker_input.
1751 * elf.c (convert_debug_to_zdebug): New.
1752 (convert_zdebug_to_debug): Likewise.
1753 (_bfd_elf_make_section_from_shdr): Don't convert .debug_* to
1754 .zdebug_* here. Use convert_zdebug_to_debug. Set SEC_ELF_RENAME.
1755 (_bfd_elf_init_reloc_shdr): Pass a pointer to section name
1756 instead of a pointer to section.
1757 (elf_fake_sections): Rename the section name if SEC_ELF_RENAME
1758 is set.
1759 * section.c (SEC_ELF_RENAME): New.
1760 * bfd-in2.h: Regenerated.
1761
a27e685f
AM
17622015-04-23 Alan Modra <amodra@gmail.com>
1763
1764 * elf64-ppc.c (TOC_BASE_ALIGN): Define.
1765 (ppc64_elf_next_toc_section): Align multi-got toc base.
1766 (ppc64_elf_set_toc): Likewise initial toc base and .TOC. symbol.
1767
d5597ebc
L
17682015-04-22 H.J. Lu <hongjiu.lu@intel.com>
1769
1770 PR ld/18289
1771 * elf32-i386.c (elf_i386_link_hash_entry): Add gotoff_ref.
1772 (elf_i386_link_hash_newfunc): Initialize gotoff_ref to 0.
1773 (elf_i386_create_dynamic_sections): Always allow copy relocs for
1774 building executables.
1775 (elf_i386_copy_indirect_symbol): Also copy gotoff_ref.
1776 (elf_i386_check_relocs): Set gotoff_ref for R_386_GOTOFF.
1777 (elf_i386_adjust_dynamic_symbol): Also allocate copy relocs for
1778 PIE and R_386_GOTOFF.
1779 (elf_i386_relocate_section): Allow R_386_GOTOFF in executable.
1780
e9702963
L
17812015-04-20 H.J. Lu <hongjiu.lu@intel.com>
1782
1783 * elf.c (assign_section_numbers): Always set up sh_name.
1784
e06efbf1
L
17852015-04-20 H.J. Lu <hongjiu.lu@intel.com>
1786
1787 * elf.c (assign_file_positions_for_non_load_sections): Iterate
1788 sections by pointer.
1789 (_bfd_elf_assign_file_positions_for_non_load): Likewise.
1790
0ce398f1
L
17912015-04-14 H.J. Lu <hongjiu.lu@intel.com>
1792
1793 * bfd-in.h (compressed_debug_section_type): New.
1794 * compress.c (bfd_compress_section_contents): Add an argument
1795 for linker write compression and always generate .zdebug_*
1796 section when linking.
1797 (bfd_init_section_compress_status): Pass FALSE to
1798 bfd_compress_section_contents.
1799 (bfd_compress_section): New function.
1800 * elf.c (elf_fake_sections): For linking, set SEC_ELF_COMPRESS
1801 on DWARF debug sections if COMPRESS_DEBUG is set and rename
1802 section if COMPRESS_DEBUG_GABI_ZLIB isn't set.
1803 (assign_file_positions_for_non_load_sections): Set sh_offset
1804 to -1 if SEC_ELF_COMPRESS is set.
1805 (assign_file_positions_except_relocs): Likwise.
1806 (_bfd_elf_assign_file_positions_for_relocs): Renamed to ...
1807 (_bfd_elf_assign_file_positions_for_non_load): This. Change
1808 return time to bfd_boolean. Compress the section if
1809 SEC_ELF_COMPRESS is set.
1810 (_bfd_elf_write_object_contents): Updated.
1811 (_bfd_elf_set_section_contents): Write section contents to
1812 the buffer if SEC_ELF_COMPRESS is set.
1813 * merge.c: Include "elf-bfd.h".
1814 (sec_merge_emit): Add arguments for contents and offset. Write
1815 to contents with offset if contents isn't NULL.
1816 (_bfd_write_merged_section): Write section contents to the
1817 buffer if SEC_ELF_COMPRESS is set. Pass contents and
1818 output_offset to sec_merge_emit.
1819 * elflink.c (bfd_elf_final_link): Allocate the buffer for
1820 output section contents if SEC_ELF_COMPRESS is set.
1821 * section.c (SEC_ELF_COMPRESS): New.
1822 * bfd-in2.h: Regenerated.
1823
95b57ade
AM
18242015-04-15 Alan Modra <amodra@gmail.com>
1825
1826 * elf32-rl78.c (rl78_elf_relocate_section): Typo fix.
1827
6ff71e76
NC
18282015-04-14 Nick Clifton <nickc@redhat.com>
1829
1830 * elf32-rl78.c (RL78_OP_REL): New macro.
1831 (rl78_elf_howto_table): Use it for complex relocs.
1832 (get_symbol_value): Handle the cases when the info or status
1833 arguments are NULL.
1834 (get_romstart): Cache the status returned by get_symbol_value.
1835 (get_ramstart): Likewise.
1836 (RL78_STACK_PUSH): Generate an error message if the stack
1837 overflows.
1838 (RL78_STACK_POP): Likewise for underflows.
1839 (rl78_compute_complex_reloc): New function. Contains the basic
1840 processing code for all RL78 complex relocs.
1841 (rl78_special_reloc): New function. Provides special reloc
1842 handling for complex relocs.
1843 (rl78_elf_relocate_section): Use rl78_compute_complex_reloc.
1844 (rl78_offset_for_reloc): Likewise.
1845
889c2a67
L
18462015-04-14 H.J. Lu <hongjiu.lu@intel.com>
1847
1848 PR ld/pr17709
1849 * elflink.c (_bfd_elf_adjust_dynamic_copy): Check
1850 info->extern_protected_data when warning copy relocs against
1851 protected symbols.
1852 (_bfd_elf_symbol_refs_local_p): Check info->extern_protected_data
1853 when checking protected non-function symbols.
1854
97de3545
JB
18552015-04-13 John Baldwin <jhb@FreeBSD.org>
1856
1857 * elf.c (elfcore_grok_note): Recognize NT_X86_XSTATE on
1858 FreeBSD.
1859 (elfcore_write_xstatereg): Use correct note name on FreeBSD.
1860
f0bf6bfd
L
18612015-04-13 H.J. Lu <hongjiu.lu@intel.com>
1862
1863 PR ld/18250
1864 * elflink.c (elf_link_is_defined_archive_symbol): Return FALSE
1865 if the object has been claimed by plugin.
1866
e3c0e327
L
18672015-04-11 H.J. Lu <hongjiu.lu@intel.com>
1868
1869 * elf32-i386.c (elf_i386_relocate_section): Replace SYMBOLIC_BIND
1870 with SYMBOL_REFERENCES_LOCAL when checking R_386_GOTOFF against
1871 protected data symbol when building shared library.
1872 * elf64-x86-64.c (elf_x86_64_relocate_section): Check
1873 R_X86_64_GOTOFF64 against undefined symbol and replace
1874 SYMBOLIC_BIND with SYMBOL_REFERENCES_LOCAL when checking
1875 R_X86_64_GOTOFF64 against protected data symbol when building
1876 shared library.
1877
3d949995
L
18782015-04-10 H.J. Lu <hongjiu.lu@intel.com>
1879
1880 PR ld/pr17709
1881 * elf32-i386.c (elf_i386_relocate_section): Also check R_386_GOTOFF
1882 against protected data symbol when building shared library.
1883 * elf64-x86-64.c (elf_x86_64_relocate_section): Also check
1884 R_X86_64_GOTOFF64 against protected data symbol when building
1885 shared library.
1886
f7483970
L
18872015-04-10 H.J. Lu <hongjiu.lu@intel.com>
1888
1889 PR ld/pr15228
1890 PR ld/pr17709
1891 * elf-bfd.h (elf_backend_data): Add extern_protected_data.
1892 * elf32-i386.c (elf_backend_extern_protected_data): New.
1893 Defined to 1.
1894 * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
1895 * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't error on
1896 copy relocs against protected symbols if extern_protected_data
1897 is true.
1898 (_bfd_elf_symbol_refs_local_p): Don't return true on protected
1899 non-function symbols if extern_protected_data is true.
1900 * elfxx-target.h (elf_backend_extern_protected_data): New.
1901 Default to 0.
1902 (elfNN_bed): Initialize extern_protected_data with
1903 elf_backend_extern_protected_data.
1904
030aeb75
L
19052015-04-10 H.J. Lu <hongjiu.lu@intel.com>
1906
1907 * compress.c (bfd_compress_section_contents): Replace bfd_malloc
1908 and free with bfd_alloc and bfd_release on compressed buffer.
1909 Release buffer if compressed section isn't smaller.
1910
d07a1b05
AM
19112015-04-10 Alan Modra <amodra@gmail.com>
1912
1913 PR ld/18222
1914 * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't report an error
1915 on adding a protected visibility variable to .dynbss.
1916
8d2ea2a8
AM
19172015-04-10 Alan Modra <amodra@gmail.com>
1918
1919 Revert 2015-03-05 H.J. Lu <hongjiu.lu@intel.com>
1920 PR ld/pr15228
1921 PR ld/pr17709
1922 * elf-bfd.h (elf_backend_data): Delete extern_protected_data.
1923 * elf32-i386.c (elf_backend_extern_protected_data): Delete.
1924 * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
1925 * elflink.c (_bfd_elf_adjust_dynamic_copy): Remove
1926 extern_protected_data test.
1927 (_bfd_elf_symbol_refs_local_p): Likewise.
1928 * elfxx-target.h (elf_backend_extern_protected_data): Delete.
1929 (elfNN_bed): Delete elf_backend_extern_protected_data init.
1930
18ece1de
L
19312015-04-09 H.J. Lu <hongjiu.lu@intel.com>
1932
1933 * compress.c (bfd_compress_section_contents): Update comments.
1934 (bfd_init_section_decompress_status): Likewise.
1935 (bfd_init_section_compress_status): Likewise.
1936
cd6faa73
L
19372015-04-09 H.J. Lu <hongjiu.lu@intel.com>
1938
1939 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_COMPRESS_GABI to
1940 object_flags.
1941 (TARGET_LITTLE_SYM): Likewise.
1942
19424843
MF
19432015-04-09 Max Filippov <jcmvbkbc@gmail.com>
1944
1945 * elf32-xtensa.c (splay-tree.h): include header.
1946 (text_action_struct): drop next pointer.
1947 (text_action_list_struct): drop head pointer, add count and
1948 tree fields.
1949 (find_fill_action): instead of linear search in text_action_list
1950 search in the tree.
1951 (text_action_compare, action_first, action_next): new functions.
1952 (text_action_add, text_action_add_literal): instead of linear
1953 search and insertion insert new node into the tree.
1954 (removed_by_actions): pass additional parameter: action_list,
1955 use it to traverse the tree.
1956 (offset_with_removed_text): pass additional action_list parameter
1957 to removed_by_actions.
1958 (map_action_fn_context): new typedef.
1959 (map_action_fn_context_struct): new structure.
1960 (map_action_fn): new function.
1961 (map_removal_by_action): use splay_tree_foreach to build map.
1962 (find_insn_action): replace linear search in text_action_list
1963 with series of splay_tree_lookups.
1964 (print_action, print_action_list_fn): new functions.
1965 (print_action_list): use splay_tree_foreach.
1966 (init_xtensa_relax_info): drop action_list.head initialization.
1967 Initialize the tree.
1968 (compute_text_actions): use non-zero action_list_count instead of
1969 non-NULL action list.
1970 (xlate_map_context): new typedef.
1971 (xlate_map_context_struct): new structure.
1972 (xlate_map_fn): new function.
1973 (build_xlate_map): use splay_tree_foreach to build map.
1974 (action_remove_bytes_fn): new function.
1975 (relax_section): use zero action_list_count instead of NULL
1976 action list. Use splay_tree_foreach to count final section size.
1977 Drop unused variable 'removed'.
1978
19792015-04-09 Max Filippov <jcmvbkbc@gmail.com>
1980
1981 * elf32-xtensa.c (removed_literal_map_entry): new typedef.
1982 (removed_literal_map_entry_struct): new structure.
1983 (removed_literal_list_struct): add new fields: n_map and map.
1984 (map_removed_literal, removed_literal_compare): new functions.
1985 (find_removed_literal): build index array for literals ordered
1986 by VMA, use binary search to find removed literal.
1987
19882015-04-09 Max Filippov <jcmvbkbc@gmail.com>
1989
1990 * elf32-xtensa.c (removal_by_action_entry_struct,
1991 removal_by_action_map_struct): new structures.
1992 (removal_by_action_entry, removal_by_action_map): new typedefs.
1993 (text_action_list_struct): add new field: map.
1994 (map_removal_by_action, removed_by_actions_map,
1995 offset_with_removed_text_map): new functions.
1996 (relax_section): replace offset_with_removed_text with
1997 offset_with_removed_text_map.
1998 (translate_reloc, relax_property_section, relax_section_symbols):
1999 replace removed_by_actions with removed_by_actions_map.
2000
20012015-04-09 Max Filippov <jcmvbkbc@gmail.com>
2002
2003 * elf32-xtensa.c (reloc_range_list, reloc_range_list_entry,
2004 reloc_range): new typedef.
2005 (reloc_range_list_struct, reloc_range_list_entry_struct,
2006 reloc_range_struct): new structures.
2007 (reloc_range_compare, build_reloc_ranges,
2008 reloc_range_list_append, reloc_range_list_remove,
2009 reloc_range_list_update_range, free_reloc_range_list): new
2010 functions.
2011 (compute_text_actions): precompute relocation opcodes before the
2012 loop. Add relevant_relocs variable, initialize it before the
2013 loop, pass it to the check_section_ebb_pcrels_fit.
2014 (check_section_ebb_pcrels_fit): add new parameter:
2015 relevant_relocs. Update address range in the relevant_relocs if
2016 it's non-NULL and iterate only over relevant relocations.
2017
3525236c
NC
20182015-04-09 Nick Clifton <nickc@redhat.com>
2019
2020 * elf32-rx.c (describe_flags): Report the settings of the string
2021 insn using bits.
2022 (rx_elf_merge_private_bfd_data): Handle merging of the string insn
2023 using bits.
2024
51509926
L
20252015-04-08 H.J. Lu <hongjiu.lu@intel.com>
2026
2027 * compress.c (bfd_compress_section_contents): Work around a GCC
2028 uninitialized warning bug fixed in GCC 4.7.
2029
151411f8
L
20302015-04-08 H.J. Lu <hongjiu.lu@intel.com>
2031
2032 * archive.c (_bfd_get_elt_at_filepos): Also copy BFD_COMPRESS_GABI
2033 bit.
2034 * bfd.c (bfd::flags): Increase size to 18 bits.
2035 (BFD_COMPRESS_GABI): New.
2036 (BFD_FLAGS_SAVED): Add BFD_COMPRESS_GABI.
2037 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
2038 (bfd_update_compression_header): New fuction.
2039 (bfd_check_compression_header): Likewise.
2040 (bfd_get_compression_header_size): Likewise.
2041 (bfd_is_section_compressed_with_header): Likewise.
2042 * compress.c (MAX_COMPRESSION_HEADER_SIZE): New.
2043 (bfd_compress_section_contents): Return the uncompressed size if
2044 the full section contents is compressed successfully. Support
2045 converting from/to .zdebug* sections.
2046 (bfd_get_full_section_contents): Call
2047 bfd_get_compression_header_size to get compression header size.
2048 (bfd_is_section_compressed): Renamed to ...
2049 (bfd_is_section_compressed_with_header): This. Add a pointer
2050 argument to return compression header size.
2051 (bfd_is_section_compressed): Use it.
2052 (bfd_init_section_decompress_status): Call
2053 bfd_get_compression_header_size to get compression header size.
2054 Return FALSE if uncompressed section size is 0.
2055 * elf.c (_bfd_elf_make_section_from_shdr): Support converting
2056 from/to .zdebug* sections.
2057 * bfd-in2.h: Regenerated.
2058
87070c08
AM
20592015-04-07 Alan Modra <amodra@gmail.com>
2060
2061 * elf.c (_bfd_elf_get_reloc_section): Allow for .got.plt being
2062 mapped to output .got section.
2063
d3e454b9
AM
20642015-04-07 Alan Modra <amodra@gmail.com>
2065
2066 * elf32-ppc.c (struct ppc_elf_link_hash_entry): Add has_addr16_ha
2067 and has_addr16_lo. Make has_sda_refs a bitfield.
2068 (ppc_elf_check_relocs): Set new flags.
2069 (ppc_elf_link_hash_table_create): Update default_params.
2070 (ppc_elf_adjust_dynamic_symbol): Clear protected_def in cases
2071 where we won't be making .dynbss entries or editing code. Set
2072 params->pic_fixup when we'll edit code for protected var access.
2073 (allocate_dynrelocs): Allocate got entry for edited code and
2074 discard dyn_relocs.
2075 (struct ppc_elf_relax_info): Add picfixup_size.
2076 (ppc_elf_relax_section): Rename struct one_fixup to struct
2077 one_branch_fixup. Rename fixups to branch_fixups. Size space for
2078 pic fixups.
2079 (ppc_elf_relocate_section): Edit non-PIC accessing protected
2080 visibility variables to PIC. Don't emit dyn_relocs for code
2081 we've edited.
2082 * elf32-ppc.h (struct ppc_elf_params): Add pic_fixup.
2083
ffa54770
NC
20842015-04-07 Nick Clifton <nickc@redhat.com>
2085
2086 * elf.c (_bfd_elf_is_local_label_name): Treat assembler generated
2087 local labels as local.
2088
4aa90cc0
L
20892015-04-06 H.J. Lu <hongjiu.lu@intel.com>
2090
2091 * compress.c (get_uncompressed_size): Removed.
2092 (bfd_compress_section_contents): Use bfd_putb64 to write
2093 uncompressed section size.
2094 (bfd_init_section_decompress_status): Replace
2095 get_uncompressed_size with bfd_getb64.
2096
68f5ff89
L
20972015-04-04 H.J. Lu <hongjiu.lu@intel.com>
2098
2099 * elf.c (_bfd_elf_init_private_section_data): Also preserve the
2100 SHF_COMPRESSED bit if not decompress.
2101
8bed4e0f
L
21022015-04-04 H.J. Lu <hongjiu.lu@intel.com>
2103
2104 * compress.c (get_uncompressed_size): New. Extracted from ...
2105 (bfd_init_section_decompress_status): This. Use it.
2106
15c7659f
AT
21072015-04-02 Andrew Turner <andrew@freebsd.org>
2108
2109 * config.bfd: Add aarch64-*-freebsd* target triple.
2110
39f3de7c
L
21112015-04-02 H.J. Lu <hongjiu.lu@intel.com>
2112
2113 * configure: Regenerated.
2114
4106101c
MS
21152015-04-01 Tejas Belagod <tejas.belagod@arm.com>
2116 Marcus Shawcroft <marcus.shawcroft@arm.com>
2117 Jiong Wang <jiong.wang@arm.com>
2118
2119 * bfd-in.h (bfd_elf64_aarch64_set_options)
2120 (bfd_elf32_aarch64_set_options): Add parameter.
2121 * bfd-in2.h: Regenerated.
2122 * elfnn-aarch64.c (aarch64_erratum_843419_stub)
2123 (_bfd_aarch64_adrp_p, _bfd_aarch64_erratum_843419_sequence_p)
2124 (_bfd_aarch64_erratum_843419_stub_name)
2125 (_bfd_aarch64_erratum_843419_fixup)
2126 (_bfd_aarch64_erratum_843419_scan)
2127 (_bfd_aarch64_erratum_843419_branch_to_stub)
2128 (_bfd_aarch64_erratum_843419_p): Define.
2129 (enum elf_aarch64_stub_type): Define
2130 aarch64_stub_erratum_843419_veneer.
2131 (struct elf_aarch64_stub_hash_entry): Define adrp_offset.
2132 (struct elf_aarch64_link_hash_table): Define fix_erratum_843419
2133 and fix_erratum_843419_adr.
2134 (stub_hash_newfunc): Initialize adrp_offset;
2135 (_bfd_aarch64_add_stub_entry_after): Define.
2136 (aarch64_map_one_stub, aarch64_build_one_stub)
2137 (aarch64_size_one_stub): Handle
2138 aarch64_stub_erratum_843419_veneer.
2139 (_bfd_aarch64_resize_stubs): Round stub section size.
2140 (elfNN_aarch64_size_stubs): Add scan for 843419.
2141 (bfd_elfNN_aarch64_set_options): Add parameter. Initialize
2142 fix_erratum_843419 and fix_erratum_843419_adr.
2143 (struct erratum_835769_branch_to_stub_data): Add info.
2144 (elfNN_aarch64_write_section): Initialise info. Handle 843419.
2145 (elfNN_aarch64_size_dynamic_sections): Handle 843419.
2146 * elfxx-aarch64.c (_bfd_aarch64_decode_adrp_imm)
2147 (_bfd_aarch64_sign_extend): Define.
2148 (reencode_adr_imm): Remove static. Rename to:
2149 (_bfd_aarch64_reencode_adr_imm): Define.
2150 (_bfd_aarch64_elf_put_addend): Call _bfd_aarch64_reencode_adr_imm.
2151 * elfxx-aarch64.h (AARCH64_ADR_OP, AARCH64_ADRP_OP)
2152 (AARCH64_ADRP_OP_MASK, _bfd_aarch64_sign_extend)
2153 (_bfd_aarch64_decode_adrp_imm, _bfd_aarch64_reencode_adr_imm):
2154 Define.
2155
afa59b79
L
21562015-04-01 H.J. Lu <hongjiu.lu@intel.com>
2157
2158 * configure: Regenerated.
2159
6036f486
ES
21602015-03-31 Ed Schouten <ed@nuxi.nl>
2161
2162 * config.bfd (targ_defvec): Set to x86_64_elf64_cloudabi_vec
2163 for x86_64-*-cloudabi*.
2164 * configure.ac: Handle x86_64_elf64_cloudabi_vec.
2165 * configure: Regenerated.
2166 * elf64-x86-64.c (TARGET_LITTLE_SYM): Support x86_64-*-cloudabi*.
2167 (TARGET_LITTLE_NAME): Likewise.
2168 (ELF_OSABI): Likewise.
2169 (elf64_bed): Likewise.
2170 * targets.c (x86_64_elf64_cloudabi_vec): New.
2171 (_bfd_target_vector): Add x86_64_elf64_cloudabi_vec.
2172
9ae46699
L
21732015-03-31 H.J. Lu <hongjiu.lu@intel.com>
2174
2175 * configure.ac: Revert the AM_ZLIB change.
2176 * Makefile.in: Regenerated.
2177 * aclocal.m4: Likewise.
2178 * configure: Likewise.
2179 * doc/Makefile.in: Likewise.
2180
bd53a53a
L
21812015-03-30 H.J. Lu <hongjiu.lu@intel.com>
2182
2183 PR ld/18169
2184 * elf-bfd.h (elf_backend_data): Add get_reloc_section.
2185 (_bfd_elf_get_reloc_section): New.
2186 * elf.c (_bfd_elf_get_reloc_section): Likewise.
2187 (assign_section_numbers): Call get_reloc_section to look up the
2188 section the relocs apply.
2189 * elfxx-target.h (elf_backend_get_reloc_section): Likewise.
2190 (elfNN_bed): Initialize get_reloc_section with
2191 elf_backend_get_reloc_section.
2192
243340ad
L
21932015-03-29 H.J. Lu <hongjiu.lu@intel.com>
2194
2195 * Makefile.am (ZLIB): New.
2196 (ZLIBINC): Likewise.
2197 (AM_CFLAGS): Add $(ZLIBINC).
2198 (libbfd_la_LIBADD): Add $(ZLIB).
2199 * compress.c: Don't check HAVE_ZLIB_H to include <zlib.h>.
2200 (decompress_contents): Don't check HAVE_ZLIB_H.
243340ad
L
2201 (bfd_compress_section_contents): Likewise.
2202 (bfd_get_full_section_contents): Likewise.
2203 (bfd_init_section_decompress_status): Likewise.
2204 (bfd_init_section_compress_status): Likewise.
b51724e8 2205 * configure.ac (AM_ZLIB): Removed.
243340ad
L
2206 (zlibdir): New. AC_SUBST.
2207 (zlibinc): Likewise.
2208 Add --with-system-zlib.
2209 * Makefile.in: Regenerated.
2210 * acinclude.m4: Likewise.
2211 * config.in: Likewise.
2212 * configure: Likewise.
2213 * doc/Makefile.in: Likewise.
2214
b8417128
AM
22152015-03-27 Alan Modra <amodra@gmail.com>
2216
2217 PR ld/15228
2218 PR ld/18167
2219 * elflink.c (elf_merge_st_other): Add "sec" parameter. Don't set
2220 protected_def when symbol section is read-only. Adjust all calls.
2221 * elf-bfd.h (struct elf_link_hash_entry): Update protected_def comment.
2222
93ca8569
TB
22232015-03-26 Tejas Belagod <tejas.belagod@arm.com>
2224
2225 * elfnn-aarch64.c (aarch64_build_one_stub): Replace the call to generic
2226 _bfd_final_link_relocate with aarch64_relocate.
2227
b19a8f85
L
22282015-03-26 H.J. Lu <hongjiu.lu@intel.com>
2229
2230 PR ld/18160
2231 * elflink.c (elf_gc_sweep): Skip if relocation is incompatible.
2232 (bfd_elf_gc_sections): Likewise.
2233
61865519
MS
22342015-03-25 Marcus Shawcroft <marcus.shawcroft@arm.com>
2235
2236 * elfnn-aarch64.c (_bfd_aarch64_resize_stubs): Adjust stub section
2237 size for initial branch.
2238 (elfNN_aarch64_build_stubs): Write initial branch.
2239 _bfd_aarch64_decode_(elfNN_aarch64_output_arch_local_syms): Write
2240 mapping symbol on initial branch.
2241
d9ced15d 22422015-03-25 Marcus Shawcroft <marcus.shawcroft@arm.com>
357d1523
MS
2243
2244 * elfnn-aarch64.c (_bfd_aarch64_erratum_835769_scan):
2245 Update erratum count.
2246
d422d1c4
SKS
22472015-03-25 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2248
2249 * elflink.c (_bfd_elf_gc_mark_extra_sections): Don't break on
2250 first matching debug section.
2251
8d001214
L
22522015-03-24 H.J. Lu <hongjiu.lu@intel.com>
2253
2254 PR gas/18087
2255 * compress.c (bfd_compress_section_contents): Don't write the
2256 zlib header and set contents as well as compress_status if
2257 compression didn't make the section smaller.
2258 (bfd_init_section_compress_status): Don't check compression
2259 size here.
2260
fc42baf3
NC
22612015-03-24 Nick Clifton <nickc@redhat.com>
2262
2263 PR binutils/17512
2264 * coffgen.c (coff_get_normalized_symtab): Fix test for out of
2265 range auxillary sections.
2266
fc6d53be
MS
22672015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
2268
2269 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Factor
2270 code into:
2271 (_bfd_aarch64_get_stub_for_link_section): Define.
2272
30068a6d
MS
22732015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
2274
2275 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Adjust
2276 update of section_group[].stub_sec.
2277
5421cc6e
MS
22782015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
2279
2280 * elfnn-aarch64.c (struct aarch64_erratum_835769_fix) Remove.
2281 (erratum_835769_scan) Drop fix_table_size_p and fixes_p arguments.
2282 Delete fixes, fix_table_size and associated code. Call
2283 _bfd_aarch64_add_stub_entry_in_group. Rename to...
2284 (bfd_aarch64_erratum_835769_scan): Define.
2285 (elfNN_aarch64_size_stubs): Delete erratum_835769_fixes,
2286 erratum_835769_fix_table_size, i and associated code. Relocate
2287 call to _bfd_aarch64_erratum_835769_scan. Delete adhoc stub size
2288 correction. Delete construction of stub entry from
2289 erratum_835769_fixes array.
2290
e572930b
MS
22912015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
2292
2293 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Use
2294 _bfd_aarch64_add_stub_entry_in_group.
2295
8131c122
AM
22962015-03-24 Alan Modra <amodra@gmail.com>
2297
2298 * elf64-ppc.c (ppc64_elf_relocate_section): Report overflow to
2299 stubs, even those for undefined weak symbols. Otherwise, don't
2300 report relocation overflow on branches to undefined strong
2301 symbols. Fix memory leak.
2302 * elf32-ppc.c (ppc_elf_relocate_section): Don't report relocation
2303 overflow on branches to undefined strong symbols.
2304
c53ed7cf
KS
23052015-03-23 Keith Seitz <keiths@redhat.com>
2306
2307 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Add
2308 missing ';'.
2309
94a75bde
MS
23102015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2311
2312 * elfnn-aarch64.c (erratum_835769_scan): Factor stub name
2313 construction into...
2314 (_bfd_aarch64_erratum_835769_stub_name): Define.
2315
13f622ec
MS
23162015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2317
2318 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Factor out
2319 stub resize code into...
2320 (bfd_aarch64_resize_stubs): Define.
2321
66585675
MS
23222015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2323
2324 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Factor stub
2325 creation code into...
2326 (bfd_aarch64_create_stub_section): Define.
2327
ef857521
MS
23282015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2329
2330 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Rename
2331 from elf_aarch64_create_or_find_stub_sec.
2332 (_bfd_aarch64_add_stub_entry_in_group): Rename from
2333 elfNN_aarch64_add_stub. Call
2334 _bfd_aarch64_create_or_find_stub_sec.
2335 (elfNN_aarch64_size_stubs, elfNN_aarch64_size_stubs): Call
2336 _bfd_aarch64_add_stub_entry_in_group.
2337
2144188d
MS
23382015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2339
2340 * elfnn-aarch64.c (erratum_835769_scan) Add comment. Reverse
2341 sense of boolean return.
2342 (elfNN_aarch64_size_stubs): Adjust for above.
2343
4c77202d
MS
23442015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2345
2346 * elfnn-aarch64.c (elf_aarch64_create_or_find_stub_sec):
2347 Remove unused parameter.
2348 (elfNN_aarch64_size_stubs): Adjust for above.
2349
9b9971aa
MS
23502015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2351
2352 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Remove bfd_indx.
2353
e2cdef47
MS
23542015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2355
2356 * elfnn-aarch64.c (aarch64_erratum_835769_fixes)
2357 (num_aarch64_erratum_835769_fixes): Remove.
2358 (elfNN_aarch64_size_stubs): Remove assignments to above.
2359
3d14faea
MS
23602015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2361
23956543
MS
2362 * elfnn-aarch64.c (aarch64_mem_op_p): Update comment. Rename rtn
2363 to rt2.
3d14faea
MS
2364 (aarch64_erratum_seqeunce): Rename rtn to rt2.
2365
f872121a
MS
23662015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2367
2368 * elfnn-aarch64.c (elfNN_aarch64_write_section): Adjust layout.
2369
1740ba0c
NC
23702015-03-19 Nick Clifton <nickc@redhat.com>
2371
2372 * elf32-rl78.c (rl78_cpu_name): New function. Prints the name of
2373 the RL78 core based upon the flags.
2374 (rl78_elf_merge_private_bfd_data): Handle merging of G13 and G14
2375 flags.
2376 (rl78_elf_print_private_bfd_data): Use rl78_cpu_name.
2377 (elf32_rl78_machine): Always return bfd_mach_rl78.
2378
e2575e05
NC
23792015-03-19 Nick Clifton <nickc@redhat.com>
2380
2381 PR 18078
2382 * compress.c (bfd_compress_section_contents): Do not define this
2383 function if it is not used.
2384
0b0732e1
L
23852015-03-18 H.J. Lu <hongjiu.lu@intel.com>
2386
2387 * compress.c (bfd_compress_section_contents): Make it static.
2388 * bfd/bfd-in2.h: Regenerated.
2389
27aaeda0
NC
23902015-03-18 Eric Youngdale <eyoungdale@ptc.com>
2391
2392 PR ld/16598
2393 * peicode.h (pe_ILF_build_a_bfd): Add support for creating relocs
2394 suitable for the AMD64.
2395
273a4985
JT
23962015-03-18 Jon Turney <jon.turney@dronecode.org.uk>
2397 Nick Clifton <nickc@redhat.com>
2398
2399 PR binutils/18087
2400 * coffgen.c (make_a_section_from_file): Only prepend a z to a
2401 debug section's name if the section was actually compressed.
2402 * elf.c (_bfd_elf_make_section_from_shdr): Likewise.
2403 * compress.c (bfd_init_section_compress_status): Do not compress
2404 the section if doing so would make it bigger. In such cases leave
2405 the section alone and return COMPRESS_SECTION_NONE.
2406
c4b0b099
AM
24072015-03-17 Alan Modra <amodra@gmail.com>
2408
2409 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Return count of 0
2410 on nothing to do, before malloc of returned symbol array.
2411
9c761a55
NC
24122015-03-16 Nick Clifton <nickc@redhat.com>
2413
2414 * elf32-rx.c (elf32_rx_relax_delete_bytes): If the relocs are not
2415 stored in the elf_section_data structure then load them as
2416 necessary.
2417
b9005ba7
AK
24182015-03-14 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2419
2420 * elf-s390-common.c (elf_s390_elf_sort_relocs_p): Don't sort
2421 relocs against code sections.
2422 * elf32-s390.c: Define elf_backend_sort_relocs_p.
2423 * elf64-s390.c: Likewise.
2424
1079403c
AM
24252015-03-11 Alan Modra <amodra@gmail.com>
2426
2427 * elf32-ppc.c (ppc_elf_get_synthetic_symtab): Examine stubs in
2428 reverse order. Account for larger size of __tls_get_addr_opt stub.
2429
a5721edd
JW
24302015-03-10 Yuri Gribov <y.gribov@samsung.arm>
2431
2432 PR ld/16572
2433 * elf32-arm.c (elf32_arm_final_link_relocate): Remove support for
2434 ELF_ARM_HASENTRY.
2435 (elf32_arm_print_private_bfd_data): Likewise.
2436
65164438
NC
24372015-03-06 Nick Clifton <nickc@redhat.com>
2438
2439 PR binutils/17765
2440 * elflink.c (put_value): Like previous delta, but for the 32-bit
2441 case.
2442
41cd1ad1
NC
24432015-03-05 Nick Clifton <nickc@redhat.com>
2444
2445 PR binutils/17765
2446 * elflink.c (put_value): Avoid using an undefined shift
2447 operation.
2448
ca3fe95e
L
24492015-03-05 H.J. Lu <hongjiu.lu@intel.com>
2450
2451 PR ld/pr15228
2452 PR ld/pr17709
2453 * elf-bfd.h (elf_backend_data): Add extern_protected_data.
2454 * elf32-i386.c (elf_backend_extern_protected_data): New.
2455 Defined to 1.
2456 * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
2457 * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't error on
2458 copy relocs against protected symbols if extern_protected_data
2459 is true.
2460 (_bfd_elf_symbol_refs_local_p): Don't return true on protected
2461 non-function symbols if extern_protected_data is true.
2462 * elfxx-target.h (elf_backend_extern_protected_data): New.
2463 Default to 0.
2464 (elfNN_bed): Initialize extern_protected_data with
2465 elf_backend_extern_protected_data.
2466
425bd9e1
NC
24672015-03-05 Nick Clifton <nickc@redhat.com>
2468
2469 PR binutils/18025
2470 * coffgen.c (coff_find_nearest_line_with_names): If the dwarf2
2471 lookup fails, check for an address bias in the dwarf info, and if
2472 one exists, retry the lookup with the biased value.
2473 * dwarf2.c (_bfd_dwarf2_find_symbol_bias): New function.
2474 Determines if a bias exists bewteen the addresses of functions
2475 based on DWARF information vs symbol table information.
2476 * libbfd-in.h (_bfd_dwarf2_find_symbol_bias): Prototype.
2477 * libbfd.h: Regenerate.
2478
8ef229f3
MS
24792015-03-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
2480
2481 * elfxx-aarch64.c (decode_add_imm, decode_movw_imm)
2482 (decode_tst_branch_ofs_14, decode_ld_lit_ofs_19)
2483 (decode_cond_branch_ofs_19, decode_branch_ofs_26): Remove.
2484
8e2fe09f
MS
24852015-03-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
2486
2487 * elfnn-aarch64.c (aarch64_build_one_stub): Call abort.
2488 (aarch64_size_one_stub): Likewise.
2489 (aarch64_map_one_stub): Likewise.
2490
df88b702
AA
24912015-03-04 Andreas Arnez <arnez@linux.vnet.ibm.com>
2492
2493 * cpu-s390.c (N): New macro.
2494 (bfd_s390_31_arch): New. Define only if default target word size
2495 is 64 bits. Otherwise define...
2496 (bfd_390_64_arch): ...this. Make static.
2497 (bfd_s390_arch): Define according to the default target word size.
2498 Let the 'next' field point to the alternate arch.
2499
e09ab7ac
RS
25002015-03-04 Richard Sandiford <richard.sandiford@arm.com>
2501
2502 PR gas/17843
2503 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Expect
2504 R_AARCH64_TLSLE_MOVW_TPREL_G0_NC and R_AARCH64_TLSLE_MOVW_TPREL_G1_NC
2505 to be used with MOVK rather than MOVZ.
2506
71eef2bd
DD
25072015-03-03 DJ Delorie <dj@redhat.com>
2508
2509 * elf32-rl78.c (rl78_elf_relax_section): Only relax ADDR16's if
2510 there's a symbol.
2511
f01f1741
AM
25122015-02-28 Alan Modra <amodra@gmail.com>
2513
2514 * elf32-ppc.c (ppc_elf_tls_setup): Set no_tls_get_addr_opt if
2515 not PLT_NEW.
2516
c1d11331
L
25172015-02-27 H.J. Lu <hongjiu.lu@intel.com>
2518
2519 * elf32-i386.c (need_convert_mov_to_lea): New.
2520 (elf_i386_check_relocs): Set need_convert_mov_to_lea if needed.
2521 (elf_i386_convert_mov_to_lea): Return TRUE if
2522 need_convert_mov_to_lea is unset.
2523 * elf64-x86-64.c (need_convert_mov_to_lea): New.
2524 (elf_x86_64_check_relocs): Set need_convert_mov_to_lea if needed.
2525 (elf_x86_64_convert_mov_to_lea): Return TRUE if
2526 need_convert_mov_to_lea is unset.
2527
cdb602b1
NC
25282015-02-27 Nick Clifton <nickc@redhat.com>
2529
2530 PR binutils/17910
2531 * coffgen.c (_bfd_coff_internal_syment_name): Only check for
2532 string length overflow when the string table length is actually
2533 set.
2534
96c20bc1
MS
25352015-02-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
2536
2537 * bfd/bfd-in2.h: Regenerate.
2538 * bfd/libbfd.h: Regenerate.
2539
1ada945d
MS
25402015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
2541
2542 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix
2543 TLSDESC_LD_PREL19 field width and masks.
2544 (aarch64_tls_transition_without_check)
2545 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
2546 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
2547 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
2548 BFD_RELOC_AARCH64_TLSDESC_LD_PREL19.
2549 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
2550 (_bfd_aarch64_elf_resolve_relocation): Likewise.
2551
389b8029
MS
25522015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
2553
73920eed
MS
2554 * elfnn-aarch64.c (IS_AARCH64_TLSDESC_RELOC): Reorder R_TYPE
2555 tests.
389b8029
MS
2556 (aarch64_tls_transition_without_check)
2557 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
2558 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
2559 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
2560 BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21.
2561 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
2562 (_bfd_aarch64_elf_resolve_relocation): Likewise.
2563 * reloc.c (BFD_RELOC_AARCH64_TLSGD_ADR_PREL21): Define.
2564
3c12b054
MS
25652015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
2566
2567 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC)
2568 (elfNN_aarch64_howto_table, aarch64_tls_transition_without_check)
2569 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
2570 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
2571 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
2572 BFD_RELOC_AARCH64_TLSGD_ADR_PREL21.
2573 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
2574 (_bfd_aarch64_elf_resolve_relocation): Likewise.
2575 * reloc.c (BFD_RELOC_AARCH64_TLSGD_ADR_PREL21): Define.
2576
043bf05a
MS
25772015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
2578
2579 * elfnn-aarch64.c: (TLSIE_LD_GOTTREL_PREL19): Fix HOWTO bit field width.
2580 (aarch64_tls_transition_without_check, aarch64_reloc_got_type)
2581 (elfNN_aarch64_final_link_relocate, elfNN_aarch64_tls_relax)
2582 (elfNN_aarch64_relocate_section, elfNN_aarch64_gc_sweep_hook)
2583 (elfNN_aarch64_check_relocs): Handle
2584 BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19.
2585
2586 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
2587 (_bfd_aarch64_elf_resolve_relocation): Likewise.
2588
7366006f
MS
25892015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
2590
2591 * elfnn-aarch64.c: (TLSDESC_CALL): Fix HOWTO bit field width.
2592
07875fbc
MS
25932015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
2594
2595 * elfnn-aarch64.c (TLSLE_MOVW_TPREL_G2)
2596 (TLSLE_MOVW_TPREL_G1, TLSLE_MOVW_TPREL_G1_NC)
2597 (TLSLE_MOVW_TPREL_G0, TLSLE_MOVW_TPREL_G0_NC): Fix bit field
2598 width.
2599
49d8f92c
MS
26002015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
2601
2602 * elfnn-aarch64.c: (TLSIE_MOVW_GOTTPREL_G0_NC): Fix HOWTO bit
2603 field width.
2604
c86934ce
NC
26052015-02-26 Nick Clifton <nickc@redhat.com>
2606
2607 PR binutils/17512
2608 * coffcode.h (coff_compute_section_file_positions): Report
2609 negative page sizes.
2610 * elf.c (elf_fake_sections): Handle excessive alignmment powers.
2611 (assign_file_positions_for_non_load_sections): Replace assertion
2612 with an error message.
2613 (rewrite_elf_program_header): Handle excessive segment
2614 alignments.
2615 * mach-o.c (bfd_mach_o_read_section_32): Likewise.
2616 (bfd_mach_o_read_section_64): Likewise.
2617 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Use %B to
2618 print a bfd name, not %A.
2619
bd4d2eaa
AM
26202015-02-26 Alan Modra <amodra@gmail.com>
2621
2622 * elf64-ppc.c (plt_stub_size, build_plt_stub): Don't build
2623 thread-safe stubs for iplt.
2624 (build_tls_get_addr_stub): Restore r2 immediately after call.
2625
99654aaf
TG
26262015-02-26 Terry Guo <terry.guo@arm.com>
2627
2628 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Update how we
2629 merge Tag_ABI_HardFP_use.
2630
a127494f
AM
26312015-02-26 Alan Modra <amodra@gmail.com>
2632
2633 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Heed -z nocopyreloc.
2634 Use text relocs rather than giving an error on trying to use
2635 .dynbss for protected shared lib vars.
2636 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
2637
bac13f5a
AB
26382015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
2639
2640 * elf32-avr.c (struct elf_avr_section_data): New structure.
2641 (struct avr_relax_info): New structure.
2642 (elf_avr_new_section_hook): New function.
2643 (struct elf_avr_section_data): Add relax_info.
2644 (get_avr_relax_info): New function.
2645 (init_avr_relax_info): New function.
2646 (elf32_avr_relax_delete_bytes): Find next property record before
2647 deleting bytes. When deleting don't move bytes beyond the next
2648 property record.
2649 (avr_elf32_assign_records_to_section): New function.
2650 (avr_property_record_compare): New function.
2651 (avr_load_all_property_sections): New function.
2652 (elf32_avr_relax_section): Load property data. After relaxing the
2653 section, move any .align directives that have enough deleted bytes
2654 before them.
2655 (bfd_elf32_new_section_hook): Define.
2656
137c83d6
AB
26572015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
2658
2659 * elf32-avr.h (struct avr_property_header): New strucure.
2660 (avr_elf32_load_property_records): Declare.
2661 (avr_elf32_property_record_name): Declare.
2662 * elf32-avr.c: Add bfd_stdint.h include.
2663 (retrieve_local_syms): New function.
2664 (get_elf_r_symndx_section): New function.
2665 (get_elf_r_symndx_offset): New function.
2666 (internal_reloc_compare): New function.
2667 (struct avr_find_section_data): New structure.
2668 (avr_is_section_for_address): New function.
2669 (avr_find_section_for_address): New function.
2670 (avr_elf32_load_records_from_section): New function.
2671 (avr_elf32_load_property_records): New function.
2672 (avr_elf32_property_record_name): New function.
2673
fdd410ac
AB
26742015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
2675
2676 * elf32-avr.h (AVR_PROPERTY_RECORD_SECTION_NAME): Define.
2677 (AVR_PROPERTY_RECORDS_VERSION): Define.
2678 (AVR_PROPERTY_SECTION_HEADER_SIZE): Define.
2679 (struct avr_property_record): New structure.
2680
685080f2
NC
26812015-02-24 Nick Clifton <nickc@redhat.com>
2682
2683 * elf32-v850.c (v850_set_note): New function. Creates a Renesas
2684 style note entry.
2685 (v850_elf_make_note_section): New function. Creates a note
2686 section.
2687 (v850_elf_create_sections): New function. Create a note section
2688 if one is not already present.
2689 (v850_elf_set_note): New function. Adds a note to a bfd.
2690 (v850_elf_copy_private_bfd_data): New function. Copies V850
2691 notes.
2692 (v850_elf_merge_notes): New function. Merges V850 notes.
2693 (print_v850_note): New function. Displays a V850 note.
2694 (v850_elf_print_notes): New function. Displays all notes attached
2695 to a bfd.
2696 (v850_elf_merge_private_bfd_data): Call v850_elf_merge_notes.
2697 (v850_elf_print_private_bfd_data): Call v850_elf_print_notes.
2698 (v850_elf_fake_sections): Set the type of the V850 note section.
2699 * bfd-in.h (v850_elf_create_sections): Add prototype.
2700 (v850_elf_set_note): Add prototype.
2701 * bfd-in2.h: Regenerate.
2702
31593e1b
NC
27032015-02-24 Nick Clifton <nickc@redhat.com>
2704
2705 * configure.ac (AC_CHECK_HEADERS): Add wctype.h.
2706 * configure: Regenerate.
2707 * config.in: Regenerate.
2708 * peXXigen.c: Include wctype.h if HAVE_WCTYPE_H is defined.
2709 (u16_mbtowc): Use wint_t types if HAVE_WCTYPE_H is defined.
2710 (rsrc_cmp): Use towlower instead of wcsncasecmp if HAVE_WCTYPE_H
2711 is defined.
2712
3ad797fd
NC
27132015-02-24 Nick Clifton <nickc@redhat.com>
2714
2715 * pdp11.c (set_section_contents): Pad the .text and .data sections
2716 to their aligned sizes.
2717
5518c738
YS
27182015-02-23 Yoshinori Sato <ysato@users.sourceforge.jp>
2719
2720 * config.bfd: Add h8300-*-linux.
2721 * configure.ac: Add h8300_elf32_linux_vec.
2722 * configure: Regenerate.
2723 * elf32-h8300.c: Likewise.
2724 * targets.c(_bfd_target_vector): Likewise.
2725
cb967f0d
NC
27262015-02-23 Nick Clifton <nickc@redhat.com>
2727
2728 PR 17914
2729 * cpu-w65.c: Correct typos in license notice.
2730
0f8f0c57
NC
2731 PR 17940
2732 * elf32-msp430.c (msp430_elf_relax_delete_bytes): Adjust debug
2733 symbols at end of sections. Adjust function sizes.
2734
4ef9f41a
AA
27352015-02-20 Andreas Arnez <arnez@linux.vnet.ibm.com>
2736
2737 * elf-bfd.h (elfcore_write_s390_vxrs_low): Add prototype.
2738 (elfcore_write_s390_vxrs_high): Likewise.
2739 * elf.c (elfcore_grok_s390_vxrs_low): New function.
2740 (elfcore_grok_s390_vxrs_high): New function.
2741 (elfcore_grok_note): Call them.
2742 (elfcore_write_s390_vxrs_low): New function.
2743 (elfcore_write_s390_vxrs_high): New function.
2744 (elfcore_write_register_note): Call them.
2745
837914ee
BD
27462015-02-19 Branko Drevensek <branko.drevensek@gmail.com>
2747
2748 PR 17995
2749 * verilog.c (verilog_write_record): Correct buffer size.
2750
cf18fda4
AM
27512015-02-19 Alan Modra <amodra@gmail.com>
2752
2753 * elflink.c (_bfd_elf_define_linkage_sym): Set 'bed' earlier.
2754
d983c8c5
AM
27552015-02-19 Alan Modra <amodra@gmail.com>
2756
2757 PR ld/4317
2758 * elflink.c (elf_link_input_bfd): Drop undefined local syms.
2759 (elf_link_output_extsym): Drop local and global undefined syms.
2760 Tidy. Expand comment.
2761
2ec55de3
AM
27622015-02-17 Alan Modra <amodra@gmail.com>
2763
2764 PR ld/17975
2765 * elflink.c (struct elf_outext_info): Remove need_second_pass
2766 and second_pass.
2767 (elf_link_output_extsym): Delete code handling second forced
2768 local pass. Move code emitting NULL STT_FILE symbol later, so
2769 that it can be omitted if forced local is stripped. Don't
2770 emit the NULL STT_FILE if no file symbols have been output.
2771 (bfd_elf_final_link): Remove second forced local pass.
2772 * elf32-ppc.c (add_stub_sym): Set linker_def on linker syms.
2773 (ppc_elf_size_dynamic_sections): Likewise.
2774 * elf64-ppc.c (ppc_build_one_stub): Likewise.
2775 (build_global_entry_stubs): Likewise.
2776 (ppc64_elf_build_stubs): Likewise.
2777
6dfb72b9
L
27782015-02-16 H.J. Lu <hongjiu.lu@intel.com>
2779
2780 PR ld/17975
2781 * elflink.c (elf_link_output_extsym): Only check filesym_count
2782 when outputting a NULL FILE symbol. Set second_pass_sym to
2783 h->forced_local && !h->root.linker_def.
2784
576fa883
L
27852015-02-15 H.J. Lu <hongjiu.lu@intel.com>
2786
2787 * elf32-i386.c (elf_i386_always_size_sections): Set root.linker_def
2788 on _TLS_MODULE_BASE_.
2789 * elf64-x86-64.c (elf_x86_64_always_size_sections): Likewise.
2790
62f8d217
AM
27912015-02-15 Alan Modra <amodra@gmail.com>
2792
2793 * dwarf2.c (read_rangelist): Correct buffer overflow check
2794 Whitespace throughout file.
2795
ce875075
AM
27962015-02-14 Alan Modra <amodra@gmail.com>
2797
2798 PR ld/17973
2799 * bfd.c (struct bfd): Add lto_output.
2800 * linker.c (_bfd_handle_already_linked): Explicitly test for
2801 objects added by the lto plugin.
2802 * opncls.c (_bfd_new_bfd_contained_in): Copy lto_output and
2803 no_export flags from archive.
2804 * archive.c (open_nested_file): New function, setting lto_output
2805 and no_export, extracted from..
2806 (find_nested_archive): ..here. Flip params. Rename from
2807 _bfd_find_nested_archive.
2808 (_bfd_get_elt_at_filepos): Correct var typo. Use open_nested_file.
2809 (_bfd_look_for_bfd_in_cache): Copy no_export.
2810 * elflink.c (elf_link_add_object_symbols): Remove now unnecessary
2811 my_archive->no_export test.
2812 (elf_link_input_bfd): Drop existing lto_output STT_FILE syms.
2813 Don't use the file name when adding lto_output STT_FILE sym.
2814 * bfd-in2.h: Regenerate.
2815
451dfd38
AM
28162015-02-13 Alan Modra <amodra@gmail.com>
2817
2818 PR binutils/17512
2819 * elf64-ppc.c (opd_entry_value): Tighten offset check. Remove
2820 now redundant assert.
2821
dbb3fbbb
NC
28222015-02-12 Nick Clifton <nickc@redhat.com>
2823
2824 PR binutils/17512
2825 * dwarf.c (read_1_byte, read_1_signed_byte, read_2_bytes)
2826 (read_4_bytes, read_8_bytes, read_n_bytes, read_string)
2827 (read_indirect_string, read_alt_indirect_string)
2828 (read_alt_indirect_ref, read_address, read_abbrevs)
2829 (read_attribute_value, read_attribute, decode_line_info)
2830 (find_abstract_instance_name, read_rangelist)
2831 (scan_unit_for_symbols, parse_comp_unit)
2832 (_bfd_dwarf2_find_nearest_line): Harden DWARF reading code. Pass
2833 end pointers to reading functions and check for offsets taking
2834 pointers out of range. Replace calls to read_*_leb128 with calls
2835 to safe_read_leb128.
2836
2837 (* elf64-ppc.c (opd_entry_value): Add a check for an overlarge
2838 offset.
2839 * syms.c (_bfd_stab_section_find_nearest_line): Add checks for
2840 computed file_name address being before the start of the string
2841 table.
2842
b9dc5a87
L
28432015-02-11 H.J. Lu <hongjiu.lu@intel.com>
2844
2845 PR ld/17878
2846 * bfd.c (bfd_plugin_format): New.
2847 (bfd): Add plugin_format and plugin_dummy_bfd.
2848 * plugin.c (try_load_plugin): Take a pointer to bfd_boolean
2849 argument to return TRUE if any plugin is found. Set plugin_format.
2850 (has_plugin): New.
2851 (bfd_plugin_target_p): New.
2852 (bfd_plugin_specified_p): Likewise.
2853 (bfd_plugin_target_p): Likewise.
2854 (register_ld_plugin_object_p): Likewise.
2855 (bfd_plugin_set_plugin): Set has_plugin.
2856 (load_plugin): Cache try_load_plugin result.
2857 (bfd_plugin_object_p): Try ld_plugin_object_p first. Check
2858 plugin_format.
2859 * plugin.h (bfd_plugin_target_p): New.
2860 (bfd_plugin_specified_p): Likewise.
2861 (register_ld_plugin_object_p): Likewise.
2862 * bfd-in2.h: Regenerated.
2863
55172d69
PA
28642015-02-11 Pedro Alves <palves@redhat.com>
2865
2866 * libbfd-in.h [__cplusplus]: Open extern "C" scope.
2867 * libcoff-in.h [__cplusplus]: Open extern "C" scope.
2868 * libbfd.h: Regenerate.
2869 * libcoff.h: Regenerate.
2870
2871 * elf-bfd.h [__cplusplus]: Wrap in extern "C".
2872 * mach-o.h [__cplusplus]: Wrap in extern "C".
2873 * som.h [__cplusplus]: Wrap in extern "C".
2874
77ef8654
NC
28752015-02-10 Nick Clifton <nickc@redhat.com>
2876
2877 PR binutils/17512
2878 * coffcode.h (styp_to_sec_flags): Use an unsigned long type to
2879 hold the flag bits.
2880 * peXXigen.c (pe_print_reloc): Use unsigned types to hold the
2881 size and number of relocs.
2882 (pe_print_debugdata): Use a 32-bit aligned buffer to store the
2883 codeview record.
2884 * versados.c (process_otr): Check the esdid value before using it
2885 to access the EDATA.
2886
35181b3e
EM
28872015-02-09 Ed Maste <emaste@freebsd.org>
2888
2889 * elf32-i386.c (elf_i386_get_plt_sym_val): Avoid incrementing
2890 uninitialized and unused variable.
2891 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
2892
989f9879
AM
28932015-02-09 Alan Modra <amodra@gmail.com>
2894
2895 * elf32-ppc.c (ppc_elf_relocate_section): Don't segfault on NULL
2896 tls_sec.
2897 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
2898 * elflink.c (elf_link_output_extsym): Don't assert on NULL tls_sec.
2899
ca4be51c
AM
29002015-02-09 Alan Modra <amodra@gmail.com>
2901
2902 * elflink.c: Whitespace, formatting fixes.
2903 (elf_link_input_bfd): Clarify comment.
2904 (elf_link_output_extsym): Exclude symbols in linker created
2905 sections when testing for plugin symbols.
2906
1952c5cd
L
29072015-02-07 H.J. Lu <hongjiu.lu@intel.com>
2908
2909 PR ld/17935
2910 * elf32-i386.c (elf_i386_readonly_dynrelocs): Also issue a
2911 warning for relocation in readonly section for -z text.
2912 (elf_i386_size_dynamic_sections): Likewise.
2913 * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
2914 (elf_x86_64_size_dynamic_sections): Likewise.
2915
9e2dec47
L
29162015-02-06 H.J. Lu <hongjiu.lu@intel.com>
2917
2918 PR ld/12365
2919 PR ld/14272
2920 * elflink.c (_bfd_elf_fix_symbol_flags): Revert the last change.
2921 (elf_link_input_bfd): Mark the plugin symbol undefined if it is
2922 referenced from a non-IR file.
2923
5929c344
NC
29242015-02-06 Nick Clifton <nickc@redhat.com>
2925
2926 PR binutils/17512
2927 * peXXigen.c (rsrc_print_resource_entries): Add range check for
2928 addresses that wrap around the address space.
2929 (rsrc_parse_entry): Likewise.
2930
60f79275
L
29312015-02-03 H.J. Lu <hongjiu.lu@intel.com>
2932
2933 PR ld/12365
2934 PR ld/14272
2935 * elflink.c (_bfd_elf_fix_symbol_flags): Mark the plugin symbol
2936 undefined if it is referenced from a non-IR file.
2937
64d29018
NC
29382015-02-03 Nick Clifton <nickc@redhat.com>
2939
2940 PR binutils/17512
2941 * ecoff.c: Use bfd_alloc2 to allocate space for structure arrays.
2942 (_bfd_ecoff_slurp_symbol_table): Check for a negative symbol
2943 index or an out of range fdr index.
2944 * elf-m10300.c (mn10300_info_to_howto): Fix typo in error message.
2945 * elf32-arc.c (arc_info_to_howto_rel): Likewise.
2946 * elf32-avr.c (avr_info_to_howto_rela): Likewise.
2947 * elf32-cr16.c (elf_cr16_info_to_howto): Likewise.
2948 * elf32-cr16c.c (elf_cr16c_info_to_howto_rel): Likewise.
2949 * elf32-cris.c (cris_info_to_howto_rela): Likewise.
2950 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
2951 * elf32-d10v.c (d10v_info_to_howto_rel): Likewise.
2952 * elf32-d30v.c (d30v_info_to_howto_rel): Likewise.
2953 * elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise.
2954 * elf32-fr30.c (fr30_info_to_howto_rela): Likewise.
2955 * elf32-frv.c (frv_info_to_howto_rela): Likewise.
2956 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
2957 * elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise.
2958 * elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise.
2959 * elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise.
2960 * elf32-lm32.c (lm32_info_to_howto_rela): Likewise.
2961 * elf32-m32c.c (m32c_info_to_howto_rela): Likewise.
2962 * elf32-m32r.c (m32r_info_to_howto_rel): Likewise.
2963 * elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise.
2964 * elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise.
2965 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
2966 * elf32-mep.c (mep_info_to_howto_rela): Likewise.
2967 * elf32-metag.c (metag_info_to_howto_rela): Likewise.
2968 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
2969 * elf32-moxie.c (moxie_info_to_howto_rela): Likewise.
2970 * elf32-msp430.c (msp430_info_to_howto_rela): Likewise.
2971 * elf32-mt.c (mt_info_to_howto_rela): Likewise.
2972 * elf32-nds32.c (nds32_info_to_howto_rel): Likewise.
2973 * elf32-or1k.c (or1k_info_to_howto_rela): Likewise.
2974 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
2975 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
2976 * elf32-rl78.c (rl78_info_to_howto_rela): Likewise.
2977 * elf32-rx.c (rx_info_to_howto_rela): Likewise.
2978 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
2979 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
2980 * elf32-v850.c (v850_elf_perform_relocation): Likewise.
2981 * elf32-vax.c (rtype_to_howto): Likewise.
2982 * elf32-visium.c (visium_info_to_howto_rela): Likewise.
2983 * elf32-xgate.c (xgate_info_to_howto_rel): Likewise.
2984 * elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise.
2985 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
2986 * elf64-mmix.c (mmix_info_to_howto_rela): Likewise.
2987 * mach-o.c: Use bfd_alloc2 to allocate space for structure arrays.
2988 (bfd_mach_o_canonicalize_one_reloc): Fix check on out
2989 of range symbol indicies.
2990 (bfd_mach_o_canonicalize_relocs): Check for out of range alloc.
2991 (bfd_mach_o_canonicalize_dynamic_reloc): Likewise.
2992 (bfd_mach_o_build_dysymtab): Likewise.
2993 (bfd_mach_o_write_symtab_content): Set the string table size to
2994 zero upon error.
2995 (bfd_mach_o_read_symtab_symbols): Reset the nsyms value if the
2996 read fails.
2997 * peXXigen.c (pe_print_edata): Check for numeric overflow in edt
2998 fields.
2999 * tekhex.c (first_phase): Check for src pointer reaching end of
3000 buffer.
3001
3a635617
WN
30022015-02-03 Will Newton <will.newton@linaro.org>
3003
46b87d49
WN
3004 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol):
3005 Set st_value to zero for undefined symbols if the reference
3006 is weak or pointer_equality_needed is FALSE.
3007
3a635617
WN
3008 * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Improve
3009 comment discussing why we clear st_value for some symbols.
3010
0c4bd9d9
KLC
30112015-02-02 Kuan-Lin Chen <kuanlinchentw@gmail.com>
3012
3013 * elf32-nds32.c (nds32_get_section_contents): Add one more argument.
3014 (nds32_elf_relocate_section): Do not relocate R_NDS32_LONGJUMP7.
3015
b86ac8e3
AM
30162015-01-29 Alan Modra <amodra@gmail.com>
3017
3018 * elf64-ppc.c (ppc64_elf_relocate_section): Correct GOT_TLSLD
3019 optimization. Tidy mask for GOT_TLSGD optimization.
3020 * elf32-ppc.c (ppc_elf_relocate_section): Likewise. Correct
3021 location of nop zapping high insn too.
3022
dbd1e97e
AM
30232015-01-28 Alan Modra <amodra@gmail.com>
3024
3025 * elf64-ppc.h (struct ppc64_elf_params): Add "object_in_toc".
3026 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Assume that global symbols
3027 in .toc indicate xlc compiled code that might require a rw .toc.
3028
3f8107ab
AM
30292015-01-28 James Bowman <james.bowman@ftdichip.com>
3030
3031 * Makefile.am: Add FT32 files.
3032 * archures.c (enum bfd_architecture): Add bfd_arch_ft32.
3033 (bfd_mach_ft32): Define.
3034 (bfd_ft32_arch): Declare.
3035 (bfd_archures_list): Add bfd_ft32_arch.
3036 * config.bfd: Handle FT32.
3037 * configure.ac: Likewise.
3038 * cpu-ft32.c: New file.
3039 * elf32-ft32.c: New file.
3040 * reloc.c (BFD_RELOC_FT32_10, BFD_RELOC_FT32_20, BFD_RELOC_FT32_17,
3041 BFD_RELOC_FT32_18): Define.
3042 * targets.c (_bfd_target_vector): Add ft32_elf32_vec.
3043 * bfd-in2.h: Regenerate.
3044 * libbfd.h: Regenerate.
3045 * Makefile.in: Regenerate.
3046 * configure: Regenerate.
3047 * po/SRC-POTFILES.in: Regenerate.
3048
37e3922e
NC
30492015-01-27 Nick Clifton <nickc@redhat.com>
3050
3051 PR binutils/17512
3052 * pdp11.c (aout_get_external_symbols): Return false if there are
3053 no symbols.
3054
877a8638
NC
3055 * dwarf2.c (concat_filename): Check for an empty directory table.
3056 (scan_unit_for_symbols): Check for reading off the end of the
3057 unit.
3058 (parse_comp_unit): Check for a DW_AT_comp_dir attribute with a
3059 non-string form.
3060 * elf64-ppc.c (opd_entry_value): Fail if there are no relocs
3061 available.
3062
18393a2e
KLC
30632015-01-26 Kuan-Lin Chen <kuanlinchentw@gmail.com>
3064
3065 * elf32-nds32.c (nds32_elf_pick_relax): Fix again setting.
3066
055173ca
DD
30672015-01-22 DJ Delorie <dj@redhat.com>
3068
3069 * elf32-m32c.c (m32c_apply_reloc_24): New.
3070 (m32c_elf_howto_table): Use it for R_M32C_24.
3071 (m32c_elf_relocate_section): Handle R_M32C_24 specially.
3072
4e5cb37e
NC
30732015-01-22 Nick Clifton <nickc@redhat.com>
3074
3075 PR binutils/17512
3076 * coffcode.h (handle_COMDAT): When searching for the section
3077 symbol, make sure that there is space left in the symbol table.
3078 * vms-alpha.c (_bfd_vms_slurp_ehdr): Add range checks.
3079
86eafac0
NC
30802015-01-21 Nick Clifton <nickc@redhat.com>
3081
3082 PR binutils/17512
3083 * coffcode.h (coff_set_arch_mach_hook): Check return value from
3084 bfd_malloc.
3085 (coff_slurp_line_table): Return FALSE if the line number
3086 information was corrupt.
3087 (coff_slurp_symbol_table): Return FALSE if the symbol information
3088 was corrupt.
3089 * mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Always
3090 initialise the fields of the dyld_info structure.
3091 (bfd_mach_o_build_exec_seg_command): Replace assertion with an
3092 error message and a return value.
3093 (bfd_mach_o_layout_commands): Change the function to boolean.
3094 Return FALSE if the function fails.
3095 (bfd_mach_o_build_commands): Fail if bfd_mach_o_layout_commands
3096 fails.
3097 (bfd_mach_o_read_command): Fail if an unrecognised command is
3098 encountered.
3099 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Set bfd_error if the
3100 read fails.
3101 (slurp_symtab): Check the return from bfd_malloc.
3102 (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if the copy
3103 encountered an error.
3104 (_bfd_XXi_final_link_postscript): Fail if a section could not be
3105 copied.
3106 * peicode.h (pe_bfd_object_p): Fail if the header could not be
3107 swapped in.
3108 * tekhex.c (first_phase): Fail if the section is too big.
3109 * versados.c (struct esdid): Add content_size field.
3110 (process_otr): Use and check the new field.
3111 (versados_get_section_contents): Check that the section exists and
3112 that the requested data is available.
3113
03d5b773
CLT
31142015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
3115
3116 * elf32-nios2.c (elf_backend_default_execstack): Define as 0.
3117
1c9177d9
AM
31182015-01-20 Alan Modra <amodra@gmail.com>
3119
3120 PR ld/17615
3121 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Don't drop
3122 ELF_COMMON_DEF syms.
3123
c4621b33
AM
31242015-01-19 Alan Modra <amodra@gmail.com>
3125
3e2aa5bb 3126 PR ld/17615
c4621b33
AM
3127 * elf-bfd.h (ELF_COMMON_DEF_P): Note that this might be true for
3128 linker script assignments too.
3129 * elflink.c (elf_gc_sweep_symbol): Don't drop ELF_COMMON_DEF syms.
3130 (bfd_elf_gc_mark_dynamic_ref_symbol): Similarly.
3131
0ba38529
AM
31322015-01-19 Alan Modra <amodra@gmail.com>
3133
3134 * elf32-bfin.c (bfin_bfd_reloc_type_lookup): Correct loop iteration
3135 to allow return of first howto.
3136 * elf32-fr30.c (fr30_reloc_type_lookup): Likewise.
3137 * elf32-m32c.c (m32c_reloc_type_lookup): Likewise.
3138 * elf32-moxie.c (moxie_reloc_type_lookup): Likewise.
3139 * elf32-or1k.c (or1k_reloc_type_lookup): Likewise.
3140 * elf32-rl78.c (rl78_reloc_type_lookup): Likewise.
3141 * elf32-rx.c (rx_reloc_type_lookup): Likewise.
3142 * elf32-tilepro.c (tilepro_reloc_type_lookup): Likewise.
3143 * elf32-xstormy16.c (xstormy16_reloc_type_lookup): Likewise.
3144 * elfxx-tilegx.c (tilegx_reloc_type_lookup): Likewise.
3145 * elf32-nios2.c (nios2_reloc_map): Add mapping for R_NIOS2_NONE.
3146 * elf32-spu.c (spu_elf_bfd_to_reloc_type): Allow return of R_SPU_NONE.
3147 (spu_elf_reloc_type_lookup): Adjust to suit.
3148
6346d5ca
AM
31492015-01-19 Alan Modra <amodra@gmail.com>
3150
3151 * bfd-in.h (bfd_get_section_limit_octets): New define, extracted from..
3152 (bfd_get_section_limit): ..here.
3153 * reloc.c (bfd_perform_relocation): Correct bfd_reloc_outofrange check.
3154 (bfd_install_relocation, _bfd_final_link_relocate): Add same check here.
3155 * elf32-sh.c (sh_elf_reloc): Correct bfd_reloc_outofrange check.
3156 * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Remove duplicated
3157 bfd_reloc_outofrange check.
3158 * bfd-in2.h: Regenerate.
3159
3160 * cpu-ns32k.c (_bfd_do_ns32k_reloc_contents): Return bfd_reloc_ok
3161 on zero size relocs.
3162 * ecoff.c (ecoff_reloc_link_order): Likewise.
3163 * elf32-nds32.c (nds32_relocate_contents): Likewise.
3164 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
3165
3166 * reloc.c (_bfd_relocate_contents): Don't bomb on zero size relocs.
3167 (_bfd_clear_contents): Likewise.
3168 * elfxx-mips.c (mips_elf_obtain_contents): Likewise.
3169 (mips_elf_perform_relocation): Likewise.
3170
3171 * aoutx.h (aout_link_reloc_link_order): Allow for NULL return
3172 from malloc on zero size alloc.
3173 * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
3174 * elflink.c (elf_reloc_link_order): Likewise.
3175 * linker.c (_bfd_generic_reloc_link_order): Likewise.
3176 * pdp11.c (aout_link_reloc_link_order): Likewise.
3177 * xcofflink.c (xcoff_reloc_link_order): Likewise.
3178
3179 * aoutx.h (howto_table_ext): Ensure NONE relocs have size 3,
3180 bitsize 0, and complain_overflow_dont.
3181 * coff-sparc.c (coff_sparc_howto_table): Likewise.
3182 * elf-hppa.h (elf_hppa_howto_table): Likewise.
3183 * elf-m10200.c (elf_mn10200_howto_table): Likewise.
3184 * elf-m10300.c (elf_mn10300_howto_table): Likewise.
3185 * elf32-arc.c (elf_arc_howto_table): Likewise.
3186 * elf32-arm.c (elf32_arm_howto_table_1): Likewise.
3187 * elf32-avr.c (elf_avr_howto_table): Likewise.
3188 * elf32-bfin.c (bfin_howto_table): Likewise.
3189 * elf32-cr16.c (cr16_elf_howto_table): Likewise.
3190 * elf32-cris.c (cris_elf_howto_table): Likewise.
3191 * elf32-crx.c (crx_elf_howto_table): Likewise.
3192 * elf32-d10v.c (elf_d10v_howto_table): Likewise.
3193 * elf32-d30v.c (elf_d30v_howto_table): Likewise.
3194 * elf32-dlx.c (dlx_elf_howto_table): Likewise.
3195 * elf32-epiphany.c (epiphany_elf_howto_table): Likewise.
3196 * elf32-fr30.c (fr30_elf_howto_table): Likewise.
3197 * elf32-frv.c (elf32_frv_howto_table): Likewise.
3198 * elf32-h8300.c (h8_elf_howto_table): Likewise.
3199 * elf32-i370.c (i370_elf_howto_raw): Likewise.
3200 * elf32-i386.c (elf_howto_table): Likewise.
3201 * elf32-i860.c (elf32_i860_howto_table): Likewise.
3202 * elf32-i960.c (elf32_i960_relocate): Likewise.
3203 * elf32-ip2k.c (ip2k_elf_howto_table): Likewise.
3204 * elf32-iq2000.c (iq2000_elf_howto_table): Likewise.
3205 * elf32-lm32.c (lm32_elf_howto_table): Likewise.
3206 * elf32-m32c.c (m32c_elf_howto_table): Likewise.
3207 * elf32-m32r.c (m32r_elf_howto_table): Likewise.
3208 * elf32-m68hc11.c (elf_m68hc11_howto_table): Likewise.
3209 * elf32-m68hc12.c (elf_m68hc11_howto_table): Likewise.
3210 * elf32-m68k.c (howto_table): Likewise.
3211 * elf32-mcore.c (mcore_elf_howto_raw): Likewise.
3212 * elf32-mep.c (mep_elf_howto_table): Likewise.
3213 * elf32-metag.c (elf_metag_howto_table): Likewise.
3214 * elf32-microblaze.c (microblaze_elf_howto_raw): Likewise.
3215 * elf32-mips.c (elf_mips_howto_table_rel): Likewise.
3216 * elf32-moxie.c (moxie_elf_howto_table): Likewise.
3217 * elf32-msp430.c (elf_msp430_howto_table): Likewise.
3218 * elf32-mt.c (mt_elf_howto_table): Likewise.
3219 * elf32-nds32.c (nds32_elf_howto_table): Likewise.
3220 * elf32-nios2.c (elf_nios2_howto_table_rel): Likewise.
3221 * elf32-or1k.c (or1k_elf_howto_table): Likewise.
3222 * elf32-pj.c (pj_elf_howto_table): Likewise.
3223 * elf32-ppc.c (ppc_elf_howto_raw): Likewise.
3224 * elf32-rl78.c (rl78_elf_howto_table): Likewise.
3225 * elf32-rx.c (rx_elf_howto_table): Likewise.
3226 * elf32-s390.c (elf_howto_table): Likewise.
3227 * elf32-score.c (elf32_score_howto_table): Likewise.
3228 * elf32-score7.c (elf32_score_howto_table): Likewise.
3229 * elf32-sh-relocs.h (R_SH_NONE): Likewise.
3230 * elf32-spu.c (elf_howto_table): Likewise.
3231 * elf32-tic6x.c (elf32_tic6x_howto_table): Likewise.
3232 * elf32-tilepro.c (tilepro_elf_howto_table): Likewise.
3233 * elf32-v850.c (v850_elf_howto_table): Likewise.
3234 * elf32-vax.c (howto_table): Likewise.
3235 * elf32-visium.c (visium_elf_howto_table): Likewise.
3236 * elf32-xc16x.c (xc16x_elf_howto_table): Likewise.
3237 * elf32-xgate.c (elf_xgate_howto_table): Likewise.
3238 * elf32-xstormy16.c (xstormy16_elf_howto_table): Likewise.
3239 * elf32-xtensa.c (elf_howto_table): Likewise.
3240 * elf64-alpha.c (elf64_alpha_howto_table): Likewise.
3241 * elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
3242 * elf64-mmix.c (elf_mmix_howto_table): Likewise.
3243 * elf64-ppc.c (ppc64_elf_howto_raw): Likewise.
3244 * elf64-s390.c (elf_howto_table): Likewise.
3245 * elf64-sh64.c (sh_elf64_howto_table): Likewise.
3246 * elf64-x86-64.c (x86_64_elf_howto_table): Likewise.
3247 * elfn32-mips.c (elf_mips_howto_table_rel): Likewise.
3248 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
3249 (elfNN_aarch64_howto_none): Likewise.
3250 * elfxx-ia64.c (ia64_howto_table): Likewise.
3251 * elfxx-sparc.c (_bfd_sparc_elf_howto_table): Likewise.
3252 * elfxx-tilegx.c (tilegx_elf_howto_table): Likewise.
3253 * nlm32-sparc.c (nlm32_sparc_howto_table): Likewise.
3254
6333bc0d
L
32552015-01-15 H.J. Lu <hongjiu.lu@intel.com>
3256
3257 PR ld/17847
3258 * elf64-x86-64.c (elf_x86_64_relocate_section): Don't complain
3259 about -fPIC if the symbol is undefined when building executable.
3260
cd21f5da
NC
32612015-01-15 Nick Clifton <nickc@redhat.com>
3262
3263 PR binutils/17512
3264 * elf-m10300.c (mn10300_info_to_howto): Replace assertion with an
3265 error message. Never return an invalid howto pointer.
3266 * elf32-cr16.c (cr16_info_to_howto): Likewise.
3267 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
3268 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
3269 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
3270 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
3271 * elf32-mips.c (mips_elf32_rtype_to_howto): Likewise.
3272 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
3273 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
3274 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
3275 * elf32-v850.c (v850_elf_info_to_howto_rela): Likewise.
3276 * elf32-vax.c (rtype_to_howto): Likewise.
3277 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
3278 * elf64-mips.c (mips_elf64_rtype_to_howto): Likewise.
3279 * elfn32-mips.c (sh_elf_info_to_howto): Likewise.
3280 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
3281 (sh_elf_reloc): Check that the reloc is in range.
3282 * reloc.c (bfd_perform_relocation): Check that the section is big
3283 enough for the entire reloc.
3284 (bfd_generic_get_relocated_section_contents): Report unexpected
3285 return values from perform_reloc.
3286
2d071cfc
NC
32872015-01-15 Nick Clifton <nickc@redhat.com>
3288
3289 * elf32-msp430.c (msp430_elf_relax_section): Skip unhandled
3290 relocs. Include PC-relative adjustment for R_MSP430X_ABS16
3291 relaxation.
3292
ca55926c
AM
32932015-01-15 Alan Modra <amodra@gmail.com>
3294
3295 * elflink.c (_bfd_elf_link_omit_section_dynsym): Return true for
3296 any output section matching a linker created dynobj section.
3297
8539e4e8
AM
32982015-01-15 Alan Modra <amodra@gmail.com>
3299
3300 PR 17842
3301 * elflink.c (elf_link_output_sym): Assert elf_onesymtab set.
3302 (bfd_elf_final_link): Always create a symbol table when emit_relocs.
3303 Don't assign symtab file position unless symbols will be output.
3304 Merge blocks with condition in common. Don't call
3305 elf_backend_output_arch_local_syms or elf_backend_output_arch_syms
3306 unless other symbols are output. Move assignment of symtab_shndx
3307 file position. Localize variable.
3308
52db4ec2
JW
33092015-01-14 Jiong Wang <jiong.wang@arm.com>
3310
3311 * elf32-arm.c (elf32_arm_final_link_relocate): Reject R_ARM_32/_NOI when
3312 trying to defer them to runtime.
3313
0941db69
JW
33142015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
3315
3316 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use SYMBOLIC_BIND
3317 to check if a symbol should be bound symbolically.
3318
0172429c
JW
33192015-01-13 Jiong Wang <jiong.wang@arm.com>
3320
3321 * elfnn-aarch64.c: (elfNN_aarch64_howto_table): Enable overflow check
3322 for TLSLE_MOVW_TPREL_G2.
3323
bab91cce
JW
33242015-01-13 Jiong Wang <jiong.wang@arm.com>
3325
3326 PR ld/17415
3327 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Mark
3328 R_AARCH64_TLSLE_ADD_TPREL_HI12 as complain_overflow_unsigned.
3329 * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Correct the
3330 bit mask.
3331
3c758495
TG
33322015-01-12 Terry Guo <terry.guo@arm.com>
3333
3334 * elflink.c (_bfd_elf_gc_mark_debug_special_section_group): New
3335 function.
3336 (_bfd_elf_gc_mark_extra_sections): Use it.
3337
9d1d54d5
L
33382015-01-11 H.J. Lu <hongjiu.lu@intel.com>
3339
3340 PR ld/17827
3341 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): For PIE,
3342 only discard space for pc-relative relocs symbols which turn
3343 out to need copy relocs.
3344
c6e8e93a
NC
33452015-01-09 Nick Clifton <nickc@redhat.com>
3346
3347 * tekhex.c (getvalue): Fix thinko in test for correct extraction
3348 of value.
3349 (getsym): Return false if there was not enough data to extract the
3350 symbol.
3351
400cf8cb
AG
33522015-01-09 Anthony Green <green@moxielogic.com>
3353
3354 * elf32-moxie.c (ELF_MACHINE_ALT1): Define.
3355
23d4663e
NC
33562015-01-08 Nick Clifton <nickc@redhat.com>
3357
3358 * elf32-msp430.c (msp430_elf_relax_section): Add relaxation of
3359 16-bit absolute BR instructions to 10-bit pc-relative JMP
3360 instructions.
3361
063bb025
NC
33622015-01-08 Nick Clifton <nickc@redhat.com>
3363
3364 PR binutils/17512
3365 * coffcode.h (coff_slurp_symbol_table): Return false if we failed
3366 to load the line table.
3367 * elf.c (_bfd_elf_map_sections_to_segments): Enforce a minimum
3368 maxpagesize of 1.
3369 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if
3370 the Data Directory Size is too large.
3371
6f25f223
L
33722015-01-06 H.J. Lu <hongjiu.lu@intel.com>
3373
3374 PR binutils/17512
3375 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocation.
3376 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
3377
85880250
NC
33782015-01-06 Nick Clifton <nickc@redhat.com>
3379
3380 PR binutils/17512
e7287c7f
NC
3381 * mach-o.c (bfd_mach_o_read_symtab_strtab): Zero terminate the
3382 string table.
3383
ec93045b
NC
3384 * reloc.c (bfd_get_reloc_size): Handle a reloc size of -1.
3385 (bfd_perform_relocation): Include the size of the reloc in the
3386 test for an out of range relocation.
3387 (bfd_generic_get_relocated_section_contents): Remove reloc range
3388 test.
3389
85880250
NC
3390 * coff-i860.c (CALC_ADDEND): Always set an addend value.
3391 * tekhex.c (getvalue): Add an end pointer parameter. Use it to
3392 avoid reading off the end of the buffer.
3393 (getsym): Likewise.
3394 (first_phase): Likewise.
3395 (pass_over): Pass an end pointer to the invoked function.
3396
533d0af0
L
33972015-01-05 H.J. Lu <hongjiu.lu@intel.com>
3398
3399 PR binutils/17512
3400 * elf32-i386.c (elf_i386_get_plt_sym_val): Return NULL on corrupt
3401 input.
3402 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
3403
896ca098
NC
34042015-01-05 Nick Clifton <nickc@redhat.com>
3405
3406 PR binutils/17512
3407 * archive.c (do_slurp_bsd_armap): Make sure that the parsed sized
3408 is at least big enough for the header to be read.
3409 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocs.
3410 * mach-o.c (bfd_mach_o_get_synthetic_symtab): Add range checks.
3411 (bfd_mach_o_read_command): Prevetn duplicate error messages about
3412 unrecognized commands.
3413 * syms.c (_bfd_stab_section_find_nearest_line): Add range checks
3414 when indexing into the string table.
3415
b90efa5b 34162015-01-01 Alan Modra <amodra@gmail.com>
ee3b52e9 3417
b90efa5b 3418 Update year range in copyright notice of all files.
ee3b52e9 3419
b90efa5b 3420For older changes see ChangeLog-2014
56882138 3421\f
b90efa5b 3422Copyright (C) 2015 Free Software Foundation, Inc.
752937aa
NC
3423
3424Copying and distribution of this file, with or without modification,
3425are permitted in any medium without royalty provided the copyright
3426notice and this notice are preserved.
3427
56882138
AM
3428Local Variables:
3429mode: change-log
3430left-margin: 8
3431fill-column: 74
3432version-control: never
3433End:
This page took 0.916655 seconds and 4 git commands to generate.