xref: /netbsd/external/gpl3/gdb/dist/bfd/ChangeLog-2014 (revision 5e098073)
1*5e098073Schristos2014-12-30  H.J. Lu  <hongjiu.lu@intel.com>
2*5e098073Schristos
3*5e098073Schristos	PR ld/17773
4*5e098073Schristos	* elflink.c (bfd_elf_final_link): Assign the file position for
5*5e098073Schristos	the symbol string table only there are symbols to be emitted.
6*5e098073Schristos
7*5e098073Schristos2014-12-28  Alan Modra  <amodra@gmail.com>
8*5e098073Schristos
9*5e098073Schristos	PR 17766
10*5e098073Schristos	* pei-x86_64.c (pex64_bfd_print_pdata_section): Correct string
11*5e098073Schristos	length.  Use memcpy rather than strcpy.
12*5e098073Schristos
13*5e098073Schristos2014-12-26  Alan Modra  <amodra@gmail.com>
14*5e098073Schristos
15*5e098073Schristos	PR 17755
16*5e098073Schristos	* elf64-sh64.c (sh_elf64_copy_private_data_internal): Delete code
17*5e098073Schristos	copying SHF_SH5_ISA32.
18*5e098073Schristos
19*5e098073Schristos2014-12-25  Thomas Preud'homme  <thomas.preudhomme@arm.com>
20*5e098073Schristos
21*5e098073Schristos	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Handle new
22*5e098073Schristos	Tag_ABI_VFP_args value and replace hardcoded values by enum values.
23*5e098073Schristos	(elf32_arm_post_process_headers): Set e_flags in ELF header as hard
24*5e098073Schristos	float only when Tag_ABI_VFP_args is 1, using new enum value
25*5e098073Schristos	AEABI_VFP_args_vfp to check that.
26*5e098073Schristos
27*5e098073Schristos2014-12-24  H.J. Lu  <hongjiu.lu@intel.com>
28*5e098073Schristos
29*5e098073Schristos	* pei-x86_64.c (pex64_bfd_print_pdata_section): Add cast to
30*5e098073Schristos	unsigned long.
31*5e098073Schristos
32*5e098073Schristos2014-12-24  Pierre Muller  <muller@sourceware.org>
33*5e098073Schristos
34*5e098073Schristos	Add support for pdata output for pe coff objects.
35*5e098073Schristos	* pe-x86_64.c (pex64_bfd_print_pdata): Add external
36*5e098073Schristos	declaration.
37*5e098073Schristos	(bfd_pe_print_data): Set macro to pex64_bfd_print_data.
38*5e098073Schristos	* pei-x86_64.c (pex64_bfd_print_pdata): Changed to
39*5e098073Schristos	global function. Now handles multiple .pdata sections.
40*5e098073Schristos	(pex_bfd_print_pdata_section): New static helper function,
41*5e098073Schristos	using most of old pex_bfd_print_pdata function code, but adding
42*5e098073Schristos	support for coff pe objects, which might have some fields
43*5e098073Schristos	starting at zero offset.
44*5e098073Schristos	(pex64_print_all_pdata_sections) : New static helper function,
45*5e098073Schristos	used in call to bfd_map_over_sections inside new
46*5e098073Schristos	pex66_bfd_print_pdata function.
47*5e098073Schristos	(bfd_boolean pdata_count): New static variable, used to return
48*5e098073Schristos	bfd_boolean value for pex64_bfd_print_pdata function.
49*5e098073Schristos
50*5e098073Schristos2014-12-24  Alan Modra  <amodra@gmail.com>
51*5e098073Schristos
52*5e098073Schristos	* linker.c (_bfd_generic_link_output_symbols): Remove BSF_WEAK
53*5e098073Schristos	flag from bfd_link_hash_defined symbols.
54*5e098073Schristos
55*5e098073Schristos2014-12-23  Andrew Burgess  <andrew.burgess@embecosm.com>
56*5e098073Schristos
57*5e098073Schristos	* elf32-avr.c (bfd_elf_avr_final_write_processing): Don't set
58*5e098073Schristos	EF_AVR_LINKRELAX_PREPARED unconditionally.
59*5e098073Schristos
60*5e098073Schristos2014-12-23  Alan Modra  <amodra@gmail.com>
61*5e098073Schristos
62*5e098073Schristos	* elflink.c (_bfd_elf_define_linkage_sym): Set linker_def.
63*5e098073Schristos	* linker.c (_bfd_generic_link_add_one_symbol): Clear linker_def
64*5e098073Schristos	for CDEF, DEF, DEFW, COM.
65*5e098073Schristos
66*5e098073Schristos2014-12-22  Nick Clifton  <nickc@redhat.com>
67*5e098073Schristos
68*5e098073Schristos	PR binutils/17512
69*5e098073Schristos	* archive.c (do_slurp_bsd_armap): Return if the parsed_size is
70*5e098073Schristos	zero.
71*5e098073Schristos	(bfd_slurp_armap): Zero terminate the name.
72*5e098073Schristos	(bfd_generic_stat_arch_elt): If there is no header, fail.
73*5e098073Schristos	* elf32-arc.c (arc_info_to_howto_rel): Replace BFD_ASSERT with
74*5e098073Schristos	error message.
75*5e098073Schristos	* elf32-avr.c (avr_info_to_howto_rela): Likewise.
76*5e098073Schristos	* elf32-cr16c.c (elf_cr16c_info_to_howto_rel): Likewise.
77*5e098073Schristos	* elf32-cris.c (cris_info_to_howto_rela): Likewise.
78*5e098073Schristos	* elf32-d10v.c (d10v_info_to_howto_rel): Likewise.
79*5e098073Schristos	* elf32-d30v.c (d30v_info_to_howto_rel): Likewise.
80*5e098073Schristos	* elf32-dlx.c (dlx_rtype_to_howto): Likewise.
81*5e098073Schristos	* elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise.
82*5e098073Schristos	* elf32-fr30.c (fr30_info_to_howto_rela): Likewise.
83*5e098073Schristos	* elf32-frv.c (frv_info_to_howto_rela): Likewise.
84*5e098073Schristos	* elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise.
85*5e098073Schristos	* elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise.
86*5e098073Schristos	* elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise.
87*5e098073Schristos	* elf32-lm32.c (lm32_info_to_howto_rela): Likewise.
88*5e098073Schristos	* elf32-m32c.c (m32c_info_to_howto_rela): Likewise.
89*5e098073Schristos	* elf32-m32r.c (m32r_info_to_howto_rel): Likewise.
90*5e098073Schristos	* elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise.
91*5e098073Schristos	* elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise.
92*5e098073Schristos	* elf32-mep.c (mep_info_to_howto_rela): Likewise.
93*5e098073Schristos	* elf32-metag.c (metag_info_to_howto_rela): Likewise.
94*5e098073Schristos	* elf32-moxie.c (moxie_info_to_howto_rela): Likewise.
95*5e098073Schristos	* elf32-msp430.c (msp430_info_to_howto_rela): Likewise.
96*5e098073Schristos	* elf32-mt.c (mt_info_to_howto_rela): Likewise.
97*5e098073Schristos	* elf32-nds32.c (nds32_info_to_howto_rel): Likewise.
98*5e098073Schristos	* elf32-or1k.c (or1k_info_to_howto_rela): Likewise.
99*5e098073Schristos	* elf32-rl78.c (rl78_info_to_howto_rela): Likewise.
100*5e098073Schristos	* elf32-rx.c (rx_info_to_howto_rela): Likewise.
101*5e098073Schristos	* elf32-v850.c (v850_elf_info_to_howto_rel): Likewise.
102*5e098073Schristos	* elf32-visium.c (visium_info_to_howto_rela): Likewise.
103*5e098073Schristos	* elf32-xgate.c (xgate_info_to_howto_rel): Likewise.
104*5e098073Schristos	* elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise.
105*5e098073Schristos	* elf64-mmix.c (mmix_info_to_howto_rela): Likewise.
106*5e098073Schristos	* elf64-x86-64.c (elf_x86_64_reloc_type_lookup): Likewise.
107*5e098073Schristos	* elfnn-aarch64.c (elfNN_aarch64_bfd_reloc_from_type): Likewise.
108*5e098073Schristos	* elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Add range
109*5e098073Schristos	checking of reloc symbol index.
110*5e098073Schristos	* mach-o.c (bfd_mach_o_canonicalize_one_reloc): If no symbols have
111*5e098073Schristos	been provided then set the reloc's symbol to undefined.
112*5e098073Schristos	* reloc.c (bfd_generic_get_relocated_section_contents): Add range
113*5e098073Schristos	checking of the reloc to be applied.
114*5e098073Schristos	* versados.c (process_otr): Add more range checks.
115*5e098073Schristos	(versados_canonicalize_reloc): If the section is unknown, set the
116*5e098073Schristos	symbol to undefined.
117*5e098073Schristos	* vms-alpha.c (_bfd_vms_slurp_eisd): Add range checks.
118*5e098073Schristos	(alpha_vms_object_p): Likewise.
119*5e098073Schristos
120*5e098073Schristos2014-12-18  Richard Henderson  <rth@redhat.com>
121*5e098073Schristos
122*5e098073Schristos	* elf32-ppc.c (ELF_COMMONPAGESIZE): Set to 64k.
123*5e098073Schristos	* elf64-ppc.c (ELF_COMMONPAGESIZE): Likewise.
124*5e098073Schristos
125*5e098073Schristos2014-12-16  Nick Clifton  <nickc@redhat.com>
126*5e098073Schristos
127*5e098073Schristos	PR binutils/17512
128*5e098073Schristos	* format.c (bfd_check_format_matches): Check for a matching vector
129*5e098073Schristos	before using match priorities.
130*5e098073Schristos	* mach-o.c (bfd_mach_o_canonicalize_one_reloc): Fix off-by-one
131*5e098073Schristos	errors with previous delta.
132*5e098073Schristos
133*5e098073Schristos2014-12-15  H.J. Lu  <hongjiu.lu@intel.com>
134*5e098073Schristos
135*5e098073Schristos	PR ld/17713
136*5e098073Schristos	* elflink.c (_bfd_elf_gc_mark_rsec): Check corrupt input.
137*5e098073Schristos
138*5e098073Schristos2014-12-13  H.J. Lu  <hongjiu.lu@intel.com>
139*5e098073Schristos
140*5e098073Schristos	PR ld/17689
141*5e098073Schristos	* elf64-x86-64.c (elf_x86_64_link_hash_entry): Add needs_copy.
142*5e098073Schristos	Change has_bnd_reloc to bit field.
143*5e098073Schristos	(elf_x86_64_link_hash_newfunc): Initialize needs_copy and
144*5e098073Schristos	has_bnd_reloc to 0.
145*5e098073Schristos	(elf_x86_64_check_relocs): Set has_bnd_reloc to 1 instead
146*5e098073Schristos	of TRUE.
147*5e098073Schristos	(elf_x86_64_adjust_dynamic_symbol): Copy needs_copy from the
148*5e098073Schristos	real definition to a weak symbol.
149*5e098073Schristos	(elf_x86_64_allocate_dynrelocs): Also check needs_copy of a
150*5e098073Schristos	weak symbol for PIE when discarding space for relocs against
151*5e098073Schristos	symbols which turn out to need copy relocs.
152*5e098073Schristos	(elf_x86_64_relocate_section): Also check needs_copy of a
153*5e098073Schristos	weak symbol for PIE with copy reloc.
154*5e098073Schristos
155*5e098073Schristos2014-12-12  Alan Modra  <amodra@gmail.com>
156*5e098073Schristos
157*5e098073Schristos	PR 15228
158*5e098073Schristos	* elflink.c (_bfd_elf_adjust_dynamic_copy): Call bfd_set_error.
159*5e098073Schristos
160*5e098073Schristos2014-12-12  Alan Modra  <amodra@gmail.com>
161*5e098073Schristos
162*5e098073Schristos	PR 15228
163*5e098073Schristos	* elflink.c (_bfd_elf_adjust_dynamic_copy): Add "info" param.
164*5e098073Schristos	Error on copy relocs against protected symbols.
165*5e098073Schristos	(elf_merge_st_other): Set h->protected_def.
166*5e098073Schristos	* elf-bfd.h (struct elf_link_hash_entry): Add "protected_def".
167*5e098073Schristos	(_bfd_elf_adjust_dynamic_copy): Update prototype.
168*5e098073Schristos	* elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Update
169*5e098073Schristos	_bfd_elf_adjust_dynamic_copy call.
170*5e098073Schristos	* elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise.
171*5e098073Schristos	* elf32-cr16.c (_bfd_cr16_elf_adjust_dynamic_symbol): Likewise.
172*5e098073Schristos	* elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise.
173*5e098073Schristos	* elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
174*5e098073Schristos	* elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise.
175*5e098073Schristos	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
176*5e098073Schristos	* elf32-lm32.c (lm32_elf_adjust_dynamic_symbol): Likewise.
177*5e098073Schristos	* elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise.
178*5e098073Schristos	* elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
179*5e098073Schristos	* elf32-metag.c (elf_metag_adjust_dynamic_symbol): Likewise.
180*5e098073Schristos	* elf32-or1k.c (or1k_elf_adjust_dynamic_symbol): Likewise.
181*5e098073Schristos	* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
182*5e098073Schristos	* elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
183*5e098073Schristos	* elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise.
184*5e098073Schristos	* elf32-tic6x.c (elf32_tic6x_adjust_dynamic_symbol): Likewise.
185*5e098073Schristos	* elf32-tilepro.c (tilepro_elf_adjust_dynamic_symbol): Likewise.
186*5e098073Schristos	* elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise.
187*5e098073Schristos	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
188*5e098073Schristos	* elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
189*5e098073Schristos	* elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise.
190*5e098073Schristos	* elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise.
191*5e098073Schristos	* elfnn-aarch64.c (elfNN_aarch64_adjust_dynamic_symbol): Likewise.
192*5e098073Schristos	* elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol): Likewise.
193*5e098073Schristos	* elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
194*5e098073Schristos	* elfxx-tilegx.c (tilegx_elf_adjust_dynamic_symbol): Likewise.
195*5e098073Schristos
196*5e098073Schristos2014-12-11  Keith Seitz  <keiths@redhat.com>
197*5e098073Schristos
198*5e098073Schristos	* elf.c (elf_parse_notes): Define convenience macro
199*5e098073Schristos	GROKER_ELEMENT to add elements to 'grokers' array.
200*5e098073Schristos	Add 'len' element to 'grokers'.
201*5e098073Schristos	Use grokers.len instead of sizeof in string
202*5e098073Schristos	comparisons.
203*5e098073Schristos
204*5e098073Schristos2014-12-10  Alan Modra  <amodra@gmail.com>
205*5e098073Schristos
206*5e098073Schristos	* Makefile.am (BFD32_LIBS, BFD32_LIBS_CFILES): Remove dwarf2
207*5e098073Schristos	and coffgen.  Add coff-bfd.  Sort.
208*5e098073Schristos	(BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add coffgen and dwarf2.
209*5e098073Schristos	* bfd-in.h (bfd_coff_get_syment, bfd_coff_get_auxent): Delete.
210*5e098073Schristos	(struct coff_comdat_info, bfd_coff_get_comdat_section): Delete.
211*5e098073Schristos	* coffgen.c (coff_symbol_from): Move to coff-bfd.h as macro,
212*5e098073Schristos	without unused param.  Update uses.
213*5e098073Schristos	(bfd_coff_get_comdat_section): Move to coff-bfd.h as macro.
214*5e098073Schristos	(bfd_coff_get_syment, bfd_coff_get_auxent): Move to coff-bfd.c.
215*5e098073Schristos	* libcoff-in.h: #include "coff-bfd.h".
216*5e098073Schristos	(struct coff_section_tdata, coff_section_data): Move to coff-bfd.h.
217*5e098073Schristos	(coff_symbol_from): Delete.
218*5e098073Schristos	* coff-bfd.c: New file.
219*5e098073Schristos	* coff-bfd.h: New file.
220*5e098073Schristos	* coff-i386.c: Update coff_symbol_from occurrences.
221*5e098073Schristos	* coff-i960.c: Likewise.
222*5e098073Schristos	* coff-m68k.c: Likewise.
223*5e098073Schristos	* coff-sh.c: Likewise.
224*5e098073Schristos	* coff-x86_64.c: Likewise.
225*5e098073Schristos	* coffcode.h: Likewise.
226*5e098073Schristos	* pe-mips.c: Likewise.
227*5e098073Schristos	* configure.ac (elf): Add dwarf2.lo.
228*5e098073Schristos	(coffgen, coff, ecoff, xcoff): Define.  Use when mapping bfd
229*5e098073Schristos	target vectors to .o files.  Add dwarf2 for mach-o targets.
230*5e098073Schristos	Fix the sh target FIXME.
231*5e098073Schristos	* po/SRC-POTFILES.in: Regenerate.
232*5e098073Schristos	* Makefile.in: Regenerate.
233*5e098073Schristos	* configure: Regenerate.
234*5e098073Schristos	* bfd-in2.h: Regenerate.
235*5e098073Schristos	* libcoff.h: Regenerate.
236*5e098073Schristos
237*5e098073Schristos2014-12-10  Alan Modra  <amodra@gmail.com>
238*5e098073Schristos
239*5e098073Schristos	PR 17541
240*5e098073Schristos	* dwarf2.c (struct comp_unit): Add "lang".
241*5e098073Schristos	(non_mangled): New function.
242*5e098073Schristos	(struct funcinfo): Add "is_linkage".  Reorder for better packing.
243*5e098073Schristos	Make "name" a const char*.
244*5e098073Schristos	(lookup_address_in_function_table): Delete functionname_ptr param.
245*5e098073Schristos	(find_abstract_instance_name): Add is_linkage param.  Set if we
246*5e098073Schristos	have DW_AT_linkage_name or non_mangled DW_AT_name.
247*5e098073Schristos	(scan_unit_for_symbols): Similarly set func->is_linkage.
248*5e098073Schristos	(parse_comp_unit): Stash DW_AT_language.
249*5e098073Schristos	(comp_unit_find_nearest_line): Replace functionname_ptr param
250*5e098073Schristos	with function_ptr param.
251*5e098073Schristos	(_bfd_dwarf2_find_nearest_line): Adjust above calls.  Set
252*5e098073Schristos	functionname_ptr from function->name.  Call _bfd_elf_find_function
253*5e098073Schristos	to retrieve symbol for function if not linkage name.
254*5e098073Schristos	(_bfd_elf_find_function): Add bfd_target_elf_flavour test, moved from..
255*5e098073Schristos	* elf.c (elf_find_function): ..here.
256*5e098073Schristos	(_bfd_elf_find_nearest_line): Adjust calls.
257*5e098073Schristos	* elf-bfd.h (_bfd_elf_find_function): Declare.
258*5e098073Schristos
259*5e098073Schristos2014-12-10  Alan Modra  <amodra@gmail.com>
260*5e098073Schristos
261*5e098073Schristos	* dwarf2.c (read_address): Check bfd_target_elf_flavour before
262*5e098073Schristos	calling get_elf_backend_data.
263*5e098073Schristos	(_bfd_dwarf2_find_nearest_line): Fix parens.
264*5e098073Schristos
265*5e098073Schristos2014-12-10  Alan Modra  <amodra@gmail.com>
266*5e098073Schristos
267*5e098073Schristos	PR 17666
268*5e098073Schristos	* elf-bfd.h (struct elf_backend_data): Add sort_relocs_p.
269*5e098073Schristos	* elfxx-target.h (elf_backend_sort_relocs_p): Define.
270*5e098073Schristos	(elfNN_bed): Init new field.
271*5e098073Schristos	* elflink.c (elf_link_adjust_relocs): Conditionally sort.
272*5e098073Schristos	(bfd_elf_final_link): Control sorting of relocs.
273*5e098073Schristos	* elfxx-mips.c (_bfd_mips_elf_sort_relocs_p): New function.
274*5e098073Schristos	* elfxx-mips.h (_bfd_mips_elf_sort_relocs_p): Declare.
275*5e098073Schristos	* elf32-mips.c (elf_backend_sort_relocs_p): Define.
276*5e098073Schristos	* elf64-mips.c (elf_backend_sort_relocs_p): Define.
277*5e098073Schristos
278*5e098073Schristos2014-12-09  Nick Clifton  <nickc@redhat.com>
279*5e098073Schristos
280*5e098073Schristos	PR binutils/17512
281*5e098073Schristos	* archive64.c (bfd_elf64_archive_slurp_armap): Add range checks.
282*5e098073Schristos	* libbfd.c (safe_read_leb128): New function.
283*5e098073Schristos	* libbfd-in.h (safe_read_leb128): Add prototype.
284*5e098073Schristos	* libbfd.h: Regenerate.
285*5e098073Schristos	* elf-attrs.c (_bfd_elf_parse_attributes): Use safe_read_leb128.
286*5e098073Schristos	Check for an over-long subsection length.
287*5e098073Schristos	* elf.c (elf_parse_notes): Check that the namedata is long enough
288*5e098073Schristos	for the string comparison that is about to be performed.
289*5e098073Schristos	(elf_read_notes): Zero-terminate the note buffer.
290*5e098073Schristos
291*5e098073Schristos2014-12-09  Alan Modra  <amodra@gmail.com>
292*5e098073Schristos
293*5e098073Schristos	* elf64-ppc.c (sort_r_offset): Delete.
294*5e098073Schristos	(ppc64_elf_edit_opd): Don't sort input relocs.
295*5e098073Schristos
296*5e098073Schristos2014-12-06  Eric Botcazou  <ebotcazou@adacore.com>
297*5e098073Schristos
298*5e098073Schristos	* config.bfd: Add Visium support.
299*5e098073Schristos	* configure.ac: Likewise.
300*5e098073Schristos	* configure: Regenerate.
301*5e098073Schristos	* Makefile.am (ALL_MACHINES): Add cpu-visium.lo.
302*5e098073Schristos	(ALL_MACHINES_CFILES): Add cpu-visium.c.
303*5e098073Schristos	(BFD32_BACKENDS): Add elf32-visium.lo.
304*5e098073Schristos	(BFD32_BACKENDS_CFILES): Add elf32-visium.c.
305*5e098073Schristos	* Makefile.in: Regenerate.
306*5e098073Schristos	* archures.c (DESCRIPTION): Add Visium support.
307*5e098073Schristos	(bfd_visium_arch): Declare.
308*5e098073Schristos	(bfd_archures_list): Add bfd_visium_arch.
309*5e098073Schristos	* reloc.c: Add Visium relocations.
310*5e098073Schristos	* targets.c (visium_elf32_vec): Declare.
311*5e098073Schristos	(_bfd_target_vector): Add visium_elf32_vec.
312*5e098073Schristos	* bfd-in2.h: Regenerate.
313*5e098073Schristos	* libbfd.h: Likewise.
314*5e098073Schristos	* cpu-visium.c: New file.
315*5e098073Schristos	* elf32-visium.c: Likewise.
316*5e098073Schristos	* po/SRC-POTFILES.in: Regenerate.
317*5e098073Schristos
318*5e098073Schristos2014-12-05  Steve Ellcey  <sellcey@mips.com>
319*5e098073Schristos
320*5e098073Schristos	* ecoff.c (_bfd_ecoff_slurp_symbol_table): Add cast.
321*5e098073Schristos
322*5e098073Schristos2014-12-05  H.J. Lu  <hongjiu.lu@intel.com>
323*5e098073Schristos
324*5e098073Schristos	* elf64-x86-64.c (bfd_elf32_get_synthetic_symtab): New.
325*5e098073Schristos
326*5e098073Schristos2014-12-04  H.J. Lu  <hongjiu.lu@intel.com>
327*5e098073Schristos
328*5e098073Schristos	PR binutils/17677
329*5e098073Schristos	* elf-bfd.h (_bfd_elf_ifunc_get_synthetic_symtab): New prototype.
330*5e098073Schristos	* elf-ifunc.c (_bfd_elf_ifunc_get_synthetic_symtab): New
331*5e098073Schristos	function.
332*5e098073Schristos	* elf32-i386.c (elf_i386_plt_sym_val): Removed.
333*5e098073Schristos	(elf_backend_plt_sym_val): Likewise.
334*5e098073Schristos	(elf_i386_get_plt_sym_val): New.
335*5e098073Schristos	(elf_i386_get_synthetic_symtab): Likewise.
336*5e098073Schristos	(bfd_elf32_get_synthetic_symtab): Likewise.
337*5e098073Schristos	* elf64-x86-64.c (elf_x86_64_plt_sym_val): Removed.
338*5e098073Schristos	(elf_x86_64_plt_sym_val_offset_plt_bnd): Likewise.
339*5e098073Schristos	(elf_backend_plt_sym_val): Likewise.
340*5e098073Schristos	(elf_x86_64_get_plt_sym_val): New.
341*5e098073Schristos	(elf_x86_64_get_synthetic_symtab): Use
342*5e098073Schristos	_bfd_elf_ifunc_get_synthetic_symtab.
343*5e098073Schristos	(bfd_elf64_get_synthetic_symtab): Don't undefine for NaCl.
344*5e098073Schristos
345*5e098073Schristos2014-12-04  Alan Modra  <amodra@gmail.com>
346*5e098073Schristos
347*5e098073Schristos	PR 17666
348*5e098073Schristos	* elflink.c: Include bfd_stdint.h.
349*5e098073Schristos	(cmp_ext32l_r_offset, cmp_ext32b_r_offset,
350*5e098073Schristos	cmp_ext64l_r_offset, cmp_ext64b_r_offset): New functions.
351*5e098073Schristos	(elf_link_adjust_relocs): Sort relocs.  Free rel hashes after
352*5e098073Schristos	sorting invalidates.
353*5e098073Schristos
354*5e098073Schristos2014-12-03  Nick Clifton  <nickc@redhat.com>
355*5e098073Schristos
356*5e098073Schristos	PR binutils/17512
357*5e098073Schristos	* compress.c (bfd_get_full_section_contents): Fail if there are no
358*5e098073Schristos	section contents available when the compress_status is
359*5e098073Schristos	COMPRESS_SECTION_DONE.
360*5e098073Schristos	* libbfd.c (bfd_malloc): Refuse to allocate a negative size.
361*5e098073Schristos	(bfd_malloc2): Use bfd_malloc.
362*5e098073Schristos	(bfd_realloc): Refuse to reallocate a negative size.
363*5e098073Schristos	(bfd_realloc2): Use bfd_realloc.
364*5e098073Schristos	(bfd_realloc_or_free): Use bfd_realloc.
365*5e098073Schristos	(bfd_zmalloc): Use bfd_malloc.
366*5e098073Schristos	(bfd_zmalloc): Use bfd_malloc2.
367*5e098073Schristos	* opncls.c (bfd_alloc): Refuse to allocate a negative size.
368*5e098073Schristos
369*5e098073Schristos2014-12-03  H.J. Lu  <hongjiu.lu@intel.com>
370*5e098073Schristos
371*5e098073Schristos	* elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Reformat.
372*5e098073Schristos
373*5e098073Schristos2014-12-02  H.J. Lu  <hongjiu.lu@intel.com>
374*5e098073Schristos
375*5e098073Schristos	* elf64-x86-64.c (elf_x86_64_relocate_section): Check
376*5e098073Schristos	info->executable for symbols which need copy relocs.
377*5e098073Schristos
378*5e098073Schristos2014-12-02  H.J. Lu  <hongjiu.lu@intel.com>
379*5e098073Schristos
380*5e098073Schristos	* elf64-x86-64.c (elf_x86_64_check_relocs): Revert the last
381*5e098073Schristos	change.
382*5e098073Schristos	(elf_x86_64_adjust_dynamic_symbol): Don't check !info->shared
383*5e098073Schristos	with ELIMINATE_COPY_RELOCS.
384*5e098073Schristos	(elf_x86_64_allocate_dynrelocs): For PIE, discard space for
385*5e098073Schristos	relocs against symbols which turn out to need copy relocs.
386*5e098073Schristos
387*5e098073Schristos2014-12-02  H.J. Lu  <hongjiu.lu@intel.com>
388*5e098073Schristos
389*5e098073Schristos	* elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Always
390*5e098073Schristos	allow copy relocs for building executables.
391*5e098073Schristos	(elf_x86_64_check_relocs): Allow copy relocs for non-GOT
392*5e098073Schristos	pc-relative relocation in shared object.
393*5e098073Schristos	(elf_x86_64_adjust_dynamic_symbol): Allocate copy relocs for
394*5e098073Schristos	PIE.
395*5e098073Schristos	(elf_x86_64_relocate_section): Don't copy a pc-relative
396*5e098073Schristos	relocation into the output file if the symbol needs copy reloc.
397*5e098073Schristos
398*5e098073Schristos2014-12-02  Andrew Bennett  <andrew.bennett@imgtec.com>
399*5e098073Schristos
400*5e098073Schristos	* elfxx-mips.c (mips_elf_calculate_relocation): Only check for
401*5e098073Schristos	overflow on non-weak undefined symbols.
402*5e098073Schristos
403*5e098073Schristos2014-12-02  Alan Modra  <amodra@gmail.com>
404*5e098073Schristos
405*5e098073Schristos	* elf64-ppc.c (OPD_NDX): Define.  Use throughout for sizing/indexing
406*5e098073Schristos	_opd_sec_data array, halving required memory.
407*5e098073Schristos	(sort_r_offset): New function.
408*5e098073Schristos	(ppc64_elf_edit_opd): Sort incoming relocs.  Accept .opd
409*5e098073Schristos	sections with a mix of 16 and 24 byte OPD entries.  Don't
410*5e098073Schristos	attempt to honour --non-overlapping-opd for .opd sections with
411*5e098073Schristos	unexpected relocs.  Simplify opd entry size calculations by
412*5e098073Schristos	first finding the reloc for the next entry.  Make edit loop
413*5e098073Schristos	handle one opd entry per iteration, with an inner loop
414*5e098073Schristos	handling relocs per entry.
415*5e098073Schristos
416*5e098073Schristos2014-12-01  Nick Clifton  <nickc@redhat.com>
417*5e098073Schristos
418*5e098073Schristos	PR binutils/17512
419*5e098073Schristos	* archive.c (do_slurp_coff_armap): Add range checks to prevent
420*5e098073Schristos	running off the end of the string table.
421*5e098073Schristos	* compress.c (bfd_get_full_section_contents): Return a NULL
422*5e098073Schristos	pointer for zero sized sections.  Do not attempt to copy a buffer
423*5e098073Schristos	onto itself.
424*5e098073Schristos	* elf-attrs.c (_bfd_elf_parse_attributes): Check for an empty
425*5e098073Schristos	header.  Add range checks to avoid running off the end of the
426*5e098073Schristos	section.
427*5e098073Schristos	* elf.c (bfd_elf_get_str_section): Seek before allocating so that
428*5e098073Schristos	if the seek fails, no memory is allocated.
429*5e098073Schristos	(bfd_elf_string_from_elf_section): Do not allocate a string from a
430*5e098073Schristos	non string section.  It only leads to trouble later on.
431*5e098073Schristos	(_bfd_elf_print_private_bfd_data): Check for there being too
432*5e098073Schristos	little external dynamic data.
433*5e098073Schristos	(bfd_section_from_shdr): Replace assertion with a failure mode.
434*5e098073Schristos	(bfd_section_from_shdr): When walking a loaded group section use
435*5e098073Schristos	the internal structure size, not the external size.  Check for the
436*5e098073Schristos	group section being empty.
437*5e098073Schristos	* elf32-i386.c (elf_i386_rtype_to_howto): Replace assertion with a
438*5e098073Schristos	failure mode.
439*5e098073Schristos	* elfcode.h (elf_slurp_reloc_table): Likewise.
440*5e098073Schristos	* reloc.c (bfd_perform_relocation): Avoid seg-fault if the howto
441*5e098073Schristos	parameter is NULL.
442*5e098073Schristos
443*5e098073Schristos2014-11-30  Alan Modra  <amodra@gmail.com>
444*5e098073Schristos
445*5e098073Schristos	PR 16452, 16457
446*5e098073Schristos	* elflink.c (_bfd_elf_link_find_version_dependencies): Exclude
447*5e098073Schristos	symbols from libraries that won't be listed in DT_NEEDED.
448*5e098073Schristos	(elf_link_output_extsym): Don't output verdefs for such symbols.
449*5e098073Schristos
450*5e098073Schristos2014-11-28  Alan Modra  <amodra@gmail.com>
451*5e098073Schristos
452*5e098073Schristos	* elf.c (_bfd_elf_slurp_version_tables): Exit loops when vn_next/
453*5e098073Schristos	vna_next/vd_next/vda_next is zero.  Correct counts.
454*5e098073Schristos
455*5e098073Schristos2014-11-27  Nick Clifton  <nickc@redhat.com>
456*5e098073Schristos
457*5e098073Schristos	PR binutils/17512
458*5e098073Schristos	* ecoff.c (_bfd_ecoff_slurp_symbol_table): Warn about and correct
459*5e098073Schristos	a discrepancy between the isymMax and ifdMax values in the
460*5e098073Schristos	symbolic header.
461*5e098073Schristos	* elf.c (_bfd_elf_print_private_bfd_data): Fix the range check
462*5e098073Schristos	scanning the external dynamic entries.
463*5e098073Schristos
464*5e098073Schristos2014-11-26  Nick Clifton  <nickc@redhat.com>
465*5e098073Schristos
466*5e098073Schristos	PR binutils/17512
467*5e098073Schristos	* coff-h8300.c (rtype2howto): Replace abort with returning a NULL
468*5e098073Schristos	value.
469*5e098073Schristos	* coff-h8500.c (rtype2howto): Likewise.
470*5e098073Schristos	* coff-tic30.c (rtype2howto): Likewise.
471*5e098073Schristos	* coff-z80.c (rtype2howto): Likewise.
472*5e098073Schristos	* coff-z8k.c (rtype2howto): Likewise.
473*5e098073Schristos	* coff-ia64.c (RTYPE2HOWTO): Always return a valid howto.
474*5e098073Schristos	* coff-m68k.c (m68k_rtype2howto): Return a NULL howto if none
475*5e098073Schristos	could be found.
476*5e098073Schristos	* coff-mcore.c (RTYPE2HOWTO): Add range checking.
477*5e098073Schristos	* coff-w65.c (rtype2howto): Likewise.
478*5e098073Schristos	* coff-we32k.c (RTYPE2HOWTO): Likewise.
479*5e098073Schristos	* pe-mips.c (RTYPE2HOWTO): Likewise.
480*5e098073Schristos	* coff-x86_64.c (coff_amd64_reloc): Likewise.  Replace abort with
481*5e098073Schristos	an error return.
482*5e098073Schristos	* coffcode.h (coff_slurp_reloc_table): Allow the rel parameter to
483*5e098073Schristos	be unused.
484*5e098073Schristos	* coffgen.c (make_a_section_from_file): Check the length of a
485*5e098073Schristos	section name before testing to see if it is a debug section name.
486*5e098073Schristos	(coff_object_p): Zero out any uninitialised bytes in the opt
487*5e098073Schristos	header.
488*5e098073Schristos	* ecoff.c (_bfd_ecoff_slurp_symbolic_info): Test for the raw
489*5e098073Schristos	source being empty when there are values to be processed.
490*5e098073Schristos	(_bfd_ecoff_slurp_symbol_table): Add range check.
491*5e098073Schristos	* mach-o.c (bfd_mach_o_canonicalize_one_reloc): Likewise.
492*5e098073Schristos	(bfd_mach_o_mangle_sections): Move test for too many sections to
493*5e098073Schristos	before the allocation of the section table.
494*5e098073Schristos	(bfd_mach_o_read_symtab_strtab): If the read fails, free the
495*5e098073Schristos	memory and nullify the symbol pointer.
496*5e098073Schristos	* reloc.c (bfd_generic_get_relocated_section_contents): Add
497*5e098073Schristos	handling of a bfd_reloc_notsupported return value.
498*5e098073Schristos	* versados.c (EDATA): Add range checking.
499*5e098073Schristos	(get_record): Likewise.
500*5e098073Schristos	(process_otr): Check for contents being available before updating
501*5e098073Schristos	them.
502*5e098073Schristos	(versados_canonicalize_reloc): Add range check.
503*5e098073Schristos
504*5e098073Schristos2014-11-26  Alan Modra  <amodra@gmail.com>
505*5e098073Schristos
506*5e098073Schristos	* elf.c (_bfd_elf_slurp_version_tables): Delay allocation of
507*5e098073Schristos	internal verref buffer.  Error for zero sh_info.  Print errors.
508*5e098073Schristos	Check for zero vd_ndx.  Use bfd_zalloc for vd_auxptr buffer.
509*5e098073Schristos
510*5e098073Schristos2014-11-25  H.J. Lu  <hongjiu.lu@intel.com>
511*5e098073Schristos
512*5e098073Schristos	* targets.c (BFD_JUMP_TABLE_SYMBOLS): Use
513*5e098073Schristos	NAME##_get_symbol_version_string.
514*5e098073Schristos	(bfd_get_symbol_version_string): New.
515*5e098073Schristos	* aout-adobe.c (aout_32_get_symbol_version_string): Define using
516*5e098073Schristos	_bfd_nosymbols define.
517*5e098073Schristos	* aout-target.h (MY_get_symbol_version_string): Likewise.
518*5e098073Schristos	* aout-tic30.c (MY_get_symbol_version_string): Likewise.
519*5e098073Schristos	* binary.c (binary_get_symbol_version_string): Likewise.
520*5e098073Schristos	* bout.c (aout_32_get_symbol_version_string): Likewise.
521*5e098073Schristos	* coff-rs6000.c (_bfd_xcoff_get_symbol_version_string): Likewise.
522*5e098073Schristos	* i386msdos.c (msdos_get_symbol_version_string): Likewise.
523*5e098073Schristos	* i386os9k.c (aout_32_get_symbol_version_string): Likewise.
524*5e098073Schristos	* ieee.c (ieee_get_symbol_version_string): Likewise.
525*5e098073Schristos	* ihex.c (ihex_get_symbol_version_string): Likewise.
526*5e098073Schristos	* libecoff.h (_bfd_ecoff_get_symbol_version_string): Likewise.
527*5e098073Schristos	* mach-o-target.c (bfd_mach_o_get_symbol_version_string): Likewise.
528*5e098073Schristos	* mmo.c (mmo_get_symbol_version_string): Likewise.
529*5e098073Schristos	* nlm-target.h (nlm_get_symbol_version_string): Likewise.
530*5e098073Schristos	* oasys.c (oasys_get_symbol_version_string): Likewise.
531*5e098073Schristos	* pef.c (bfd_pef_get_symbol_version_string): Likewise.
532*5e098073Schristos	* plugin.c (bfd_plugin_get_symbol_version_string): Likewise.
533*5e098073Schristos	* ppcboot.c (ppcboot_get_symbol_version_string): Likewise.
534*5e098073Schristos	* som.c (som_get_symbol_version_string): Likewise.
535*5e098073Schristos	* srec.c (srec_get_symbol_version_string): Likewise.
536*5e098073Schristos	* tekhex.c (tekhex_get_symbol_version_string): Likewise.
537*5e098073Schristos	* versados.c (versados_get_symbol_version_string): Likewise.
538*5e098073Schristos	* vms-alpha.c (alpha_vms_get_symbol_version_string): Likewise.
539*5e098073Schristos	* xsym.c (bfd_sym_get_symbol_version_string): Likewise.
540*5e098073Schristos
541*5e098073Schristos	* coff64-rs6000.c (rs6000_xcoff64_vec): Use
542*5e098073Schristos	coff_get_symbol_version_string.
543*5e098073Schristos	(rs6000_xcoff64_aix_vec): Likewise.
544*5e098073Schristos
545*5e098073Schristos	* elf-bfd.h (bfd_elf_get_symbol_version_string): Renamed to ...
546*5e098073Schristos	(_bfd_elf_get_symbol_version_string): This.
547*5e098073Schristos	* elf.c: Likewise.
548*5e098073Schristos	(bfd_elf_print_symbol): Updated.
549*5e098073Schristos	* elfxx-target.h (bfd_elfNN_get_symbol_version_string): Define.
550*5e098073Schristos
551*5e098073Schristos	* libbfd-in.h (_bfd_nosymbols_get_symbol_version_string): Define.
552*5e098073Schristos	* libcoff-in.h (coff_get_symbol_version_string): Likewise.
553*5e098073Schristos	* bfd-in2.h: Regenerated.
554*5e098073Schristos	* libbfd.h: Likewise.
555*5e098073Schristos	* libcoff.h: Likewise.
556*5e098073Schristos
557*5e098073Schristos2014-11-25  H.J. Lu  <hongjiu.lu@intel.com>
558*5e098073Schristos
559*5e098073Schristos	PR binutils/16496
560*5e098073Schristos	* elf-bfd.h (bfd_elf_get_symbol_version_string): New.
561*5e098073Schristos	* elf.c (bfd_elf_get_symbol_version_string): New.  Extracted
562*5e098073Schristos	from bfd_elf_print_symbol.
563*5e098073Schristos	(bfd_elf_print_symbol): Use it.
564*5e098073Schristos
565*5e098073Schristos2014-11-25  H.J. Lu  <hongjiu.lu@intel.com>
566*5e098073Schristos
567*5e098073Schristos	* elf32-i386.c (elf_i386_got_plt_entry): New.
568*5e098073Schristos	(elf_i386_pic_got_plt_entry): Likewise.
569*5e098073Schristos	(elf_i386_link_hash_entry): Add plt_got.
570*5e098073Schristos	(elf_i386_link_hash_table): Likewise.
571*5e098073Schristos	(elf_i386_link_hash_newfunc): Initialize plt_got.offset to -1.
572*5e098073Schristos	(elf_i386_get_local_sym_hash): Likewise.
573*5e098073Schristos	(elf_i386_check_relocs): Create the GOT PLT if there are both
574*5e098073Schristos	PLT and GOT references when the regular PLT is used.
575*5e098073Schristos	(elf_i386_allocate_dynrelocs): Use the GOT PLT if there are
576*5e098073Schristos	both PLT and GOT references unless pointer equality is needed.
577*5e098073Schristos	(elf_i386_relocate_section): Also check the GOT PLT when
578*5e098073Schristos	resolving R_386_PLT32.
579*5e098073Schristos	(elf_i386_finish_dynamic_symbol): Use the GOT PLT if it is
580*5e098073Schristos	available.
581*5e098073Schristos
582*5e098073Schristos	* elf64-x86-64.c (elf_x86_64_link_hash_entry): Add plt_got.
583*5e098073Schristos	(elf_x86_64_link_hash_table): Likewise.
584*5e098073Schristos	(elf_x86_64_link_hash_newfunc): Initialize plt_got.offset to -1.
585*5e098073Schristos	(elf_x86_64_get_local_sym_hash): Likewise.
586*5e098073Schristos	(elf_x86_64_check_relocs): Create the GOT PLT if there are both
587*5e098073Schristos	PLT and GOT references when the regular PLT is used.
588*5e098073Schristos	(elf_x86_64_allocate_dynrelocs): Use the GOT PLT if there are
589*5e098073Schristos	both PLT and GOT references unless pointer equality is needed.
590*5e098073Schristos	(elf_x86_64_relocate_section): Also check the GOT PLT when
591*5e098073Schristos	resolving R_X86_64_PLT32.
592*5e098073Schristos	(elf_x86_64_finish_dynamic_symbol): Use the GOT PLT if it is
593*5e098073Schristos	available.
594*5e098073Schristos
595*5e098073Schristos2014-11-24  H.J. Lu  <hongjiu.lu@intel.com>
596*5e098073Schristos
597*5e098073Schristos	* configure: Regenerated.
598*5e098073Schristos
599*5e098073Schristos2014-11-24  Tejas Belagod  <tejas.belagod@arm.com>
600*5e098073Schristos
601*5e098073Schristos	* elfnn-aarch64.c (elf_aarch64_compare_mapping): New.
602*5e098073Schristos	(erratum_835769_scan): Sort map list.
603*5e098073Schristos
604*5e098073Schristos2014-11-24  Alan Modra  <amodra@gmail.com>
605*5e098073Schristos
606*5e098073Schristos	* elf64-ppc.c (plt_stub_pad): Correct.
607*5e098073Schristos
608*5e098073Schristos2014-11-23  H.J. Lu  <hongjiu.lu@intel.com>
609*5e098073Schristos
610*5e098073Schristos	* elf64-x86-64.c (elf_x86_64_check_relocs): Assert size of
611*5e098073Schristos	elf_x86_64_bnd_plt2_entry and elf_x86_64_legacy_plt2_entry.
612*5e098073Schristos	(elf_x86_64_allocate_dynrelocs): Don't assert size of
613*5e098073Schristos	elf_x86_64_bnd_plt2_entry and elf_x86_64_legacy_plt2_entry.
614*5e098073Schristos
615*5e098073Schristos2014-11-22  H.J. Lu  <hongjiu.lu@intel.com>
616*5e098073Schristos
617*5e098073Schristos	* elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Check
618*5e098073Schristos	branch displacement overflow in PLT entry.
619*5e098073Schristos
620*5e098073Schristos2014-11-21  Nick Clifton  <nickc@redhat.com>
621*5e098073Schristos
622*5e098073Schristos	PR binutils/17512
623*5e098073Schristos	* coffgen.c (coff_get_normalized_symtab): Check for an excessive
624*5e098073Schristos	number of auxillary entries.
625*5e098073Schristos	* ieee.c (next_byte): Convert to a function.  Return FALSE if the
626*5e098073Schristos	next byte is beyond the end of the buffer.
627*5e098073Schristos	(parse_int): Test the return value of next_byte.
628*5e098073Schristos	(parse_expression): Convert to boolean.  Return FALSE if the
629*5e098073Schristos	parsing failed.  Test the return value of next_byte.
630*5e098073Schristos	(ieee_seek): Convert to a function.  Return FALSE if the seek goes
631*5e098073Schristos	beyond the end of the buffer.
632*5e098073Schristos	(ieee_slurp_external_symbols): Test the return value of ieee_seek
633*5e098073Schristos	and next_byte.
634*5e098073Schristos	(ieee_slurp_sections): Convert to boolean.  Return FALSE if the
635*5e098073Schristos	operation failed.  Test the return value of ieee_seek and
636*5e098073Schristos	next_byte.
637*5e098073Schristos	(ieee_archive_p): Test the return value of ieee_seek and
638*5e098073Schristos	next_byte.
639*5e098073Schristos	(do_one): Likewise.
640*5e098073Schristos	(ieee_slurp_section_data): Likewise.
641*5e098073Schristos	(ieee_object_p): Likewise.  Store the size of the buffer in the
642*5e098073Schristos	total_amt field in the header.
643*5e098073Schristos	* libieee.h (common_header_type): Add amt field.
644*5e098073Schristos	* mach-o.c (bfd_mach_o_canonicalize_one_reloc): Check that the
645*5e098073Schristos	reloc's value is within range.
646*5e098073Schristos	(bfd_mach_o_read_symtab_symbols): Nullify the symbols field if the
647*5e098073Schristos	operation fails.
648*5e098073Schristos	* pei-x86_64.c (pex64_xdata_print_uwd_codes): Replace abort with
649*5e098073Schristos	an error message.
650*5e098073Schristos	(pex64_dump_xdata): Check for buffer overflows.
651*5e098073Schristos	* versados.c (process_otr): Check that the section exists before
652*5e098073Schristos	taking its size.
653*5e098073Schristos	(versados_object_p): Make sure that enough data was read for the
654*5e098073Schristos	header to be checked.
655*5e098073Schristos	* vms-alpha.c (vms_get_remaining_object_record): Change
656*5e098073Schristos	read_so_far parameter to an unsigned int.  Check that the amount
657*5e098073Schristos	read is in range.
658*5e098073Schristos
659*5e098073Schristos2014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
660*5e098073Schristos
661*5e098073Schristos	* elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Optimize
662*5e098073Schristos	PC-relative offset overflow check.
663*5e098073Schristos
664*5e098073Schristos2014-11-21  Alexander Cherepanov  <cherepan@mccme.ru>
665*5e098073Schristos
666*5e098073Schristos	PR binutils/17512
667*5e098073Schristos	* coffgen.c (_bfd_coff_read_string_table): Test allocation of
668*5e098073Schristos	string table before clearing the first few bytes.
669*5e098073Schristos
670*5e098073Schristos2014-11-21  Terry Guo  <terry.guo@arm.com>
671*5e098073Schristos
672*5e098073Schristos	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Support FPv5.
673*5e098073Schristos
674*5e098073Schristos2014-11-20  Alan Modra  <amodra@gmail.com>
675*5e098073Schristos
676*5e098073Schristos	* elf64-ppc.c (group_sections): Init stub14_group_size from
677*5e098073Schristos	--stub-group-size parameter divided by 1024.
678*5e098073Schristos
679*5e098073Schristos2014-11-20  Alan Modra  <amodra@gmail.com>
680*5e098073Schristos
681*5e098073Schristos	* elf32-ppc.c (ppc_elf_relax_section): Correct ppc476 workaround
682*5e098073Schristos	alignment calculation.
683*5e098073Schristos
684*5e098073Schristos2014-11-20  Terry Guo  <terry.guo@arm.com>
685*5e098073Schristos
686*5e098073Schristos	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Skip if input bfd
687*5e098073Schristos	hasn't attribute section.
688*5e098073Schristos
689*5e098073Schristos2014-11-20  Alan Modra  <amodra@gmail.com>
690*5e098073Schristos
691*5e098073Schristos	* elf64-ppc.c (ppc64_elf_size_stubs): Add __go_go to thread_starters.
692*5e098073Schristos
693*5e098073Schristos2014-11-18  H.J. Lu  <hongjiu.lu@intel.com>
694*5e098073Schristos
695*5e098073Schristos	PR ld/17618
696*5e098073Schristos	* elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Check
697*5e098073Schristos	PC-relative offset overflow in PLT entry.
698*5e098073Schristos
699*5e098073Schristos2014-11-18  Nick Clifton  <nickc@redhat.com>
700*5e098073Schristos
701*5e098073Schristos	PR binutils/17512
702*5e098073Schristos	* peXXIgen.c (pe_print_pdata): Fail if the section's virtual size
703*5e098073Schristos	is larger than its real size.
704*5e098073Schristos	(rsrc_print_section): Fix off-by-one error checking for overflow.
705*5e098073Schristos	* pei-x86_64.c (pex64_bfd_print_pdata): Handle empty unwind
706*5e098073Schristos	sections.
707*5e098073Schristos
708*5e098073Schristos2014-11-18  Igor Zamyatin  <igor.zamyatin@intel.com>
709*5e098073Schristos
710*5e098073Schristos	* elf64-x86-64.c (elf_x86_64_check_relocs): Enable MPX PLT only
711*5e098073Schristos	for -z bndplt.
712*5e098073Schristos
713*5e098073Schristos2014-11-14  Nick Clifton  <nickc@redhat.com>
714*5e098073Schristos
715*5e098073Schristos	PR binutils/17597
716*5e098073Schristos	* opncls.c (bfd_get_debug_link_info): Avoid reading off the end of
717*5e098073Schristos	the section.
718*5e098073Schristos	(bfd_get_alt_debug_link_info): Likewise.
719*5e098073Schristos
720*5e098073Schristos2014-11-14  Nick Clifton  <nickc@redhat.com>
721*5e098073Schristos
722*5e098073Schristos	PR binutils/17512
723*5e098073Schristos	* ieee.c (ieee_archive_p) Skip processing if no bytes are read at
724*5e098073Schristos	all.
725*5e098073Schristos	(ieee_object_p): Likewise.
726*5e098073Schristos
727*5e098073Schristos2014-11-13  H.J. Lu  <hongjiu.lu@intel.com>
728*5e098073Schristos
729*5e098073Schristos	* coffcode.h (coff_slurp_line_table): Add cast to unsigned int.
730*5e098073Schristos
731*5e098073Schristos2014-11-13  H.J. Lu  <hongjiu.lu@intel.com>
732*5e098073Schristos
733*5e098073Schristos	* coffcode.h (coff_pointerize_aux_hook): Fix a typo.
734*5e098073Schristos
735*5e098073Schristos2014-11-13  H.J. Lu  <hongjiu.lu@intel.com>
736*5e098073Schristos
737*5e098073Schristos	PR gas/17598
738*5e098073Schristos	* elf64-x86-64.c (elf_x86_64_check_relocs): Treat
739*5e098073Schristos	R_X86_64_GOTPLT64 the same as R_X86_64_GOT64.
740*5e098073Schristos	(elf_x86_64_relocate_section): Likewise.
741*5e098073Schristos
742*5e098073Schristos2014-11-13  Nick Clifton  <nickc@redhat.com>
743*5e098073Schristos
744*5e098073Schristos	PR binutils/17512
745*5e098073Schristos	* coffcode.h (coff_ptr_struct): Add is_sym field.
746*5e098073Schristos	(coff_new_section_hook): Set the is_sym field.
747*5e098073Schristos	(coff_pointerize_aux_hook): Check the is_sym field.
748*5e098073Schristos	(coff_print_aux): Likewise.
749*5e098073Schristos	(coff_compute_section_file_positions): Likewise.
750*5e098073Schristos	(coff_write_object_contents): Likewise.
751*5e098073Schristos	(coff_slurp_line_table): Likewise.
752*5e098073Schristos	(coff_slurp_symbol_table): Likewise.
753*5e098073Schristos	(CALC_ADDEND): Likewise.
754*5e098073Schristos	* coffgen.c (coff_renumber_symbols): Likewise.
755*5e098073Schristos	(coff_mangle_symbols): Likewise.
756*5e098073Schristos	(coff_fix_symbol_name): Likewise.
757*5e098073Schristos	(coff_write_symbol): Likewise.
758*5e098073Schristos	(coff_write_alien_symbol): Likewise.
759*5e098073Schristos	(coff_write_native_symbol): Likewise.
760*5e098073Schristos	(coff_write_symbols): Likewise.
761*5e098073Schristos	(coff_write_linenumbers): Likewise.
762*5e098073Schristos	(coff_pointerize_aux): Likewise.
763*5e098073Schristos	(coff_get_normalized_symtab): Likewise.
764*5e098073Schristos	(coff_get_symbol_info): Likewise.
765*5e098073Schristos	(bfd_coff_get_syment): Likewise.
766*5e098073Schristos	(bfd_coff_get_auxent): Likewise.
767*5e098073Schristos	(coff_print_symbol): Likewise.
768*5e098073Schristos	(coff_find_nearest_line_with_names): Likewise.
769*5e098073Schristos	(bfd_coff_set_symbol_class): Likewise.
770*5e098073Schristos	(coff_make_empty_symbol): Set the is_sym field.
771*5e098073Schristos	(coff_bfd_make_debug_symbol): Likewise.
772*5e098073Schristos	* peicode.h (pe_ILF_make_a_symbol): Likewise.
773*5e098073Schristos	* libcoff.h: Regenerate.
774*5e098073Schristos	* libcoff-in.h: Regenerate.
775*5e098073Schristos
776*5e098073Schristos2014-11-12  Nick Clifton  <nickc@redhat.com>
777*5e098073Schristos
778*5e098073Schristos	PR binutils/17512
779*5e098073Schristos	* coffcode.h (coff_slurp_line_table): Set the line number of
780*5e098073Schristos	corrupt entries to -1.
781*5e098073Schristos	(coff_slurp_symbol_table): Alway initialise the value of the
782*5e098073Schristos	symbol.
783*5e098073Schristos	* coffgen.c (coff_print_symbol): Check that the combined pointer
784*5e098073Schristos	is valid.
785*5e098073Schristos	(coff_print_symbol): Do not print negative line numbers.
786*5e098073Schristos	* peXXigen.c (pe_print_idata): Add range checking displaying
787*5e098073Schristos	member names.
788*5e098073Schristos
789*5e098073Schristos2014-11-12  Alan Modra  <amodra@gmail.com>
790*5e098073Schristos
791*5e098073Schristos	PR binutils/17512
792*5e098073Schristos	* coffcode.h (coff_slurp_line_table): Drop line number info
793*5e098073Schristos	not preceded by a valid function entry.  Revert last change.
794*5e098073Schristos
795*5e098073Schristos2014-11-11  Nick Clifton  <nickc@redhat.com>
796*5e098073Schristos
797*5e098073Schristos	PR binutils/17512
798*5e098073Schristos	* coffcode.h (coff_slurp_line_table): Initialise the parts of the
799*5e098073Schristos	line number cache that would not be initialised by the copy from
800*5e098073Schristos	the new line number table.
801*5e098073Schristos	(coff_classify_symbol): Allow for _bfd_coff_internal_syment_name
802*5e098073Schristos	returning NULL.
803*5e098073Schristos	* coffgen.c (coff_get_normalized_symbols): Get the external
804*5e098073Schristos	symbols before allocating space for the internal symbols, in case
805*5e098073Schristos	the get fails.
806*5e098073Schristos	* elf.c (_bfd_elf_slurp_version_tables): Only allocate a verref
807*5e098073Schristos	array if one is needed.  Likewise with the verdef array.
808*5e098073Schristos	* peXXigen.c (_bfd_XXi_swap_sym_in): Replace abort()'s with error
809*5e098073Schristos	messages.
810*5e098073Schristos	(_bfd_XXi_swap_aux_in): Make sure that all fields of the aux
811*5e098073Schristos	structure are initialised.
812*5e098073Schristos	(pe_print_edata): Avoid reading off the end of the data buffer.
813*5e098073Schristos
814*5e098073Schristos2014-11-11  Alan Modra  <amodra@gmail.com>
815*5e098073Schristos
816*5e098073Schristos	PR binutils/17512
817*5e098073Schristos	* coffcode.h (coff_slurp_line_table): Use updated lineno_count
818*5e098073Schristos	when building func_table.
819*5e098073Schristos
820*5e098073Schristos2014-11-11  Alan Modra  <amodra@gmail.com>
821*5e098073Schristos
822*5e098073Schristos	PR binutils/17512
823*5e098073Schristos	* coffcode.h (coff_slurp_line_table): Don't bfd_zalloc, just
824*5e098073Schristos	memset the particular bits we need.  Update src after hitting loop
825*5e098073Schristos	"continue".  Don't count lineno omitted due to invalid symbols in
826*5e098073Schristos	nbr_func, and update lineno_count.  Init entire terminating
827*5e098073Schristos	lineno.  Don't both allocating terminator in n_lineno_cache.
828*5e098073Schristos	Redirect sym->lineno pointer to where n_lineno_cache will be
829*5e098073Schristos	copied, and free n_lineno_cache.
830*5e098073Schristos	* pe-mips.c (NUM_HOWTOS): Typo fix.
831*5e098073Schristos
832*5e098073Schristos2014-11-11  Alan Modra  <amodra@gmail.com>
833*5e098073Schristos
834*5e098073Schristos	* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Adjust section
835*5e098073Schristos	size check to account for possible zero terminator.
836*5e098073Schristos
837*5e098073Schristos2014-11-10  James Cowgill  <James.Cowgill@imgtec.com>
838*5e098073Schristos
839*5e098073Schristos	* elfxx-mips.c (_bfd_mips_elf_section_processing): don't force small
840*5e098073Schristos	data sections to be PROGBITS
841*5e098073Schristos
842*5e098073Schristos2014-11-10  Nick Clifton  <nickc@redhat.com>
843*5e098073Schristos
844*5e098073Schristos	PR binutils/17521
845*5e098073Schristos	* coff-i386.c (NUM_HOWTOS): New define.
846*5e098073Schristos	(RTYPE2HOWTO): Use it.
847*5e098073Schristos	(coff_i386_rtype_to_howto): Likewise.
848*5e098073Schristos	(coff_i386_reloc_name_lookup): Likewise.
849*5e098073Schristos	(CALC_ADDEND): Check that reloc r_type field is valid.
850*5e098073Schristos	* coff-x86_64.c (NUM_HOWTOS): New define.
851*5e098073Schristos	(RTYPE2HOWTO): Use it.
852*5e098073Schristos	(coff_amd64_rtype_to_howto): Likewise.
853*5e098073Schristos	(coff_amd64_reloc_name_lookup): Likewise.
854*5e098073Schristos	(CALC_ADDEND): Check that reloc r_type field is valid.
855*5e098073Schristos	* coffcode.h (coff_slurp_line_table): Check for symbol table
856*5e098073Schristos	indexing underflow.
857*5e098073Schristos	(coff_slurp_symbol_table): Use zalloc to ensure that all table
858*5e098073Schristos	entries are initialised.
859*5e098073Schristos	* coffgen.c (_bfd_coff_read_string_table): Initialise unused bits
860*5e098073Schristos	in the string table.  Also ensure that the table is 0 terminated.
861*5e098073Schristos	(coff_get_normalized_symtab): Check for symbol table indexing
862*5e098073Schristos	underflow.
863*5e098073Schristos	* opncls.c (bfd_alloc): Catch the case where a small negative size
864*5e098073Schristos	can result in only 1 byte being allocated.
865*5e098073Schristos	(bfd_alloc2): Use bfd_alloc.
866*5e098073Schristos	* pe-mips.c (NUM_HOWTOS): New define.
867*5e098073Schristos	(coff_mips_reloc_name_lookup): Use it.
868*5e098073Schristos	(CALC_ADDEND): Check that reloc r_type field is valid.
869*5e098073Schristos	* peXXigen.c (_bfd_XXi_swap_aouthdr_in): Initialise unused entries
870*5e098073Schristos	in the DataDirectory.
871*5e098073Schristos	(pe_print_idata): Avoid reading beyond the end of the data block
872*5e098073Schristos	wen printing strings.
873*5e098073Schristos	(pe_print_edata): Likewise.
874*5e098073Schristos	Check for table indexing underflow.
875*5e098073Schristos	* peicode.h (pe_mkobject): Initialise the pe_opthdr field.
876*5e098073Schristos	(pe_bfd_object_p): Allocate and initialize enough space to hold a
877*5e098073Schristos	PEAOUTHDR, even if the opt_hdr field specified less.
878*5e098073Schristos
879*5e098073Schristos2014-11-08  Alan Modra  <amodra@gmail.com>
880*5e098073Schristos
881*5e098073Schristos	* peXXigen.c (pe_print_idata): Revert last patch, cast lhs instead.
882*5e098073Schristos
883*5e098073Schristos2014-11-07  H.J. Lu  <hongjiu.lu@intel.com>
884*5e098073Schristos
885*5e098073Schristos	* peXXigen.c (pe_print_idata): Cast to unsigned long in range
886*5e098073Schristos	checks.
887*5e098073Schristos
888*5e098073Schristos2014-11-07  H.J. Lu  <hongjiu.lu@intel.com>
889*5e098073Schristos
890*5e098073Schristos	PR ld/17482
891*5e098073Schristos	* elf64-x86-64.c (elf_x86_64_relocate_section): Update comments
892*5e098073Schristos	for IE->LE transition.
893*5e098073Schristos
894*5e098073Schristos2014-11-07  Alan Modra  <amodra@gmail.com>
895*5e098073Schristos
896*5e098073Schristos	* tekhex.c (tekhex_set_arch_mach): Ignore unknown arch errors.
897*5e098073Schristos
898*5e098073Schristos2014-11-07  Alan Modra  <amodra@gmail.com>
899*5e098073Schristos
900*5e098073Schristos	* tekhex.c (CHUNK_SPAN): Define.
901*5e098073Schristos	(struct data_struct <chunk_init>): Use one byte per span, update
902*5e098073Schristos	all code accessing this field.
903*5e098073Schristos	(find_chunk): Add create param, don't create new entry unless set.
904*5e098073Schristos	(insert_byte): Don't save zeros.
905*5e098073Schristos	(first_phase): Set section SEC_CODE or SEC_DATA flag depending
906*5e098073Schristos	on symbol type.  Create an alternate section if both types of
907*5e098073Schristos	symbol are given.  Attach type '2' and '6' symbols to absolute
908*5e098073Schristos	section.
909*5e098073Schristos	(move_section_contents): Fix caching of chunk.  Don't create chunk
910*5e098073Schristos	when reading, or for writing zeros.
911*5e098073Schristos	(tekhex_set_section_contents): Don't create initial chunks.
912*5e098073Schristos	(tekhex_write_object_contents): Use CHUNK_SPAN.
913*5e098073Schristos
914*5e098073Schristos2014-11-07  Alan Modra  <amodra@gmail.com>
915*5e098073Schristos
916*5e098073Schristos	* aoutx.h (aout_get_external_symbols): Tidy allocation of symbol buffer.
917*5e098073Schristos
918*5e098073Schristos2014-11-07  Alan Modra  <amodra@gmail.com>
919*5e098073Schristos
920*5e098073Schristos	* archive.c (_bfd_slurp_extended_name_table): Revert bfd_get_size check.
921*5e098073Schristos	* coffcode.h (coff_set_alignment_hook): Likewise.
922*5e098073Schristos	(coff_slurp_line_table): Likewise.
923*5e098073Schristos	* coffgen.c (coff_get_normalized_symtab): Likewise.
924*5e098073Schristos	(_bfd_coff_get_external_symbols): Likewise.
925*5e098073Schristos	* elf.c (bfd_elf_get_str_section): Likewise.
926*5e098073Schristos	* tekhex.c (first_phase): Likewise.
927*5e098073Schristos
928*5e098073Schristos2014-11-06  Nick Clifton  <nickc@redhat.com>
929*5e098073Schristos
930*5e098073Schristos	* aoutx.h (slurp_symbol_table): Revert previous delta.
931*5e098073Schristos	(slurp_reloc_table): Likewise.
932*5e098073Schristos	* compress.c (bfd_get_full_section_contents): Remove file size
933*5e098073Schristos	test.
934*5e098073Schristos	* coffgen.c (coff_get_normalized_symtab): Allow zero-sized symtabs
935*5e098073Schristos	and do not complain about linker generated files.
936*5e098073Schristos
937*5e098073Schristos2014-11-06  Will Newton  <will.newton@linaro.org>
938*5e098073Schristos
939*5e098073Schristos	* elf-attrs.c (_bfd_elf_parse_attributes): Handle zero
940*5e098073Schristos	length sections and sub-sections.
941*5e098073Schristos
942*5e098073Schristos2014-11-04  Nick Clifton  <nickc@redhat.com>
943*5e098073Schristos
944*5e098073Schristos	PR binutils/17512
945*5e098073Schristos	* coffcode.h (handle_COMDAT): Replace abort with BFD_ASSERT.
946*5e098073Schristos	Replace another abort with an error message.
947*5e098073Schristos	(coff_slurp_line_table): Add more range checking.
948*5e098073Schristos	* peXXigen.c (pe_print_debugdata): Add range checking.
949*5e098073Schristos
950*5e098073Schristos2014-11-05  James Cowgill  <james.cowgill@imgtec.com>
951*5e098073Schristos
952*5e098073Schristos	* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Fix segfault
953*5e098073Schristos	when creating a dso with discarded dynsym section.
954*5e098073Schristos
955*5e098073Schristos2014-11-05  Matthew Fortune  <matthew.fortune@imgtec.com>
956*5e098073Schristos
957*5e098073Schristos	* elfxx-mips.c (update_mips_abiflags_isa): Add E_MIPS_ARCH_32R6
958*5e098073Schristos	and E_MIPS_ARCH_64R6 support.
959*5e098073Schristos
960*5e098073Schristos2014-11-05  Nick Clifton  <nickc@redhat.com>
961*5e098073Schristos
962*5e098073Schristos	PR binutils/17512
963*5e098073Schristos	* coffcode.h (coff_set_alignment_hook): Warn if the file lies
964*5e098073Schristos	about the number of relocations it contains.
965*5e098073Schristos	(coff_sort_func_alent): Return 0 if the pointers are NULL.
966*5e098073Schristos	(coff_slurp_line_table): Add more range checks.  Do not free new
967*5e098073Schristos	tables created when sorting line numbers.
968*5e098073Schristos	* peXXigen.c (pe_print_idata): Add range checks.
969*5e098073Schristos	(pe_print_edata): Likewise.
970*5e098073Schristos	(rsrc_print_resource_entries): Likewise.  Avoid printing control
971*5e098073Schristos	characters.  Terminate priniting if corruption is detected.
972*5e098073Schristos	(rsrc_print_resource_directory): Terminate printing if an unknown
973*5e098073Schristos	directory type is encountered.
974*5e098073Schristos	(pe_print_debugdata): Fix off-by-one error.
975*5e098073Schristos	(rsrc_count_entries): Add range checking.
976*5e098073Schristos	(rsrc_parse_entry): Likewise.
977*5e098073Schristos
978*5e098073Schristos2014-11-04  Nick Clifton  <nickc@redhat.com>
979*5e098073Schristos
980*5e098073Schristos	PR binutils/17512
981*5e098073Schristos	* compress.c (bfd_get_full_section_contents): Improve test for
982*5e098073Schristos	linker created objects.
983*5e098073Schristos
984*5e098073Schristos	PR binutils/17533
985*5e098073Schristos	* archive.c (_bfd_slurp_extended_name_table): Handle archives with
986*5e098073Schristos	corrupt extended name tables.
987*5e098073Schristos
988*5e098073Schristos2014-11-04  Alan Modra  <amodra@gmail.com>
989*5e098073Schristos
990*5e098073Schristos	* elf32-spu.c (ovl_mgr_stat): New function.
991*5e098073Schristos	(spu_elf_open_builtin_lib): Pass to bfd_openr_iovec.
992*5e098073Schristos
993*5e098073Schristos2014-11-03  Andrew Burgess  <andrew.burgess@embecosm.com>
994*5e098073Schristos
995*5e098073Schristos	* elf32-avr.c (elf32_avr_relax_delete_bytes): During linker
996*5e098073Schristos	relaxation, reduce the size of symbols that span the deleted
997*5e098073Schristos	bytes.
998*5e098073Schristos
999*5e098073Schristos2014-11-03  Andrew Burgess  <andrew.burgess@embecosm.com>
1000*5e098073Schristos
1001*5e098073Schristos	* elf32-avr.c (elf32_avr_relax_delete_bytes): Modify symbols
1002*5e098073Schristos	located at the very end of the section.
1003*5e098073Schristos
1004*5e098073Schristos2014-11-03  Nick Clifton  <nickc@redhat.com>
1005*5e098073Schristos
1006*5e098073Schristos	PR binutils/17512
1007*5e098073Schristos	* aoutx.h (slurp_symbol_table): Check that computed table size is
1008*5e098073Schristos	not bigger than the file from which is it being read.
1009*5e098073Schristos	(slurp_reloc_table): Likewise.
1010*5e098073Schristos	* coffcode.h (coff_slurp_line_table): Remove unneeded local
1011*5e098073Schristos	'warned'.  Do not try to print the details of a symbol with an
1012*5e098073Schristos	invalid index.
1013*5e098073Schristos	* coffgen.c (make_a_sectiobn_from_file): Check computed string
1014*5e098073Schristos	index against length of string table.
1015*5e098073Schristos	(bfd_coff_internal_syment_name): Check read in string offset
1016*5e098073Schristos	against length of string table.
1017*5e098073Schristos	(build_debug_section): Return a pointer to the section used.
1018*5e098073Schristos	(_bfd_coff_read_string_table): Store the length of the string
1019*5e098073Schristos	table in the coff_tdata structure.
1020*5e098073Schristos	(bfd_coff_free_symbols): Set the length of the string table to
1021*5e098073Schristos	zero when it is freed.
1022*5e098073Schristos	(coff_get_normalized_symtab): Check offsets against string table
1023*5e098073Schristos	or data table lengths as appropriate.
1024*5e098073Schristos	* cofflink.c (_bfd_coff_link_input_bfd): Check offset against
1025*5e098073Schristos	length of string table.
1026*5e098073Schristos	* compress.c (bfd_get_full_section_contents): Check computed size
1027*5e098073Schristos	against the size of the file.
1028*5e098073Schristos	* libcoff-in.h (obj_coff_strings_len): Define.
1029*5e098073Schristos	(struct coff_tdata): Add strings_len field.
1030*5e098073Schristos	* libcoff.h: Regenerate.
1031*5e098073Schristos	* peXXigen.c (pe_print_debugdata): Do not attempt to print the
1032*5e098073Schristos	data if the debug section is too small.
1033*5e098073Schristos	* xcofflink.c (xcoff_link_input_bfd):  Check offset against
1034*5e098073Schristos	length of string table.
1035*5e098073Schristos
1036*5e098073Schristos2014-11-03  Nick Clifton  <nickc@redhat.com>
1037*5e098073Schristos
1038*5e098073Schristos	* po/fi.po: Updated Finnish translation.
1039*5e098073Schristos
1040*5e098073Schristos2014-10-31  Andrew Pinski  <apinski@cavium.com>
1041*5e098073Schristos            Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
1042*5e098073Schristos
1043*5e098073Schristos	* archures.c: Add octeon3 for mips target.
1044*5e098073Schristos	* bfd-in2.h: Regenerate.
1045*5e098073Schristos	* bfd/cpu-mips.c: Define I_mipsocteon3.
1046*5e098073Schristos	nfo_struct): Add octeon3 support.
1047*5e098073Schristos	* bfd/elfxx-mips.c: (_bfd_elf_mips_mach): Add support for
1048*5e098073Schristos	octeon3.
1049*5e098073Schristos	(mips_set_isa_flags): Add support for octeon3.
1050*5e098073Schristos	(bfd_mips_isa_ext): Add bfd_mach_mips_octeon3.
1051*5e098073Schristos	(mips_mach_extensions): Make bfd_mach_mips_octeon3 an
1052*5e098073Schristos	extension of bfd_mach_mips_octeon2.
1053*5e098073Schristos	(print_mips_isa_ext): Print the value of Octeon3.
1054*5e098073Schristos
1055*5e098073Schristos2014-10-31  Nick Clifton  <nickc@redhat.com>
1056*5e098073Schristos
1057*5e098073Schristos	PR binutils/17512
1058*5e098073Schristos	* coffgen.c (_bfd_coff_get_external_symbols): Do not try to load a
1059*5e098073Schristos	symbol table bigger than the file.
1060*5e098073Schristos	* elf.c (bfd_elf_get_str_section): Do not try to load a string
1061*5e098073Schristos	table bigger than the file.
1062*5e098073Schristos	* tekhex.c (first_phase): Check that the section range is sane.
1063*5e098073Schristos
1064*5e098073Schristos2014-10-30  Nick Clifton  <nickc@redhat.com>
1065*5e098073Schristos
1066*5e098073Schristos	PR binutils/17512
1067*5e098073Schristos	* ihex.c (ihex_scan): Fix typo in invocation of ihex_bad_byte.
1068*5e098073Schristos	* coffgen.c (coff_get_normalized_symtab): Prevent buffer overrun.
1069*5e098073Schristos
1070*5e098073Schristos2014-10-29  Nick Clifton  <nickc@redhat.com>
1071*5e098073Schristos
1072*5e098073Schristos	* elf.c (bfd_section_from_shdr): Fix heap use after free memory
1073*5e098073Schristos	leak.
1074*5e098073Schristos
1075*5e098073Schristos2014-10-29  Dennis Brueni  <dbrueni@slickedit.com>
1076*5e098073Schristos
1077*5e098073Schristos	* elf.c (elfcore_write_lwpstatus): Fix typo in call to memcpy.
1078*5e098073Schristos
1079*5e098073Schristos2014-10-28  Nick Clifton  <nickc@redhat.com>
1080*5e098073Schristos
1081*5e098073Schristos	PR binutils/17512
1082*5e098073Schristos	* elf.c (bfd_section_from_shdr): Allocate and free the recursion
1083*5e098073Schristos	detection table on a per-bfd basis.
1084*5e098073Schristos	* peXXigen.c (pe_print_edata): Handle binaries with a truncated
1085*5e098073Schristos	export table.
1086*5e098073Schristos
1087*5e098073Schristos2014-10-28  Andreas Schwab  <schwab@suse.de>
1088*5e098073Schristos	    Nick Clifton  <nickc@redhat.com>
1089*5e098073Schristos
1090*5e098073Schristos	PR binutils/17510
1091*5e098073Schristos	* srec.c (srec_bad_byte): Increase size of buf to allow for
1092*5e098073Schristos	negative values.
1093*5e098073Schristos	(srec_scan): Use an unsigned char buffer to hold header bytes.
1094*5e098073Schristos
1095*5e098073Schristos2014-10-27  Nick Clifton  <nickc@redhat.com>
1096*5e098073Schristos
1097*5e098073Schristos	PR binutils/17512
1098*5e098073Schristos	* elf.c (bfd_section_from_shdr): Detect and warn about ELF
1099*5e098073Schristos	binaries with a group of sections linked by the string table
1100*5e098073Schristos	indicies.
1101*5e098073Schristos	* peXXigen.c (_bfd_XXi_swap_aouthdr_in): Handle corrupt binaries
1102*5e098073Schristos	with an invalid value for NumberOfRvaAndSizes.
1103*5e098073Schristos	(pe_print_edata): Detect out of range rvas and entry counts for
1104*5e098073Schristos	the Export Address table, Name Pointer table and Ordinal table.
1105*5e098073Schristos
1106*5e098073Schristos	PR binutils/17510
1107*5e098073Schristos	* elf.c (setup_group): Improve handling of corrupt group
1108*5e098073Schristos	sections.
1109*5e098073Schristos
1110*5e098073Schristos2014-10-24  Tejas Belagod  <tejas.belagod@arm.com>
1111*5e098073Schristos
1112*5e098073Schristos	* bfd-in.h (bfd_elf64_aarch64_set_options): Add a parameter.
1113*5e098073Schristos	* bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
1114*5e098073Schristos	* elfnn-aarch64.c (aarch64_erratum_835769_stub): New.
1115*5e098073Schristos	(elf_aarch64_stub_type): Add new type
1116*5e098073Schristos	aarch64_stub_erratum_835769_veneer.
1117*5e098073Schristos	(elf_aarch64_stub_hash_entry): New fields for erratum 835769.
1118*5e098073Schristos	(aarch64_erratum_835769_fix): New data struct to record erratum
1119*5e098073Schristos	835769.
1120*5e098073Schristos	(elf_aarch64_link_hash_table: Global flags for 835769.
1121*5e098073Schristos	(aarch64_build_one_stub): Add case for 835769.
1122*5e098073Schristos	(aarch64_size_one_stub): Likewise.
1123*5e098073Schristos	(aarch64_mem_op_p, aarch64_mlxl_p,
1124*5e098073Schristos	aarch64_erratum_sequence,erratum_835769_scan):
1125*5e098073Schristos	New. Decode and scan functions for erratum 835769.
1126*5e098073Schristos	(elf_aarch64_create_or_find_stub_sec): New.
1127*5e098073Schristos	(elfNN_aarch64_size_stubs): Look for erratum 835769 and record
1128*5e098073Schristos	them.
1129*5e098073Schristos	(bfd_elfNN_aarch64_set_options: Set global flag for 835769.
1130*5e098073Schristos	(erratum_835769_branch_to_stub_data,
1131*5e098073Schristos	make_branch_to_erratum_835769_stub):New. Connect up all the
1132*5e098073Schristos	erratum stubs to occurances by branches.
1133*5e098073Schristos	(elfNN_aarch64_write_section): New hook.
1134*5e098073Schristos	(aarch64_map_one_stub): Output erratum stub symbol.
1135*5e098073Schristos	(elfNN_aarch64_size_dynamic_sections): Init mapping symbol
1136*5e098073Schristos	information for erratum 835769.
1137*5e098073Schristos	(elf_backend_write_section): Define.
1138*5e098073Schristos
1139*5e098073Schristos2014-10-23  Victor Kamensky  <victor.kamensky@linaro.org>
1140*5e098073Schristos
1141*5e098073Schristos	* elf32-arm.c (read_code32): New function to read 32 bit
1142*5e098073Schristos	arm instruction.
1143*5e098073Schristos	(read_code16): New function to read 16 bit thumb instrution.
1144*5e098073Schristos	(elf32_arm_plt0_size, elf32_arm_plt_size): Use read_code32
1145*5e098073Schristos	and read_code16 to read instructions.
1146*5e098073Schristos
1147*5e098073Schristos2014-10-22  Matthew Fortune  <matthew.fortune@imgtec.com>
1148*5e098073Schristos
1149*5e098073Schristos	* elfxx-mips.c (print_mips_ases): Print unknown ASEs.
1150*5e098073Schristos	(print_mips_isa_ext): Print the value of an unknown extension.
1151*5e098073Schristos
1152*5e098073Schristos2014-10-21  Alan Modra  <amodra@gmail.com>
1153*5e098073Schristos
1154*5e098073Schristos	* elf64-ppc.c (ppc64_elf_tls_optimize): Ignore relocs against toc
1155*5e098073Schristos	entries that aren't a multiple of 8 rather than failing assertion.
1156*5e098073Schristos
1157*5e098073Schristos2014-10-21  Alan Modra  <amodra@gmail.com>
1158*5e098073Schristos
1159*5e098073Schristos	* elf64-ppc.c (ppc64_elf_size_stubs): Add gcc-4.9 libgomp functions
1160*5e098073Schristos	to thread_starter.
1161*5e098073Schristos
1162*5e098073Schristos2014-10-18  Alan Modra  <amodra@gmail.com>
1163*5e098073Schristos
1164*5e098073Schristos	* elf64-ppc.c (ppc64_elf_add_symbol_hook): If function code
1165*5e098073Schristos	section for function symbols defined in .opd is discarded, let
1166*5e098073Schristos	the symbol appear to be undefined.
1167*5e098073Schristos	(opd_entry_value): Ensure the result section is that for the
1168*5e098073Schristos	function code section in the same object as the OPD entry.
1169*5e098073Schristos
1170*5e098073Schristos2014-10-16  Alan Modra  <amodra@gmail.com>
1171*5e098073Schristos
1172*5e098073Schristos	PR 17492
1173*5e098073Schristos	* elf32-arm.c (elf32_arm_add_symbol_hook): Only set has_gnu_symbols
1174*5e098073Schristos	on ELF output bfd.
1175*5e098073Schristos	* elf32-i386.c (elf_i386_add_symbol_hook): Likewise.
1176*5e098073Schristos	* elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
1177*5e098073Schristos	* elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
1178*5e098073Schristos	* elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
1179*5e098073Schristos	* elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
1180*5e098073Schristos	* elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
1181*5e098073Schristos	* elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
1182*5e098073Schristos	* elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
1183*5e098073Schristos	* elf-s390-common.c (elf_s390_add_symbol_hook): Likewise.  Handle
1184*5e098073Schristos	STB_GNU_UNIQUE too.
1185*5e098073Schristos
1186*5e098073Schristos2014-10-16  Alan Modra  <amodra@gmail.com>
1187*5e098073Schristos
1188*5e098073Schristos	* elf64-ppc.c (ppc64_elf_before_check_relocs): Do .opd processing
1189*5e098073Schristos	even when output is not ppc64 ELF.  Remove redundant tests on
1190*5e098073Schristos	type of input bfd.
1191*5e098073Schristos
1192*5e098073Schristos2014-10-15  Alan Modra  <amodra@gmail.com>
1193*5e098073Schristos
1194*5e098073Schristos	PR 17481
1195*5e098073Schristos	* aoutx.h (NAME (aout, find_nearest_line)): Add "discriminator_ptr"
1196*5e098073Schristos	param, group "section" and "offset" params.  Zero discriminator.
1197*5e098073Schristos	* bfd.c (bfd_find_nearest_line): Implement with new
1198*5e098073Schristos	_bfd_find_nearest_line.
1199*5e098073Schristos	(bfd_find_nearest_line_discriminator): Likewise.
1200*5e098073Schristos	* coff-i386.c (_bfd_generic_find_nearest_line_discriminator): Don't
1201*5e098073Schristos	define.
1202*5e098073Schristos	* coff-rs6000.c (xcoff_find_nearest_line,
1203*5e098073Schristos	xcoff_find_nearest_line_discriminator): Delete.
1204*5e098073Schristos	(_bfd_xcoff_find_nearest_line): Don't define.
1205*5e098073Schristos	(_bfd_xcoff_find_nearest_line): Define as coff_find_nearest_line.
1206*5e098073Schristos	* coff-x86_64.c (_bfd_generic_find_nearest_line_discriminator): Don't
1207*5e098073Schristos	define.
1208*5e098073Schristos	* coff64-rs6000.c (rs6000_xcoff64_vec, rs6000_xcoff64_aix_vec): Adjust.
1209*5e098073Schristos	* coffgen.c (coff_find_nearest_line_with_names): Reorder params,
1210*5e098073Schristos	adjust _bfd_dwarf2_find_nearest_line call.
1211*5e098073Schristos	(coff_find_nearest_line): Add "discriminator_ptr" param, reorder
1212*5e098073Schristos	others.  Set discriminator.  Adjust call.
1213*5e098073Schristos	(coff_find_nearest_line_discriminator): Delete.
1214*5e098073Schristos	* dwarf1.c (_bfd_dwarf1_find_nearest_line): Reorder params.
1215*5e098073Schristos	* dwarf2.c (find_line): Rename to..
1216*5e098073Schristos	(_bfd_dwarf2_find_nearest_line): ..this, reordering params.
1217*5e098073Schristos	Simplify setting of do_line.  Delete old function.
1218*5e098073Schristos	(_bfd_dwarf2_find_line): Delete.
1219*5e098073Schristos	* ecoff.c (_bfd_ecoff_find_nearest_line): Reorder params, add
1220*5e098073Schristos	discriminator_ptr and set it.
1221*5e098073Schristos	* elf-bfd.h (_bfd_elf_find_nearest_line): Update prototype.
1222*5e098073Schristos	(_bfd_elf_find_nearest_line_discriminator): Delete.
1223*5e098073Schristos	(_bfd_elf_find_line_discriminator): Delete.
1224*5e098073Schristos	(_bfd_generic_find_nearest_line_discriminator): Don't define.
1225*5e098073Schristos	* elf.c (elf_find_function): Reorder params.
1226*5e098073Schristos	(_bfd_elf_find_nearest_line): Reorder params, add discriminator_ptr.
1227*5e098073Schristos	Adjust calls.
1228*5e098073Schristos	(_bfd_elf_find_nearest_line_discriminator): Delete.
1229*5e098073Schristos	(_bfd_elf_find_line): Adjust call.
1230*5e098073Schristos	* elf32-arm.c (arm_elf_find_function): Reorder params.
1231*5e098073Schristos	(elf32_arm_find_nearest_line): Reorder params, add discriminator_ptr.
1232*5e098073Schristos	Adjust calls.
1233*5e098073Schristos	* elf64-alpha.c (elf64_alpha_find_nearest_line): Similarly.
1234*5e098073Schristos	* elfnn-aarch64.c (aarch64_elf_find_function): Reorder params.
1235*5e098073Schristos	(elfNN_aarch64_find_nearest_line): Reorder params, add
1236*5e098073Schristos	discriminator_ptr.  Adjust calls.
1237*5e098073Schristos	* elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Similarly.
1238*5e098073Schristos	* elfxx-mips.h (_bfd_mips_elf_find_nearest_line): Update prototype.
1239*5e098073Schristos	* libaout.h (NAME (aout, find_nearest_line)): Update prototype.
1240*5e098073Schristos	* libbfd-in.h (_bfd_nosymbols_find_nearest_line): Update.
1241*5e098073Schristos	(_bfd_dwarf1_find_nearest_line): Likewise.
1242*5e098073Schristos	(_bfd_dwarf2_find_nearest_line): Likewise.
1243*5e098073Schristos	(_bfd_dwarf2_find_line): Delete.
1244*5e098073Schristos	(_bfd_generic_find_nearest_line_discriminator): Delete.
1245*5e098073Schristos	* libbfd.c (_bfd_generic_find_nearest_line_discriminator): Delete.
1246*5e098073Schristos	* libcoff-in.h (coff_find_nearest_line): Update prototype.
1247*5e098073Schristos	(coff_find_nearest_line_discriminator): Delete.
1248*5e098073Schristos	(coff_find_nearest_line_with_names): Update prototype.
1249*5e098073Schristos	* libecoff.h (_bfd_ecoff_find_nearest_line): Update prototype.
1250*5e098073Schristos	* mach-o.c (bfd_mach_o_find_nearest_line): Reorder params, add
1251*5e098073Schristos	discriminator_ptr.  Adjust calls.
1252*5e098073Schristos	* mach-o.h (bfd_mach_o_find_nearest_line): Update prototype.
1253*5e098073Schristos	* pdp11.c (NAME (aout, find_nearest_line)): Reorder params, add
1254*5e098073Schristos	discriminator_ptr and set.
1255*5e098073Schristos	* som.c (som_find_nearest_line): Similarly.
1256*5e098073Schristos	* targets.c (BFD_JUMP_TABLE_SYMBOLS): Delete entry for
1257*5e098073Schristos	_bfd_find_nearest_line_discriminator.
1258*5e098073Schristos	(struct bfd_target <_bfd_find_nearest_line>): Adjust prototype.
1259*5e098073Schristos	(struct bfd_target <_bfd_find_nearest_line_discriminator>): Delete.
1260*5e098073Schristos	* vms-alpha.c (_bfd_vms_find_nearest_dst_line): Rename to..
1261*5e098073Schristos	(_bfd_vms_find_nearest_line): ..this.  Reorder params, add
1262*5e098073Schristos	"discriminator" and set.
1263*5e098073Schristos	(_bfd_vms_find_nearest_line_discriminator): Delete.
1264*5e098073Schristos	(_bfd_generic_find_nearest_line_discriminator): Don't define.
1265*5e098073Schristos	(alpha_vms_find_nearest_line): Update define.
1266*5e098073Schristos	* bfd-in2.h: Regenerate.
1267*5e098073Schristos	* libbfd.h: Regenerate.
1268*5e098073Schristos	* libcoff.h: Regenerate.
1269*5e098073Schristos
1270*5e098073Schristos2014-10-15  Alan Modra  <amodra@gmail.com>
1271*5e098073Schristos
1272*5e098073Schristos	* targets.c (BFD_JUMP_TABLE_SYMBOLS): Use NAME##_find_line.
1273*5e098073Schristos	* aout-adobe.c (aout_32_find_line): Define.
1274*5e098073Schristos	(aout_32_bfd_make_debug_symbol, aout_32_bfd_reloc_type_lookup,
1275*5e098073Schristos	aout_32_bfd_reloc_name_lookup): Define using _bfd_nosymbols define.
1276*5e098073Schristos	* aout-target.h (MY_find_line): Define.
1277*5e098073Schristos	* aout-tic30.c (MY_find_line): Define.
1278*5e098073Schristos	* binary.c (binary_find_line): Define.
1279*5e098073Schristos	* bout.c (aout_32_find_line): Define.
1280*5e098073Schristos	* coff-rs6000.c (_bfd_xcoff_find_line): Define.
1281*5e098073Schristos	* coff64-rs6000.c (rs6000_xcoff64_vec): Use coff_find_line.
1282*5e098073Schristos	(rs6000_xcoff64_aix_vec): Likewise.
1283*5e098073Schristos	* elf-bfd.h (_bfd_generic_find_line): Don't define.
1284*5e098073Schristos	* elfxx-target.h (bfd_elfNN_find_line): Define.
1285*5e098073Schristos	* i386msdos.c (msdos_find_line): Define.
1286*5e098073Schristos	* i386os9k.c (aout_32_find_line): Define.
1287*5e098073Schristos	* ieee.c (ieee_find_nearest_line, ieee_find_inliner_info): Delete func.
1288*5e098073Schristos	(ieee_find_nearest_line, ieee_find_line,
1289*5e098073Schristos	ieee_find_inliner_info): Define.
1290*5e098073Schristos	* ihex.c (ihex_find_line): Define.
1291*5e098073Schristos	* libbfd-in.h (_bfd_nosymbols_find_line): Define.
1292*5e098073Schristos	(_bfd_generic_find_line): Don't define.
1293*5e098073Schristos	* libbfd.c (_bfd_generic_find_line): Delete.
1294*5e098073Schristos	* libcoff-in.h (coff_find_line): Define.
1295*5e098073Schristos	* libecoff.h (_bfd_ecoff_find_line): Define.
1296*5e098073Schristos	* mach-o.h (bfd_mach_o_find_line): Define.
1297*5e098073Schristos	* mmo.c (mmo_find_line): Define.
1298*5e098073Schristos	* nlm-target.h (nlm_find_line): Define.
1299*5e098073Schristos	* oasys.c (oasys_find_nearest_line, oasys_find_inliner_info): Delete.
1300*5e098073Schristos	(oasys_find_nearest_line, oasys_find_line,
1301*5e098073Schristos	oasys_find_inliner_info): Define.
1302*5e098073Schristos	* pef.c (bfd_pef_find_line): Define.
1303*5e098073Schristos	* plugin.c (bfd_plugin_find_line): Define.
1304*5e098073Schristos	* ppcboot.c (ppcboot_find_line): Define.
1305*5e098073Schristos	* som.c (som_find_line): Define.
1306*5e098073Schristos	* srec.c (srec_find_line): Define.
1307*5e098073Schristos	* tekhex.c (tekhex_find_line): Define.
1308*5e098073Schristos	* versados.c (versados_find_line): Define.
1309*5e098073Schristos	* vms-alpha.c (alpha_vms_find_line): Define.
1310*5e098073Schristos	* xsym.c (bfd_sym_find_line): Define.
1311*5e098073Schristos	* bfd-in2.h: Regenerate.
1312*5e098073Schristos	* libbfd.h: Regenerate.
1313*5e098073Schristos	* libcoff.h: Regenerate.
1314*5e098073Schristos
1315*5e098073Schristos2014-10-15  Tristan Gingold  <gingold@adacore.com>
1316*5e098073Schristos
1317*5e098073Schristos	* version.m4: Bump version to 2.25.51
1318*5e098073Schristos	* configure: Regenerate.
1319*5e098073Schristos
1320*5e098073Schristos2014-10-14  H.J. Lu  <hongjiu.lu@intel.com>
1321*5e098073Schristos
1322*5e098073Schristos	* elf32-i386.c (elf_i386_convert_mov_to_lea): Skip if relocation
1323*5e098073Schristos	offset is less than 2.
1324*5e098073Schristos	* elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
1325*5e098073Schristos
1326*5e098073Schristos2014-10-14  Alan Modra  <amodra@gmail.com>
1327*5e098073Schristos
1328*5e098073Schristos	PR 17453
1329*5e098073Schristos	* libbfd.c (COERCE16, COERCE32, COERCE64): Use unsigned types.
1330*5e098073Schristos	(EIGHT_GAZILLION): Delete.
1331*5e098073Schristos
1332*5e098073Schristos2014-10-13  Alan Modra  <amodra@gmail.com>
1333*5e098073Schristos
1334*5e098073Schristos	PR 17467
1335*5e098073Schristos	* elf-eh-frame.c (ENSURE_NO_RELOCS): Don't stop at first NONE reloc.
1336*5e098073Schristos	(_bfd_elf_parse_eh_frame): When relocatable output, don't set
1337*5e098073Schristos	flags enabling conversion of CIEs and FDEs to use relative encoding.
1338*5e098073Schristos	(find_merged_cie): Similarly.
1339*5e098073Schristos	(_bfd_elf_write_section_eh_frame): Don't edit FDEs when
1340*5e098073Schristos	relocatable, except for CIE pointer.
1341*5e098073Schristos	* elflink.c (bfd_elf_reloc_symbol_deleted_p): Return true for
1342*5e098073Schristos	relocs against symbols in dropped comdat group sections.
1343*5e098073Schristos	(bfd_elf_discard_info): Do some eh_frame optimisation when
1344*5e098073Schristos	relocatable.
1345*5e098073Schristos
1346*5e098073Schristos2014-10-09  Jose E. Marchesi  <jose.marchesi@oracle.com>
1347*5e098073Schristos
1348*5e098073Schristos	* elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Handle
1349*5e098073Schristos	the hwcaps2 object attribute.
1350*5e098073Schristos
1351*5e098073Schristos2014-10-04  Alan Modra  <amodra@gmail.com>
1352*5e098073Schristos
1353*5e098073Schristos	PR 17447
1354*5e098073Schristos	* elf-bfd.h (struct eh_cie_fde): Comment re NULL u.fde.cie_inf.
1355*5e098073Schristos	* elf-eh-frame.c (_bfd_elf_parse_eh_frame): Mark zero address
1356*5e098073Schristos	range FDEs for discarding.
1357*5e098073Schristos	(vma_compare): Sort on range after address.
1358*5e098073Schristos	(_bfd_elf_gc_mark_fdes): Test for NULL u.fde.cie_inf.
1359*5e098073Schristos	(_bfd_elf_discard_section_eh_frame): Likewise.  Write "FDE" in
1360*5e098073Schristos	error message rather than "fde".
1361*5e098073Schristos	(_bfd_elf_write_section_eh_frame_hdr): Write "PC" and "FDE" in
1362*5e098073Schristos	error message.
1363*5e098073Schristos
1364*5e098073Schristos2014-09-29  H.J. Lu  <hongjiu.lu@intel.com>
1365*5e098073Schristos
1366*5e098073Schristos	PR ld/17440
1367*5e098073Schristos	* elf32-i386.c (elf_i386_fbsd_post_process_headers): Fix build
1368*5e098073Schristos	for OLD_FREEBSD_ABI_LABEL.
1369*5e098073Schristos
1370*5e098073Schristos2014-09-24  Markus Trippelsdorf  <markus@trippelsdorf.de>
1371*5e098073Schristos
1372*5e098073Schristos	PR 17422
1373*5e098073Schristos	* plugin.c (try_claim): New function. Moved from
1374*5e098073Schristos	bfd_plugin_object_p.
1375*5e098073Schristos	(try_load_plugin): Pass through bfd. Add test.
1376*5e098073Schristos	(load_plugin): Pass through bfd.
1377*5e098073Schristos	(bfd_plugin_object_p): Move logic to try_claim.
1378*5e098073Schristos
1379*5e098073Schristos2014-09-23  Sterling Augustine  <augustine.sterling@gmail.com>
1380*5e098073Schristos
1381*5e098073Schristos	* elf32-xtensa.c (is_resolvable_asm_expansion): for cross-section
1382*5e098073Schristos	call relaxation use furthermost addresses where call source and
1383*5e098073Schristos	destination can be to check whether it's in the range of a direct
1384*5e098073Schristos	call.
1385*5e098073Schristos
1386*5e098073Schristos2014-09-22  Alan Modra  <amodra@gmail.com>
1387*5e098073Schristos
1388*5e098073Schristos	* elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): Don't return
1389*5e098073Schristos	false for overflow or overlapping FDEs.  Give more detail in
1390*5e098073Schristos	error messages.
1391*5e098073Schristos
1392*5e098073Schristos2014-09-22  Andrew Bennett  <andrew.bennett@imgtec.com>
1393*5e098073Schristos
1394*5e098073Schristos	* elfxx-mips.c (mips_elf_calculate_relocation): Don't sign extend
1395*5e098073Schristos	the addend if relocations are RELA.
1396*5e098073Schristos
1397*5e098073Schristos2014-09-22  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
1398*5e098073Schristos
1399*5e098073Schristos	* elf32-nds32.c (nds32_elf_ex9_build_hash_table,
1400*5e098073Schristos	nds32_elf_ex9_relocation_check): Synchronize the argument type.
1401*5e098073Schristos
1402*5e098073Schristos2014-09-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
1403*5e098073Schristos
1404*5e098073Schristos	* elf32-s390.c: Don't replace R_390_TLS_LE32 with R_390_TLS_TPOFF
1405*5e098073Schristos	for PIE.
1406*5e098073Schristos	* elf64-s390.c: Don't replace R_390_TLS_LE64 with R_390_TLS_TPOFF
1407*5e098073Schristos	for PIE.
1408*5e098073Schristos
1409*5e098073Schristos2014-09-18  Jan Kratochvil  <jan.kratochvil@redhat.com>
1410*5e098073Schristos
1411*5e098073Schristos	PR gdb/17407
1412*5e098073Schristos	* elfcode.h (bfd_from_remote_memory): Use SIZE for HIGH_OFFSET.
1413*5e098073Schristos
1414*5e098073Schristos2014-09-16  Terry Guo  <terry.guo@arm.com>
1415*5e098073Schristos
1416*5e098073Schristos	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Return false if
1417*5e098073Schristos	failed to merge.
1418*5e098073Schristos
1419*5e098073Schristos2014-09-16  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
1420*5e098073Schristos
1421*5e098073Schristos	* bfd-in2.h: Regenerate.
1422*5e098073Schristos	* elf32-nds32.c (nds32_elf_mkobject): Hook bfd_elf32_mkobject.
1423*5e098073Schristos	(nds32_elf_relax_section): Code refactoring.
1424*5e098073Schristos	(nds32_elf_relax_longcall1, nds32_elf_relax_longcall2,
1425*5e098073Schristos	nds32_elf_relax_longcall3, nds32_elf_relax_longcall4,
1426*5e098073Schristos	nds32_elf_relax_longcall5, nds32_elf_relax_longcall6): Relax call
1427*5e098073Schristos	pattern. The first three is moved from nds32_elf_relax_section,
1428*5e098073Schristos	and the last three is new function.
1429*5e098073Schristos	(nds32_elf_relax_longjump1, nds32_elf_relax_longjump2,
1430*5e098073Schristos	nds32_elf_relax_longjump3, nds32_elf_relax_longjump4,
1431*5e098073Schristos	nds32_elf_relax_longjump5, nds32_elf_relax_longjump6,
1432*5e098073Schristos	nds32_elf_relax_longjump7): Relax condition branch pattern. The	first
1433*5e098073Schristos	three is moved from nds32_elf_relax_section, and the last four
1434*5e098073Schristos	is new function.
1435*5e098073Schristos	(nds32_elf_relax_loadstore, nds32_elf_relax_lo12): Relax load-store
1436*5e098073Schristos	pattern and address setting pattern.
1437*5e098073Schristos	(nds32_elf_relax_piclo12, nds32_elf_relax_ptr,
1438*5e098073Schristos	nds32_elf_relax_pltgot_suff, nds32_elf_relax_got_suff,
1439*5e098073Schristos	nds32_elf_relax_gotoff_suff): Relax pic pattern.
1440*5e098073Schristos	(nds32_elf_relax_letlslo12, nds32_elf_relax_letlsadd,
1441*5e098073Schristos	nds32_elf_relax_letlsls): Relax TLS pattern.
1442*5e098073Schristos	(nds32_relax_adjust_label): Adjust alignment and nop.
1443*5e098073Schristos	(nds32_elf_pick_relax): Choose relaxation optimization.
1444*5e098073Schristos	(nds32_elf_get_relocated_section_contents): New hook.
1445*5e098073Schristos	(nds32_elf_order_insn_times, nds32_elf_ex9_build_itable): Release ex9
1446*5e098073Schristos	table 234th entry.
1447*5e098073Schristos	* elf32-nds32.h: Declare.
1448*5e098073Schristos	* libbfd.h: Regenerate.
1449*5e098073Schristos	* reloc.c: Add nds32 new relocations.
1450*5e098073Schristos
1451*5e098073Schristos2014-09-15  Chen Gang  <gang.chen.5i5j@gmail.com>
1452*5e098073Schristos
1453*5e098073Schristos	* dwarf2.c (find_abstract_instance_name): Use 'form' instead of
1454*5e098073Schristos	'name' for the typo issue, which related with commit
1455*5e098073Schristos	60d77146a249ae9b51d7ce98930cdbedb2cfa352.
1456*5e098073Schristos
1457*5e098073Schristos2014-09-15  Andrew Bennett  <andrew.bennett@imgtec.com>
1458*5e098073Schristos	    Matthew Fortune  <matthew.fortune@imgtec.com>
1459*5e098073Schristos
1460*5e098073Schristos	* aoutx.h (NAME (aout, machine_type)): Add mips32r6 and mips64r6.
1461*5e098073Schristos	* archures.c (bfd_architecture): Likewise.
1462*5e098073Schristos	* bfd-in2.h (bfd_architecture): Likewise.
1463*5e098073Schristos	(bfd_reloc_code_real): Add relocs BFD_RELOC_MIPS_21_PCREL_S2,
1464*5e098073Schristos	BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3 and
1465*5e098073Schristos	BFD_RELOC_MIPS_19_PCREL_S2.
1466*5e098073Schristos	* cpu-mips.c (arch_info_struct): Add mips32r6 and mips64r6.
1467*5e098073Schristos	* elf32-mips.c: Define relocs R_MIPS_PC21_S2, R_MIPS_PC26_S2
1468*5e098073Schristos	R_MIPS_PC18_S3, R_MIPS_PC19_S2, R_MIPS_PCHI16 and R_MIPS_PCLO16.
1469*5e098073Schristos	(mips_reloc_map): Add entries for BFD_RELOC_MIPS_21_PCREL_S2,
1470*5e098073Schristos	BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3,
1471*5e098073Schristos	BFD_RELOC_MIPS_19_PCREL_S2, BFD_RELOC_HI16_S_PCREL and
1472*5e098073Schristos	BFD_RELOC_LO16_PCREL.
1473*5e098073Schristos	* elf64-mips.c: Define REL, and RELA relocations R_MIPS_PC21_S2,
1474*5e098073Schristos	R_MIPS_PC26_S2, R_MIPS_PC18_S3, R_MIPS_PC19_S2, R_MIPS_PCHI16
1475*5e098073Schristos	and R_MIPS_PCLO16.
1476*5e098073Schristos	(mips_reloc_map): Add entries for BFD_RELOC_MIPS_21_PCREL_S2,
1477*5e098073Schristos	BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3,
1478*5e098073Schristos	BFD_RELOC_MIPS_19_PCREL_S2, BFD_RELOC_HI16_S_PCREL and
1479*5e098073Schristos	BFD_RELOC_LO16_PCREL.
1480*5e098073Schristos	* elfn32-mips.c: Likewise.
1481*5e098073Schristos	* elfxx-mips.c (MIPSR6_P): New define.
1482*5e098073Schristos	(mipsr6_exec_plt_entry): New array.
1483*5e098073Schristos	(hi16_reloc_p): Add support for R_MIPS_PCHI16.
1484*5e098073Schristos	(lo16_reloc_p): Add support for R_MIPS_PCLO16.
1485*5e098073Schristos	(aligned_pcrel_reloc_p): New function.
1486*5e098073Schristos	(mips_elf_relocation_needs_la25_stub): Add support for relocs:
1487*5e098073Schristos	R_MIPS_PC21_S2 and R_MIPS_PC26_S2.
1488*5e098073Schristos	(mips_elf_calculate_relocation): Add support for relocs:
1489*5e098073Schristos	R_MIPS_PC21_S2, R_MIPS_PC26_S2, R_MIPS_PC18_S3, R_MIPS_PC19_S2,
1490*5e098073Schristos	R_MIPS_PCHI16 and R_MIPS_PCLO16.
1491*5e098073Schristos	(_bfd_elf_mips_mach): Add support for mips32r6 and mips64r6.
1492*5e098073Schristos	(mips_elf_add_lo16_rel_addend): Add support for R_MIPS_PCHI16.
1493*5e098073Schristos	(_bfd_mips_elf_check_relocs): Add support for relocs:
1494*5e098073Schristos	R_MIPS_PC21_S2 and R_MIPS_PC26_S2.
1495*5e098073Schristos	(_bfd_mips_elf_relocate_section): Add a check for unaligned
1496*5e098073Schristos	pc relative relocs.
1497*5e098073Schristos	(_bfd_mips_elf_finish_dynamic_symbol): Add support for MIPS r6
1498*5e098073Schristos	plt entry.
1499*5e098073Schristos	(mips_set_isa_flags): Add support for mips32r6 and mips64r6.
1500*5e098073Schristos	(_bfd_mips_elf_print_private_bfd_data): Likewise.
1501*5e098073Schristos	(mips_32bit_flags_p): Add support for mips32r6.
1502*5e098073Schristos	* libbfd.h (bfd_reloc_code_real_names): Add entries for
1503*5e098073Schristos	BFD_RELOC_MIPS_21_PCREL_S2, BFD_RELOC_MIPS_26_PCREL_S2,
1504*5e098073Schristos	BFD_RELOC_MIPS_18_PCREL_S3 and BFD_RELOC_MIPS_19_PCREL_S2.
1505*5e098073Schristos	* reloc.c: Document relocs BFD_RELOC_MIPS_21_PCREL_S2,
1506*5e098073Schristos	BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3 and
1507*5e098073Schristos	BFD_RELOC_MIPS_19_PCREL_S2.
1508*5e098073Schristos	* config.bfd: Add mips*-img-elf* target triple.
1509*5e098073Schristos
1510*5e098073Schristos2014-09-12  Andrew Bennett  <andrew.bennett@imgtec.com>
1511*5e098073Schristos
1512*5e098073Schristos	* config.bfd: Add mips*-img-elf* target triple.
1513*5e098073Schristos
1514*5e098073Schristos2014-09-12  Alan Modra  <amodra@gmail.com>
1515*5e098073Schristos
1516*5e098073Schristos	* elf-bfd.h (struct eh_frame_array_ent): Add "range".
1517*5e098073Schristos	* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Stash address
1518*5e098073Schristos	range of FDEs to hdr_info->array.
1519*5e098073Schristos	(_bfd_elf_write_section_eh_frame_hdr): Report overflow in
1520*5e098073Schristos	.eh_frame_hdr entries, and overlapping FDEs.
1521*5e098073Schristos
1522*5e098073Schristos2014-09-10  Alan Modra  <amodra@gmail.com>
1523*5e098073Schristos
1524*5e098073Schristos	* elf.c (assign_file_positions_except_relocs): Move section header
1525*5e098073Schristos	placement to..
1526*5e098073Schristos	(_bfd_elf_assign_file_positions_for_relocs): ..here.  Make static.
1527*5e098073Schristos	* elf-bfd.h (_bfd_elf_assign_file_positions_for_relocs): Delete.
1528*5e098073Schristos	* elflink.c (bfd_elf_final_link): Don't call above function.
1529*5e098073Schristos
1530*5e098073Schristos2014-08-30  Alan Modra  <amodra@gmail.com>
1531*5e098073Schristos
1532*5e098073Schristos	* elf32-ppc.c (ppc_elf_relax_section): Fix off by one error.
1533*5e098073Schristos
1534*5e098073Schristos2014-08-29  Alan Modra  <amodra@gmail.com>
1535*5e098073Schristos
1536*5e098073Schristos	* elf64-ppc.c (ppc64_elf_relocate_section): Report a different
1537*5e098073Schristos	error for calls via a toc adjusting stub without a nop.
1538*5e098073Schristos
1539*5e098073Schristos2014-08-29  Alan Modra  <amodra@gmail.com>
1540*5e098073Schristos
1541*5e098073Schristos	* vms-alpha.c (alpha_vma_object_p): Don't return file_truncated
1542*5e098073Schristos	error.  Remove redundant bfd_set_error.
1543*5e098073Schristos
1544*5e098073Schristos2014-08-29  Alan Modra  <amodra@gmail.com>
1545*5e098073Schristos
1546*5e098073Schristos	* srec.c (srec_scan): Revert last change.  Report an error for
1547*5e098073Schristos	S-records with less than the miniumum byte count.
1548*5e098073Schristos
1549*5e098073Schristos2014-08-28  H.J. Lu  <hongjiu.lu@intel.com>
1550*5e098073Schristos
1551*5e098073Schristos	* srec.c (srec_scan): Return error for 0 size.
1552*5e098073Schristos
1553*5e098073Schristos2014-08-27  H.J. Lu  <hongjiu.lu@intel.com>
1554*5e098073Schristos
1555*5e098073Schristos	PR ld/17306
1556*5e098073Schristos	* elf32-i386.c (elf_i386_convert_mov_to_lea): Use bfd_is_abs_section
1557*5e098073Schristos	to check discarded input section.
1558*5e098073Schristos	* elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
1559*5e098073Schristos
1560*5e098073Schristos2014-08-27  H.J. Lu  <hongjiu.lu@intel.com>
1561*5e098073Schristos
1562*5e098073Schristos	PR ld/17313
1563*5e098073Schristos	* elflink.c (elf_link_add_object_symbols): Don't attach dynamic
1564*5e098073Schristos	sections to input from ld --just-symbols.
1565*5e098073Schristos
1566*5e098073Schristos2014-08-26  DJ Delorie  <dj@redhat.com>
1567*5e098073Schristos
1568*5e098073Schristos	* elf32-rl78.c (rl78_elf_relax_section): Disambiguate test for
1569*5e098073Schristos	relaxation type.
1570*5e098073Schristos
1571*5e098073Schristos2014-08-26  Jiong Wang  <jiong.wang@arm.com>
1572*5e098073Schristos
1573*5e098073Schristos	* elfnn-aarch64.c (elfNN_aarch64_check_relocs): Initialize non_got_ref
1574*5e098073Schristos	properly for MOVW_G0/1/2_NC and MOVW_G3.  Reject them when linking
1575*5e098073Schristos	shared library.
1576*5e098073Schristos	(elfNN_aarch64_gc_sweep_hook): Add check on these relocs.
1577*5e098073Schristos
1578*5e098073Schristos2014-08-26  Nick Clifton  <nickc@redhat.com>
1579*5e098073Schristos
1580*5e098073Schristos	* config.bfd: Fix typo in or1knd selection.
1581*5e098073Schristos
1582*5e098073Schristos2014-08-22  Kai Tietz  <ktietz@redhat.com>
1583*5e098073Schristos
1584*5e098073Schristos	PR binutils/11822
1585*5e098073Schristos	* coffcode.h (coff_compute_section_file_positions): Keep
1586*5e098073Schristos	FileAlignment valid as set.
1587*5e098073Schristos
1588*5e098073Schristos2014-08-22  Alan Modra  <amodra@gmail.com>
1589*5e098073Schristos
1590*5e098073Schristos	* elf-eh-frame.c (struct cie): Delete "output_sec" field.
1591*5e098073Schristos	(cie_eq, cie_compute_hash): Use output_section from cie_inf instead.
1592*5e098073Schristos
1593*5e098073Schristos2014-08-22  Alan Modra  <amodra@gmail.com>
1594*5e098073Schristos
1595*5e098073Schristos	* elf-bfd.h (struct eh_frame_hdr_info): Delete merge_cies and
1596*5e098073Schristos	parsed_eh_frames.
1597*5e098073Schristos	(_bfd_elf_begin_eh_frame_parsing): Delete.
1598*5e098073Schristos	(_bfd_elf_end_eh_frame_parsing): Delete.
1599*5e098073Schristos	* elf-eh-frame.c (_bfd_elf_begin_eh_frame_parsing): Delete.
1600*5e098073Schristos	(_bfd_elf_end_eh_frame_parsing): Delete.
1601*5e098073Schristos	(_bfd_elf_parse_eh_frame): Don't test parsed_eh_frame.  Test
1602*5e098073Schristos	!info->relocatable in place of merge_cies.
1603*5e098073Schristos	* elflink.c (bfd_elf_gc_sections, bfd_elf_discard_info): Adjust.
1604*5e098073Schristos	* elf64-ppc.c (glink_eh_frame_cie): Pad to multiple of 8.
1605*5e098073Schristos	(ppc64_elf_size_stubs): Likewise pad stub FDE.
1606*5e098073Schristos	(ppc64_elf_build_stubs): Move code setting glink .eh_frame to..
1607*5e098073Schristos	(ppc64_elf_size_stubs): ..here and..
1608*5e098073Schristos	(ppc64_elf_finish_dynamic_sections): ..here.
1609*5e098073Schristos
1610*5e098073Schristos2014-08-21  Maciej W. Rozycki  <macro@codesourcery.com>
1611*5e098073Schristos
1612*5e098073Schristos	* elf64-ppc.h (ppc64_elf_set_toc): Fix indentation.
1613*5e098073Schristos
1614*5e098073Schristos2014-08-21  Tony Wang  <tony.wang@arm.com>
1615*5e098073Schristos
1616*5e098073Schristos	* elf32-arm.c (elf32_arm_final_link_relocate): Implement
1617*5e098073Schristos	the veneer routine for R_ARM_THM_JUMP19.
1618*5e098073Schristos	(arm_type_of_stub): Add conditional clause for R_ARM_THM_JUMP19
1619*5e098073Schristos	(elf32_arm_size_stub): Ditto.
1620*5e098073Schristos
1621*5e098073Schristos2014-08-20  Roland McGrath  <mcgrathr@google.com>
1622*5e098073Schristos
1623*5e098073Schristos	PR ld/17277
1624*5e098073Schristos	* elf32-arm.c (elf32_arm_check_relocs): Increment P->pc_count for
1625*5e098073Schristos	all reloc types with pc_relative set in the howto, not just for
1626*5e098073Schristos	R_ARM_REL32 and R_ARM_REL32_NOI.
1627*5e098073Schristos	(allocate_dynrelocs_for_symbol): Update comment.
1628*5e098073Schristos	(elf32_arm_gc_sweep_hook): For all reloc types with pc_relative
1629*5e098073Schristos	set in the howto, set call_reloc_p and may_need_local_target_p but
1630*5e098073Schristos	not may_become_dynamic_p; not only for R_ARM_REL32 and R_ARM_REL32_NOI.
1631*5e098073Schristos	(elf32_arm_check_relocs): Likewise.
1632*5e098073Schristos
1633*5e098073Schristos2014-08-20  Will Newton  <will.newton@linaro.org>
1634*5e098073Schristos
1635*5e098073Schristos	* config.bfd: Default armeb-*-eabi* to big endian.
1636*5e098073Schristos
1637*5e098073Schristos2014-08-19  Alan Modra  <amodra@gmail.com>
1638*5e098073Schristos
1639*5e098073Schristos	* configure: Regenerate.
1640*5e098073Schristos
1641*5e098073Schristos2014-08-18  Alan Modra  <amodra@gmail.com>
1642*5e098073Schristos
1643*5e098073Schristos	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't attempt to
1644*5e098073Schristos	use dynrelocs for ifunc.
1645*5e098073Schristos	* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Similarly.
1646*5e098073Schristos
1647*5e098073Schristos2014-08-18  Alan Modra  <amodra@gmail.com>
1648*5e098073Schristos
1649*5e098073Schristos	PR 17287
1650*5e098073Schristos	* elflink.c (on_needed_list): Only consider libraries that have
1651*5e098073Schristos	been loaded.
1652*5e098073Schristos
1653*5e098073Schristos2014-08-18  Alan Modra  <amodra@gmail.com>
1654*5e098073Schristos
1655*5e098073Schristos	* elflink.c (bfd_elf_discard_info): Return int error status.
1656*5e098073Schristos	* stabs.c (_bfd_discard_section_stabs): Comment typo fix.
1657*5e098073Schristos	* bfd-in.h (bfd_elf_discard_info): Updata prototype.
1658*5e098073Schristos	* bfd-in2.h: Regenerate.
1659*5e098073Schristos
1660*5e098073Schristos2014-08-14  Alan Modra  <amodra@gmail.com>
1661*5e098073Schristos
1662*5e098073Schristos	* peXXigen.c (pe_print_reloc): Protect against access past end
1663*5e098073Schristos	of .reloc section.
1664*5e098073Schristos
1665*5e098073Schristos2014-08-14  Alan Modra  <amodra@gmail.com>
1666*5e098073Schristos
1667*5e098073Schristos	PR 16563
1668*5e098073Schristos	* elflink.c (bfd_elf_discard_info): Process .eh_frame and .stab
1669*5e098073Schristos	in the order they are mapped to output sections.
1670*5e098073Schristos
1671*5e098073Schristos2014-08-14  Alan Modra  <amodra@gmail.com>
1672*5e098073Schristos
1673*5e098073Schristos	* configure.ac: Delete redundant plugin related checks.
1674*5e098073Schristos	* configure: Regenerate.
1675*5e098073Schristos
1676*5e098073Schristos2014-08-13  Stefan Kristiansson  <stefan.kristiansson@saunalahti.fi>
1677*5e098073Schristos
1678*5e098073Schristos	* elf32-or1k.c (or1k_elf_relocate_section, or1k_elf_check_relocs,
1679*5e098073Schristos	allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL
1680*5e098073Schristos	and SYMBOLIC_BIND.
1681*5e098073Schristos
1682*5e098073Schristos2014-08-12  Alan Modra  <amodra@gmail.com>
1683*5e098073Schristos
1684*5e098073Schristos	* coff-aux.c (coff_m68k_aux_link_add_one_symbol): Only call "notice"
1685*5e098073Schristos	here when not calling the generic add_symbol function.  Formatting.
1686*5e098073Schristos	Correct handling of indirect symbols.  Update notice call.
1687*5e098073Schristos	* elflink.c (_bfd_elf_notice_as_needed): Update notice call.
1688*5e098073Schristos	* linker.c (_bfd_generic_link_add_one_symbol): Create indirect
1689*5e098073Schristos	symbols early.  Update notice call.  Add comments regarding weak
1690*5e098073Schristos	symbols vs. indirect.
1691*5e098073Schristos
1692*5e098073Schristos2014-08-12  Alan Modra  <amodra@gmail.com>
1693*5e098073Schristos
1694*5e098073Schristos	PR ld/16746
1695*5e098073Schristos	* linker.c (_bfd_generic_link_add_one_symbol <WARN>): Handle
1696*5e098073Schristos	!lto_plugin_active.
1697*5e098073Schristos
1698*5e098073Schristos2014-08-07  Chen Gang <gang.chen.5i5j@gmail.com>
1699*5e098073Schristos
1700*5e098073Schristos	* coff-ppc.c (coff_ppc_relocate_section): Ensure local symbols are
1701*5e098073Schristos	zero terminated.
1702*5e098073Schristos
1703*5e098073Schristos2014-08-07  H.J. Lu  <hongjiu.lu@intel.com>
1704*5e098073Schristos	    Alan Modra  <amodra@gmail.com>
1705*5e098073Schristos
1706*5e098073Schristos	PR ld/16746
1707*5e098073Schristos	* linker.c (_bfd_generic_link_add_one_symbol): Don't issue a
1708*5e098073Schristos	warning for references in LTO IR to warning symbols.
1709*5e098073Schristos
1710*5e098073Schristos2014-08-07  Alan Modra  <amodra@gmail.com>
1711*5e098073Schristos
1712*5e098073Schristos	* linker.c (WARN, CWARN): Collapse these states to WARN.
1713*5e098073Schristos	(_bfd_generic_link_add_one_symbol): Use old CWARN case for
1714*5e098073Schristos	new WARN.
1715*5e098073Schristos
1716*5e098073Schristos2014-08-05  Doug Evans  <dje@google.com>
1717*5e098073Schristos
1718*5e098073Schristos	* bfd-in2.h: Regenerate.
1719*5e098073Schristos	* libcoff.h: Regenerate.
1720*5e098073Schristos
1721*5e098073Schristos2014-08-05  Maciej W. Rozycki  <macro@codesourcery.com>
1722*5e098073Schristos
1723*5e098073Schristos	* elfxx-mips.c (_bfd_mips_elf_discard_info): Set section's
1724*5e098073Schristos	rawsize if changing size.
1725*5e098073Schristos
1726*5e098073Schristos2014-08-05  Alan Modra  <amodra@gmail.com>
1727*5e098073Schristos
1728*5e098073Schristos	PR ld/17226
1729*5e098073Schristos	* elfxx-sparc.c (_bfd_sparc_elf_gc_sweep_hook): Typo fix.
1730*5e098073Schristos
1731*5e098073Schristos2014-08-05  Alan Modra  <amodra@gmail.com>
1732*5e098073Schristos
1733*5e098073Schristos	* linker.c (generic_link_check_archive_element): Move handling
1734*5e098073Schristos	of command link -u symbols with a common symbol def to the
1735*5e098073Schristos	code handling non-common symbols so that archive element symbols
1736*5e098073Schristos	are loaded.  Use generic_link_add_object_symbols.
1737*5e098073Schristos
1738*5e098073Schristos2014-08-05  Alan Modra  <amodra@gmail.com>
1739*5e098073Schristos
1740*5e098073Schristos	PR 13557
1741*5e098073Schristos	* linker.c (struct archive_list, struct archive_hash_entry,
1742*5e098073Schristos	struct archive_hash_table, archive_hash_newfunc,
1743*5e098073Schristos	archive_hash_table_init, archive_hash_lookup, archive_hash_allocate,
1744*5e098073Schristos	archive_hash_table_free): Delete.
1745*5e098073Schristos	(_bfd_generic_link_add_archive_symbols): Add h and name params to
1746*5e098073Schristos	checkfn.  Rewrite using a straight-forward scan over archive map.
1747*5e098073Schristos	(generic_link_check_archive_element_no_collect,
1748*5e098073Schristos	generic_link_check_archive_element_collect,
1749*5e098073Schristos	generic_link_check_archive_element): Add h and name params.
1750*5e098073Schristos	* aoutx.h (aout_link_check_archive_element): Likewise.
1751*5e098073Schristos	* pdp11.c (aout_link_check_archive_element): Likewise.
1752*5e098073Schristos	* xcofflink.c (xcoff_link_check_archive_element): Likewise.
1753*5e098073Schristos	* cofflink.c (coff_link_check_archive_element): Likewise.  Don't
1754*5e098073Schristos	scan symbols, simply add archive element whenever h is undefined.
1755*5e098073Schristos	(coff_link_check_ar_symbols): Delete.
1756*5e098073Schristos	* ecoff.c (read_ext_syms_and_strs): Delete.
1757*5e098073Schristos	(reread_ext_syms_and_strs): Delete.
1758*5e098073Schristos	(ecoff_link_check_archive_element): Add h and name param.  Don't
1759*5e098073Schristos	scan symbols, simply add based on h.  Use ecoff_link_add_object_symbols.
1760*5e098073Schristos	* elflink.c (elf_link_is_defined_archive_symbol): Don't test
1761*5e098073Schristos	archive_pass.
1762*5e098073Schristos	(elf_link_add_archive_symbols): Delete "defined" array, merge
1763*5e098073Schristos	functionality into "included".  Make "included" a char array.  Don't
1764*5e098073Schristos	set or test archive_pass.
1765*5e098073Schristos	* libbfd-in.h (_bfd_generic_link_add_archive_symbols): Update.
1766*5e098073Schristos	* libbfd.h: Regenerate.
1767*5e098073Schristos
1768*5e098073Schristos2014-08-01  Takashi Yoshii  <yoshii.takashi@renesas.com>
1769*5e098073Schristos
1770*5e098073Schristos	PR 10373
1771*5e098073Schristos	* elf32-sh.c (sh_elf_relax_section): Add jmp to bra relaxing.
1772*5e098073Schristos
1773*5e098073Schristos2014-07-29  Matthew Fortune  <matthew.fortune@imgtec.com>
1774*5e098073Schristos
1775*5e098073Schristos	* elfxx-mips.c (ABI_O32_P, MIPS_ELF_ABIFLAGS_SECTION_NAME_P): New macro.
1776*5e098073Schristos	(mips_elf_obj_tdata): Add abiflags and abiflags_valid fields.
1777*5e098073Schristos	(bfd_mips_elf_swap_abiflags_v0_in): New function.
1778*5e098073Schristos	(bfd_mips_elf_swap_abiflags_v0_out): Likewise.
1779*5e098073Schristos	(_bfd_mips_elf_section_from_shdr): Handle SHT_MIPS_ABIFLAGS.
1780*5e098073Schristos	(_bfd_mips_elf_fake_sections): Likewise.
1781*5e098073Schristos	(_bfd_mips_elf_always_size_sections): Handle .MIPS.abiflags.
1782*5e098073Schristos	(_bfd_mips_elf_additional_program_headers): Account for new
1783*5e098073Schristos	PT_MIPS_ABIFLAGS program header.
1784*5e098073Schristos	(_bfd_mips_elf_modify_segment_map): Create PT_MIPS_ABIFLAGS segment and
1785*5e098073Schristos	associate with .MIPS.abiflags.
1786*5e098073Schristos	(_bfd_mips_elf_gc_mark_extra_sections): New function.
1787*5e098073Schristos	(bfd_mips_isa_ext, update_mips_abiflags_isa): New static function.
1788*5e098073Schristos	(infer_mips_abiflags): Likewise.
1789*5e098073Schristos	(_bfd_mips_elf_final_link): Handle .MIPS.abiflags.
1790*5e098073Schristos	(mips_32bit_flags_p): Moved higher.
1791*5e098073Schristos	(mips_elf_merge_obj_attributes, _bfd_mips_fp_abi_string): Error
1792*5e098073Schristos	checking for FP ABIs.
1793*5e098073Schristos	(_bfd_mips_elf_merge_private_bfd_data): Restructure and add abiflags
1794*5e098073Schristos	checks.  Check EF_MIPS_FP64 flag consistency.
1795*5e098073Schristos	(print_mips_ases, print_mips_isa_ext): New static function.
1796*5e098073Schristos	(print_mips_fp_abi_value, get_mips_reg_size): Likewise.
1797*5e098073Schristos	(_bfd_mips_elf_print_private_bfd_data): Display abiflags data.
1798*5e098073Schristos	(_bfd_mips_post_process_headers): Set EI_ABIVERSION = 3 for
1799*5e098073Schristos	Val_GNU_MIPS_ABI_FP_64 or Val_GNU_MIPS_ABI_FP_64A.
1800*5e098073Schristos	* elfxx-mips.h (_bfd_mips_elf_gc_mark_extra_sections): New prototype.
1801*5e098073Schristos	* elf32-mips.c (elf_backend_gc_mark_extra_sections): Implement.
1802*5e098073Schristos	* elfn32-mips.c (elf_backend_gc_mark_extra_sections): Implement.
1803*5e098073Schristos	* elf64-mips.c (elf_backend_gc_mark_extra_sections): Implement.
1804*5e098073Schristos
1805*5e098073Schristos2014-07-28  Alan Modra  <amodra@gmail.com>
1806*5e098073Schristos
1807*5e098073Schristos	PR 13227
1808*5e098073Schristos	* archive.c (_bfd_compute_and_write_armap): Warn on adding
1809*5e098073Schristos	__gnu_lto_slim to armap.
1810*5e098073Schristos	* linker.c (_bfd_generic_link_add_one_symbol): Warn on adding
1811*5e098073Schristos	__gnu_lto_slim to linker hash table.
1812*5e098073Schristos
1813*5e098073Schristos2014-07-27  Anthony Green  <green@moxielogic.org>
1814*5e098073Schristos
1815*5e098073Schristos	* config.bfd: Add moxie-*-moxiebox*.
1816*5e098073Schristos
1817*5e098073Schristos2014-07-21  Joel Sherrill  <joel.sherrill@oarcorp.com>
1818*5e098073Schristos
1819*5e098073Schristos	Add or reactivate or1k-*-rtems*
1820*5e098073Schristos	* config.bfd (or1k-*-rtems*): Reactivate.
1821*5e098073Schristos
1822*5e098073Schristos2014-07-16  H.J. Lu  <hongjiu.lu@intel.com>
1823*5e098073Schristos
1824*5e098073Schristos	* elf32-i386.c (elf_i386_plt_sym_val): Match PLT entry only for
1825*5e098073Schristos	ELFOSABI_GNU input.
1826*5e098073Schristos	* elf64-x86-64.c (elf_x86_64_plt_sym_val): Likewise.
1827*5e098073Schristos	(elf_x86_64_plt_sym_val_offset_plt_bnd): Likewise.
1828*5e098073Schristos
1829*5e098073Schristos2014-07-16  H.J. Lu  <hongjiu.lu@intel.com>
1830*5e098073Schristos
1831*5e098073Schristos	PR binutils/17154
1832*5e098073Schristos	* elf32-i386.c (elf_i386_plt_sym_val): Only match R_*_JUMP_SLOT
1833*5e098073Schristos	and R_*_IRELATIVE relocation offset with PLT entry.
1834*5e098073Schristos	* elf64-x86-64.c (elf_x86_64_plt_sym_val): Likewise.
1835*5e098073Schristos	(elf_x86_64_plt_sym_val_offset_plt_bnd): New.
1836*5e098073Schristos	(elf_x86_64_get_synthetic_symtab): Use it.
1837*5e098073Schristos
1838*5e098073Schristos2014-07-15  H.J. Lu  <hongjiu.lu@intel.com>
1839*5e098073Schristos
1840*5e098073Schristos	PR ld/17057
1841*5e098073Schristos	* elf32-i386.c (elf_i386_compute_jump_table_size): Replace
1842*5e098073Schristos	next_tls_desc_index with elf.srelplt->reloc_count.
1843*5e098073Schristos
1844*5e098073Schristos2014-07-15  Alan Modra  <amodra@gmail.com>
1845*5e098073Schristos
1846*5e098073Schristos	* cache.c (cache_bread_1): Don't return -1 when fread returns
1847*5e098073Schristos	a positive value.
1848*5e098073Schristos
1849*5e098073Schristos2014-07-15  Alan Modra  <amodra@gmail.com>
1850*5e098073Schristos
1851*5e098073Schristos	* elflink.c (elf_merge_st_other): Update comments.  Simplify
1852*5e098073Schristos	visibility handling.  Make isym const.  Move code modifying
1853*5e098073Schristos	isym->st_other for --exclude-libs to..
1854*5e098073Schristos	(elf_link_add_object_symbols): ..here.
1855*5e098073Schristos
1856*5e098073Schristos2014-07-11  Maks Naumov  <maksqwe1@ukr.net>
1857*5e098073Schristos
1858*5e098073Schristos	PR 17141
1859*5e098073Schristos	* elf.c (_bfd_elf_strtab_add): Check strtab name for failure.
1860*5e098073Schristos
1861*5e098073Schristos2014-07-08  Nick Clifton  <nickc@redhat.com>
1862*5e098073Schristos
1863*5e098073Schristos	PR ld/17110
1864*5e098073Schristos	* elf32-sh.c (sh_elf_osec_to_segment): Do not look for output
1865*5e098073Schristos	segments in input bfds.
1866*5e098073Schristos
1867*5e098073Schristos2014-07-08  Will Newton  <will.newton@linaro.org>
1868*5e098073Schristos
1869*5e098073Schristos	* elf32-arm.c (ELF_MAXPAGESIZE): Increase the default
1870*5e098073Schristos	value to 64kB and remove custom setting for NaCl.
1871*5e098073Schristos
1872*5e098073Schristos2014-07-08  Alan Modra  <amodra@gmail.com>
1873*5e098073Schristos
1874*5e098073Schristos	* elflink.c (_bfd_elf_copy_link_hash_symbol_type): Copy st_other
1875*5e098073Schristos	bits from source to dest.
1876*5e098073Schristos	* linker.c (_bfd_generic_copy_link_hash_symbol_type): Update comment.
1877*5e098073Schristos	* targets.c (struct bfd_target <_bfd_copy_link_hash_symbol_type>):
1878*5e098073Schristos	Likewise.
1879*5e098073Schristos	* bfd-in2.h: Regenerate.
1880*5e098073Schristos
1881*5e098073Schristos2014-07-08  Jiong Wang  <jiong.wang@arm.com>
1882*5e098073Schristos
1883*5e098073Schristos	* elfnn-aarch64.c (elf_backend_rela_normal): Set to 1.
1884*5e098073Schristos	(elfNN_aarch64_relocate_section): Remove duplicated addend adjustment
1885*5e098073Schristos	when info->relocatable be true.
1886*5e098073Schristos
1887*5e098073Schristos2014-07-07  Barney Stratford  <barney_stratford@fastmail.fm>
1888*5e098073Schristos
1889*5e098073Schristos	* elf32-avr.c: Handle R_AVR_PORT5 and R_AVR_PORT6.
1890*5e098073Schristos	* reloc.c: Add BFD_RELOC_AVR_PORT5 and BFD_RELOC_AVR_PORT6.
1891*5e098073Schristos	* bfd-in2.h: Regenerate.
1892*5e098073Schristos	* libbfd.h: Regenerate.
1893*5e098073Schristos
1894*5e098073Schristos2014-07-04  Alan Modra  <amodra@gmail.com>
1895*5e098073Schristos
1896*5e098073Schristos	* Makefile.am: Update "configure.in" comments.
1897*5e098073Schristos	* PORTING: Likewise.
1898*5e098073Schristos	* aoutx.h: Likewise.
1899*5e098073Schristos	* configure.host: Likewise.
1900*5e098073Schristos	* doc/bfdint.texi: Likewise.
1901*5e098073Schristos	* targets.c: Likewise.
1902*5e098073Schristos	* warning.m4: Likewise.
1903*5e098073Schristos	* Makefile.in: Regenerate.
1904*5e098073Schristos
1905*5e098073Schristos2014-07-04  Alan Modra  <amodra@gmail.com>
1906*5e098073Schristos
1907*5e098073Schristos	* configure.ac: Rename from configure.in.
1908*5e098073Schristos	* Makefile.in: Regenerate.
1909*5e098073Schristos	* config.in: Regenerate.
1910*5e098073Schristos	* doc/Makefile.in: Regenerate.
1911*5e098073Schristos
1912*5e098073Schristos2014-07-04  Alan Modra  <amodra@gmail.com>
1913*5e098073Schristos
1914*5e098073Schristos	* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Remove configure.in.
1915*5e098073Schristos	* Makefile.in: Regenerate.
1916*5e098073Schristos
1917*5e098073Schristos2014-07-04  Alan Modra  <amodra@gmail.com>
1918*5e098073Schristos
1919*5e098073Schristos	* version.m4: New file.
1920*5e098073Schristos	* configure.in: Include version.m4.
1921*5e098073Schristos	(AC_INIT): Update.
1922*5e098073Schristos	* Makefile.am (RELEASE): Delete.
1923*5e098073Schristos	(bfdver.h): Depend on development.sh, use instead of RELEASE.
1924*5e098073Schristos	* Makefile.in: Regenerate.
1925*5e098073Schristos	* doc/Makefile.in: Regenerate.
1926*5e098073Schristos
1927*5e098073Schristos2014-07-02  Alan Modra  <amodra@gmail.com>
1928*5e098073Schristos
1929*5e098073Schristos	* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Clear
1930*5e098073Schristos	pointer_equality_needed when !readonly_dynrelocs.
1931*5e098073Schristos	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
1932*5e098073Schristos
1933*5e098073Schristos2014-07-02  Alan Modra  <amodra@gmail.com>
1934*5e098073Schristos
1935*5e098073Schristos	* elf32-ppc.c (ppc_elf_check_relocs): Set DF_STATIC_TLS for PIEs too.
1936*5e098073Schristos	* elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
1937*5e098073Schristos
1938*5e098073Schristos2014-07-01  Alan Modra  <amodra@gmail.com>
1939*5e098073Schristos
1940*5e098073Schristos	* bfd.c (struct bfd): Reorganise for better packing.  Delete
1941*5e098073Schristos	"ifd" field.  Make "format", "direction" and "flags" bitfields.
1942*5e098073Schristos	(HAS_LOAD_PAGE): Delete, renumber following flags.
1943*5e098073Schristos	* bfd-in2.h: Regenerate.
1944*5e098073Schristos	* coff-tic4x.c: Remove HAS_LOAD_PAGE from extra flags in target vecs.
1945*5e098073Schristos
1946*5e098073Schristos2014-07-01  Alan Modra  <amodra@gmail.com>
1947*5e098073Schristos
1948*5e098073Schristos	* elf64-ppc.c (ppc_stub_type): Add ppc_stub_global_entry.
1949*5e098073Schristos	(struct ppc_link_hash_table): Increase size of stub_count array.
1950*5e098073Schristos	(build_global_entry_stubs): Emit symbol on global entry stub.
1951*5e098073Schristos	(ppc64_elf_build_stubs): NULL check htab->brlt.  Add global entry
1952*5e098073Schristos	stub stats.
1953*5e098073Schristos
1954*5e098073Schristos2014-07-01  Alan Modra  <amodra@gmail.com>
1955*5e098073Schristos
1956*5e098073Schristos	* elf64-ppc.c (abiversion, set_abiversion): Move earlier.
1957*5e098073Schristos	(ppc64_elf_branch_reloc): Adjust addend for ELFv2 local offset.
1958*5e098073Schristos	(ppc64_elf_set_toc): Set ".TOC." symbol value when using
1959*5e098073Schristos	generic linker.
1960*5e098073Schristos	(ppc64_elf_relocate_section): Disable ELFv2 function entry
1961*5e098073Schristos	optimisation when --traditional-format.
1962*5e098073Schristos
1963*5e098073Schristos2014-07-01  Barney Stratford   <barney_stratford@fastmail.fm>
1964*5e098073Schristos            Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
1965*5e098073Schristos            Pitchumani Sivanupandi  <pitchumani.s@atmel.com>
1966*5e098073Schristos            Soundararajan  <Sounderarajan.D@atmel.com>
1967*5e098073Schristos
1968*5e098073Schristos	* archures.c: Add avrtiny architecture for avr target.
1969*5e098073Schristos	* cpu-avr.c (arch_info_struct): Add avrtiny arch info.
1970*5e098073Schristos	* elf32-avr.c (elf_avr_howto_table): New relocation R_AVR_LDS_STS_16
1971*5e098073Schristos	added for 16 bit LDS/STS instruction of avrtiny arch.
1972*5e098073Schristos	(avr_reloc_map): Reloc R_AVR_LDS_STS_16 is mapped to
1973*5e098073Schristos	BFD_RELOC_AVR_LDS_STS_16.
1974*5e098073Schristos	(bfd_elf_avr_final_write_processing): Select machine number
1975*5e098073Schristos	avrtiny arch.
1976*5e098073Schristos	(elf32_avr_object_p): Set machine number for avrtiny arch.
1977*5e098073Schristos	* reloc.c: Add documentation for BFD_RELOC_AVR_LDS_STS_16 reloc.
1978*5e098073Schristos	* bfd-in2.h: Regenerate.
1979*5e098073Schristos	* libbfd.h: Regenerate.
1980*5e098073Schristos
1981*5e098073Schristos2014-06-26  Nick Clifton  <nickc@redhat.com>
1982*5e098073Schristos
1983*5e098073Schristos	PR binutils/16949
1984*5e098073Schristos	* dwarf2.c (is_str_attr): New function.
1985*5e098073Schristos	(find_abstract_instance_name): Use it to determine when an
1986*5e098073Schristos	attribute has a string value.
1987*5e098073Schristos
1988*5e098073Schristos2014-06-24  Alan Modra  <amodra@gmail.com>
1989*5e098073Schristos
1990*5e098073Schristos	* elf32-ppc.c (ppc_elf_size_dynamic_sections): Arrange to keep
1991*5e098073Schristos	.sdata/.sdata2 when _SDA_BASE_/_SDA2_BASE_ should be output
1992*5e098073Schristos	for --emit-relocs.
1993*5e098073Schristos
1994*5e098073Schristos2014-06-21  Philippe De Muyter  <phdm@macqel.be>
1995*5e098073Schristos
1996*5e098073Schristos	* targets.c (_bfd_target_vector): Add missing #ifdef BFD64 for
1997*5e098073Schristos	a number of targets.
1998*5e098073Schristos
1999*5e098073Schristos2014-06-20  Kyle McMartin <kyle@redhat.com>
2000*5e098073Schristos
2001*5e098073Schristos	* elf32-arm.c (elf32_arm_check_relocs): Set DF_STATIC_TLS when
2002*5e098073Schristos	emitting initial-exec relocs when not linking an executable.
2003*5e098073Schristos
2004*5e098073Schristos2014-06-16  Will Newton  <will.newton@linaro.org>
2005*5e098073Schristos
2006*5e098073Schristos	* elf32-arm.c (elf32_arm_allocate_plt_entry): Increment
2007*5e098073Schristos	htab->next_tls_desc_index in the non-IPLT case.
2008*5e098073Schristos	Calculate GOT offset correctly for the non-IPLT case.
2009*5e098073Schristos	(allocate_dynrelocs_for_symbol): Don't increment
2010*5e098073Schristos	htab->next_tls_desc_index here.
2011*5e098073Schristos
2012*5e098073Schristos2014-06-16  Alan Modra  <amodra@gmail.com>
2013*5e098073Schristos
2014*5e098073Schristos	* elf32-vax.c (elf_vax_size_dynamic_sections): Clear linker
2015*5e098073Schristos	created sections.
2016*5e098073Schristos
2017*5e098073Schristos2014-06-13  Omair Javaid  <omair.javaid@linaro.org>
2018*5e098073Schristos
2019*5e098073Schristos	* elfxx-aarch64.c (stdarg.h): Include.
2020*5e098073Schristos	(string.h): Include.
2021*5e098073Schristos	(_bfd_aarch64_elf_grok_prstatus): Updated.
2022*5e098073Schristos	(_bfd_aarch64_elf_grok_psinfo): New function.
2023*5e098073Schristos	(_bfd_aarch64_elf_write_core_note): New function.
2024*5e098073Schristos	* elfxx-aarch64.h (elf_backend_grok_psinfo): Define.
2025*5e098073Schristos	(elf_backend_write_core_note): Define.
2026*5e098073Schristos
2027*5e098073Schristos2014-06-13  Alan Modra  <amodra@gmail.com>
2028*5e098073Schristos
2029*5e098073Schristos	* archive.c: Include bfdlink.h.
2030*5e098073Schristos	(_bfd_archive_close_and_cleanup): Call linker hash_table_free.
2031*5e098073Schristos	* bfd.c (struct bfd): Add is_linker_output field.
2032*5e098073Schristos	* elf-bfd.h (_bfd_elf_link_hash_table_free): Update prototype.
2033*5e098073Schristos	* linker.c (_bfd_link_hash_table_init): Set up hash_table_free,
2034*5e098073Schristos	link.hash and is_linker_output.
2035*5e098073Schristos	(_bfd_generic_link_hash_table_free): Replace bfd_link_hash_table*
2036*5e098073Schristos	param with bfd*.  Assert is_linker_output and link.hash, and
2037*5e098073Schristos	clear them before exit.
2038*5e098073Schristos	* elf-m10300.c (elf32_mn10300_link_hash_table_free): Replace
2039*5e098073Schristos	bfd_link_hash_table* param with bfd*.  Hack is_linker_output
2040*5e098073Schristos	and link.hash so we can free two linker hash tables.
2041*5e098073Schristos	(elf32_mn10300_link_hash_table_create): Create static_hash_table
2042*5e098073Schristos	first.  Clean up on errors.  Set hash_table_free pointer.
2043*5e098073Schristos	* elf32-arm.c (elf32_arm_link_hash_table_free): Replace
2044*5e098073Schristos	bfd_link_hash_table* param with bfd*.
2045*5e098073Schristos	(elf32_arm_link_hash_table_create): Clean up on errors.  Set
2046*5e098073Schristos	hash_table_free pointer.
2047*5e098073Schristos	* elf32-avr.c, * elf32-hppa.c, * elf32-i386.c, * elf32-m68hc1x.c,
2048*5e098073Schristos	* elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c, * elf32-xgate.c,
2049*5e098073Schristos	* elf64-ia64-vms.c, * elf64-ppc.c, * elf64-x86-64.c, * elflink.c,
2050*5e098073Schristos	* elfnn-aarch64.c, * elfnn-ia64.c, * elfxx-sparc.c,
2051*5e098073Schristos	* xcofflink.c: Similarly.
2052*5e098073Schristos	* simple.c (bfd_simple_get_relocated_section_contents): Save and
2053*5e098073Schristos	clear link.next before creating linker hash table.  Clean up on
2054*5e098073Schristos	errors, and restore link.next on exit.
2055*5e098073Schristos	* elf32-m68hc1x.h (m68hc11_elf_bfd_link_hash_table_free): Delete.
2056*5e098073Schristos	* elf32-xgate.h (xgate_elf_bfd_link_hash_table_free): Delete.
2057*5e098073Schristos	* elfxx-sparc.h (_bfd_sparc_elf_link_hash_table_free): Delete.
2058*5e098073Schristos	* libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Delete.
2059*5e098073Schristos	* hash.c (bfd_hash_table_init_n): Free table on error.
2060*5e098073Schristos	* libbfd-in.h (_bfd_generic_link_hash_table_free): Update proto.
2061*5e098073Schristos	* bfd-in2.h: Regenerate.
2062*5e098073Schristos	* libbfd.h: Regenerate.
2063*5e098073Schristos	* libcoff.h: Regenerate.
2064*5e098073Schristos
2065*5e098073Schristos2014-06-13  Alan Modra  <amodra@gmail.com>
2066*5e098073Schristos
2067*5e098073Schristos	PR 17047
2068*5e098073Schristos	* targets.c (BFD_JUMP_TABLE): Delete NAME##_bfd_link_hash_table_free.
2069*5e098073Schristos	(struct bfd_target <_bfd_link_hash_table_free>): Delete.
2070*5e098073Schristos	* bfd.c (bfd_link_hash_table_free): Don't define.
2071*5e098073Schristos	* aout-adobe.c, * aout-target.h, * aout-tic30.c, * binary.c, * bout.c,
2072*5e098073Schristos	* coff64-rs6000.c, * coffcode.h, * elf-m10300.c, * elf32-arm.c,
2073*5e098073Schristos	* elf32-avr.c, * elf32-hppa.c, * elf32-i386.c, * elf32-m68hc11.c,
2074*5e098073Schristos	* elf32-m68hc12.c, * elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c,
2075*5e098073Schristos	* elf32-sparc.c, * elf32-xgate.c, * elf64-ia64-vms.c, * elf64-ppc.c,
2076*5e098073Schristos	* elf64-sparc.c, * elf64-x86-64.c, * elfnn-aarch64.c, * elfnn-ia64.c,
2077*5e098073Schristos	* elfxx-target.h, * i386msdos.c, * i386os9k.c, * ieee.c, * ihex.c,
2078*5e098073Schristos	* libbfd-in.h, * libecoff.h, * mach-o-target.c, * mmo.c,
2079*5e098073Schristos	* nlm-target.h, * oasys.c, * pef.c, * plugin.c, * ppcboot.c, * som.c,
2080*5e098073Schristos	* srec.c, * tekhex.c, * verilog.c, * versados.c, * vms-alpha.c,
2081*5e098073Schristos	* xsym.c: Don't define various link_hash_table_free defines, and
2082*5e098073Schristos	remove from bfd_target vars.  Temporarily reference some of the
2083*5e098073Schristos	target link_hash_table_free functions to avoid warnings.
2084*5e098073Schristos	* bfd-in2.h: Regenerate.
2085*5e098073Schristos	* libbfd.h: Regenerate.
2086*5e098073Schristos
2087*5e098073Schristos2014-06-13  Alan Modra  <amodra@gmail.com>
2088*5e098073Schristos
2089*5e098073Schristos	* elf-m10300.c, * elf32-arm.c, * elf32-avr.c, * elf32-hppa.c,
2090*5e098073Schristos	* elf32-i386.c, * elf32-m68hc1x.c, * elf32-m68k.c, * elf32-metag.c,
2091*5e098073Schristos	* elf32-nios2.c, * elf64-ia64-vms.c, * elf64-ppc.c, * elf64-x86-64.c,
2092*5e098073Schristos	* elfnn-aarch64.c, * elfnn-ia64.c, * elfxx-sparc.c, * xcofflink.c:
2093*5e098073Schristos	Move link_hash_table_free functions before their corresponding
2094*5e098073Schristos	link_hash_table_create functions.
2095*5e098073Schristos
2096*5e098073Schristos2014-06-13  Alan Modra  <amodra@gmail.com>
2097*5e098073Schristos
2098*5e098073Schristos	* bfd.c (struct bfd): Replace link_next with a union.
2099*5e098073Schristos	* aoutx.h, * bfd.c, * coff-ppc.c, * coff-rs6000.c, * cofflink.c,
2100*5e098073Schristos	* ecoff.c, * elf-m10300.c, * elf32-arm.c, * elf32-avr.c,
2101*5e098073Schristos	* elf32-hppa.c, * elf32-i386.c, * elf32-lm32.c, * elf32-m32c.c,
2102*5e098073Schristos	* elf32-m32r.c, * elf32-m68hc1x.c, * elf32-metag.c,
2103*5e098073Schristos	* elf32-microblaze.c, * elf32-nds32.c, * elf32-nios2.c,
2104*5e098073Schristos	* elf32-or1k.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-s390.c,
2105*5e098073Schristos	* elf32-score.c, * elf32-score7.c, * elf32-sh.c, * elf32-spu.c,
2106*5e098073Schristos	* elf32-tic6x.c, * elf32-tilepro.c, * elf32-xstormy16.c,
2107*5e098073Schristos	* elf32-xtensa.c, * elf64-alpha.c, * elf64-hppa.c, * elf64-ia64-vms.c,
2108*5e098073Schristos	* elf64-mmix.c, * elf64-ppc.c, * elf64-s390.c, * elf64-x86-64.c,
2109*5e098073Schristos	* elflink.c, * elfnn-aarch64.c, * elfxx-mips.c, * elfxx-sparc.c,
2110*5e098073Schristos	* elfxx-tilegx.c, * linker.c, * pdp11.c, * peXXigen.c, * simple.c,
2111*5e098073Schristos	* sunos.c, * vms-alpha.c, * xcofflink.c: Update for above.
2112*5e098073Schristos	* bfd-in2.h: Regenerate.
2113*5e098073Schristos
2114*5e098073Schristos2014-06-11  Alan Modra  <amodra@gmail.com>
2115*5e098073Schristos
2116*5e098073Schristos	* linker.c (unwrap_hash_lookup): Add missing parens.
2117*5e098073Schristos
2118*5e098073Schristos2014-06-11  Kai Tietz  <ktietz@redhat.com>
2119*5e098073Schristos
2120*5e098073Schristos	* libcoff-in.h (coff_tdata): Make relocbase member unsigned.
2121*5e098073Schristos	* libcoff.h: Regenerated.
2122*5e098073Schristos
2123*5e098073Schristos2014-06-10  Alan Modra  <amodra@gmail.com>
2124*5e098073Schristos
2125*5e098073Schristos	PR ld/16910
2126*5e098073Schristos	* linker.c (unwrap_hash_lookup): New function.
2127*5e098073Schristos	* elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Call unwrap_hash_lookup.
2128*5e098073Schristos	* elf32-i370.c (i370_elf_relocate_section): Likewise.
2129*5e098073Schristos	* elf32-m32c.c (m32c_elf_relocate_section): Likewise.
2130*5e098073Schristos	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
2131*5e098073Schristos	* elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
2132*5e098073Schristos	* elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
2133*5e098073Schristos	* elf32-spu.c (spu_elf_relocate_section): Likewise.
2134*5e098073Schristos	* elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
2135*5e098073Schristos
2136*5e098073Schristos2014-06-07  Alan Modra  <amodra@gmail.com>
2137*5e098073Schristos
2138*5e098073Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Treat field of cmpli
2139*5e098073Schristos	insn as a bitfield; Use complain_overflow_bitfield.
2140*5e098073Schristos	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
2141*5e098073Schristos
2142*5e098073Schristos2014-06-05  Joel Brobecker  <brobecker@adacore.com>
2143*5e098073Schristos
2144*5e098073Schristos	* development.sh: New file.
2145*5e098073Schristos	* warning.m4 (AM_BINUTILS_WARNINGS): Source bfd/development.sh.
2146*5e098073Schristos	Make -Werror the default with GCC only if DEVELOPMENT is true.
2147*5e098073Schristos	* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add
2148*5e098073Schristos	$(srcdir)/development.sh.
2149*5e098073Schristos	* Makefile.in, configure: Regenerate.
2150*5e098073Schristos
2151*5e098073Schristos2014-06-04  Will Newton  <will.newton@linaro.org>
2152*5e098073Schristos
2153*5e098073Schristos	* elfnn-aarch64.c (tpoff_base): Make test of tls_sec
2154*5e098073Schristos	being non-NULL into an assert.
2155*5e098073Schristos	(elfNN_aarch64_tls_relax): Remove unused code.
2156*5e098073Schristos
2157*5e098073Schristos2014-06-03  DJ Delorie  <dj@redhat.com>
2158*5e098073Schristos
2159*5e098073Schristos	* elf32-rx.c (rx_table_map): Use BFD_VMA_FMT for portability.
2160*5e098073Schristos
2161*5e098073Schristos2014-06-03  Nick Clifton  <nickc@redhat.com>
2162*5e098073Schristos
2163*5e098073Schristos	PR ld/16807
2164*5e098073Schristos	* peXXigen.c (rsrc_process_section): Page align the new contents
2165*5e098073Schristos	befgore writing out.
2166*5e098073Schristos
2167*5e098073Schristos2014-06-03  Alan Modra  <amodra@gmail.com>
2168*5e098073Schristos
2169*5e098073Schristos	* elf64-ppc.c (ADDIS_R12_R2): Define.
2170*5e098073Schristos	(build_plt_stub): Support fusion on ELFv2 stub.
2171*5e098073Schristos	(ppc_build_one_stub): Likewise for plt branch stubs.
2172*5e098073Schristos
2173*5e098073Schristos2014-05-28  Alan Modra  <amodra@gmail.com>
2174*5e098073Schristos
2175*5e098073Schristos	* elf32-rx.c (rx_table_map): Delete set but not used variables.
2176*5e098073Schristos
2177*5e098073Schristos2014-05-28  Tristan Gingold  <gingold@adacore.com>
2178*5e098073Schristos
2179*5e098073Schristos	* dwarf2.c (lookup_address_in_function_table): Add best_fit_len
2180*5e098073Schristos	to keep the length of the best fit range.
2181*5e098073Schristos	(lookup_symbol_in_function_table, info_hash_lookup_funcinfo):
2182*5e098073Schristos	Likewise.
2183*5e098073Schristos
2184*5e098073Schristos2014-05-27  DJ Delorie  <dj@redhat.com>
2185*5e098073Schristos
2186*5e098073Schristos	* elf32-rx.c (get_symbol_value_maybe): New.
2187*5e098073Schristos	(rx_elf_relocate_section): If we find a reloc against
2188*5e098073Schristos	$tableentry$default$<name>, redirect it to the appropriate
2189*5e098073Schristos	$tableentry$<n>$.
2190*5e098073Schristos	(RX_Table_Info): New.
2191*5e098073Schristos	(rx_table_find): New.  Check all tables and SEC_KEEP all sections
2192*5e098073Schristos	with table parts in them.
2193*5e098073Schristos	(rx_check_directives): New.
2194*5e098073Schristos	(rx_table_map_2): New.
2195*5e098073Schristos	(rx_table_map): New.
2196*5e098073Schristos	(rx_additional_link_map_text): New.  Called to dump tables to the
2197*5e098073Schristos	map file.
2198*5e098073Schristos	* elf32-rx.h: New.
2199*5e098073Schristos
2200*5e098073Schristos2014-05-20  DJ Delorie  <dj@redhat.com>
2201*5e098073Schristos
2202*5e098073Schristos	* elf32-msp430.c (msp430_elf_relax_adjust_locals): Avoid overflow.
2203*5e098073Schristos
2204*5e098073Schristos2014-05-20  Alan Modra  <amodra@gmail.com>
2205*5e098073Schristos
2206*5e098073Schristos	PR 16952
2207*5e098073Schristos	* elf32-ppc.c (ppc_elf_create_linker_section): Move earlier.
2208*5e098073Schristos	Remove redundant setting of htab->elf.dynobj.  Don't align.
2209*5e098073Schristos	Define .sdata symbols using _bfd_elf_define_linkage_sym.
2210*5e098073Schristos	(ppc_elf_create_glink): Call ppc_elf_create_linker_section.
2211*5e098073Schristos	(create_sdata_sym): Delete.
2212*5e098073Schristos	(elf_allocate_pointer_linker_section): Rename from
2213*5e098073Schristos	elf_create_pointer_linker_section.  Align section.
2214*5e098073Schristos	(ppc_elf_check_relocs): Don't call ppc_elf_creat_linker_section
2215*5e098073Schristos	directly here, or create_sdata_sym.  Set ref_regular on _SDA_BASE_
2216*5e098073Schristos	and _SDA2_BASE_.
2217*5e098073Schristos	(ppc_elf_size_dynamic_sections): Remove ATTRIBUTE_UNUSED on param.
2218*5e098073Schristos	Remove unnecessary tests on _SDA_BASE_ sym.
2219*5e098073Schristos	(maybe_strip_sdasym, ppc_elf_maybe_strip_sdata_syms): New functions.
2220*5e098073Schristos	(ppc_elf_relocate_section): Tighten SDA reloc symbol section checks.
2221*5e098073Schristos	* elf32-ppc.h (ppc_elf_set_sdata_syms): Delete.
2222*5e098073Schristos	(ppc_elf_maybe_strip_sdata_syms): Declare.
2223*5e098073Schristos
2224*5e098073Schristos2014-05-16  Ryan Mansfield  <rmansfield@qnx.com>
2225*5e098073Schristos
2226*5e098073Schristos	* config.bfd: Move QNX target_cflags from arm-*-netbsd* to arm-*-nto*.
2227*5e098073Schristos
2228*5e098073Schristos2014-05-16  Jon Turney  <jon.turney@dronecode.org.uk>
2229*5e098073Schristos
2230*5e098073Schristos	* peXXigen.c (pe_print_debugdata): Don't interpret debug directory
2231*5e098073Schristos	in a section with no contents.
2232*5e098073Schristos	(is_vma_in_section, find_section_by_vma): New functions.
2233*5e098073Schristos	(_bfd_XX_bfd_copy_private_bfd_data_common): Recalculate file
2234*5e098073Schristos	offsets in the debug directory.
2235*5e098073Schristos	(_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record):
2236*5e098073Schristos	Byte-swap GUID from little-endian to big-endian order for
2237*5e098073Schristos	consistent and conventional display.
2238*5e098073Schristos
2239*5e098073Schristos2014-05-16  Kaushik Phata  <Kaushik.Phatak@kpit.com>
2240*5e098073Schristos
2241*5e098073Schristos	* elf32-rl78.c (rl78_elf_merge_private_bfd_data): Complain if
2242*5e098073Schristos	64-bit doubles objects mix with 32-bit doubles objects.
2243*5e098073Schristos	(rl78_elf_print_private_bfd_data): Describe 64-bit doubles flag.
2244*5e098073Schristos
2245*5e098073Schristos2014-05-08  Hans-Peter Nilsson  <hp@bitrange.com>
2246*5e098073Schristos
2247*5e098073Schristos	* mmo.c: Update URLs in documentation comments.
2248*5e098073Schristos
2249*5e098073Schristos2014-05-02  Volodymyr Arbatov  <arbatov@cadence.com>
2250*5e098073Schristos	    David Weatherford  <weath@cadence.com>
2251*5e098073Schristos	    Max Filippov  <jcmvbkbc@gmail.com>
2252*5e098073Schristos
2253*5e098073Schristos	* elf32-xtensa.c (relax_section): treat R_XTENSA_DIFF* relocations as
2254*5e098073Schristos	signed.
2255*5e098073Schristos
2256*5e098073Schristos2014-05-07  Andreas Tobler  <andreast@fgznet.ch>
2257*5e098073Schristos
2258*5e098073Schristos	* config.bfd: Add proper arm config for *-*-freebsd*.
2259*5e098073Schristos
2260*5e098073Schristos2014-05-07  Andrew Bennett  <andrew.bennett@imgtec.com>
2261*5e098073Schristos
2262*5e098073Schristos	* aoutx.h (NAME (aout, machine_type)): Add mips32r3, mips64r3,
2263*5e098073Schristos	mips32r5 and mips64r5.
2264*5e098073Schristos	* archures.c (bfd_architecture): Likewise.
2265*5e098073Schristos	* bfd-in2.h (bfd_architecture): Likewise.
2266*5e098073Schristos	* cpu-mips.c (arch_info_struct): Likewise.
2267*5e098073Schristos	* elfxx-mips.c (mips_set_isa_flags): Likewise.
2268*5e098073Schristos
2269*5e098073Schristos2014-05-06  Richard Sandiford  <rdsandiford@googlemail.com>
2270*5e098073Schristos
2271*5e098073Schristos	* elfxx-mips.h (elfxx-mips.h): Declare.
2272*5e098073Schristos	* elfxx-mips.c (mips_elf_merge_obj_attributes): Use it to report
2273*5e098073Schristos	Tag_GNU_MIPS_ABI_FP mismatches.
2274*5e098073Schristos	(_bfd_mips_fp_abi_string): New function.
2275*5e098073Schristos
2276*5e098073Schristos2014-05-02  Alan Modra  <amodra@gmail.com>
2277*5e098073Schristos
2278*5e098073Schristos	* targets.c: Sort bfd_target vectors somewhat alphabetically.
2279*5e098073Schristos	* configure.in: Likewise.
2280*5e098073Schristos	* configure: Regenerate.
2281*5e098073Schristos
2282*5e098073Schristos2014-05-02  Alan Modra  <amodra@gmail.com>
2283*5e098073Schristos
2284*5e098073Schristos	* aix386-core.c, * aout-adobe.c, * aout-arm.c, * aout-ns32k.c,
2285*5e098073Schristos	* aout-sparcle.c, * aout0.c, * aoutx.h, * armnetbsd.c, * bout.c,
2286*5e098073Schristos	* cf-i386lynx.c, * cf-sparclynx.c, * cisco-core.c, * coff-alpha.c,
2287*5e098073Schristos	* coff-apollo.c, * coff-arm.c, * coff-aux.c, * coff-go32.c,
2288*5e098073Schristos	* coff-h8300.c, * coff-h8500.c, * coff-i386.c, * coff-i860.c,
2289*5e098073Schristos	* coff-i960.c, * coff-m68k.c, * coff-m88k.c, * coff-mips.c,
2290*5e098073Schristos	* coff-rs6000.c, * coff-sh.c, * coff-sparc.c, * coff-stgo32.c,
2291*5e098073Schristos	* coff-svm68k.c, * coff-tic80.c, * coff-u68k.c, * coff-w65.c,
2292*5e098073Schristos	* coff-we32k.c, * coff-x86_64.c, * coff-z80.c, * coff-z8k.c,
2293*5e098073Schristos	* coff64-rs6000.c, * config.bfd, * configure.com, * configure.in,
2294*5e098073Schristos	* demo64.c, * elf-m10200.c, * elf-m10300.c, * elf32-am33lin.c,
2295*5e098073Schristos	* elf32-arc.c, * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c,
2296*5e098073Schristos	* elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c,
2297*5e098073Schristos	* elf32-d10v.c, * elf32-d30v.c, * elf32-dlx.c, * elf32-epiphany.c,
2298*5e098073Schristos	* elf32-fr30.c, * elf32-frv.c, * elf32-gen.c, * elf32-h8300.c,
2299*5e098073Schristos	* elf32-hppa.c, * elf32-i370.c, * elf32-i386.c, * elf32-i860.c,
2300*5e098073Schristos	* elf32-i960.c, * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c,
2301*5e098073Schristos	* elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc11.c, * elf32-m68hc12.c,
2302*5e098073Schristos	* elf32-m68k.c, * elf32-m88k.c, * elf32-mcore.c, * elf32-mep.c,
2303*5e098073Schristos	* elf32-metag.c, * elf32-microblaze.c, * elf32-mips.c, * elf32-moxie.c,
2304*5e098073Schristos	* elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c, * elf32-nios2.c,
2305*5e098073Schristos	* elf32-or1k.c, * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c,
2306*5e098073Schristos	* elf32-rx.c, * elf32-s390.c, * elf32-score.c, * elf32-sh-symbian.c,
2307*5e098073Schristos	* elf32-sh.c, * elf32-sh64.c, * elf32-sparc.c, * elf32-spu.c,
2308*5e098073Schristos	* elf32-tic6x.c, * elf32-tilegx.c, * elf32-tilepro.c, * elf32-v850.c,
2309*5e098073Schristos	* elf32-vax.c, * elf32-xc16x.c, * elf32-xgate.c, * elf32-xstormy16.c,
2310*5e098073Schristos	* elf32-xtensa.c, * elf64-alpha.c, * elf64-gen.c, * elf64-hppa.c,
2311*5e098073Schristos	* elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c, * elf64-ppc.c,
2312*5e098073Schristos	* elf64-s390.c, * elf64-sh64.c, * elf64-sparc.c, * elf64-tilegx.c,
2313*5e098073Schristos	* elf64-x86-64.c, * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c,
2314*5e098073Schristos	* epoc-pe-arm.c, * epoc-pei-arm.c, * hp300bsd.c, * hp300hpux.c,
2315*5e098073Schristos	* hppabsd-core.c, * hpux-core.c, * i386aout.c, * i386bsd.c,
2316*5e098073Schristos	* i386dynix.c, * i386freebsd.c, * i386linux.c, * i386lynx.c,
2317*5e098073Schristos	* i386mach3.c, * i386msdos.c, * i386netbsd.c, * i386os9k.c,
2318*5e098073Schristos	* irix-core.c, * m68k4knetbsd.c, * m68klinux.c, * m68knetbsd.c,
2319*5e098073Schristos	* m88kmach3.c, * m88kopenbsd.c, * mach-o-i386.c, * mach-o-x86-64.c,
2320*5e098073Schristos	* makefile.vms, * mipsbsd.c, * mmo.c, * netbsd-core.c, * newsos3.c,
2321*5e098073Schristos	* nlm32-alpha.c, * nlm32-i386.c, * nlm32-ppc.c, * nlm32-sparc.c,
2322*5e098073Schristos	* ns32knetbsd.c, * osf-core.c, * pc532-mach.c, * pe-arm-wince.c,
2323*5e098073Schristos	* pe-arm.c, * pe-i386.c, * pe-mcore.c, * pe-mips.c, * pe-ppc.c,
2324*5e098073Schristos	* pe-sh.c, * pe-x86_64.c, * pei-arm-wince.c, * pei-arm.c,
2325*5e098073Schristos	* pei-i386.c, * pei-ia64.c, * pei-mcore.c, * pei-mips.c, * pei-ppc.c,
2326*5e098073Schristos	* pei-sh.c, * pei-x86_64.c, * ppcboot.c, * ptrace-core.c, * riscix.c,
2327*5e098073Schristos	* sco5-core.c, * som.c, * sparclinux.c, * sparclynx.c,
2328*5e098073Schristos	* sparcnetbsd.c, * sunos.c, * targets.c, * trad-core.c,
2329*5e098073Schristos	* vax1knetbsd.c, * vaxbsd.c, * vaxnetbsd.c, * versados.c,
2330*5e098073Schristos	* vms-alpha.c, * vms-lib.c: Rename bfd targets to
2331*5e098073Schristos	<cpu>_<format>_<other>_<endian>_vec.  Adjust associated MY macros
2332*5e098073Schristos	on aout targets.
2333*5e098073Schristos	* configure: Regenerate.
2334*5e098073Schristos
2335*5e098073Schristos2014-05-01  Hans-Peter Nilsson  <hp@bitrange.com>
2336*5e098073Schristos
2337*5e098073Schristos	* mmo.c (mmo File layout documentation): Add note about low bits
2338*5e098073Schristos	of address.
2339*5e098073Schristos	(mmo_write_chunk): When handling data remainder, assert that
2340*5e098073Schristos	previous remaining data is flushed.
2341*5e098073Schristos	(mmo_write_loc_chunk): Only look for trailing and leading zeros
2342*5e098073Schristos	when dealing with an aligned VMA and for aligned lengths.  Don't skip
2343*5e098073Schristos	the last 32-bit-word of zeros.
2344*5e098073Schristos	(mmo_write_loc_chunk): Emit an error if the VMA is not aligned.
2345*5e098073Schristos	(mmo_scan) <case LOP_QUOTE>: Move re-alignment of vma before
2346*5e098073Schristos	emitting data, not after updating it.
2347*5e098073Schristos	<case LOP_LOC>: Call mmo_decide_section with aligned vma.
2348*5e098073Schristos
2349*5e098073Schristos2014-04-30  Nick Clifton  <nickc@redhat.com>
2350*5e098073Schristos
2351*5e098073Schristos	* compress.c (bfd_is_section_compressed): When checking the
2352*5e098073Schristos	.debug_str section, also check the fifth byte in the section is
2353*5e098073Schristos	not part of a string.
2354*5e098073Schristos
2355*5e098073Schristos2014-04-30  Alan Modra  <amodra@gmail.com>
2356*5e098073Schristos
2357*5e098073Schristos	* elf-eh-frame.c (struct cie.personality): Replace val with sym.
2358*5e098073Schristos	(find_merged_cie): Identify personality functions by (bfd_id,index)
2359*5e098073Schristos	pair when a local sym is used.
2360*5e098073Schristos
2361*5e098073Schristos2014-04-29  Christian Svensson  <blue@cmd.nu>
2362*5e098073Schristos
2363*5e098073Schristos	* elf32-or1k.c: Fix a bug where non-TLS relocations would be forced
2364*5e098073Schristos	into .rela.got if it contained TLS relocations as well.
2365*5e098073Schristos
2366*5e098073Schristos2014-04-28  Nick Clifton  <nickc@redhat.com>
2367*5e098073Schristos
2368*5e098073Schristos	PR ld/16821
2369*5e098073Schristos	* peXXigen.c (_bfd_XXi_swap_sym_out): Rework fix to avoid compile
2370*5e098073Schristos	time warning.
2371*5e098073Schristos
2372*5e098073Schristos2014-04-26  Alan Modra  <amodra@gmail.com>
2373*5e098073Schristos
2374*5e098073Schristos	* po/SRC-POTFILES.in: Regenerate.
2375*5e098073Schristos	* configure: Regenerate.
2376*5e098073Schristos
2377*5e098073Schristos2014-04-25  Nick Clifton  <nickc@redhat.com>
2378*5e098073Schristos
2379*5e098073Schristos	PR ld/16821
2380*5e098073Schristos	* peXXigen.c (_bfd_XXi_swap_sym_out): Another fix for building on
2381*5e098073Schristos	a 342-bit host.  This time for older versions of gcc.
2382*5e098073Schristos
2383*5e098073Schristos2014-04-24  Nick Clifton  <nickc@redhat.com>
2384*5e098073Schristos
2385*5e098073Schristos	* peXXigen.c (rsrc_print_section): Fix compile time warning for
2386*5e098073Schristos	32-bit hosts.
2387*5e098073Schristos
2388*5e098073Schristos2014-04-24  Alan Modra  <amodra@gmail.com>
2389*5e098073Schristos
2390*5e098073Schristos	PR 16867
2391*5e098073Schristos	* dwarf2.c: Formatting.
2392*5e098073Schristos	(struct dwarf2_debug): Make adjusted_section_count signed.
2393*5e098073Schristos	(unset_sections): Make i signed.
2394*5e098073Schristos	(set_debug_vma): New function.
2395*5e098073Schristos	(place_sections): Handle separate debug object file.  Set VMA
2396*5e098073Schristos	on debug sections, even if they have an output section.  Also
2397*5e098073Schristos	set VMA on zero size sections, and non-load but alloc sections.
2398*5e098073Schristos	Set adjusted_section_count to -1 when no section adjustment.
2399*5e098073Schristos	Malloc adjusted_sections.  Don't double last_vma.  Transfer
2400*5e098073Schristos	alloc section VMAs to separate debug file.
2401*5e098073Schristos	(_bfd_dwarf2_cleanup_debug_info): Free adjusted_sections.
2402*5e098073Schristos	(_bfd_dwarf2_slurp_debug_info): Add do_place parameter.  Drop
2403*5e098073Schristos	test on symbols being the same before using old stash.  Read
2404*5e098073Schristos	and use separate debug file symbols.  Call place_sections.
2405*5e098073Schristos	(find_line): Don't call place_sections here.
2406*5e098073Schristos	* libbfd-in.h (_bfd_dwarf2_slurp_debug_info): Update proto.
2407*5e098073Schristos	* libbfd.h: Regenerate.
2408*5e098073Schristos	* mach-o.c (bfd_mach_o_find_nearest_line): Adjust
2409*5e098073Schristos	_bfd_dwarf2_slurp_debug_info call.
2410*5e098073Schristos	* simple.c (simple_save_output_info): Clarify comment.
2411*5e098073Schristos
2412*5e098073Schristos2014-04-24  Nick Clifton  <nickc@redhat.com>
2413*5e098073Schristos
2414*5e098073Schristos	PR ld/16807
2415*5e098073Schristos	* peXXigen.c (struct rsrc_regions): New structure.
2416*5e098073Schristos	(rsrc_print_resource_directory): Use new structure.  Include
2417*5e098073Schristos	offset of directory in listing.
2418*5e098073Schristos	(rsrc_print_resource_entry): Likewise.
2419*5e098073Schristos	(rsrc_print_section): Likewise.
2420*5e098073Schristos	(rsrc_count_entries): Do not increment sizeof_strings or
2421*5e098073Schristos	sizeof_leaves.
2422*5e098073Schristos	(rsrc_count_directory): Do not increment sizeof_tables.
2423*5e098073Schristos	(rsrc_compute_region_sizes): New function.
2424*5e098073Schristos	(rsrc_write_leaf): Maintain 8-byte alignment for resource data.
2425*5e098073Schristos	(rsrc_process_section): Compute size of regions after merging
2426*5e098073Schristos	entries.
2427*5e098073Schristos
2428*5e098073Schristos2014-04-23  Alan Modra  <amodra@gmail.com>
2429*5e098073Schristos
2430*5e098073Schristos	PR ld/16787
2431*5e098073Schristos	* dwarf2.c (struct dwarf2_debug): Add sec_vma field.
2432*5e098073Schristos	(place_sections): Do not modify VMA of sections when called from
2433*5e098073Schristos	linker after sections have been placed in output sections.  Short
2434*5e098073Schristos	circuit single section case.
2435*5e098073Schristos	(save_section_vma, section_vma_same): New functions.
2436*5e098073Schristos	(_bfd_dwarf2_slurp_debug_info): Throw away stash if section VMAs
2437*5e098073Schristos	change.
2438*5e098073Schristos	* reloc.c (bfd_perform_relocation): Do not modify reloc addend
2439*5e098073Schristos	when non-relocatable.
2440*5e098073Schristos
2441*5e098073Schristos2014-04-22  Nick Clifton  <nickc@redhat.com>
2442*5e098073Schristos
2443*5e098073Schristos	PR ld/16821
2444*5e098073Schristos	* peXXigen.c (_bfd_XXi_swap_sym_out): Fix for 32-bit hosts.
2445*5e098073Schristos
2446*5e098073Schristos2014-04-22  Christian Svensson  <blue@cmd.nu>
2447*5e098073Schristos
2448*5e098073Schristos	* Makefile.am: Remove openrisc and or32 support.  Add support for or1k.
2449*5e098073Schristos	* archures.c: Likewise.
2450*5e098073Schristos	* coffcode.h: Likewise.
2451*5e098073Schristos	* config.bfd: Likewise.
2452*5e098073Schristos	* configure.in: Likewise.
2453*5e098073Schristos	* reloc.c: Likewise.
2454*5e098073Schristos	* targets.c: Likewise.
2455*5e098073Schristos	* cpu-or1k.c: New file.
2456*5e098073Schristos	* elf32-or1k.c: New file.
2457*5e098073Schristos	* coff-or32.c: Delete.
2458*5e098073Schristos	* cpu-openrisc.c: Delete.
2459*5e098073Schristos	* cpu-or32.c: Delete.
2460*5e098073Schristos	* elf32-openrisc.c: Delete.
2461*5e098073Schristos	* elf32-or32.c: Delete.
2462*5e098073Schristos	* Makefile.in: Regenerate.
2463*5e098073Schristos	* bfd-in2.h: Regenerate.
2464*5e098073Schristos	* configure: Regenerate.
2465*5e098073Schristos	* libbfd.h: Regenerate.
2466*5e098073Schristos
2467*5e098073Schristos2014-04-22  Yuanhui Zhang  <asmwarrior@gmail.com>
2468*5e098073Schristos
2469*5e098073Schristos	PR ld/16821
2470*5e098073Schristos	* peXXigen.c (abs_finder): Fix for 32-bit host builds.
2471*5e098073Schristos
2472*5e098073Schristos2014-04-22  Will Newton  <will.newton@linaro.org>
2473*5e098073Schristos
2474*5e098073Schristos	* elfnn-aarch64.c (elfNN_aarch64_section_flags): Remove
2475*5e098073Schristos	function.  (elf_backend_section_flags): Remove define.
2476*5e098073Schristos
2477*5e098073Schristos2014-04-21  Richard Henderson  <rth@redhat.com>
2478*5e098073Schristos
2479*5e098073Schristos	* elf64-alpha.c (elf64_alpha_size_got_sections): New may_merge
2480*5e098073Schristos	parameter; honor it and disable got merging when false.
2481*5e098073Schristos	(elf64_alpha_relax_got_load): Do not relax to GPREL relocs during
2482*5e098073Schristos	the first pass of relaxation.
2483*5e098073Schristos	(elf64_alpha_relax_with_lituse): Likewise.  Move relaxed relocs to
2484*5e098073Schristos	the end of the LITERAL+LITUSE chain.
2485*5e098073Schristos	(elf64_alpha_relax_section): Only process LITERAL relocs during the
2486*5e098073Schristos	second pass of relaxation.
2487*5e098073Schristos
2488*5e098073Schristos	* configure.ac (use_secureplt): Enable by default.
2489*5e098073Schristos	* configure: Rebuild.
2490*5e098073Schristos
2491*5e098073Schristos2014-04-18  Tristan Gingold  <gingold@adacore.com>
2492*5e098073Schristos
2493*5e098073Schristos	* mach-o.h (bfd_mach_o_dyld_info_command): Add rebase_content,
2494*5e098073Schristos	bind_content, weak_bind_content, lazy_bind_content,
2495*5e098073Schristos	export_content.
2496*5e098073Schristos	(bfd_mach_o_load_command): Add comments, add next field.
2497*5e098073Schristos	(mach_o_data_struct): Replace commands field by first_command
2498*5e098073Schristos	and last_command.
2499*5e098073Schristos	* mach-o.c (bfd_mach_o_append_command): New function.
2500*5e098073Schristos	(bfd_mach_o_bfd_copy_private_symbol_data): Add blank lines.
2501*5e098073Schristos	(bfd_mach_o_bfd_copy_private_section_data): Check flavour,
2502*5e098073Schristos	copy fields.
2503*5e098073Schristos	(bfd_mach_o_bfd_copy_private_header_data): Copy load commands.
2504*5e098073Schristos	(bfd_mach_o_pad4, bfd_mach_o_pad_command): New functions.
2505*5e098073Schristos	(bfd_mach_o_write_thread): Use macro instead of literal.
2506*5e098073Schristos	(bfd_mach_o_write_dylinker, bfd_mach_o_write_dylib)
2507*5e098073Schristos	(bfd_mach_o_write_main, bfd_mach_o_write_dyld_info): New
2508*5e098073Schristos	functions.
2509*5e098073Schristos	(bfd_mach_o_write_symtab_content): New function (extracted
2510*5e098073Schristos	from bfd_mach_o_write_symtab).
2511*5e098073Schristos	(bfd_mach_o_write_symtab): Split.
2512*5e098073Schristos	(bfd_mach_o_count_indirect_symbols): Move
2513*5e098073Schristos	(bfd_mach_o_build_dysymtab): Remove layout code.
2514*5e098073Schristos	(bfd_mach_o_write_contents): Rewritten to build commands in order.
2515*5e098073Schristos	(bfd_mach_o_count_sections_for_seg): Remove.
2516*5e098073Schristos	(bfd_mach_o_build_obj_seg_command): New function (extracted from
2517*5e098073Schristos	bfd_mach_o_build_seg_command).
2518*5e098073Schristos	(bfd_mach_o_build_exec_seg_command): New function.
2519*5e098073Schristos	(bfd_mach_o_build_dysymtab_command): Remove.
2520*5e098073Schristos	(bfd_mach_o_layout_commands): New function.
2521*5e098073Schristos	(bfd_mach_o_init_segment): New function.
2522*5e098073Schristos	(bfd_mach_o_build_commands): Major rework to handle non-object
2523*5e098073Schristos	files.
2524*5e098073Schristos	(bfd_mach_o_alloc_and_read, bfd_mach_o_read_dyld_content): New
2525*5e098073Schristos	function.
2526*5e098073Schristos	(bfd_mach_o_read_dyld_info): Clear content fields.
2527*5e098073Schristos	(bfd_mach_o_read_segment): Adjust call.
2528*5e098073Schristos	(bfd_mach_o_flatten_sections): Adjust as now load commands are
2529*5e098073Schristos	chained.
2530*5e098073Schristos	(bfd_mach_o_scan_start_address, bfd_mach_o_scan)
2531*5e098073Schristos	(bfd_mach_o_mkobject_init, bfd_mach_o_get_base_address)
2532*5e098073Schristos	(bfd_mach_o_lookup_command, bfd_mach_o_core_fetch_environment):
2533*5e098073Schristos	Likewise.
2534*5e098073Schristos
2535*5e098073Schristos2014-04-18  Tristan Gingold  <gingold@adacore.com>
2536*5e098073Schristos
2537*5e098073Schristos	* mach-o-target.c (bfd_mach_o_bfd_copy_private_header_data):
2538*5e098073Schristos	Define instead of bfd_mach_o_bfd_copy_private_bfd_data.
2539*5e098073Schristos	* mach-o.c (bfd_mach_o_bfd_copy_private_bfd_data): Rename.
2540*5e098073Schristos	* mach-o.h (bfd_mach_o_bfd_copy_private_bfd_data): Likewise.
2541*5e098073Schristos
2542*5e098073Schristos2014-04-18  Tristan Gingold  <gingold@adacore.com>
2543*5e098073Schristos
2544*5e098073Schristos	* mach-o.h (bfd_mach_o_dylinker_command)
2545*5e098073Schristos	(bfd_mach_o_dylib_command, bfd_mach_o_fvmlib_command): Remove
2546*5e098073Schristos	name_len field.
2547*5e098073Schristos	* mach-o.c (bfd_mach_o_read_dylinker, bfd_mach_o_read_dylib)
2548*5e098073Schristos	(bfd_mach_o_read_fvmlib): Adjust after name_len removal.
2549*5e098073Schristos
2550*5e098073Schristos2014-04-18  Tristan Gingold  <gingold@adacore.com>
2551*5e098073Schristos
2552*5e098073Schristos	* mach-o.h (bfd_mach_o_backend_data): Add page_size field.
2553*5e098073Schristos	* mach-o-target.c: Check TARGET_PAGESIZE is defined.
2554*5e098073Schristos	(TARGET_NAME_BACKEND): Add TARGET_PAGESIZE.
2555*5e098073Schristos	* mach-o.c (TARGET_PAGESIZE): Define and undefined for
2556*5e098073Schristos	each targets declared.
2557*5e098073Schristos	* mach-o-x86-64.c (TARGET_PAGESIZE): Define.
2558*5e098073Schristos	* mach-o-i386.c (TARGET_PAGESIZE): Define.
2559*5e098073Schristos
2560*5e098073Schristos2014-04-18  Tristan Gingold  <gingold@adacore.com>
2561*5e098073Schristos
2562*5e098073Schristos	* mach-o.c (bfd_mach_o_write_thread)
2563*5e098073Schristos	(bfd_mach_o_write_section_32, bfd_mach_o_write_section_64)
2564*5e098073Schristos	(bfd_mach_o_write_segment_32, bfd_mach_o_write_segment_64)
2565*5e098073Schristos	(bfd_mach_o_read_dylinker, bfd_mach_o_read_dylib)
2566*5e098073Schristos	(bfd_mach_o_read_prebound_dylib, bfd_mach_o_read_prebind_cksum)
2567*5e098073Schristos	(bfd_mach_o_read_twolevel_hints, bfd_mach_o_read_fvmlib)
2568*5e098073Schristos	(bfd_mach_o_read_thread, bfd_mach_o_read_dysymtab)
2569*5e098073Schristos	(bfd_mach_o_read_symtab, bfd_mach_o_read_uuid)
2570*5e098073Schristos	(bfd_mach_o_read_linkedit, bfd_mach_o_read_str)
2571*5e098073Schristos	(bfd_mach_o_read_dyld_info, bfd_mach_o_read_segment)
2572*5e098073Schristos	(bfd_mach_o_read_segment_32, bfd_mach_o_read_segment_64)
2573*5e098073Schristos	(bfd_mach_o_read_command): Now return a boolean status.
2574*5e098073Schristos	Adjust return statements.
2575*5e098073Schristos	(bfd_mach_o_write_contents, bfd_mach_o_scan): Adjust tests.
2576*5e098073Schristos	(bfd_mach_o_core_file_failing_command): Remove useless initialization.
2577*5e098073Schristos
2578*5e098073Schristos2014-04-17  Kwok Cheung Yeung  <kcy@codesourcery.com>
2579*5e098073Schristos
2580*5e098073Schristos	* elfxx-mips.c (struct mips_got_info): Delete assigned_gotno
2581*5e098073Schristos	field.  Add assigned_low_gotno and assigned_high_gotno fields.
2582*5e098073Schristos	(mips_elf_create_local_got_entry): Update out-of-space condition.
2583*5e098073Schristos	Set index of new GOT entry to assigned_low_gotno if required by
2584*5e098073Schristos	the current relocation, else set it to assigned_high_gotno.
2585*5e098073Schristos	(mips_elf_set_global_gotidx): Replace uses of assigned_gotno
2586*5e098073Schristos	with assigned_low_gotno.
2587*5e098073Schristos	(mips_elf_multi_got): Initialize assigned_low_gotno and
2588*5e098073Schristos	assigned_high_gotno in secondary GOTs.  Use assigned_low_gotno
2589*5e098073Schristos	in place of assigned_gotno when handling global GOT entries.
2590*5e098073Schristos	(mips_elf_lay_out_got): Initialize assigned_low_gotno and
2591*5e098073Schristos	assigned_high_gotno.
2592*5e098073Schristos	(_bfd_mips_elf_finish_dynamic_sections): Account for a possible
2593*5e098073Schristos	gap in the middle of local GOT space.
2594*5e098073Schristos
2595*5e098073Schristos2014-04-17  Alan Modra  <amodra@gmail.com>
2596*5e098073Schristos
2597*5e098073Schristos	PR 16846
2598*5e098073Schristos	* elflink.c (_bfd_elf_merge_symbol): Ignore TLS mismatch when
2599*5e098073Schristos	current bfd is a plugin.  Don't always set type_change_ok
2600*5e098073Schristos	when old bfd is a plugin.
2601*5e098073Schristos
2602*5e098073Schristos2014-04-16  Tristan Gingold  <gingold@adacore.com>
2603*5e098073Schristos
2604*5e098073Schristos	* mach-o-x86-64.c (bfd_mach_o_x86_64_mkobject): Adjust cpusubtype
2605*5e098073Schristos	flag.
2606*5e098073Schristos
2607*5e098073Schristos2014-04-16  Alan Modra  <amodra@gmail.com>
2608*5e098073Schristos
2609*5e098073Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Fill 476 fixup area
2610*5e098073Schristos	with "ba 0" rather than zeros.
2611*5e098073Schristos
2612*5e098073Schristos2014-04-15  Marcus Shawcroft  <marcus.shawcroft@arm.com>
2613*5e098073Schristos
2614*5e098073Schristos	* (elfNN_aarch64_tls_relax): Fix instruction mask.
2615*5e098073Schristos
2616*5e098073Schristos2014-04-14  Alan Modra  <amodra@gmail.com>
2617*5e098073Schristos
2618*5e098073Schristos	* elf32-ppc.c (BA): Define
2619*5e098073Schristos	(ppc_elf_link_hash_table_create): Correct default_params.
2620*5e098073Schristos	(write_glink_stub): Pad small plt call stub with "ba 0" rather
2621*5e098073Schristos	than "nop" for ppc476_workaround.
2622*5e098073Schristos	(ppc_elf_finish_dynamic_sections): Likewise for branch table
2623*5e098073Schristos	and __glink_PLTresolve.  Ensure plt call stub at end of page
2624*5e098073Schristos	doesn't allow fall-thru prefetch.
2625*5e098073Schristos
2626*5e098073Schristos2014-04-11  Nick Clifton  <nickc@redhat.com>
2627*5e098073Schristos
2628*5e098073Schristos	PR ld/16821
2629*5e098073Schristos	* peXXigen.c (abs_finder): New function.
2630*5e098073Schristos	(_bfd_XXi_swap_sym_out): For absolute symbols with values larger
2631*5e098073Schristos	than 1^32 try to convert them into section relative values
2632*5e098073Schristos	instead.
2633*5e098073Schristos
2634*5e098073Schristos2014-04-11  Nick Clifton  <nickc@redhat.com>
2635*5e098073Schristos
2636*5e098073Schristos	* bfd-in2.h: Regenerate.
2637*5e098073Schristos	* libbfd.h: Regenerate.
2638*5e098073Schristos
2639*5e098073Schristos2014-04-10  Cesar Philippidis  <cesar@codesourcery.com>
2640*5e098073Schristos
2641*5e098073Schristos	* elf32-nios2.c (nios2_elf32_build_stubs): Ignore dynobjs
2642*5e098073Schristos	when building function stubs.
2643*5e098073Schristos
2644*5e098073Schristos2014-04-10  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
2645*5e098073Schristos
2646*5e098073Schristos	* elf32-avr.c: Add DIFF relocations for AVR.
2647*5e098073Schristos	(avr_final_link_relocate): Handle the DIFF relocs.
2648*5e098073Schristos	(bfd_elf_avr_diff_reloc): New.
2649*5e098073Schristos	(elf32_avr_is_diff_reloc): New.
2650*5e098073Schristos	(elf32_avr_adjust_diff_reloc_value): Reduce difference value.
2651*5e098073Schristos	(elf32_avr_relax_delete_bytes): Recompute difference after deleting
2652*5e098073Schristos	bytes.
2653*5e098073Schristos
2654*5e098073Schristos	* reloc.c: Add BFD_RELOC_AVR_DIFF8/16/32 relocations
2655*5e098073Schristos
2656*5e098073Schristos2014-04-09  Alan Modra  <amodra@gmail.com>
2657*5e098073Schristos
2658*5e098073Schristos	* libcoff.h: Regenerate.
2659*5e098073Schristos
2660*5e098073Schristos2014-04-09  Alan Modra  <amodra@gmail.com>
2661*5e098073Schristos
2662*5e098073Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Remove bctr from list
2663*5e098073Schristos	of safe ppc476 insns at end of page.  Also remove non-branch insns.
2664*5e098073Schristos	Expand comments.
2665*5e098073Schristos
2666*5e098073Schristos2014-04-08  Jon Turney  <jon.turney@dronecode.org.uk>
2667*5e098073Schristos
2668*5e098073Schristos	* peXXigen.c (pe_print_debugdata): New function: Displays the
2669*5e098073Schristos	contents of the debug directory and decodes codeview entries.
2670*5e098073Schristos	(_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out)
2671*5e098073Schristos	(_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record):
2672*5e098073Schristos	Add functions for reading and writing debugdir and codeview
2673*5e098073Schristos	records.
2674*5e098073Schristos	* libpei.h (_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out)
2675*5e098073Schristos	(_bfd_XXi_write_codeview_record): Add prototypes and macros.
2676*5e098073Schristos	* libcoff-in.h (pe_tdata): Add build-id data.
2677*5e098073Schristos	* libcoff.h: Regenerate.
2678*5e098073Schristos	* coffcode.h (coff_write_object_contents): Run build_id
2679*5e098073Schristos	after_write_object_contents hook.
2680*5e098073Schristos
2681*5e098073Schristos2014-04-05  Alan Modra  <amodra@gmail.com>
2682*5e098073Schristos
2683*5e098073Schristos	* elflink.c (_bfd_elf_add_default_symbol): Pass poldbfd when
2684*5e098073Schristos	merging non-default sym.
2685*5e098073Schristos
2686*5e098073Schristos2014-04-04  Tristan Gingold  <gingold@adacore.com>
2687*5e098073Schristos
2688*5e098073Schristos	* mach-o.c (bfd_mach_o_header_p): Reject 64 bit target when not
2689*5e098073Schristos	configured for.
2690*5e098073Schristos
2691*5e098073Schristos2014-04-04  Tristan Gingold  <gingold@adacore.com>
2692*5e098073Schristos
2693*5e098073Schristos	* mach-o.c (bfd_mach_o_convert_section_name_to_mach_o): Fix
2694*5e098073Schristos	thinko on names length.
2695*5e098073Schristos
2696*5e098073Schristos2014-04-04  Tristan Gingold  <gingold@adacore.com>
2697*5e098073Schristos
2698*5e098073Schristos	* mach-o-i386.c (bfd_mach_o_i386_swap_reloc_out): Use target index
2699*5e098073Schristos	of output_section.
2700*5e098073Schristos	* mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Ditto.
2701*5e098073Schristos
2702*5e098073Schristos2014-04-04  Tristan Gingold  <gingold@adacore.com>
2703*5e098073Schristos
2704*5e098073Schristos	* bfd.c (bfd_get_arch_size): Default is taken from arch.
2705*5e098073Schristos
2706*5e098073Schristos2014-04-03  Jon Turney  <jon.turney@dronecode.org.uk>
2707*5e098073Schristos
2708*5e098073Schristos	* peXXigen.c (pe_print_edata): Verify edt.name lies inside
2709*5e098073Schristos	section before dereferencing.
2710*5e098073Schristos	(pe_print_idata, pe_print_edata, pe_print_reloc)
2711*5e098073Schristos	(rsrc_print_section): Don't bother interpreting the contents
2712*5e098073Schristos	of sections which have no contents.
2713*5e098073Schristos
2714*5e098073Schristos2014-04-03  Maria Guseva  <m.guseva@samsung.com>
2715*5e098073Schristos
2716*5e098073Schristos	PR ld/16803
2717*5e098073Schristos	* elf.c (_bfd_elf_set_section_contents): Use correct type to hold
2718*5e098073Schristos	file position.
2719*5e098073Schristos
2720*5e098073Schristos2014-04-03  Tristan Gingold  <gingold@adacore.com>
2721*5e098073Schristos
2722*5e098073Schristos	* mach-o.c (bfd_mach_o_mangle_symbols): Use index from
2723*5e098073Schristos	output_section.
2724*5e098073Schristos	(bfd_mach_o_build_seg_command): Add comment.  Realign segment.
2725*5e098073Schristos	Fix style.
2726*5e098073Schristos	(bfd_mach_o_build_commands, bfd_mach_o_read_thread): Fix style.
2727*5e098073Schristos
2728*5e098073Schristos2014-04-03  Alan Modra  <amodra@gmail.com>
2729*5e098073Schristos
2730*5e098073Schristos	* elf-bfd.h (struct elf_backend_data
2731*5e098073Schristos	<elf_backend_bfd_from_remote_memory>): Replace "size_t size"
2732*5e098073Schristos	with "bfd_size_type size".
2733*5e098073Schristos	(_bfd_elf32_bfd_from_remote_memory): Likewise.
2734*5e098073Schristos	(_bfd_elf64_bfd_from_remote_memory): Likewise.
2735*5e098073Schristos	* elf.c (bfd_elf_bfd_from_remote_memory): Likewise.
2736*5e098073Schristos	* elfcode.h (bfd_from_remote_memory): Likewise.
2737*5e098073Schristos	* bfd-in.h (bfd_elf_bfd_from_remote_memory): Likewise.
2738*5e098073Schristos	* bfd-in2.h: Regenerate.
2739*5e098073Schristos
2740*5e098073Schristos2014-04-02  Tristan Gingold  <gingold@adacore.com>
2741*5e098073Schristos
2742*5e098073Schristos	* mach-o.h (bfd_mach_o_twolevel_hints_command)
2743*5e098073Schristos	(bfd_mach_o_prebind_cksum_command): New types.
2744*5e098073Schristos	(bfd_mach_o_prebound_dylib_command): Rewrite.
2745*5e098073Schristos	(bfd_mach_o_load_command): Add prebind_cksum and twolevel_hints
2746*5e098073Schristos	fields.
2747*5e098073Schristos	* mach-o.c (bfd_mach_o_read_prebound_dylib): Read and decode the
2748*5e098073Schristos	command.
2749*5e098073Schristos	(bfd_mach_o_read_prebind_cksum): New function.
2750*5e098073Schristos	(bfd_mach_o_read_twolevel_hints): Ditto.
2751*5e098073Schristos	(bfd_mach_o_read_command): Handle prebind cksum and twolevel hints
2752*5e098073Schristos	commands.
2753*5e098073Schristos
2754*5e098073Schristos2014-04-02  Alan Modra  <amodra@gmail.com>
2755*5e098073Schristos
2756*5e098073Schristos	* elfcode.h (bfd_from_remote_memory): Add "size" parameter.
2757*5e098073Schristos	Consolidate code handling possible section headers past end of
2758*5e098073Schristos	segment.  Don't use p_align for page size guess, instead use
2759*5e098073Schristos	minpagesize.  Take note of ld.so clearing section headers when
2760*5e098073Schristos	p_memsz > p_filesz.  Handle file header specifying no section
2761*5e098073Schristos	headers.  Handle zero p_align throughout.  Default loadbase to
2762*5e098073Schristos	zero.  Add comments.  Rename contents_size to high_offset, and
2763*5e098073Schristos	make it a bfd_vma.  Delete unnecessary bfd_set_error calls.
2764*5e098073Schristos	* bfd-in.h (bfd_elf_bfd_from_remote_memory): Update prototpe.
2765*5e098073Schristos	* elf-bfd.h (struct elf_backend_data <elf_backend_from_remote_memory>):
2766*5e098073Schristos	Likewise.
2767*5e098073Schristos	(_bfd_elf32_bfd_from_remote_memory): Likewise.
2768*5e098073Schristos	(_bfd_elf64_bfd_from_remote_memory): Likewise.
2769*5e098073Schristos	* elf.c (bfd_elf_bfd_from_remote_memory): Adjust.
2770*5e098073Schristos	* bfd-in2.h: Regnerate.
2771*5e098073Schristos
2772*5e098073Schristos2014-04-01  Tristan Gingold  <gingold@adacore.com>
2773*5e098073Schristos
2774*5e098073Schristos	* mach-o.c (bfd_mach_o_canonicalize_one_reloc): Avoid to crash
2775*5e098073Schristos	when num == 0.
2776*5e098073Schristos
2777*5e098073Schristos2014-03-27  Yury Gribov  <y.gribov@samsung.com>
2778*5e098073Schristos	    Pavel Fedin  <p.fedin@samsung.com>
2779*5e098073Schristos
2780*5e098073Schristos	* elf32-arm.c: Add support for limited pretty-printing of PLT
2781*5e098073Schristos	entries on eabi and nacl targets.
2782*5e098073Schristos	(elf32_arm_get_synthetic_symtab): Add new callback.
2783*5e098073Schristos	(elf32_arm_nacl_plt_sym_val): Likewise.
2784*5e098073Schristos	(elf32_arm_plt0_size): Add helper function.
2785*5e098073Schristos	(elf32_arm_plt_size): Likewise.
2786*5e098073Schristos
2787*5e098073Schristos2014-03-27  Tristan Gingold  <gingold@adacore.com>
2788*5e098073Schristos
2789*5e098073Schristos	* mach-o.c (bfd_mach_o_read_dylinker): Remove assert.
2790*5e098073Schristos	(bfd_mach_o_read_command): Handle BFD_MACH_O_LC_DYLD_ENVIRONMENT.
2791*5e098073Schristos
2792*5e098073Schristos2014-03-27  Tristan Gingold  <gingold@adacore.com>
2793*5e098073Schristos
2794*5e098073Schristos	* mach-o.h (bfd_mach_o_get_base_address): New prototype.
2795*5e098073Schristos	* mach-o.c (bfd_mach_o_write_symtab)
2796*5e098073Schristos	(bfd_mach_o_write_contents)
2797*5e098073Schristos	(bfd_mach_o_set_section_flags_from_bfd)
2798*5e098073Schristos	(bfd_mach_o_build_seg_command): Fix indentation.
2799*5e098073Schristos	(bfd_mach_o_get_base_address): New function.
2800*5e098073Schristos
2801*5e098073Schristos2014-03-26  Nick Clifton  <nickc@redhat.com>
2802*5e098073Schristos
2803*5e098073Schristos	* cofflink.c (_bfd_coff_generic_relocate_section): Skip
2804*5e098073Schristos	relocations in discarded sections.
2805*5e098073Schristos
2806*5e098073Schristos2014-03-26  Tristan Gingold  <gingold@adacore.com>
2807*5e098073Schristos
2808*5e098073Schristos	* mach-o.c (bfd_mach_o_convert_architecture): Add
2809*5e098073Schristos	BFD_MACH_O_CPU_TYPE_ARM64.
2810*5e098073Schristos
2811*5e098073Schristos2014-03-26  Alan Modra  <amodra@gmail.com>
2812*5e098073Schristos
2813*5e098073Schristos	* elf64-ppc.c (ppc64_elf_check_relocs): Account for possibly
2814*5e098073Schristos	needed plt entries when taking the address of functions for
2815*5e098073Schristos	abiversion == 0 (ie. unknown) as well as abiversion == 2.
2816*5e098073Schristos	Move opd setup and abiversion checks to..
2817*5e098073Schristos	(ppc64_elf_before_check_relocs): ..here.  Renamed from
2818*5e098073Schristos	ppc64_elf_process_dot_syms.  Set output abiversion from input and
2819*5e098073Schristos	input abiversion from output, if either is not set.
2820*5e098073Schristos	(ppc64_elf_merge_private_bfd_data): Don't merge flags here.
2821*5e098073Schristos	(elf_backend_check_directives): Update.
2822*5e098073Schristos
2823*5e098073Schristos2014-03-25  Will Newton  <will.newton@linaro.org>
2824*5e098073Schristos
2825*5e098073Schristos	 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections):
2826*5e098073Schristos	 Set value of DT_PLTRELSZ and DT_RELASZ based on the size
2827*5e098073Schristos	 of input sections rather than output sections.
2828*5e098073Schristos
2829*5e098073Schristos2014-03-20  Will Newton  <will.newton@linaro.org>
2830*5e098073Schristos
2831*5e098073Schristos	PR ld/16715
2832*5e098073Schristos	* elf32-arm.c (elf32_arm_check_relocs): Set
2833*5e098073Schristos	pointer_equality_needed for absolute references within
2834*5e098073Schristos	executable links.
2835*5e098073Schristos	(elf32_arm_finish_dynamic_symbol): Set st_value to zero
2836*5e098073Schristos	unless pointer_equality_needed is set.
2837*5e098073Schristos
2838*5e098073Schristos2014-03-19  Nick Clifton  <nickc@redhat.com>
2839*5e098073Schristos
2840*5e098073Schristos	* peXXigen.c (rsrc_process_section): Add code to scan input
2841*5e098073Schristos	sections and record their lengths.  Use these lengths to find the
2842*5e098073Schristos	start of each merged .rsrc section.
2843*5e098073Schristos
2844*5e098073Schristos2014-03-17  Tristan Gingold  <gingold@adacore.com>
2845*5e098073Schristos
2846*5e098073Schristos	* mach-o.c (bfd_mach_o_read_dylib): Handle lazy load dylib.
2847*5e098073Schristos	(bfd_mach_o_read_command): Ditto.
2848*5e098073Schristos
2849*5e098073Schristos2014-03-14  Meador Inge  <meadori@codesourcery.com>
2850*5e098073Schristos
2851*5e098073Schristos	* configure.in: Add strnlen to AC_CHECK_DECLS.
2852*5e098073Schristos	* config.in: Regenerate.
2853*5e098073Schristos	* configure: Regenerate.
2854*5e098073Schristos	* sysdep.h (strnlen): Add prototype.
2855*5e098073Schristos
2856*5e098073Schristos2014-03-14  Alan Modra  <amodra@gmail.com>
2857*5e098073Schristos
2858*5e098073Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Correct overflow
2859*5e098073Schristos	handling for VLE_SDA21 relocs.
2860*5e098073Schristos
2861*5e098073Schristos2014-03-13  Tristan Gingold  <gingold@adacore.com>
2862*5e098073Schristos
2863*5e098073Schristos	* peicode.h (pe_ILF_object_p): Adjust, as the version number
2864*5e098073Schristos	has been read.
2865*5e098073Schristos	(pe_bfd_object_p): Also read version number to detect ILF.
2866*5e098073Schristos	* pe-x86_64.c (COFF_WITH_PE_BIGOBJ): Define.
2867*5e098073Schristos	(x86_64pe_bigobj_vec): Define
2868*5e098073Schristos	* coffcode.h (bfd_coff_backend_data): Add _bfd_coff_max_nscns field.
2869*5e098073Schristos	(bfd_coff_max_nscns): New macro.
2870*5e098073Schristos	(coff_compute_section_file_positions): Use unsigned int for
2871*5e098073Schristos	target_index.  Compare with bfd_coff_max_nscns.
2872*5e098073Schristos	(bfd_coff_std_swap_table, ticoff0_swap_table, ticoff1_swap_table):
2873*5e098073Schristos	Set a value for _bfd_coff_max_nscns.
2874*5e098073Schristos	(header_bigobj_classid): New constant.
2875*5e098073Schristos	(coff_bigobj_swap_filehdr_in, coff_bigobj_swap_filehdr_out)
2876*5e098073Schristos	(coff_bigobj_swap_sym_in, coff_bigobj_swap_sym_out)
2877*5e098073Schristos	(coff_bigobj_swap_aux_in, coff_bigobj_swap_aux_out): New
2878*5e098073Schristos	functions.
2879*5e098073Schristos	(bigobj_swap_table): New table.
2880*5e098073Schristos	* libcoff.h: Regenerate.
2881*5e098073Schristos	* coff-sh.c (bfd_coff_small_swap_table): Likewise.
2882*5e098073Schristos	* coff-alpha.c (alpha_ecoff_backend_data): Add value for
2883*5e098073Schristos	_bfd_coff_max_nscns.
2884*5e098073Schristos	* coff-mips.c (mips_ecoff_backend_data): Likewise.
2885*5e098073Schristos	* coff-rs6000.c (bfd_xcoff_backend_data)
2886*5e098073Schristos	(bfd_pmac_xcoff_backend_data): Likewise.
2887*5e098073Schristos	* coff64-rs6000.c (bfd_xcoff_backend_data)
2888*5e098073Schristos	(bfd_xcoff_aix5_backend_data): Likewise.
2889*5e098073Schristos	* targets.c (x86_64pe_bigobj_vec): Declare.
2890*5e098073Schristos	* configure.in (x86_64pe_bigobj_vec): New vector.
2891*5e098073Schristos	* configure: Regenerate.
2892*5e098073Schristos	* config.bfd: Add bigobj object format for Windows targets.
2893*5e098073Schristos
2894*5e098073Schristos2014-03-12  Nick Clifton  <nickc@redhat.com>
2895*5e098073Schristos
2896*5e098073Schristos	PR ld/16671
2897*5e098073Schristos	* elf32-arm.c (elf32_arm_add_symbol_hook): Check for ARM format
2898*5e098073Schristos	before testing for vxworks.
2899*5e098073Schristos
2900*5e098073Schristos2014-03-12  Alan Modra  <amodra@gmail.com>
2901*5e098073Schristos
2902*5e098073Schristos	* Makefile.in: Regenerate.
2903*5e098073Schristos
2904*5e098073Schristos2014-03-12  Alan Modra  <amodra@gmail.com>
2905*5e098073Schristos
2906*5e098073Schristos	PR 16690
2907*5e098073Schristos	* elf.c (copy_elf_program_header): Ignore first section lma if
2908*5e098073Schristos	non-alloc.
2909*5e098073Schristos
2910*5e098073Schristos2014-03-11  Alan Modra  <amodra@gmail.com>
2911*5e098073Schristos
2912*5e098073Schristos	PR 16686
2913*5e098073Schristos	* coff-rs6000.c: Include stdint.h.
2914*5e098073Schristos	* coff64-rs6000.c: Likewise.
2915*5e098073Schristos
2916*5e098073Schristos2014-03-10  Tristan Gingold  <gingold@adacore.com>
2917*5e098073Schristos
2918*5e098073Schristos	* ticoff.h: Removed.
2919*5e098073Schristos
2920*5e098073Schristos2014-03-08  Alan Modra  <amodra@gmail.com>
2921*5e098073Schristos
2922*5e098073Schristos	* elf32-ppc.c (ppc_elf_howto_raw): Correct overflow check for
2923*5e098073Schristos	many relocations.  Correct bitsize and rightshift too for a number
2924*5e098073Schristos	of VLE relocs.  Describe R_PPC_VLE_SDA21 and R_PPC_VLE_SDA21_LO.
2925*5e098073Schristos	Correct dst_mask on R_PPC_VLE_SDA21_LO.
2926*5e098073Schristos	(ppc_elf_vle_split16): Tidy, delete unnecessary prototype.
2927*5e098073Schristos	(ppc_elf_relocate_section): Modify overflow test for 16-bit
2928*5e098073Schristos	fields in instructions to signed/unsigned according to whether
2929*5e098073Schristos	the field takes a signed or unsigned value.  Tidy vle split16 code.
2930*5e098073Schristos	Correct R_PPC_VLE_SDA21 and R_PPC_VLE_SDA21_LO handling.
2931*5e098073Schristos
2932*5e098073Schristos2014-03-08  Alan Modra  <amodra@gmail.com>
2933*5e098073Schristos
2934*5e098073Schristos	* elf64-ppc.c (ppc64_elf_howto_raw): Use complain_overflow_signed
2935*5e098073Schristos	for R_PPC64_ADDR14, R_PPC64_ADDR14_BRTAKEN, R_PPC64_ADDR14_BRNTAKEN,
2936*5e098073Schristos	R_PPC64_SECTOFF, R_PPC64_ADDR16_DS, R_PPC64_SECTOFF_DS,
2937*5e098073Schristos	R_PPC64_REL16 entries.  Use complain_overflow_dont for R_PPC64_TOC.
2938*5e098073Schristos	(ppc64_elf_relocate_section): Modify overflow test for 16-bit
2939*5e098073Schristos	fields in instructions to signed/unsigned according to whether
2940*5e098073Schristos	the field takes a signed or unsigned value.
2941*5e098073Schristos
2942*5e098073Schristos2014-03-07  Pedro Alves  <palves@redhat.com>
2943*5e098073Schristos
2944*5e098073Schristos	PR gdb/16696
2945*5e098073Schristos	* rs6000-core.c (rs6000coff_core_p): Cast pointers to bfd_vma
2946*5e098073Schristos	through ptr_to_uint instead of through long.
2947*5e098073Schristos
2948*5e098073Schristos2014-03-06  Nick Clifton  <nickc@redhat.com>
2949*5e098073Schristos
2950*5e098073Schristos	PR 16664
2951*5e098073Schristos	* elf-attrs.c (_bfd_elf_parse_attributes): Add checks for corrupt
2952*5e098073Schristos	attribute section names.
2953*5e098073Schristos
2954*5e098073Schristos2014-03-05  Alan Modra  <amodra@gmail.com>
2955*5e098073Schristos
2956*5e098073Schristos	Update copyright years.
2957*5e098073Schristos
2958*5e098073Schristos2014-03-05  Alan Modra  <amodra@gmail.com>
2959*5e098073Schristos
2960*5e098073Schristos	* elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_ADDR64_LOCAL entry.
2961*5e098073Schristos	(ppc64_elf_reloc_type_lookup): Support R_PPC64_ADDR64_LOCAL.
2962*5e098073Schristos	(ppc64_elf_check_relocs): Likewise.
2963*5e098073Schristos	(ppc64_elf_relocate_section): Likewise.
2964*5e098073Schristos	* Add BFD_RELOC_PPC64_ADDR64_LOCAL.
2965*5e098073Schristos	* bfd-in2.h: Regenerate.
2966*5e098073Schristos	* libbfd.h: Regenerate.
2967*5e098073Schristos
2968*5e098073Schristos2014-03-04  Heiher  <r@hev.cc>
2969*5e098073Schristos
2970*5e098073Schristos	* elfxx-mips.c (mips_set_isa_flags): Use E_MIPS_ARCH_64R2 for
2971*5e098073Schristos	Loongson-3A.
2972*5e098073Schristos	(mips_mach_extensions): Make bfd_mach_mips_loongson_3a an
2973*5e098073Schristos	extension of bfd_mach_mipsisa64r2.
2974*5e098073Schristos
2975*5e098073Schristos2014-03-04  Nick Clifton  <nickc@redhat.com>
2976*5e098073Schristos
2977*5e098073Schristos	PR ld/16017
2978*5e098073Schristos	* elf32-arm.c (elf32_thumb2_plt0_entry): New array.
2979*5e098073Schristos	(elf32_thumb2_plt_entry): New array.
2980*5e098073Schristos	(elf32_arm_create_dynamic_sections): Set PLT entry sizes when
2981*5e098073Schristos	using thumb2 based PLT.
2982*5e098073Schristos	(elf32_arm_populate_plt_entry): Handle generating Thumb2 based PLT
2983*5e098073Schristos	entries.
2984*5e098073Schristos	(elf32_arm_final_link_relocate): Do not bias jumps to Thumb based
2985*5e098073Schristos	PLT entries.
2986*5e098073Schristos	(elf32_arm_finish_dynamic_sections): Handle creation of Thumb2
2987*5e098073Schristos	based PLT 0-entry.
2988*5e098073Schristos	(elf32_arm_output_plt_map_1): Handle creation of local symbols for
2989*5e098073Schristos	Thumb2 based PLT 0-entry.
2990*5e098073Schristos	(elf32_arm_output_arch_local_syms): Handle creation of local
2991*5e098073Schristos	symbols for Thumb2 based PLT entries.
2992*5e098073Schristos
2993*5e098073Schristos2014-02-28  Alan Modra  <amodra@gmail.com>
2994*5e098073Schristos
2995*5e098073Schristos	PR ld/16643
2996*5e098073Schristos	* elflink.c (elf_gc_sweep): Call gc_sweep_hook for exactly
2997*5e098073Schristos	the same conditions we called check_relocs.
2998*5e098073Schristos
2999*5e098073Schristos2014-02-27  Yuri Gribov  <y.gribov@samsung.com>
3000*5e098073Schristos
3001*5e098073Schristos	* bfd-in.h: Add export of bfd_elf32_arm_use_long_plt.
3002*5e098073Schristos	* bfd-in2.h: Regenerate.
3003*5e098073Schristos	* elf32-arm.c (elf32_arm_plt_entry_long): New array.
3004*5e098073Schristos	(elf32_arm_link_hash_table_create): Set plt_entry_size to 16 if
3005*5e098073Schristos	using long PLT entries.
3006*5e098073Schristos	(bfd_elf32_arm_use_long_plt): New function.
3007*5e098073Schristos	(elf32_arm_populate_plt_entry): Add support for long PLT entries.
3008*5e098073Schristos
3009*5e098073Schristos2014-02-27  Alan Modra  <amodra@gmail.com>
3010*5e098073Schristos
3011*5e098073Schristos	* elf32-ppc.c (ppc_elf_link_hash_table_create): Provide default
3012*5e098073Schristos	params for targets that don't use ppc32elf.em.
3013*5e098073Schristos
3014*5e098073Schristos2014-02-20  Chung-Lin Tang  <cltang@codesourcery.com>
3015*5e098073Schristos
3016*5e098073Schristos	* elf32-nios2.c (nios2_elf32_relocate_section): Fix calculation
3017*5e098073Schristos	of GOTOFF relocations.
3018*5e098073Schristos
3019*5e098073Schristos2014-02-19  Igor Zamyatin  <igor.zamyatin@intel.com>
3020*5e098073Schristos	    H.J. Lu  <hongjiu.lu@intel.com>
3021*5e098073Schristos
3022*5e098073Schristos	* elf64-x86-64.c (elf_x86_64_bnd_plt0_entry): New.
3023*5e098073Schristos	(elf_x86_64_legacy_plt_entry): Likewise.
3024*5e098073Schristos	(elf_x86_64_bnd_plt_entry): Likewise.
3025*5e098073Schristos	(elf_x86_64_legacy_plt2_entry): Likewise.
3026*5e098073Schristos	(elf_x86_64_bnd_plt2_entry): Likewise.
3027*5e098073Schristos	(elf_x86_64_bnd_arch_bed): Likewise.
3028*5e098073Schristos	(elf_x86_64_link_hash_entry): Add has_bnd_reloc and plt_bnd.
3029*5e098073Schristos	(elf_x86_64_link_hash_table): Add plt_bnd.
3030*5e098073Schristos	(elf_x86_64_link_hash_newfunc): Initialize has_bnd_reloc and
3031*5e098073Schristos	plt_bnd.
3032*5e098073Schristos	(elf_x86_64_copy_indirect_symbol): Also copy has_bnd_reloc.
3033*5e098073Schristos	(elf_x86_64_check_relocs): Create the second PLT for Intel MPX
3034*5e098073Schristos	in 64-bit mode.
3035*5e098073Schristos	(elf_x86_64_allocate_dynrelocs): Handle the second PLT for IFUNC
3036*5e098073Schristos	symbols.  Resolve call to the second PLT if it is created.
3037*5e098073Schristos	(elf_x86_64_size_dynamic_sections): Keep the second PLT section.
3038*5e098073Schristos	(elf_x86_64_relocate_section): Resolve PLT references to the
3039*5e098073Schristos	second PLT if it is created.
3040*5e098073Schristos	(elf_x86_64_finish_dynamic_symbol): Use BND PLT0 and fill the
3041*5e098073Schristos	second PLT entry for BND relocation.
3042*5e098073Schristos	(elf_x86_64_finish_dynamic_sections): Use MPX backend data if
3043*5e098073Schristos	the second PLT is created.
3044*5e098073Schristos	(elf_x86_64_get_synthetic_symtab): New.
3045*5e098073Schristos	(bfd_elf64_get_synthetic_symtab): Likewise.  Undefine for NaCl.
3046*5e098073Schristos
3047*5e098073Schristos2014-02-19  Alan Modra  <amodra@gmail.com>
3048*5e098073Schristos
3049*5e098073Schristos	* elf64-ppc.h (struct ppc64_elf_params): Add save_restore_funcs.
3050*5e098073Schristos	* elf64-ppc.c (ppc64_elf_func_desc_adjust): Use it to control
3051*5e098073Schristos	provision of out-of-line register save/restore routines.
3052*5e098073Schristos
3053*5e098073Schristos2014-02-18  Jack Carter  <jack.carter@imgtec.com>
3054*5e098073Schristos
3055*5e098073Schristos	* elfxx-mips.c(_bfd_mips_elf_modify_segment_map): Deleted hard coding of
3056*5e098073Schristos	PT_DYNAMIC segment flags.
3057*5e098073Schristos
3058*5e098073Schristos2014-02-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
3059*5e098073Schristos
3060*5e098073Schristos	PR binutils/16595
3061*5e098073Schristos	* simple.c (struct saved_offsets): New.
3062*5e098073Schristos	(simple_save_output_info): Use it for ptr.
3063*5e098073Schristos	(simple_restore_output_info): Use it for ptr.  Check section_count.
3064*5e098073Schristos	(bfd_simple_get_relocated_section_contents): Use it for saved_offsets.
3065*5e098073Schristos
3066*5e098073Schristos2014-02-17  Alan Modra  <amodra@gmail.com>
3067*5e098073Schristos
3068*5e098073Schristos	* elf64-ppc.h (struct ppc64_elf_params): Define.
3069*5e098073Schristos	(ppc64_elf_init_stub_bfd, ppc64_elf_edit_opd, ppc64_elf_tls_setup,
3070*5e098073Schristos	ppc64_elf_setup_section_lists, ppc64_elf_size_stubs,
3071*5e098073Schristos	ppc64_elf_build_stubs): Update prototype.
3072*5e098073Schristos	* elf64-ppp.c (struct ppc_link_hash_table): Add params, delete other
3073*5e098073Schristos	fields now in params.  Adjust code throughout file.
3074*5e098073Schristos	(ppc64_elf_init_stub_bfd): Delete "abfd" parameter, add "params".
3075*5e098073Schristos	Save params pointer in htab.
3076*5e098073Schristos	(ppc64_elf_edit_opd, ppc64_elf_tls_setup,
3077*5e098073Schristos	ppc64_elf_setup_section_lists, ppc64_elf_size_stubs,
3078*5e098073Schristos	ppc64_elf_build_stubs): Remove parameters now in "params".
3079*5e098073Schristos
3080*5e098073Schristos2014-02-17  Alan Modra  <amodra@gmail.com>
3081*5e098073Schristos
3082*5e098073Schristos	* elf32-ppc.c (ppc_elf_relocate_section): Move relocs on insns
3083*5e098073Schristos	patched for ppc476 workaround.  Reapply branch taken/not taken
3084*5e098073Schristos	relocs.
3085*5e098073Schristos
3086*5e098073Schristos2014-02-12  Alan Modra  <amodra@gmail.com>
3087*5e098073Schristos
3088*5e098073Schristos	* elf32-ppc.c (ppc_elf_relax_section): Don't build long-branch
3089*5e098073Schristos	stubs for calls to __tls_get_addr that we know will later be
3090*5e098073Schristos	optimised away.
3091*5e098073Schristos
3092*5e098073Schristos2014-02-12  Alan Modra  <amodra@gmail.com>
3093*5e098073Schristos
3094*5e098073Schristos	* elf32-ppc.c (ppc_elf_relax_section): Enable ppc476 workaround
3095*5e098073Schristos	for ld -r, when code sections are sufficiently aligned.
3096*5e098073Schristos	* elf32-ppc.h (struct ppc_elf_params): Delete pagesize.  Add
3097*5e098073Schristos	pagesize_p2.
3098*5e098073Schristos
3099*5e098073Schristos2014-02-12  Alan Modra  <amodra@gmail.com>
3100*5e098073Schristos
3101*5e098073Schristos	PR gold/15530
3102*5e098073Schristos	* elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support
3103*5e098073Schristos	--export-dynamic and --dynamic-list marking of symbols.
3104*5e098073Schristos	* elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Reorder
3105*5e098073Schristos	cheap tests first.
3106*5e098073Schristos
3107*5e098073Schristos2014-02-10  H.J. Lu  <hongjiu.lu@intel.com>
3108*5e098073Schristos
3109*5e098073Schristos	PR gold/16530
3110*5e098073Schristos	* elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Mark symbol in
3111*5e098073Schristos	executables if it matches dynamic_list.
3112*5e098073Schristos
3113*5e098073Schristos2014-02-10  Alan Modra  <amodra@gmail.com>
3114*5e098073Schristos
3115*5e098073Schristos	* po/SRC-POTFILES.in: Regenerate.
3116*5e098073Schristos	* po/bfd.pot: Regenerate.
3117*5e098073Schristos
3118*5e098073Schristos2014-02-09  Alan Modra  <amodra@gmail.com>
3119*5e098073Schristos
3120*5e098073Schristos	* elf-bfd.h (struct elf_backend_data): Add caches_rawsize.
3121*5e098073Schristos	* elfxx-target.h (elf_backend_caches_rawsize): Define.
3122*5e098073Schristos	(elfNN_bed): Init new field.
3123*5e098073Schristos	* elflink.c (elf_link_input_bfd): Handle caches_rawsize.
3124*5e098073Schristos	* elf32-ppc.c (shared_stub_entry): Zero addi offset.
3125*5e098073Schristos	(ppc_elf_relax_section): Don't reallocate section here, write
3126*5e098073Schristos	stubs, or write out relocs for ld -r here..
3127*5e098073Schristos	(ppc_elf_relocate_section): ..instead write stubs here, and use
3128*5e098073Schristos	existing code to write out relocs for ld -r.  Fix offset
3129*5e098073Schristos	adjustment on reloc for little-endian.
3130*5e098073Schristos	(elf_backend_caches_rawsize): Define.
3131*5e098073Schristos
3132*5e098073Schristos2014-02-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3133*5e098073Schristos
3134*5e098073Schristos	PR build/16550
3135*5e098073Schristos	* cache.c (bfd_cache_max_open): Cast RLIM_INFINITY to rlim_t.
3136*5e098073Schristos
3137*5e098073Schristos2014-02-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
3138*5e098073Schristos
3139*5e098073Schristos	* coff-rs6000.c (xcoff_write_archive_contents_big): Free OFFSETS in
3140*5e098073Schristos	return paths.  Three times.
3141*5e098073Schristos	* elf64-ppc.c (ppc64_elf_link_hash_table_create): Free HTAB in all
3142*5e098073Schristos	return paths.
3143*5e098073Schristos	(ppc64_elf_tls_optimize): Free TOC_REF in return path.
3144*5e098073Schristos	(ppc64_elf_edit_toc): Free USED in return path.
3145*5e098073Schristos
3146*5e098073Schristos2014-02-03  Sandra Loosemore  <sandra@codesourcery.com>
3147*5e098073Schristos
3148*5e098073Schristos	* reloc.c (BFD_RELOC_NIOS2_GOT_LO, BFD_RELOC_NIOS2_GOT_HA): New.
3149*5e098073Schristos	(BFD_RELOC_NIOS2_CALL_LO, BFD_RELOC_NIOS2_CALL_HA): New.
3150*5e098073Schristos	* libbfd.h: Regenerated.
3151*5e098073Schristos	* bfd-in2.h: Regenerated.
3152*5e098073Schristos	* elf32-nios2.c (elf_nios2_howto_table_rel): Add new relocations.
3153*5e098073Schristos	(nios2_reloc_map): Likewise.
3154*5e098073Schristos	(GOT_USED, CALL_USED): Renamed from GOT16_USED and CALL16_USED.
3155*5e098073Schristos	Fixed all references.
3156*5e098073Schristos	(nios2_elf32_relocate_section): Add new relocations.
3157*5e098073Schristos	(nios2_elf32_check_relocs): Likewise.
3158*5e098073Schristos	(nios2_elf32_gc_sweep_hook): Likewise.
3159*5e098073Schristos
3160*5e098073Schristos2014-02-03  Alan Modra  <amodra@gmail.com>
3161*5e098073Schristos
3162*5e098073Schristos	* elf32-ppc.c (struct ppc_elf_link_hash_table): Add params.
3163*5e098073Schristos	Delete emit_stub_syms, no_tls_get_addr_opt.  Update all uses.
3164*5e098073Schristos	(ppc_elf_link_params): New function.
3165*5e098073Schristos	(ppc_elf_create_glink): Align .glink to 64 bytes for ppc476
3166*5e098073Schristos	workaround.
3167*5e098073Schristos	(ppc_elf_select_plt_layout): Remove plt_style and emit_stub_syms
3168*5e098073Schristos	parameters.  Use htab->params instead.
3169*5e098073Schristos	(ppc_elf_tls_setup): Remove no_tls_get_addr_opt parameter.
3170*5e098073Schristos	(ppc_elf_size_dynamic_sections): Align __glink_PLTresolve to
3171*5e098073Schristos	64 bytes for ppc476 workaround.
3172*5e098073Schristos	(struct ppc_elf_relax_info): New.
3173*5e098073Schristos	(ppc_elf_relax_section): Exclude linker created sections and
3174*5e098073Schristos	those too small to hold one instruction.  Don't add another
3175*5e098073Schristos	branch around trampolines on later relax passes.  Don't
3176*5e098073Schristos	generate trampolines for undefined symbols when !relocatable,
3177*5e098073Schristos	nor for plugin symbols.  Allocate space for ppc476 workaround
3178*5e098073Schristos	patch area.  Free fixups on error return path.
3179*5e098073Schristos	(ppc_elf_relocate_section): Handle ppc476 workaround patching.
3180*5e098073Schristos	* elf32-ppc.h (struct ppc_elf_params): New.
3181*5e098073Schristos	(ppc_elf_select_plt_layout, ppc_elf_tls_setup): Update prototype.
3182*5e098073Schristos	(ppc_elf_link_params): Declare.
3183*5e098073Schristos	* section.c (SEC_INFO_TYPE_TARGET): Define.
3184*5e098073Schristos	* bfd-in2.h: Regenerate.
3185*5e098073Schristos
3186*5e098073Schristos2014-02-02  Sandra Loosemore  <sandra@codesourcery.com>
3187*5e098073Schristos
3188*5e098073Schristos	* elf32-nios2.c (struct elf32_nios2_link_hash_table): Add
3189*5e098073Schristos	h_gp_got field.
3190*5e098073Schristos	(nios2_elf32_relocate_section): Use got_base to adjust
3191*5e098073Schristos	GOT-pointer-relative relocations relative to _gp_got.
3192*5e098073Schristos	(create_got_section): Create _gp_got symbol.
3193*5e098073Schristos	(nios2_elf32_finish_dynamic_symbol): Make _gp_got absolute.
3194*5e098073Schristos	(nios2_elf32_size_dynamic_sections): Set _gp_got offset.
3195*5e098073Schristos
3196*5e098073Schristos2014-01-30  Sandra Loosemore  <sandra@codesourcery.com>
3197*5e098073Schristos
3198*5e098073Schristos	* bfd-in2.h: Update from reloc.c.
3199*5e098073Schristos	* elf32-nios2.c: Include elf32-nios2.h.
3200*5e098073Schristos	(elf_nios2_howto_table_rel): Add entry for R_NIOS2_CALL26_NOAT.
3201*5e098073Schristos	(nios2_reloc_map): Likewise.
3202*5e098073Schristos	(enum elf32_nios2_stub_type): Declare.
3203*5e098073Schristos	(struct elf32_nios2_stub_hash_entry): Declare.
3204*5e098073Schristos	(nios2_stub_hash_entry, nios2_stub_hash_lookup): New macros.
3205*5e098073Schristos	(struct elf32_nios2_link_hash_entry): Add hsh_cache field.
3206*5e098073Schristos	(struct elf32_nios2_link_hash_table): Add new fields bstab,
3207*5e098073Schristos	stub_bfd, add_stub_section, layout_sections_again, stub_group,
3208*5e098073Schristos	bfd_count, top_index, input_list, all_local_syms.
3209*5e098073Schristos	(nios2_call26_stub_entry): New.
3210*5e098073Schristos	(nios2_elf32_install_imm16): Move up in file.
3211*5e098073Schristos	(nios2_elf32_install_data): Move up in file.
3212*5e098073Schristos	(hiadj): Move up in file.
3213*5e098073Schristos	(stub_hash_newfunc): New.
3214*5e098073Schristos	(link_hash_newfunc): Initialize hsh_cache field.
3215*5e098073Schristos	(STUB_SUFFIX): New.
3216*5e098073Schristos	(nios2_stub_name): New.
3217*5e098073Schristos	(nios2_get_stub_entry): New.
3218*5e098073Schristos	(nios2_add_stub): New.
3219*5e098073Schristos	(nios2_elf32_setup_section_lists): New.
3220*5e098073Schristos	(nios2_elf32_next_input_section): New.
3221*5e098073Schristos	(CALL26_SEGMENT): New.
3222*5e098073Schristos	(MAX_STUB_SECTION_SIZE): New.
3223*5e098073Schristos	(group_sections): New.
3224*5e098073Schristos	(nios2_type_of_stub): New.
3225*5e098073Schristos	(nios2_build_one_stub): New.
3226*5e098073Schristos	(nios2_size_one_stub): New.
3227*5e098073Schristos	(get_local_syms): New.
3228*5e098073Schristos	(nios2_elf32_size_stubs): New.
3229*5e098073Schristos	(nios2_elf32_build_stubs): New.
3230*5e098073Schristos	(nios2_elf32_do_call26_relocate): Correct CALL26 overflow test.
3231*5e098073Schristos	(nios2_elf32_relocate_section): Handle R_NIOS2_CALL26_NOAT.  Add
3232*5e098073Schristos	trampolines for R_NIOS2_CALL26 stubs.
3233*5e098073Schristos	(nios2_elf32_check_relocs): Handle R_NIOS2_CALL26_NOAT.
3234*5e098073Schristos	(nios2_elf32_gc_sweep_hook): Likewise.
3235*5e098073Schristos	(nios2_elf32_link_hash_table_create): Initialize the stub hash table.
3236*5e098073Schristos	(nios2_elf32_link_hash_table_free): New.
3237*5e098073Schristos	(bfd_elf32_bfd_link_hash_table_free): Define.
3238*5e098073Schristos	* elf32-nios2.h: New file.
3239*5e098073Schristos	* libbfd.h: Update from reloc.c.
3240*5e098073Schristos	* reloc.c (BFD_RELOC_NIOS2_CALL26_NOAT): New.
3241*5e098073Schristos
3242*5e098073Schristos2014-01-29  Nick Clifton  <nickc@redhat.com>
3243*5e098073Schristos
3244*5e098073Schristos	PR binutils/16318
3245*5e098073Schristos	* elf32-metag.c (elf_metag_post_process_headers): Call
3246*5e098073Schristos	_bfd_elf_post_process_headers.
3247*5e098073Schristos	* elf32-sh64.c (sh64_elf_copy_private_data): Call
3248*5e098073Schristos	_bfd_elf_copy_private_data.
3249*5e098073Schristos	* elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise.
3250*5e098073Schristos
3251*5e098073Schristos2014-01-29  Nick Clifton  <nickc@redhat.com>
3252*5e098073Schristos
3253*5e098073Schristos	* bfd-in.h (bfd_set_section_vma): Delete.
3254*5e098073Schristos	(bfd_set_section_alignment): Delete.
3255*5e098073Schristos	(bfd_set_section_userdata): Delete.
3256*5e098073Schristos	(bfd_set_cacheable): Delete.
3257*5e098073Schristos	* bfd.c (bfd_set_cacheable): New static inline function.
3258*5e098073Schristos	* section.c (bfd_set_section_userdata): Likewise.
3259*5e098073Schristos	(bfd_set_section_vma): Likewise.
3260*5e098073Schristos	(bfd_set_section_alignment): Likewise.
3261*5e098073Schristos	* bfd-in2.h: Regenerate.
3262*5e098073Schristos
3263*5e098073Schristos2014-01-28  Nick Clifton  <nickc@redhat.com>
3264*5e098073Schristos
3265*5e098073Schristos	* dwarf2.c (find_abstract_instance_name): For DW_FORM_ref_addr
3266*5e098073Schristos	attributes select the CU containing the abbreviation, which may not
3267*5e098073Schristos	be the current CU.
3268*5e098073Schristos
3269*5e098073Schristos2014-01-24  Alan Modra  <amodra@gmail.com>
3270*5e098073Schristos
3271*5e098073Schristos	* elf64-ppc.c (ppc_build_one_stub): Correct reloc count passed
3272*5e098073Schristos	to get_relocs for ELFv2.
3273*5e098073Schristos
3274*5e098073Schristos2014-01-23  H.J. Lu  <hongjiu.lu@intel.com>
3275*5e098073Schristos
3276*5e098073Schristos	PR ld/16498
3277*5e098073Schristos	* elf.c (_bfd_elf_map_sections_to_segments): Issue a linker error
3278*5e098073Schristos	if TLS sections are not adjacent.
3279*5e098073Schristos
3280*5e098073Schristos2014-01-22  Alan Modra  <amodra@gmail.com>
3281*5e098073Schristos
3282*5e098073Schristos	* elflink.c (elf_link_add_object_symbols): Call minfo for --as-needed.
3283*5e098073Schristos
3284*5e098073Schristos2014-01-22  Alan Modra  <amodra@gmail.com>
3285*5e098073Schristos
3286*5e098073Schristos	* elf64-ppc.c (STK_LINKER): Comment typo fix.
3287*5e098073Schristos
3288*5e098073Schristos2014-01-21  H.J. Lu  <hongjiu.lu@intel.com>
3289*5e098073Schristos
3290*5e098073Schristos	PR ld/16467
3291*5e098073Schristos	* elflink.c (_bfd_elf_merge_symbol): When types of the existing
3292*5e098073Schristos	regular default symbol definition and the versioned dynamic
3293*5e098073Schristos	symbol definition mismatch, skip the default symbol definition
3294*5e098073Schristos	if one of them is IFUNC.
3295*5e098073Schristos
3296*5e098073Schristos2014-01-21  H.J. Lu  <hongjiu.lu@intel.com>
3297*5e098073Schristos
3298*5e098073Schristos	PR ld/2404
3299*5e098073Schristos	* elflink.c (_bfd_elf_merge_symbol): Don't check info->shared,
3300*5e098073Schristos	info->export_dynamic nor h->ref_dynamic for type mismatch when
3301*5e098073Schristos	adding the default version.
3302*5e098073Schristos
3303*5e098073Schristos2014-01-16  Alan Modra  <amodra@gmail.com>
3304*5e098073Schristos
3305*5e098073Schristos	* elfxx-mips.c (mips_elf_record_got_page_entry): Pass in a
3306*5e098073Schristos	mips_elf_traverse_got_arg* rather than mips_got_info*.
3307*5e098073Schristos	Adjust caller.  Alloc on output_bfd rather than symbol section
3308*5e098073Schristos	owner.
3309*5e098073Schristos
3310*5e098073Schristos2014-01-15  H.J. Lu  <hongjiu.lu@intel.com>
3311*5e098073Schristos
3312*5e098073Schristos	* elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last
3313*5e098073Schristos	change.
3314*5e098073Schristos	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
3315*5e098073Schristos
3316*5e098073Schristos2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
3317*5e098073Schristos
3318*5e098073Schristos	PR ld/16428
3319*5e098073Schristos	* elf32-i386.c (elf_i386_allocate_dynrelocs): Don't discard relocs
3320*5e098073Schristos	against __ehdr_start.
3321*5e098073Schristos	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
3322*5e098073Schristos
3323*5e098073Schristos2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
3324*5e098073Schristos
3325*5e098073Schristos	* elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last
3326*5e098073Schristos	change.
3327*5e098073Schristos	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
3328*5e098073Schristos
3329*5e098073Schristos2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
3330*5e098073Schristos
3331*5e098073Schristos	PR ld/16428
3332*5e098073Schristos	* elf32-i386.c (elf_i386_allocate_dynrelocs): Don't update reloc
3333*5e098073Schristos	count if there are any non pc-relative relocs.
3334*5e098073Schristos	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
3335*5e098073Schristos
3336*5e098073Schristos2014-01-14  Michael Hudson-Doyle  <michael.hudson@linaro.org>
3337*5e098073Schristos	    Kugan Vivekanandarajah  <kugan.vivekanandarajah@linaro.org>
3338*5e098073Schristos
3339*5e098073Schristos	* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use correct
3340*5e098073Schristos	offset while calculating relocation address.
3341*5e098073Schristos	(elfNN_aarch64_create_small_pltn_entry): Likewise.
3342*5e098073Schristos	(elfNN_aarch64_init_small_plt0_entry): Likewise.
3343*5e098073Schristos
3344*5e098073Schristos2014-01-13  Ma Jiang  <ma.jiang@zte.com.cn>
3345*5e098073Schristos
3346*5e098073Schristos	PR ld/16202
3347*5e098073Schristos	* elf32-arm.c (elf32_arm_final_link_relocate): Refetch addends for
3348*5e098073Schristos	R_ARM_ABS8 and R_ARM_ABS16.
3349*5e098073Schristos
3350*5e098073Schristos2014-01-13  Alan Modra  <amodra@gmail.com>
3351*5e098073Schristos
3352*5e098073Schristos	* elf32-ppc.c (ppc_elf_check_relocs): For @local call to ifunc,
3353*5e098073Schristos	error when shared and force a plt call otherwise.
3354*5e098073Schristos	(ppc_elf_size_dynamic_sections): Don't emit DT_PPC_GOT unless
3355*5e098073Schristos	plt_type == PLT_NEW.
3356*5e098073Schristos	(ppc_elf_relocate_section): Add missing test to resolve ifuncs to
3357*5e098073Schristos	the appropriate call stub.
3358*5e098073Schristos
3359*5e098073Schristos2014-01-10  Alan Modra  <amodra@gmail.com>
3360*5e098073Schristos
3361*5e098073Schristos	PR ld/14207
3362*5e098073Schristos	PR ld/16322
3363*5e098073Schristos	PR binutils/16323
3364*5e098073Schristos	* elf.c (assign_file_positions_for_load_sections): Revert last change.
3365*5e098073Schristos	(assign_file_positions_for_non_load_sections): When setting up
3366*5e098073Schristos	PT_GNU_RELRO header, don't require a corresponding PT_LOAD
3367*5e098073Schristos	header that completely covers the relro region.
3368*5e098073Schristos
3369*5e098073Schristos2014-01-09  Tristan Gingold  <gingold@adacore.com>
3370*5e098073Schristos
3371*5e098073Schristos	* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): use jump
3372*5e098073Schristos	table macros and add macros to initializa the structure.
3373*5e098073Schristos
3374*5e098073Schristos2014-01-08  H.J. Lu  <hongjiu.lu@intel.com>
3375*5e098073Schristos
3376*5e098073Schristos	PR ld/14207
3377*5e098073Schristos	PR ld/16322
3378*5e098073Schristos	PR binutils/16323
3379*5e098073Schristos	* elf.c (_bfd_elf_map_sections_to_segments): Don't check section
3380*5e098073Schristos	size for PT_GNU_RELRO segment.
3381*5e098073Schristos	(assign_file_positions_for_load_sections): If PT_LOAD segment
3382*5e098073Schristos	doesn't fit PT_GNU_RELRO segment, adjust its p_filesz and p_memsz.
3383*5e098073Schristos
3384*5e098073Schristos2014-01-07  Tom Tromey  <tromey@redhat.com>
3385*5e098073Schristos
3386*5e098073Schristos	* elf32-xtensa.c (vsprint_msg): Don't use old VA_* compatibility
3387*5e098073Schristos	wrappers.
3388*5e098073Schristos
3389*5e098073Schristos2014-01-03  Nick Clifton  <nickc@redhat.com>
3390*5e098073Schristos
3391*5e098073Schristos	PR binutils/16199
3392*5e098073Schristos	* elf.c (vma_page_aligned_bias): Handle a maxpagesize value of
3393*5e098073Schristos	zero.
3394*5e098073Schristos
3395*5e098073Schristos2014-01-02  Yuanhui Zhang  <asmwarrior@gmail.com>
3396*5e098073Schristos
3397*5e098073Schristos	PR binutils/14289
3398*5e098073Schristos	* pef.c (bfd_pef_xlib_read_header): Increase buffer size to 80.
3399*5e098073Schristos
3400*5e098073Schristos2014-01-02  Nick Clifton  <nickc@redhat.com>
3401*5e098073Schristos
3402*5e098073Schristos	PR binutils/11983
3403*5e098073Schristos	* archive.c (_bfd_get_elt_at_filepos): Store a copy of the
3404*5e098073Schristos	filename in the bfd's filename field.
3405*5e098073Schristos	* elfcode.h (bfd_from_remote_memory): Likewise.
3406*5e098073Schristos	* ieee.c (ieee_object_p): Likewise.
3407*5e098073Schristos	* mach-o.c (bfd_mach_o_fat_member_init): Likewise.
3408*5e098073Schristos	* oasys.c (oasys_openr_next_archived_file): Likewise.
3409*5e098073Schristos	* vms-lib.c (_bfd_vms_lib_get_module): Likewise.
3410*5e098073Schristos	* opncls.c (bfd_fopen): Likewise.
3411*5e098073Schristos	(bfd_openstreamr): Likewise.
3412*5e098073Schristos	(bfd_openr_iovec): Likewise.
3413*5e098073Schristos	(bfd_openw): Likewise.
3414*5e098073Schristos	(bfd_create): Likewise.
3415*5e098073Schristos	(_bfd_delete_bfd): Free filename.
3416*5e098073Schristos
3417*5e098073SchristosFor older changes see ChangeLog-2013
3418*5e098073Schristos
3419*5e098073SchristosCopyright (C) 2014 Free Software Foundation, Inc.
3420*5e098073Schristos
3421*5e098073SchristosCopying and distribution of this file, with or without modification,
3422*5e098073Schristosare permitted in any medium without royalty provided the copyright
3423*5e098073Schristosnotice and this notice are preserved.
3424*5e098073Schristos
3425*5e098073SchristosLocal Variables:
3426*5e098073Schristosmode: change-log
3427*5e098073Schristosleft-margin: 8
3428*5e098073Schristosfill-column: 74
3429*5e098073Schristosversion-control: never
3430*5e098073SchristosEnd:
3431