* elflink.c (elf_link_add_object_symbols): Add assertion for
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
3a81e825
AM
12013-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
4f3fedcf
AM
62013-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
e3c9d234
AM
182013-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
6c9b78e6
AM
242013-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
191c0c42
AM
292013-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
5d13b3b3
AM
362013-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
8a56bd02
AM
452013-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
96f29d96
AM
522013-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
209be8d2
DM
612013-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
5c0df484
NC
662013-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
81f5558e
NC
722013-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
ce63b7b3
KT
822013-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
088ca6c1
NC
922013-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
8877b5e5
AM
982013-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
ffa9430d
AM
1032013-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
cc0ea93c
TT
1092013-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
59c108f7
NC
1162013-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
abb3f6cc
NC
1232013-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
af924177
MR
1312013-03-08 Maciej W. Rozycki <macro@codesourcery.com>
132
133 * elfxx-mips.c (mips_elf_allocate_lazy_stub): Correct data type.
134
48385e38
CV
1352013-03-05 Corinna Vinschen <vinschen@redhat.com>
136
137 * config.bfd: Add x86_64-*-cygwin to list of supported targets.
138
f75e0e33
AM
1392013-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
17e3916e
NC
1452013-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
3064e1ff
JB
1502013-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
4107ae22
DD
1552013-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
730fbaf8
AG
1632013-02-26 Anthony Green <green@moxielogic.com>
164
165 * config.bfd: Extend moxie-rtems target triplet name support.
166
35399224
L
1672013-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
c0355132
AM
1772013-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
228e534f
AM
1952013-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
12bd6957
AM
2112013-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
cbf8d970
MR
2272013-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
30e8ee25
AM
2322013-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
5b175e56
MR
2452013-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
e8faf7d1
MR
2562013-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
c164a95d
MR
2612013-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
d45f8bda
AM
2662013-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
698600e4
AM
2772013-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
3d5bef4c
L
2872013-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
313ed4a9
L
2932013-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
989fbeff
L
2992013-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
a043396b
NC
3062013-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
13db6b44
RS
3122013-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
57093f5e
RS
3382013-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
9c3f90c4
AM
3432013-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
476366af
RS
3482013-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
9ab066b4
RS
3592013-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
6c42ddb9
RS
3782013-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
ebc53538
RS
4042013-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
13fbec83
RS
4092013-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
3dff0dd1
RS
4222013-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
d7206569
RS
4322013-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
ee227692
RS
4672013-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
72e7511a
RS
4782013-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
ab361d49
RS
4902013-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
e641e783
RS
5202013-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
d9bf376d
RS
5662013-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
5334aa52
RS
5732013-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
946c668d
RS
5792013-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
59b08994
RS
5842013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
585
586 * elfxx-mips.c (mips_elf_multi_got): Simplify size calculation.
587
d222d210
RS
5882013-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
1fd20d70
RS
5932013-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
7d94b319
RS
6012013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
602
603 * elfxx-mips.c (mips_elf_sort_hash_table_f): Remove asserts.
604
17214937
RS
6052013-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
9efeb38d
RS
6102013-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
9c3f90c4
AM
6152013-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
7bf52ea2
AM
6502013-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
22cdc249
AM
6862013-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
0e5de31a
AM
6982013-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
ad1fc92a
NC
7032013-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.
34c67f14
NC
707 (elf_metag_adjust_dynamic_symbol): Don't error on zero size dynbss
708 symbol.
ad1fc92a 709
170a8295
YZ
7102013-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
619a703e
AM
7152013-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
02acbe22
L
7222013-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
1965d5f2
AM
7282013-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
dafbc74d
AM
7332013-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
20e52bd2
L
7392013-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
36591ba1 7502013-02-06 Sandra Loosemore <sandra@codesourcery.com>
20e52bd2 751 Andrew Jenner <andrew@codesourcery.com>
36591ba1
SL
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
ca6b5f82
AM
7792013-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
37ba9f93
AM
7842013-02-06 Alan Modra <amodra@gmail.com>
785
786 * Makefile.am (SOURCE_HFILES): Add `elf-linux-psinfo.h'.
787 * Makefile.in: Regenerate.
788
70a38d42
SDJ
7892013-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
5ee43bc4
TG
8062013-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
0cadb185
AM
8112013-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
5d42dfb5
AM
8182013-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
c57da1a7
AM
8232013-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
c0fd7846
TG
8282013-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
b45b6908
AM
8342013-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
bcaa2f82
AM
8442013-01-31 Alan Modra <amodra@gmail.com>
845
846 * elf64-ppc.c (ppc_stub_name): Trim off trailing "+0".
847
22aa0c7e
AM
8482013-01-31 Alan Modra <amodra@gmail.com>
849
850 * elf64-ppc.c (build_plt_stub): Correct plt stub branch to glink.
851
bc30df16
AM
8522013-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
89d7b8aa
AM
8612013-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
c9ba0c87
AM
8692013-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
d79dcc73
NC
8872013-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
78c8d46c
NC
8922013-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
1a18f0ae
NC
9002013-01-23 Markos Chandras <markos.chandras@imgtec.com>
901
902 * elf32-metag.c: Error on HIADDR16/LOADDR16 in shared link.
903
f65a9e53
AM
9042013-01-23 Leif Ekblad <leif@rdos.net>
905
906 * config.bfd (x86_64-*-rdos*): Remove targ_selvecs.
907
3bea1fcb
L
9082013-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
b1b00fcc
MF
9192013-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
06a6a421
L
9252013-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
6a3e1bae
L
9322013-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
1788fc08
L
9432013-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
1e536451
L
9672013-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
77bf820f
NC
9722013-01-15 Nick Clifton <nickc@redhat.com>
973
974 * elf32-msp430.c: Fix spelling typo.
975
e2458743
AM
9762013-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
405bf443
AM
9812013-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
ee659f1f
AM
9912013-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
68c4a57e
L
10032013-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
02be4619
AM
10092013-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
a4542f1b
AM
10152013-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
68ffbac6
L
10252013-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
a3c62988
NC
11282013-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
652451f8
YZ
11452013-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
45a466b5
TT
11612013-01-07 Tom Tromey <tromey@redhat.com>
1162
1163 * section.c (_bfd_std_section): Rename from std_section.
f75e0e33
AM
1164 (bfd_com_section_ptr, bfd_und_section_ptr, bfd_abs_section_ptr)
1165 (STD_SECTION): Update.
45a466b5
TT
1166 * bfd-in2.h: Rebuild.
1167
e407c74b
NC
11682013-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
9b239e0e
NC
11762013-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
bab4becb 11822013-01-02 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
884f2a8d 1183
bab4becb 1184 * config.bfd (cr16*-*-uclinux*): New target support.
884f2a8d 1185
9911c0fc 1186
bab4becb 1187For older changes see ChangeLog-2012
56882138 1188\f
bab4becb 1189Copyright (C) 2013 Free Software Foundation, Inc.
752937aa
NC
1190
1191Copying and distribution of this file, with or without modification,
1192are permitted in any medium without royalty provided the copyright
1193notice and this notice are preserved.
1194
56882138
AM
1195Local Variables:
1196mode: change-log
1197left-margin: 8
1198fill-column: 74
1199version-control: never
1200End:
This page took 0.746893 seconds and 4 git commands to generate.