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