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