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