bfd/
[external/binutils.git] / bfd / ChangeLog
1 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
2
3         * elfxx-mips.c (mips_elf_create_local_got_entry): Tidy.  Avoid
4         aliasing violation.  Check for htab allocation failures.
5
6 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
7
8         * elfxx-mips.c (mips_elf_primary_global_got_index): New function,
9         split out from...
10         (mips_elf_global_got_index): ...here.  Reorder arguments so that
11         the output bfd and info come first.
12         (mips_elf_calculate_relocation): Update the call to
13         mips_elf_global_got_index accordingly.
14         (_bfd_mips_elf_finish_dynamic_symbol): Use
15         mips_elf_primary_global_got_index rather than
16         mips_elf_global_got_index.
17         (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
18
19 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
20
21         * elfxx-mips.c (mips_got_entry): Update comments.
22         (mips_elf_multi_got_entry_eq): Rename to...
23         (mips_elf_got_entry_eq): ...this, deleting the old definition.
24         (mips_elf_create_got_info): Remove master_got_p argument.
25         Always use mips_elf_got_entry_eq.
26         (mips_elf_bfd_got, mips_elf_multi_got, mips_elf_create_got_section):
27         Update calls accordingly.
28
29 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
30
31         * elfxx-mips.c (mips_got_info): Remove bfd2got.
32         (mips_elf_bfd2got_hash): Delete.
33         (mips_elf_got_per_bfd_arg): Remove bfd2got.
34         (mips_elf_replace_bfd_got, mips_elf_count_got_entries): New functions.
35         (mips_elf_global_got_index, mips_elf_create_local_got_entry): Use
36         g->next to test for the multigot case.  Use mips_elf_bfd_got rather
37         than mips_elf_got_for_ibfd.
38         (mips_elf_bfd2got_entry_hash, mips_elf_bfd2got_entry_eq)
39         (mips_elf_got_for_ibfd, mips_elf_get_got_for_bfd): Delete.
40         (mips_elf_make_got_per_bfd): Replace with...
41         (mips_elf_add_got_entry): ...this new function.
42         (mips_elf_make_got_pages_per_bfd): Replace with...
43         (mips_elf_add_got_page_entry): ...this new function.
44         (mips_elf_merge_got_with): Replace bfd2got argument with separate
45         bfd and GOT arguments.  Use mips_elf_add_got_entry and
46         mips_elf_add_got_page_entry instead of mips_elf_make_got_per_bfd
47         and mips_elf_make_got_pages_per_bfd.  Use mips_elf_replace_bfd_got
48         to set the BFD's GOT and free the old table.
49         (mips_elf_merge_got): Replace bfd2got argument with separate
50         bfd and GOT arguments.  Apply mips_elf_resolve_final_got_entries.
51         Use mips_elf_count_got_entries to count the number of entries in
52         each GOT.  Update the calls to mips_elf_merge_got_with.
53         (mips_elf_adjust_gp): Use g->next to test for the multigot case.
54         Use mips_elf_bfd_got rather than mips_elf_got_for_ibfd.
55         (mips_elf_multi_got): Don't create the bfd2got hash table.
56         Replace hash table traversal with a walk over the input bfds,
57         updating the call to mips_elf_merge_got.  Use mips_elf_replace_bfd_got
58         to set the output bfd's GOT.
59         (mips_elf_lay_out_got): Rename "sub" to "ibfd".  Record that all
60         bfds use the master GOT in the single-GOT case.
61         (_bfd_mips_elf_finish_dynamic_sections): Use mips_elf_bfd_got
62         rather than mips_elf_got_for_ibfd.
63
64 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
65
66         * elfxx-mips.c (mips_elf_obj_tdata): Add a got field.
67         (mips_elf_bfd_got, mips_elf_record_got_entry): New functions.
68         (mips_elf_record_global_got_symbol): Update the hash entry before
69         adding the mips_got_entry.  Use mips_elf_record_got_entry to do
70         the latter.
71         (mips_elf_record_local_got_symbol): Use mips_elf_record_got_entry.
72         (mips_elf_record_got_page_entry): Record the entry in both the
73         master and bfd GOTs.
74
75 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
76
77         * elfxx-mips.c (mips_elf_recreate_got): Don't change the entry;
78         create another one if necessary.
79         (mips_elf_set_gotidx): New function.
80         (mips_elf_set_global_gotidx): Use it.
81         (mips_elf_initialize_tls_index): Likewise.  Take a
82         mips_elf_traverse_got_arg as argument.
83         (mips_elf_lay_out_got): Update use of mips_elf_initialize_tls_index.
84         (mips_elf_multi_got): Likewise.  Cope with error returns from
85         mips_elf_set_global_gotidx.
86
87 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
88
89         * elfxx-mips.c (mips_got_info): Add relocs field.
90         (mips_elf_set_global_got_offset_arg, mips_elf_count_tls_arg): Replace
91         with...
92         (mips_elf_traverse_got_arg): ...this new structure.
93         (mips_elf_count_local_tls_relocs): Delete.
94         (mips_elf_count_global_tls_relocs): Likewise.
95         (mips_elf_count_got_entry): New function.
96         (mips_elf_count_local_got_entries): Likewise.
97         (mips_elf_count_global_tls_entries): Take a mips_elf_traverse_got_arg
98         rather than a mips_elf_count_tls_arg.  Count both relocs and entries.
99         (mips_elf_record_local_got_symbol): Don't count got entries here.
100         (mips_elf_make_got_per_bfd): Use mips_elf_count_got_entry.
101         (mips_elf_set_global_got_offset): Split into...
102         (mips_elf_set_global_got_area, mips_elf_set_global_gotidx): ...these
103         new functions.  Take a mips_elf_traverse_got_arg rather than a
104         mips_elf_set_global_got_offset_arg.  Don't count TLS relocs here.
105         Use g->relocs to record the number of relocs needed for global GOT
106         entries.
107         (mips_elf_multi_got): Use mips_elf_traverse_got_arg rather than
108         mips_elf_set_global_got_offset_arg.  Use the relocs field to count
109         relocations.  Update for above function split.
110         (mips_elf_lay_out_got): Use mips_elf_count_local_got_entries
111         to count both the number of GOT entries and the number of TLS
112         relocs required by local entries.  Likewise
113         mips_elf_count_global_tls_entries and global entries.
114         Remove uses of mips_elf_count_local_tls_relocs and
115         mips_elf_count_global_tls_relocs.
116
117 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
118
119         * elfxx-mips.c (mips_got_entry): Update comment above tls_type entry
120         to say that each structure represents only one type of TLS reference.
121         (GOT_TLS_TYPE): New define.
122         (mips_elf_link_hash_entry): Temporarily split tls_type and
123         tls_got_offset into two variables each.
124         (mips_elf_link_hash_newfunc): Update accordingly.
125         (mips_elf_got_entry_eq, mips_elf_got_entry_hash)
126         (mips_elf_multi_got_entry_eq): Require the tls_type to be the same.
127         (mips_elf_reloc_tls_type, mips_tls_got_entries): New functions.
128         (mips_tls_got_relocs): Use a switch statement.
129         (mips_elf_count_global_tls_entries): Handle the new hash entry fields.
130         (mips_elf_initialize_tls_slots): Use a switch statement.  Avoid
131         local "offset" variable.
132         (mips_tls_got_index): Remove r_type argument and assert.  Remove
133         code that handled entries with two TLS types; always use the
134         original got_index instead.
135         (mips_tls_single_got_index): New function.
136         (mips_elf_local_got_index): Use entry->tls_type to check for
137         TLS entries.  Use mips_tls_single_got_index.  Update call to
138         mips_tls_got_index.
139         (mips_elf_global_got_index): Use mips_elf_reloc_tls_type.
140         Use p->tls_type to check for TLS entries.  Update call to
141         mips_tls_got_index.  Use mips_tls_single_got_index.
142         (mips_elf_create_local_got_entry): Use mips_elf_reloc_tls_type.
143         Use entry.tls_type to check for TLS entries.
144         (mips_elf_record_global_got_symbol): Replace tls_flag argument
145         with r_type argument.  Use mips_elf_reloc_tls_type.
146         Set up the new hash entry fields.
147         (mips_elf_record_local_got_symbol): Replace tls_flag argument
148         with r_type argument.  Use mips_elf_reloc_tls_type and
149         mips_tls_got_entries.  Remove code that handled entries
150         with multiple TLS types.
151         (mips_elf_make_got_per_bfd): Use mips_tls_got_entries.
152         (mips_elf_initialize_tls_index): Handle new hash entry fields.
153         Use equality rather than masks when checking for specific TLS types.
154         Use mips_tls_got_entries.  Remove code that handled entries
155         with multiple TLS types.
156         (mips_elf_calculate_relocation): Use TLS_RELOC_P instead of
157         testing the hash table entry.
158         (_bfd_mips_elf_check_relocs): Update calls to
159         mips_elf_record_global_got_symbol and mips_elf_record_local_got_symbol.
160         (_bfd_mips_elf_finish_dynamic_symbol): Don't check h->type.
161         (_bfd_mips_elf_copy_indirect_symbol): Handle new hash entry fields.
162
163 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
164
165         * elfxx-mips.c (mips_elf_multi_got_entry_hash): Rename to...
166         (mips_elf_got_entry_hash): ...this, deleting the old version.
167         (mips_elf_create_got_info): Use mips_elf_got_entry_hash for
168         both types of GOT.
169
170 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
171
172         * elfxx-mips.c (mips_elf_create_got_info): New function.
173         (mips_elf_get_got_for_bfd, mips_elf_multi_got): Use it.
174         (mips_elf_create_got_section): Likewise.
175
176 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
177
178         * elfxx-mips.c (mips_elf_record_local_got_symbol): Always set
179         gotidx to -1.
180
181 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
182
183         * elfxx-mips.c (mips_elf_multi_got): Simplify size calculation.
184
185 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
186
187         * elfxx-mips.c (mips_got_info): Move global_gotsym to...
188         (mips_elf_link_hash_table): ...here.  Update rest of file accordingly.
189
190 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
191
192         * elfxx-mips.c (mips_elf_count_global_tls_entries)
193         (mips_elf_count_global_tls_relocs): Don't count indirect or
194         warning symbols.
195         (mips_elf_multi_got, mips_elf_lay_out_got): Assert that the right
196         number of TLS entries were allocated.
197
198 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
199
200         * elfxx-mips.c (mips_elf_sort_hash_table_f): Remove asserts.
201
202 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
203
204         * elfxx-mips.c (mips_elf_merge_got_with): Only use arg->global_count
205         if there are TLS relocations.
206
207 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
208
209         * elfxx-mips.c (mips_elf_recreate_got): Remove free.
210         (mips_elf_resolve_final_got_entries): Remove bogus comment.
211
212 2013-02-10  Alan Modra  <amodra@gmail.com>
213
214         * coff-arm.c (coff_arm_link_hash_table_create): Use bfd_zmalloc.
215         * coff-h8300.c (h8300_coff_link_hash_table_create): Likewise.
216         * m68klinux.c (linux_link_hash_table_create): Likewise.
217         * sparclinux.c (linux_link_hash_table_create): Likewise.
218         * sunos.c (sunos_link_hash_table_create): Likewise.
219         * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise.
220         * elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise.
221         * elf32-arm.c (elf32_arm_link_hash_table_create): Likewise.
222         * elf32-avr.c (elf32_avr_link_hash_table_create): Likewise.
223         * elf32-cr16.c (elf32_cr16_link_hash_table_create): Likewise.
224         * elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
225         * elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise.
226         * elf32-i386.c (elf_i386_link_hash_table_create): Likewise.
227         * elf32-lm32.c (lm32_elf_link_hash_table_create): Likewise.
228         * elf32-m32r.c (m32r_elf_link_hash_table_create): Likewise.
229         * elf32-m68hc1x.c (m68hc11_elf_hash_table_create): Likewise.
230         * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
231         * elf32-metag.c (elf_metag_link_hash_table_create): Likewise.
232         * elf32-nios2.c (nios2_elf32_link_hash_table_create): Likewise.
233         * elf32-s390.c (elf_s390_link_hash_table_create): Likewise.
234         * elf32-score.c (elf32_score_link_hash_table_create): Likewise.
235         * elf32-spu.c (spu_elf_link_hash_table_create): Likewise.
236         * elf32-tic6x.c (elf32_tic6x_link_hash_table_create): Likewise.
237         * elf32-vax.c (elf_vax_link_hash_table_create): Likewise.
238         * elf32-xgate.c (xgate_elf_bfd_link_hash_table_create): Likewise.
239         * elf32-xtensa.c (elf_xtensa_link_hash_table_create): Likewise.
240         * elf64-aarch64.c (elf64_aarch64_link_hash_table_create): Likewise.
241         * elf64-s390.c (elf_s390_link_hash_table_create): Likewise.
242         * elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise.
243         * elf64-x86-64.c (elf_x86_64_link_hash_table_create): Likewise.
244         * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
245         * elflink.c (_bfd_elf_link_hash_table_create): Likewise.
246         (_bfd_elf_link_hash_table_init): Assume zero fill table on entry.
247
248 2013-02-10  Alan Modra  <amodra@gmail.com>
249
250         * i386linux.c (linux_link_hash_table_create): Allocate table
251         with bfd_zmalloc, not bfd_alloc.
252         * pdp11.c (link_hash_table_create): Allocate table with
253         bfd_malloc, not bfd_alloc.
254         * elf32-bfin.c (bfinfdpic_elf_link_hash_table_create): Allocate table
255         with bfd_zmalloc, not bfd_zalloc.
256         (bfin_link_hash_table_create): Likewise.
257         * elf32-frv.c (frvfdpic_elf_link_hash_table_create): Likewise.
258         * elf64-hppa.c (elf64_hppa_hash_table_create): Likewise.
259
260 2013-02-10  Alan Modra  <amodra@gmail.com>
261
262         PR ld/15113
263         * elf32-sh.c (sh_elf_link_hash_table_create): Use bfd_zmalloc.
264
265 2013-02-08  Markos Chandras  <markos.chandras@imgtec.com>
266
267         * elf32-metag.c: Use bfd_get_linker_section to get SEC_LINKER_CREATED
268         sections.
269         (elf_metag_adjust_dynamic_symbol): Don't error on zero size dynbss
270         symbol.
271
272 2013-02-08  Yufeng Zhang  <yufeng.zhang@arm.com>
273
274         * elf64-aarch64.c (elf64_aarch64_grok_prstatus): Change 'size' from
275         288 to 272.
276
277 2013-02-08  Alan Modra  <amodra@gmail.com>
278
279         PR binutils/15106
280         * elf-bfd.h (struct elf_obj_tdata): Add elf_find_function_cache.
281         * elf.c (elf_find_function): Revert last change.  Use new
282         tdata field rather than static vars for cache.
283
284 2013-02-07  H.J. Lu  <hongjiu.lu@intel.com>
285
286         PR ld/15107
287         * elflink.c (elf_link_output_extsym): Set STB_GNU_UNIQUE only if
288         symbol is defined in regular object.
289
290 2013-02-07  Roberto Agostino Vitillo  <ra.vitillo@gmail.com>
291
292         PR binutils/15106
293         * elf.c (elf_find_function): Don't cache if symbols change.
294
295 2013-02-07  Alan Modra  <amodra@gmail.com>
296
297         PR binutils/14873
298         * elf-attrs.c (_bfd_elf_copy_obj_attributes): Don't attempt to
299         copy attributes from or to non-ELF.
300
301 2013-02-06  H.J. Lu  <hongjiu.lu@intel.com>
302
303         * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't clear pc_count
304         for non-zero TLS symbol.
305         (elf_i386_relocate_section): Don't resolve size relocation against
306         non-zero TLS symbol.
307         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Don't clear
308         pc_count for non-zero TLS symbol.
309         (elf_x86_64_relocate_section): Don't resolve size relocation
310         against non-zero TLS symbol.
311
312 2013-02-06  Sandra Loosemore  <sandra@codesourcery.com>
313             Andrew Jenner <andrew@codesourcery.com>
314
315         Based on patches from Altera Corporation.
316
317         * Makefile.am (ALL_MACHINES): Add cpu-nios2.lo.
318         (ALL_MACHINES_CFILES): Add cpu-nios2.c.
319         (BFD_BACKENDS): Add elf32-nios2.lo.
320         (BFD32_BACKENDS_CFILES): Add elf32-nios2.c.
321         * Makefile.in: Regenerated.
322         * configure.in: Add entries for bfd_elf32_bignios2_vec and
323         bfd_elf32_littlenios2_vec.
324         * configure: Regenerated.
325         * config.bfd: Add cases for nios2.
326         * archures.c (enum bfd_architecture): Add bfd_arch_nios2.
327         (bfd_mach_nios2): Define.
328         (bfd_nios2_arch): Declare.
329         (bfd_archures_list): Add bfd_nios2_arch.
330         * targets.c (bfd_elf32_bignios2_vec): Declare.
331         (bfd_elf32_littlenios2_vec): Declare.
332         (_bfd_target_vector): Add entries for bfd_elf32_bignios2_vec and
333         bfd_elf32_littlenios2_vec.
334         * elf-bfd.h (enum elf_target_id): Add NIOS2_ELF_DATA.
335         * reloc.c (enum bfd_reloc_code_real): Add Nios II relocations.
336         * bfd-in2.h: Regenerated.
337         * libbfd.h: Regenerated.
338         * cpu-nios2.c: New file.
339         * elf32-nios2.c: New file.
340
341 2013-02-06  Alan Modra  <amodra@gmail.com>
342
343         * elf32-arm.c (elf32_arm_final_link_relocate): Only test for
344         stubs in stub_bfd.
345
346 2013-02-06  Alan Modra  <amodra@gmail.com>
347
348         * Makefile.am (SOURCE_HFILES): Add `elf-linux-psinfo.h'.
349         * Makefile.in: Regenerate.
350
351 2013-02-04  Sergio Durigan Junior  <sergiodj@redhat.com>
352             Pedro Alves  <palves@redhat.com>
353
354         * Makefile.in (SOURCE_HFILES): Add `elf-linux-psinfo.h'.
355         * elf-bfd.h (elf_internal_linux_prpsinfo): New structure
356         declaration.
357         (elfcore_write_linux_prpsinfo32, elfcore_write_linux_prpsinfo64)
358         (elfcore_write_ppc32_linux_prpsinfo32): New declarations.
359         * elf-linux-psinfo.h: New file.
360         * elf.c: Include elf-linux-psinfo.h.
361         (elfcore_write_linux_prpsinfo32, elfcore_write_linux_prpsinfo64):
362         New functions.
363         * elf32-ppc.c: Include `elf-linux-psinfo.h'.
364         (elf_external_ppc_linux_prpsinfo32): New structure declaration.
365         (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): New macro.
366         (elfcore_write_ppc_linux_prpsinfo32): New function.
367
368 2013-02-04  Tristan Gingold  <gingold@adacore.com>
369
370         * mach-o.c (bfd_mach_o_scan_start_address): Do not fail if no
371         start address.
372
373 2013-02-04  Alan Modra  <amodra@gmail.com>
374
375         * Makefile.am (BFD64_BACKENDS): Remove elf-nacl.lo.
376         (BFD64_BACKENDS_CFILES): Remove elf-nacl.c.
377         * Makefile.in: Regenerate.
378         * po/SRC-POTFILES.in: Regenerate.
379
380 2013-02-04  Alan Modra  <amodra@gmail.com>
381
382         * coff-tic54x.c (SWAP_OUT_RELOC_EXTRA): Delete.
383         * coff-tic80.c (SWAP_OUT_RELOC_EXTRA): Delete.
384
385 2013-02-01  Alan Modra  <amodra@gmail.com>
386
387         * elf64-ppc.c (dec_dynrel_count): Don't error when elf_gc_sweep_symbol
388         clears def_regular.
389
390 2013-01-31  Tristan Gingold  <gingold@adacore.com>
391
392         * mach-o.c (bfd_mach_o_scan): Call bfd_mach_o_flatten_sections
393         earlier.  Fix status checking of bfd_mach_o_scan_start_address.
394         (bfd_mach_o_scan_start_address): Handle LC_MAIN.
395
396 2013-01-31  Alan Modra  <amodra@gmail.com>
397             David S. Miller  <davem@davemloft.net>
398
399         PR ld/15056
400         * elfxx-sparc.c (_bfd_sparc_elf_gc_mark_hook): Handle implicit
401         references to __tls_get_addr.
402         * elf32-tilpro.c (tilepro_elf_gc_mark_hook): Likewise.  Correct
403         vtinherit and vtentry reloc handling too.
404         * elfxx-tilegx.c (tilegx_elf_gc_mark_hook): As for tilepro.
405
406 2013-01-31  Alan Modra  <amodra@gmail.com>
407
408         * elf64-ppc.c (ppc_stub_name): Trim off trailing "+0".
409
410 2013-01-31  Alan Modra  <amodra@gmail.com>
411
412         * elf64-ppc.c (build_plt_stub): Correct plt stub branch to glink.
413
414 2013-01-28  Alan Modra  <amodra@gmail.com>
415
416         * elf64-ppc.c: Use %T to print symbols names and remove redundant
417         "relocation" in error messages throughout file.
418         (ppc64_elf_relocate_section): Remove sibling call error message,
419         replace with "call lacks nop".  Specially report errors for
420         branches to function entry points via OPD lookup and branches
421         to stubs.  Remove NULL symbol handling now done by %T.
422
423 2013-01-28  Alan Modra  <amodra@gmail.com>
424
425         * archive.c (bfd_generic_archive_p): Return target and keep
426         ardata on partial matches.
427         * format.c (bfd_check_format_matches): Adjust for above
428         change.  Remove bfd_error_file_ambiguously_recognized dead
429         code.
430
431 2013-01-26  Alan Modra  <amodra@gmail.com>
432
433         * bfd.c (struct bfd_preserve, bfd_preserve_save, bfd_preserve_restore,
434         bfd_preserve_finish): Move to..
435         * format.c: ..here, splitting out..
436         (bfd_reinit): ..this.  New function.
437         (bfd_check_format_matches): Use bfd_preserve_save/restore to
438         keep bfd state for a match.
439         * elfcode.h (elf_object_p): Don't use bfd_preserve_save/restore.
440         * elfcore.h (elf_core_file_p): Likewise.
441         * mach-o.c (bfd_mach_o_header_p): Likewise.
442         * pef.c (bfd_pef_object_p, bfd_pef_xlib_object_p): Likewise.
443         * xsym.c (bfd_sym_object_p): Likewise.
444         * mmo.c (mmo_scan): Clear abfd->symcount.
445         * opncls.c (_bfd_new_bfd): Use a smaller section hash table.
446         * section.c (bfd_section_list_clear): Clear section_htab.count.
447         * bfd-in2.h: Regenerate.
448
449 2013-01-25  Michael Schewe  <michael.schewe@gmx.net>
450
451         * elf32-h8300.c (elf32_h8_relax_section): When checking for a
452         second reloc, make sure that the reloc potentially exists first.
453
454 2013-01-24  Nick Clifton  <nickc@redhat.com>
455
456         * archures.c: Add bfd_mach_v850e3v5.
457         * bfd-in2.h: Regenerate.
458         * cpu-v850.c: Add entries for v850e2v5 and v850e3v5.
459         * cpu-v850_rh850.c: Likewise.
460         * elf32-v850.c: Add support for v850e3v5 architecture.
461
462 2013-01-23  Markos Chandras  <markos.chandras@imgtec.com>
463
464         * elf32-metag.c: Error on HIADDR16/LOADDR16 in shared link.
465
466 2013-01-23  Leif Ekblad  <leif@rdos.net>
467
468         * config.bfd (x86_64-*-rdos*): Remove targ_selvecs.
469
470 2013-01-18  H.J. Lu  <hongjiu.lu@intel.com>
471
472         * elf32-i386.c (elf_i386_allocate_dynrelocs): Clear pc_count for
473         non-zero TLS symbol.
474         (elf_i386_relocate_section): Resolve size relocation against
475         non-zero TLS symbol.
476         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Clear pc_count
477         for non-zero TLS symbol.
478         (elf_x86_64_relocate_section): Resolve size relocation against
479         non-zero TLS symbol.
480
481 2013-01-18  Mike Frysinger  <vapier@gentoo.org>
482
483         * elflink.c (bfd_elf_size_dynamic_sections): Only add DT_RPATH
484         when new_dtags is false.  Only add DT_RUNPATH when new_dtags is
485         true.
486
487 2013-01-17  H.J. Lu  <hongjiu.lu@intel.com>
488
489         * elf32-i386.c (elf_i386_check_relocs): Count size relocation as
490         PC-relative relocation.
491         * elf64-x86-64.c (elf_x86_64_check_relocs): Count size relocation
492         as PC-relative relocation.
493
494 2013-01-16  H.J. Lu  <hongjiu.lu@intel.com>
495
496         * elf32-i386.c (elf_i386_check_relocs): Update R_386_SIZE32
497         check.
498         (elf_i386_relocate_section): Don't check TLS for R_386_SIZE32.
499
500         * elf64-x86-64.c (elf_x86_64_check_relocs): Update R_X86_64_SIZE32
501         and R_X86_64_SIZE64 check.
502         (elf_x86_64_relocate_section): Don't check TLS for R_X86_64_SIZE32
503         nor R_X86_64_SIZE64.
504
505 2013-01-16  H.J. Lu  <hongjiu.lu@intel.com>
506
507         * bfd-in2.h: Regenerated.
508         * libbfd.h: Likewise.
509
510         * elf32-i386.c (elf_howto_table): Fill R_386_SIZE32 entry.
511         (elf_i386_reloc_type_lookup): Support BFD_RELOC_SIZE32.
512         (elf_i386_check_relocs): Handle R_386_SIZE32.
513         (elf_i386_gc_sweep_hook): Likewise.
514         (elf_i386_relocate_section): Likewise.
515
516         * elf64-x86-64.c (x86_64_elf_howto_table): Fill R_X86_64_SIZE32
517         and R_X86_64_SIZE64 entries.
518         (x86_64_reloc_map): Add BFD_RELOC_SIZE32 and BFD_RELOC_SIZE64,
519         (elf_x86_64_rtype_to_howto): Handle R_X86_64_SIZE32 for x32.
520         (elf_x86_64_reloc_name_lookup): Likewise.
521         (elf_x86_64_check_relocs): Handle R_X86_64_SIZE32 and
522         R_X86_64_SIZE64.
523         (elf_x86_64_gc_sweep_hook): Likewise.
524         (elf_x86_64_relocate_section): Likewise.
525
526         * reloc.c (bfd_reloc_code_type): Add BFD_RELOC_SIZE32 and
527         BFD_RELOC_SIZE64.
528
529 2013-01-15  H.J. Lu  <hongjiu.lu@intel.com>
530
531         * elf64-x86-64.c (R_X86_64_standard): Replace R_X86_64_IRELATIVE
532         with R_X86_64_RELATIVE64.
533
534 2013-01-15  Nick Clifton  <nickc@redhat.com>
535
536         * elf32-msp430.c: Fix spelling typo.
537
538 2013-01-15  Alan Modra  <amodra@gmail.com>
539
540         * elf64-ppc.c (ppc64_elf_size_stubs): Default shared libs to
541         plt-thread-safe.
542
543 2013-01-14  Alan Modra  <amodra@gmail.com>
544
545         PR binutils/14813
546         * bfdio.c (struct bfd_iovec <bclose>): Revert 2012-11-06.
547         (memory_bclose): Likewise.  Return 0 on success.
548         * cache.c (cache_bclose): Likewise.
549         * opncls.c (opncls_bclose, bfd_close): Likewise.
550         * vms-lib.c (vms_lib_bclose): Likewise.
551         * libbfd.h: Regenerate.
552
553 2013-01-13  Alan Modra  <amodra@gmail.com>
554
555         * elf-bfd.h (struct elf_link_hash_entry): Delete dynamic_weak.
556         Add ref_dynamic_nonweak.
557         * elflink.c (_bfd_elf_mark_dynamic_def_weak): Delete.
558         (_bfd_elf_merge_symbol): Don't call above function.  Move
559         setting of ref_dynamic_nonweak and dynamic_def earlier.  Don't
560         clear dynamic_def.
561         (elf_link_add_object_symbols): Delete redundant "override" test.
562         Don't set dynamic_def here.
563         (elf_link_output_extsym): Update.
564
565 2013-01-12  H.J. Lu  <hongjiu.lu@intel.com>
566
567         * elf32-i386.c (elf_i386_check_relocs): Set bfd errror for
568         normal and TLS symbol access.
569         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
570
571 2013-01-12  Alan Modra  <amodra@gmail.com>
572
573         * elf-bfd.h (_bfd_elf_strtab_refcount): Declare.
574         * elf-strtab.c (_bfd_elf_strtab_refcount): New function.
575         * elflink.c (elf_add_dt_needed_tag): Use _bfd_elf_strtab_refcount.
576
577 2013-01-12  Alan Modra  <amodra@gmail.com>
578
579         PR ld/12549
580         * elf-bfd.h (_bfd_elf_strtab_clear_refs): Declare.
581         (_bfd_elf_strtab_clear_all_refs): Define.
582         * elf-strtab.c (_bfd_elf_strtab_clear_refs): New function.
583         (_bfd_elf_strtab_clear_all_refs): Delete.
584         * elflink.c (elf_link_add_object_symbols): Clear out added
585         strtab refs.  Correct handling of warning common symbols.
586
587 2013-01-10  H.J. Lu  <hongjiu.lu@intel.com>
588
589         * aout0.c: Remove trailing white spaces.
590         * archive.c: Likewise.
591         * archures.c: Likewise.
592         * bfd-in.h: Likewise.
593         * bfd-in2.h: Likewise.
594         * coff-alpha.c: Likewise.
595         * coff-i860.c: Likewise.
596         * coff-mips.c: Likewise.
597         * coff-ppc.c: Likewise.
598         * coff-tic80.c: Likewise.
599         * coff-x86_64.c: Likewise.
600         * coff-z80.c: Likewise.
601         * coffcode.h: Likewise.
602         * coffgen.c: Likewise.
603         * cofflink.c: Likewise.
604         * compress.c: Likewise.
605         * corefile.c: Likewise.
606         * cpu-arm.c: Likewise.
607         * cpu-avr.c: Likewise.
608         * cpu-bfin.c: Likewise.
609         * cpu-cr16.c: Likewise.
610         * cpu-cr16c.c: Likewise.
611         * cpu-crx.c: Likewise.
612         * cpu-h8300.c: Likewise.
613         * cpu-i386.c: Likewise.
614         * cpu-lm32.c: Likewise.
615         * cpu-m68k.c: Likewise.
616         * cpu-moxie.c: Likewise.
617         * cpu-msp430.c: Likewise.
618         * cpu-sh.c: Likewise.
619         * cpu-xc16x.c: Likewise.
620         * dwarf2.c: Likewise.
621         * ecofflink.c: Likewise.
622         * ecoffswap.h: Likewise.
623         * elf-ifunc.c: Likewise.
624         * elf-m10300.c: Likewise.
625         * elf-vxworks.c: Likewise.
626         * elf32-avr.c: Likewise.
627         * elf32-avr.h: Likewise.
628         * elf32-cr16.c: Likewise.
629         * elf32-cr16c.c: Likewise.
630         * elf32-cris.c: Likewise.
631         * elf32-crx.c: Likewise.
632         * elf32-frv.c: Likewise.
633         * elf32-hppa.c: Likewise.
634         * elf32-i860.c: Likewise.
635         * elf32-ip2k.c: Likewise.
636         * elf32-iq2000.c: Likewise.
637         * elf32-m32c.c: Likewise.
638         * elf32-m68hc1x.c: Likewise.
639         * elf32-msp430.c: Likewise.
640         * elf32-mt.c: Likewise.
641         * elf32-ppc.c: Likewise.
642         * elf32-rl78.c: Likewise.
643         * elf32-s390.c: Likewise.
644         * elf32-score.h: Likewise.
645         * elf32-sh-symbian.c: Likewise.
646         * elf32-sh.c: Likewise.
647         * elf32-spu.c: Likewise.
648         * elf32-tic6x.c: Likewise.
649         * elf32-v850.c: Likewise.
650         * elf32-xc16x.c: Likewise.
651         * elf32-xtensa.c: Likewise.
652         * elf64-alpha.c: Likewise.
653         * elf64-hppa.c: Likewise.
654         * elf64-ppc.c: Likewise.
655         * elf64-s390.c: Likewise.
656         * elfcore.h: Likewise.
657         * elflink.c: Likewise.
658         * elfxx-mips.c: Likewise.
659         * elfxx-sparc.c: Likewise.
660         * elfxx-tilegx.c: Likewise.
661         * ieee.c: Likewise.
662         * libcoff.h: Likewise.
663         * libpei.h: Likewise.
664         * libxcoff.h: Likewise.
665         * linker.c: Likewise.
666         * mach-o-i386.c: Likewise.
667         * mach-o-target.c: Likewise.
668         * mach-o.c: Likewise.
669         * mach-o.h: Likewise.
670         * mmo.c: Likewise.
671         * opncls.c: Likewise.
672         * pdp11.c: Likewise.
673         * pe-x86_64.c: Likewise.
674         * peXXigen.c: Likewise.
675         * pef-traceback.h: Likewise.
676         * pei-x86_64.c: Likewise.
677         * peicode.h: Likewise.
678         * plugin.c: Likewise.
679         * reloc.c: Likewise.
680         * riscix.c: Likewise.
681         * section.c: Likewise.
682         * som.c: Likewise.
683         * syms.c: Likewise.
684         * tekhex.c: Likewise.
685         * ticoff.h: Likewise.
686         * vaxbsd.c: Likewise.
687         * xcofflink.c: Likewise.
688         * xtensa-isa.c: Likewise.
689
690 2013-01-10  Will Newton <will.newton@imgtec.com>
691
692         * Makefile.am: Add Meta.
693         * Makefile.in: Regenerate.
694         * archures.c (bfd_mach_metag): New.
695         * bfd-in2.h: Regenerate.
696         * config.bfd: Add Meta.
697         * configure: Regenerate.
698         * configure.in: Add Meta.
699         * cpu-metag.c: New file.
700         * elf-bfd.h: Add Meta.
701         * elf32-metag.c: New file.
702         * elf32-metag.h: New file.
703         * libbfd.h: Regenerate.
704         * reloc.c: Add Meta relocations.
705         * targets.c: Add Meta.
706
707 2013-01-08  Yufeng Zhang  <yufeng.zhang@arm.com>
708
709         * elf-bfd.h (elfcore_write_aarch_tls): Add prototype.
710         (elfcore_write_aarch_hw_break): Likewise.
711         (elfcore_write_aarch_hw_watch): Likewise.
712         * elf.c (elfcore_grok_aarch_tls): New function.
713         (elfcore_grok_aarch_hw_break): Likewise.
714         (elfcore_grok_aarch_hw_watch): Likewise.
715         (elfcore_grok_note): Call the new functions to handle the
716         corresponding notes.
717         (elfcore_write_aarch_tls): New function.
718         (elfcore_write_aarch_hw_break): Likewise.
719         (elfcore_write_aarch_hw_watch): Likewise.
720         (elfcore_write_register_note): Call the new functions to handle the
721         corresponding pseudo sections.
722
723 2013-01-07  Tom Tromey  <tromey@redhat.com>
724
725         * section.c (_bfd_std_section): Rename from std_section.
726         (bfd_com_section_ptr, bfd_und_section_ptr, bfd_abs_section_ptr)
727         (STD_SECTION): Update.
728         * bfd-in2.h: Rebuild.
729
730 2013-01-04  Juergen Urban <JuergenUrban@gmx.de>
731
732         * archures.c (bfd_mach_mips5900): Define.
733         * bfd-in2.h: Regenerate.
734         * config.bfd: Add mips64-ps2-elf and mips-ps2-elf targets.
735         * cpu-mips.c: Add support for MIPS r5900.
736         * elfxx-mips.c: Add support for MIPS r5900 (extension of r4000).
737
738 2013-01-03  Nickolai Zeldovich  <nickolai@csail.mit.edu>
739             Nick Clifton  <nickc@redhat.com>
740
741         * elflink.c (get_value): Prevent the use of an undefined shift
742         operation.  Add sanity checks.
743
744 2013-01-02  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
745
746         * config.bfd (cr16*-*-uclinux*): New target support.
747
748
749 For older changes see ChangeLog-2012
750 \f
751 Copyright (C) 2013 Free Software Foundation, Inc.
752
753 Copying and distribution of this file, with or without modification,
754 are permitted in any medium without royalty provided the copyright
755 notice and this notice are preserved.
756
757 Local Variables:
758 mode: change-log
759 left-margin: 8
760 fill-column: 74
761 version-control: never
762 End: