PR binutils/15462
[platform/upstream/binutils.git] / bfd / ChangeLog
1 2013-05-22  Eric Herman  <eric@freesa.org>
2
3         PR binutils/15462
4         * elfxx-mips.c (_bfd_mips_elf_relocate_section): Warning fix.
5
6 2013-05-22  Ralf Dreesen  <gamma@dreesen.net>
7
8         PR binutils/15474
9         * srec.c (srec_set_section_contents): Properly convert size
10         and offset to address when octets_per_byte is not unity.
11
12 2013-05-20  Maciej W. Rozycki  <macro@linux-mips.org>
13
14         * elf32-vax.c (elf_vax_instantiate_got_entries): Only set the
15         refcount member of the gotplt_union when resetting the reference
16         count.  Adjust comment.
17
18 2013-05-20  Will Newton  <will.newton@linaro.org>
19
20         * elf64-aarch64.c (elf64_aarch64_link_hash_entry): Remove
21         relocs_copied member.
22         (elf64_aarch64_link_hash_newfunc): Remove initialization of
23         relocs_copied member.
24         (elf64_aarch64_copy_indirect_symbol): Remove code to copy
25         relocs_copied member.
26
27 2013-05-19  Maciej W. Rozycki  <macro@linux-mips.org>
28
29         * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Convert K&R
30         function definition.
31
32 2013-05-16  Cary Coutant  <ccoutant@google.com>
33
34         * ecoff.c (ecoff_link_check_archive_element): Add initializers for
35         external_ext_size and esize.
36
37 2013-05-16  Tristan Gingold  <gingold@adacore.com>
38
39         * coff-rs6000.c (_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_16.
40         * coff64-rs6000.c (xcoff64_reloc_type_lookup): Likewise.
41
42 2013-05-15  Andreas Schwab  <schwab@suse.de>
43
44         * elf64-aarch64.c (elf_backend_default_execstack): Define to 0.
45
46 2013-05-10  Joel Brobecker  <brobecker@adacore.com>
47
48         * coffcode.h (styp_to_sec_flags) [RS6000COFF_C]: Add handling
49         of STYP_EXCEPT, STYP_LOADER and STYP_TYPCHK sections.
50
51 2013-05-09  Joel Brobecker  <brobecker@adacore.com>
52
53         * bfd.c (_bfd_default_error_handler): Replace use of putc
54         by fputc.  Add comment explaining why.
55
56 2013-05-09  Alan Modra  <amodra@gmail.com>
57
58         * elflink.c (elf_link_add_object_symbols): Don't omit reading
59         of symbols when hashes already exist.
60
61 2013-05-07  Will Newton  <will.newton@linaro.org>
62
63         * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Add a
64         plt_header_size argument for ports where it differs from
65         plt_entry_size.
66         * elf-bfd.h: Likewise.
67         * elf32-i386.c: Pass plt_header_size to
68         _bfd_elf_allocate_ifunc_dyn_relocs.
69         * elf64-x86-64.c: Likewise.
70
71 2013-05-07  Will Newton  <will.newton@linaro.org>
72
73         * elf-ifunc.c (_bfd_elf_create_ifunc_dyn_reloc): Remove unused
74         function.
75         * elf-bfd.h: Likewise.
76
77 2013-05-06  Paul Brook  <paul@codesourcery.com>
78
79         * elf64-mips.c (elf_mips_gnu_pcrel32): New.
80         (bfd_elf64_bfd_reloc_type_lookup, bfd_elf64_bfd_reloc_name_lookup,
81         mips_elf64_rtype_to_howto): Handle R_MIPS_PC32.
82         * elfn32-mips.c (elf_mips_gnu_pcrel32): New.
83         (bfd_elfn32_bfd_reloc_type_lookup, bfd_elfn32_bfd_reloc_name_lookup,
84         mips_elfn32_rtype_to_howto): Handle R_MIPS_PC32.
85
86 2013-05-06  Alan Modra  <amodra@gmail.com>
87
88         * elf64-ppc.c (opd_entry_value): Handle case where symbol
89         hashes are not available.
90
91 2013-05-06  Alan Modra  <amodra@gmail.com>
92
93         * elflink.c (elf_link_add_object_symbols): Don't save symbol
94         hashes around loading as-needed library.  Zero them on allocation,
95         and restore to initial all-zero state if library not needed.
96         Arrange to reuse hashes if we load library again later.
97
98 2013-05-04  Richard Sandiford  <rdsandiford@googlemail.com>
99
100         * elf32-mips.c (elf_mips_copy_howto, elf_mips_jump_slot_howto):
101         Use _bfd_mips_elf_generic_reloc instead of bfd_elf_generic_reloc.
102         * elfn32-mips.c: Likewise.
103         * elf64-mips.c: Likewise.
104
105 2013-05-02  Nick Clifton  <nickc@redhat.com>
106
107         * archures.c: Add some more MSP430 machine numbers.
108         * config.bfd (msp430): Define targ_selvecs.
109         * configure.in: Add bfd_elf32_msp430_ti_vec.
110         * cpu-msp430.c: Add some more MSP430 machine numbers.
111         * elf32-msp430.c Add support for MSP430X relocations.
112         Add support for TI compiler generated relocations.
113         Add support for sym_diff relocations.
114         Add support for relaxing out of range short branches into long
115         branches.
116         Add support for MSP430 attribute section.
117         * reloc.c: Add MSP430X relocations.
118         * targets.c: Add bfd_elf32_msp430_ti_vec.
119         * bfd-in2.h: Regenerate.
120         * configure: Regenerate.
121         * libbfd.h: Regenerate.
122
123 2013-05-01  Maciej W. Rozycki  <macro@codesourcery.com>
124
125         * config.bfd: Replace alpha*-*-linuxecoff* pattern with
126         alpha*-*-linux*ecoff*.
127
128 2013-04-30  Olaf Flebbe  <o.flebbe@science-computing.de>
129
130         PR binutils/15417
131         * elflink.c (elf_link_add_object_symbols): Initialise 'idx' to
132         zero.
133
134 2013-04-30  Alan Modra  <amodra@gmail.com>
135
136         * elflink.c (bfd_elf_record_link_assignment): Dont make
137         STV_INTERNAL symbols STV_HIDDEN.
138
139 2013-04-29  Nick Clifton  <nickc@redhat.com>
140
141         * elflink.c (_bfd_elf_gc_mark_extra_sections): Remove mark from
142         fragmented .debug_line sections associated with unmarked code
143         sections.
144
145 2013-04-29  Will Newton  <will.newton@linaro.org>
146
147         * elf32-arm.c (elf32_arm_populate_plt_entry): Call
148         elf32_arm_add_dynreloc when emitting R_ARM_IRELATIVE relocs.
149
150 2013-04-29  Will Newton  <will.newton@linaro.org>
151
152         * elf64-aarch64.c (elf64_aarch64_check_relocs): Move relocation
153         error check up and add error message.
154
155 2013-04-26  Will Newton  <will.newton@linaro.org>
156
157         * elf64-aarch64.c (elf64_aarch64_check_relocs): Remove dead code.
158
159 2013-04-25  Alan Modra  <amodra@gmail.com>
160
161         * config.bfd: Add powerpc64le-linux.
162
163 2013-04-24  H.J. Lu  <hongjiu.lu@intel.com>
164
165         * config.bfd (targ_selvecs): Add bfd_elf32_x86_64_vec for
166         x86_64-*-elf*.
167
168 2013-04-24  Roland McGrath  <mcgrathr@google.com>
169
170         * elf32-arm.c (elf32_arm_allocate_plt_entry): If HTAB->nacl_p,
171         allocate space for PLT header even if IS_IPLT_ENTRY.
172         (arm_nacl_put_plt0): New function, broken out of ...
173         (elf32_arm_finish_dynamic_sections): ... here.  Call it.
174         If HTAB->nacl_p, set up the PLT header in .iplt too.
175         (elf32_arm_output_arch_local_syms): If HTAB->nacl_p, write
176         a mapping symbol for the start of .iplt too.
177
178 2013-04-19  Luca Pizzamiglio  <luca.pizzamiglio@gmail.com>
179
180         * ecoff.c (_bfd_ecoff_sizeof_headers): Cast the return value of
181         BFD_ALIGN to int.
182         * elf32-tic6x.c (elf32_tic6x_size_dynamic_sections): Remove unused
183         variables.
184         * elf32-v850.c (v850_elf_relax_section): Redefine the type of 'i'
185         to bfd_vma.
186         * vms-alpha.c (evax_bfd_print_etir): Initialize sec_len.
187
188 2013-04-22  Alan Modra  <amodra@gmail.com>
189
190         PR ld/15382
191         * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Don't multiply
192         sh_size or reloc_count adjustment by count.
193
194 2013-04-22  Alan Modra  <amodra@gmail.com>
195
196         * elf64-ppc.c (ppc64_elf_check_relocs): Don't call
197         create_linkage_sections here..
198         (ppc64_elf_init_stub_bfd): ..do so here.  Return status.
199         (create_linkage_sections): Move earlier in file.
200         (ppc64_elf_setup_section_lists): Remove now useless htab->brlt test.
201         * elf64-ppc.h (ppc64_elf_init_stub_bfd): Update proto.
202
203 2013-04-19  Nick Clifton  <nickc@redhat.com>
204
205         PR binutils/15356
206         * compress.c (decompress_contents): Always call inflateEnd, even
207         when another inflation operation fails.
208
209 2013-04-17  H.J. Lu  <hongjiu.lu@intel.com>
210
211         * elf-ifunc.c: Update copyright year.
212
213 2013-04-17 Luca Pizzamiglio  <luca.pizzamiglio@gmail.com>
214
215         * coffcode.h: Added a cast to void when a bfd_set_section_*()
216         macro's return value is ignored.
217         * elf32-hppa.c: Likewise.
218         * elf32-tic6x.c: Likewise.
219         * mach-o.c: Likewise.
220         * mmo.c: Likewise.
221         * opncls.c: Likewise.
222         * peicode.h: Likewise.
223         * elf32-m32r.c: Check return value of bfd_set_section_*().
224         * elfnn-ia64.c: Likewise.
225         * elfxx-mips.c: Likewise.
226         * vms-alpha.c: Likewise.
227
228 2013-04-15  H.J. Lu  <hongjiu.lu@intel.com>
229
230         PR ld/15371
231         * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Check
232         regular reference without non-GOT reference when building
233         shared library.
234
235 2013-04-15  Alan Modra  <amodra@gmail.com>
236
237         * archive.c (_bfd_archive_close_and_cleanup): Clear parent
238         cache slot for archives.
239
240 2013-04-14  Hans-Peter Nilsson  <hp@bitrange.com>
241
242         * mmo.c (mmo_write_chunk): Break out abfd->tdata.mmo_data to new
243         local variable mmop.
244
245 2013-04-09  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
246
247         PR ld/12494
248         * bfd/elf32-avr.c: Consider all sections to determine if linker
249         relaxation can safely delete a ret after a call/jmp
250
251 2013-04-09  Mingjie Xing  <mingjie.xing@gmail.com>
252
253         * bfd.c (typedef bfd, Error reporting, Miscellaneous): Add
254         INODEs.
255
256 2013-04-08  Tom Tromey  <tromey@redhat.com>
257
258         * som.c (bfd_section_from_som_symbol): No longer static.
259         * som.h (bfd_section_from_som_symbol): Declare.
260
261 2013-04-06  Alan Modra  <amodra@gmail.com>
262
263         * elf32-ppc.c (ppc_elf_check_relocs): Use SYMBOLIC_BIND.
264         * elf64-ppc.c (ppc64_elf_check_relocs, dec_dynrel_count): Likewise.
265
266 2013-04-05  Nick Clifton  <nickc@redhat.com>
267
268         * elflink.c (elf_link_add_object_symbols): Revert accidental commit.
269
270 2013-04-04  Alan Modra  <amodra@gmail.com>
271
272         * bfd.c (bfd_error_type, bfd_errmsgs): Add bfd_error_missing_dso.
273         * bfd-in2.h: Regenerate.
274         * elflink.c (elf_link_add_object_symbols): Use new error.
275
276 2013-04-03  Nick Clifton  <nickc@redhat.com>
277
278         * elf32-v850.c (v850_elf_is_target_special_symbol): New function.
279         (bfd_elf32_bfd_is_target_special_symbol): Define.
280
281 2013-04-03   Venkataramanan Kumar  <venkataramanan.kumar@linaro.org>
282
283         * elf64-aarch64.c (elf64_aarch64_gc_sweep_hook): Use
284         elf64_aarch64_locals to get local GOT reference counts.
285
286 2013-04-02  DJ Delorie  <dj@redhat.com>
287
288         * elf32-rl78.c (GET_RELOC): Assert that there are relocs to get.
289         (rl78_elf_relax_section): Only fetch the next reloc if there is
290         one expected.
291
292 2013-03-30  Alan Modra  <amodra@gmail.com>
293
294         PR ld/15323
295         * elf-m10300.c (mn10300_elf_check_relocs): Set non_ir_ref for
296         global symbols referenced by relocs.
297         * elf32-arm.c (elf32_arm_check_relocs): Likewise.
298         * elf32-bfin.c (bfin_check_relocs): Likewise.
299         * elf32-cr16.c (cr16_elf_check_relocs): Likewise.
300         * elf32-cris.c (cris_elf_check_relocs): Likewise.
301         * elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
302         * elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
303         * elf32-fr30.c (fr30_elf_check_relocs): Likewise.
304         * elf32-frv.c (elf32_frv_check_relocs): Likewise.
305         * elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
306         * elf32-i370.c (i370_elf_check_relocs): Likewise.
307         * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
308         * elf32-lm32.c (lm32_elf_check_relocs): Likewise.
309         * elf32-m32c.c (m32c_elf_check_relocs): Likewise.
310         * elf32-m32r.c (m32r_elf_check_relocs): Likewise.
311         * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
312         * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
313         * elf32-mcore.c (mcore_elf_check_relocs): Likewise.
314         * elf32-metag.c (elf_metag_check_relocs): Likewise.
315         * elf32-microblaze.c (microblaze_elf_check_relocs): Likewise.
316         * elf32-moxie.c (moxie_elf_check_relocs): Likewise.
317         * elf32-msp430.c (elf32_msp430_check_relocs): Likewise.
318         * elf32-mt.c (mt_elf_check_relocs): Likewise.
319         * elf32-nios2.c (nios2_elf32_check_relocs): Likewise.
320         * elf32-openrisc.c (openrisc_elf_check_relocs): Likewise.
321         * elf32-ppc.c (ppc_elf_check_relocs): Likewise.
322         * elf32-rl78.c (rl78_elf_check_relocs): Likewise.
323         * elf32-s390.c (elf_s390_check_relocs): Likewise.
324         * elf32-score.c (s3_bfd_score_elf_check_relocs): Likewise.
325         * elf32-score7.c (s7_bfd_score_elf_check_relocs): Likewise.
326         * elf32-sh.c (sh_elf_check_relocs): Likewise.
327         * elf32-tic6x.c (elf32_tic6x_check_relocs): Likewise.
328         * elf32-tilepro.c (tilepro_elf_check_relocs): Likewise.
329         * elf32-v850.c (v850_elf_check_relocs): Likewise.
330         * elf32-vax.c (elf_vax_check_relocs): Likewise.
331         * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
332         * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
333         * elf64-aarch64.c (elf64_aarch64_check_relocs): Likewise.
334         * elf64-alpha.c (elf64_alpha_check_relocs): Likewise.
335         * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
336         * elf64-ia64-vms.c (elf64_ia64_check_relocs): Likewise.
337         * elf64-mmix.c (mmix_elf_check_relocs): Likewise.
338         * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
339         * elf64-s390.c (elf_s390_check_relocs): Likewise.
340         * elf64-sh64.c (sh_elf64_check_relocs): Likewise.
341         * elfnn-ia64.c (elfNN_ia64_check_relocs): Likewise.
342         * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
343         * elfxx-tilegx.c (tilegx_elf_check_relocs): Likewise.
344         * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.  Don't
345         test indirect/warning links for NULL.
346
347 2013-03-29  H.J. Lu  <hongjiu.lu@intel.com>
348
349         PR ld/15323
350         * elf32-i386.c (elf_i386_check_relocs): Set non_ir_ref if a
351         symbol is referenced by a non-shared object.
352         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
353
354 2013-03-28  Joe Seymour  <jseymour@codesourcery.com>
355
356         * elf32-sh.c (sh_elf_relocate_section): Suppress warnings for
357         R_SH_REL32 relocations against undefined weak symbols.
358
359 2013-03-28  Alan Modra  <amodra@gmail.com>
360
361         * elf64-ppc.c (struct ppc_dyn_relocs): New.
362         (ppc64_elf_check_relocs): Separate dynrel counts for local syms
363         into ifunc and non-ifunc.
364         (dec_dynrel_count): Pass in sym rather than sym_sec.  Handle
365         separate ifunc/non-ifunc dynrel counts.
366         (allocate_got): Always use reliplt for ifunc.
367         (allocate_dynrelocs): Likewise.
368         (ppc64_elf_size_dynamic_sections): Likewise.
369         (ppc64_elf_layout_multitoc): Likewise.
370         (ppc64_elf_relocate_section): Likewise.
371
372 2013-03-28  Alan Modra  <amodra@gmail.com>
373
374         * elf32-ppc.c (struct ppc_dyn_relocs): New.
375         (ppc_elf_check_relocs): Separate dynrel counts for local syms
376         into ifunc and non-ifunc.
377         (allocate_dynrelocs): Always put ifunc relocs into reliplt.
378         (ppc_elf_size_dynamic_sections): Likewise.
379         (ppc_elf_relocate_section): Likewise.
380
381 2013-03-28  Alan Modra  <amodra@gmail.com>
382
383         * elf-bfd.h (enum elf_reloc_type_class): Add reloc_class_ifunc.
384         (struct elf_backend_data <elf_backed_reloc_type_class>): Add
385         bfd_link_info* and asection* params.
386         (_bfd_elf_reloc_type_class): Likewise.
387         * elf.c (_bfd_elf_reloc_type_class): Likewise.
388         * elflink.c (elf_link_sort_cmp2): Sort first on reloc class.
389         (elf_link_sort_relocs): Update elf_backed_reloc_type_class call.
390         * elf32-ppc.c (ppc_elf_reloc_type_class): Return reloc_class_ifunc
391         for any reliplt reloc.  Don't return reloc_class_plt for
392         R_PPC_REL24 and R_PPC_ADDR24.
393         * elf64-ppc.c (allocate_got): Formatting.
394         (ppc64_elf_reloc_type_class): Return reloc_class_ifunc for any
395         reliplt reloc.
396         * elf-m10300.c, * elf32-arm.c, * elf32-bfin.c, * elf32-cr16.c,
397         * elf32-cris.c, * elf32-hppa.c, * elf32-i386.c, * elf32-lm32.c,
398         * elf32-m32r.c, * elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c,
399         * elf32-s390.c, * elf32-sh.c, * elf32-sparc.c, * elf32-tilepro.c,
400         * elf32-vax.c, * elf32-xtensa.c, * elf64-aarch64.c, * elf64-alpha.c,
401         * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-s390.c, * elf64-sparc.c,
402         * elf64-x86-64.c, * elfnn-ia64.c, * elfxx-tilegx.c, * elfxx-tilegx.h:
403         Add extra params to the various reloc_type_class functions.
404
405 2013-03-27  Alan Modra  <amodra@gmail.com>
406
407         * elf32-ppc.c (ppc_elf_check_relocs): Set PLT_IFUNC in local got
408         masks for all local ifunc syms.
409         (allocate_dynrelocs): Don't use htab->relgot for ifunc.
410         (ppc_elf_size_dynamic_sections): Likewise.
411         (ppc_elf_relocate_section): Likewise.
412
413 2013-03-27  Will Newton  <will.newton@linaro.org>
414
415         * elf32-arm.c (elf32_arm_final_link_relocate): Avoid emitting a
416         dynamic reloc for symbols with dynindx == -1.
417         (allocate_dynrelocs_for_symbol): Avoid allocating space for a
418         dynamic reloc for symbols with dynindx == -1.
419
420 2013-03-27  Will Newton  <will.newton@linaro.org>
421
422         * elf32-arm.c (elf32_arm_final_link_relocate): Avoid emitting a
423         dynamic reloc for non-default visibility undefined weaks.
424         (allocate_dynrelocs_for_symbol): Avoid allocating space for a
425         dynamic reloc for non-default visibility undefined weaks.
426
427 2013-03-26  Alan Modra  <amodra@gmail.com>
428
429         * elflink.c (_bfd_elf_add_default_symbol): Preserve section
430         over _bfd_elf_merge_symbol calls.
431
432 2013-03-26  Alan Modra  <amodra@gmail.com>
433
434         * elflink.c (elf_link_add_object_symbols): Add assertion for
435         common override alignment check code.  Formatting.
436
437 2013-03-25  Alan Modra  <amodra@gmail.com>
438
439         * elflink.c (_bfd_elf_merge_symbol): Set old_alignment for
440         usual common symbols as well as for dynamic.  Add poldbfd param.
441         Save old bfd.  Adjust callers.
442         (_bfd_elf_add_default_symbol): Add poldbfd param.  Pass "section"
443         and "value" by value, not pointer.  Adjust caller.
444         (elf_link_add_object_symbols): Combine undef_bfd and old_bfd vars.
445         Delete code to set same.  Use old_bfd and old_alignment from
446         _bfd_elf_merge_symbol instead.  Add default symbol before
447         alignment and size checks.  Wrap overlong lines.
448
449 2013-03-25  Alan Modra  <amodra@gmail.com>
450
451         * elflink.c (_bfd_elf_add_default_symbol): Delete "override" param.
452         (elf_link_add_object_symbols): Don't call _bfd_elf_add_default_symbol
453         when override is true.
454
455 2013-03-25  Alan Modra  <amodra@gmail.com>
456
457         * elflink.c (_bfd_elf_merge_symbol): Use local var holding value
458         of *sym_hash.
459
460 2013-03-25  Alan Modra  <amodra@gmail.com>
461
462         * elflink.c (_bfd_elf_merge_symbol): Don't discard TLS symbols here.
463         Wrap long lines.
464         (elf_link_add_object_symbols): Discard TLS symbols for --just-syms
465         early in symbol loop.
466
467 2013-03-25  Alan Modra  <amodra@gmail.com>
468
469         * elf-bfd.h (struct elf_backend_data <merge_symbol>): Update proto.
470         (_bfd_elf_init_reloc_shdr): Delete.
471         * elf.c (_bfd_elf_init_reloc_shdr): Make static.
472         * elf64-x86-64.c (elf_x86_64_merge_symbol): Trim parameters to
473         just what is needed.
474         * elflink.c (_bfd_elf_merge_symbol): Update bed->merge_symbol call.
475
476 2013-03-23  Alan Modra  <amodra@gmail.com>
477
478         * elf-bfd.h (_bfd_elf_merge_symbol): Delete declaration.
479         * elflink.c (_bfd_elf_merge_symbol): Make static.
480         * elf32-sh-symbian.c (sh_symbian_relocate_section): Don't call
481         _bfd_elf_merge_symbol, call _bfd_generic_link_add_one_symbol.
482
483 2013-03-23  Alan Modra  <amodra@gmail.com>
484
485         PR ld/15270
486         * elflink.c (elf_link_add_object_symbols): Don't set def_regular
487         or ref_regular for BFD_PLUGIN owned syms, or have them affect
488         def_dynamic/ref_dynamic.
489         (_bfd_elf_fix_symbol_flags): Don't set def_regular for BFD_PLUGIN
490         owned syms.
491
492 2013-03-22  David S. Miller  <davem@davemloft.net>
493
494         * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Set type of
495         hwcaps attribute.
496
497 2013-03-22  Achille Fouilleul  <achille.fouilleul+binutils@gadz.org>
498
499         PR ld/14902
500         * elf32-h8300.c (elf32_h8_relax_delete_bytes): Fix off by one
501         errors adjusting relocs and symbols.
502
503 2013-03-21  Michael Schewe  <michael.schewe@gmx.net>
504
505         * elf32-h8300 (h8_relax_section): Add new relaxation of mov
506         @(disp:32,ERx) to mov @(disp:16,ERx).
507         (R_H8_DISP32A16): New reloc.
508         Comments added and corrected.
509         * reloc.c (BFD_RELOC_H8_DISP32A16): New reloc.
510         * bfd-in2.h: Regenerate.
511         * libbfd.h: Regenerate.
512
513 2013-03-21  Kai Tietz  <ktietz@redhat.com>
514
515         * coffgen.c (coff_real_object_p): Make global.
516         * peicode.h (coff_real_object_p): Add prototype.
517         (FILHDR): Defined for COFF_IMAGE_WITH_PE as
518         external_PEI_IMAGE_hdr structure.
519         (coff_swap_filehdr_in): Handle variable header-size.
520         * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Just handle amount
521         of directory-entiries as specified in pe-header.
522
523 2013-03-21  Nick Clifton  <nickc@redhat.com>
524
525         PR sim/15286
526         * elf32-arm.c (bfd_arm_get_mach_from_attributes): Identify XScale,
527         iWMMXt and iWMMXt2 processors from attributes.
528
529 2013-03-20  Alan Modra  <amodra@gmail.com>
530
531         * elflink.c (_bfd_elf_make_dynamic_reloc_section): Override
532         sh_type according to is_rela.
533
534 2013-03-18  Alan Modra  <amodra@gmail.com>
535
536         PR ld/12549
537         * elflink.c (elf_link_add_object_symbols): Exclude weak refs when
538         considering whether an --as-needed library is needed.
539
540 2013-03-14  Tom Tromey  <tromey@redhat.com>
541
542         * opncls.c (bfd_get_debug_link_info): Rename from
543         get_debug_link_info.  Export.  Update comment.
544         (find_separate_debug_file): Update.
545         * bfd-in2.h: Rebuild.
546
547 2013-03-08  Venkataramanan Kumar  <venkataramanan.kumar@linaro.org>
548
549         * elf64-aarch64.c (elf_backend_can_gc_sections): Enable gc-section
550         support.
551         (elf64_aarch64_gc_sweep_hook): Handle GOT, TLS and PLT related
552         relocs.
553
554 2013-03-08  Andreas Arnez  <arnez@linux.vnet.ibm.com>
555
556         * elf-bfd.h (elfcore_write_s390_tdb): Add prototype.
557         * elf.c (elfcore_write_s390_tdb): New function.
558         (elfcore_write_register_note): Call it.
559         (elfcore_grok_s390_tdb): New function.
560         (elfcore_grok_note): Call it.
561
562 2013-03-08  Maciej W. Rozycki  <macro@codesourcery.com>
563
564         * elfxx-mips.c (mips_elf_allocate_lazy_stub): Correct data type.
565
566 2013-03-05  Corinna Vinschen  <vinschen@redhat.com>
567
568         * config.bfd: Add x86_64-*-cygwin to list of supported targets.
569
570 2013-03-04  Alan Modra  <amodra@gmail.com>
571
572         * elf32-ppc.c (ppc_elf_relocate_section <R_PPC_PLTREL24>): Adjust
573         non-zero addends when relocatable, rather than addends >= 32768.
574         Always zero "addend" before applying relocation.
575
576 2013-03-04  Nick Clifton  <nickc@redhat.com>
577
578         * archive64.c (bfd_elf64_archive_write_armap): Fix calculation of
579         file pointer offsets for thin archives.
580
581 2013-02-28  Nathan Sidwell  <nathan@codesourcery.com>
582
583         * elf32-arm.c (elf32_arm_size_dynamic_sections): Don't call
584         elf32_arm_allocate_dynrelocs for source reloc for non-dynamic link.
585
586 2013-02-27  DJ Delorie  <dj@redhat.com>
587
588         * reloc.c (BFD_RELOC_RL78_CODE): Add.
589         * libbfd.h: Regenerate.
590         * bfd-in2.h: Regenerate.
591         * elf32-rl78.c (rl78_elf_relocate_section): Handle weak code
592         references in compuated relocs.
593
594 2013-02-26  Anthony Green  <green@moxielogic.com>
595
596         * config.bfd: Extend moxie-rtems target triplet name support.
597
598 2013-02-21  H.J. Lu  <hongjiu.lu@intel.com>
599
600         PR ld/15167
601         * elf64-ia64-vms.c (elf64_vms_link_add_object_symbols): Set
602         unique_global only for definition.
603         * elflink.c (_bfd_elf_merge_symbol): Don't set unique_global
604         here.
605         (elf_link_add_object_symbols): Set unique_global only
606         for definition.
607
608 2013-02-21  Alan Modra  <amodra@gmail.com>
609
610         * elf-bfd.h (struct elf_build_id): Extracted from..
611         (struct elf_build_id_info): ..here.  Delete.
612         (struct output_elf_obj_tdata): New, extracted from..
613         (struct elf_obj_tdata): ..here.  Reorganize for better packing.
614         Add "o" field.
615         (elf_program_header_size): Reference tdata->o.
616         (elf_seg_map, elf_next_file_pos, elf_eh_frame_hdr, elf_linker,
617         elf_stack_flags, elf_shstrtab, elf_strtab_sec, elf_shstrtab_sec,
618         elf_section_syms, elf_num_section_syms, elf_flags_init): Likewise.
619         * elf.c (bfd_elf_allocate_object): Allocate output_elf_obj_tdata
620         when opening bfd in any mode that might write.
621         (_bfd_elf_write_object_contents): Use build_id field in
622         output_elf_obj_tdata.
623         (_bfd_elf_close_and_cleanup): Tweak elf_shstrtab test.
624         (elfobj_grok_gnu_build_id): Adjust for elf_tdata changes.
625
626 2013-02-21  Alan Modra  <amodra@gmail.com>
627
628         * elf-bfd.h (struct core_elf_obj_tdata): New.
629         (struct elf_obj_tdata): Delete core_signal, core_pid, core_lwpid,
630         core_program, and core_command.  Add "core".
631         * elf.c (bfd_elf_mkcorefile): Allocate "core" struct.
632         Update all refs to tdata core fields.
633         * elf32-am33lin.c, * elf32-arm.c, * elf32-cris.c, * elf32-frv.c,
634         * elf32-hppa.c, * elf32-i386.c, * elf32-m68k.c, * elf32-mips.c,
635         * elf32-nios2.c, * elf32-ppc.c, * elf32-s390.c, * elf32-score.c,
636         * elf32-score7.c, * elf32-sh.c, * elf32-sparc.c, * elf32-tilegx.c,
637         * elf32-tilepro.c, * elf32-xtensa.c, * elf64-aarch64.c,
638         * elf64-hppa.c, * elf64-mips.c, * elf64-ppc.c, * elf64-tilegx.c,
639         * elf64-x86-64.c, * elfcore.h, * elfn32-mips.c: Update all refs
640         to tdata core fields.
641
642 2013-02-21  Alan Modra  <amodra@gmail.com>
643
644         * elf-bfd.h (struct elf_obj_tdata): Rename segment_map to seg_map.
645         Delete num_locals and num_globals.
646         (elf_num_locals, elf_num_globals): Don't define.
647         (elf_seg_map, elf_next_file_pos, elf_eh_frame_hdr, elf_linker,
648         elf_stack_flags, elf_strtab_sec, elf_shstrtab_sec): Define.
649         * bfd.c, * elf-eh-frame.c, * elf-nacl.c, * elf-vxworks.c, * elf.c,
650         * elf32-arm.c, * elf32-lm32.c, * elf32-ppc.c, * elf32-rx.c,
651         * elf32-spu.c, * elf64-hppa.c, * elfcode.h, * elflink.c,
652         * elfnn-ia64.c, * elfxx-mips.c: Use newly defined elf_obj_tdata
653         accessor macros.
654         * elf.c (elf_map_symbols): Add pnum_locals param.  Return
655         number of locals syms via new param.
656         (swap_out_syms): Adjust to suit elf_map_symbols change.
657
658 2013-02-19  Maciej W. Rozycki  <macro@codesourcery.com>
659
660         * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Also clear
661         STO_MICROMIPS annotation.
662
663 2013-02-19  Alan Modra  <amodra@gmail.com>
664
665         * configure.in: Bump version to 2.23.52.
666         * elf-bfd.h (struct elf_build_id_info): New.
667         (struct elf_obj_tdata): Delete after_write_object_contents,
668         after_write_object_contents_info and build_id_size.  Make build_id
669         a pointer to struct elf_build_id_info.
670         * elf.c (_bfd_elf_write_object_contents): Style.  Update
671         after_write_ibject_contents invocation.
672         (elfobj_grok_gnu_build_id): Update for new build_id struct.  Don't
673         allow zero size notes.
674         * configure: Regenerate.
675
676 2013-02-18  Maciej W. Rozycki  <macro@codesourcery.com>
677
678         * elf64-mips.c (micromips_elf64_howto_table_rel): Add
679         R_MICROMIPS_SCN_DISP and R_MICROMIPS_JALR.
680         (micromips_elf64_howto_table_rela): Likewise.
681         (micromips_reloc_map): Add BFD_RELOC_MICROMIPS_JALR.
682         * elfn32-mips.c (elf_micromips_howto_table_rel): Add
683         R_MICROMIPS_SCN_DISP and R_MICROMIPS_JALR.
684         (elf_micromips_howto_table_rela): Likewise.
685         (micromips_reloc_map): Add BFD_RELOC_MICROMIPS_JALR.
686
687 2013-02-18  Paul Brook  <paul@codesourcery.com>
688
689         * elfxx-mips.c (MICROMIPS_P): New macro.
690         (_bfd_mips_elf_symbol_processing): Use it.
691
692 2013-02-18  Maciej W. Rozycki  <macro@codesourcery.com>
693
694         * elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Clarify
695         comment on _PROCEDURE_LINKAGE_TABLE_ creation.
696
697 2013-02-18  Alan Modra  <amodra@gmail.com>
698
699         PR ld/12549
700         * elf-bfd.h (_bfd_elf_strtab_clear_refs): Delete.
701         (_bfd_elf_strtab_clear_all_refs): Declare.
702         (_bfd_elf_strtab_resize): Declare.
703         * elf-strtab.c (_bfd_elf_strtab_clear_refs): Delete.
704         (_bfd_elf_strtab_clear_all_refs): New function.
705         (_bfd_elf_strtab_resize): Likewise.
706         * elflink.c (elf_link_add_object_symbols): Use _bfd_elf_strtab_resize.
707
708 2013-02-18  Alan Modra  <amodra@gmail.com>
709
710         * elf-bfd.h (struct elf_obj_tdata): Move find_line_info, local_stubs,
711         local_call_stubs, elf_data_symbol, elf_text_symbol, elf_data_section,
712         and elf_text_section to..
713         * elfxx-mips.c (struct mips_elf_obj_tdata): ..here.  Update all refs.
714         * elf64-alpha.c (struct mips_elf_find_line): Rename to..
715         (struct alpha_elf_find_line): ..this.
716         (struct alpha_elf_obj_tdata): Add find_line_info, update refs.
717
718 2013-02-16  H.J. Lu  <hongjiu.lu@intel.com>
719
720         PR ld/15146
721         * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
722         for references from the dummy bfd.
723
724 2013-02-16  H.J. Lu  <hongjiu.lu@intel.com>
725
726         PR ld/15149
727         * elflink.c (elf_link_add_object_symbols): Also track weak
728         references.
729
730 2013-02-15  H.J. Lu  <hongjiu.lu@intel.com>
731
732         PR binutils/15151
733         * archive.c (_bfd_find_nested_archive): Don't allow a nested
734         archive pointing to itself.
735         (_bfd_get_elt_at_filepos): Revert the last 2 changes.
736
737 2013-02-15  Nick Clifton  <nickc@redhat.com>
738
739         PR binutils/15140
740         * archive.c (_bfd_get_elt_at_filepos): Prevent an infinite loop
741         accessing a corrupt nested archive.
742
743 2013-02-13  Richard Sandiford  <rdsandiford@googlemail.com>
744
745         * elfxx-mips.c (mips_got_page_ref): New structure.
746         (mips_got_page_entry): Use a section rather than a (bfd, symndx)
747         pair to represent the anchor point.
748         (mips_got_info): Add a got_page_refs field.
749         (mips_elf_link_hash_table): Add a sym_cache field.
750         (mips_got_page_ref_hash, mips_got_page_ref_eq): New functions.
751         (mips_got_page_entry_hash, mips_got_page_entry_eq): Update for
752         new anchor representation.
753         (mips_elf_create_got_info): Create got_page_refs rather than
754         got_page_entries.
755         (mips_elf_record_got_page_ref): New function.
756         (mips_elf_pages_for_range): Move further down file.
757         (mips_elf_record_got_page_entry): Likewise.  Take a got as argument.
758         Use a section rather than a (bfd, symndx) pair to represent the
759         anchor point.
760         (mips_elf_resolve_got_page_ref): New function.
761         (mips_elf_resolve_final_got_entries): Use it to populate
762         got_page_entries.
763         (_bfd_mips_elf_check_relocs): Call mips_elf_record_got_page_ref
764         rather than mips_elf_record_got_page_entry.  Only nullify h
765         afterwards.
766         (mips_elf_lay_out_got): Call mips_elf_resolve_final_got_entries
767         earlier.
768
769 2013-02-12  Richard Sandiford  <rdsandiford@googlemail.com>
770
771         * elfxx-mips.c (mips_elf_lay_out_got): Count VxWorks GOT relocs
772         in g->relocs.
773
774 2013-02-12  Alan Modra  <amodra@gmail.com>
775
776         * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Provide
777         suitable definition when using generic linker hash table.
778
779 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
780
781         * elfxx-mips.c (mips_elf_count_got_entries): Delete.
782         (mips_elf_check_recreate_got, mips_elf_recreate_got): Take a
783         mips_elf_traverse_got_arg.  Count GOT entries.
784         (mips_elf_resolve_final_got_entries): Take the bfd_link_info
785         as argument.  Update after above changes.
786         (mips_elf_merge_got, mips_elf_lay_out_got): Don't call
787         mips_elf_count_got_entries.  Update the calls to
788         mips_elf_resolve_final_got_entries.
789
790 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
791
792         * elfxx-mips.c (mips_got_tls_type): New enum.
793         (mips_got_entry): Add tls_initialized.
794         (mips_elf_got_entry_hash, mips_elf_got_entry_eq, mips_tls_got_relocs)
795         (mips_elf_count_got_entry, mips_elf_initialize_tls_index): Remove
796         GOT_TLS_TYPE masks.
797         (mips_elf_reloc_tls_type, mips_tls_got_entries)
798         (mips_elf_record_global_got_symbol, mips_elf_initialize_tls_index)
799         (_bfd_mips_elf_finish_dynamic_symbol): Use GOT_TLS_NONE rather
800         than GOT_NORMAL.
801         (mips_elf_initialize_tls_slots): Replace got_offset and tls_type_p
802         arguments with a GOT entry.  Remove GOT_TLS_TYPE masks.  Use
803         tls_initialized rather than GOT_TLS_DONE.
804         (mips_tls_got_index): Delete.
805         (mips_elf_local_got_index, mips_elf_global_got_index): Use
806         mips_elf_initialize_tls_slots rather than mips_tls_got_index.
807         (mips_elf_record_got_entry): Initialize tls_initialized.
808
809 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
810
811         * elfxx-mips.c (mips_got_entry): Remove tls_ldm_offset.
812         (mips_elf_link_hash_entry): Remove tls_ie_type, tls_gd_type,
813         tls_ie_got_offset and tls_gd_got_offset.
814         (mips_elf_link_hash_newfunc): Remove initialization.
815         (mips_elf_create_got_info): Likewise.
816         (mips_elf_count_local_got_entries, mips_elf_count_global_tls_entries)
817         (mips_tls_single_got_index): Delete.
818         (mips_elf_local_got_index): Always use the GOT entry to track
819         GOT indices.
820         (mips_elf_global_got_index): Likewise.
821         (mips_elf_create_local_got_entry): Assert that TLS entries have
822         already been allocated.
823         (mips_elf_record_global_got_symbol): Don't initialize
824         tls_ie_type or tls_gd_type.
825         (mips_elf_count_got_symbols): Only count reloc-only GOT entries here.
826         (mips_elf_initialize_tls_index): Allocate a GOT index for every TLS
827         entry.
828         (mips_elf_lay_out_got): Use mips_elf_count_got_entries to count
829         the GOT entries.
830         (_bfd_mips_elf_finish_dynamic_symbol): Assert that TLS GOT offsets
831         have been allocated.
832         (_bfd_mips_elf_copy_indirect_symbol): Remove handling of
833         tls_ie_type and tls_gd_type.
834
835 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
836
837         * elfxx-mips.c (mips_elf_create_local_got_entry): Tidy.  Avoid
838         aliasing violation.  Check for htab allocation failures.
839
840 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
841
842         * elfxx-mips.c (mips_elf_primary_global_got_index): New function,
843         split out from...
844         (mips_elf_global_got_index): ...here.  Reorder arguments so that
845         the output bfd and info come first.
846         (mips_elf_calculate_relocation): Update the call to
847         mips_elf_global_got_index accordingly.
848         (_bfd_mips_elf_finish_dynamic_symbol): Use
849         mips_elf_primary_global_got_index rather than
850         mips_elf_global_got_index.
851         (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
852
853 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
854
855         * elfxx-mips.c (mips_got_entry): Update comments.
856         (mips_elf_multi_got_entry_eq): Rename to...
857         (mips_elf_got_entry_eq): ...this, deleting the old definition.
858         (mips_elf_create_got_info): Remove master_got_p argument.
859         Always use mips_elf_got_entry_eq.
860         (mips_elf_bfd_got, mips_elf_multi_got, mips_elf_create_got_section):
861         Update calls accordingly.
862
863 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
864
865         * elfxx-mips.c (mips_got_info): Remove bfd2got.
866         (mips_elf_bfd2got_hash): Delete.
867         (mips_elf_got_per_bfd_arg): Remove bfd2got.
868         (mips_elf_replace_bfd_got, mips_elf_count_got_entries): New functions.
869         (mips_elf_global_got_index, mips_elf_create_local_got_entry): Use
870         g->next to test for the multigot case.  Use mips_elf_bfd_got rather
871         than mips_elf_got_for_ibfd.
872         (mips_elf_bfd2got_entry_hash, mips_elf_bfd2got_entry_eq)
873         (mips_elf_got_for_ibfd, mips_elf_get_got_for_bfd): Delete.
874         (mips_elf_make_got_per_bfd): Replace with...
875         (mips_elf_add_got_entry): ...this new function.
876         (mips_elf_make_got_pages_per_bfd): Replace with...
877         (mips_elf_add_got_page_entry): ...this new function.
878         (mips_elf_merge_got_with): Replace bfd2got argument with separate
879         bfd and GOT arguments.  Use mips_elf_add_got_entry and
880         mips_elf_add_got_page_entry instead of mips_elf_make_got_per_bfd
881         and mips_elf_make_got_pages_per_bfd.  Use mips_elf_replace_bfd_got
882         to set the BFD's GOT and free the old table.
883         (mips_elf_merge_got): Replace bfd2got argument with separate
884         bfd and GOT arguments.  Apply mips_elf_resolve_final_got_entries.
885         Use mips_elf_count_got_entries to count the number of entries in
886         each GOT.  Update the calls to mips_elf_merge_got_with.
887         (mips_elf_adjust_gp): Use g->next to test for the multigot case.
888         Use mips_elf_bfd_got rather than mips_elf_got_for_ibfd.
889         (mips_elf_multi_got): Don't create the bfd2got hash table.
890         Replace hash table traversal with a walk over the input bfds,
891         updating the call to mips_elf_merge_got.  Use mips_elf_replace_bfd_got
892         to set the output bfd's GOT.
893         (mips_elf_lay_out_got): Rename "sub" to "ibfd".  Record that all
894         bfds use the master GOT in the single-GOT case.
895         (_bfd_mips_elf_finish_dynamic_sections): Use mips_elf_bfd_got
896         rather than mips_elf_got_for_ibfd.
897
898 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
899
900         * elfxx-mips.c (mips_elf_obj_tdata): Add a got field.
901         (mips_elf_bfd_got, mips_elf_record_got_entry): New functions.
902         (mips_elf_record_global_got_symbol): Update the hash entry before
903         adding the mips_got_entry.  Use mips_elf_record_got_entry to do
904         the latter.
905         (mips_elf_record_local_got_symbol): Use mips_elf_record_got_entry.
906         (mips_elf_record_got_page_entry): Record the entry in both the
907         master and bfd GOTs.
908
909 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
910
911         * elfxx-mips.c (mips_elf_recreate_got): Don't change the entry;
912         create another one if necessary.
913         (mips_elf_set_gotidx): New function.
914         (mips_elf_set_global_gotidx): Use it.
915         (mips_elf_initialize_tls_index): Likewise.  Take a
916         mips_elf_traverse_got_arg as argument.
917         (mips_elf_lay_out_got): Update use of mips_elf_initialize_tls_index.
918         (mips_elf_multi_got): Likewise.  Cope with error returns from
919         mips_elf_set_global_gotidx.
920
921 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
922
923         * elfxx-mips.c (mips_got_info): Add relocs field.
924         (mips_elf_set_global_got_offset_arg, mips_elf_count_tls_arg): Replace
925         with...
926         (mips_elf_traverse_got_arg): ...this new structure.
927         (mips_elf_count_local_tls_relocs): Delete.
928         (mips_elf_count_global_tls_relocs): Likewise.
929         (mips_elf_count_got_entry): New function.
930         (mips_elf_count_local_got_entries): Likewise.
931         (mips_elf_count_global_tls_entries): Take a mips_elf_traverse_got_arg
932         rather than a mips_elf_count_tls_arg.  Count both relocs and entries.
933         (mips_elf_record_local_got_symbol): Don't count got entries here.
934         (mips_elf_make_got_per_bfd): Use mips_elf_count_got_entry.
935         (mips_elf_set_global_got_offset): Split into...
936         (mips_elf_set_global_got_area, mips_elf_set_global_gotidx): ...these
937         new functions.  Take a mips_elf_traverse_got_arg rather than a
938         mips_elf_set_global_got_offset_arg.  Don't count TLS relocs here.
939         Use g->relocs to record the number of relocs needed for global GOT
940         entries.
941         (mips_elf_multi_got): Use mips_elf_traverse_got_arg rather than
942         mips_elf_set_global_got_offset_arg.  Use the relocs field to count
943         relocations.  Update for above function split.
944         (mips_elf_lay_out_got): Use mips_elf_count_local_got_entries
945         to count both the number of GOT entries and the number of TLS
946         relocs required by local entries.  Likewise
947         mips_elf_count_global_tls_entries and global entries.
948         Remove uses of mips_elf_count_local_tls_relocs and
949         mips_elf_count_global_tls_relocs.
950
951 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
952
953         * elfxx-mips.c (mips_got_entry): Update comment above tls_type entry
954         to say that each structure represents only one type of TLS reference.
955         (GOT_TLS_TYPE): New define.
956         (mips_elf_link_hash_entry): Temporarily split tls_type and
957         tls_got_offset into two variables each.
958         (mips_elf_link_hash_newfunc): Update accordingly.
959         (mips_elf_got_entry_eq, mips_elf_got_entry_hash)
960         (mips_elf_multi_got_entry_eq): Require the tls_type to be the same.
961         (mips_elf_reloc_tls_type, mips_tls_got_entries): New functions.
962         (mips_tls_got_relocs): Use a switch statement.
963         (mips_elf_count_global_tls_entries): Handle the new hash entry fields.
964         (mips_elf_initialize_tls_slots): Use a switch statement.  Avoid
965         local "offset" variable.
966         (mips_tls_got_index): Remove r_type argument and assert.  Remove
967         code that handled entries with two TLS types; always use the
968         original got_index instead.
969         (mips_tls_single_got_index): New function.
970         (mips_elf_local_got_index): Use entry->tls_type to check for
971         TLS entries.  Use mips_tls_single_got_index.  Update call to
972         mips_tls_got_index.
973         (mips_elf_global_got_index): Use mips_elf_reloc_tls_type.
974         Use p->tls_type to check for TLS entries.  Update call to
975         mips_tls_got_index.  Use mips_tls_single_got_index.
976         (mips_elf_create_local_got_entry): Use mips_elf_reloc_tls_type.
977         Use entry.tls_type to check for TLS entries.
978         (mips_elf_record_global_got_symbol): Replace tls_flag argument
979         with r_type argument.  Use mips_elf_reloc_tls_type.
980         Set up the new hash entry fields.
981         (mips_elf_record_local_got_symbol): Replace tls_flag argument
982         with r_type argument.  Use mips_elf_reloc_tls_type and
983         mips_tls_got_entries.  Remove code that handled entries
984         with multiple TLS types.
985         (mips_elf_make_got_per_bfd): Use mips_tls_got_entries.
986         (mips_elf_initialize_tls_index): Handle new hash entry fields.
987         Use equality rather than masks when checking for specific TLS types.
988         Use mips_tls_got_entries.  Remove code that handled entries
989         with multiple TLS types.
990         (mips_elf_calculate_relocation): Use TLS_RELOC_P instead of
991         testing the hash table entry.
992         (_bfd_mips_elf_check_relocs): Update calls to
993         mips_elf_record_global_got_symbol and mips_elf_record_local_got_symbol.
994         (_bfd_mips_elf_finish_dynamic_symbol): Don't check h->type.
995         (_bfd_mips_elf_copy_indirect_symbol): Handle new hash entry fields.
996
997 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
998
999         * elfxx-mips.c (mips_elf_multi_got_entry_hash): Rename to...
1000         (mips_elf_got_entry_hash): ...this, deleting the old version.
1001         (mips_elf_create_got_info): Use mips_elf_got_entry_hash for
1002         both types of GOT.
1003
1004 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
1005
1006         * elfxx-mips.c (mips_elf_create_got_info): New function.
1007         (mips_elf_get_got_for_bfd, mips_elf_multi_got): Use it.
1008         (mips_elf_create_got_section): Likewise.
1009
1010 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
1011
1012         * elfxx-mips.c (mips_elf_record_local_got_symbol): Always set
1013         gotidx to -1.
1014
1015 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
1016
1017         * elfxx-mips.c (mips_elf_multi_got): Simplify size calculation.
1018
1019 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
1020
1021         * elfxx-mips.c (mips_got_info): Move global_gotsym to...
1022         (mips_elf_link_hash_table): ...here.  Update rest of file accordingly.
1023
1024 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
1025
1026         * elfxx-mips.c (mips_elf_count_global_tls_entries)
1027         (mips_elf_count_global_tls_relocs): Don't count indirect or
1028         warning symbols.
1029         (mips_elf_multi_got, mips_elf_lay_out_got): Assert that the right
1030         number of TLS entries were allocated.
1031
1032 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
1033
1034         * elfxx-mips.c (mips_elf_sort_hash_table_f): Remove asserts.
1035
1036 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
1037
1038         * elfxx-mips.c (mips_elf_merge_got_with): Only use arg->global_count
1039         if there are TLS relocations.
1040
1041 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
1042
1043         * elfxx-mips.c (mips_elf_recreate_got): Remove free.
1044         (mips_elf_resolve_final_got_entries): Remove bogus comment.
1045
1046 2013-02-11  Alan Modra  <amodra@gmail.com>
1047
1048         * elfcode.h (elf_checksum_contents): Free contents.
1049         * elf-bfd.h (_bfd_elf_link_hash_table_free): Declare.
1050         * elflink.c (_bfd_elf_link_hash_table_free): New function.
1051         (elf_final_link_free): New function, extracted from..
1052         (bfd_elf_final_link): ..here.  Always call
1053         _bfd_elf_write_section_eh_frame_hdr.
1054         * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Default to
1055         _bfd_elf_link_hash_table_free.
1056         * libbfd-in.h (_bfd_merge_sections_free): Declare.
1057         * libbfd.h: Regenerate.
1058         * merge.c (_bfd_merge_sections_free): New function.
1059         * elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): Free
1060         hdr_info->array.
1061         * elf-m10300.c (elf32_mn10300_link_hash_table_free): Call
1062         _bfd_elf_link_hash_table_free.
1063         * elf32-arm.c (elf32_arm_link_hash_table_free): Likewise.
1064         * elf32-avr.c (elf32_avr_link_hash_table_free): Likewise.
1065         * elf32-hppa.c (elf32_hppa_link_hash_table_free): Likewise.
1066         * elf32-i386.c (elf_i386_link_hash_table_free): Likewise.
1067         * elf32-m68hc1x.c (m68hc11_elf_hash_table_free): Likewise.
1068         * elf32-m68k.c (elf_m68k_link_hash_table_free): Likewise.
1069         * elf32-metag.c (elf_metag_link_hash_table_free): Likewise.
1070         * elf32-xgate.c (xgate_elf_bfd_link_hash_table_free): Likewise.
1071         * elf64-aarch64.c (elf64_aarch64_link_hash_table_free): Likewise.
1072         * elf64-ia64-vms.c (elf64_ia64_hash_table_free): Likewise.
1073         * elf64-ppc.c (ppc64_elf_link_hash_table_free): Likewise.
1074         * elf64-x86-64.c (elf_x86_64_link_hash_table_free): Likewise.
1075         * elfnn-ia64.c (elfNN_ia64_hash_table_free): Likewise.
1076         * elf32-cr16.c (elf32_cr16_link_hash_table_free): Delete.
1077         (bfd_elf32_bfd_link_hash_table_free): Don't define.
1078         * elf32-tic6x.c (elf32_tic6x_link_hash_table_free): Delete.
1079         (bfd_elf32_bfd_link_hash_table_free): Dont' define.
1080
1081 2013-02-10  Alan Modra  <amodra@gmail.com>
1082
1083         * coff-arm.c (coff_arm_link_hash_table_create): Use bfd_zmalloc.
1084         * coff-h8300.c (h8300_coff_link_hash_table_create): Likewise.
1085         * m68klinux.c (linux_link_hash_table_create): Likewise.
1086         * sparclinux.c (linux_link_hash_table_create): Likewise.
1087         * sunos.c (sunos_link_hash_table_create): Likewise.
1088         * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise.
1089         * elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise.
1090         * elf32-arm.c (elf32_arm_link_hash_table_create): Likewise.
1091         * elf32-avr.c (elf32_avr_link_hash_table_create): Likewise.
1092         * elf32-cr16.c (elf32_cr16_link_hash_table_create): Likewise.
1093         * elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
1094         * elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise.
1095         * elf32-i386.c (elf_i386_link_hash_table_create): Likewise.
1096         * elf32-lm32.c (lm32_elf_link_hash_table_create): Likewise.
1097         * elf32-m32r.c (m32r_elf_link_hash_table_create): Likewise.
1098         * elf32-m68hc1x.c (m68hc11_elf_hash_table_create): Likewise.
1099         * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
1100         * elf32-metag.c (elf_metag_link_hash_table_create): Likewise.
1101         * elf32-nios2.c (nios2_elf32_link_hash_table_create): Likewise.
1102         * elf32-s390.c (elf_s390_link_hash_table_create): Likewise.
1103         * elf32-score.c (elf32_score_link_hash_table_create): Likewise.
1104         * elf32-spu.c (spu_elf_link_hash_table_create): Likewise.
1105         * elf32-tic6x.c (elf32_tic6x_link_hash_table_create): Likewise.
1106         * elf32-vax.c (elf_vax_link_hash_table_create): Likewise.
1107         * elf32-xgate.c (xgate_elf_bfd_link_hash_table_create): Likewise.
1108         * elf32-xtensa.c (elf_xtensa_link_hash_table_create): Likewise.
1109         * elf64-aarch64.c (elf64_aarch64_link_hash_table_create): Likewise.
1110         * elf64-s390.c (elf_s390_link_hash_table_create): Likewise.
1111         * elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise.
1112         * elf64-x86-64.c (elf_x86_64_link_hash_table_create): Likewise.
1113         * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
1114         * elflink.c (_bfd_elf_link_hash_table_create): Likewise.
1115         (_bfd_elf_link_hash_table_init): Assume zero fill table on entry.
1116
1117 2013-02-10  Alan Modra  <amodra@gmail.com>
1118
1119         * i386linux.c (linux_link_hash_table_create): Allocate table
1120         with bfd_zmalloc, not bfd_alloc.
1121         * pdp11.c (link_hash_table_create): Allocate table with
1122         bfd_malloc, not bfd_alloc.
1123         * elf32-bfin.c (bfinfdpic_elf_link_hash_table_create): Allocate table
1124         with bfd_zmalloc, not bfd_zalloc.
1125         (bfin_link_hash_table_create): Likewise.
1126         * elf32-frv.c (frvfdpic_elf_link_hash_table_create): Likewise.
1127         * elf64-hppa.c (elf64_hppa_hash_table_create): Likewise.
1128
1129 2013-02-10  Alan Modra  <amodra@gmail.com>
1130
1131         PR ld/15113
1132         * elf32-sh.c (sh_elf_link_hash_table_create): Use bfd_zmalloc.
1133
1134 2013-02-08  Markos Chandras  <markos.chandras@imgtec.com>
1135
1136         * elf32-metag.c: Use bfd_get_linker_section to get SEC_LINKER_CREATED
1137         sections.
1138         (elf_metag_adjust_dynamic_symbol): Don't error on zero size dynbss
1139         symbol.
1140
1141 2013-02-08  Yufeng Zhang  <yufeng.zhang@arm.com>
1142
1143         * elf64-aarch64.c (elf64_aarch64_grok_prstatus): Change 'size' from
1144         288 to 272.
1145
1146 2013-02-08  Alan Modra  <amodra@gmail.com>
1147
1148         PR binutils/15106
1149         * elf-bfd.h (struct elf_obj_tdata): Add elf_find_function_cache.
1150         * elf.c (elf_find_function): Revert last change.  Use new
1151         tdata field rather than static vars for cache.
1152
1153 2013-02-07  H.J. Lu  <hongjiu.lu@intel.com>
1154
1155         PR ld/15107
1156         * elflink.c (elf_link_output_extsym): Set STB_GNU_UNIQUE only if
1157         symbol is defined in regular object.
1158
1159 2013-02-07  Roberto Agostino Vitillo  <ra.vitillo@gmail.com>
1160
1161         PR binutils/15106
1162         * elf.c (elf_find_function): Don't cache if symbols change.
1163
1164 2013-02-07  Alan Modra  <amodra@gmail.com>
1165
1166         PR binutils/14873
1167         * elf-attrs.c (_bfd_elf_copy_obj_attributes): Don't attempt to
1168         copy attributes from or to non-ELF.
1169
1170 2013-02-06  H.J. Lu  <hongjiu.lu@intel.com>
1171
1172         * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't clear pc_count
1173         for non-zero TLS symbol.
1174         (elf_i386_relocate_section): Don't resolve size relocation against
1175         non-zero TLS symbol.
1176         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Don't clear
1177         pc_count for non-zero TLS symbol.
1178         (elf_x86_64_relocate_section): Don't resolve size relocation
1179         against non-zero TLS symbol.
1180
1181 2013-02-06  Sandra Loosemore  <sandra@codesourcery.com>
1182             Andrew Jenner <andrew@codesourcery.com>
1183
1184         Based on patches from Altera Corporation.
1185
1186         * Makefile.am (ALL_MACHINES): Add cpu-nios2.lo.
1187         (ALL_MACHINES_CFILES): Add cpu-nios2.c.
1188         (BFD_BACKENDS): Add elf32-nios2.lo.
1189         (BFD32_BACKENDS_CFILES): Add elf32-nios2.c.
1190         * Makefile.in: Regenerated.
1191         * configure.in: Add entries for bfd_elf32_bignios2_vec and
1192         bfd_elf32_littlenios2_vec.
1193         * configure: Regenerated.
1194         * config.bfd: Add cases for nios2.
1195         * archures.c (enum bfd_architecture): Add bfd_arch_nios2.
1196         (bfd_mach_nios2): Define.
1197         (bfd_nios2_arch): Declare.
1198         (bfd_archures_list): Add bfd_nios2_arch.
1199         * targets.c (bfd_elf32_bignios2_vec): Declare.
1200         (bfd_elf32_littlenios2_vec): Declare.
1201         (_bfd_target_vector): Add entries for bfd_elf32_bignios2_vec and
1202         bfd_elf32_littlenios2_vec.
1203         * elf-bfd.h (enum elf_target_id): Add NIOS2_ELF_DATA.
1204         * reloc.c (enum bfd_reloc_code_real): Add Nios II relocations.
1205         * bfd-in2.h: Regenerated.
1206         * libbfd.h: Regenerated.
1207         * cpu-nios2.c: New file.
1208         * elf32-nios2.c: New file.
1209
1210 2013-02-06  Alan Modra  <amodra@gmail.com>
1211
1212         * elf32-arm.c (elf32_arm_final_link_relocate): Only test for
1213         stubs in stub_bfd.
1214
1215 2013-02-06  Alan Modra  <amodra@gmail.com>
1216
1217         * Makefile.am (SOURCE_HFILES): Add `elf-linux-psinfo.h'.
1218         * Makefile.in: Regenerate.
1219
1220 2013-02-04  Sergio Durigan Junior  <sergiodj@redhat.com>
1221             Pedro Alves  <palves@redhat.com>
1222
1223         * Makefile.in (SOURCE_HFILES): Add `elf-linux-psinfo.h'.
1224         * elf-bfd.h (elf_internal_linux_prpsinfo): New structure
1225         declaration.
1226         (elfcore_write_linux_prpsinfo32, elfcore_write_linux_prpsinfo64)
1227         (elfcore_write_ppc32_linux_prpsinfo32): New declarations.
1228         * elf-linux-psinfo.h: New file.
1229         * elf.c: Include elf-linux-psinfo.h.
1230         (elfcore_write_linux_prpsinfo32, elfcore_write_linux_prpsinfo64):
1231         New functions.
1232         * elf32-ppc.c: Include `elf-linux-psinfo.h'.
1233         (elf_external_ppc_linux_prpsinfo32): New structure declaration.
1234         (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): New macro.
1235         (elfcore_write_ppc_linux_prpsinfo32): New function.
1236
1237 2013-02-04  Tristan Gingold  <gingold@adacore.com>
1238
1239         * mach-o.c (bfd_mach_o_scan_start_address): Do not fail if no
1240         start address.
1241
1242 2013-02-04  Alan Modra  <amodra@gmail.com>
1243
1244         * Makefile.am (BFD64_BACKENDS): Remove elf-nacl.lo.
1245         (BFD64_BACKENDS_CFILES): Remove elf-nacl.c.
1246         * Makefile.in: Regenerate.
1247         * po/SRC-POTFILES.in: Regenerate.
1248
1249 2013-02-04  Alan Modra  <amodra@gmail.com>
1250
1251         * coff-tic54x.c (SWAP_OUT_RELOC_EXTRA): Delete.
1252         * coff-tic80.c (SWAP_OUT_RELOC_EXTRA): Delete.
1253
1254 2013-02-01  Alan Modra  <amodra@gmail.com>
1255
1256         * elf64-ppc.c (dec_dynrel_count): Don't error when elf_gc_sweep_symbol
1257         clears def_regular.
1258
1259 2013-01-31  Tristan Gingold  <gingold@adacore.com>
1260
1261         * mach-o.c (bfd_mach_o_scan): Call bfd_mach_o_flatten_sections
1262         earlier.  Fix status checking of bfd_mach_o_scan_start_address.
1263         (bfd_mach_o_scan_start_address): Handle LC_MAIN.
1264
1265 2013-01-31  Alan Modra  <amodra@gmail.com>
1266             David S. Miller  <davem@davemloft.net>
1267
1268         PR ld/15056
1269         * elfxx-sparc.c (_bfd_sparc_elf_gc_mark_hook): Handle implicit
1270         references to __tls_get_addr.
1271         * elf32-tilpro.c (tilepro_elf_gc_mark_hook): Likewise.  Correct
1272         vtinherit and vtentry reloc handling too.
1273         * elfxx-tilegx.c (tilegx_elf_gc_mark_hook): As for tilepro.
1274
1275 2013-01-31  Alan Modra  <amodra@gmail.com>
1276
1277         * elf64-ppc.c (ppc_stub_name): Trim off trailing "+0".
1278
1279 2013-01-31  Alan Modra  <amodra@gmail.com>
1280
1281         * elf64-ppc.c (build_plt_stub): Correct plt stub branch to glink.
1282
1283 2013-01-28  Alan Modra  <amodra@gmail.com>
1284
1285         * elf64-ppc.c: Use %T to print symbols names and remove redundant
1286         "relocation" in error messages throughout file.
1287         (ppc64_elf_relocate_section): Remove sibling call error message,
1288         replace with "call lacks nop".  Specially report errors for
1289         branches to function entry points via OPD lookup and branches
1290         to stubs.  Remove NULL symbol handling now done by %T.
1291
1292 2013-01-28  Alan Modra  <amodra@gmail.com>
1293
1294         * archive.c (bfd_generic_archive_p): Return target and keep
1295         ardata on partial matches.
1296         * format.c (bfd_check_format_matches): Adjust for above
1297         change.  Remove bfd_error_file_ambiguously_recognized dead
1298         code.
1299
1300 2013-01-26  Alan Modra  <amodra@gmail.com>
1301
1302         * bfd.c (struct bfd_preserve, bfd_preserve_save, bfd_preserve_restore,
1303         bfd_preserve_finish): Move to..
1304         * format.c: ..here, splitting out..
1305         (bfd_reinit): ..this.  New function.
1306         (bfd_check_format_matches): Use bfd_preserve_save/restore to
1307         keep bfd state for a match.
1308         * elfcode.h (elf_object_p): Don't use bfd_preserve_save/restore.
1309         * elfcore.h (elf_core_file_p): Likewise.
1310         * mach-o.c (bfd_mach_o_header_p): Likewise.
1311         * pef.c (bfd_pef_object_p, bfd_pef_xlib_object_p): Likewise.
1312         * xsym.c (bfd_sym_object_p): Likewise.
1313         * mmo.c (mmo_scan): Clear abfd->symcount.
1314         * opncls.c (_bfd_new_bfd): Use a smaller section hash table.
1315         * section.c (bfd_section_list_clear): Clear section_htab.count.
1316         * bfd-in2.h: Regenerate.
1317
1318 2013-01-25  Michael Schewe  <michael.schewe@gmx.net>
1319
1320         * elf32-h8300.c (elf32_h8_relax_section): When checking for a
1321         second reloc, make sure that the reloc potentially exists first.
1322
1323 2013-01-24  Nick Clifton  <nickc@redhat.com>
1324
1325         * archures.c: Add bfd_mach_v850e3v5.
1326         * bfd-in2.h: Regenerate.
1327         * cpu-v850.c: Add entries for v850e2v5 and v850e3v5.
1328         * cpu-v850_rh850.c: Likewise.
1329         * elf32-v850.c: Add support for v850e3v5 architecture.
1330
1331 2013-01-23  Markos Chandras  <markos.chandras@imgtec.com>
1332
1333         * elf32-metag.c: Error on HIADDR16/LOADDR16 in shared link.
1334
1335 2013-01-23  Leif Ekblad  <leif@rdos.net>
1336
1337         * config.bfd (x86_64-*-rdos*): Remove targ_selvecs.
1338
1339 2013-01-18  H.J. Lu  <hongjiu.lu@intel.com>
1340
1341         * elf32-i386.c (elf_i386_allocate_dynrelocs): Clear pc_count for
1342         non-zero TLS symbol.
1343         (elf_i386_relocate_section): Resolve size relocation against
1344         non-zero TLS symbol.
1345         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Clear pc_count
1346         for non-zero TLS symbol.
1347         (elf_x86_64_relocate_section): Resolve size relocation against
1348         non-zero TLS symbol.
1349
1350 2013-01-18  Mike Frysinger  <vapier@gentoo.org>
1351
1352         * elflink.c (bfd_elf_size_dynamic_sections): Only add DT_RPATH
1353         when new_dtags is false.  Only add DT_RUNPATH when new_dtags is
1354         true.
1355
1356 2013-01-17  H.J. Lu  <hongjiu.lu@intel.com>
1357
1358         * elf32-i386.c (elf_i386_check_relocs): Count size relocation as
1359         PC-relative relocation.
1360         * elf64-x86-64.c (elf_x86_64_check_relocs): Count size relocation
1361         as PC-relative relocation.
1362
1363 2013-01-16  H.J. Lu  <hongjiu.lu@intel.com>
1364
1365         * elf32-i386.c (elf_i386_check_relocs): Update R_386_SIZE32
1366         check.
1367         (elf_i386_relocate_section): Don't check TLS for R_386_SIZE32.
1368
1369         * elf64-x86-64.c (elf_x86_64_check_relocs): Update R_X86_64_SIZE32
1370         and R_X86_64_SIZE64 check.
1371         (elf_x86_64_relocate_section): Don't check TLS for R_X86_64_SIZE32
1372         nor R_X86_64_SIZE64.
1373
1374 2013-01-16  H.J. Lu  <hongjiu.lu@intel.com>
1375
1376         * bfd-in2.h: Regenerated.
1377         * libbfd.h: Likewise.
1378
1379         * elf32-i386.c (elf_howto_table): Fill R_386_SIZE32 entry.
1380         (elf_i386_reloc_type_lookup): Support BFD_RELOC_SIZE32.
1381         (elf_i386_check_relocs): Handle R_386_SIZE32.
1382         (elf_i386_gc_sweep_hook): Likewise.
1383         (elf_i386_relocate_section): Likewise.
1384
1385         * elf64-x86-64.c (x86_64_elf_howto_table): Fill R_X86_64_SIZE32
1386         and R_X86_64_SIZE64 entries.
1387         (x86_64_reloc_map): Add BFD_RELOC_SIZE32 and BFD_RELOC_SIZE64,
1388         (elf_x86_64_rtype_to_howto): Handle R_X86_64_SIZE32 for x32.
1389         (elf_x86_64_reloc_name_lookup): Likewise.
1390         (elf_x86_64_check_relocs): Handle R_X86_64_SIZE32 and
1391         R_X86_64_SIZE64.
1392         (elf_x86_64_gc_sweep_hook): Likewise.
1393         (elf_x86_64_relocate_section): Likewise.
1394
1395         * reloc.c (bfd_reloc_code_type): Add BFD_RELOC_SIZE32 and
1396         BFD_RELOC_SIZE64.
1397
1398 2013-01-15  H.J. Lu  <hongjiu.lu@intel.com>
1399
1400         * elf64-x86-64.c (R_X86_64_standard): Replace R_X86_64_IRELATIVE
1401         with R_X86_64_RELATIVE64.
1402
1403 2013-01-15  Nick Clifton  <nickc@redhat.com>
1404
1405         * elf32-msp430.c: Fix spelling typo.
1406
1407 2013-01-15  Alan Modra  <amodra@gmail.com>
1408
1409         * elf64-ppc.c (ppc64_elf_size_stubs): Default shared libs to
1410         plt-thread-safe.
1411
1412 2013-01-14  Alan Modra  <amodra@gmail.com>
1413
1414         PR binutils/14813
1415         * bfdio.c (struct bfd_iovec <bclose>): Revert 2012-11-06.
1416         (memory_bclose): Likewise.  Return 0 on success.
1417         * cache.c (cache_bclose): Likewise.
1418         * opncls.c (opncls_bclose, bfd_close): Likewise.
1419         * vms-lib.c (vms_lib_bclose): Likewise.
1420         * libbfd.h: Regenerate.
1421
1422 2013-01-13  Alan Modra  <amodra@gmail.com>
1423
1424         * elf-bfd.h (struct elf_link_hash_entry): Delete dynamic_weak.
1425         Add ref_dynamic_nonweak.
1426         * elflink.c (_bfd_elf_mark_dynamic_def_weak): Delete.
1427         (_bfd_elf_merge_symbol): Don't call above function.  Move
1428         setting of ref_dynamic_nonweak and dynamic_def earlier.  Don't
1429         clear dynamic_def.
1430         (elf_link_add_object_symbols): Delete redundant "override" test.
1431         Don't set dynamic_def here.
1432         (elf_link_output_extsym): Update.
1433
1434 2013-01-12  H.J. Lu  <hongjiu.lu@intel.com>
1435
1436         * elf32-i386.c (elf_i386_check_relocs): Set bfd errror for
1437         normal and TLS symbol access.
1438         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1439
1440 2013-01-12  Alan Modra  <amodra@gmail.com>
1441
1442         * elf-bfd.h (_bfd_elf_strtab_refcount): Declare.
1443         * elf-strtab.c (_bfd_elf_strtab_refcount): New function.
1444         * elflink.c (elf_add_dt_needed_tag): Use _bfd_elf_strtab_refcount.
1445
1446 2013-01-12  Alan Modra  <amodra@gmail.com>
1447
1448         PR ld/12549
1449         * elf-bfd.h (_bfd_elf_strtab_clear_refs): Declare.
1450         (_bfd_elf_strtab_clear_all_refs): Define.
1451         * elf-strtab.c (_bfd_elf_strtab_clear_refs): New function.
1452         (_bfd_elf_strtab_clear_all_refs): Delete.
1453         * elflink.c (elf_link_add_object_symbols): Clear out added
1454         strtab refs.  Correct handling of warning common symbols.
1455
1456 2013-01-10  H.J. Lu  <hongjiu.lu@intel.com>
1457
1458         * aout0.c: Remove trailing white spaces.
1459         * archive.c: Likewise.
1460         * archures.c: Likewise.
1461         * bfd-in.h: Likewise.
1462         * bfd-in2.h: Likewise.
1463         * coff-alpha.c: Likewise.
1464         * coff-i860.c: Likewise.
1465         * coff-mips.c: Likewise.
1466         * coff-ppc.c: Likewise.
1467         * coff-tic80.c: Likewise.
1468         * coff-x86_64.c: Likewise.
1469         * coff-z80.c: Likewise.
1470         * coffcode.h: Likewise.
1471         * coffgen.c: Likewise.
1472         * cofflink.c: Likewise.
1473         * compress.c: Likewise.
1474         * corefile.c: Likewise.
1475         * cpu-arm.c: Likewise.
1476         * cpu-avr.c: Likewise.
1477         * cpu-bfin.c: Likewise.
1478         * cpu-cr16.c: Likewise.
1479         * cpu-cr16c.c: Likewise.
1480         * cpu-crx.c: Likewise.
1481         * cpu-h8300.c: Likewise.
1482         * cpu-i386.c: Likewise.
1483         * cpu-lm32.c: Likewise.
1484         * cpu-m68k.c: Likewise.
1485         * cpu-moxie.c: Likewise.
1486         * cpu-msp430.c: Likewise.
1487         * cpu-sh.c: Likewise.
1488         * cpu-xc16x.c: Likewise.
1489         * dwarf2.c: Likewise.
1490         * ecofflink.c: Likewise.
1491         * ecoffswap.h: Likewise.
1492         * elf-ifunc.c: Likewise.
1493         * elf-m10300.c: Likewise.
1494         * elf-vxworks.c: Likewise.
1495         * elf32-avr.c: Likewise.
1496         * elf32-avr.h: Likewise.
1497         * elf32-cr16.c: Likewise.
1498         * elf32-cr16c.c: Likewise.
1499         * elf32-cris.c: Likewise.
1500         * elf32-crx.c: Likewise.
1501         * elf32-frv.c: Likewise.
1502         * elf32-hppa.c: Likewise.
1503         * elf32-i860.c: Likewise.
1504         * elf32-ip2k.c: Likewise.
1505         * elf32-iq2000.c: Likewise.
1506         * elf32-m32c.c: Likewise.
1507         * elf32-m68hc1x.c: Likewise.
1508         * elf32-msp430.c: Likewise.
1509         * elf32-mt.c: Likewise.
1510         * elf32-ppc.c: Likewise.
1511         * elf32-rl78.c: Likewise.
1512         * elf32-s390.c: Likewise.
1513         * elf32-score.h: Likewise.
1514         * elf32-sh-symbian.c: Likewise.
1515         * elf32-sh.c: Likewise.
1516         * elf32-spu.c: Likewise.
1517         * elf32-tic6x.c: Likewise.
1518         * elf32-v850.c: Likewise.
1519         * elf32-xc16x.c: Likewise.
1520         * elf32-xtensa.c: Likewise.
1521         * elf64-alpha.c: Likewise.
1522         * elf64-hppa.c: Likewise.
1523         * elf64-ppc.c: Likewise.
1524         * elf64-s390.c: Likewise.
1525         * elfcore.h: Likewise.
1526         * elflink.c: Likewise.
1527         * elfxx-mips.c: Likewise.
1528         * elfxx-sparc.c: Likewise.
1529         * elfxx-tilegx.c: Likewise.
1530         * ieee.c: Likewise.
1531         * libcoff.h: Likewise.
1532         * libpei.h: Likewise.
1533         * libxcoff.h: Likewise.
1534         * linker.c: Likewise.
1535         * mach-o-i386.c: Likewise.
1536         * mach-o-target.c: Likewise.
1537         * mach-o.c: Likewise.
1538         * mach-o.h: Likewise.
1539         * mmo.c: Likewise.
1540         * opncls.c: Likewise.
1541         * pdp11.c: Likewise.
1542         * pe-x86_64.c: Likewise.
1543         * peXXigen.c: Likewise.
1544         * pef-traceback.h: Likewise.
1545         * pei-x86_64.c: Likewise.
1546         * peicode.h: Likewise.
1547         * plugin.c: Likewise.
1548         * reloc.c: Likewise.
1549         * riscix.c: Likewise.
1550         * section.c: Likewise.
1551         * som.c: Likewise.
1552         * syms.c: Likewise.
1553         * tekhex.c: Likewise.
1554         * ticoff.h: Likewise.
1555         * vaxbsd.c: Likewise.
1556         * xcofflink.c: Likewise.
1557         * xtensa-isa.c: Likewise.
1558
1559 2013-01-10  Will Newton <will.newton@imgtec.com>
1560
1561         * Makefile.am: Add Meta.
1562         * Makefile.in: Regenerate.
1563         * archures.c (bfd_mach_metag): New.
1564         * bfd-in2.h: Regenerate.
1565         * config.bfd: Add Meta.
1566         * configure: Regenerate.
1567         * configure.in: Add Meta.
1568         * cpu-metag.c: New file.
1569         * elf-bfd.h: Add Meta.
1570         * elf32-metag.c: New file.
1571         * elf32-metag.h: New file.
1572         * libbfd.h: Regenerate.
1573         * reloc.c: Add Meta relocations.
1574         * targets.c: Add Meta.
1575
1576 2013-01-08  Yufeng Zhang  <yufeng.zhang@arm.com>
1577
1578         * elf-bfd.h (elfcore_write_aarch_tls): Add prototype.
1579         (elfcore_write_aarch_hw_break): Likewise.
1580         (elfcore_write_aarch_hw_watch): Likewise.
1581         * elf.c (elfcore_grok_aarch_tls): New function.
1582         (elfcore_grok_aarch_hw_break): Likewise.
1583         (elfcore_grok_aarch_hw_watch): Likewise.
1584         (elfcore_grok_note): Call the new functions to handle the
1585         corresponding notes.
1586         (elfcore_write_aarch_tls): New function.
1587         (elfcore_write_aarch_hw_break): Likewise.
1588         (elfcore_write_aarch_hw_watch): Likewise.
1589         (elfcore_write_register_note): Call the new functions to handle the
1590         corresponding pseudo sections.
1591
1592 2013-01-07  Tom Tromey  <tromey@redhat.com>
1593
1594         * section.c (_bfd_std_section): Rename from std_section.
1595         (bfd_com_section_ptr, bfd_und_section_ptr, bfd_abs_section_ptr)
1596         (STD_SECTION): Update.
1597         * bfd-in2.h: Rebuild.
1598
1599 2013-01-04  Juergen Urban <JuergenUrban@gmx.de>
1600
1601         * archures.c (bfd_mach_mips5900): Define.
1602         * bfd-in2.h: Regenerate.
1603         * config.bfd: Add mips64-ps2-elf and mips-ps2-elf targets.
1604         * cpu-mips.c: Add support for MIPS r5900.
1605         * elfxx-mips.c: Add support for MIPS r5900 (extension of r4000).
1606
1607 2013-01-03  Nickolai Zeldovich  <nickolai@csail.mit.edu>
1608             Nick Clifton  <nickc@redhat.com>
1609
1610         * elflink.c (get_value): Prevent the use of an undefined shift
1611         operation.  Add sanity checks.
1612
1613 2013-01-02  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
1614
1615         * config.bfd (cr16*-*-uclinux*): New target support.
1616
1617
1618 For older changes see ChangeLog-2012
1619 \f
1620 Copyright (C) 2013 Free Software Foundation, Inc.
1621
1622 Copying and distribution of this file, with or without modification,
1623 are permitted in any medium without royalty provided the copyright
1624 notice and this notice are preserved.
1625
1626 Local Variables:
1627 mode: change-log
1628 left-margin: 8
1629 fill-column: 74
1630 version-control: never
1631 End: