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