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