]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - bfd/ChangeLog
Undo accidental commit
[thirdparty/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
8a9e7a91
PZ
12015-08-11 Peter Zotov <whitequark@whitequark.org>
2
3 PR ld/18759
4 * elf32-or1k.c (R_OR1K_32_PCREL): Set pcrel_offset to TRUE.
5 (R_OR1K_16_PCREL): Likewise.
6 (R_OR1K_8_PCREL): Likewise.
7
b6518b38
NC
82015-09-23 Nick Clifton <nickc@redhat.com>
9
10 * bout.c (b_out_slurp_reloc_table): Cast constant to unsigned in
11 order to avoid problems with left shifting negative values.
12 (abs32code): Likewise.
13 * mach-o.c (FILE_ALIGN): Likewise.
14 * coff-rs6000.c (xcoff_debug_sections): Delete unused static
15 array.
16 * elf32-visium.c (visium_reloc_map): Likewise.
17 * elf32-arm.c (elf32_arm_final_link_relocate): Remove useless
18 calls to abs function.
19 * elf32-frv.c (_frvfdpic_relax_tls_entries): Likewise.
20 * elf32-score.c (score_elf_final_link_relocate): Likewise.
21 * elf32-score7.c (score_elf_final_link_relocate): Likewise.
22 * elf32-i860.c (i860_howto_pc26_reloc): Use multiplication instead
23 of shifting to create a negative mask.
24 * elf32-msp430.c (elf_backend_special_sections): Define.
25 * elfxx-mips.c (got_ofst_reloc_p): Delete unused function.
26 (got_hi16_reloc_p): Delete unused function.
27 * ppcboot.c (ppcboot_bfd_print_private_bfd_data): Fix test of
28 partition name.
29
6a40cf0c
NC
302015-09-23 Nick Clifton <nickc@redhat.com>
31
32 PR binutils/15835
33 * elf-bfd.h (struct elf_section_list): New structure.
34 (struct elf_obj_tdata): Replace symtab_shndx_hdr with
35 symtab_shndx_list. Delete symtab_shndx_section.
36 (elf_symtab_shndx): Replace macro with elf_symtab_shndx_list.
37 * elf.c (bfd_elf_get_syms): If symtab index sections are present,
38 scan them for the section that matches the provided symbol table.
39 (bfd_section_from_shdr): Record all SHT_SYMTAB_SHNDX sections.
40 (assign_section_numbers): Use the first symtab index table in the
41 list.
42 (_bfd_elf_compute_section_file_positions): Replace use of
43 symtab_shndx_hdr with use of symtab_shndx_list.
44 (find_section_in_list): New function.
45 (assign_file_postions_except_relocs): Use new function.
46 (_bfd_elf_copy_private_symbol_data): Likewise.
47 (swap_out_syms): Handle multiple symbol table index sections.
48 * elf32-m32c.c (m32c_elf_relax_section): Replace use of
49 symtab_shndx_hdr with use of symtab_shndx_list.
50 * elf32-rl78.c (rl78_elf_relax_section): Likewise.
51 * elf32-rx.c (rx_relax_section): Likewise.
52 * elf32-v850.c (v850_elf_relax_delete_bytes): Likewise.
53 * elflink.c (bfd_elf_final_link): Likewise.
54
c8b187ea
L
552015-09-21 H.J. Lu <hongjiu.lu@intel.com>
56
57 * bfd.c (bfd_update_compression_header): Use bfd_put_32 on
58 ch_type.
59 (bfd_check_compression_header): Use bfd_get_32 on ch_type.
60 (bfd_convert_section_contents): Use bfd_get_32 and bfd_put_32
61 on ch_type.
62
9b8b325a
RF
632015-09-20 Rich Felker <dalias@libc.org>
64
65 * elflink.c (_bfd_elf_link_create_dynamic_sections): Don't create
66 .interp when info->nointerp.
67 (bfd_elf_size_dynamic_sections): Adjust assert.
68 * elf32-arm.c (elf32_arm_size_dynamic_sections): Don't size .interp
69 when info->nointerp.
70 * elf32-bfin.c (elf32_bfinfdpic_size_dynamic_sections): Likewise.
71 * elf32-cr16.c (_bfd_cr16_elf_size_dynamic_sections): Likewise.
72 * elf32-cris.c (elf_cris_size_dynamic_sections): Likewise.
73 * elf32-frv.c (elf32_frvfdpic_size_dynamic_sections): Likewise.
74 * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
75 * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
76 * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
77 * elf32-lm32.c (lm32_elf_size_dynamic_sections): Likewise.
78 * elf32-m32r.c (m32r_elf_size_dynamic_sections): Likewise.
79 * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
80 * elf32-metag.c (elf_metag_size_dynamic_sections): Likewise.
81 * elf32-nds32.c (nds32_elf_size_dynamic_sections): Likewise.
82 * elf32-nios2.c (nios2_elf32_size_dynamic_sections): Likewise.
83 * elf32-or1k.c (or1k_elf_size_dynamic_sections): Likewise.
84 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
85 * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
86 * elf32-score.c (s3_bfd_score_elf_size_dynamic_sections): Likewise.
87 * elf32-score7.c (s7_bfd_score_elf_size_dynamic_sections): Likewise.
88 * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
89 * elf32-tic6x.c (elf32_tic6x_size_dynamic_sections): Likewise.
90 * elf32-tilepro.c (tilepro_elf_size_dynamic_sections): Likewise.
91 * elf32-vax.c (elf_vax_size_dynamic_sections): Likewise.
92 * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Likewise.
93 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
94 * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
95 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Likewise.
96 * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
97 * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
98 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Likewise.
99 * elfnn-aarch64.c (elfNN_aarch64_size_dynamic_sections): Likewise.
100 * elfnn-ia64.c (elfNN_ia64_size_dynamic_sections): Likewise.
101 * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Likewise.
102 * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Likewise.
103 * elfxx-tilegx.c (tilegx_elf_size_dynamic_sections): Likewise.
104
015d2e7e
DE
1052015-09-18 Doug Evans <xdje42@gmail.com>
106
107 * targets.c (enum bfd_flavour): Add comment.
108 (bfd_flavour_name): New function.
109 * bfd-in2.h: Regenerate.
110
7c9cf415
AM
1112015-09-18 Alan Modra <amodra@gmail.com>
112
113 * elf64-ppc.h (struct ppc64_elf_params <tls_get_addr_opt>): Rename
114 from no_tls_get_addr_opt.
115 * elf64-ppc.c: Update for rename and inversion of tls_get_addr_opt.
116 (ppc64_elf_tls_setup): Set tls_get_addr_opt to 0 only when at
117 default of -1.
118
b29b8669
AM
1192015-09-17 Alan Modra <amodra@gmail.com>
120
121 PR 18867
122 * elflink.c (elf_link_adjust_relocs): Correct start of insertion
123 sort main loop.
124
bca6d0e3
AM
1252015-09-16 Alan Modra <amodra@gmail.com>
126
127 PR 18867
128 * elflink.c (elf_link_adjust_relocs): Modify insertion sort to
129 insert a run. Return status in case of malloc failure.
130 Adjust callers.
131
92b3f008
MF
1322015-09-15 Max Filippov <jcmvbkbc@gmail.com>
133
134 * elf32-xtensa.c (elf_xtensa_be_plt_entry)
135 (elf_xtensa_le_plt_entry): Emit 'entry' instruction only for
136 windowed ABI.
137 (elf_xtensa_create_plt_entry): Generate 'l32r' offsets and fix
138 up instructions according to ABI.
139
fbedb42d
RF
1402015-09-14 Rich Felker <dalias@libc.org>
141
142 * elf32-sh.c (sh_elf_relocate_section): Set EF_SH_PIC flag
143 instead of clearing it on cross-section relocations.
144 (sh_elf_merge_private_data): Clear EF_SH_PIC flag by default.
145
f3c3938c
JDA
1462015-09-12 Helge Deller <deller@gmx.de>
147
148 PR ld/18514
149 * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Set .plt entry
150 size to 0.
151
4af68b9c
JW
1522015-09-09 Jiong Wang <jiong.wang@arm.com>
153
154 * elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): Sort alphabetically.
155
259364ad
JW
1562015-09-09 Jiong Wang <jiong.wang@arm.com>
157
158 * elfnn-aarch64.c (aarch64_tls_transition_without_check): Support three
159 TLS local dynamic traditional relocations types.
160 (elfNN_aarch64_tls_relax): Support TLS local dynamic traditional to
161 local executable relaxation.
162
77697d41
L
1632015-09-03 H.J. Lu <hongjiu.lu@intel.com>
164
165 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Remove
166 convert_mov_to_lea.
167
c74be520
L
1682015-09-02 H.J. Lu <hongjiu.lu@intel.com>
169
170 * elf32-i386.c (R_386_irelative): Renamed to ...
171 (R_386_ext2): This.
172 (R_386_vt_offset): Updated.
173 (elf_i386_rtype_to_howto): Likewise.
174 (elf_i386_relocate_section): Likewise.
175
04ebc307
L
1762015-09-01 H.J. Lu <hongjiu.lu@intel.com>
177
178 PR ld/18900
179 * elf32-i386.c (elf_i386_link_hash_entry): Add
180 func_pointer_refcount.
181 (elf_i386_link_hash_newfunc): Clear func_pointer_refcount.
182 (elf_i386_get_local_sym_hash): Likewise.
183 (elf_i386_copy_indirect_symbol): Also copy
184 func_pointer_refcount.
185 (elf_i386_check_relocs): Increment func_pointer_refcount.
186 (elf_i386_gc_sweep_hook): Decrement func_pointer_refcount.
187 (elf_i386_allocate_dynrelocs): Don't create the PLT entry if
188 there are only function pointer relocations which can be
189 resolved at run-time. Keep dynanamic relocations for run-time
190 function pointer initialization.
191 (elf_i386_relocate_section): Copy dynamic function pointer
192 relocations.
193 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add
194 func_pointer_refcount.
195 (elf_x86_64_link_hash_newfunc): Clear func_pointer_refcount.
196 (elf_x86_64_get_local_sym_hash): Likewise.
197 (elf_x86_64_copy_indirect_symbol): Also copy
198 func_pointer_refcount.
199 (elf_x86_64_check_relocs): Increment func_pointer_refcount.
200 (elf_x86_64_gc_sweep_hook): Decrement func_pointer_refcount.
201 (elf_x86_64_allocate_dynrelocs): Don't create the PLT entry if
202 there are only function pointer relocations which can be
203 resolved at run-time. Keep dynanamic relocations for run-time
204 function pointer initialization.
205 (elf_x86_64_relocate_section): Copy dynamic function pointer
206 relocations.
207
b07bca4e
AM
2082015-09-01 Alan Modra <amodra@gmail.com>
209
210 * elf64-ppc.c (ppc64_elf_maybe_function_sym): Adjust symbol value
211 if .opd section has been edited.
212
a4b6fadd
AM
2132015-09-01 Alan Modra <amodra@gmail.com>
214
215 PR 18878
216 * elf64-ppc.c (ARRAY_SIZE): Define. Use throughout.
217 (enum ppc_stub_type): Add ppc_stub_save_res.
218 (struct map_stub): Add "next" and "needs_save_res".
219 (struct ppc_link_hash_entry): Add "save_res" flag.
220 (struct ppc_link_hash_table): Add "group".
221 (sfpr_define): Add stub_sec param. Define symbol in stub_sec if
222 stub_sec is non-null. Set "save_res".
223 (save_res_funcs): Make file scope, rename from funcs. Adjust uses.
224 (ppc64_elf_adjust_dynamic_symbol): Prohibit plt call to save_res syms.
225 (ppc_build_one_stub): Handle ppc_stub_save_res.
226 (ppc_size_one_stub): Set stub type to ppc_size_one_stub on finding
227 stub for linker defined save_res sym.
228 (group_sections): Init new fields of struct map_stub.
229 (ppc64_elf_size_stubs): Reserve space for save/restore func copy.
230 (ppc64_elf_build_stubs): Copy save/restore funcs to groups. Emit
231 alias syms too.
232 (ppc64_elf_relocate_section): Set destination for ppc_stub_save_res.
233
a7c49797
AM
2342015-08-31 Alan Modra <amodra@gmail.com>
235
236 * elf64-ppc.c (get_r2off): Return -1 on error.
237 (ppc_build_one_stub): Adjust for get_r2off change. Don't emit
238 addi r2,r2,0 on r2off stubs when the low 16-bit delta is zero.
239 (ppc_size_one_stub): Corresponding size changes for r2off stubs.
240 Add condition in test for -R objects.
241
6f20ed8a
AM
2422015-08-31 Alan Modra <amodra@gmail.com>
243
244 * section.c (section_id): Make file scope.
245 (bfd_get_next_section_id): New function.
246 * elf64-ppc.c (struct map_stub): Remove toc_off field. Move decl.
247 (struct ppc_stub_hash_entry): Delete stub_sec and id_sec. Add
248 group. Update all uses.
249 (struct ppc_link_hash_table): Delete top_id, top_index, and
250 input_list. Add sec_info_arr_size. Rename stub_group to
251 sec_info, and make group info indirect. Update stub_group refs
252 throughout file.
253 (ppc_add_stub): Don't look for stub_sec on link_sec stub_group
254 entry.
255 (ppc_build_one_stub): Delete FIXME.
256 (ppc64_elf_setup_section_lists): Size htab->sec_info for all
257 sections, not just input sections. Don't create htab->input_list.
258 (ppc64_elf_next_input_section): Update to use sec_info union as
259 list pointer.
260 (PREV_SEC): Delete.
261 (group_sections): Pass "info" param rather than "htab". Iterate
262 over output sections rather than input_list. Use sec_info union
263 as list pointers. Alloc atruct map_stub, and return fail status.
264 * bfd-in2.h: Regenerate.
265
d3435ae8
AM
2662015-08-31 Alan Modra <amodra@gmail.com>
267
268 * elflink.c (elf_sort_symbol): Use correctly sized type for
269 calculating signed section->id difference.
270 (elf_link_add_object_symbols): Likewise.
271 * pef.c (bfd_pef_scan_start_address): Warning fix.
272 * vms-alpha.c (vms_new_section_hook): Likewise.
273
6cae483a
AM
2742015-08-31 Alan Modra <amodra@gmail.com>
275
276 * elf32-nds32.c (nds32_convert_32_to_16_alu1): Warning fix.
277 (find_relocs_at_address_addr): Make "reloc_type" an enum.
278 (nds32_elf_relax_delete_blanks): Warning fix.
279 (nds32_elf_relax_loadstore): Correct loop bound.
280
7292b3ac
AM
2812015-08-31 Alan Modra <amodra@gmail.com>
282
283 * section.c (struct bfd_section): Make "id" and "index" unsigned.
284 * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Adjust local var to suit.
285 * elf.c (elf_map_symbols): Likewise.
286 * elf64-ppc.c (sym_exists_at): Make "id" param unsigned.
287 (struct ppc_link_hash_table): Make "top_id" and "top_index" unsigned.
288 (ppc64_elf_setup_section_lists): Ditto for local vars.
289 * elf32-arm.c: Similarly to elf64-ppc.c.
290 * elf32-avr.c: Likewise.
291 * elf32-hppa.c: Likewise.
292 * elf32-m68hc1x.c: Likewise.
293 * elf32-metag.c: Likewise.
294 * elf32-nios2.c: Likewise.
295 * elfnn-aarch64.c: Likewise.
296 * simple.c (struct saved_offsets): Make "section_count" unsigned.
297 * bfd-in2.h: Regenerate.
298
6fc5bb57
AM
2992015-08-27 Alan Modra <amodra@gmail.com>
300
a40d44c4 301 PR 18867
6fc5bb57
AM
302 * elf64-alpha.c (elf64_alpha_sort_relocs_p): New function.
303 (elf_backend_sort_relocs_p): Define.
304
0e287786
AM
3052015-08-26 Alan Modra <amodra@gmail.com>
306
307 PR 18867
308 * elflink.c (cmp_ext32l_r_offset, cmp_ext32b_r_offset): Delete.
309 (cmp_ext64l_r_offset, cmp_ext64b_r_offset): Delete.
310 (ext32l_r_offset, ext32b_r_offset, ext64l_r_offset, ext64b_r_offset):
311 New functions.
312 (elf_link_adjust_relocs): Use an insertion sort to sort relocs.
313
c97c330b
MF
3142015-08-26 Matthew Fortune <matthew.fortune@imgtec.com>
315
316 PR ld/18401
317 * elfxx-mips.c (bfd_mips_isa_ext_mach): New function: Converts an
318 ISA value to a bfd machine number.
319 (bfd_mips_isa_ext): Update the ISA level and revision if
320 necessary. Use mips_mach_extends_p to decide if the ISA extension
321 needs to be set.
322 (_bfd_mips_elf_merge_private_bfd_data): Allow the ISA extension to
323 be inferred from the ABI setting. Set the ISA level from the
324 maximum of the incoming and outgoing ISA levels.
325
16ad13ec
NC
3262015-08-25 Nick Clifton <nickc@redhat.com>
327
328 PR binutils/18854
329 * elf.c (bfd_section_from_shdr): Replace assertions with warnings
330 about multiple symbol tables.
331
7c2bea1a
RL
3322015-08-25 Renlin Li <renlin.li@arm.com>
333
334 * reloc.c (BFD_RELOC_AARCH64_LD64_GOTOFF_LO15): Use LP64 instead of
335 ILP64.
336 * bfd-in2.h: Regenerate.
337
595bce75
AM
3382015-08-22 Alan Modra <amodra@gmail.com>
339
340 * elf.c (_bfd_elf_slurp_version_tables): Always init vd_nodename.
341 Don't copy fields not set by _bfd_elf_swap_verdef_in.
342
07c9aa07
JW
3432015-08-19 Jiong Wang <jiong.wang@arm.com>
344
345 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize new relocation
346 types, including BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12,
347 BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC,
348 BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12,
349 BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC,
350 BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12,
351 BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC,
352 BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12,
353 BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC.
354 (elfNN_aarch64_final_link_relocate): Likewise.
355 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
356 (_bfd_aarch64_elf_resolve_relocation): Likewise.
357
4c562523
JW
3582015-08-19 Jiong Wang <jiong.wang@arm.com>
359
360 * reloc.c (BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12,
361 BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC,
362 BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12,
363 BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC,
364 BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12,
365 BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC.
366 BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12,
367 BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC): New entries.
368 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
369 * bfd-in2.h: Regenerate.
370 * libbfd.h: Regenerate.
371
6ffe9a1b
JW
3722015-08-19 Jiong Wang <jiong.wang@arm.com>
373
374 PR ld/18276
375 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize new relocation
376 types, including BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_HI12,
377 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0,
378 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0_NC,
379 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1,
380 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1_NC,
381 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G2.
382 (elfNN_aarch64_final_link_relocate): Likewise.
383 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
384 (_bfd_aarch64_elf_resolve_relocation): Likewise.
385
49df5539
JW
3862015-08-19 Jiong Wang <jiong.wang@arm.com>
387
388 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_HI12,
389 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0,
390 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0_NC,
391 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1,
392 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1_NC,
393 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G2): New entries.
394 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
395 * bfd-in2.h: Regenerate.
396 * libbfd.h: Regenerate.
397
753999c1
JW
3982015-08-19 Jiong Wang <jiong.wang@arm.com>
399
400 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
401 BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC.
402 (aarch64_reloc_got_type): Likewise.
403 (elfNN_aarch64_final_link_relocate): Likewise.
404 (elfNN_aarch64_relocate_section): Likewise.
405 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
406 (_bfd_aarch64_elf_resolve_relocation): Likewise.
407
13289c10
JW
4082015-08-19 Jiong Wang <jiong.wang@arm.com>
409
410 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC): New entry.
411 * bfd-in2.h: Regenerate.
412 * libbfd.h: Regenerate.
413 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
414 BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC.
415
3cbc1e5e
AM
4162015-08-19 Alan Modra <amodra@gmail.com>
417
418 * elf-s390-common.c: Simplify expressions using
419 bfd_linke_executable, bfd_link_pie and bfd_link_pic.
420 * elf32-arm.c: Likewise.
421 * elf32-bfin.c: Likewise.
422 * elf32-frv.c: Likewise.
423 * elf32-m68k.c: Likewise.
424 * elf32-nios2.c: Likewise.
425 * elf32-ppc.c: Likewise.
426 * elf32-s390.c: Likewise.
427 * elf32-sh.c: Likewise.
428 * elf64-alpha.c: Likewise.
429 * elf64-ppc.c: Likewise.
430 * elf64-s390.c: Likewise.
431 * elflink.c: Likewise.
432
44b4145b
JW
4332015-08-18 Jiong Wang <jiong.wang@arm.com>
434
435 * elfnn-aarch64.c (aarch64_reloc_got_type): Delete useless check.
436 (elfNN_aarch64_relocate_section): Likewise.
437 (elfNN_aarch64_gc_sweep_hook): Likewise.
438 (elfNN_aarch64_check_relocs): Likewise.
439
cae1fbbb
L
4402015-08-18 H.J. Lu <hongjiu.lu@intel.com>
441
442 PR ld/18841
443 * elf-bfd.h (elf_link_hash_table): Add dynsym.
444 * elf32-i386.c (elf_i386_reloc_type_class): Return
445 reloc_class_ifunc for relocation against STT_GNU_IFUNC symbol.
446 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
447 * elflink.c (_bfd_elf_link_create_dynamic_sections): Set dynsym.
448 (bfd_elf_size_dynsym_hash_dynstr): Use dynsym.
449 (elf_final_link_info): Remove dynsym_sec.
450 (elf_link_output_extsym): Replace dynsym_sec with dynsym.
451 (bfd_elf_final_link): Remove reference to dynsym_sec. Replace
452 dynsym_sec with dynsym.
453
0e1862bb
L
4542015-08-18 H.J. Lu <hongjiu.lu@intel.com>
455
456 * bfd/aoutx.h: Replace shared, executable, relocatable and pie
457 fields with bfd_link_executable, bfd_link_dll,
458 bfd_link_relocatable, bfd_link_pic and bfd_link_pie.
459 * bfd/bout.c: Likewise.
460 * bfd/coff-alpha.c: Likewise.
461 * bfd/coff-arm.c: Likewise.
462 * bfd/coff-i386.c: Likewise.
463 * bfd/coff-i960.c: Likewise.
464 * bfd/coff-m68k.c: Likewise.
465 * bfd/coff-mcore.c: Likewise.
466 * bfd/coff-mips.c: Likewise.
467 * bfd/coff-ppc.c: Likewise.
468 * bfd/coff-rs6000.c: Likewise.
469 * bfd/coff-sh.c: Likewise.
470 * bfd/coff-tic80.c: Likewise.
471 * bfd/coff-x86_64.c: Likewise.
472 * bfd/coff64-rs6000.c: Likewise.
473 * bfd/coffgen.c: Likewise.
474 * bfd/cofflink.c: Likewise.
475 * bfd/ecoff.c: Likewise.
476 * bfd/ecofflink.c: Likewise.
477 * bfd/elf-bfd.h: Likewise.
478 * bfd/elf-eh-frame.c: Likewise.
479 * bfd/elf-ifunc.c: Likewise.
480 * bfd/elf-m10200.c: Likewise.
481 * bfd/elf-m10300.c: Likewise.
482 * bfd/elf-s390-common.c: Likewise.
483 * bfd/elf-vxworks.c: Likewise.
484 * bfd/elf.c: Likewise.
485 * bfd/elf32-arm.c: Likewise.
486 * bfd/elf32-avr.c: Likewise.
487 * bfd/elf32-bfin.c: Likewise.
488 * bfd/elf32-cr16.c: Likewise.
489 * bfd/elf32-cr16c.c: Likewise.
490 * bfd/elf32-cris.c: Likewise.
491 * bfd/elf32-crx.c: Likewise.
492 * bfd/elf32-d10v.c: Likewise.
493 * bfd/elf32-dlx.c: Likewise.
494 * bfd/elf32-epiphany.c: Likewise.
495 * bfd/elf32-fr30.c: Likewise.
496 * bfd/elf32-frv.c: Likewise.
497 * bfd/elf32-ft32.c: Likewise.
498 * bfd/elf32-h8300.c: Likewise.
499 * bfd/elf32-hppa.c: Likewise.
500 * bfd/elf32-i370.c: Likewise.
501 * bfd/elf32-i386.c: Likewise.
502 * bfd/elf32-i860.c: Likewise.
503 * bfd/elf32-ip2k.c: Likewise.
504 * bfd/elf32-iq2000.c: Likewise.
505 * bfd/elf32-lm32.c: Likewise.
506 * bfd/elf32-m32c.c: Likewise.
507 * bfd/elf32-m32r.c: Likewise.
508 * bfd/elf32-m68hc11.c: Likewise.
509 * bfd/elf32-m68hc1x.c: Likewise.
510 * bfd/elf32-m68k.c: Likewise.
511 * bfd/elf32-mcore.c: Likewise.
512 * bfd/elf32-mep.c: Likewise.
513 * bfd/elf32-metag.c: Likewise.
514 * bfd/elf32-microblaze.c: Likewise.
515 * bfd/elf32-moxie.c: Likewise.
516 * bfd/elf32-msp430.c: Likewise.
517 * bfd/elf32-mt.c: Likewise.
518 * bfd/elf32-nds32.c: Likewise.
519 * bfd/elf32-nios2.c: Likewise.
520 * bfd/elf32-or1k.c: Likewise.
521 * bfd/elf32-ppc.c: Likewise.
522 * bfd/elf32-rl78.c: Likewise.
523 * bfd/elf32-rx.c: Likewise.
524 * bfd/elf32-s390.c: Likewise.
525 * bfd/elf32-score.c: Likewise.
526 * bfd/elf32-score7.c: Likewise.
527 * bfd/elf32-sh-symbian.c: Likewise.
528 * bfd/elf32-sh.c: Likewise.
529 * bfd/elf32-sh64.c: Likewise.
530 * bfd/elf32-spu.c: Likewise.
531 * bfd/elf32-tic6x.c: Likewise.
532 * bfd/elf32-tilepro.c: Likewise.
533 * bfd/elf32-v850.c: Likewise.
534 * bfd/elf32-vax.c: Likewise.
535 * bfd/elf32-visium.c: Likewise.
536 * bfd/elf32-xc16x.c: Likewise.
537 * bfd/elf32-xstormy16.c: Likewise.
538 * bfd/elf32-xtensa.c: Likewise.
539 * bfd/elf64-alpha.c: Likewise.
540 * bfd/elf64-hppa.c: Likewise.
541 * bfd/elf64-ia64-vms.c: Likewise.
542 * bfd/elf64-mmix.c: Likewise.
543 * bfd/elf64-ppc.c: Likewise.
544 * bfd/elf64-s390.c: Likewise.
545 * bfd/elf64-sh64.c: Likewise.
546 * bfd/elf64-x86-64.c: Likewise.
547 * bfd/elflink.c: Likewise.
548 * bfd/elfnn-aarch64.c: Likewise.
549 * bfd/elfnn-ia64.c: Likewise.
550 * bfd/elfxx-mips.c: Likewise.
551 * bfd/elfxx-sparc.c: Likewise.
552 * bfd/elfxx-tilegx.c: Likewise.
553 * bfd/i386linux.c: Likewise.
554 * bfd/linker.c: Likewise.
555 * bfd/m68klinux.c: Likewise.
556 * bfd/pdp11.c: Likewise.
557 * bfd/pe-mips.c: Likewise.
558 * bfd/peXXigen.c: Likewise.
559 * bfd/reloc.c: Likewise.
560 * bfd/reloc16.c: Likewise.
561 * bfd/sparclinux.c: Likewise.
562 * bfd/sunos.c: Likewise.
563 * bfd/vms-alpha.c: Likewise.
564 * bfd/xcofflink.c: Likewise.
565
fe875424
AM
5662015-08-18 Alan Modra <amodra@gmail.com>
567
568 PR 18667
569 * Makefile.am: Use $(SED) in place of sed throughout.
570 * Makefile.in: Regenerate.
571
43417696
AM
5722015-08-18 Alan Modra <amodra@gmail.com>
573
574 * elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't redefine .TOC.
575 if already defined, and set linker_def.
576 (ppc64_elf_set_toc): Use .TOC. value if defined other than by
577 the backend.
578
9b57267f
AM
5792015-08-14 Alan Modra <amodra@gmail.com>
580
581 PR ld/18759
582 * elf32-or1k.c: Revert 2015-08-11 change.
583
8efa2874
L
5842015-08-13 H.J. Lu <hongjiu.lu@intel.com>
585
586 PR ld/18801
587 * elf32-i386.c (elf_i386_size_dynamic_sections): Issue an error
588 for read-only segment with dynamic IFUNC relocations.
589 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Likewise.
590
40fc1451
SD
5912015-08-12 Simon Dardis <simon.dardis@imgtec.com>
592
593 * elfxx-mips.c (STUB_MOVE): Change to use 'or' only.
594 (mips_o32_exec_plt0_entry, mips_n32_exec_plt0_entry,
595 mips_n64_exec_plt0_entry, micromips_insn32_o32_exec_plt0_entry):
596 Update to use 'or' instead of 'addu/daddu'.
597 (_bfd_mips_elf_finish_dynamic_symbol): Update usage of STUB_MOVE.
598 (move_insns_32): Reorder table.
599
0eace210
L
6002015-08-11 H.J. Lu <hongjiu.lu@intel.com>
601
602 * elf32-i386.c (elf_i386_relocate_section): Properly skip IFUNC
603 relocations in debug sections.
604 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
605
c674f5cd
JW
6062015-08-11 Jiong Wang <jiong.wang@arm.com>
607
608 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Improve warning
609 message for R_AARCH64_LD64_GOTPAGE_LO15/R_AARCH64_LD32_GOTPAGE_LO14.
610
9331eea1
JW
6112015-08-11 Jiong Wang <jiong.wang@arm.com>
612
613 * elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): New.
614 (aarch64_can_relax_tls): Use the new IS_AARCH64_TLS_RELAX_RELOC.
615
f678ded7
JW
6162015-08-11 Jiong Wang <jiong.wang@arm.com>
617
618 * bfd/elfnn-aarch64.c (aarch64_type_of_stub): New parameter "sym_sec".
619 Loose the check for symbol from ABS section.
620 (elfNN_aarch64_size_stubs): Pass sym_sec.
621
07f9ddfe
JW
6222015-08-11 Jiong Wang <jiong.wang@arm.com>
623
624 PR ld/18668
625 * elfnn-aarch64.c (aarch64_type_of_stub): Update destination for
626 calls go through plt stub.
627 (elfNN_aarch64_final_link_relocate): Adjust code logic for CALL26,
628 JUMP26 relocation to support inserting veneer for call to plt stub.
629
40fbed84
JW
6302015-08-11 Jiong Wang <jiong.wang@arm.com>
631
632 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
633 BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12.
634 (aarch64_reloc_got_type): Likewise.
635 (elfNN_aarch64_final_link_relocate): Likewise.
636 (elfNN_aarch64_relocate_section): Likewise.
637 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
638 (_bfd_aarch64_elf_resolve_relocation): Likewise.
639
70151fb5
JW
6402015-08-11 Jiong Wang <jiong.wang@arm.com>
641
642 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12): New entry.
643 * bfd-in2.h: Regenerate.
644 * libbfd.h: Regenerate.
645 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
646 BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12.
647
73f925cc
JW
6482015-08-11 Jiong Wang <jiong.wang@arm.com>
649
650 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
651 BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC.
652 (aarch64_reloc_got_type): Likewise.
653 (elfNN_aarch64_final_link_relocate): Likewise.
654 (elfNN_aarch64_relocate_section): Likewise.
655 (elfNN_aarch64_gc_sweep_hook): Likewise.
656 (elfNN_aarch64_check_relocs): Likewise.
657 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
658 (_bfd_aarch64_elf_resolve_relocation): Likewise.
659
a12fad50
JW
6602015-08-11 Jiong Wang <jiong.wang@arm.com>
661
662 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC): New entry.
663 * bfd-in2.h: Regenerate.
664 * libbfd.h: Regenerate.
665 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
666 BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC.
667
f69e4920
JW
6682015-08-11 Jiong Wang <jiong.wang@arm.com>
669
670 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
671 BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21.
672 (aarch64_reloc_got_type): Likewise.
673 (elfNN_aarch64_final_link_relocate): Likewise.
674 (elfNN_aarch64_relocate_section): Likewise.
675 (elfNN_aarch64_gc_sweep_hook): Likewise.
676 (elfNN_aarch64_check_relocs): Likewise.
677 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
678 (_bfd_aarch64_elf_resolve_relocation): Likewise.
679
1107e076
JW
6802015-08-11 Jiong Wang <jiong.wang@arm.com>
681
682 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21): New entry.
683 * bfd-in2.h: Regenerate.
684 * libbfd.h: Regenerate.
685 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
686 BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21.
687
97dc35c8
L
6882015-08-11 H.J. Lu <hongjiu.lu@intel.com>
689
690 PR ld/18808
691 * elf32-i386.c (elf_i386_relocate_section): Skip IFUNC
692 relocations in debug sections.
693 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
694
dbac553d
PZ
6952015-08-11 Peter Zotov <whitequark@whitequark.org>
696
697 PR ld/18759
698 * elf32-or1k.c (R_OR1K_32_PCREL): Set pcrel_offset to TRUE.
699 (R_OR1K_16_PCREL): Likewise.
700 (R_OR1K_8_PCREL): Likewise.
701
4b0e8a5f
NC
7022015-08-11 Nick Clifton <nickc@redhat.com>
703
4c0160b8
NC
704 PR binutils/18747
705 * coff-sh.c (_bfd_sh_align_load_span): Fix typo when setting
706 opcode count.
707
4b0e8a5f
NC
708 PR binutils/18758
709 * elf.c (_bfd_elf_setup_sections): Add checks for corrupt section
710 group information.
711 * peicode.h (pe_ILF_make_a_section): Ensure alignment of the
712 used_by_bfd pointer.
713 (pe_ILF_build_a_bfd): Ensure alignment of vars.data pointer.
714
64140f86
L
7152015-08-11 H.J. Lu <hongjiu.lu@intel.com>
716
717 * elf.c (_bfd_elf_copy_private_bfd_data): Fix a typo.
718
422f1182
L
7192015-08-10 H.J. Lu <hongjiu.lu@intel.com>
720
721 * elf-bfd.h (elf_symbol_version): New enum.
722 (elf_link_hash_entry): Replace hidden with versioned.
723 * elflink.c (_bfd_elf_merge_symbol): Don't look for symbol
724 version if the symbol is unversioned. Initialize versioned.
725 (_bfd_elf_add_default_symbol): Don't look for symbol version
726 if the symbol is unversioned or hidden. Initialize versioned.
727 (elf_collect_hash_codes): Don't look for symbol version if the
728 symbol is unversioned.
729 (elf_collect_gnu_hash_codes): Likewise.
730 (bfd_elf_gc_mark_dynamic_ref_symbol): Likewise.
731 (_bfd_elf_link_hash_copy_indirect): Check versioned instead of
732 hidden.
733 (elf_link_output_extsym): Likewise.
734
d4ac1f87
L
7352015-08-07 H.J. Lu <hongjiu.lu@intel.com>
736
737 PR binutils/18785
738 * elf.c (_bfd_elf_copy_private_bfd_data): When copying the
739 sh_link and sh_info fields in stripped section headers, we also
64140f86 740 check if the sh_type, sh_flags, sh_addralign and sh_entsize
d4ac1f87
L
741 fields of the output section match the output. Since
742 --only-keep-debug turns all non-debug sections into SHT_NOBITS
743 sections, the output SHT_NOBITS type matches any input type.
744
6e33951e
L
7452015-08-07 H.J. Lu <hongjiu.lu@intel.com>
746
747 PR ld/18720
748 * elflink.c (_bfd_elf_merge_symbol): Add a parameter to indicate
749 if the new symbol matches the existing one. The new hidden
750 versioned symbol matches the existing symbol if they have the
751 same symbol version. Update the existing symbol only if they
752 match.
753 (_bfd_elf_add_default_symbol): Update call to
754 _bfd_elf_merge_symbol.
755 (_bfd_elf_link_assign_sym_version): Don't set the hidden field
756 here.
757 (elf_link_add_object_symbols): Override a definition only if the
758 new symbol matches the existing one.
759 (_bfd_elf_link_hash_copy_indirect): Don't copy any references to
760 the hidden versioned symbol.
761 (elf_link_output_extsym): Bind a symbol locally when linking
762 executable if it is locally defined, hidden versioned, not
763 referenced by shared library and not exported. Turn on
422f1182 764 VERSYM_HIDDEN only if the hidden versioned symbol is defined
6e33951e
L
765 locally.
766
63b9bbb7
NC
7672015-08-05 Nick Clifton <nickc@redhat.com>
768
769 * elf.c (_bfd_elf_copy_private_bfd_data): Copy the sh_link and
770 sh_info fields of sections whose type has been changed to
771 SHT_NOBITS.
772
7e27a9d5
YK
7732015-08-04 Yuriy M. Kaminskiy" <yumkam@gmail.com>
774 Tyler Hicks <tyhicks@canonical.com>
775
776 PR binutils/18750
777 * ihex.c (ihex_scan): Fixes incorrect escape sequence in error message
778 and stack overflow when char is signed and \200-\376 was in place of hex
779 digit; also fixes \377 was handled as EOF instead of "incorrect character".
780 (ihex_read_section): Changed for consistency.
781 (ihex_bad_byte): Prevent (now impossible to trigger) stack
782 overflow and incorrect escape sequence handling.
783 * srec.c (srec_bad_byte): Likewise.
784
cb1c8103
HPN
7852015-08-03 Hans-Peter Nilsson <hp@axis.com>
786
787 * elf32-cris.c (cris_elf_relocate_section)
788 (elf_cris_finish_dynamic_symbol, cris_elf_check_relocs)
789 (elf_cris_discard_excess_dso_dynamics): Use SYMBOLIC_BIND, not
4122b413 790 just link_info->symbolic, to check if a symbol should be bound
cb1c8103
HPN
791 symbolically.
792
c6e8a9a8
L
7932015-07-30 H.J. Lu <hongjiu.lu@intel.com>
794
795 PR ld/18735
796 * elflink.c (_bfd_elf_add_default_symbol): Add the default
797 symbol if not performing a relocatable link.
798 (elf_link_add_object_symbols): Adjust the default symbol if
799 not performing a relocatable link.
800
e77e648e
L
8012015-07-29 H.J. Lu <hongjiu.lu@intel.com>
802
803 * elflink.c (elf_link_add_object_symbols): Remove
804 !info->relocatable check for info->executable. Add
805 !info->relocatable check for !info->executable.
806 (elf_link_output_extsym): Remove
807 !info->relocatable check for info->executable.
808
11509220
HPN
8092015-07-29 Hans-Peter Nilsson <hp@bitrange.com>
810
811 * mmo.c (mmo_write_symbols_and_terminator): Skip symbol-type
812 assignment loop for bfd plugin objects.
813
e5654c0f
AM
8142015-07-28 Alan Modra <amodra@gmail.com>
815
816 * elf.c (_bfd_elf_map_sections_to_segments): Do not make a new
817 segment for loaded sections after nonloaded sections if the
818 sections are on the same page.
819
d6f1bafa
IB
8202015-07-28 Iain Buclaw <ibuclaw@gdcproject.org>
821
822 * configure.in: Add asprintf and vasprintf to AC_CHECK_DECLS.
823 * config.in, configure: Regenerate.
824
37a42ee9
L
8252015-07-27 H.J. Lu <hongjiu.lu@intel.com>
826
827 * configure: Regenerated.
828
79559014
NC
8292015-07-27 Nick Clifton <nickc@redhat.com>
830
831 * elf32-msp430.c (uses_large_model): New function.
832 (msp430_elf_eh_frame_address_size): New function.
833 (elf_backend_eh_frame_address_size): Define.
834
32f573bc
SN
8352015-07-27 Szabolcs Nagy <szabolcs.nagy@arm.com>
836
837 PR ld/18705
838 * elfnn-aarch64.c (elf_backend_extern_protected_data): Define.
839
b68a20d6
SN
8402015-07-27 Szabolcs Nagy <szabolcs.nagy@arm.com>
841
842 PR ld/18705
843 * elf32-arm.c (elf_backend_extern_protected_data): Define.
844
18d9555c
L
8452015-07-25 H.J. Lu <hongjiu.lu@intel.com>
846
847 PR ld/18718
848 * elflink.c (elf_link_output_extsym): Check symbol version
849 section check only if not linking executable, the symbol is
850 referenced by shared library or not locally defined.
851
a496fbc8
AM
8522015-07-25 Thomas Preud'homme <thomas.preudhomme@arm.com>
853
854 * elf32-arm.c (elf32_arm_final_link_relocate): Use SYMBOLIC_BIND to
855 check if a symbol should be bound symbolically.
856 * elf32-hppa.c (elf32_hppa_check_relocs,
857 elf32_hppa_adjust_dynamic_symbol, elf32_hppa_relocate_section,
858 elf32_hppa_finish_dynamic_symbol): Likewise.
859 * elf32-m68k.c (elf_m68k_check_relocs,
860 elf_m68k_relocate_section): Likewise.
861 * elf32-nios2.c (nios2_elf32_relocate_section,
862 nios2_elf32_check_relocs, allocate_dynrelocs): Likewise.
863 * elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol,
864 elf32_tic6x_relocate_section): Likewise.
865
91cb26da
AM
8662015-07-24 Alan Modra <amodra@gmail.com>
867
868 * elf.c (_bfd_elf_assign_file_positions_for_non_load): Use .rela
869 prefix for reloc section corresponding to rela section associated
870 with renamed debug section.
871
2fb9328d
AM
8722015-07-24 Alan Modra <amodra@gmail.com>
873
874 * section.c (bfd_get_section_by_name_if): Iterate over entire hash
875 chain.
876
d5cff5df
JM
8772015-07-23 Joseph Myers <joseph@codesourcery.com>
878
879 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections)
880 <DT_MIPS_RLD_MAP_REL>: Add target address to host address
881 difference, not to host pointer.
882
bb854a36
AM
8832015-07-22 Alan Modra <amodra@gmail.com>
884
885 * elf64-ppc.c (opd_entry_value): Remove assertion. Instead,
886 return -1 if symbol referenced is not defined. Tidy.
887
f2d7e0f4
AM
8882015-07-20 Alan Modra <amodra@gmail.com>
889
890 * po/SRC-POTFILES.in: Regenerate.
891
4c0a9a6f
JW
8922015-07-17 Jiong Wang <jiong.wang@arm.com>
893
894 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Sort alphabetically.
895 (IS_AARCH64_TLSDESC_RELOC): Sort alphabetically.
896
77a69ff8
JW
8972015-07-16 Jiong Wang <jiong.wang@arm.com>
898
899 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
900 BFD_RELOC_AARCH64_TLSLD_ADR_PREL21.
901 (aarch64_reloc_got_type): Ditto.
902 (elfNN_aarch64_final_link_relocate): Ditto.
903 (elfNN_aarch64_relocate_section): Ditto.
904 (elfNN_aarch64_gc_sweep_hook): Ditto.
905 (elfNN_aarch64_check_relocs): Ditto.
906 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Ditto.
907 (_bfd_aarch64_elf_resolve_relocation): Ditto.
908
6c37fedc
JW
9092015-07-16 Jiong Wang <jiong.wang@arm.com>
910
911 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADR_PREL21): New entry.
912 * bfd-in2.h: Regenerate.
913 * libbfd.h: Regenerate.
914 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
915 BFD_RELOC_AARCH64_TLSLD_ADR_PREL21.
916
88988473
L
9172015-07-10 H.J. Lu <hongjiu.lu@intel.com>
918
919 PR binutils/18656
920 * bfd.c (bfd_convert_section_size): New function.
921 (bfd_convert_section_contents): Likewise.
922 * bfd-in2.h: Regenerated.
923
de231f20
CM
9242015-07-09 Catherine Moore <clm@codesourcery.com>
925
926 * elflink.c (bfd_elf_size_dynamic_sections): Call to
927 _bfd_elf_maybe_strip_eh_frame_hdr should be before
928 bed->elf_backend_size_dynamic_sections.
929
328e7bfd
DC
9302015-07-08 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
931
932 * elf32-avr.c: Add 32 bit PC relative relocation for AVR target.
933
92a9c616
RS
9342015-07-05 Richard Sandiford <richard.sandiford@arm.com>
935
936 * elf64-ppc.c (toc_adjusting_stub_needed): Use the symbol value
937 plus addend rather than the original st_value when looking up
938 entries in opd->adjust.
939
0f088b2a
KT
9402015-07-03 Kai Tietz <ktietz@redhat.com>
941 Nick Clifton <nickc@redhat.com>
942
943 PR ld/11539
944 * coffcode.h (coff_bfd_gc_sections): Define default
945 to bfd_coff_gc_sections function.
946 (coff_gc_mark_hook_fn): New type.
947 * coffgen.c (init_reloc_cookie): Copy and adjust coff
948 related code about gc-sections from elflink.c to here.
949 (fini_reloc_cookie): Likewise.
950 (init_reloc_cookie_rels): Likewise.
951 (fini_reloc_cookie_rels): Likewise.
952 (init_reloc_cookie_for_section): Likewise.
953 (fini_reloc_cookie_for_section): Likewise.
954 (_bfd_coff_gc_mark_hook): Likewise.
955 (_bfd_coff_gc_mark_rsec): Likewise.
956 (_bfd_coff_gc_mark_reloc): Likewise.
957 (_bfd_coff_gc_mark): Likewise.
958 (_bfd_coff_gc_mark_extra_sections): Likewise.
959 (coff_gc_sweep_symbol_info): Likewise.
960 (coff_gc_sweep_symbol): Likewise.
961 (gc_sweep_hook_fn): Likewise.
962 (coff_gc_sweep): Likewise.
963 (bfd_coff_gc_sections): Likewise.
964 (_bfd_coff_gc_keep): Likewise.
965 * libcoff-in.h (coff_reloc_cookie): New struct.
966 (bfd_coff_gc_sections): New prototype.
967 * libcoff.h: Regenerate.
968
8c163c5a
SL
9692015-07-01 Sandra Loosemore <sandra@codesourcery.com>
970 Cesar Philippidis <cesar@codesourcery.com>
971
972 * bfd-in2.h: Regenerated.
973 * elf32-nios2.c (elf_nios2_howto_table_rel): Rename to...
974 (elf_nios2_r1_howto_table_rel): This.
975 (elf_nios2_r2_howto_table_rel): New.
976 (BFD_IS_R2): New.
977 (lookup_howto): Add ABFD parameter. Adjust to look up in either
978 the R1 or R2 relocation table, as determined by ABFD.
979 (nios2_reloc_map): Add R2 relocations.
980 (nios2_elf32_bfd_reloc_type_lookup): Do lookup using lookup_howto.
981 Pass it the ABFD parameter.
982 (nios2_elf32_bfd_reloc_name_lookup): Use ABFD to decide whether to
983 return an R1 or R2 relocation.
984 (nios2_elf32_info_to_howto): Do lookup using lookup_howto.
985 Pass it the ABFD parameter.
986 (nios2_elf32_do_call26_relocate): Check for alignment on a 4-byte
987 boundary.
988 (nios2_elf32_relocate_section): Adjust call to lookup_howto.
989 * libbfd.h: Regenerated.
990 * reloc.c (BFD_RELOC_NIOS2_R2_S12): New.
991 (BFD_RELOC_NIOS2_R2_I10_1_PCREL): New.
992 (BFD_RELOC_NIOS2_R2_T1I7_1_PCREL): New.
993 (BFD_RELOC_NIOS2_R2_T1I7_2): New.
994 (BFD_RELOC_NIOS2_R2_T2I4): New.
995 (BFD_RELOC_NIOS2_R2_T2I4_1): New.
996 (BFD_RELOC_NIOS2_R2_T2I4_2): New.
997 (BFD_RELOC_NIOS2_R2_X1I7_2): New.
998 (BFD_RELOC_NIOS2_R2_X2L5): New.
999 (BFD_RELOC_NIOS2_R2_F1I5_2): New.
1000 (BFD_RELOC_NIOS2_R2_L5I4X1): New.
1001 (BFD_RELOC_NIOS2_R2_T1X1I6): New.
1002 (BFD_RELOC_NIOS2_R2_T1X1I6_2): New.
1003
965b1d80
SL
10042015-07-01 Sandra Loosemore <sandra@codesourcery.com>
1005 Cesar Philippidis <cesar@codesourcery.com>
1006
1007 * archures.c (bfd_mach_nios2r1, bfd_mach_nios2r2): New.
1008 * bfd-in2.h: Regenerated.
1009 * cpu-nios2.c (nios2_compatible): New.
1010 (N): Use nios2_compatible instead of bfd_default_compatible.
1011 (NIOS2R1_NEXT, NIOS2R2_NEXT): Define.
1012 (arch_info_struct): New.
1013 (bfd_nios2_arch): Chain to NIOS2R1_NEXT.
1014 * elf32-nios2.c (is_nios2_elf): New.
1015 (nios2_elf32_merge_private_bfd_data): New.
1016 (nios2_elf32_object_p): New.
1017 (bfd_elf32_bfd_merge_private_bfd_data): Define.
1018 (elf_backend_object_p): Define.
1019
dfc87947
L
10202015-07-01 H.J. Lu <hongjiu.lu@intel.com>
1021
1022 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Refactor.
1023
5ee4a1ca
NC
10242015-06-30 Nick Clifton <nickc@redhat.com>
1025
1026 PR binutils/18570
1027 * elf-attrs.c (obj_attr_size): Use an unsigned int type for the tag.
1028 (write_obj_attribute): Likewise.
1029 (elf_new_obj_attr): Likewise.
1030 (bfd_elf_get_obj_attr_int): Likewise.
1031 (bfd_elf_add_obj_attr_int): Likewise.
1032 (bfd_elf_add_obj_attr_string): Likewise.
1033 (bfd_elf_add_obj_attr_int_string): Likewise.
1034 (gnu_obj_attrs_arg_type): Likewise.
1035 (_bfd_elf_obj_attrs_arg_type): Likewise.
1036 (_bfd_elf_parse_attributes): Likewise.
1037 (_bfd_elf_merge_unknown_attribute_list): Likewise.
1038 * elf-bfd.h (struct obj_attribute_list): Likewise.
1039 Update prototypes.
1040
ee0c0c50
L
10412015-06-28 H.J. Lu <hongjiu.lu@intel.com>
1042
1043 * bfd-in.h (compressed_debug_section_type): Remove
1044 COMPRESS_DEBUG_ZLIB.
1045 * bfd-in2.h : Regenerated.
1046
a5499fa4
MF
10472015-06-26 Matthew Fortune <matthew.fortune@imgtec.com>
1048
1049 * elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Use executable
1050 instead of !shared to indicate an application vs shared library.
1051 (_bfd_mips_elf_size_dynamic_sections): Likewise.
1052 (_bfd_mips_elf_finish_dynamic_sections): Handle DT_MIPS_RLD_MAP_REL.
1053 (_bfd_mips_elf_get_target_dtag): Likewise.
1054
3f307074
DD
10552015-06-25 DJ Delorie <dj@redhat.com>
1056
1057 * elf32-msp430.c (msp430_final_link_relocate): Fix comments. Fix
1058 REL loads to match RELA stores.
1059
946748d5
L
10602015-06-25 H.J. Lu <hongjiu.lu@intel.com>
1061
1062 * elf.c (_bfd_elf_compute_section_file_positions): Don't
1063 initialize sh_size for .shstrtab here.
1064
ef10c3ac
L
10652015-06-25 H.J. Lu <hongjiu.lu@intel.com>
1066
1067 PR gas/18451
1068 * elf-bfd.h (elf_sym_strtab): New.
1069 (elf_link_hash_table): Add strtabcount, strtabsize and
1070 strtab.
1071 (_bfd_elf_stringtab_init): Removed.
1072 * elf.c (_bfd_elf_stringtab_init): Removed.
1073 (_bfd_elf_compute_section_file_positions): Replace
1074 bfd_strtab_hash/_bfd_elf_stringtab_init/_bfd_stringtab_free/
1075 _bfd_stringtab_size with
1076 elf_strtab_hash/_bfd_elf_strtab_init/_bfd_elf_strtab_free/
1077 _bfd_elf_strtab_size. Use _bfd_elf_strtab_add,
1078 _bfd_elf_strtab_finalize and _bfd_elf_strtab_offset to get
1079 st_name.
1080 (swap_out_syms): Likewise.
1081 * elflink.c (elf_final_link_info): Replace bfd_strtab_hash
1082 with elf_strtab_hash. Remove symbuf, symbuf_count,
1083 symbuf_size and shndxbuf_size.
1084 (elf_link_flush_output_syms): Removed.
1085 (elf_link_output_sym): Renamed to ...
1086 (elf_link_output_symstrtab): This. Replace _bfd_stringtab_add
1087 with _bfd_elf_strtab_add. Don't flush symbols to the file nor
1088 swap out symbols.
1089 (elf_link_swap_symbols_out): New.
1090 (elf_link_output_extsym): Replace elf_link_output_sym with
1091 elf_link_output_symstrtab.
1092 (elf_link_input_bfd): Likewise.
1093 (elf_final_link_free): Replace _bfd_stringtab_free with
1094 _bfd_elf_strtab_free. Remove symbuf.
1095 (bfd_elf_final_link): Replace _bfd_elf_stringtab_init with
1096 _bfd_elf_strtab_init. Don't set symbuf, symbuf_count,
1097 symbuf_size nor shndxbuf_size. Initialize strtabsize and
1098 strtab. Initialize symshndxbuf to -1 when number of sections
1099 >= 64K. Replace elf_link_output_sym/elf_link_output_sym with
1100 elf_link_output_symstrtab/elf_link_output_symstrtab. Don't
1101 call elf_link_flush_output_syms. Call _bfd_elf_strtab_finalize
1102 and elf_link_swap_symbols_out. Replace _bfd_stringtab_size
1103 and _bfd_stringtab_emit with _bfd_elf_strtab_size and
1104 _bfd_elf_strtab_emit.
1105
7cc152be
L
11062015-06-24 H.J. Lu <hongjiu.lu@intel.com>
1107
1108 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Silence older
1109 GCC warning.
1110
7c1e8d3e
L
11112015-06-24 H.J. Lu <hongjiu.lu@intel.com>
1112
1113 * elf32-i386.c (elf_i386_allocate_dynrelocs): Always allocate
1114 space for the first .plt entry.
1115 (elf_i386_size_dynamic_sections): Always add DT_PLTGOT for .plt
1116 section. Add DT_PLTRELSZ, DT_PLTREL and DT_JMPREL only if
1117 there are PLT relocations.
1118 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Always
1119 allocate space for the first .plt entry.
1120 (elf_x86_64_size_dynamic_sections): Always add DT_PLTGOT for
1121 .plt section. Add DT_PLTRELSZ, DT_PLTREL and DT_JMPREL only if
1122 there are PLT relocations.
1123
59cab532
L
11242015-06-24 H.J. Lu <hongjiu.lu@intel.com>
1125
1126 PR ld/18591
1127 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Don't convert
1128 R_X86_64_GOTPCREL to R_X86_64_PC32 if it will cause relocation
1129 overflow.
1130
c2170589
JW
11312015-06-23 Jiong Wang <jiong.wang@arm.com>
1132
1133 * elfnn-aarch64.c (aarch64_readonly_dynrelocs): New function.
1134 (elfNN_aarch64_size_dynamic_sections): Traverse hash table to check
1135 relocations against read-only sections.
1136
75c11999
NC
11372015-06-18 Nick Clifton <nickc@redhat.com>
1138
1139 PR 18481
1140 * elf32-arm.c (R_ARM_TLS_LE32): Set the special function to NULL.
1141
56f40832
JT
11422015-06-15 Jon Turney <jon.turney@dronecode.org.uk>
1143
1144 * bfd.c: Change struct bfd_build_id to use bfd_size_type.
1145 * bfd-in2.h : Regenerate.
1146
1d5c94cb
AM
11472015-06-16 Alan Modra <amodra@gmail.com>
1148
1149 * elf32-ppc.c (ppc_elf_relocate_section): Correct binary search of
1150 dynamic relocs.
1151
c74f7d1c
JT
11522015-06-10 Jon Turney <jon.turney@dronecode.org.uk>
1153
1154 * elf-bfd.h : Remove struct elf_build_id.
1155 * bfd.c : Add struct bfd_build_id.
1156 * bfd-in2.h: Regenerate.
1157 * elf.c (elfobj_grok_gnu_build_id): Update to use bfd_build_id.
1158 * libpei.h: Add protoype and macros for
1159 bfd_XXi_slurp_codeview_record.
1160 * peXXigen.c (_bfd_XXi_slurp_codeview_record): Make public
1161 * peicode.h (pe_bfd_read_buildid): Add.
1162 (pe_bfd_object_p): Use pe_bfd_read_buildid().
1163
87f5fbcc
RL
11642015-06-15 Renlin Li <renlin.li@arm.com>
1165
1166 * reloc.c (BFD_RELOC_AARCH64_LD64_GOTOFF_LO15): New entry.
1167 * bfd-in2.h: Regenerate.
1168 * libbfd.h: Regenerate.
1169 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
1170 BFD_RELOC_AARCH64_LD64_GOTOFF_LO15.
1171
3a062fa1
AM
11722015-06-15 Alan Modra <amodra@gmail.com>
1173
1174 * cofflink.c (_bfd_coff_generic_relocate_section): Revert
1175 2014-03-26 change. Call _bfd_clear_contents for relocs against
1176 local and global symbols defined in discarded input sections.
1177
1ade7175
NC
11782015-06-05 Nick Clifton <nickc@redhat.com>
1179
1180 * elf32-msp430.c (rl78_sym_diff_handler): New function.
1181 (msp430_howto_table): Use the new function for the SYM_DIFF reloc.
1182 (msp430x_howto_table): Likewise.
1183
f8b44781
AM
11842015-06-05 Alan Modra <amodra@gmail.com>
1185
1186 * elf64-ppc.c (ppc_elf_relocate_section): Move dynamic text
1187 relocs with insns moved by --ppc476-workaround. Correct
1188 output of REL16 relocs.
1189
7018c030
JW
11902015-06-01 Jiong Wang <jiong.wang@arm.com>
1191
1192 * elfnn-aarch64.c (aarch64_reloc_got_type): Support
1193 BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14.
1194 (elfNN_aarch64_final_link_relocate): Ditto.
1195 (elfNN_aarch64_gc_swap_hook): Ditto.
1196 (elfNN_aarch64_check_relocs): Ditto.
1197 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Ditto.
1198
3d715ce4
JW
11992015-06-01 Jiong Wang <jiong.wang@arm.com>
1200
1201 * reloc.c (BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14): New entry.
1202 * bfd-in2.h: Regenerate.
1203 * libbfd.h: Regenerate.
1204 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
1205 BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14.
1206
36e6c140
JW
12072015-06-01 Jiong Wang <jiong.wang@arm.com>
1208
1209 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Set overflow type to
1210 complain_overflow_unsigned for BFD_RELOC_AARCH64_TLSLE_ADD_LO12.
1211 * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Don't use
1212 PGOFF for BFD_RELOC_AARCH64_TLSLE_ADD_LO12.
1213
99ad26cb
JW
12142015-06-01 Jiong Wang <jiong.wang@arm.com>
1215
1216 * elfnn-aarch64.c (aarch64_reloc_got_type): Support
1217 BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15.
1218 (elfNN_aarch64_final_link_relocate): Ditto.
1219 (elfNN_aarch64_gc_swap_hook): Ditto.
1220 (elfNN_aarch64_check_relocs): Ditto.
1221 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Ditto.
1222
a921b5bd
JW
12232015-06-01 Jiong Wang <jiong.wang@arm.com>
1224
1225 * reloc.c (BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15): New entry.
1226 * bfd-in2.h: Regenerate.
1227 * libbfd.h: Regenerate.
1228 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
1229 BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15.
1230
2f0c68f2
CM
12312015-05-28 Catherine Moore <clm@codesourcery.com>
1232 Bernd Schmidt <bernds@codesourcery.com>
1233 Paul Brook <paul@codesourcery.com>
1234
1235 bfd/
1236 * bfd-in2.h: Regenerated.
1237 * elf-bfd.h (DWARF2_EH_HDR, COMPACT_EH_HDR): Define.
1238 (COMPACT_EH_CANT_UNWIND_OPCODE): Define.
1239 (dwarf_eh_frame_hdr_info): Move dwarf-specific fields from
1240 eh_frame_hdr_info.
1241 (compact_eh_frame_hdr_info): Declare.
1242 (eh_frame_hdr_info): Redeclare with union for dwarf-specific
1243 fields and compact-eh fields.
1244 (elf_backend_data): Add cant_unwind_opcode and compact_eh_encoding.
1245 (bfd_elf_section_data): Add eh_frame_entry_field.
1246 (elf_section_eh_frame_entry): Define.
1247 (bfd_elf_parse_eh_frame_entries): Declare.
1248 (_bfd_elf_parse_eh_frame_entry): Declare.
1249 (_bfd_elf_end_eh_frame_parsing): Declare.
1250 (_bfd_elf_write_section_eh_frame_entry): Declare.
1251 (_bfd_elf_eh_frame_entry_present): Declare.
1252 (_bfd_elf_section_for_symbol): Declare.
1253 * elf-eh-frame.c (bfd_elf_discard_eh_frame_entry): New function.
1254 (bfd_elf_record_eh_frame_entry): New function.
1255 (_bfd_elf_parse_eh_frame_entry): New function.
1256 (_bfd_elf_parse_eh_frame): Update hdr_info field references.
1257 (cmp_eh_frame_hdr): New function.
1258 (add_eh_frame_hdr_terminator): New function.
1259 (_bfd_elf_end_eh_frame_parsing): New function.
1260 (find_merged_cie): Update hdr_info field references.
1261 (_bfd_elf_discard_section_eh_frame): Likewise.
1262 (_bfd_elf_discard_section_eh_frame_hdr): Add Compact EH support.
1263 (_bfd_elf_eh_frame_entry_present): New function.
1264 (_bfd_elf_maybe_strip_eh_frame_hdr): Add Compact EH support.
1265 (_bfd_elf_write_section_eh_frame_entry): New function.
1266 (_bfd_elf_write_section_eh_frame): Update hdr_info field references.
1267 (_bfd_elf_fixup_eh_frame_hdr): New function.
1268 (write_compact_eh_frame_hdr): New function.
1269 (write_dwarf_eh_frame_hdr): New function.
1270 (_bfd_elf_write_section_eh_frame_hdr): Add Compact EH support.
1271 * elflink.c (_bfd_elf_section_for_symbol): New function.
1272 (elf_section_ignore_discarded_relocs): Add Compact EH support.
1273 (elf_link_input_bfd): Likewise.
1274 (bfd_elf_final_link): Likewise.
1275 (_bfd_elf_gc_mark): Likewise.
1276 (bfd_elf_parse_eh_frame_entries): New function.
1277 (bfd_elf_gc_sections): Add Compact EH support.
1278 (bfd_elf_discard_info): Likewise.
1279 * elfxx-mips.c: Include dwarf2.h.
1280 (_bfd_mips_elf_compact_eh_encoding): New function.
1281 (_bfd_mips_elf_cant_unwind_opcode): New function.
1282 * elfxx-mips.h (_bfd_mips_elf_compact_eh_encoding): Declare.
1283 (_bfd_mips_elf_cant_unwind_opcode): Declare.
1284 (elf_backend_compact_eh_encoding): Define.
1285 (elf_backend_cant_unwind_opcode): Define.
1286 * elfxx-target.h (elf_backend_compact_eh_encoding): Provide default.
1287 (elf_backend_cant_unwind_opcode): Provide default.
1288 (elf_backend_data elfNN_bed): Add elf_backend_compact_eh_encoding and
1289 elf_backend_cant_unwind_opcode.
1290 * section.c (SEC_INFO_TYPE_EH_FRAME_ENTRY): Add definition.
1291
8ded2ddc
L
12922015-05-27 H.J. Lu <hongjiu.lu@intel.com>
1293
1294 PR binutils/18458
1295 * elf32-i386.c (elf_i386_check_relocs): Create .plt.got section
1296 for now binding only if pointer equality isn't needed.
1297 (elf_i386_allocate_dynrelocs): Use .plt.got section for now
1298 binding only if pointer equality isn't needed.
1299 * elf64-x86-64.c (elf_x86_64_check_relocs): Create .plt.got
1300 section for now binding only if pointer equality isn't needed.
1301 (elf_x86_64_allocate_dynrelocs): Use .plt.got section for now
1302 binding only if pointer equality isn't needed.
1303
fca6ae69
L
13042015-05-26 H.J. Lu <hongjiu.lu@intel.com>
1305
1306 PR binutils/18437
1307 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip extra relocations
1308 in .rel.plt/.rela.plt.
1309 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
1310
ce336788
JW
13112015-05-19 Jiong Wang <jiong.wang@arm.com>
1312
1313 * elfnn-aarch64.c (aarch64_tls_transition_without_check): Sort
1314 relocation case labels alphabetically.
1315 (elfNN_aarch64_final_link_relocate): Ditto.
1316 (elfNN_aarch64_tls_relax): Ditto.
1317 (elfNN_aarch64_relocate_section): Ditto.
1318 (elfNN_aarch64_gc_sweep_hook): Ditto.
1319 (elfNN_aarch64_check_relocs): Ditto.
1320 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Ditto.
1321 (_bfd_aarch64_elf_resolve_relocation): Ditto.
1322
80de0c6d
JW
13232015-05-18 Jiong Wang <jiong.wang@arm.com>
1324
1325 * elfnn-aarch64.c (elfNN_aarch64_adjust_dynamic_symbol): Rewrite
1326 comments.
1327
25070364
L
13282015-05-16 H.J. Lu <hongjiu.lu@intel.com>
1329
1330 * elf32-i386.c (elf_i386_check_relocs): Create .plt.got section
1331 for now binding.
1332 (elf_i386_allocate_dynrelocs): Use .plt.got section for now
1333 binding.
1334 * elf64-x86-64.c (elf_x86_64_check_relocs): Create .plt.got
1335 section for now binding.
1336 (elf_x86_64_allocate_dynrelocs): Use .plt.got section for now
1337 binding.
1338
dab394de
L
13392015-05-14 H.J. Lu <hongjiu.lu@intel.com>
1340
1341 * bfd.c (bfd_update_compression_header): Also write the zlib
1342 header if the SHF_COMPRESSED bit cleared..
1343 (bfd_check_compression_header): Return the uncompressed size.
1344 * compress.c (decompress_contents): Don't skip the zlib header.
1345 (bfd_compress_section_contents): Properly handle ELFCOMPRESS_ZLIB,
1346 which doesn't have the zlib header.
1347 (bfd_init_section_decompress_status): Likewise.
1348 (bfd_get_full_section_contents): Updated.
1349 (bfd_is_section_compressed): Likewise.
1350 (bfd_is_section_compressed_with_header): Return the uncompressed
1351 size.
1352 * elf.c (_bfd_elf_make_section_from_shdr): Updated.
1353 * bfd-in2.h: Regenerated.
1354
fdc3b1b1
JW
13552015-05-14 Jiong Wang <jiong.wang@arm.com>
1356
1357 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Remove overflow
1358 check restrictions.
1359
e6c9a083
MF
13602015-05-14 Max Filippov <jcmvbkbc@gmail.com>
1361
1362 * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Treat PLT reference
1363 as GOT reference when plt.refcount is not positive.
1364
a3747075
L
13652015-05-12 H.J. Lu <hongjiu.lu@intel.com>
1366
1367 * elf32-i386.c (elf_i386_allocate_dynrelocs): Allocate space
1368 for the first .plt entry only if needed.
1369 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
1370
bf64a951
L
13712015-05-11 H.J. Lu <hongjiu.lu@intel.com>
1372
1373 * Makefile.am (ALL_MACHINES): Add cpu-iamcu.lo.
1374 (ALL_MACHINES_CFILES): Likewise.
1375 * archures.c (bfd_mach_iamcu): New.
1376 (bfd_mach_i386_iamcu): Likewise.
1377 (bfd_mach_i386_iamcu_intel_syntax): Likewise.
1378 (bfd_iamcu_arch): Likewise.
1379 (bfd_archures_list): Add &bfd_iamcu_arch.
1380 * config.bfd (targ_selvecs): Add iamcu_elf32_vec to
1381 i386_elf32_vec.
1382 (targ_archs): Add bfd_iamcu_arch if needed.
1383 * configure.ac: Support iamcu_elf32_vec.
1384 * cpu-iamcu.c: New file.
1385 * elf32-i386.c (elf32_iamcu_elf_object_p): New function.
1386 Add support for iamcu_elf32_vec and elf32_iamcu_bed.
1387 * targets.c (iamcu_elf32_vec): New.
1388 (_bfd_target_vector): Add iamcu_elf32_vec.
1389 * Makefile.in: Regenerated.
1390 * bfd-in2.h: Likewise.
1391 * configure: Likewise.
1392
22abe556
L
13932015-05-11 H.J. Lu <hongjiu.lu@intel.com>
1394
1395 * elfcode.h (elf_object_p): Replace EM_486 with EM_IAMCU.
1396
4b71eec6
L
13972015-05-10 H.J. Lu <hongjiu.lu@intel.com>
1398
1399 * elf32-i386.c (elf_i386_convert_mov_to_lea): Replace input_bfd
1400 and output_bfd with abfd.
1401 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
1402
9ac47a43
TS
14032015-05-06 Toni Spets <toni.spets@iki.fi>
1404
1405 PR ld/18372
1406 * peXXigen.c (rsrc_process_section): Skip discarded resource
1407 sections.
1408
b633b725
L
14092015-05-01 H.J. Lu <hongjiu.lu@intel.com>
1410
1411 * config.bfd: Support i[3-7]86-*-elf*.
1412
914082d1
L
14132015-04-30 H.J. Lu <hongjiu.lu@intel.com>
1414
1415 * elf32-i386.c (elf_backend_post_process_headers): Undef for
1416 Solaris 2.
1417
153a2776
NC
14182015-04-30 Nick Clifton <nickc@redhat.com>
1419
1420 PR 18317
1421 * elf32-mep.c (MEPREL): Use bfd_elf_generic_reloc instead of
1422 mep_reloc.
1423 (mep_reloc): Delete unused function.
1424
a93d5cb1
NC
14252015-04-29 Nick Clifton <nickc@redhat.com>
1426
1427 PR 17099
1428 * coff-i386.c (coff_i386_rtype_to_howto): Allow absolute PCRLONG
1429 relocs.
1430
643f7afb
AK
14312015-04-27 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1432
1433 * elf-s390-common.c (elf_s390_merge_obj_attributes): New function.
1434 * elf32-s390.c (elf32_s390_merge_private_bfd_data): Call
1435 elf_s390_merge_obj_attributes.
1436 * elf64-s390.c (elf64_s390_merge_private_bfd_data): New function.
1437
b53b1bed
JW
14382015-04-24 Jiong Wang <jiong.wang@arm.com>
1439
1440 PR ld/18270
1441 * elfnn-aarch64.c (elfNN_aarch64_size_dynamic): Count local symbol for
1442 GOT_NORMAL for both sgot/srelgot section.
1443 (elfNN_aarch64_final_link_relocate): Relocate against GOT entry address
1444 and generate necessary runtime relocation for GOT entry.
1445
69b52ab8
L
14462015-04-24 H.J. Lu <hongjiu.lu@intel.com>
1447
1448 PR binutils/18209
1449 * archive.c (_bfd_get_elt_at_filepos): Copy is_linker_input.
1450
dcbd20eb
JW
14512015-04-24 Jiong Wang <jiong.wang@arm.com>
1452
1453 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Reject
1454 PC-relative relocation for external symbol.
1455
de13ef81
NC
14562015-04-24 Nick Clifton <nickc@redhat.com>
1457
1458 PR 18313
1459 * compress.c (decompress_contents): Zero initialse the z_stream
1460 structure.
1461
b1fa9dd6
NC
14622015-04-24 Nick Clifton <nickc@redhat.com>
1463
1464 * elf.c (_bfd_elf_is_local_label_name): Extend test for assembler
1465 local labels to include local labels with a numeric suffix and
1466 fake symbols.
1467
9361e630
L
14682015-04-24 H.J. Lu <hongjiu.lu@intel.com>
1469
1470 PR binutils/18316
1471 * section.c (SEC_MEP_VLIW): New.
1472 * bfd-in2.h: Regenerated.
1473
3e19fb8f
L
14742015-04-23 H.J. Lu <hongjiu.lu@intel.com>
1475
1476 PR ld/18277
1477 * compress.c (bfd_compress_section_contents): Remove the
1478 write_compress argument.
1479 (bfd_init_section_compress_status): Updated.
1480 (bfd_compress_section): Likewise.
1481 * elf.c (_bfd_elf_set_reloc_sh_name): New.
1482 (_bfd_elf_init_reloc_shdr): Add delay_st_name_p. Set sh_name
1483 to (unsigned int) -1 if delay_st_name_p is TRUE. Use
1484 _bfd_elf_set_reloc_sh_name.
1485 (elf_fake_sections): Don't rename DWARF debug section for
1486 linker output if it will be compressed. Instead, set
1487 delay_st_name_p to TRUE and pass it to _bfd_elf_init_reloc_shdr.
1488 (assign_section_numbers): Call _bfd_elf_strtab_addref only if
1489 sh_name != (unsigned int) -1. Don't finalize nor assign
1490 shstrtab section here. Delay setting output section names to
1491 _bfd_elf_write_object_contents.
1492 (_bfd_elf_compute_section_file_positions): Update comments on
1493 sh_offset for shstrtab section.
1494 (assign_file_positions_for_non_load_sections): Set sh_offset to
1495 -1 for shstrtab section.
1496 (assign_file_positions_except_relocs): Likewise.
1497 (_bfd_elf_assign_file_positions_for_non_load): Set up sh_name
1498 when compressing DWARF debug sections. Place shstrtab section
1499 after DWARF debug sections have been compressed.
1500 (_bfd_elf_write_object_contents): Setting sh_name for output
1501 sections.
1502
f6fe1ccd
L
15032015-04-23 H.J. Lu <hongjiu.lu@intel.com>
1504
1505 PR binutils/18209
1506 * bfd.c (bfd): Add is_linker_input.
1507 * elf.c (convert_debug_to_zdebug): New.
1508 (convert_zdebug_to_debug): Likewise.
1509 (_bfd_elf_make_section_from_shdr): Don't convert .debug_* to
1510 .zdebug_* here. Use convert_zdebug_to_debug. Set SEC_ELF_RENAME.
1511 (_bfd_elf_init_reloc_shdr): Pass a pointer to section name
1512 instead of a pointer to section.
1513 (elf_fake_sections): Rename the section name if SEC_ELF_RENAME
1514 is set.
1515 * section.c (SEC_ELF_RENAME): New.
1516 * bfd-in2.h: Regenerated.
1517
a27e685f
AM
15182015-04-23 Alan Modra <amodra@gmail.com>
1519
1520 * elf64-ppc.c (TOC_BASE_ALIGN): Define.
1521 (ppc64_elf_next_toc_section): Align multi-got toc base.
1522 (ppc64_elf_set_toc): Likewise initial toc base and .TOC. symbol.
1523
d5597ebc
L
15242015-04-22 H.J. Lu <hongjiu.lu@intel.com>
1525
1526 PR ld/18289
1527 * elf32-i386.c (elf_i386_link_hash_entry): Add gotoff_ref.
1528 (elf_i386_link_hash_newfunc): Initialize gotoff_ref to 0.
1529 (elf_i386_create_dynamic_sections): Always allow copy relocs for
1530 building executables.
1531 (elf_i386_copy_indirect_symbol): Also copy gotoff_ref.
1532 (elf_i386_check_relocs): Set gotoff_ref for R_386_GOTOFF.
1533 (elf_i386_adjust_dynamic_symbol): Also allocate copy relocs for
1534 PIE and R_386_GOTOFF.
1535 (elf_i386_relocate_section): Allow R_386_GOTOFF in executable.
1536
e9702963
L
15372015-04-20 H.J. Lu <hongjiu.lu@intel.com>
1538
1539 * elf.c (assign_section_numbers): Always set up sh_name.
1540
e06efbf1
L
15412015-04-20 H.J. Lu <hongjiu.lu@intel.com>
1542
1543 * elf.c (assign_file_positions_for_non_load_sections): Iterate
1544 sections by pointer.
1545 (_bfd_elf_assign_file_positions_for_non_load): Likewise.
1546
0ce398f1
L
15472015-04-14 H.J. Lu <hongjiu.lu@intel.com>
1548
1549 * bfd-in.h (compressed_debug_section_type): New.
1550 * compress.c (bfd_compress_section_contents): Add an argument
1551 for linker write compression and always generate .zdebug_*
1552 section when linking.
1553 (bfd_init_section_compress_status): Pass FALSE to
1554 bfd_compress_section_contents.
1555 (bfd_compress_section): New function.
1556 * elf.c (elf_fake_sections): For linking, set SEC_ELF_COMPRESS
1557 on DWARF debug sections if COMPRESS_DEBUG is set and rename
1558 section if COMPRESS_DEBUG_GABI_ZLIB isn't set.
1559 (assign_file_positions_for_non_load_sections): Set sh_offset
1560 to -1 if SEC_ELF_COMPRESS is set.
1561 (assign_file_positions_except_relocs): Likwise.
1562 (_bfd_elf_assign_file_positions_for_relocs): Renamed to ...
1563 (_bfd_elf_assign_file_positions_for_non_load): This. Change
1564 return time to bfd_boolean. Compress the section if
1565 SEC_ELF_COMPRESS is set.
1566 (_bfd_elf_write_object_contents): Updated.
1567 (_bfd_elf_set_section_contents): Write section contents to
1568 the buffer if SEC_ELF_COMPRESS is set.
1569 * merge.c: Include "elf-bfd.h".
1570 (sec_merge_emit): Add arguments for contents and offset. Write
1571 to contents with offset if contents isn't NULL.
1572 (_bfd_write_merged_section): Write section contents to the
1573 buffer if SEC_ELF_COMPRESS is set. Pass contents and
1574 output_offset to sec_merge_emit.
1575 * elflink.c (bfd_elf_final_link): Allocate the buffer for
1576 output section contents if SEC_ELF_COMPRESS is set.
1577 * section.c (SEC_ELF_COMPRESS): New.
1578 * bfd-in2.h: Regenerated.
1579
95b57ade
AM
15802015-04-15 Alan Modra <amodra@gmail.com>
1581
1582 * elf32-rl78.c (rl78_elf_relocate_section): Typo fix.
1583
6ff71e76
NC
15842015-04-14 Nick Clifton <nickc@redhat.com>
1585
1586 * elf32-rl78.c (RL78_OP_REL): New macro.
1587 (rl78_elf_howto_table): Use it for complex relocs.
1588 (get_symbol_value): Handle the cases when the info or status
1589 arguments are NULL.
1590 (get_romstart): Cache the status returned by get_symbol_value.
1591 (get_ramstart): Likewise.
1592 (RL78_STACK_PUSH): Generate an error message if the stack
1593 overflows.
1594 (RL78_STACK_POP): Likewise for underflows.
1595 (rl78_compute_complex_reloc): New function. Contains the basic
1596 processing code for all RL78 complex relocs.
1597 (rl78_special_reloc): New function. Provides special reloc
1598 handling for complex relocs.
1599 (rl78_elf_relocate_section): Use rl78_compute_complex_reloc.
1600 (rl78_offset_for_reloc): Likewise.
1601
889c2a67
L
16022015-04-14 H.J. Lu <hongjiu.lu@intel.com>
1603
1604 PR ld/pr17709
1605 * elflink.c (_bfd_elf_adjust_dynamic_copy): Check
1606 info->extern_protected_data when warning copy relocs against
1607 protected symbols.
1608 (_bfd_elf_symbol_refs_local_p): Check info->extern_protected_data
1609 when checking protected non-function symbols.
1610
97de3545
JB
16112015-04-13 John Baldwin <jhb@FreeBSD.org>
1612
1613 * elf.c (elfcore_grok_note): Recognize NT_X86_XSTATE on
1614 FreeBSD.
1615 (elfcore_write_xstatereg): Use correct note name on FreeBSD.
1616
f0bf6bfd
L
16172015-04-13 H.J. Lu <hongjiu.lu@intel.com>
1618
1619 PR ld/18250
1620 * elflink.c (elf_link_is_defined_archive_symbol): Return FALSE
1621 if the object has been claimed by plugin.
1622
e3c0e327
L
16232015-04-11 H.J. Lu <hongjiu.lu@intel.com>
1624
1625 * elf32-i386.c (elf_i386_relocate_section): Replace SYMBOLIC_BIND
1626 with SYMBOL_REFERENCES_LOCAL when checking R_386_GOTOFF against
1627 protected data symbol when building shared library.
1628 * elf64-x86-64.c (elf_x86_64_relocate_section): Check
1629 R_X86_64_GOTOFF64 against undefined symbol and replace
1630 SYMBOLIC_BIND with SYMBOL_REFERENCES_LOCAL when checking
1631 R_X86_64_GOTOFF64 against protected data symbol when building
1632 shared library.
1633
3d949995
L
16342015-04-10 H.J. Lu <hongjiu.lu@intel.com>
1635
1636 PR ld/pr17709
1637 * elf32-i386.c (elf_i386_relocate_section): Also check R_386_GOTOFF
1638 against protected data symbol when building shared library.
1639 * elf64-x86-64.c (elf_x86_64_relocate_section): Also check
1640 R_X86_64_GOTOFF64 against protected data symbol when building
1641 shared library.
1642
f7483970
L
16432015-04-10 H.J. Lu <hongjiu.lu@intel.com>
1644
1645 PR ld/pr15228
1646 PR ld/pr17709
1647 * elf-bfd.h (elf_backend_data): Add extern_protected_data.
1648 * elf32-i386.c (elf_backend_extern_protected_data): New.
1649 Defined to 1.
1650 * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
1651 * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't error on
1652 copy relocs against protected symbols if extern_protected_data
1653 is true.
1654 (_bfd_elf_symbol_refs_local_p): Don't return true on protected
1655 non-function symbols if extern_protected_data is true.
1656 * elfxx-target.h (elf_backend_extern_protected_data): New.
1657 Default to 0.
1658 (elfNN_bed): Initialize extern_protected_data with
1659 elf_backend_extern_protected_data.
1660
030aeb75
L
16612015-04-10 H.J. Lu <hongjiu.lu@intel.com>
1662
1663 * compress.c (bfd_compress_section_contents): Replace bfd_malloc
1664 and free with bfd_alloc and bfd_release on compressed buffer.
1665 Release buffer if compressed section isn't smaller.
1666
d07a1b05
AM
16672015-04-10 Alan Modra <amodra@gmail.com>
1668
1669 PR ld/18222
1670 * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't report an error
1671 on adding a protected visibility variable to .dynbss.
1672
8d2ea2a8
AM
16732015-04-10 Alan Modra <amodra@gmail.com>
1674
1675 Revert 2015-03-05 H.J. Lu <hongjiu.lu@intel.com>
1676 PR ld/pr15228
1677 PR ld/pr17709
1678 * elf-bfd.h (elf_backend_data): Delete extern_protected_data.
1679 * elf32-i386.c (elf_backend_extern_protected_data): Delete.
1680 * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
1681 * elflink.c (_bfd_elf_adjust_dynamic_copy): Remove
1682 extern_protected_data test.
1683 (_bfd_elf_symbol_refs_local_p): Likewise.
1684 * elfxx-target.h (elf_backend_extern_protected_data): Delete.
1685 (elfNN_bed): Delete elf_backend_extern_protected_data init.
1686
18ece1de
L
16872015-04-09 H.J. Lu <hongjiu.lu@intel.com>
1688
1689 * compress.c (bfd_compress_section_contents): Update comments.
1690 (bfd_init_section_decompress_status): Likewise.
1691 (bfd_init_section_compress_status): Likewise.
1692
cd6faa73
L
16932015-04-09 H.J. Lu <hongjiu.lu@intel.com>
1694
1695 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_COMPRESS_GABI to
1696 object_flags.
1697 (TARGET_LITTLE_SYM): Likewise.
1698
19424843
MF
16992015-04-09 Max Filippov <jcmvbkbc@gmail.com>
1700
1701 * elf32-xtensa.c (splay-tree.h): include header.
1702 (text_action_struct): drop next pointer.
1703 (text_action_list_struct): drop head pointer, add count and
1704 tree fields.
1705 (find_fill_action): instead of linear search in text_action_list
1706 search in the tree.
1707 (text_action_compare, action_first, action_next): new functions.
1708 (text_action_add, text_action_add_literal): instead of linear
1709 search and insertion insert new node into the tree.
1710 (removed_by_actions): pass additional parameter: action_list,
1711 use it to traverse the tree.
1712 (offset_with_removed_text): pass additional action_list parameter
1713 to removed_by_actions.
1714 (map_action_fn_context): new typedef.
1715 (map_action_fn_context_struct): new structure.
1716 (map_action_fn): new function.
1717 (map_removal_by_action): use splay_tree_foreach to build map.
1718 (find_insn_action): replace linear search in text_action_list
1719 with series of splay_tree_lookups.
1720 (print_action, print_action_list_fn): new functions.
1721 (print_action_list): use splay_tree_foreach.
1722 (init_xtensa_relax_info): drop action_list.head initialization.
1723 Initialize the tree.
1724 (compute_text_actions): use non-zero action_list_count instead of
1725 non-NULL action list.
1726 (xlate_map_context): new typedef.
1727 (xlate_map_context_struct): new structure.
1728 (xlate_map_fn): new function.
1729 (build_xlate_map): use splay_tree_foreach to build map.
1730 (action_remove_bytes_fn): new function.
1731 (relax_section): use zero action_list_count instead of NULL
1732 action list. Use splay_tree_foreach to count final section size.
1733 Drop unused variable 'removed'.
1734
17352015-04-09 Max Filippov <jcmvbkbc@gmail.com>
1736
1737 * elf32-xtensa.c (removed_literal_map_entry): new typedef.
1738 (removed_literal_map_entry_struct): new structure.
1739 (removed_literal_list_struct): add new fields: n_map and map.
1740 (map_removed_literal, removed_literal_compare): new functions.
1741 (find_removed_literal): build index array for literals ordered
1742 by VMA, use binary search to find removed literal.
1743
17442015-04-09 Max Filippov <jcmvbkbc@gmail.com>
1745
1746 * elf32-xtensa.c (removal_by_action_entry_struct,
1747 removal_by_action_map_struct): new structures.
1748 (removal_by_action_entry, removal_by_action_map): new typedefs.
1749 (text_action_list_struct): add new field: map.
1750 (map_removal_by_action, removed_by_actions_map,
1751 offset_with_removed_text_map): new functions.
1752 (relax_section): replace offset_with_removed_text with
1753 offset_with_removed_text_map.
1754 (translate_reloc, relax_property_section, relax_section_symbols):
1755 replace removed_by_actions with removed_by_actions_map.
1756
17572015-04-09 Max Filippov <jcmvbkbc@gmail.com>
1758
1759 * elf32-xtensa.c (reloc_range_list, reloc_range_list_entry,
1760 reloc_range): new typedef.
1761 (reloc_range_list_struct, reloc_range_list_entry_struct,
1762 reloc_range_struct): new structures.
1763 (reloc_range_compare, build_reloc_ranges,
1764 reloc_range_list_append, reloc_range_list_remove,
1765 reloc_range_list_update_range, free_reloc_range_list): new
1766 functions.
1767 (compute_text_actions): precompute relocation opcodes before the
1768 loop. Add relevant_relocs variable, initialize it before the
1769 loop, pass it to the check_section_ebb_pcrels_fit.
1770 (check_section_ebb_pcrels_fit): add new parameter:
1771 relevant_relocs. Update address range in the relevant_relocs if
1772 it's non-NULL and iterate only over relevant relocations.
1773
3525236c
NC
17742015-04-09 Nick Clifton <nickc@redhat.com>
1775
1776 * elf32-rx.c (describe_flags): Report the settings of the string
1777 insn using bits.
1778 (rx_elf_merge_private_bfd_data): Handle merging of the string insn
1779 using bits.
1780
51509926
L
17812015-04-08 H.J. Lu <hongjiu.lu@intel.com>
1782
1783 * compress.c (bfd_compress_section_contents): Work around a GCC
1784 uninitialized warning bug fixed in GCC 4.7.
1785
151411f8
L
17862015-04-08 H.J. Lu <hongjiu.lu@intel.com>
1787
1788 * archive.c (_bfd_get_elt_at_filepos): Also copy BFD_COMPRESS_GABI
1789 bit.
1790 * bfd.c (bfd::flags): Increase size to 18 bits.
1791 (BFD_COMPRESS_GABI): New.
1792 (BFD_FLAGS_SAVED): Add BFD_COMPRESS_GABI.
1793 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
1794 (bfd_update_compression_header): New fuction.
1795 (bfd_check_compression_header): Likewise.
1796 (bfd_get_compression_header_size): Likewise.
1797 (bfd_is_section_compressed_with_header): Likewise.
1798 * compress.c (MAX_COMPRESSION_HEADER_SIZE): New.
1799 (bfd_compress_section_contents): Return the uncompressed size if
1800 the full section contents is compressed successfully. Support
1801 converting from/to .zdebug* sections.
1802 (bfd_get_full_section_contents): Call
1803 bfd_get_compression_header_size to get compression header size.
1804 (bfd_is_section_compressed): Renamed to ...
1805 (bfd_is_section_compressed_with_header): This. Add a pointer
1806 argument to return compression header size.
1807 (bfd_is_section_compressed): Use it.
1808 (bfd_init_section_decompress_status): Call
1809 bfd_get_compression_header_size to get compression header size.
1810 Return FALSE if uncompressed section size is 0.
1811 * elf.c (_bfd_elf_make_section_from_shdr): Support converting
1812 from/to .zdebug* sections.
1813 * bfd-in2.h: Regenerated.
1814
87070c08
AM
18152015-04-07 Alan Modra <amodra@gmail.com>
1816
1817 * elf.c (_bfd_elf_get_reloc_section): Allow for .got.plt being
1818 mapped to output .got section.
1819
d3e454b9
AM
18202015-04-07 Alan Modra <amodra@gmail.com>
1821
1822 * elf32-ppc.c (struct ppc_elf_link_hash_entry): Add has_addr16_ha
1823 and has_addr16_lo. Make has_sda_refs a bitfield.
1824 (ppc_elf_check_relocs): Set new flags.
1825 (ppc_elf_link_hash_table_create): Update default_params.
1826 (ppc_elf_adjust_dynamic_symbol): Clear protected_def in cases
1827 where we won't be making .dynbss entries or editing code. Set
1828 params->pic_fixup when we'll edit code for protected var access.
1829 (allocate_dynrelocs): Allocate got entry for edited code and
1830 discard dyn_relocs.
1831 (struct ppc_elf_relax_info): Add picfixup_size.
1832 (ppc_elf_relax_section): Rename struct one_fixup to struct
1833 one_branch_fixup. Rename fixups to branch_fixups. Size space for
1834 pic fixups.
1835 (ppc_elf_relocate_section): Edit non-PIC accessing protected
1836 visibility variables to PIC. Don't emit dyn_relocs for code
1837 we've edited.
1838 * elf32-ppc.h (struct ppc_elf_params): Add pic_fixup.
1839
ffa54770
NC
18402015-04-07 Nick Clifton <nickc@redhat.com>
1841
1842 * elf.c (_bfd_elf_is_local_label_name): Treat assembler generated
1843 local labels as local.
1844
4aa90cc0
L
18452015-04-06 H.J. Lu <hongjiu.lu@intel.com>
1846
1847 * compress.c (get_uncompressed_size): Removed.
1848 (bfd_compress_section_contents): Use bfd_putb64 to write
1849 uncompressed section size.
1850 (bfd_init_section_decompress_status): Replace
1851 get_uncompressed_size with bfd_getb64.
1852
68f5ff89
L
18532015-04-04 H.J. Lu <hongjiu.lu@intel.com>
1854
1855 * elf.c (_bfd_elf_init_private_section_data): Also preserve the
1856 SHF_COMPRESSED bit if not decompress.
1857
8bed4e0f
L
18582015-04-04 H.J. Lu <hongjiu.lu@intel.com>
1859
1860 * compress.c (get_uncompressed_size): New. Extracted from ...
1861 (bfd_init_section_decompress_status): This. Use it.
1862
15c7659f
AT
18632015-04-02 Andrew Turner <andrew@freebsd.org>
1864
1865 * config.bfd: Add aarch64-*-freebsd* target triple.
1866
39f3de7c
L
18672015-04-02 H.J. Lu <hongjiu.lu@intel.com>
1868
1869 * configure: Regenerated.
1870
4106101c
MS
18712015-04-01 Tejas Belagod <tejas.belagod@arm.com>
1872 Marcus Shawcroft <marcus.shawcroft@arm.com>
1873 Jiong Wang <jiong.wang@arm.com>
1874
1875 * bfd-in.h (bfd_elf64_aarch64_set_options)
1876 (bfd_elf32_aarch64_set_options): Add parameter.
1877 * bfd-in2.h: Regenerated.
1878 * elfnn-aarch64.c (aarch64_erratum_843419_stub)
1879 (_bfd_aarch64_adrp_p, _bfd_aarch64_erratum_843419_sequence_p)
1880 (_bfd_aarch64_erratum_843419_stub_name)
1881 (_bfd_aarch64_erratum_843419_fixup)
1882 (_bfd_aarch64_erratum_843419_scan)
1883 (_bfd_aarch64_erratum_843419_branch_to_stub)
1884 (_bfd_aarch64_erratum_843419_p): Define.
1885 (enum elf_aarch64_stub_type): Define
1886 aarch64_stub_erratum_843419_veneer.
1887 (struct elf_aarch64_stub_hash_entry): Define adrp_offset.
1888 (struct elf_aarch64_link_hash_table): Define fix_erratum_843419
1889 and fix_erratum_843419_adr.
1890 (stub_hash_newfunc): Initialize adrp_offset;
1891 (_bfd_aarch64_add_stub_entry_after): Define.
1892 (aarch64_map_one_stub, aarch64_build_one_stub)
1893 (aarch64_size_one_stub): Handle
1894 aarch64_stub_erratum_843419_veneer.
1895 (_bfd_aarch64_resize_stubs): Round stub section size.
1896 (elfNN_aarch64_size_stubs): Add scan for 843419.
1897 (bfd_elfNN_aarch64_set_options): Add parameter. Initialize
1898 fix_erratum_843419 and fix_erratum_843419_adr.
1899 (struct erratum_835769_branch_to_stub_data): Add info.
1900 (elfNN_aarch64_write_section): Initialise info. Handle 843419.
1901 (elfNN_aarch64_size_dynamic_sections): Handle 843419.
1902 * elfxx-aarch64.c (_bfd_aarch64_decode_adrp_imm)
1903 (_bfd_aarch64_sign_extend): Define.
1904 (reencode_adr_imm): Remove static. Rename to:
1905 (_bfd_aarch64_reencode_adr_imm): Define.
1906 (_bfd_aarch64_elf_put_addend): Call _bfd_aarch64_reencode_adr_imm.
1907 * elfxx-aarch64.h (AARCH64_ADR_OP, AARCH64_ADRP_OP)
1908 (AARCH64_ADRP_OP_MASK, _bfd_aarch64_sign_extend)
1909 (_bfd_aarch64_decode_adrp_imm, _bfd_aarch64_reencode_adr_imm):
1910 Define.
1911
afa59b79
L
19122015-04-01 H.J. Lu <hongjiu.lu@intel.com>
1913
1914 * configure: Regenerated.
1915
6036f486
ES
19162015-03-31 Ed Schouten <ed@nuxi.nl>
1917
1918 * config.bfd (targ_defvec): Set to x86_64_elf64_cloudabi_vec
1919 for x86_64-*-cloudabi*.
1920 * configure.ac: Handle x86_64_elf64_cloudabi_vec.
1921 * configure: Regenerated.
1922 * elf64-x86-64.c (TARGET_LITTLE_SYM): Support x86_64-*-cloudabi*.
1923 (TARGET_LITTLE_NAME): Likewise.
1924 (ELF_OSABI): Likewise.
1925 (elf64_bed): Likewise.
1926 * targets.c (x86_64_elf64_cloudabi_vec): New.
1927 (_bfd_target_vector): Add x86_64_elf64_cloudabi_vec.
1928
9ae46699
L
19292015-03-31 H.J. Lu <hongjiu.lu@intel.com>
1930
1931 * configure.ac: Revert the AM_ZLIB change.
1932 * Makefile.in: Regenerated.
1933 * aclocal.m4: Likewise.
1934 * configure: Likewise.
1935 * doc/Makefile.in: Likewise.
1936
bd53a53a
L
19372015-03-30 H.J. Lu <hongjiu.lu@intel.com>
1938
1939 PR ld/18169
1940 * elf-bfd.h (elf_backend_data): Add get_reloc_section.
1941 (_bfd_elf_get_reloc_section): New.
1942 * elf.c (_bfd_elf_get_reloc_section): Likewise.
1943 (assign_section_numbers): Call get_reloc_section to look up the
1944 section the relocs apply.
1945 * elfxx-target.h (elf_backend_get_reloc_section): Likewise.
1946 (elfNN_bed): Initialize get_reloc_section with
1947 elf_backend_get_reloc_section.
1948
243340ad
L
19492015-03-29 H.J. Lu <hongjiu.lu@intel.com>
1950
1951 * Makefile.am (ZLIB): New.
1952 (ZLIBINC): Likewise.
1953 (AM_CFLAGS): Add $(ZLIBINC).
1954 (libbfd_la_LIBADD): Add $(ZLIB).
1955 * compress.c: Don't check HAVE_ZLIB_H to include <zlib.h>.
1956 (decompress_contents): Don't check HAVE_ZLIB_H.
243340ad
L
1957 (bfd_compress_section_contents): Likewise.
1958 (bfd_get_full_section_contents): Likewise.
1959 (bfd_init_section_decompress_status): Likewise.
1960 (bfd_init_section_compress_status): Likewise.
b51724e8 1961 * configure.ac (AM_ZLIB): Removed.
243340ad
L
1962 (zlibdir): New. AC_SUBST.
1963 (zlibinc): Likewise.
1964 Add --with-system-zlib.
1965 * Makefile.in: Regenerated.
1966 * acinclude.m4: Likewise.
1967 * config.in: Likewise.
1968 * configure: Likewise.
1969 * doc/Makefile.in: Likewise.
1970
b8417128
AM
19712015-03-27 Alan Modra <amodra@gmail.com>
1972
1973 PR ld/15228
1974 PR ld/18167
1975 * elflink.c (elf_merge_st_other): Add "sec" parameter. Don't set
1976 protected_def when symbol section is read-only. Adjust all calls.
1977 * elf-bfd.h (struct elf_link_hash_entry): Update protected_def comment.
1978
93ca8569
TB
19792015-03-26 Tejas Belagod <tejas.belagod@arm.com>
1980
1981 * elfnn-aarch64.c (aarch64_build_one_stub): Replace the call to generic
1982 _bfd_final_link_relocate with aarch64_relocate.
1983
b19a8f85
L
19842015-03-26 H.J. Lu <hongjiu.lu@intel.com>
1985
1986 PR ld/18160
1987 * elflink.c (elf_gc_sweep): Skip if relocation is incompatible.
1988 (bfd_elf_gc_sections): Likewise.
1989
61865519
MS
19902015-03-25 Marcus Shawcroft <marcus.shawcroft@arm.com>
1991
1992 * elfnn-aarch64.c (_bfd_aarch64_resize_stubs): Adjust stub section
1993 size for initial branch.
1994 (elfNN_aarch64_build_stubs): Write initial branch.
1995 _bfd_aarch64_decode_(elfNN_aarch64_output_arch_local_syms): Write
1996 mapping symbol on initial branch.
1997
d9ced15d 19982015-03-25 Marcus Shawcroft <marcus.shawcroft@arm.com>
357d1523
MS
1999
2000 * elfnn-aarch64.c (_bfd_aarch64_erratum_835769_scan):
2001 Update erratum count.
2002
d422d1c4
SKS
20032015-03-25 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2004
2005 * elflink.c (_bfd_elf_gc_mark_extra_sections): Don't break on
2006 first matching debug section.
2007
8d001214
L
20082015-03-24 H.J. Lu <hongjiu.lu@intel.com>
2009
2010 PR gas/18087
2011 * compress.c (bfd_compress_section_contents): Don't write the
2012 zlib header and set contents as well as compress_status if
2013 compression didn't make the section smaller.
2014 (bfd_init_section_compress_status): Don't check compression
2015 size here.
2016
fc42baf3
NC
20172015-03-24 Nick Clifton <nickc@redhat.com>
2018
2019 PR binutils/17512
2020 * coffgen.c (coff_get_normalized_symtab): Fix test for out of
2021 range auxillary sections.
2022
fc6d53be
MS
20232015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
2024
2025 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Factor
2026 code into:
2027 (_bfd_aarch64_get_stub_for_link_section): Define.
2028
30068a6d
MS
20292015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
2030
2031 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Adjust
2032 update of section_group[].stub_sec.
2033
5421cc6e
MS
20342015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
2035
2036 * elfnn-aarch64.c (struct aarch64_erratum_835769_fix) Remove.
2037 (erratum_835769_scan) Drop fix_table_size_p and fixes_p arguments.
2038 Delete fixes, fix_table_size and associated code. Call
2039 _bfd_aarch64_add_stub_entry_in_group. Rename to...
2040 (bfd_aarch64_erratum_835769_scan): Define.
2041 (elfNN_aarch64_size_stubs): Delete erratum_835769_fixes,
2042 erratum_835769_fix_table_size, i and associated code. Relocate
2043 call to _bfd_aarch64_erratum_835769_scan. Delete adhoc stub size
2044 correction. Delete construction of stub entry from
2045 erratum_835769_fixes array.
2046
e572930b
MS
20472015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
2048
2049 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Use
2050 _bfd_aarch64_add_stub_entry_in_group.
2051
8131c122
AM
20522015-03-24 Alan Modra <amodra@gmail.com>
2053
2054 * elf64-ppc.c (ppc64_elf_relocate_section): Report overflow to
2055 stubs, even those for undefined weak symbols. Otherwise, don't
2056 report relocation overflow on branches to undefined strong
2057 symbols. Fix memory leak.
2058 * elf32-ppc.c (ppc_elf_relocate_section): Don't report relocation
2059 overflow on branches to undefined strong symbols.
2060
c53ed7cf
KS
20612015-03-23 Keith Seitz <keiths@redhat.com>
2062
2063 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Add
2064 missing ';'.
2065
94a75bde
MS
20662015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2067
2068 * elfnn-aarch64.c (erratum_835769_scan): Factor stub name
2069 construction into...
2070 (_bfd_aarch64_erratum_835769_stub_name): Define.
2071
13f622ec
MS
20722015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2073
2074 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Factor out
2075 stub resize code into...
2076 (bfd_aarch64_resize_stubs): Define.
2077
66585675
MS
20782015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2079
2080 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Factor stub
2081 creation code into...
2082 (bfd_aarch64_create_stub_section): Define.
2083
ef857521
MS
20842015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2085
2086 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Rename
2087 from elf_aarch64_create_or_find_stub_sec.
2088 (_bfd_aarch64_add_stub_entry_in_group): Rename from
2089 elfNN_aarch64_add_stub. Call
2090 _bfd_aarch64_create_or_find_stub_sec.
2091 (elfNN_aarch64_size_stubs, elfNN_aarch64_size_stubs): Call
2092 _bfd_aarch64_add_stub_entry_in_group.
2093
2144188d
MS
20942015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2095
2096 * elfnn-aarch64.c (erratum_835769_scan) Add comment. Reverse
2097 sense of boolean return.
2098 (elfNN_aarch64_size_stubs): Adjust for above.
2099
4c77202d
MS
21002015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2101
2102 * elfnn-aarch64.c (elf_aarch64_create_or_find_stub_sec):
2103 Remove unused parameter.
2104 (elfNN_aarch64_size_stubs): Adjust for above.
2105
9b9971aa
MS
21062015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2107
2108 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Remove bfd_indx.
2109
e2cdef47
MS
21102015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2111
2112 * elfnn-aarch64.c (aarch64_erratum_835769_fixes)
2113 (num_aarch64_erratum_835769_fixes): Remove.
2114 (elfNN_aarch64_size_stubs): Remove assignments to above.
2115
3d14faea
MS
21162015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2117
23956543
MS
2118 * elfnn-aarch64.c (aarch64_mem_op_p): Update comment. Rename rtn
2119 to rt2.
3d14faea
MS
2120 (aarch64_erratum_seqeunce): Rename rtn to rt2.
2121
f872121a
MS
21222015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2123
2124 * elfnn-aarch64.c (elfNN_aarch64_write_section): Adjust layout.
2125
1740ba0c
NC
21262015-03-19 Nick Clifton <nickc@redhat.com>
2127
2128 * elf32-rl78.c (rl78_cpu_name): New function. Prints the name of
2129 the RL78 core based upon the flags.
2130 (rl78_elf_merge_private_bfd_data): Handle merging of G13 and G14
2131 flags.
2132 (rl78_elf_print_private_bfd_data): Use rl78_cpu_name.
2133 (elf32_rl78_machine): Always return bfd_mach_rl78.
2134
e2575e05
NC
21352015-03-19 Nick Clifton <nickc@redhat.com>
2136
2137 PR 18078
2138 * compress.c (bfd_compress_section_contents): Do not define this
2139 function if it is not used.
2140
0b0732e1
L
21412015-03-18 H.J. Lu <hongjiu.lu@intel.com>
2142
2143 * compress.c (bfd_compress_section_contents): Make it static.
2144 * bfd/bfd-in2.h: Regenerated.
2145
27aaeda0
NC
21462015-03-18 Eric Youngdale <eyoungdale@ptc.com>
2147
2148 PR ld/16598
2149 * peicode.h (pe_ILF_build_a_bfd): Add support for creating relocs
2150 suitable for the AMD64.
2151
273a4985
JT
21522015-03-18 Jon Turney <jon.turney@dronecode.org.uk>
2153 Nick Clifton <nickc@redhat.com>
2154
2155 PR binutils/18087
2156 * coffgen.c (make_a_section_from_file): Only prepend a z to a
2157 debug section's name if the section was actually compressed.
2158 * elf.c (_bfd_elf_make_section_from_shdr): Likewise.
2159 * compress.c (bfd_init_section_compress_status): Do not compress
2160 the section if doing so would make it bigger. In such cases leave
2161 the section alone and return COMPRESS_SECTION_NONE.
2162
c4b0b099
AM
21632015-03-17 Alan Modra <amodra@gmail.com>
2164
2165 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Return count of 0
2166 on nothing to do, before malloc of returned symbol array.
2167
9c761a55
NC
21682015-03-16 Nick Clifton <nickc@redhat.com>
2169
2170 * elf32-rx.c (elf32_rx_relax_delete_bytes): If the relocs are not
2171 stored in the elf_section_data structure then load them as
2172 necessary.
2173
b9005ba7
AK
21742015-03-14 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2175
2176 * elf-s390-common.c (elf_s390_elf_sort_relocs_p): Don't sort
2177 relocs against code sections.
2178 * elf32-s390.c: Define elf_backend_sort_relocs_p.
2179 * elf64-s390.c: Likewise.
2180
1079403c
AM
21812015-03-11 Alan Modra <amodra@gmail.com>
2182
2183 * elf32-ppc.c (ppc_elf_get_synthetic_symtab): Examine stubs in
2184 reverse order. Account for larger size of __tls_get_addr_opt stub.
2185
a5721edd
JW
21862015-03-10 Yuri Gribov <y.gribov@samsung.arm>
2187
2188 PR ld/16572
2189 * elf32-arm.c (elf32_arm_final_link_relocate): Remove support for
2190 ELF_ARM_HASENTRY.
2191 (elf32_arm_print_private_bfd_data): Likewise.
2192
65164438
NC
21932015-03-06 Nick Clifton <nickc@redhat.com>
2194
2195 PR binutils/17765
2196 * elflink.c (put_value): Like previous delta, but for the 32-bit
2197 case.
2198
41cd1ad1
NC
21992015-03-05 Nick Clifton <nickc@redhat.com>
2200
2201 PR binutils/17765
2202 * elflink.c (put_value): Avoid using an undefined shift
2203 operation.
2204
ca3fe95e
L
22052015-03-05 H.J. Lu <hongjiu.lu@intel.com>
2206
2207 PR ld/pr15228
2208 PR ld/pr17709
2209 * elf-bfd.h (elf_backend_data): Add extern_protected_data.
2210 * elf32-i386.c (elf_backend_extern_protected_data): New.
2211 Defined to 1.
2212 * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
2213 * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't error on
2214 copy relocs against protected symbols if extern_protected_data
2215 is true.
2216 (_bfd_elf_symbol_refs_local_p): Don't return true on protected
2217 non-function symbols if extern_protected_data is true.
2218 * elfxx-target.h (elf_backend_extern_protected_data): New.
2219 Default to 0.
2220 (elfNN_bed): Initialize extern_protected_data with
2221 elf_backend_extern_protected_data.
2222
425bd9e1
NC
22232015-03-05 Nick Clifton <nickc@redhat.com>
2224
2225 PR binutils/18025
2226 * coffgen.c (coff_find_nearest_line_with_names): If the dwarf2
2227 lookup fails, check for an address bias in the dwarf info, and if
2228 one exists, retry the lookup with the biased value.
2229 * dwarf2.c (_bfd_dwarf2_find_symbol_bias): New function.
2230 Determines if a bias exists bewteen the addresses of functions
2231 based on DWARF information vs symbol table information.
2232 * libbfd-in.h (_bfd_dwarf2_find_symbol_bias): Prototype.
2233 * libbfd.h: Regenerate.
2234
8ef229f3
MS
22352015-03-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
2236
2237 * elfxx-aarch64.c (decode_add_imm, decode_movw_imm)
2238 (decode_tst_branch_ofs_14, decode_ld_lit_ofs_19)
2239 (decode_cond_branch_ofs_19, decode_branch_ofs_26): Remove.
2240
8e2fe09f
MS
22412015-03-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
2242
2243 * elfnn-aarch64.c (aarch64_build_one_stub): Call abort.
2244 (aarch64_size_one_stub): Likewise.
2245 (aarch64_map_one_stub): Likewise.
2246
df88b702
AA
22472015-03-04 Andreas Arnez <arnez@linux.vnet.ibm.com>
2248
2249 * cpu-s390.c (N): New macro.
2250 (bfd_s390_31_arch): New. Define only if default target word size
2251 is 64 bits. Otherwise define...
2252 (bfd_390_64_arch): ...this. Make static.
2253 (bfd_s390_arch): Define according to the default target word size.
2254 Let the 'next' field point to the alternate arch.
2255
e09ab7ac
RS
22562015-03-04 Richard Sandiford <richard.sandiford@arm.com>
2257
2258 PR gas/17843
2259 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Expect
2260 R_AARCH64_TLSLE_MOVW_TPREL_G0_NC and R_AARCH64_TLSLE_MOVW_TPREL_G1_NC
2261 to be used with MOVK rather than MOVZ.
2262
71eef2bd
DD
22632015-03-03 DJ Delorie <dj@redhat.com>
2264
2265 * elf32-rl78.c (rl78_elf_relax_section): Only relax ADDR16's if
2266 there's a symbol.
2267
f01f1741
AM
22682015-02-28 Alan Modra <amodra@gmail.com>
2269
2270 * elf32-ppc.c (ppc_elf_tls_setup): Set no_tls_get_addr_opt if
2271 not PLT_NEW.
2272
c1d11331
L
22732015-02-27 H.J. Lu <hongjiu.lu@intel.com>
2274
2275 * elf32-i386.c (need_convert_mov_to_lea): New.
2276 (elf_i386_check_relocs): Set need_convert_mov_to_lea if needed.
2277 (elf_i386_convert_mov_to_lea): Return TRUE if
2278 need_convert_mov_to_lea is unset.
2279 * elf64-x86-64.c (need_convert_mov_to_lea): New.
2280 (elf_x86_64_check_relocs): Set need_convert_mov_to_lea if needed.
2281 (elf_x86_64_convert_mov_to_lea): Return TRUE if
2282 need_convert_mov_to_lea is unset.
2283
cdb602b1
NC
22842015-02-27 Nick Clifton <nickc@redhat.com>
2285
2286 PR binutils/17910
2287 * coffgen.c (_bfd_coff_internal_syment_name): Only check for
2288 string length overflow when the string table length is actually
2289 set.
2290
96c20bc1
MS
22912015-02-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
2292
2293 * bfd/bfd-in2.h: Regenerate.
2294 * bfd/libbfd.h: Regenerate.
2295
1ada945d
MS
22962015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
2297
2298 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix
2299 TLSDESC_LD_PREL19 field width and masks.
2300 (aarch64_tls_transition_without_check)
2301 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
2302 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
2303 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
2304 BFD_RELOC_AARCH64_TLSDESC_LD_PREL19.
2305 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
2306 (_bfd_aarch64_elf_resolve_relocation): Likewise.
2307
389b8029
MS
23082015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
2309
73920eed
MS
2310 * elfnn-aarch64.c (IS_AARCH64_TLSDESC_RELOC): Reorder R_TYPE
2311 tests.
389b8029
MS
2312 (aarch64_tls_transition_without_check)
2313 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
2314 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
2315 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
2316 BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21.
2317 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
2318 (_bfd_aarch64_elf_resolve_relocation): Likewise.
2319 * reloc.c (BFD_RELOC_AARCH64_TLSGD_ADR_PREL21): Define.
2320
3c12b054
MS
23212015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
2322
2323 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC)
2324 (elfNN_aarch64_howto_table, aarch64_tls_transition_without_check)
2325 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
2326 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
2327 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
2328 BFD_RELOC_AARCH64_TLSGD_ADR_PREL21.
2329 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
2330 (_bfd_aarch64_elf_resolve_relocation): Likewise.
2331 * reloc.c (BFD_RELOC_AARCH64_TLSGD_ADR_PREL21): Define.
2332
043bf05a
MS
23332015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
2334
2335 * elfnn-aarch64.c: (TLSIE_LD_GOTTREL_PREL19): Fix HOWTO bit field width.
2336 (aarch64_tls_transition_without_check, aarch64_reloc_got_type)
2337 (elfNN_aarch64_final_link_relocate, elfNN_aarch64_tls_relax)
2338 (elfNN_aarch64_relocate_section, elfNN_aarch64_gc_sweep_hook)
2339 (elfNN_aarch64_check_relocs): Handle
2340 BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19.
2341
2342 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
2343 (_bfd_aarch64_elf_resolve_relocation): Likewise.
2344
7366006f
MS
23452015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
2346
2347 * elfnn-aarch64.c: (TLSDESC_CALL): Fix HOWTO bit field width.
2348
07875fbc
MS
23492015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
2350
2351 * elfnn-aarch64.c (TLSLE_MOVW_TPREL_G2)
2352 (TLSLE_MOVW_TPREL_G1, TLSLE_MOVW_TPREL_G1_NC)
2353 (TLSLE_MOVW_TPREL_G0, TLSLE_MOVW_TPREL_G0_NC): Fix bit field
2354 width.
2355
49d8f92c
MS
23562015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
2357
2358 * elfnn-aarch64.c: (TLSIE_MOVW_GOTTPREL_G0_NC): Fix HOWTO bit
2359 field width.
2360
c86934ce
NC
23612015-02-26 Nick Clifton <nickc@redhat.com>
2362
2363 PR binutils/17512
2364 * coffcode.h (coff_compute_section_file_positions): Report
2365 negative page sizes.
2366 * elf.c (elf_fake_sections): Handle excessive alignmment powers.
2367 (assign_file_positions_for_non_load_sections): Replace assertion
2368 with an error message.
2369 (rewrite_elf_program_header): Handle excessive segment
2370 alignments.
2371 * mach-o.c (bfd_mach_o_read_section_32): Likewise.
2372 (bfd_mach_o_read_section_64): Likewise.
2373 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Use %B to
2374 print a bfd name, not %A.
2375
bd4d2eaa
AM
23762015-02-26 Alan Modra <amodra@gmail.com>
2377
2378 * elf64-ppc.c (plt_stub_size, build_plt_stub): Don't build
2379 thread-safe stubs for iplt.
2380 (build_tls_get_addr_stub): Restore r2 immediately after call.
2381
99654aaf
TG
23822015-02-26 Terry Guo <terry.guo@arm.com>
2383
2384 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Update how we
2385 merge Tag_ABI_HardFP_use.
2386
a127494f
AM
23872015-02-26 Alan Modra <amodra@gmail.com>
2388
2389 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Heed -z nocopyreloc.
2390 Use text relocs rather than giving an error on trying to use
2391 .dynbss for protected shared lib vars.
2392 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
2393
bac13f5a
AB
23942015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
2395
2396 * elf32-avr.c (struct elf_avr_section_data): New structure.
2397 (struct avr_relax_info): New structure.
2398 (elf_avr_new_section_hook): New function.
2399 (struct elf_avr_section_data): Add relax_info.
2400 (get_avr_relax_info): New function.
2401 (init_avr_relax_info): New function.
2402 (elf32_avr_relax_delete_bytes): Find next property record before
2403 deleting bytes. When deleting don't move bytes beyond the next
2404 property record.
2405 (avr_elf32_assign_records_to_section): New function.
2406 (avr_property_record_compare): New function.
2407 (avr_load_all_property_sections): New function.
2408 (elf32_avr_relax_section): Load property data. After relaxing the
2409 section, move any .align directives that have enough deleted bytes
2410 before them.
2411 (bfd_elf32_new_section_hook): Define.
2412
137c83d6
AB
24132015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
2414
2415 * elf32-avr.h (struct avr_property_header): New strucure.
2416 (avr_elf32_load_property_records): Declare.
2417 (avr_elf32_property_record_name): Declare.
2418 * elf32-avr.c: Add bfd_stdint.h include.
2419 (retrieve_local_syms): New function.
2420 (get_elf_r_symndx_section): New function.
2421 (get_elf_r_symndx_offset): New function.
2422 (internal_reloc_compare): New function.
2423 (struct avr_find_section_data): New structure.
2424 (avr_is_section_for_address): New function.
2425 (avr_find_section_for_address): New function.
2426 (avr_elf32_load_records_from_section): New function.
2427 (avr_elf32_load_property_records): New function.
2428 (avr_elf32_property_record_name): New function.
2429
fdd410ac
AB
24302015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
2431
2432 * elf32-avr.h (AVR_PROPERTY_RECORD_SECTION_NAME): Define.
2433 (AVR_PROPERTY_RECORDS_VERSION): Define.
2434 (AVR_PROPERTY_SECTION_HEADER_SIZE): Define.
2435 (struct avr_property_record): New structure.
2436
685080f2
NC
24372015-02-24 Nick Clifton <nickc@redhat.com>
2438
2439 * elf32-v850.c (v850_set_note): New function. Creates a Renesas
2440 style note entry.
2441 (v850_elf_make_note_section): New function. Creates a note
2442 section.
2443 (v850_elf_create_sections): New function. Create a note section
2444 if one is not already present.
2445 (v850_elf_set_note): New function. Adds a note to a bfd.
2446 (v850_elf_copy_private_bfd_data): New function. Copies V850
2447 notes.
2448 (v850_elf_merge_notes): New function. Merges V850 notes.
2449 (print_v850_note): New function. Displays a V850 note.
2450 (v850_elf_print_notes): New function. Displays all notes attached
2451 to a bfd.
2452 (v850_elf_merge_private_bfd_data): Call v850_elf_merge_notes.
2453 (v850_elf_print_private_bfd_data): Call v850_elf_print_notes.
2454 (v850_elf_fake_sections): Set the type of the V850 note section.
2455 * bfd-in.h (v850_elf_create_sections): Add prototype.
2456 (v850_elf_set_note): Add prototype.
2457 * bfd-in2.h: Regenerate.
2458
31593e1b
NC
24592015-02-24 Nick Clifton <nickc@redhat.com>
2460
2461 * configure.ac (AC_CHECK_HEADERS): Add wctype.h.
2462 * configure: Regenerate.
2463 * config.in: Regenerate.
2464 * peXXigen.c: Include wctype.h if HAVE_WCTYPE_H is defined.
2465 (u16_mbtowc): Use wint_t types if HAVE_WCTYPE_H is defined.
2466 (rsrc_cmp): Use towlower instead of wcsncasecmp if HAVE_WCTYPE_H
2467 is defined.
2468
3ad797fd
NC
24692015-02-24 Nick Clifton <nickc@redhat.com>
2470
2471 * pdp11.c (set_section_contents): Pad the .text and .data sections
2472 to their aligned sizes.
2473
5518c738
YS
24742015-02-23 Yoshinori Sato <ysato@users.sourceforge.jp>
2475
2476 * config.bfd: Add h8300-*-linux.
2477 * configure.ac: Add h8300_elf32_linux_vec.
2478 * configure: Regenerate.
2479 * elf32-h8300.c: Likewise.
2480 * targets.c(_bfd_target_vector): Likewise.
2481
cb967f0d
NC
24822015-02-23 Nick Clifton <nickc@redhat.com>
2483
2484 PR 17914
2485 * cpu-w65.c: Correct typos in license notice.
2486
0f8f0c57
NC
2487 PR 17940
2488 * elf32-msp430.c (msp430_elf_relax_delete_bytes): Adjust debug
2489 symbols at end of sections. Adjust function sizes.
2490
4ef9f41a
AA
24912015-02-20 Andreas Arnez <arnez@linux.vnet.ibm.com>
2492
2493 * elf-bfd.h (elfcore_write_s390_vxrs_low): Add prototype.
2494 (elfcore_write_s390_vxrs_high): Likewise.
2495 * elf.c (elfcore_grok_s390_vxrs_low): New function.
2496 (elfcore_grok_s390_vxrs_high): New function.
2497 (elfcore_grok_note): Call them.
2498 (elfcore_write_s390_vxrs_low): New function.
2499 (elfcore_write_s390_vxrs_high): New function.
2500 (elfcore_write_register_note): Call them.
2501
837914ee
BD
25022015-02-19 Branko Drevensek <branko.drevensek@gmail.com>
2503
2504 PR 17995
2505 * verilog.c (verilog_write_record): Correct buffer size.
2506
cf18fda4
AM
25072015-02-19 Alan Modra <amodra@gmail.com>
2508
2509 * elflink.c (_bfd_elf_define_linkage_sym): Set 'bed' earlier.
2510
d983c8c5
AM
25112015-02-19 Alan Modra <amodra@gmail.com>
2512
2513 PR ld/4317
2514 * elflink.c (elf_link_input_bfd): Drop undefined local syms.
2515 (elf_link_output_extsym): Drop local and global undefined syms.
2516 Tidy. Expand comment.
2517
2ec55de3
AM
25182015-02-17 Alan Modra <amodra@gmail.com>
2519
2520 PR ld/17975
2521 * elflink.c (struct elf_outext_info): Remove need_second_pass
2522 and second_pass.
2523 (elf_link_output_extsym): Delete code handling second forced
2524 local pass. Move code emitting NULL STT_FILE symbol later, so
2525 that it can be omitted if forced local is stripped. Don't
2526 emit the NULL STT_FILE if no file symbols have been output.
2527 (bfd_elf_final_link): Remove second forced local pass.
2528 * elf32-ppc.c (add_stub_sym): Set linker_def on linker syms.
2529 (ppc_elf_size_dynamic_sections): Likewise.
2530 * elf64-ppc.c (ppc_build_one_stub): Likewise.
2531 (build_global_entry_stubs): Likewise.
2532 (ppc64_elf_build_stubs): Likewise.
2533
6dfb72b9
L
25342015-02-16 H.J. Lu <hongjiu.lu@intel.com>
2535
2536 PR ld/17975
2537 * elflink.c (elf_link_output_extsym): Only check filesym_count
2538 when outputting a NULL FILE symbol. Set second_pass_sym to
2539 h->forced_local && !h->root.linker_def.
2540
576fa883
L
25412015-02-15 H.J. Lu <hongjiu.lu@intel.com>
2542
2543 * elf32-i386.c (elf_i386_always_size_sections): Set root.linker_def
2544 on _TLS_MODULE_BASE_.
2545 * elf64-x86-64.c (elf_x86_64_always_size_sections): Likewise.
2546
62f8d217
AM
25472015-02-15 Alan Modra <amodra@gmail.com>
2548
2549 * dwarf2.c (read_rangelist): Correct buffer overflow check
2550 Whitespace throughout file.
2551
ce875075
AM
25522015-02-14 Alan Modra <amodra@gmail.com>
2553
2554 PR ld/17973
2555 * bfd.c (struct bfd): Add lto_output.
2556 * linker.c (_bfd_handle_already_linked): Explicitly test for
2557 objects added by the lto plugin.
2558 * opncls.c (_bfd_new_bfd_contained_in): Copy lto_output and
2559 no_export flags from archive.
2560 * archive.c (open_nested_file): New function, setting lto_output
2561 and no_export, extracted from..
2562 (find_nested_archive): ..here. Flip params. Rename from
2563 _bfd_find_nested_archive.
2564 (_bfd_get_elt_at_filepos): Correct var typo. Use open_nested_file.
2565 (_bfd_look_for_bfd_in_cache): Copy no_export.
2566 * elflink.c (elf_link_add_object_symbols): Remove now unnecessary
2567 my_archive->no_export test.
2568 (elf_link_input_bfd): Drop existing lto_output STT_FILE syms.
2569 Don't use the file name when adding lto_output STT_FILE sym.
2570 * bfd-in2.h: Regenerate.
2571
451dfd38
AM
25722015-02-13 Alan Modra <amodra@gmail.com>
2573
2574 PR binutils/17512
2575 * elf64-ppc.c (opd_entry_value): Tighten offset check. Remove
2576 now redundant assert.
2577
dbb3fbbb
NC
25782015-02-12 Nick Clifton <nickc@redhat.com>
2579
2580 PR binutils/17512
2581 * dwarf.c (read_1_byte, read_1_signed_byte, read_2_bytes)
2582 (read_4_bytes, read_8_bytes, read_n_bytes, read_string)
2583 (read_indirect_string, read_alt_indirect_string)
2584 (read_alt_indirect_ref, read_address, read_abbrevs)
2585 (read_attribute_value, read_attribute, decode_line_info)
2586 (find_abstract_instance_name, read_rangelist)
2587 (scan_unit_for_symbols, parse_comp_unit)
2588 (_bfd_dwarf2_find_nearest_line): Harden DWARF reading code. Pass
2589 end pointers to reading functions and check for offsets taking
2590 pointers out of range. Replace calls to read_*_leb128 with calls
2591 to safe_read_leb128.
2592
2593 (* elf64-ppc.c (opd_entry_value): Add a check for an overlarge
2594 offset.
2595 * syms.c (_bfd_stab_section_find_nearest_line): Add checks for
2596 computed file_name address being before the start of the string
2597 table.
2598
b9dc5a87
L
25992015-02-11 H.J. Lu <hongjiu.lu@intel.com>
2600
2601 PR ld/17878
2602 * bfd.c (bfd_plugin_format): New.
2603 (bfd): Add plugin_format and plugin_dummy_bfd.
2604 * plugin.c (try_load_plugin): Take a pointer to bfd_boolean
2605 argument to return TRUE if any plugin is found. Set plugin_format.
2606 (has_plugin): New.
2607 (bfd_plugin_target_p): New.
2608 (bfd_plugin_specified_p): Likewise.
2609 (bfd_plugin_target_p): Likewise.
2610 (register_ld_plugin_object_p): Likewise.
2611 (bfd_plugin_set_plugin): Set has_plugin.
2612 (load_plugin): Cache try_load_plugin result.
2613 (bfd_plugin_object_p): Try ld_plugin_object_p first. Check
2614 plugin_format.
2615 * plugin.h (bfd_plugin_target_p): New.
2616 (bfd_plugin_specified_p): Likewise.
2617 (register_ld_plugin_object_p): Likewise.
2618 * bfd-in2.h: Regenerated.
2619
55172d69
PA
26202015-02-11 Pedro Alves <palves@redhat.com>
2621
2622 * libbfd-in.h [__cplusplus]: Open extern "C" scope.
2623 * libcoff-in.h [__cplusplus]: Open extern "C" scope.
2624 * libbfd.h: Regenerate.
2625 * libcoff.h: Regenerate.
2626
2627 * elf-bfd.h [__cplusplus]: Wrap in extern "C".
2628 * mach-o.h [__cplusplus]: Wrap in extern "C".
2629 * som.h [__cplusplus]: Wrap in extern "C".
2630
77ef8654
NC
26312015-02-10 Nick Clifton <nickc@redhat.com>
2632
2633 PR binutils/17512
2634 * coffcode.h (styp_to_sec_flags): Use an unsigned long type to
2635 hold the flag bits.
2636 * peXXigen.c (pe_print_reloc): Use unsigned types to hold the
2637 size and number of relocs.
2638 (pe_print_debugdata): Use a 32-bit aligned buffer to store the
2639 codeview record.
2640 * versados.c (process_otr): Check the esdid value before using it
2641 to access the EDATA.
2642
35181b3e
EM
26432015-02-09 Ed Maste <emaste@freebsd.org>
2644
2645 * elf32-i386.c (elf_i386_get_plt_sym_val): Avoid incrementing
2646 uninitialized and unused variable.
2647 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
2648
989f9879
AM
26492015-02-09 Alan Modra <amodra@gmail.com>
2650
2651 * elf32-ppc.c (ppc_elf_relocate_section): Don't segfault on NULL
2652 tls_sec.
2653 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
2654 * elflink.c (elf_link_output_extsym): Don't assert on NULL tls_sec.
2655
ca4be51c
AM
26562015-02-09 Alan Modra <amodra@gmail.com>
2657
2658 * elflink.c: Whitespace, formatting fixes.
2659 (elf_link_input_bfd): Clarify comment.
2660 (elf_link_output_extsym): Exclude symbols in linker created
2661 sections when testing for plugin symbols.
2662
1952c5cd
L
26632015-02-07 H.J. Lu <hongjiu.lu@intel.com>
2664
2665 PR ld/17935
2666 * elf32-i386.c (elf_i386_readonly_dynrelocs): Also issue a
2667 warning for relocation in readonly section for -z text.
2668 (elf_i386_size_dynamic_sections): Likewise.
2669 * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
2670 (elf_x86_64_size_dynamic_sections): Likewise.
2671
9e2dec47
L
26722015-02-06 H.J. Lu <hongjiu.lu@intel.com>
2673
2674 PR ld/12365
2675 PR ld/14272
2676 * elflink.c (_bfd_elf_fix_symbol_flags): Revert the last change.
2677 (elf_link_input_bfd): Mark the plugin symbol undefined if it is
2678 referenced from a non-IR file.
2679
5929c344
NC
26802015-02-06 Nick Clifton <nickc@redhat.com>
2681
2682 PR binutils/17512
2683 * peXXigen.c (rsrc_print_resource_entries): Add range check for
2684 addresses that wrap around the address space.
2685 (rsrc_parse_entry): Likewise.
2686
60f79275
L
26872015-02-03 H.J. Lu <hongjiu.lu@intel.com>
2688
2689 PR ld/12365
2690 PR ld/14272
2691 * elflink.c (_bfd_elf_fix_symbol_flags): Mark the plugin symbol
2692 undefined if it is referenced from a non-IR file.
2693
64d29018
NC
26942015-02-03 Nick Clifton <nickc@redhat.com>
2695
2696 PR binutils/17512
2697 * ecoff.c: Use bfd_alloc2 to allocate space for structure arrays.
2698 (_bfd_ecoff_slurp_symbol_table): Check for a negative symbol
2699 index or an out of range fdr index.
2700 * elf-m10300.c (mn10300_info_to_howto): Fix typo in error message.
2701 * elf32-arc.c (arc_info_to_howto_rel): Likewise.
2702 * elf32-avr.c (avr_info_to_howto_rela): Likewise.
2703 * elf32-cr16.c (elf_cr16_info_to_howto): Likewise.
2704 * elf32-cr16c.c (elf_cr16c_info_to_howto_rel): Likewise.
2705 * elf32-cris.c (cris_info_to_howto_rela): Likewise.
2706 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
2707 * elf32-d10v.c (d10v_info_to_howto_rel): Likewise.
2708 * elf32-d30v.c (d30v_info_to_howto_rel): Likewise.
2709 * elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise.
2710 * elf32-fr30.c (fr30_info_to_howto_rela): Likewise.
2711 * elf32-frv.c (frv_info_to_howto_rela): Likewise.
2712 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
2713 * elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise.
2714 * elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise.
2715 * elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise.
2716 * elf32-lm32.c (lm32_info_to_howto_rela): Likewise.
2717 * elf32-m32c.c (m32c_info_to_howto_rela): Likewise.
2718 * elf32-m32r.c (m32r_info_to_howto_rel): Likewise.
2719 * elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise.
2720 * elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise.
2721 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
2722 * elf32-mep.c (mep_info_to_howto_rela): Likewise.
2723 * elf32-metag.c (metag_info_to_howto_rela): Likewise.
2724 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
2725 * elf32-moxie.c (moxie_info_to_howto_rela): Likewise.
2726 * elf32-msp430.c (msp430_info_to_howto_rela): Likewise.
2727 * elf32-mt.c (mt_info_to_howto_rela): Likewise.
2728 * elf32-nds32.c (nds32_info_to_howto_rel): Likewise.
2729 * elf32-or1k.c (or1k_info_to_howto_rela): Likewise.
2730 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
2731 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
2732 * elf32-rl78.c (rl78_info_to_howto_rela): Likewise.
2733 * elf32-rx.c (rx_info_to_howto_rela): Likewise.
2734 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
2735 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
2736 * elf32-v850.c (v850_elf_perform_relocation): Likewise.
2737 * elf32-vax.c (rtype_to_howto): Likewise.
2738 * elf32-visium.c (visium_info_to_howto_rela): Likewise.
2739 * elf32-xgate.c (xgate_info_to_howto_rel): Likewise.
2740 * elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise.
2741 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
2742 * elf64-mmix.c (mmix_info_to_howto_rela): Likewise.
2743 * mach-o.c: Use bfd_alloc2 to allocate space for structure arrays.
2744 (bfd_mach_o_canonicalize_one_reloc): Fix check on out
2745 of range symbol indicies.
2746 (bfd_mach_o_canonicalize_relocs): Check for out of range alloc.
2747 (bfd_mach_o_canonicalize_dynamic_reloc): Likewise.
2748 (bfd_mach_o_build_dysymtab): Likewise.
2749 (bfd_mach_o_write_symtab_content): Set the string table size to
2750 zero upon error.
2751 (bfd_mach_o_read_symtab_symbols): Reset the nsyms value if the
2752 read fails.
2753 * peXXigen.c (pe_print_edata): Check for numeric overflow in edt
2754 fields.
2755 * tekhex.c (first_phase): Check for src pointer reaching end of
2756 buffer.
2757
3a635617
WN
27582015-02-03 Will Newton <will.newton@linaro.org>
2759
46b87d49
WN
2760 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol):
2761 Set st_value to zero for undefined symbols if the reference
2762 is weak or pointer_equality_needed is FALSE.
2763
3a635617
WN
2764 * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Improve
2765 comment discussing why we clear st_value for some symbols.
2766
0c4bd9d9
KLC
27672015-02-02 Kuan-Lin Chen <kuanlinchentw@gmail.com>
2768
2769 * elf32-nds32.c (nds32_get_section_contents): Add one more argument.
2770 (nds32_elf_relocate_section): Do not relocate R_NDS32_LONGJUMP7.
2771
b86ac8e3
AM
27722015-01-29 Alan Modra <amodra@gmail.com>
2773
2774 * elf64-ppc.c (ppc64_elf_relocate_section): Correct GOT_TLSLD
2775 optimization. Tidy mask for GOT_TLSGD optimization.
2776 * elf32-ppc.c (ppc_elf_relocate_section): Likewise. Correct
2777 location of nop zapping high insn too.
2778
dbd1e97e
AM
27792015-01-28 Alan Modra <amodra@gmail.com>
2780
2781 * elf64-ppc.h (struct ppc64_elf_params): Add "object_in_toc".
2782 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Assume that global symbols
2783 in .toc indicate xlc compiled code that might require a rw .toc.
2784
3f8107ab
AM
27852015-01-28 James Bowman <james.bowman@ftdichip.com>
2786
2787 * Makefile.am: Add FT32 files.
2788 * archures.c (enum bfd_architecture): Add bfd_arch_ft32.
2789 (bfd_mach_ft32): Define.
2790 (bfd_ft32_arch): Declare.
2791 (bfd_archures_list): Add bfd_ft32_arch.
2792 * config.bfd: Handle FT32.
2793 * configure.ac: Likewise.
2794 * cpu-ft32.c: New file.
2795 * elf32-ft32.c: New file.
2796 * reloc.c (BFD_RELOC_FT32_10, BFD_RELOC_FT32_20, BFD_RELOC_FT32_17,
2797 BFD_RELOC_FT32_18): Define.
2798 * targets.c (_bfd_target_vector): Add ft32_elf32_vec.
2799 * bfd-in2.h: Regenerate.
2800 * libbfd.h: Regenerate.
2801 * Makefile.in: Regenerate.
2802 * configure: Regenerate.
2803 * po/SRC-POTFILES.in: Regenerate.
2804
37e3922e
NC
28052015-01-27 Nick Clifton <nickc@redhat.com>
2806
2807 PR binutils/17512
2808 * pdp11.c (aout_get_external_symbols): Return false if there are
2809 no symbols.
2810
877a8638
NC
2811 * dwarf2.c (concat_filename): Check for an empty directory table.
2812 (scan_unit_for_symbols): Check for reading off the end of the
2813 unit.
2814 (parse_comp_unit): Check for a DW_AT_comp_dir attribute with a
2815 non-string form.
2816 * elf64-ppc.c (opd_entry_value): Fail if there are no relocs
2817 available.
2818
18393a2e
KLC
28192015-01-26 Kuan-Lin Chen <kuanlinchentw@gmail.com>
2820
2821 * elf32-nds32.c (nds32_elf_pick_relax): Fix again setting.
2822
055173ca
DD
28232015-01-22 DJ Delorie <dj@redhat.com>
2824
2825 * elf32-m32c.c (m32c_apply_reloc_24): New.
2826 (m32c_elf_howto_table): Use it for R_M32C_24.
2827 (m32c_elf_relocate_section): Handle R_M32C_24 specially.
2828
4e5cb37e
NC
28292015-01-22 Nick Clifton <nickc@redhat.com>
2830
2831 PR binutils/17512
2832 * coffcode.h (handle_COMDAT): When searching for the section
2833 symbol, make sure that there is space left in the symbol table.
2834 * vms-alpha.c (_bfd_vms_slurp_ehdr): Add range checks.
2835
86eafac0
NC
28362015-01-21 Nick Clifton <nickc@redhat.com>
2837
2838 PR binutils/17512
2839 * coffcode.h (coff_set_arch_mach_hook): Check return value from
2840 bfd_malloc.
2841 (coff_slurp_line_table): Return FALSE if the line number
2842 information was corrupt.
2843 (coff_slurp_symbol_table): Return FALSE if the symbol information
2844 was corrupt.
2845 * mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Always
2846 initialise the fields of the dyld_info structure.
2847 (bfd_mach_o_build_exec_seg_command): Replace assertion with an
2848 error message and a return value.
2849 (bfd_mach_o_layout_commands): Change the function to boolean.
2850 Return FALSE if the function fails.
2851 (bfd_mach_o_build_commands): Fail if bfd_mach_o_layout_commands
2852 fails.
2853 (bfd_mach_o_read_command): Fail if an unrecognised command is
2854 encountered.
2855 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Set bfd_error if the
2856 read fails.
2857 (slurp_symtab): Check the return from bfd_malloc.
2858 (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if the copy
2859 encountered an error.
2860 (_bfd_XXi_final_link_postscript): Fail if a section could not be
2861 copied.
2862 * peicode.h (pe_bfd_object_p): Fail if the header could not be
2863 swapped in.
2864 * tekhex.c (first_phase): Fail if the section is too big.
2865 * versados.c (struct esdid): Add content_size field.
2866 (process_otr): Use and check the new field.
2867 (versados_get_section_contents): Check that the section exists and
2868 that the requested data is available.
2869
03d5b773
CLT
28702015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
2871
2872 * elf32-nios2.c (elf_backend_default_execstack): Define as 0.
2873
1c9177d9
AM
28742015-01-20 Alan Modra <amodra@gmail.com>
2875
2876 PR ld/17615
2877 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Don't drop
2878 ELF_COMMON_DEF syms.
2879
c4621b33
AM
28802015-01-19 Alan Modra <amodra@gmail.com>
2881
3e2aa5bb 2882 PR ld/17615
c4621b33
AM
2883 * elf-bfd.h (ELF_COMMON_DEF_P): Note that this might be true for
2884 linker script assignments too.
2885 * elflink.c (elf_gc_sweep_symbol): Don't drop ELF_COMMON_DEF syms.
2886 (bfd_elf_gc_mark_dynamic_ref_symbol): Similarly.
2887
0ba38529
AM
28882015-01-19 Alan Modra <amodra@gmail.com>
2889
2890 * elf32-bfin.c (bfin_bfd_reloc_type_lookup): Correct loop iteration
2891 to allow return of first howto.
2892 * elf32-fr30.c (fr30_reloc_type_lookup): Likewise.
2893 * elf32-m32c.c (m32c_reloc_type_lookup): Likewise.
2894 * elf32-moxie.c (moxie_reloc_type_lookup): Likewise.
2895 * elf32-or1k.c (or1k_reloc_type_lookup): Likewise.
2896 * elf32-rl78.c (rl78_reloc_type_lookup): Likewise.
2897 * elf32-rx.c (rx_reloc_type_lookup): Likewise.
2898 * elf32-tilepro.c (tilepro_reloc_type_lookup): Likewise.
2899 * elf32-xstormy16.c (xstormy16_reloc_type_lookup): Likewise.
2900 * elfxx-tilegx.c (tilegx_reloc_type_lookup): Likewise.
2901 * elf32-nios2.c (nios2_reloc_map): Add mapping for R_NIOS2_NONE.
2902 * elf32-spu.c (spu_elf_bfd_to_reloc_type): Allow return of R_SPU_NONE.
2903 (spu_elf_reloc_type_lookup): Adjust to suit.
2904
6346d5ca
AM
29052015-01-19 Alan Modra <amodra@gmail.com>
2906
2907 * bfd-in.h (bfd_get_section_limit_octets): New define, extracted from..
2908 (bfd_get_section_limit): ..here.
2909 * reloc.c (bfd_perform_relocation): Correct bfd_reloc_outofrange check.
2910 (bfd_install_relocation, _bfd_final_link_relocate): Add same check here.
2911 * elf32-sh.c (sh_elf_reloc): Correct bfd_reloc_outofrange check.
2912 * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Remove duplicated
2913 bfd_reloc_outofrange check.
2914 * bfd-in2.h: Regenerate.
2915
2916 * cpu-ns32k.c (_bfd_do_ns32k_reloc_contents): Return bfd_reloc_ok
2917 on zero size relocs.
2918 * ecoff.c (ecoff_reloc_link_order): Likewise.
2919 * elf32-nds32.c (nds32_relocate_contents): Likewise.
2920 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
2921
2922 * reloc.c (_bfd_relocate_contents): Don't bomb on zero size relocs.
2923 (_bfd_clear_contents): Likewise.
2924 * elfxx-mips.c (mips_elf_obtain_contents): Likewise.
2925 (mips_elf_perform_relocation): Likewise.
2926
2927 * aoutx.h (aout_link_reloc_link_order): Allow for NULL return
2928 from malloc on zero size alloc.
2929 * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
2930 * elflink.c (elf_reloc_link_order): Likewise.
2931 * linker.c (_bfd_generic_reloc_link_order): Likewise.
2932 * pdp11.c (aout_link_reloc_link_order): Likewise.
2933 * xcofflink.c (xcoff_reloc_link_order): Likewise.
2934
2935 * aoutx.h (howto_table_ext): Ensure NONE relocs have size 3,
2936 bitsize 0, and complain_overflow_dont.
2937 * coff-sparc.c (coff_sparc_howto_table): Likewise.
2938 * elf-hppa.h (elf_hppa_howto_table): Likewise.
2939 * elf-m10200.c (elf_mn10200_howto_table): Likewise.
2940 * elf-m10300.c (elf_mn10300_howto_table): Likewise.
2941 * elf32-arc.c (elf_arc_howto_table): Likewise.
2942 * elf32-arm.c (elf32_arm_howto_table_1): Likewise.
2943 * elf32-avr.c (elf_avr_howto_table): Likewise.
2944 * elf32-bfin.c (bfin_howto_table): Likewise.
2945 * elf32-cr16.c (cr16_elf_howto_table): Likewise.
2946 * elf32-cris.c (cris_elf_howto_table): Likewise.
2947 * elf32-crx.c (crx_elf_howto_table): Likewise.
2948 * elf32-d10v.c (elf_d10v_howto_table): Likewise.
2949 * elf32-d30v.c (elf_d30v_howto_table): Likewise.
2950 * elf32-dlx.c (dlx_elf_howto_table): Likewise.
2951 * elf32-epiphany.c (epiphany_elf_howto_table): Likewise.
2952 * elf32-fr30.c (fr30_elf_howto_table): Likewise.
2953 * elf32-frv.c (elf32_frv_howto_table): Likewise.
2954 * elf32-h8300.c (h8_elf_howto_table): Likewise.
2955 * elf32-i370.c (i370_elf_howto_raw): Likewise.
2956 * elf32-i386.c (elf_howto_table): Likewise.
2957 * elf32-i860.c (elf32_i860_howto_table): Likewise.
2958 * elf32-i960.c (elf32_i960_relocate): Likewise.
2959 * elf32-ip2k.c (ip2k_elf_howto_table): Likewise.
2960 * elf32-iq2000.c (iq2000_elf_howto_table): Likewise.
2961 * elf32-lm32.c (lm32_elf_howto_table): Likewise.
2962 * elf32-m32c.c (m32c_elf_howto_table): Likewise.
2963 * elf32-m32r.c (m32r_elf_howto_table): Likewise.
2964 * elf32-m68hc11.c (elf_m68hc11_howto_table): Likewise.
2965 * elf32-m68hc12.c (elf_m68hc11_howto_table): Likewise.
2966 * elf32-m68k.c (howto_table): Likewise.
2967 * elf32-mcore.c (mcore_elf_howto_raw): Likewise.
2968 * elf32-mep.c (mep_elf_howto_table): Likewise.
2969 * elf32-metag.c (elf_metag_howto_table): Likewise.
2970 * elf32-microblaze.c (microblaze_elf_howto_raw): Likewise.
2971 * elf32-mips.c (elf_mips_howto_table_rel): Likewise.
2972 * elf32-moxie.c (moxie_elf_howto_table): Likewise.
2973 * elf32-msp430.c (elf_msp430_howto_table): Likewise.
2974 * elf32-mt.c (mt_elf_howto_table): Likewise.
2975 * elf32-nds32.c (nds32_elf_howto_table): Likewise.
2976 * elf32-nios2.c (elf_nios2_howto_table_rel): Likewise.
2977 * elf32-or1k.c (or1k_elf_howto_table): Likewise.
2978 * elf32-pj.c (pj_elf_howto_table): Likewise.
2979 * elf32-ppc.c (ppc_elf_howto_raw): Likewise.
2980 * elf32-rl78.c (rl78_elf_howto_table): Likewise.
2981 * elf32-rx.c (rx_elf_howto_table): Likewise.
2982 * elf32-s390.c (elf_howto_table): Likewise.
2983 * elf32-score.c (elf32_score_howto_table): Likewise.
2984 * elf32-score7.c (elf32_score_howto_table): Likewise.
2985 * elf32-sh-relocs.h (R_SH_NONE): Likewise.
2986 * elf32-spu.c (elf_howto_table): Likewise.
2987 * elf32-tic6x.c (elf32_tic6x_howto_table): Likewise.
2988 * elf32-tilepro.c (tilepro_elf_howto_table): Likewise.
2989 * elf32-v850.c (v850_elf_howto_table): Likewise.
2990 * elf32-vax.c (howto_table): Likewise.
2991 * elf32-visium.c (visium_elf_howto_table): Likewise.
2992 * elf32-xc16x.c (xc16x_elf_howto_table): Likewise.
2993 * elf32-xgate.c (elf_xgate_howto_table): Likewise.
2994 * elf32-xstormy16.c (xstormy16_elf_howto_table): Likewise.
2995 * elf32-xtensa.c (elf_howto_table): Likewise.
2996 * elf64-alpha.c (elf64_alpha_howto_table): Likewise.
2997 * elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
2998 * elf64-mmix.c (elf_mmix_howto_table): Likewise.
2999 * elf64-ppc.c (ppc64_elf_howto_raw): Likewise.
3000 * elf64-s390.c (elf_howto_table): Likewise.
3001 * elf64-sh64.c (sh_elf64_howto_table): Likewise.
3002 * elf64-x86-64.c (x86_64_elf_howto_table): Likewise.
3003 * elfn32-mips.c (elf_mips_howto_table_rel): Likewise.
3004 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
3005 (elfNN_aarch64_howto_none): Likewise.
3006 * elfxx-ia64.c (ia64_howto_table): Likewise.
3007 * elfxx-sparc.c (_bfd_sparc_elf_howto_table): Likewise.
3008 * elfxx-tilegx.c (tilegx_elf_howto_table): Likewise.
3009 * nlm32-sparc.c (nlm32_sparc_howto_table): Likewise.
3010
6333bc0d
L
30112015-01-15 H.J. Lu <hongjiu.lu@intel.com>
3012
3013 PR ld/17847
3014 * elf64-x86-64.c (elf_x86_64_relocate_section): Don't complain
3015 about -fPIC if the symbol is undefined when building executable.
3016
cd21f5da
NC
30172015-01-15 Nick Clifton <nickc@redhat.com>
3018
3019 PR binutils/17512
3020 * elf-m10300.c (mn10300_info_to_howto): Replace assertion with an
3021 error message. Never return an invalid howto pointer.
3022 * elf32-cr16.c (cr16_info_to_howto): Likewise.
3023 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
3024 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
3025 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
3026 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
3027 * elf32-mips.c (mips_elf32_rtype_to_howto): Likewise.
3028 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
3029 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
3030 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
3031 * elf32-v850.c (v850_elf_info_to_howto_rela): Likewise.
3032 * elf32-vax.c (rtype_to_howto): Likewise.
3033 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
3034 * elf64-mips.c (mips_elf64_rtype_to_howto): Likewise.
3035 * elfn32-mips.c (sh_elf_info_to_howto): Likewise.
3036 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
3037 (sh_elf_reloc): Check that the reloc is in range.
3038 * reloc.c (bfd_perform_relocation): Check that the section is big
3039 enough for the entire reloc.
3040 (bfd_generic_get_relocated_section_contents): Report unexpected
3041 return values from perform_reloc.
3042
2d071cfc
NC
30432015-01-15 Nick Clifton <nickc@redhat.com>
3044
3045 * elf32-msp430.c (msp430_elf_relax_section): Skip unhandled
3046 relocs. Include PC-relative adjustment for R_MSP430X_ABS16
3047 relaxation.
3048
ca55926c
AM
30492015-01-15 Alan Modra <amodra@gmail.com>
3050
3051 * elflink.c (_bfd_elf_link_omit_section_dynsym): Return true for
3052 any output section matching a linker created dynobj section.
3053
8539e4e8
AM
30542015-01-15 Alan Modra <amodra@gmail.com>
3055
3056 PR 17842
3057 * elflink.c (elf_link_output_sym): Assert elf_onesymtab set.
3058 (bfd_elf_final_link): Always create a symbol table when emit_relocs.
3059 Don't assign symtab file position unless symbols will be output.
3060 Merge blocks with condition in common. Don't call
3061 elf_backend_output_arch_local_syms or elf_backend_output_arch_syms
3062 unless other symbols are output. Move assignment of symtab_shndx
3063 file position. Localize variable.
3064
52db4ec2
JW
30652015-01-14 Jiong Wang <jiong.wang@arm.com>
3066
3067 * elf32-arm.c (elf32_arm_final_link_relocate): Reject R_ARM_32/_NOI when
3068 trying to defer them to runtime.
3069
0941db69
JW
30702015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
3071
3072 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use SYMBOLIC_BIND
3073 to check if a symbol should be bound symbolically.
3074
0172429c
JW
30752015-01-13 Jiong Wang <jiong.wang@arm.com>
3076
3077 * elfnn-aarch64.c: (elfNN_aarch64_howto_table): Enable overflow check
3078 for TLSLE_MOVW_TPREL_G2.
3079
bab91cce
JW
30802015-01-13 Jiong Wang <jiong.wang@arm.com>
3081
3082 PR ld/17415
3083 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Mark
3084 R_AARCH64_TLSLE_ADD_TPREL_HI12 as complain_overflow_unsigned.
3085 * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Correct the
3086 bit mask.
3087
3c758495
TG
30882015-01-12 Terry Guo <terry.guo@arm.com>
3089
3090 * elflink.c (_bfd_elf_gc_mark_debug_special_section_group): New
3091 function.
3092 (_bfd_elf_gc_mark_extra_sections): Use it.
3093
9d1d54d5
L
30942015-01-11 H.J. Lu <hongjiu.lu@intel.com>
3095
3096 PR ld/17827
3097 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): For PIE,
3098 only discard space for pc-relative relocs symbols which turn
3099 out to need copy relocs.
3100
c6e8e93a
NC
31012015-01-09 Nick Clifton <nickc@redhat.com>
3102
3103 * tekhex.c (getvalue): Fix thinko in test for correct extraction
3104 of value.
3105 (getsym): Return false if there was not enough data to extract the
3106 symbol.
3107
400cf8cb
AG
31082015-01-09 Anthony Green <green@moxielogic.com>
3109
3110 * elf32-moxie.c (ELF_MACHINE_ALT1): Define.
3111
23d4663e
NC
31122015-01-08 Nick Clifton <nickc@redhat.com>
3113
3114 * elf32-msp430.c (msp430_elf_relax_section): Add relaxation of
3115 16-bit absolute BR instructions to 10-bit pc-relative JMP
3116 instructions.
3117
063bb025
NC
31182015-01-08 Nick Clifton <nickc@redhat.com>
3119
3120 PR binutils/17512
3121 * coffcode.h (coff_slurp_symbol_table): Return false if we failed
3122 to load the line table.
3123 * elf.c (_bfd_elf_map_sections_to_segments): Enforce a minimum
3124 maxpagesize of 1.
3125 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if
3126 the Data Directory Size is too large.
3127
6f25f223
L
31282015-01-06 H.J. Lu <hongjiu.lu@intel.com>
3129
3130 PR binutils/17512
3131 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocation.
3132 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
3133
85880250
NC
31342015-01-06 Nick Clifton <nickc@redhat.com>
3135
3136 PR binutils/17512
e7287c7f
NC
3137 * mach-o.c (bfd_mach_o_read_symtab_strtab): Zero terminate the
3138 string table.
3139
ec93045b
NC
3140 * reloc.c (bfd_get_reloc_size): Handle a reloc size of -1.
3141 (bfd_perform_relocation): Include the size of the reloc in the
3142 test for an out of range relocation.
3143 (bfd_generic_get_relocated_section_contents): Remove reloc range
3144 test.
3145
85880250
NC
3146 * coff-i860.c (CALC_ADDEND): Always set an addend value.
3147 * tekhex.c (getvalue): Add an end pointer parameter. Use it to
3148 avoid reading off the end of the buffer.
3149 (getsym): Likewise.
3150 (first_phase): Likewise.
3151 (pass_over): Pass an end pointer to the invoked function.
3152
533d0af0
L
31532015-01-05 H.J. Lu <hongjiu.lu@intel.com>
3154
3155 PR binutils/17512
3156 * elf32-i386.c (elf_i386_get_plt_sym_val): Return NULL on corrupt
3157 input.
3158 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
3159
896ca098
NC
31602015-01-05 Nick Clifton <nickc@redhat.com>
3161
3162 PR binutils/17512
3163 * archive.c (do_slurp_bsd_armap): Make sure that the parsed sized
3164 is at least big enough for the header to be read.
3165 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocs.
3166 * mach-o.c (bfd_mach_o_get_synthetic_symtab): Add range checks.
3167 (bfd_mach_o_read_command): Prevetn duplicate error messages about
3168 unrecognized commands.
3169 * syms.c (_bfd_stab_section_find_nearest_line): Add range checks
3170 when indexing into the string table.
3171
b90efa5b 31722015-01-01 Alan Modra <amodra@gmail.com>
ee3b52e9 3173
b90efa5b 3174 Update year range in copyright notice of all files.
ee3b52e9 3175
b90efa5b 3176For older changes see ChangeLog-2014
56882138 3177\f
b90efa5b 3178Copyright (C) 2015 Free Software Foundation, Inc.
752937aa
NC
3179
3180Copying and distribution of this file, with or without modification,
3181are permitted in any medium without royalty provided the copyright
3182notice and this notice are preserved.
3183
56882138
AM
3184Local Variables:
3185mode: change-log
3186left-margin: 8
3187fill-column: 74
3188version-control: never
3189End: