PR binutils/15106
[platform/upstream/binutils.git] / bfd / ChangeLog
1 2013-02-08  Alan Modra  <amodra@gmail.com>
2
3         PR binutils/15106
4         * elf-bfd.h (struct elf_obj_tdata): Add elf_find_function_cache.
5         * elf.c (elf_find_function): Revert last change.  Use new
6         tdata field rather than static vars for cache.
7
8 2013-02-07  H.J. Lu  <hongjiu.lu@intel.com>
9
10         PR ld/15107
11         * elflink.c (elf_link_output_extsym): Set STB_GNU_UNIQUE only if
12         symbol is defined in regular object.
13
14 2013-02-07  Roberto Agostino Vitillo  <ra.vitillo@gmail.com>
15
16         PR binutils/15106
17         * elf.c (elf_find_function): Don't cache if symbols change.
18
19 2013-02-07  Alan Modra  <amodra@gmail.com>
20
21         PR binutils/14873
22         * elf-attrs.c (_bfd_elf_copy_obj_attributes): Don't attempt to
23         copy attributes from or to non-ELF.
24
25 2013-02-06  H.J. Lu  <hongjiu.lu@intel.com>
26
27         * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't clear pc_count
28         for non-zero TLS symbol.
29         (elf_i386_relocate_section): Don't resolve size relocation against
30         non-zero TLS symbol.
31         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Don't clear
32         pc_count for non-zero TLS symbol.
33         (elf_x86_64_relocate_section): Don't resolve size relocation
34         against non-zero TLS symbol.
35
36 2013-02-06  Sandra Loosemore  <sandra@codesourcery.com>
37             Andrew Jenner <andrew@codesourcery.com>
38
39         Based on patches from Altera Corporation.
40
41         * Makefile.am (ALL_MACHINES): Add cpu-nios2.lo.
42         (ALL_MACHINES_CFILES): Add cpu-nios2.c.
43         (BFD_BACKENDS): Add elf32-nios2.lo.
44         (BFD32_BACKENDS_CFILES): Add elf32-nios2.c.
45         * Makefile.in: Regenerated.
46         * configure.in: Add entries for bfd_elf32_bignios2_vec and
47         bfd_elf32_littlenios2_vec.
48         * configure: Regenerated.
49         * config.bfd: Add cases for nios2.
50         * archures.c (enum bfd_architecture): Add bfd_arch_nios2.
51         (bfd_mach_nios2): Define.
52         (bfd_nios2_arch): Declare.
53         (bfd_archures_list): Add bfd_nios2_arch.
54         * targets.c (bfd_elf32_bignios2_vec): Declare.
55         (bfd_elf32_littlenios2_vec): Declare.
56         (_bfd_target_vector): Add entries for bfd_elf32_bignios2_vec and
57         bfd_elf32_littlenios2_vec.
58         * elf-bfd.h (enum elf_target_id): Add NIOS2_ELF_DATA.
59         * reloc.c (enum bfd_reloc_code_real): Add Nios II relocations.
60         * bfd-in2.h: Regenerated.
61         * libbfd.h: Regenerated.
62         * cpu-nios2.c: New file.
63         * elf32-nios2.c: New file.
64
65 2013-02-06  Alan Modra  <amodra@gmail.com>
66
67         * elf32-arm.c (elf32_arm_final_link_relocate): Only test for
68         stubs in stub_bfd.
69
70 2013-02-06  Alan Modra  <amodra@gmail.com>
71
72         * Makefile.am (SOURCE_HFILES): Add `elf-linux-psinfo.h'.
73         * Makefile.in: Regenerate.
74
75 2013-02-04  Sergio Durigan Junior  <sergiodj@redhat.com>
76             Pedro Alves  <palves@redhat.com>
77
78         * Makefile.in (SOURCE_HFILES): Add `elf-linux-psinfo.h'.
79         * elf-bfd.h (elf_internal_linux_prpsinfo): New structure
80         declaration.
81         (elfcore_write_linux_prpsinfo32, elfcore_write_linux_prpsinfo64)
82         (elfcore_write_ppc32_linux_prpsinfo32): New declarations.
83         * elf-linux-psinfo.h: New file.
84         * elf.c: Include elf-linux-psinfo.h.
85         (elfcore_write_linux_prpsinfo32, elfcore_write_linux_prpsinfo64):
86         New functions.
87         * elf32-ppc.c: Include `elf-linux-psinfo.h'.
88         (elf_external_ppc_linux_prpsinfo32): New structure declaration.
89         (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): New macro.
90         (elfcore_write_ppc_linux_prpsinfo32): New function.
91
92 2013-02-04  Tristan Gingold  <gingold@adacore.com>
93
94         * mach-o.c (bfd_mach_o_scan_start_address): Do not fail if no
95         start address.
96
97 2013-02-04  Alan Modra  <amodra@gmail.com>
98
99         * Makefile.am (BFD64_BACKENDS): Remove elf-nacl.lo.
100         (BFD64_BACKENDS_CFILES): Remove elf-nacl.c.
101         * Makefile.in: Regenerate.
102         * po/SRC-POTFILES.in: Regenerate.
103
104 2013-02-04  Alan Modra  <amodra@gmail.com>
105
106         * coff-tic54x.c (SWAP_OUT_RELOC_EXTRA): Delete.
107         * coff-tic80.c (SWAP_OUT_RELOC_EXTRA): Delete.
108
109 2013-02-01  Alan Modra  <amodra@gmail.com>
110
111         * elf64-ppc.c (dec_dynrel_count): Don't error when elf_gc_sweep_symbol
112         clears def_regular.
113
114 2013-01-31  Tristan Gingold  <gingold@adacore.com>
115
116         * mach-o.c (bfd_mach_o_scan): Call bfd_mach_o_flatten_sections
117         earlier.  Fix status checking of bfd_mach_o_scan_start_address.
118         (bfd_mach_o_scan_start_address): Handle LC_MAIN.
119
120 2013-01-31  Alan Modra  <amodra@gmail.com>
121             David S. Miller  <davem@davemloft.net>
122
123         PR ld/15056
124         * elfxx-sparc.c (_bfd_sparc_elf_gc_mark_hook): Handle implicit
125         references to __tls_get_addr.
126         * elf32-tilpro.c (tilepro_elf_gc_mark_hook): Likewise.  Correct
127         vtinherit and vtentry reloc handling too.
128         * elfxx-tilegx.c (tilegx_elf_gc_mark_hook): As for tilepro.
129
130 2013-01-31  Alan Modra  <amodra@gmail.com>
131
132         * elf64-ppc.c (ppc_stub_name): Trim off trailing "+0".
133
134 2013-01-31  Alan Modra  <amodra@gmail.com>
135
136         * elf64-ppc.c (build_plt_stub): Correct plt stub branch to glink.
137
138 2013-01-28  Alan Modra  <amodra@gmail.com>
139
140         * elf64-ppc.c: Use %T to print symbols names and remove redundant
141         "relocation" in error messages throughout file.
142         (ppc64_elf_relocate_section): Remove sibling call error message,
143         replace with "call lacks nop".  Specially report errors for
144         branches to function entry points via OPD lookup and branches
145         to stubs.  Remove NULL symbol handling now done by %T.
146
147 2013-01-28  Alan Modra  <amodra@gmail.com>
148
149         * archive.c (bfd_generic_archive_p): Return target and keep
150         ardata on partial matches.
151         * format.c (bfd_check_format_matches): Adjust for above
152         change.  Remove bfd_error_file_ambiguously_recognized dead
153         code.
154
155 2013-01-26  Alan Modra  <amodra@gmail.com>
156
157         * bfd.c (struct bfd_preserve, bfd_preserve_save, bfd_preserve_restore,
158         bfd_preserve_finish): Move to..
159         * format.c: ..here, splitting out..
160         (bfd_reinit): ..this.  New function.
161         (bfd_check_format_matches): Use bfd_preserve_save/restore to
162         keep bfd state for a match.
163         * elfcode.h (elf_object_p): Don't use bfd_preserve_save/restore.
164         * elfcore.h (elf_core_file_p): Likewise.
165         * mach-o.c (bfd_mach_o_header_p): Likewise.
166         * pef.c (bfd_pef_object_p, bfd_pef_xlib_object_p): Likewise.
167         * xsym.c (bfd_sym_object_p): Likewise.
168         * mmo.c (mmo_scan): Clear abfd->symcount.
169         * opncls.c (_bfd_new_bfd): Use a smaller section hash table.
170         * section.c (bfd_section_list_clear): Clear section_htab.count.
171         * bfd-in2.h: Regenerate.
172
173 2013-01-25  Michael Schewe  <michael.schewe@gmx.net>
174
175         * elf32-h8300.c (elf32_h8_relax_section): When checking for a
176         second reloc, make sure that the reloc potentially exists first.
177
178 2013-01-24  Nick Clifton  <nickc@redhat.com>
179
180         * archures.c: Add bfd_mach_v850e3v5.
181         * bfd-in2.h: Regenerate.
182         * cpu-v850.c: Add entries for v850e2v5 and v850e3v5.
183         * cpu-v850_rh850.c: Likewise.
184         * elf32-v850.c: Add support for v850e3v5 architecture.
185
186 2013-01-23  Markos Chandras  <markos.chandras@imgtec.com>
187
188         * elf32-metag.c: Error on HIADDR16/LOADDR16 in shared link.
189
190 2013-01-23  Leif Ekblad  <leif@rdos.net>
191
192         * config.bfd (x86_64-*-rdos*): Remove targ_selvecs.
193
194 2013-01-18  H.J. Lu  <hongjiu.lu@intel.com>
195
196         * elf32-i386.c (elf_i386_allocate_dynrelocs): Clear pc_count for
197         non-zero TLS symbol.
198         (elf_i386_relocate_section): Resolve size relocation against
199         non-zero TLS symbol.
200         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Clear pc_count
201         for non-zero TLS symbol.
202         (elf_x86_64_relocate_section): Resolve size relocation against
203         non-zero TLS symbol.
204
205 2013-01-18  Mike Frysinger  <vapier@gentoo.org>
206
207         * elflink.c (bfd_elf_size_dynamic_sections): Only add DT_RPATH
208         when new_dtags is false.  Only add DT_RUNPATH when new_dtags is
209         true.
210
211 2013-01-17  H.J. Lu  <hongjiu.lu@intel.com>
212
213         * elf32-i386.c (elf_i386_check_relocs): Count size relocation as
214         PC-relative relocation.
215         * elf64-x86-64.c (elf_x86_64_check_relocs): Count size relocation
216         as PC-relative relocation.
217
218 2013-01-16  H.J. Lu  <hongjiu.lu@intel.com>
219
220         * elf32-i386.c (elf_i386_check_relocs): Update R_386_SIZE32
221         check.
222         (elf_i386_relocate_section): Don't check TLS for R_386_SIZE32.
223
224         * elf64-x86-64.c (elf_x86_64_check_relocs): Update R_X86_64_SIZE32
225         and R_X86_64_SIZE64 check.
226         (elf_x86_64_relocate_section): Don't check TLS for R_X86_64_SIZE32
227         nor R_X86_64_SIZE64.
228
229 2013-01-16  H.J. Lu  <hongjiu.lu@intel.com>
230
231         * bfd-in2.h: Regenerated.
232         * libbfd.h: Likewise.
233
234         * elf32-i386.c (elf_howto_table): Fill R_386_SIZE32 entry.
235         (elf_i386_reloc_type_lookup): Support BFD_RELOC_SIZE32.
236         (elf_i386_check_relocs): Handle R_386_SIZE32.
237         (elf_i386_gc_sweep_hook): Likewise.
238         (elf_i386_relocate_section): Likewise.
239
240         * elf64-x86-64.c (x86_64_elf_howto_table): Fill R_X86_64_SIZE32
241         and R_X86_64_SIZE64 entries.
242         (x86_64_reloc_map): Add BFD_RELOC_SIZE32 and BFD_RELOC_SIZE64,
243         (elf_x86_64_rtype_to_howto): Handle R_X86_64_SIZE32 for x32.
244         (elf_x86_64_reloc_name_lookup): Likewise.
245         (elf_x86_64_check_relocs): Handle R_X86_64_SIZE32 and
246         R_X86_64_SIZE64.
247         (elf_x86_64_gc_sweep_hook): Likewise.
248         (elf_x86_64_relocate_section): Likewise.
249
250         * reloc.c (bfd_reloc_code_type): Add BFD_RELOC_SIZE32 and
251         BFD_RELOC_SIZE64.
252
253 2013-01-15  H.J. Lu  <hongjiu.lu@intel.com>
254
255         * elf64-x86-64.c (R_X86_64_standard): Replace R_X86_64_IRELATIVE
256         with R_X86_64_RELATIVE64.
257
258 2013-01-15  Nick Clifton  <nickc@redhat.com>
259
260         * elf32-msp430.c: Fix spelling typo.
261
262 2013-01-15  Alan Modra  <amodra@gmail.com>
263
264         * elf64-ppc.c (ppc64_elf_size_stubs): Default shared libs to
265         plt-thread-safe.
266
267 2013-01-14  Alan Modra  <amodra@gmail.com>
268
269         PR binutils/14813
270         * bfdio.c (struct bfd_iovec <bclose>): Revert 2012-11-06.
271         (memory_bclose): Likewise.  Return 0 on success.
272         * cache.c (cache_bclose): Likewise.
273         * opncls.c (opncls_bclose, bfd_close): Likewise.
274         * vms-lib.c (vms_lib_bclose): Likewise.
275         * libbfd.h: Regenerate.
276
277 2013-01-13  Alan Modra  <amodra@gmail.com>
278
279         * elf-bfd.h (struct elf_link_hash_entry): Delete dynamic_weak.
280         Add ref_dynamic_nonweak.
281         * elflink.c (_bfd_elf_mark_dynamic_def_weak): Delete.
282         (_bfd_elf_merge_symbol): Don't call above function.  Move
283         setting of ref_dynamic_nonweak and dynamic_def earlier.  Don't
284         clear dynamic_def.
285         (elf_link_add_object_symbols): Delete redundant "override" test.
286         Don't set dynamic_def here.
287         (elf_link_output_extsym): Update.
288
289 2013-01-12  H.J. Lu  <hongjiu.lu@intel.com>
290
291         * elf32-i386.c (elf_i386_check_relocs): Set bfd errror for
292         normal and TLS symbol access.
293         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
294
295 2013-01-12  Alan Modra  <amodra@gmail.com>
296
297         * elf-bfd.h (_bfd_elf_strtab_refcount): Declare.
298         * elf-strtab.c (_bfd_elf_strtab_refcount): New function.
299         * elflink.c (elf_add_dt_needed_tag): Use _bfd_elf_strtab_refcount.
300
301 2013-01-12  Alan Modra  <amodra@gmail.com>
302
303         PR ld/12549
304         * elf-bfd.h (_bfd_elf_strtab_clear_refs): Declare.
305         (_bfd_elf_strtab_clear_all_refs): Define.
306         * elf-strtab.c (_bfd_elf_strtab_clear_refs): New function.
307         (_bfd_elf_strtab_clear_all_refs): Delete.
308         * elflink.c (elf_link_add_object_symbols): Clear out added
309         strtab refs.  Correct handling of warning common symbols.
310
311 2013-01-10  H.J. Lu  <hongjiu.lu@intel.com>
312
313         * aout0.c: Remove trailing white spaces.
314         * archive.c: Likewise.
315         * archures.c: Likewise.
316         * bfd-in.h: Likewise.
317         * bfd-in2.h: Likewise.
318         * coff-alpha.c: Likewise.
319         * coff-i860.c: Likewise.
320         * coff-mips.c: Likewise.
321         * coff-ppc.c: Likewise.
322         * coff-tic80.c: Likewise.
323         * coff-x86_64.c: Likewise.
324         * coff-z80.c: Likewise.
325         * coffcode.h: Likewise.
326         * coffgen.c: Likewise.
327         * cofflink.c: Likewise.
328         * compress.c: Likewise.
329         * corefile.c: Likewise.
330         * cpu-arm.c: Likewise.
331         * cpu-avr.c: Likewise.
332         * cpu-bfin.c: Likewise.
333         * cpu-cr16.c: Likewise.
334         * cpu-cr16c.c: Likewise.
335         * cpu-crx.c: Likewise.
336         * cpu-h8300.c: Likewise.
337         * cpu-i386.c: Likewise.
338         * cpu-lm32.c: Likewise.
339         * cpu-m68k.c: Likewise.
340         * cpu-moxie.c: Likewise.
341         * cpu-msp430.c: Likewise.
342         * cpu-sh.c: Likewise.
343         * cpu-xc16x.c: Likewise.
344         * dwarf2.c: Likewise.
345         * ecofflink.c: Likewise.
346         * ecoffswap.h: Likewise.
347         * elf-ifunc.c: Likewise.
348         * elf-m10300.c: Likewise.
349         * elf-vxworks.c: Likewise.
350         * elf32-avr.c: Likewise.
351         * elf32-avr.h: Likewise.
352         * elf32-cr16.c: Likewise.
353         * elf32-cr16c.c: Likewise.
354         * elf32-cris.c: Likewise.
355         * elf32-crx.c: Likewise.
356         * elf32-frv.c: Likewise.
357         * elf32-hppa.c: Likewise.
358         * elf32-i860.c: Likewise.
359         * elf32-ip2k.c: Likewise.
360         * elf32-iq2000.c: Likewise.
361         * elf32-m32c.c: Likewise.
362         * elf32-m68hc1x.c: Likewise.
363         * elf32-msp430.c: Likewise.
364         * elf32-mt.c: Likewise.
365         * elf32-ppc.c: Likewise.
366         * elf32-rl78.c: Likewise.
367         * elf32-s390.c: Likewise.
368         * elf32-score.h: Likewise.
369         * elf32-sh-symbian.c: Likewise.
370         * elf32-sh.c: Likewise.
371         * elf32-spu.c: Likewise.
372         * elf32-tic6x.c: Likewise.
373         * elf32-v850.c: Likewise.
374         * elf32-xc16x.c: Likewise.
375         * elf32-xtensa.c: Likewise.
376         * elf64-alpha.c: Likewise.
377         * elf64-hppa.c: Likewise.
378         * elf64-ppc.c: Likewise.
379         * elf64-s390.c: Likewise.
380         * elfcore.h: Likewise.
381         * elflink.c: Likewise.
382         * elfxx-mips.c: Likewise.
383         * elfxx-sparc.c: Likewise.
384         * elfxx-tilegx.c: Likewise.
385         * ieee.c: Likewise.
386         * libcoff.h: Likewise.
387         * libpei.h: Likewise.
388         * libxcoff.h: Likewise.
389         * linker.c: Likewise.
390         * mach-o-i386.c: Likewise.
391         * mach-o-target.c: Likewise.
392         * mach-o.c: Likewise.
393         * mach-o.h: Likewise.
394         * mmo.c: Likewise.
395         * opncls.c: Likewise.
396         * pdp11.c: Likewise.
397         * pe-x86_64.c: Likewise.
398         * peXXigen.c: Likewise.
399         * pef-traceback.h: Likewise.
400         * pei-x86_64.c: Likewise.
401         * peicode.h: Likewise.
402         * plugin.c: Likewise.
403         * reloc.c: Likewise.
404         * riscix.c: Likewise.
405         * section.c: Likewise.
406         * som.c: Likewise.
407         * syms.c: Likewise.
408         * tekhex.c: Likewise.
409         * ticoff.h: Likewise.
410         * vaxbsd.c: Likewise.
411         * xcofflink.c: Likewise.
412         * xtensa-isa.c: Likewise.
413
414 2013-01-10  Will Newton <will.newton@imgtec.com>
415
416         * Makefile.am: Add Meta.
417         * Makefile.in: Regenerate.
418         * archures.c (bfd_mach_metag): New.
419         * bfd-in2.h: Regenerate.
420         * config.bfd: Add Meta.
421         * configure: Regenerate.
422         * configure.in: Add Meta.
423         * cpu-metag.c: New file.
424         * elf-bfd.h: Add Meta.
425         * elf32-metag.c: New file.
426         * elf32-metag.h: New file.
427         * libbfd.h: Regenerate.
428         * reloc.c: Add Meta relocations.
429         * targets.c: Add Meta.
430
431 2013-01-08  Yufeng Zhang  <yufeng.zhang@arm.com>
432
433         * elf-bfd.h (elfcore_write_aarch_tls): Add prototype.
434         (elfcore_write_aarch_hw_break): Likewise.
435         (elfcore_write_aarch_hw_watch): Likewise.
436         * elf.c (elfcore_grok_aarch_tls): New function.
437         (elfcore_grok_aarch_hw_break): Likewise.
438         (elfcore_grok_aarch_hw_watch): Likewise.
439         (elfcore_grok_note): Call the new functions to handle the
440         corresponding notes.
441         (elfcore_write_aarch_tls): New function.
442         (elfcore_write_aarch_hw_break): Likewise.
443         (elfcore_write_aarch_hw_watch): Likewise.
444         (elfcore_write_register_note): Call the new functions to handle the
445         corresponding pseudo sections.
446
447 2013-01-07  Tom Tromey  <tromey@redhat.com>
448
449         * section.c (_bfd_std_section): Rename from std_section.
450         (bfd_com_section_ptr, bfd_und_section_ptr, bfd_abs_section_ptr)
451         (STD_SECTION): Update.
452         * bfd-in2.h: Rebuild.
453
454 2013-01-04  Juergen Urban <JuergenUrban@gmx.de>
455
456         * archures.c (bfd_mach_mips5900): Define.
457         * bfd-in2.h: Regenerate.
458         * config.bfd: Add mips64-ps2-elf and mips-ps2-elf targets.
459         * cpu-mips.c: Add support for MIPS r5900.
460         * elfxx-mips.c: Add support for MIPS r5900 (extension of r4000).
461
462 2013-01-03  Nickolai Zeldovich  <nickolai@csail.mit.edu>
463             Nick Clifton  <nickc@redhat.com>
464
465         * elflink.c (get_value): Prevent the use of an undefined shift
466         operation.  Add sanity checks.
467
468 2013-01-02  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
469
470         * config.bfd (cr16*-*-uclinux*): New target support.
471
472
473 For older changes see ChangeLog-2012
474 \f
475 Copyright (C) 2013 Free Software Foundation, Inc.
476
477 Copying and distribution of this file, with or without modification,
478 are permitted in any medium without royalty provided the copyright
479 notice and this notice are preserved.
480
481 Local Variables:
482 mode: change-log
483 left-margin: 8
484 fill-column: 74
485 version-control: never
486 End: