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