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