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