PR ld/12549
[platform/upstream/binutils.git] / bfd / ChangeLog
1 2013-03-18  Alan Modra  <amodra@gmail.com>
2
3         PR ld/12549
4         * elflink.c (elf_link_add_object_symbols): Exclude weak refs when
5         considering whether an --as-needed library is needed.
6
7 2013-03-14  Tom Tromey  <tromey@redhat.com>
8
9         * opncls.c (bfd_get_debug_link_info): Rename from
10         get_debug_link_info.  Export.  Update comment.
11         (find_separate_debug_file): Update.
12         * bfd-in2.h: Rebuild.
13
14 2013-03-08  Venkataramanan Kumar  <venkataramanan.kumar@linaro.org>
15
16         * elf64-aarch64.c (elf_backend_can_gc_sections): Enable gc-section
17         support.
18         (elf64_aarch64_gc_sweep_hook): Handle GOT, TLS and PLT related
19         relocs.
20
21 2013-03-08  Andreas Arnez  <arnez@linux.vnet.ibm.com>
22
23         * elf-bfd.h (elfcore_write_s390_tdb): Add prototype.
24         * elf.c (elfcore_write_s390_tdb): New function.
25         (elfcore_write_register_note): Call it.
26         (elfcore_grok_s390_tdb): New function.
27         (elfcore_grok_note): Call it.
28
29 2013-03-08  Maciej W. Rozycki  <macro@codesourcery.com>
30
31         * elfxx-mips.c (mips_elf_allocate_lazy_stub): Correct data type.
32
33 2013-03-05  Corinna Vinschen  <vinschen@redhat.com>
34
35         * config.bfd: Add x86_64-*-cygwin to list of supported targets.
36
37 2013-03-04  Alan Modra  <amodra@gmail.com>
38
39         * elf32-ppc.c (ppc_elf_relocate_section <R_PPC_PLTREL24>): Adjust
40         non-zero addends when relocatable, rather than addends >= 32768.
41         Always zero "addend" before applying relocation.
42
43 2013-03-04  Nick Clifton  <nickc@redhat.com>
44
45         * archive64.c (bfd_elf64_archive_write_armap): Fix calculation of
46         file pointer offsets for thin archives.
47
48 2013-02-28  Nathan Sidwell  <nathan@codesourcery.com>
49
50         * elf32-arm.c (elf32_arm_size_dynamic_sections): Don't call
51         elf32_arm_allocate_dynrelocs for source reloc for non-dynamic link.
52
53 2013-02-27  DJ Delorie  <dj@redhat.com>
54
55         * reloc.c (BFD_RELOC_RL78_CODE): Add.
56         * libbfd.h: Regenerate.
57         * bfd-in2.h: Regenerate.
58         * elf32-rl78.c (rl78_elf_relocate_section): Handle weak code
59         references in compuated relocs.
60
61 2013-02-26  Anthony Green  <green@moxielogic.com>
62
63         * config.bfd: Extend moxie-rtems target triplet name support.
64
65 2013-02-21  H.J. Lu  <hongjiu.lu@intel.com>
66
67         PR ld/15167
68         * elf64-ia64-vms.c (elf64_vms_link_add_object_symbols): Set
69         unique_global only for definition.
70         * elflink.c (_bfd_elf_merge_symbol): Don't set unique_global
71         here.
72         (elf_link_add_object_symbols): Set unique_global only
73         for definition.
74
75 2013-02-21  Alan Modra  <amodra@gmail.com>
76
77         * elf-bfd.h (struct elf_build_id): Extracted from..
78         (struct elf_build_id_info): ..here.  Delete.
79         (struct output_elf_obj_tdata): New, extracted from..
80         (struct elf_obj_tdata): ..here.  Reorganize for better packing.
81         Add "o" field.
82         (elf_program_header_size): Reference tdata->o.
83         (elf_seg_map, elf_next_file_pos, elf_eh_frame_hdr, elf_linker,
84         elf_stack_flags, elf_shstrtab, elf_strtab_sec, elf_shstrtab_sec,
85         elf_section_syms, elf_num_section_syms, elf_flags_init): Likewise.
86         * elf.c (bfd_elf_allocate_object): Allocate output_elf_obj_tdata
87         when opening bfd in any mode that might write.
88         (_bfd_elf_write_object_contents): Use build_id field in
89         output_elf_obj_tdata.
90         (_bfd_elf_close_and_cleanup): Tweak elf_shstrtab test.
91         (elfobj_grok_gnu_build_id): Adjust for elf_tdata changes.
92
93 2013-02-21  Alan Modra  <amodra@gmail.com>
94
95         * elf-bfd.h (struct core_elf_obj_tdata): New.
96         (struct elf_obj_tdata): Delete core_signal, core_pid, core_lwpid,
97         core_program, and core_command.  Add "core".
98         * elf.c (bfd_elf_mkcorefile): Allocate "core" struct.
99         Update all refs to tdata core fields.
100         * elf32-am33lin.c, * elf32-arm.c, * elf32-cris.c, * elf32-frv.c,
101         * elf32-hppa.c, * elf32-i386.c, * elf32-m68k.c, * elf32-mips.c,
102         * elf32-nios2.c, * elf32-ppc.c, * elf32-s390.c, * elf32-score.c,
103         * elf32-score7.c, * elf32-sh.c, * elf32-sparc.c, * elf32-tilegx.c,
104         * elf32-tilepro.c, * elf32-xtensa.c, * elf64-aarch64.c,
105         * elf64-hppa.c, * elf64-mips.c, * elf64-ppc.c, * elf64-tilegx.c,
106         * elf64-x86-64.c, * elfcore.h, * elfn32-mips.c: Update all refs
107         to tdata core fields.
108
109 2013-02-21  Alan Modra  <amodra@gmail.com>
110
111         * elf-bfd.h (struct elf_obj_tdata): Rename segment_map to seg_map.
112         Delete num_locals and num_globals.
113         (elf_num_locals, elf_num_globals): Don't define.
114         (elf_seg_map, elf_next_file_pos, elf_eh_frame_hdr, elf_linker,
115         elf_stack_flags, elf_strtab_sec, elf_shstrtab_sec): Define.
116         * bfd.c, * elf-eh-frame.c, * elf-nacl.c, * elf-vxworks.c, * elf.c,
117         * elf32-arm.c, * elf32-lm32.c, * elf32-ppc.c, * elf32-rx.c,
118         * elf32-spu.c, * elf64-hppa.c, * elfcode.h, * elflink.c,
119         * elfnn-ia64.c, * elfxx-mips.c: Use newly defined elf_obj_tdata
120         accessor macros.
121         * elf.c (elf_map_symbols): Add pnum_locals param.  Return
122         number of locals syms via new param.
123         (swap_out_syms): Adjust to suit elf_map_symbols change.
124
125 2013-02-19  Maciej W. Rozycki  <macro@codesourcery.com>
126
127         * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Also clear
128         STO_MICROMIPS annotation.
129
130 2013-02-19  Alan Modra  <amodra@gmail.com>
131
132         * configure.in: Bump version to 2.23.52.
133         * elf-bfd.h (struct elf_build_id_info): New.
134         (struct elf_obj_tdata): Delete after_write_object_contents,
135         after_write_object_contents_info and build_id_size.  Make build_id
136         a pointer to struct elf_build_id_info.
137         * elf.c (_bfd_elf_write_object_contents): Style.  Update
138         after_write_ibject_contents invocation.
139         (elfobj_grok_gnu_build_id): Update for new build_id struct.  Don't
140         allow zero size notes.
141         * configure: Regenerate.
142
143 2013-02-18  Maciej W. Rozycki  <macro@codesourcery.com>
144
145         * elf64-mips.c (micromips_elf64_howto_table_rel): Add
146         R_MICROMIPS_SCN_DISP and R_MICROMIPS_JALR.
147         (micromips_elf64_howto_table_rela): Likewise.
148         (micromips_reloc_map): Add BFD_RELOC_MICROMIPS_JALR.
149         * elfn32-mips.c (elf_micromips_howto_table_rel): Add
150         R_MICROMIPS_SCN_DISP and R_MICROMIPS_JALR.
151         (elf_micromips_howto_table_rela): Likewise.
152         (micromips_reloc_map): Add BFD_RELOC_MICROMIPS_JALR.
153
154 2013-02-18  Paul Brook  <paul@codesourcery.com>
155
156         * elfxx-mips.c (MICROMIPS_P): New macro.
157         (_bfd_mips_elf_symbol_processing): Use it.
158
159 2013-02-18  Maciej W. Rozycki  <macro@codesourcery.com>
160
161         * elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Clarify
162         comment on _PROCEDURE_LINKAGE_TABLE_ creation.
163
164 2013-02-18  Alan Modra  <amodra@gmail.com>
165
166         PR ld/12549
167         * elf-bfd.h (_bfd_elf_strtab_clear_refs): Delete.
168         (_bfd_elf_strtab_clear_all_refs): Declare.
169         (_bfd_elf_strtab_resize): Declare.
170         * elf-strtab.c (_bfd_elf_strtab_clear_refs): Delete.
171         (_bfd_elf_strtab_clear_all_refs): New function.
172         (_bfd_elf_strtab_resize): Likewise.
173         * elflink.c (elf_link_add_object_symbols): Use _bfd_elf_strtab_resize.
174
175 2013-02-18  Alan Modra  <amodra@gmail.com>
176
177         * elf-bfd.h (struct elf_obj_tdata): Move find_line_info, local_stubs,
178         local_call_stubs, elf_data_symbol, elf_text_symbol, elf_data_section,
179         and elf_text_section to..
180         * elfxx-mips.c (struct mips_elf_obj_tdata): ..here.  Update all refs.
181         * elf64-alpha.c (struct mips_elf_find_line): Rename to..
182         (struct alpha_elf_find_line): ..this.
183         (struct alpha_elf_obj_tdata): Add find_line_info, update refs.
184
185 2013-02-16  H.J. Lu  <hongjiu.lu@intel.com>
186
187         PR ld/15146
188         * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
189         for references from the dummy bfd.
190
191 2013-02-16  H.J. Lu  <hongjiu.lu@intel.com>
192
193         PR ld/15149
194         * elflink.c (elf_link_add_object_symbols): Also track weak
195         references.
196
197 2013-02-15  H.J. Lu  <hongjiu.lu@intel.com>
198
199         PR binutils/15151
200         * archive.c (_bfd_find_nested_archive): Don't allow a nested
201         archive pointing to itself.
202         (_bfd_get_elt_at_filepos): Revert the last 2 changes.
203
204 2013-02-15  Nick Clifton  <nickc@redhat.com>
205
206         PR binutils/15140
207         * archive.c (_bfd_get_elt_at_filepos): Prevent an infinite loop
208         accessing a corrupt nested archive.
209
210 2013-02-13  Richard Sandiford  <rdsandiford@googlemail.com>
211
212         * elfxx-mips.c (mips_got_page_ref): New structure.
213         (mips_got_page_entry): Use a section rather than a (bfd, symndx)
214         pair to represent the anchor point.
215         (mips_got_info): Add a got_page_refs field.
216         (mips_elf_link_hash_table): Add a sym_cache field.
217         (mips_got_page_ref_hash, mips_got_page_ref_eq): New functions.
218         (mips_got_page_entry_hash, mips_got_page_entry_eq): Update for
219         new anchor representation.
220         (mips_elf_create_got_info): Create got_page_refs rather than
221         got_page_entries.
222         (mips_elf_record_got_page_ref): New function.
223         (mips_elf_pages_for_range): Move further down file.
224         (mips_elf_record_got_page_entry): Likewise.  Take a got as argument.
225         Use a section rather than a (bfd, symndx) pair to represent the
226         anchor point.
227         (mips_elf_resolve_got_page_ref): New function.
228         (mips_elf_resolve_final_got_entries): Use it to populate
229         got_page_entries.
230         (_bfd_mips_elf_check_relocs): Call mips_elf_record_got_page_ref
231         rather than mips_elf_record_got_page_entry.  Only nullify h
232         afterwards.
233         (mips_elf_lay_out_got): Call mips_elf_resolve_final_got_entries
234         earlier.
235
236 2013-02-12  Richard Sandiford  <rdsandiford@googlemail.com>
237
238         * elfxx-mips.c (mips_elf_lay_out_got): Count VxWorks GOT relocs
239         in g->relocs.
240
241 2013-02-12  Alan Modra  <amodra@gmail.com>
242
243         * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Provide
244         suitable definition when using generic linker hash table.
245
246 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
247
248         * elfxx-mips.c (mips_elf_count_got_entries): Delete.
249         (mips_elf_check_recreate_got, mips_elf_recreate_got): Take a
250         mips_elf_traverse_got_arg.  Count GOT entries.
251         (mips_elf_resolve_final_got_entries): Take the bfd_link_info
252         as argument.  Update after above changes.
253         (mips_elf_merge_got, mips_elf_lay_out_got): Don't call
254         mips_elf_count_got_entries.  Update the calls to
255         mips_elf_resolve_final_got_entries.
256
257 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
258
259         * elfxx-mips.c (mips_got_tls_type): New enum.
260         (mips_got_entry): Add tls_initialized.
261         (mips_elf_got_entry_hash, mips_elf_got_entry_eq, mips_tls_got_relocs)
262         (mips_elf_count_got_entry, mips_elf_initialize_tls_index): Remove
263         GOT_TLS_TYPE masks.
264         (mips_elf_reloc_tls_type, mips_tls_got_entries)
265         (mips_elf_record_global_got_symbol, mips_elf_initialize_tls_index)
266         (_bfd_mips_elf_finish_dynamic_symbol): Use GOT_TLS_NONE rather
267         than GOT_NORMAL.
268         (mips_elf_initialize_tls_slots): Replace got_offset and tls_type_p
269         arguments with a GOT entry.  Remove GOT_TLS_TYPE masks.  Use
270         tls_initialized rather than GOT_TLS_DONE.
271         (mips_tls_got_index): Delete.
272         (mips_elf_local_got_index, mips_elf_global_got_index): Use
273         mips_elf_initialize_tls_slots rather than mips_tls_got_index.
274         (mips_elf_record_got_entry): Initialize tls_initialized.
275
276 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
277
278         * elfxx-mips.c (mips_got_entry): Remove tls_ldm_offset.
279         (mips_elf_link_hash_entry): Remove tls_ie_type, tls_gd_type,
280         tls_ie_got_offset and tls_gd_got_offset.
281         (mips_elf_link_hash_newfunc): Remove initialization.
282         (mips_elf_create_got_info): Likewise.
283         (mips_elf_count_local_got_entries, mips_elf_count_global_tls_entries)
284         (mips_tls_single_got_index): Delete.
285         (mips_elf_local_got_index): Always use the GOT entry to track
286         GOT indices.
287         (mips_elf_global_got_index): Likewise.
288         (mips_elf_create_local_got_entry): Assert that TLS entries have
289         already been allocated.
290         (mips_elf_record_global_got_symbol): Don't initialize
291         tls_ie_type or tls_gd_type.
292         (mips_elf_count_got_symbols): Only count reloc-only GOT entries here.
293         (mips_elf_initialize_tls_index): Allocate a GOT index for every TLS
294         entry.
295         (mips_elf_lay_out_got): Use mips_elf_count_got_entries to count
296         the GOT entries.
297         (_bfd_mips_elf_finish_dynamic_symbol): Assert that TLS GOT offsets
298         have been allocated.
299         (_bfd_mips_elf_copy_indirect_symbol): Remove handling of
300         tls_ie_type and tls_gd_type.
301
302 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
303
304         * elfxx-mips.c (mips_elf_create_local_got_entry): Tidy.  Avoid
305         aliasing violation.  Check for htab allocation failures.
306
307 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
308
309         * elfxx-mips.c (mips_elf_primary_global_got_index): New function,
310         split out from...
311         (mips_elf_global_got_index): ...here.  Reorder arguments so that
312         the output bfd and info come first.
313         (mips_elf_calculate_relocation): Update the call to
314         mips_elf_global_got_index accordingly.
315         (_bfd_mips_elf_finish_dynamic_symbol): Use
316         mips_elf_primary_global_got_index rather than
317         mips_elf_global_got_index.
318         (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
319
320 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
321
322         * elfxx-mips.c (mips_got_entry): Update comments.
323         (mips_elf_multi_got_entry_eq): Rename to...
324         (mips_elf_got_entry_eq): ...this, deleting the old definition.
325         (mips_elf_create_got_info): Remove master_got_p argument.
326         Always use mips_elf_got_entry_eq.
327         (mips_elf_bfd_got, mips_elf_multi_got, mips_elf_create_got_section):
328         Update calls accordingly.
329
330 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
331
332         * elfxx-mips.c (mips_got_info): Remove bfd2got.
333         (mips_elf_bfd2got_hash): Delete.
334         (mips_elf_got_per_bfd_arg): Remove bfd2got.
335         (mips_elf_replace_bfd_got, mips_elf_count_got_entries): New functions.
336         (mips_elf_global_got_index, mips_elf_create_local_got_entry): Use
337         g->next to test for the multigot case.  Use mips_elf_bfd_got rather
338         than mips_elf_got_for_ibfd.
339         (mips_elf_bfd2got_entry_hash, mips_elf_bfd2got_entry_eq)
340         (mips_elf_got_for_ibfd, mips_elf_get_got_for_bfd): Delete.
341         (mips_elf_make_got_per_bfd): Replace with...
342         (mips_elf_add_got_entry): ...this new function.
343         (mips_elf_make_got_pages_per_bfd): Replace with...
344         (mips_elf_add_got_page_entry): ...this new function.
345         (mips_elf_merge_got_with): Replace bfd2got argument with separate
346         bfd and GOT arguments.  Use mips_elf_add_got_entry and
347         mips_elf_add_got_page_entry instead of mips_elf_make_got_per_bfd
348         and mips_elf_make_got_pages_per_bfd.  Use mips_elf_replace_bfd_got
349         to set the BFD's GOT and free the old table.
350         (mips_elf_merge_got): Replace bfd2got argument with separate
351         bfd and GOT arguments.  Apply mips_elf_resolve_final_got_entries.
352         Use mips_elf_count_got_entries to count the number of entries in
353         each GOT.  Update the calls to mips_elf_merge_got_with.
354         (mips_elf_adjust_gp): Use g->next to test for the multigot case.
355         Use mips_elf_bfd_got rather than mips_elf_got_for_ibfd.
356         (mips_elf_multi_got): Don't create the bfd2got hash table.
357         Replace hash table traversal with a walk over the input bfds,
358         updating the call to mips_elf_merge_got.  Use mips_elf_replace_bfd_got
359         to set the output bfd's GOT.
360         (mips_elf_lay_out_got): Rename "sub" to "ibfd".  Record that all
361         bfds use the master GOT in the single-GOT case.
362         (_bfd_mips_elf_finish_dynamic_sections): Use mips_elf_bfd_got
363         rather than mips_elf_got_for_ibfd.
364
365 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
366
367         * elfxx-mips.c (mips_elf_obj_tdata): Add a got field.
368         (mips_elf_bfd_got, mips_elf_record_got_entry): New functions.
369         (mips_elf_record_global_got_symbol): Update the hash entry before
370         adding the mips_got_entry.  Use mips_elf_record_got_entry to do
371         the latter.
372         (mips_elf_record_local_got_symbol): Use mips_elf_record_got_entry.
373         (mips_elf_record_got_page_entry): Record the entry in both the
374         master and bfd GOTs.
375
376 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
377
378         * elfxx-mips.c (mips_elf_recreate_got): Don't change the entry;
379         create another one if necessary.
380         (mips_elf_set_gotidx): New function.
381         (mips_elf_set_global_gotidx): Use it.
382         (mips_elf_initialize_tls_index): Likewise.  Take a
383         mips_elf_traverse_got_arg as argument.
384         (mips_elf_lay_out_got): Update use of mips_elf_initialize_tls_index.
385         (mips_elf_multi_got): Likewise.  Cope with error returns from
386         mips_elf_set_global_gotidx.
387
388 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
389
390         * elfxx-mips.c (mips_got_info): Add relocs field.
391         (mips_elf_set_global_got_offset_arg, mips_elf_count_tls_arg): Replace
392         with...
393         (mips_elf_traverse_got_arg): ...this new structure.
394         (mips_elf_count_local_tls_relocs): Delete.
395         (mips_elf_count_global_tls_relocs): Likewise.
396         (mips_elf_count_got_entry): New function.
397         (mips_elf_count_local_got_entries): Likewise.
398         (mips_elf_count_global_tls_entries): Take a mips_elf_traverse_got_arg
399         rather than a mips_elf_count_tls_arg.  Count both relocs and entries.
400         (mips_elf_record_local_got_symbol): Don't count got entries here.
401         (mips_elf_make_got_per_bfd): Use mips_elf_count_got_entry.
402         (mips_elf_set_global_got_offset): Split into...
403         (mips_elf_set_global_got_area, mips_elf_set_global_gotidx): ...these
404         new functions.  Take a mips_elf_traverse_got_arg rather than a
405         mips_elf_set_global_got_offset_arg.  Don't count TLS relocs here.
406         Use g->relocs to record the number of relocs needed for global GOT
407         entries.
408         (mips_elf_multi_got): Use mips_elf_traverse_got_arg rather than
409         mips_elf_set_global_got_offset_arg.  Use the relocs field to count
410         relocations.  Update for above function split.
411         (mips_elf_lay_out_got): Use mips_elf_count_local_got_entries
412         to count both the number of GOT entries and the number of TLS
413         relocs required by local entries.  Likewise
414         mips_elf_count_global_tls_entries and global entries.
415         Remove uses of mips_elf_count_local_tls_relocs and
416         mips_elf_count_global_tls_relocs.
417
418 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
419
420         * elfxx-mips.c (mips_got_entry): Update comment above tls_type entry
421         to say that each structure represents only one type of TLS reference.
422         (GOT_TLS_TYPE): New define.
423         (mips_elf_link_hash_entry): Temporarily split tls_type and
424         tls_got_offset into two variables each.
425         (mips_elf_link_hash_newfunc): Update accordingly.
426         (mips_elf_got_entry_eq, mips_elf_got_entry_hash)
427         (mips_elf_multi_got_entry_eq): Require the tls_type to be the same.
428         (mips_elf_reloc_tls_type, mips_tls_got_entries): New functions.
429         (mips_tls_got_relocs): Use a switch statement.
430         (mips_elf_count_global_tls_entries): Handle the new hash entry fields.
431         (mips_elf_initialize_tls_slots): Use a switch statement.  Avoid
432         local "offset" variable.
433         (mips_tls_got_index): Remove r_type argument and assert.  Remove
434         code that handled entries with two TLS types; always use the
435         original got_index instead.
436         (mips_tls_single_got_index): New function.
437         (mips_elf_local_got_index): Use entry->tls_type to check for
438         TLS entries.  Use mips_tls_single_got_index.  Update call to
439         mips_tls_got_index.
440         (mips_elf_global_got_index): Use mips_elf_reloc_tls_type.
441         Use p->tls_type to check for TLS entries.  Update call to
442         mips_tls_got_index.  Use mips_tls_single_got_index.
443         (mips_elf_create_local_got_entry): Use mips_elf_reloc_tls_type.
444         Use entry.tls_type to check for TLS entries.
445         (mips_elf_record_global_got_symbol): Replace tls_flag argument
446         with r_type argument.  Use mips_elf_reloc_tls_type.
447         Set up the new hash entry fields.
448         (mips_elf_record_local_got_symbol): Replace tls_flag argument
449         with r_type argument.  Use mips_elf_reloc_tls_type and
450         mips_tls_got_entries.  Remove code that handled entries
451         with multiple TLS types.
452         (mips_elf_make_got_per_bfd): Use mips_tls_got_entries.
453         (mips_elf_initialize_tls_index): Handle new hash entry fields.
454         Use equality rather than masks when checking for specific TLS types.
455         Use mips_tls_got_entries.  Remove code that handled entries
456         with multiple TLS types.
457         (mips_elf_calculate_relocation): Use TLS_RELOC_P instead of
458         testing the hash table entry.
459         (_bfd_mips_elf_check_relocs): Update calls to
460         mips_elf_record_global_got_symbol and mips_elf_record_local_got_symbol.
461         (_bfd_mips_elf_finish_dynamic_symbol): Don't check h->type.
462         (_bfd_mips_elf_copy_indirect_symbol): Handle new hash entry fields.
463
464 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
465
466         * elfxx-mips.c (mips_elf_multi_got_entry_hash): Rename to...
467         (mips_elf_got_entry_hash): ...this, deleting the old version.
468         (mips_elf_create_got_info): Use mips_elf_got_entry_hash for
469         both types of GOT.
470
471 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
472
473         * elfxx-mips.c (mips_elf_create_got_info): New function.
474         (mips_elf_get_got_for_bfd, mips_elf_multi_got): Use it.
475         (mips_elf_create_got_section): Likewise.
476
477 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
478
479         * elfxx-mips.c (mips_elf_record_local_got_symbol): Always set
480         gotidx to -1.
481
482 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
483
484         * elfxx-mips.c (mips_elf_multi_got): Simplify size calculation.
485
486 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
487
488         * elfxx-mips.c (mips_got_info): Move global_gotsym to...
489         (mips_elf_link_hash_table): ...here.  Update rest of file accordingly.
490
491 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
492
493         * elfxx-mips.c (mips_elf_count_global_tls_entries)
494         (mips_elf_count_global_tls_relocs): Don't count indirect or
495         warning symbols.
496         (mips_elf_multi_got, mips_elf_lay_out_got): Assert that the right
497         number of TLS entries were allocated.
498
499 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
500
501         * elfxx-mips.c (mips_elf_sort_hash_table_f): Remove asserts.
502
503 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
504
505         * elfxx-mips.c (mips_elf_merge_got_with): Only use arg->global_count
506         if there are TLS relocations.
507
508 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
509
510         * elfxx-mips.c (mips_elf_recreate_got): Remove free.
511         (mips_elf_resolve_final_got_entries): Remove bogus comment.
512
513 2013-02-11  Alan Modra  <amodra@gmail.com>
514
515         * elfcode.h (elf_checksum_contents): Free contents.
516         * elf-bfd.h (_bfd_elf_link_hash_table_free): Declare.
517         * elflink.c (_bfd_elf_link_hash_table_free): New function.
518         (elf_final_link_free): New function, extracted from..
519         (bfd_elf_final_link): ..here.  Always call
520         _bfd_elf_write_section_eh_frame_hdr.
521         * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Default to
522         _bfd_elf_link_hash_table_free.
523         * libbfd-in.h (_bfd_merge_sections_free): Declare.
524         * libbfd.h: Regenerate.
525         * merge.c (_bfd_merge_sections_free): New function.
526         * elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): Free
527         hdr_info->array.
528         * elf-m10300.c (elf32_mn10300_link_hash_table_free): Call
529         _bfd_elf_link_hash_table_free.
530         * elf32-arm.c (elf32_arm_link_hash_table_free): Likewise.
531         * elf32-avr.c (elf32_avr_link_hash_table_free): Likewise.
532         * elf32-hppa.c (elf32_hppa_link_hash_table_free): Likewise.
533         * elf32-i386.c (elf_i386_link_hash_table_free): Likewise.
534         * elf32-m68hc1x.c (m68hc11_elf_hash_table_free): Likewise.
535         * elf32-m68k.c (elf_m68k_link_hash_table_free): Likewise.
536         * elf32-metag.c (elf_metag_link_hash_table_free): Likewise.
537         * elf32-xgate.c (xgate_elf_bfd_link_hash_table_free): Likewise.
538         * elf64-aarch64.c (elf64_aarch64_link_hash_table_free): Likewise.
539         * elf64-ia64-vms.c (elf64_ia64_hash_table_free): Likewise.
540         * elf64-ppc.c (ppc64_elf_link_hash_table_free): Likewise.
541         * elf64-x86-64.c (elf_x86_64_link_hash_table_free): Likewise.
542         * elfnn-ia64.c (elfNN_ia64_hash_table_free): Likewise.
543         * elf32-cr16.c (elf32_cr16_link_hash_table_free): Delete.
544         (bfd_elf32_bfd_link_hash_table_free): Don't define.
545         * elf32-tic6x.c (elf32_tic6x_link_hash_table_free): Delete.
546         (bfd_elf32_bfd_link_hash_table_free): Dont' define.
547
548 2013-02-10  Alan Modra  <amodra@gmail.com>
549
550         * coff-arm.c (coff_arm_link_hash_table_create): Use bfd_zmalloc.
551         * coff-h8300.c (h8300_coff_link_hash_table_create): Likewise.
552         * m68klinux.c (linux_link_hash_table_create): Likewise.
553         * sparclinux.c (linux_link_hash_table_create): Likewise.
554         * sunos.c (sunos_link_hash_table_create): Likewise.
555         * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise.
556         * elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise.
557         * elf32-arm.c (elf32_arm_link_hash_table_create): Likewise.
558         * elf32-avr.c (elf32_avr_link_hash_table_create): Likewise.
559         * elf32-cr16.c (elf32_cr16_link_hash_table_create): Likewise.
560         * elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
561         * elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise.
562         * elf32-i386.c (elf_i386_link_hash_table_create): Likewise.
563         * elf32-lm32.c (lm32_elf_link_hash_table_create): Likewise.
564         * elf32-m32r.c (m32r_elf_link_hash_table_create): Likewise.
565         * elf32-m68hc1x.c (m68hc11_elf_hash_table_create): Likewise.
566         * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
567         * elf32-metag.c (elf_metag_link_hash_table_create): Likewise.
568         * elf32-nios2.c (nios2_elf32_link_hash_table_create): Likewise.
569         * elf32-s390.c (elf_s390_link_hash_table_create): Likewise.
570         * elf32-score.c (elf32_score_link_hash_table_create): Likewise.
571         * elf32-spu.c (spu_elf_link_hash_table_create): Likewise.
572         * elf32-tic6x.c (elf32_tic6x_link_hash_table_create): Likewise.
573         * elf32-vax.c (elf_vax_link_hash_table_create): Likewise.
574         * elf32-xgate.c (xgate_elf_bfd_link_hash_table_create): Likewise.
575         * elf32-xtensa.c (elf_xtensa_link_hash_table_create): Likewise.
576         * elf64-aarch64.c (elf64_aarch64_link_hash_table_create): Likewise.
577         * elf64-s390.c (elf_s390_link_hash_table_create): Likewise.
578         * elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise.
579         * elf64-x86-64.c (elf_x86_64_link_hash_table_create): Likewise.
580         * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
581         * elflink.c (_bfd_elf_link_hash_table_create): Likewise.
582         (_bfd_elf_link_hash_table_init): Assume zero fill table on entry.
583
584 2013-02-10  Alan Modra  <amodra@gmail.com>
585
586         * i386linux.c (linux_link_hash_table_create): Allocate table
587         with bfd_zmalloc, not bfd_alloc.
588         * pdp11.c (link_hash_table_create): Allocate table with
589         bfd_malloc, not bfd_alloc.
590         * elf32-bfin.c (bfinfdpic_elf_link_hash_table_create): Allocate table
591         with bfd_zmalloc, not bfd_zalloc.
592         (bfin_link_hash_table_create): Likewise.
593         * elf32-frv.c (frvfdpic_elf_link_hash_table_create): Likewise.
594         * elf64-hppa.c (elf64_hppa_hash_table_create): Likewise.
595
596 2013-02-10  Alan Modra  <amodra@gmail.com>
597
598         PR ld/15113
599         * elf32-sh.c (sh_elf_link_hash_table_create): Use bfd_zmalloc.
600
601 2013-02-08  Markos Chandras  <markos.chandras@imgtec.com>
602
603         * elf32-metag.c: Use bfd_get_linker_section to get SEC_LINKER_CREATED
604         sections.
605         (elf_metag_adjust_dynamic_symbol): Don't error on zero size dynbss
606         symbol.
607
608 2013-02-08  Yufeng Zhang  <yufeng.zhang@arm.com>
609
610         * elf64-aarch64.c (elf64_aarch64_grok_prstatus): Change 'size' from
611         288 to 272.
612
613 2013-02-08  Alan Modra  <amodra@gmail.com>
614
615         PR binutils/15106
616         * elf-bfd.h (struct elf_obj_tdata): Add elf_find_function_cache.
617         * elf.c (elf_find_function): Revert last change.  Use new
618         tdata field rather than static vars for cache.
619
620 2013-02-07  H.J. Lu  <hongjiu.lu@intel.com>
621
622         PR ld/15107
623         * elflink.c (elf_link_output_extsym): Set STB_GNU_UNIQUE only if
624         symbol is defined in regular object.
625
626 2013-02-07  Roberto Agostino Vitillo  <ra.vitillo@gmail.com>
627
628         PR binutils/15106
629         * elf.c (elf_find_function): Don't cache if symbols change.
630
631 2013-02-07  Alan Modra  <amodra@gmail.com>
632
633         PR binutils/14873
634         * elf-attrs.c (_bfd_elf_copy_obj_attributes): Don't attempt to
635         copy attributes from or to non-ELF.
636
637 2013-02-06  H.J. Lu  <hongjiu.lu@intel.com>
638
639         * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't clear pc_count
640         for non-zero TLS symbol.
641         (elf_i386_relocate_section): Don't resolve size relocation against
642         non-zero TLS symbol.
643         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Don't clear
644         pc_count for non-zero TLS symbol.
645         (elf_x86_64_relocate_section): Don't resolve size relocation
646         against non-zero TLS symbol.
647
648 2013-02-06  Sandra Loosemore  <sandra@codesourcery.com>
649             Andrew Jenner <andrew@codesourcery.com>
650
651         Based on patches from Altera Corporation.
652
653         * Makefile.am (ALL_MACHINES): Add cpu-nios2.lo.
654         (ALL_MACHINES_CFILES): Add cpu-nios2.c.
655         (BFD_BACKENDS): Add elf32-nios2.lo.
656         (BFD32_BACKENDS_CFILES): Add elf32-nios2.c.
657         * Makefile.in: Regenerated.
658         * configure.in: Add entries for bfd_elf32_bignios2_vec and
659         bfd_elf32_littlenios2_vec.
660         * configure: Regenerated.
661         * config.bfd: Add cases for nios2.
662         * archures.c (enum bfd_architecture): Add bfd_arch_nios2.
663         (bfd_mach_nios2): Define.
664         (bfd_nios2_arch): Declare.
665         (bfd_archures_list): Add bfd_nios2_arch.
666         * targets.c (bfd_elf32_bignios2_vec): Declare.
667         (bfd_elf32_littlenios2_vec): Declare.
668         (_bfd_target_vector): Add entries for bfd_elf32_bignios2_vec and
669         bfd_elf32_littlenios2_vec.
670         * elf-bfd.h (enum elf_target_id): Add NIOS2_ELF_DATA.
671         * reloc.c (enum bfd_reloc_code_real): Add Nios II relocations.
672         * bfd-in2.h: Regenerated.
673         * libbfd.h: Regenerated.
674         * cpu-nios2.c: New file.
675         * elf32-nios2.c: New file.
676
677 2013-02-06  Alan Modra  <amodra@gmail.com>
678
679         * elf32-arm.c (elf32_arm_final_link_relocate): Only test for
680         stubs in stub_bfd.
681
682 2013-02-06  Alan Modra  <amodra@gmail.com>
683
684         * Makefile.am (SOURCE_HFILES): Add `elf-linux-psinfo.h'.
685         * Makefile.in: Regenerate.
686
687 2013-02-04  Sergio Durigan Junior  <sergiodj@redhat.com>
688             Pedro Alves  <palves@redhat.com>
689
690         * Makefile.in (SOURCE_HFILES): Add `elf-linux-psinfo.h'.
691         * elf-bfd.h (elf_internal_linux_prpsinfo): New structure
692         declaration.
693         (elfcore_write_linux_prpsinfo32, elfcore_write_linux_prpsinfo64)
694         (elfcore_write_ppc32_linux_prpsinfo32): New declarations.
695         * elf-linux-psinfo.h: New file.
696         * elf.c: Include elf-linux-psinfo.h.
697         (elfcore_write_linux_prpsinfo32, elfcore_write_linux_prpsinfo64):
698         New functions.
699         * elf32-ppc.c: Include `elf-linux-psinfo.h'.
700         (elf_external_ppc_linux_prpsinfo32): New structure declaration.
701         (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): New macro.
702         (elfcore_write_ppc_linux_prpsinfo32): New function.
703
704 2013-02-04  Tristan Gingold  <gingold@adacore.com>
705
706         * mach-o.c (bfd_mach_o_scan_start_address): Do not fail if no
707         start address.
708
709 2013-02-04  Alan Modra  <amodra@gmail.com>
710
711         * Makefile.am (BFD64_BACKENDS): Remove elf-nacl.lo.
712         (BFD64_BACKENDS_CFILES): Remove elf-nacl.c.
713         * Makefile.in: Regenerate.
714         * po/SRC-POTFILES.in: Regenerate.
715
716 2013-02-04  Alan Modra  <amodra@gmail.com>
717
718         * coff-tic54x.c (SWAP_OUT_RELOC_EXTRA): Delete.
719         * coff-tic80.c (SWAP_OUT_RELOC_EXTRA): Delete.
720
721 2013-02-01  Alan Modra  <amodra@gmail.com>
722
723         * elf64-ppc.c (dec_dynrel_count): Don't error when elf_gc_sweep_symbol
724         clears def_regular.
725
726 2013-01-31  Tristan Gingold  <gingold@adacore.com>
727
728         * mach-o.c (bfd_mach_o_scan): Call bfd_mach_o_flatten_sections
729         earlier.  Fix status checking of bfd_mach_o_scan_start_address.
730         (bfd_mach_o_scan_start_address): Handle LC_MAIN.
731
732 2013-01-31  Alan Modra  <amodra@gmail.com>
733             David S. Miller  <davem@davemloft.net>
734
735         PR ld/15056
736         * elfxx-sparc.c (_bfd_sparc_elf_gc_mark_hook): Handle implicit
737         references to __tls_get_addr.
738         * elf32-tilpro.c (tilepro_elf_gc_mark_hook): Likewise.  Correct
739         vtinherit and vtentry reloc handling too.
740         * elfxx-tilegx.c (tilegx_elf_gc_mark_hook): As for tilepro.
741
742 2013-01-31  Alan Modra  <amodra@gmail.com>
743
744         * elf64-ppc.c (ppc_stub_name): Trim off trailing "+0".
745
746 2013-01-31  Alan Modra  <amodra@gmail.com>
747
748         * elf64-ppc.c (build_plt_stub): Correct plt stub branch to glink.
749
750 2013-01-28  Alan Modra  <amodra@gmail.com>
751
752         * elf64-ppc.c: Use %T to print symbols names and remove redundant
753         "relocation" in error messages throughout file.
754         (ppc64_elf_relocate_section): Remove sibling call error message,
755         replace with "call lacks nop".  Specially report errors for
756         branches to function entry points via OPD lookup and branches
757         to stubs.  Remove NULL symbol handling now done by %T.
758
759 2013-01-28  Alan Modra  <amodra@gmail.com>
760
761         * archive.c (bfd_generic_archive_p): Return target and keep
762         ardata on partial matches.
763         * format.c (bfd_check_format_matches): Adjust for above
764         change.  Remove bfd_error_file_ambiguously_recognized dead
765         code.
766
767 2013-01-26  Alan Modra  <amodra@gmail.com>
768
769         * bfd.c (struct bfd_preserve, bfd_preserve_save, bfd_preserve_restore,
770         bfd_preserve_finish): Move to..
771         * format.c: ..here, splitting out..
772         (bfd_reinit): ..this.  New function.
773         (bfd_check_format_matches): Use bfd_preserve_save/restore to
774         keep bfd state for a match.
775         * elfcode.h (elf_object_p): Don't use bfd_preserve_save/restore.
776         * elfcore.h (elf_core_file_p): Likewise.
777         * mach-o.c (bfd_mach_o_header_p): Likewise.
778         * pef.c (bfd_pef_object_p, bfd_pef_xlib_object_p): Likewise.
779         * xsym.c (bfd_sym_object_p): Likewise.
780         * mmo.c (mmo_scan): Clear abfd->symcount.
781         * opncls.c (_bfd_new_bfd): Use a smaller section hash table.
782         * section.c (bfd_section_list_clear): Clear section_htab.count.
783         * bfd-in2.h: Regenerate.
784
785 2013-01-25  Michael Schewe  <michael.schewe@gmx.net>
786
787         * elf32-h8300.c (elf32_h8_relax_section): When checking for a
788         second reloc, make sure that the reloc potentially exists first.
789
790 2013-01-24  Nick Clifton  <nickc@redhat.com>
791
792         * archures.c: Add bfd_mach_v850e3v5.
793         * bfd-in2.h: Regenerate.
794         * cpu-v850.c: Add entries for v850e2v5 and v850e3v5.
795         * cpu-v850_rh850.c: Likewise.
796         * elf32-v850.c: Add support for v850e3v5 architecture.
797
798 2013-01-23  Markos Chandras  <markos.chandras@imgtec.com>
799
800         * elf32-metag.c: Error on HIADDR16/LOADDR16 in shared link.
801
802 2013-01-23  Leif Ekblad  <leif@rdos.net>
803
804         * config.bfd (x86_64-*-rdos*): Remove targ_selvecs.
805
806 2013-01-18  H.J. Lu  <hongjiu.lu@intel.com>
807
808         * elf32-i386.c (elf_i386_allocate_dynrelocs): Clear pc_count for
809         non-zero TLS symbol.
810         (elf_i386_relocate_section): Resolve size relocation against
811         non-zero TLS symbol.
812         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Clear pc_count
813         for non-zero TLS symbol.
814         (elf_x86_64_relocate_section): Resolve size relocation against
815         non-zero TLS symbol.
816
817 2013-01-18  Mike Frysinger  <vapier@gentoo.org>
818
819         * elflink.c (bfd_elf_size_dynamic_sections): Only add DT_RPATH
820         when new_dtags is false.  Only add DT_RUNPATH when new_dtags is
821         true.
822
823 2013-01-17  H.J. Lu  <hongjiu.lu@intel.com>
824
825         * elf32-i386.c (elf_i386_check_relocs): Count size relocation as
826         PC-relative relocation.
827         * elf64-x86-64.c (elf_x86_64_check_relocs): Count size relocation
828         as PC-relative relocation.
829
830 2013-01-16  H.J. Lu  <hongjiu.lu@intel.com>
831
832         * elf32-i386.c (elf_i386_check_relocs): Update R_386_SIZE32
833         check.
834         (elf_i386_relocate_section): Don't check TLS for R_386_SIZE32.
835
836         * elf64-x86-64.c (elf_x86_64_check_relocs): Update R_X86_64_SIZE32
837         and R_X86_64_SIZE64 check.
838         (elf_x86_64_relocate_section): Don't check TLS for R_X86_64_SIZE32
839         nor R_X86_64_SIZE64.
840
841 2013-01-16  H.J. Lu  <hongjiu.lu@intel.com>
842
843         * bfd-in2.h: Regenerated.
844         * libbfd.h: Likewise.
845
846         * elf32-i386.c (elf_howto_table): Fill R_386_SIZE32 entry.
847         (elf_i386_reloc_type_lookup): Support BFD_RELOC_SIZE32.
848         (elf_i386_check_relocs): Handle R_386_SIZE32.
849         (elf_i386_gc_sweep_hook): Likewise.
850         (elf_i386_relocate_section): Likewise.
851
852         * elf64-x86-64.c (x86_64_elf_howto_table): Fill R_X86_64_SIZE32
853         and R_X86_64_SIZE64 entries.
854         (x86_64_reloc_map): Add BFD_RELOC_SIZE32 and BFD_RELOC_SIZE64,
855         (elf_x86_64_rtype_to_howto): Handle R_X86_64_SIZE32 for x32.
856         (elf_x86_64_reloc_name_lookup): Likewise.
857         (elf_x86_64_check_relocs): Handle R_X86_64_SIZE32 and
858         R_X86_64_SIZE64.
859         (elf_x86_64_gc_sweep_hook): Likewise.
860         (elf_x86_64_relocate_section): Likewise.
861
862         * reloc.c (bfd_reloc_code_type): Add BFD_RELOC_SIZE32 and
863         BFD_RELOC_SIZE64.
864
865 2013-01-15  H.J. Lu  <hongjiu.lu@intel.com>
866
867         * elf64-x86-64.c (R_X86_64_standard): Replace R_X86_64_IRELATIVE
868         with R_X86_64_RELATIVE64.
869
870 2013-01-15  Nick Clifton  <nickc@redhat.com>
871
872         * elf32-msp430.c: Fix spelling typo.
873
874 2013-01-15  Alan Modra  <amodra@gmail.com>
875
876         * elf64-ppc.c (ppc64_elf_size_stubs): Default shared libs to
877         plt-thread-safe.
878
879 2013-01-14  Alan Modra  <amodra@gmail.com>
880
881         PR binutils/14813
882         * bfdio.c (struct bfd_iovec <bclose>): Revert 2012-11-06.
883         (memory_bclose): Likewise.  Return 0 on success.
884         * cache.c (cache_bclose): Likewise.
885         * opncls.c (opncls_bclose, bfd_close): Likewise.
886         * vms-lib.c (vms_lib_bclose): Likewise.
887         * libbfd.h: Regenerate.
888
889 2013-01-13  Alan Modra  <amodra@gmail.com>
890
891         * elf-bfd.h (struct elf_link_hash_entry): Delete dynamic_weak.
892         Add ref_dynamic_nonweak.
893         * elflink.c (_bfd_elf_mark_dynamic_def_weak): Delete.
894         (_bfd_elf_merge_symbol): Don't call above function.  Move
895         setting of ref_dynamic_nonweak and dynamic_def earlier.  Don't
896         clear dynamic_def.
897         (elf_link_add_object_symbols): Delete redundant "override" test.
898         Don't set dynamic_def here.
899         (elf_link_output_extsym): Update.
900
901 2013-01-12  H.J. Lu  <hongjiu.lu@intel.com>
902
903         * elf32-i386.c (elf_i386_check_relocs): Set bfd errror for
904         normal and TLS symbol access.
905         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
906
907 2013-01-12  Alan Modra  <amodra@gmail.com>
908
909         * elf-bfd.h (_bfd_elf_strtab_refcount): Declare.
910         * elf-strtab.c (_bfd_elf_strtab_refcount): New function.
911         * elflink.c (elf_add_dt_needed_tag): Use _bfd_elf_strtab_refcount.
912
913 2013-01-12  Alan Modra  <amodra@gmail.com>
914
915         PR ld/12549
916         * elf-bfd.h (_bfd_elf_strtab_clear_refs): Declare.
917         (_bfd_elf_strtab_clear_all_refs): Define.
918         * elf-strtab.c (_bfd_elf_strtab_clear_refs): New function.
919         (_bfd_elf_strtab_clear_all_refs): Delete.
920         * elflink.c (elf_link_add_object_symbols): Clear out added
921         strtab refs.  Correct handling of warning common symbols.
922
923 2013-01-10  H.J. Lu  <hongjiu.lu@intel.com>
924
925         * aout0.c: Remove trailing white spaces.
926         * archive.c: Likewise.
927         * archures.c: Likewise.
928         * bfd-in.h: Likewise.
929         * bfd-in2.h: Likewise.
930         * coff-alpha.c: Likewise.
931         * coff-i860.c: Likewise.
932         * coff-mips.c: Likewise.
933         * coff-ppc.c: Likewise.
934         * coff-tic80.c: Likewise.
935         * coff-x86_64.c: Likewise.
936         * coff-z80.c: Likewise.
937         * coffcode.h: Likewise.
938         * coffgen.c: Likewise.
939         * cofflink.c: Likewise.
940         * compress.c: Likewise.
941         * corefile.c: Likewise.
942         * cpu-arm.c: Likewise.
943         * cpu-avr.c: Likewise.
944         * cpu-bfin.c: Likewise.
945         * cpu-cr16.c: Likewise.
946         * cpu-cr16c.c: Likewise.
947         * cpu-crx.c: Likewise.
948         * cpu-h8300.c: Likewise.
949         * cpu-i386.c: Likewise.
950         * cpu-lm32.c: Likewise.
951         * cpu-m68k.c: Likewise.
952         * cpu-moxie.c: Likewise.
953         * cpu-msp430.c: Likewise.
954         * cpu-sh.c: Likewise.
955         * cpu-xc16x.c: Likewise.
956         * dwarf2.c: Likewise.
957         * ecofflink.c: Likewise.
958         * ecoffswap.h: Likewise.
959         * elf-ifunc.c: Likewise.
960         * elf-m10300.c: Likewise.
961         * elf-vxworks.c: Likewise.
962         * elf32-avr.c: Likewise.
963         * elf32-avr.h: Likewise.
964         * elf32-cr16.c: Likewise.
965         * elf32-cr16c.c: Likewise.
966         * elf32-cris.c: Likewise.
967         * elf32-crx.c: Likewise.
968         * elf32-frv.c: Likewise.
969         * elf32-hppa.c: Likewise.
970         * elf32-i860.c: Likewise.
971         * elf32-ip2k.c: Likewise.
972         * elf32-iq2000.c: Likewise.
973         * elf32-m32c.c: Likewise.
974         * elf32-m68hc1x.c: Likewise.
975         * elf32-msp430.c: Likewise.
976         * elf32-mt.c: Likewise.
977         * elf32-ppc.c: Likewise.
978         * elf32-rl78.c: Likewise.
979         * elf32-s390.c: Likewise.
980         * elf32-score.h: Likewise.
981         * elf32-sh-symbian.c: Likewise.
982         * elf32-sh.c: Likewise.
983         * elf32-spu.c: Likewise.
984         * elf32-tic6x.c: Likewise.
985         * elf32-v850.c: Likewise.
986         * elf32-xc16x.c: Likewise.
987         * elf32-xtensa.c: Likewise.
988         * elf64-alpha.c: Likewise.
989         * elf64-hppa.c: Likewise.
990         * elf64-ppc.c: Likewise.
991         * elf64-s390.c: Likewise.
992         * elfcore.h: Likewise.
993         * elflink.c: Likewise.
994         * elfxx-mips.c: Likewise.
995         * elfxx-sparc.c: Likewise.
996         * elfxx-tilegx.c: Likewise.
997         * ieee.c: Likewise.
998         * libcoff.h: Likewise.
999         * libpei.h: Likewise.
1000         * libxcoff.h: Likewise.
1001         * linker.c: Likewise.
1002         * mach-o-i386.c: Likewise.
1003         * mach-o-target.c: Likewise.
1004         * mach-o.c: Likewise.
1005         * mach-o.h: Likewise.
1006         * mmo.c: Likewise.
1007         * opncls.c: Likewise.
1008         * pdp11.c: Likewise.
1009         * pe-x86_64.c: Likewise.
1010         * peXXigen.c: Likewise.
1011         * pef-traceback.h: Likewise.
1012         * pei-x86_64.c: Likewise.
1013         * peicode.h: Likewise.
1014         * plugin.c: Likewise.
1015         * reloc.c: Likewise.
1016         * riscix.c: Likewise.
1017         * section.c: Likewise.
1018         * som.c: Likewise.
1019         * syms.c: Likewise.
1020         * tekhex.c: Likewise.
1021         * ticoff.h: Likewise.
1022         * vaxbsd.c: Likewise.
1023         * xcofflink.c: Likewise.
1024         * xtensa-isa.c: Likewise.
1025
1026 2013-01-10  Will Newton <will.newton@imgtec.com>
1027
1028         * Makefile.am: Add Meta.
1029         * Makefile.in: Regenerate.
1030         * archures.c (bfd_mach_metag): New.
1031         * bfd-in2.h: Regenerate.
1032         * config.bfd: Add Meta.
1033         * configure: Regenerate.
1034         * configure.in: Add Meta.
1035         * cpu-metag.c: New file.
1036         * elf-bfd.h: Add Meta.
1037         * elf32-metag.c: New file.
1038         * elf32-metag.h: New file.
1039         * libbfd.h: Regenerate.
1040         * reloc.c: Add Meta relocations.
1041         * targets.c: Add Meta.
1042
1043 2013-01-08  Yufeng Zhang  <yufeng.zhang@arm.com>
1044
1045         * elf-bfd.h (elfcore_write_aarch_tls): Add prototype.
1046         (elfcore_write_aarch_hw_break): Likewise.
1047         (elfcore_write_aarch_hw_watch): Likewise.
1048         * elf.c (elfcore_grok_aarch_tls): New function.
1049         (elfcore_grok_aarch_hw_break): Likewise.
1050         (elfcore_grok_aarch_hw_watch): Likewise.
1051         (elfcore_grok_note): Call the new functions to handle the
1052         corresponding notes.
1053         (elfcore_write_aarch_tls): New function.
1054         (elfcore_write_aarch_hw_break): Likewise.
1055         (elfcore_write_aarch_hw_watch): Likewise.
1056         (elfcore_write_register_note): Call the new functions to handle the
1057         corresponding pseudo sections.
1058
1059 2013-01-07  Tom Tromey  <tromey@redhat.com>
1060
1061         * section.c (_bfd_std_section): Rename from std_section.
1062         (bfd_com_section_ptr, bfd_und_section_ptr, bfd_abs_section_ptr)
1063         (STD_SECTION): Update.
1064         * bfd-in2.h: Rebuild.
1065
1066 2013-01-04  Juergen Urban <JuergenUrban@gmx.de>
1067
1068         * archures.c (bfd_mach_mips5900): Define.
1069         * bfd-in2.h: Regenerate.
1070         * config.bfd: Add mips64-ps2-elf and mips-ps2-elf targets.
1071         * cpu-mips.c: Add support for MIPS r5900.
1072         * elfxx-mips.c: Add support for MIPS r5900 (extension of r4000).
1073
1074 2013-01-03  Nickolai Zeldovich  <nickolai@csail.mit.edu>
1075             Nick Clifton  <nickc@redhat.com>
1076
1077         * elflink.c (get_value): Prevent the use of an undefined shift
1078         operation.  Add sanity checks.
1079
1080 2013-01-02  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
1081
1082         * config.bfd (cr16*-*-uclinux*): New target support.
1083
1084
1085 For older changes see ChangeLog-2012
1086 \f
1087 Copyright (C) 2013 Free Software Foundation, Inc.
1088
1089 Copying and distribution of this file, with or without modification,
1090 are permitted in any medium without royalty provided the copyright
1091 notice and this notice are preserved.
1092
1093 Local Variables:
1094 mode: change-log
1095 left-margin: 8
1096 fill-column: 74
1097 version-control: never
1098 End: