* elf32-vax.c (elf_vax_finish_dynamic_sections): Don't set GOT's
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
f6518c48
MR
12013-07-27 Maciej W. Rozycki <macro@linux-mips.org>
2
3 * elf32-vax.c (elf_vax_finish_dynamic_sections): Don't set GOT's
4 entry size if there is no ELF section data.
5
125b5bac
MR
62013-07-27 Maciej W. Rozycki <macro@linux-mips.org>
7
8 * elf32-vax.c (elf_vax_check_relocs) <R_VAX_GOT32, R_VAX_PLT32>:
9 Don't check symbol visibility here. Remove a check already
10 asserted for.
11 (elf_vax_instantiate_got_entries): Use SYMBOL_REFERENCES_LOCAL
12 instead of individual checks.
13 (elf_vax_relocate_section) <R_VAX_GOT32, R_VAX_PLT32>: Only
14 check the offset to decide if produce a GOT or PLT entry.
15 Remove redundant assertions. Remove code to produce GOT entries
16 for local symbols. Remove a duplicate comment and add a comment
17 on GOT relocations.
18 (elf_vax_finish_dynamic_symbol): Remove code to produce RELATIVE
19 dynamic relocs.
20
49d01bf6
MR
212013-07-27 Maciej W. Rozycki <macro@linux-mips.org>
22
23 * elf32-vax.c (elf_vax_always_size_sections): Correct a comment
24 typo.
25
fac3d241
MR
262013-07-27 Maciej W. Rozycki <macro@linux-mips.org>
27
28 * elf32-vax.c (elf_vax_discard_got_entries): New function.
29 (elf_vax_always_size_sections): Likewise.
30 (elf_vax_size_dynamic_sections): Remove code moved to
31 elf_vax_always_size_sections. Make comment on
32 elf_vax_instantiate_got_entries match reality.
33 (elf_vax_instantiate_got_entries): Assert that rather than check
34 if dynobj is null. Don't check for dynamic_sections_created.
35 Make function description match reality.
36 (elf_backend_always_size_sections): New macro.
37
729eabd5
AM
382013-07-25 Alan Modra <amodra@gmail.com>
39
40 * elf64-ppc.c (struct ppc64_elf_obj_tdata): Replace opd_relocs
41 with a union.
42 (opd_entry_value): Cache .opd section contents.
43 (ppc64_elf_relocate_section): Adjust.
44
db6a5d5f
AM
452013-07-25 Alan Modra <amodra@gmail.com>
46
47 PR ld/15762
48 PR ld/12761
49 * elflink.c (elf_link_add_object_symbols): Correct test in
50 last patch. Remove unnecessary code.
51
7fa9fcb6
TG
522013-07-24 Tristan Gingold <gingold@adacore.com>
53
54 * coff-rs6000.c (xcoff_howto_table): Fix masks and pc_relative for
55 R_RBR. Add numbers in comments.
56 (_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_PPC_B16.
57 * coff64-rs6000.c: Likewise.
58
436e1eba
AM
592013-07-20 Alan Modra <amodra@gmail.com>
60
61 PR ld/15762
62 PR ld/12761
63 * elflink.c (elf_link_add_object_symbols): Don't clobber
64 .gnu.warning.symbol sections when shared.
65
ee181c72
NC
662013-07-19 Nick Clifton <nickc@redhat.com>
67
68 * elf32-rx.c (rx_elf_relocate_section): Fix typo: move
69 saw_subtract from R_RX_OPdiv to R_RX_OPneg.
70
df301bfc
NC
712013-07-18 Travis Snoozy <quandary@remstate.com>
72
73 PR ld/15721
74 * elf32-msp430.c (R_MSP430_10_PCREL): Use 10-bit source and
75 destination masks.
76 * R_MSP430_2X_PCREL: Likewise.
77 * R_MSP430X_10_PCREL: Likewise.
78 * R_MSP430X_2X_PCREL: Likewise.
79
39f21624
NC
802013-07-18 Terry Guo <terry.guo@arm.com>
81
82 * elf32-arm.c (arm_type_of_stub): Don't use ST_BRANCH_TO_ARM for
83 thumb only targets.
84 (elf32_arm_final_link_relocate): Likewise.
85
671a6cbe
NC
862013-07-18 Bill Neubauer <wcn@google.com>
87
88 * mach-o.c (mach_o_section_name_xlat dw): Add entry for
89 .debug_gdb_scripts
90
7a89b94e
NC
912013-07-18 Roland McGrath <mcgrathr@google.com>
92
93 * elf32-arm.c (elf32_arm_stub_long_branch_arm_nacl): New variable.
94 (elf32_arm_stub_long_branch_arm_nacl_pic): New variable.
95 (arm_build_one_stub): Increase MAXRELOCS to 3.
96 (arm_type_of_stub): Use them if GLOBALS->nacl_p.
97 (struct elf32_arm_link_hash_table): Give add_stub_section member's
98 pointee type a third argument.
99 (elf32_arm_create_or_find_stub_sec): Update caller.
100 (elf32_arm_size_stubs): Update argument type.
101 * bfd-in.h (elf32_arm_size_stubs): Update decl.
102 * bfd-in2.h: Regenerate.
103 * libbfd.h: Regenerate.
104
d929bc19
MR
1052013-07-15 Maciej W. Rozycki <macro@codesourcery.com>
106
107 * elfxx-mips.c (mips_elf_merge_obj_attributes): Replace hardcoded
108 magic numbers with enum values.
109
7e11d300
RM
1102013-07-12 Roland McGrath <mcgrathr@google.com>
111
112 * reloc.c: Add BFD_RELOC_390_PC12DBL, BFD_RELOC_390_PLT12DBL,
113 BFD_RELOC_390_PC24DBL, BFD_RELOC_390_PLT24DBL (should have
114 been added here with 2013-07-05 elf32-s390.c change).
115 * bfd-in2.h: Regenerate (no-op).
116 * libbfd.h: Regenerate (no-op).
117
ba92f887
MR
1182013-07-12 Maciej W. Rozycki <macro@codesourcery.com>
119
120 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Handle
121 EF_MIPS_NAN2008.
122 (_bfd_mips_elf_print_private_bfd_data): Likewise.
123
53452371
TG
1242013-07-09 Tristan Gingold <gingold@adacore.com>
125
126 * vms-alpha.c (struct vms_private_data_struct): Remove
127 flag_hash_long_names and flag_show_after_trunc.
128 (hash_string): Remove.
129 (_bfd_vms_length_hash_symbol): Remove.
130 (alpha_vms_write_exec): Remove call to _bfd_vms_length_hash_symbol.
131 (_bfd_vms_write_egsd): Likewise. Rewrite condition.
132 (_bfd_vms_write_ehdr): Remove code that set removed flags.
133 (_bfd_vms_write_etir): Remove call to _bfd_vms_length_hash_symbol.
134 (vms_bfd_is_local_label_name): Remove trace call.
135
787548c8
TG
1362013-07-09 Tristan Gingold <gingold@adacore.com>
137
138 * hosts/alphavms.h: Include config.h and ansidecl.h, remove useless
139 macros.
140 * configure.com: Adjust to match changes in configure.
141 * makefile.vms (OBJS): Update list.
142
2d63fb6c
TG
1432013-07-05 Tristan Gingold <gingold@adacore.com>
144
145 * coffcode.h (coff_write_object_contents): Use ".ovrflo" name for
146 overflow sections.
147
fb798c50
AK
1482013-07-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
149
150 * elf32-s390.c: Add new relocation definitions R_390_PC12DBL,
151 R_390_PLT12DBL, R_390_PC24DBL, and R_390_PLT24DBL.
152 (elf_s390_reloc_type_lookup, elf_s390_check_relocs)
153 (elf_s390_gc_sweep_hook, elf_s390_relocate_section): Support new
154 relocations.
155 * elf64-s390.c: See elf32-s390.c
156 * bfd-in2.h: Add new relocs to enum bfd_reloc_code_real.
157 * libbfd.h: Add new reloc strings.
158
7bcccb57
MS
1592013-07-03 Marcus Shawcroft <marcus.shawcroft@arm.com>
160
161 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Reorder case
162 values.
163 (elfNN_aarch64_relocate_section): Likewise.
164 (elfNN_aarch64_gc_sweep_hook): Likewise.
165 (elfNN_aarch64_check_relocs): Likewise.
166
5295321c
AM
1672013-07-03 Alan Modra <amodra@gmail.com>
168
169 * elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't hide .TOC.
170 when relocatable. Don't change root.type or type here.
171 (ppc64_elf_set_toc): Set type of .TOC. to STT_OBJECT.
172
ba8ca3e7
AM
1732013-07-03 Alan Modra <amodra@gmail.com>
174
175 * elf64-ppc.c (struct ppc_stub_hash_entry): Delete "addend".
176 (ppc64_elf_size_stubs): Don't set "addend".
177 (ppc64_elf_relocate_section): Don't allow calls via
178 toc-adjusting stubs without a following nop even in an
179 executable, except for self-calls and both libc_start_main
180 and .libc_start_main.
181
c66bb0ee
AM
1822013-07-03 Alan Modra <amodra@gmail.com>
183
184 * elf64-ppc.c (ppc64_elf_func_desc_adjust): Hide ".TOC.".
185
d5be367d
TG
1862013-07-02 Tristan Gingold <gingold@adacore.com>
187
188 * coff-rs6000.c (xcoff_find_nearest_line_discriminator): Add missing
189 line.
190
9a1ada6c
TG
1912013-07-02 Tristan Gingold <gingold@adacore.com>
192
b1a49096
TG
193 * vms-alpha.c (_bfd_generic_find_nearest_line_discriminator): Define.
194 (_bfd_vms_find_nearest_line_discriminator): New function.
195
1962013-07-02 Tristan Gingold <gingold@adacore.com>
c66bb0ee 197
9a1ada6c
TG
198 * coff-rs6000.c (xcoff_create_csect_from_smclas): Handle more smclas.
199
a685c4e6
TG
2002013-07-02 Tristan Gingold <gingold@adacore.com>
201
202 * coff-rs6000.c (xcoff_find_nearest_line_discriminator): New function.
203 (rs6000coff_vec): Reference it.
204
cc0efaa8
MS
2052013-07-02 Marcus Shawcroft <marcus.shawcroft@arm.com>
206
207 * elfnn-aarch64.c (aarch64_elf_create_got_section): New.
208 (elfNN_aarch64_check_relocs): Use aarch64_elf_create_got_section.
209 (elfNN_aarch64_create_dynamic_sections): Do not define
210 _GLOBAL_OFFSET_TABLE_; call aarch64_elf_create_got_section.
211
9d115506
MS
2122013-07-02 Marcus Shawcroft <marcus.shawcroft@arm.com>
213
214 * ld-aarch64/emit-relocs-309-low.d: Adjust .text address.
215 * ld-aarch64/emit-relocs-309-up.d: Adjust .got address.
216 * ld-aarch64/emit-relocs-312.d: Adjust offsets into .got.
217 * ld-aarch64/tls-relax-all.d: Likewise.
218 * ld-aarch64/gc-got-relocs.d: Adjust expected .got content.
219 * ld-aarch64/gc-tls-relocs.d: Likewise.
220 * ld-aarch64/tls-relax-gd-ie.d: Likewise.
221 * ld-aarch64/tls-relax-gdesc-ie-2.d: Likewise.
222 * ld-aarch64/tls-relax-gdesc-ie.d: Likewise.
223
f40da81b
AM
2242013-07-02 Alan Modra <amodra@gmail.com>
225
226 * elf64-ppc.c (ppc64_elf_relocate_section): Set "relocation" for
227 .TOC. after relocatable check.
228
1c865ab2
AM
2292013-07-01 Alan Modra <amodra@gmail.com>
230
231 * elf64-ppc.h (ppc64_elf_toc): Delete.
232 (ppc64_elf_set_toc): Declare.
233 * elf64-ppc.c (ppc64_elf_toc_reloc): Replace call to ppc64_elf_toc
234 with call the ppc64_elf_set_toc.
235 (ppc64_elf_toc_ha_reloc, ppc64_elf_toc64_reloc): Likewise.
236 (ppc64_elf_start_multitoc_partition): Likewise.
237 (struct ppc_link_hash_table): Delete dot_toc_dot. Replace all uses
238 with elf.hgot.
239 (ppc64_elf_process_dot_syms): Don't make a fake function descriptor
240 for ".TOC.".
241 (ppc64_elf_check_relocs): Mark sections with a reference to .TOC.
242 as needing a toc pointer.
243 (ppc64_elf_size_stubs): Don't set dot_toc_dot here.
244 (ppc64_elf_set_toc): Rename from ppc64_elf_toc. Add info param.
245 Set elf.hgot value.
246
a69ed7f7
L
2472013-06-28 H.J. Lu <hongjiu.lu@intel.com>
248
249 PR ld/15685
250 * elf64-x86-64.c (elf_x86_64_relocate_section): Handle
251 R_X86_64_DTPOFF64.
252
c3b6407f
NC
2532013-06-28 Nick Clifton <nickc@redhat.com>
254
255 PR ld/15302
256 * elf32-arm.c (allocate_dynrelocs_for_symbol): Revert previous patch.
257
8db339a6
MS
2582013-06-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
259
260 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Reserve one slot
261 in sgot.
262 (elfNN_aarch64_finish_dynamic_sections): Place the &_DYNAMIC reference
263 in sgot[0] rather than sgotplt[0].
264
2d426575
YZ
2652013-06-26 Yufeng Zhang <yufeng.zhang@arm.com>
266
267 * Makefile.am (elf32-aarch64.c): Add a #line cpp directive at the
268 beginning of the generated file.
269 (elf64-aarch64.c): Likewise.
270 * Makefile.in: Re-generated.
271
caed7120
YZ
2722013-06-26 Yufeng Zhang <yufeng.zhang@arm.com>
273
274 * Makefile.am (BFD64_BACKENDS): Add elfxx-aarch64.c.
275 (BFD64_BACKENDS_CFILES): Add elfxx-aarch64.lo.
276 * Makefile.in: Re-generated.
277 * configure.in (bfd_elf64_bigaarch64_vec): Add elfxx-aarch64.lo.
278 (bfd_elf64_littleaarch64_vec): Likewise.
279 (bfd_elf32_bigaarch64_vec): Likewise.
280 (bfd_elf32_littleaarch64_vec): Likewise.
281 * configure: Re-generated.
282 * elfxx-aarch64.c: New file; split from elf64-aarch64.c.
283 * elfxx-aarch64.h: New file.
284 * elfnn-aarch64.c: Include "elfxx-aarch64.h"; move the following
285 stuff to elfxx-aarch64.c.
286 (bfd_elf_aarch64_put_addend): Removed.
287 (PG_OFFSET, PG): Likewise.
288 (elfNN_aarch64_small_plt0_entry): Support ELF32.
289 (elfNN_aarch64_tlsdesc_small_plt_entry): Likewise.
290 (elf64_aarch64_grok_prstatus): Removed.
291 (elf_backend_grok_prstatus): Removed.
292 (insn32): Likewise.
293 (aarch64_unsigned_overflow): Likewise.
294 (aarch64_signed_overflow): Likewise.
295 (aarch64_resolve_relocation): Likewise.
296 (MASK): Likewise.
297 (decode_branch_ofs_26): Likewise.
298 (decode_cond_branch_ofs_19): Likewise.
299 (decode_ld_lit_ofs_19): Likewise.
300 (decode_tst_branch_ofs_14): Likewise.
301 (decode_movw_imm): Likewise.
302 (decode_adr_imm): Likewise.
303 (decode_add_imm): Likewise.
304 (reencode_branch_ofs_26): Likewise.
305 (reencode_cond_branch_ofs_19): Likewise.
306 (reencode_ld_lit_ofs_19): Likewise.
307 (reencode_tst_branch_ofs_14): Likewise.
308 (reencode_movw_imm): Likewise.
309 (reencode_adr_imm): Likewise.
310 (reencode_ldst_pos_imm): Likewise.
311 (reencode_add_imm): Likewise.
312 (reencode_movzn_to_movz): Likewise.
313 (reencode_movzn_to_movn): Likewise.
314 (aarch64_relocate): Update to call the new function names in
315 elfxx-aarch64.c.
316 (aarch64_calculate_got_entry_vma): Likewise.
317 (elfNN_aarch64_final_link_relocate): Likewise.
318 (elf64_aarch64_update_plt_entry): Likewise; change the type of the
319 parameter 'r_type' to bfd_reloc_code_real_type; rename to ...
320 (elf_aarch64_update_plt_entry): ... this.
321 (elfNN_aarch64_create_small_pltn_entry): Update.
322 (elfNN_aarch64_init_small_plt0_entry): Remove plt_got_base; add
323 bfd_vma plt_got_2nd_ent; update to call elf_aarch64_update_plt_entry.
324 (elfNN_aarch64_finish_dynamic_sections): Add plt_entry; update to
325 call elf_aarch64_update_plt_entry.
326
a6bb11b2
YZ
3272013-06-26 Yufeng Zhang <yufeng.zhang@arm.com>
328
329 * bfd-in2.h: Re-generated.
330 * elfnn-aarch64.c (HOWTO64, HOWTO32): New define.
331 (IS_AARCH64_TLS_RELOC): Change to be based on the
332 bfd reloc enumerators.
333 (IS_AARCH64_TLSDESC_RELOC): Likewise.
334 (PG, PG_OFFSET): Cast literal to bfd_vma.
335 (elf64_aarch64_howto_table): Removed.
336 (elf64_aarch64_howto_dynrelocs): Removed.
337 (elf64_aarch64_tls_howto_table): Removed.
338 (elf64_aarch64_tlsdesc_howto_table): Removed.
339 (elfNN_aarch64_howto_table): New table to host all howto entires..
340 (R_AARCH64_*): Replaced by AARCH64_R (*) and AARCH64_R_STR (*).
341 (elfNN_aarch64_bfd_reloc_from_howto): New function.
342 (elfNN_aarch64_bfd_reloc_from_type): Ditto.
343 (struct elf_aarch64_reloc_map): New.
344 (elf_aarch64_reloc_map): New table.
345 (elfNN_aarch64_howto_from_bfd_reloc): New function.
346 (elfNN_aarch64_howto_from_type): Update to look up the new table
347 elfNN_aarch64_howto_table.
348 (struct elf64_aarch64_reloc_map): Remove.
349 (elf64_aarch64_reloc_map): Remove.
350 (elfNN_aarch64_reloc_type_lookup): Change to call
351 elfNN_aarch64_howto_from_bfd_reloc.
352 (elfNN_aarch64_reloc_name_lookup): Change to look up the new table
353 elfNN_aarch64_howto_table.
354 (aarch64_resolve_relocation): Refactor to switch on the bfd
355 reloc enumerators.
356 (bfd_elf_aarch64_put_addend): Likewise.
357 (elfNN_aarch64_final_link_relocate): Likewise.
358 (aarch64_tls_transition_without_check): Likewise.
359 (aarch64_reloc_got_type): Likewise.
360 (aarch64_can_relax_tls): Likewise.
361 (aarch64_tls_transition): Likewise.
362 (elfNN_aarch64_tls_relax): Likewise.
363 (elfNN_aarch64_final_link_relocate): Likewise.
364 (elfNN_aarch64_relocate_section): Likewise.
365 (elfNN_aarch64_gc_sweep_hook): Likewise.
366 (elfNN_aarch64_check_relocs): Likewise.
367 (aarch64_tls_transition): Change to return a bfd reloc enumerator.
368 * libbfd.h: Re-generated.
369 * reloc.c: Re-order the AArch64 bfd reloc enumerators.
370 (BFD_RELOC_AARCH64_RELOC_START)
371 (BFD_RELOC_AARCH64_RELOC_END)
372 (BFD_RELOC_AARCH64_LD_GOT_LO12_NC)
373 (BFD_RELOC_AARCH64_LD32_GOT_LO12_NC)
374 (BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC)
375 (BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC)
376 (BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_LO12_NC)
377 (BFD_RELOC_AARCH64_TLSIE_LD32_GOTTPREL_LO12_NC)
378 (BFD_RELOC_AARCH64_IRELATIVE): New relocs.
379
cec5225b
YZ
3802013-06-26 Yufeng Zhang <yufeng.zhang@arm.com>
381
382 * Makefile.am (BFD64_BACKENDS): Add elf32-aarch64.lo.
383 (BUILD_CFILES): Add elf32-aarch64.c.
384 (elf32-aarch64.c): New rule for generating from elfnn-aarch64.c.
385 * Makefile.in: Re-generated.
386 * archures.c (bfd_mach_aarch64_ilp32): New define.
387 * bfd-in.h (bfd_elf32_aarch64_init_maps): New declaration.
388 (bfd_elf32_aarch64_set_options): Ditto.
389 (elf32_aarch64_setup_section_lists): Ditto.
390 (elf32_aarch64_next_input_section): Ditto.
391 (elf32_aarch64_size_stubs): Ditto.
392 (elf32_aarch64_build_stubs): Ditto.
393 * bfd-in2.h: Re-generated.
394 * config.bfd (aarch64-*-elf): Add bfd_elf32_littleaarch64_vec
395 and bfd_elf32_bigaarch64_vec.
396 (aarch64-*-linux*): Likewise.
397 (aarch64_be-*-elf): Likewise.
398 (aarch64_be-*-linux*): Likewise.
399 * configure.in (bfd_elf32_bigaarch64_vec)
400 (bfd_elf32_littleaarch64_vec): New.
401 * configure: Re-generated.
402 * cpu-aarch64.c (compatible): Don't allow mixing ilp32 objects with
403 lp64 ones.
404 (bfd_aarch64_arch_ilp32): New.
405 (bfd_aarch64_arch): Link to bfd_aarch64_arch_ilp32.
406 * elfnn-aarch64.c (ARCH_SIZE): New define.
407 (AARCH64_R, AARCH64_R_STR, LOG_FILE_ALIGN): New defines.
408 (GOT_ENTRY_SIZE): Re-define as (ARCH_SIZE / 8).
409 (elf64_aarch64_*): Rename to elfNN_aarch64_*.
410 (ELF64_R_*): Rename to ELFNN_R_*.
411 Plus other paramaterization.
412 * targets.c (bfd_elf32_bigaarch64_vec, bfd_elf32_littleaarch64_vec):
413 New declarations.
414 (_bfd_target_vector): Add bfd_elf32_bigaarch64_vec and
415 bfd_elf32_littleaarch64_vec.
416
81197114
YZ
4172013-06-26 Yufeng Zhang <yufeng.zhang@arm.com>
418
419 * Makefile.am (BFD64_BACKENDS_CFILES): Remove elf64-aarch64.c.
420 (BUILD_CFILES): Add elf64-aarch64.c.
421 (elf64-aarch64.c): New rule for generating from elfnn-aarch64.c.
422 * Makefile.in: Re-generated.
423 * elf64-aarch64.c: Rename to ...
424 * elfnn-aarch64.c: ... this.
425
833794fc
MR
4262013-06-25 Maciej W. Rozycki <macro@codesourcery.com>
427 Paul Brook <paul@codesourcery.com>
428
429 * elfxx-mips.h (_bfd_mips_elf_insn32): New prototype.
430 * elfxx-mips.c (mips_elf_link_hash_table): Add insn32 member.
431 (STUB_MOVE32_MICROMIPS, STUB_JALR32_MICROMIPS): New macros.
432 (MICROMIPS_INSN32_FUNCTION_STUB_NORMAL_SIZE): Likewise.
433 (MICROMIPS_INSN32_FUNCTION_STUB_BIG_SIZE): Likewise.
434 (micromips_insn32_o32_exec_plt0_entry): New variable.
435 (micromips_insn32_o32_exec_plt_entry): Likewise.
436 (_bfd_mips_elf_adjust_dynamic_symbol): Handle insn32 mode.
437 (mips_elf_estimate_stub_size): Likewise.
438 (_bfd_mips_elf_size_dynamic_sections): Likewise.
439 (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
440 (mips_finish_exec_plt): Likewise.
441 (_bfd_mips_elf_relax_section): Likewise.
442 (_bfd_mips_elf_insn32): New function.
443 (_bfd_mips_elf_get_synthetic_symtab): Handle insn32 PLT.
444
1bbce132
MR
4452013-06-24 Maciej W. Rozycki <macro@codesourcery.com>
446
447 * elfxx-mips.h (_bfd_mips_elf_get_synthetic_symtab): New
448 prototype.
449 * elf32-mips.c (elf_backend_plt_sym_val): Remove macro.
450 (bfd_elf32_get_synthetic_symtab): New macro.
451 * elfxx-mips.c (plt_entry): New structure.
452 (mips_elf_link_hash_entry): Add use_plt_entry member.
453 (mips_elf_link_hash_table): Rename plt_entry_size member to
454 plt_mips_entry_size. Add plt_comp_entry_size, plt_mips_offset,
455 plt_comp_offset, plt_got_index entries and plt_header_is_comp
456 members.
457 (STUB_LW_MICROMIPS, STUB_MOVE_MICROMIPS): New macros.
458 (STUB_LUI_MICROMIPS, STUB_JALR_MICROMIPS): Likewise.
459 (STUB_ORI_MICROMIPS, STUB_LI16U_MICROMIPS): Likewise.
460 (STUB_LI16S_MICROMIPS): Likewise.
461 (MICROMIPS_FUNCTION_STUB_NORMAL_SIZE): Likewise.
462 (MICROMIPS_FUNCTION_STUB_BIG_SIZE): Likewise.
463 (micromips_o32_exec_plt0_entry): New variable.
464 (mips16_o32_exec_plt_entry): Likewise.
465 (micromips_o32_exec_plt_entry): Likewise.
466 (mips_elf_link_hash_newfunc): Initialize use_plt_entry.
467 (mips_elf_output_extsym): Update to use gotplt_union's plist
468 member rather than offset.
469 (mips_elf_gotplt_index): Likewise. Remove the VxWorks
470 restriction. Use MIPS_ELF_GOT_SIZE to calculate GOT address.
471 (mips_elf_count_got_symbols): Update to use gotplt_union's plist
472 member rather than offset.
473 (mips_elf_calculate_relocation): Handle MIPS16/microMIPS PLT
474 entries.
475 (_bfd_mips_elf_create_dynamic_sections): Don't set PLT sizes
476 here.
477 (mips_elf_make_plt_record): New function.
478 (_bfd_mips_elf_check_relocs): Update comment. Record occurences
479 of JAL relocations that might need a PLT entry.
480 (_bfd_mips_elf_adjust_dynamic_symbol): Update to use
481 gotplt_union's plist member rather than offset. Set individual
482 PLT entry sizes here. Handle MIPS16/microMIPS PLT entries.
483 Don't set the symbol's value in the symbol table for PLT
484 references here. Don't set the PLT or PLT GOT section sizes
485 here.
486 (mips_elf_estimate_stub_size): Handle microMIPS stubs.
487 (mips_elf_allocate_lazy_stub): Likewise.
488 (mips_elf_lay_out_lazy_stubs): Likewise. Define a _MIPS_STUBS_
489 magic symbol.
490 (mips_elf_set_plt_sym_value): New function.
491 (_bfd_mips_elf_size_dynamic_sections): Set PLT header size and
492 PLT and PLT GOT section sizes here. Set the symbol values in
493 the symbol table for PLT references here. Handle microMIPS
494 annotation of the _PROCEDURE_LINKAGE_TABLE_ magic symbol.
495 (_bfd_mips_elf_finish_dynamic_symbol): Update to use
496 gotplt_union's plist member rather than offset. Handle
497 MIPS16/microMIPS PLT entries. Handle microMIPS stubs.
498 (_bfd_mips_vxworks_finish_dynamic_symbol): Update to use
499 gotplt_union's plist member rather than offset. Use
500 MIPS_ELF_GOT_SIZE to calculate GOT address.
501 (mips_finish_exec_plt): Handle microMIPS PLT. Return status.
502 (_bfd_mips_elf_finish_dynamic_sections): Handle result from
503 mips_finish_exec_plt.
504 (_bfd_mips_elf_link_hash_table_create): Update to use
505 gotplt_union's plist member rather than offset.
506 (_bfd_mips_elf_get_synthetic_symtab): New function.
507
cd6d434c
NC
5082013-06-24 Wawa <caojinyu@msn.com>
509
510 PR 15657
511 * hash.c (_bfd_stringtab_add): Copy the string if COPY is true.
512
42429eac
RS
5132013-06-23 Richard Sandiford <rdsandiford@googlemail.com>
514
515 * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Move MIPS ELF
516 files to...
517 (BFD64_BACKENDS, BFD64_BACKENDS_CFILES): ...here.
518 * Makefile.in: Regenerate.
519 * config.bfd: Enclose all MIPS ELF targets in #ifdef BFD64.
520 Set want64 to true for them at the end.
521 * targets.c (_bfd_target_vector): Protect MIPS ELF targets with
522 #ifdef BFD64.
523
12d83431
SL
5242013-06-22 Sandra Loosemore <sandra@codesourcery.com>
525
526 * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Don't
527 set sh_entsize for PLT section.
528
b9eead84
YZ
5292013-06-20 Yufeng Zhang <yufeng.zhang@arm.com>
530
531 * bfd-in.h (bfd_elf64_aarch64_set_options): Add 'extern'.
532 * bfd-in2.h: Re-generated.
533 * elf64-aarch64.c (RELOC_SECTION): Removed.
534 (SWAP_RELOC_IN, SWAP_RELOC_OUT): Ditto.
535 (AARCH64_ELF_OS_ABI_VERSION): Ditto.
536 (elf64_aarch64_link_hash_traverse): Ditto.
537 (elf64_aarch64_size_stubs): Change 'Aarch64' to 'AArch64' in the
538 comment.
539
8847944f
WN
5402013-06-19 Will Newton <will.newton@linaro.org>
541
542 * configure: Regenerated.
543 * configure.in: Remove aarch64 dependency on elf-ifunc.c.
544 * elf64-aarch64.c: Remove objalloc.h include.
545 (elf64_aarch64_howto_dynrelocs): Remove R_AARCH64_IRELATIVE howto.
546 (struct elf64_aarch64_link_hash_table): Remove ifunc related
547 members. (elf_aarch64_local_htab_hash): Remove function.
548 (elf_aarch64_local_htab_eq): Remove function.
549 (elf_aarch64_get_local_sym_hash): Remove function.
550 (elf64_aarch64_link_hash_table_create): Remove local hash
551 table initialization.
552 (elf64_aarch64_final_link_relocate): Remove sym argument and
553 handling of ifunc symbols.
554 (elf64_aarch64_relocate_section): Don't pass sym argument to
555 elf64_aarch64_final_link_relocate.
556 (elf64_aarch64_gc_sweep_hook): Remove handling of ifunc symbols.
557 (elf64_aarch64_adjust_dynamic_symbol): Likewise.
558 (elf64_aarch64_check_relocs): Likewise.
559 (elf64_aarch64_post_process_headers): Remove call to
560 _bfd_elf_set_osabi.
561 (elf64_aarch64_is_function_type): New function.
562 (elf64_aarch64_allocate_dynrelocs): Remove handling of ifunc
563 symbols. (elf_aarch64_allocate_local_dynrelocs): Remove function.
564 (elf64_aarch64_size_dynamic_sections): Remove call to
565 elf_aarch64_allocate_local_dynrelocs.
566 (elf64_aarch64_create_small_pltn_entry): Remove info argument.
567 Remove creation of R_AARCH64_IRELATIVE dynamic relocs.
568 (elf64_aarch64_finish_dynamic_symbol): Remove handling of ifunc
569 symbols. (elf_aarch64_finish_local_dynamic_symbol): Remove
570 function. (elf64_aarch64_finish_dynamic_sections): Remove call to
571 elf_aarch64_finish_local_dynamic_symbol.
572 (elf64_aarch64_add_symbol_hook): Remove function.
573
2532064a
YZ
5742013-06-14 Yufeng Zhang <yufeng.zhang@arm.com>
575
576 * elf64-aarch64.c (elf64_aarch64_final_link_relocate): Call
577 aarch64_resolve_relocation and bfd_elf_aarch64_put_addend to
578 handle the relocations of R_AARCH64_JUMP26, R_AARCH64_CALL26,
579 R_AARCH64_LD64_GOT_LO12_NC, R_AARCH64_ADR_GOT_PAGE and
580 R_AARCH64_GOT_LD_PREL19.
581
2f47f5fc
NC
5822013-06-13 Terry Guo <terry.guo@arm.com>
583
584 PR ld/15302
585 * elf32-arm.c (allocate_dynrelocs_for_symbol): Transform
586 ST_BRANCH_TO_ARM into ST_BRANCH_TO_THUMB if the target only
587 supports thumb instructions.
588
34064ff3
DD
5892013-06-11 DJ Delorie <dj@redhat.com>
590
591 * elf32-rl78.c (rl78_elf_relocate_section): Fix OPsub math.
592
3368874f
WN
5932013-06-11 Will Newton <will.newton@linaro.org>
594
595 * elf64-aarch64.c (elf_aarch64_get_local_sym_hash): Use
596 ELF64_R_SYM instead of ELF32_R_SYM.
597
47fc0f1f
NC
5982013-06-11 Nick Clifton <nickc@redhat.com>
599
600 * elf32-rl78.c (rl78_elf_finish_dynamic_sections): Onlly run
601 checks if the dynamic sections have been created and relaxation
602 has not been performed.
603
692e2b8b
WN
6042013-06-07 Will Newton <will.newton@linaro.org>
605
606 * configure: Regenerate.
607 * configure.in: Build elf-ifunc.o for AArch64.
608 * elf64-aarch64.c: Include objalloc.h.
609 (elf64_aarch64_howto_dynrelocs): Add R_AARCH64_IRELATIVE howto.
610 (struct elf64_aarch64_link_hash_table): Add members for handling
611 R_AARCH64_IRELATIVE relocations.
612 (elf_aarch64_local_htab_hash): New function.
613 (elf_aarch64_local_htab_eq): New function.
614 (elf_aarch64_get_local_sym_hash): New function.
615 (elf64_aarch64_link_hash_table_create): Initialize local STT_GNU_IFUNC
616 symbol hash.
617 (elf64_aarch64_hash_table_free): Free local STT_GNU_IFUNC symbol hash.
618 (elf64_aarch64_final_link_relocate): Add sym argument. Add support
619 for handling STT_GNU_IFUNC symbols.
620 (elf64_aarch64_gc_sweep_hook): Add support for garbage collecting
621 references to STT_GNU_IFUNC symbols.
622 (elf64_aarch64_adjust_dynamic_symbol): Add support for handling
623 STT_GNU_IFUNC symbols.
624 (elf64_aarch64_check_relocs): Add support for handling STT_GNU_IFUNC
625 symbols. Ensure we don't increase plt.refcount from -1 to 0.
626 (elf64_aarch64_post_process_headers): Call _bfd_elf_set_osabi.
627 (elf64_aarch64_is_function_type): Remove function.
628 (elf64_aarch64_allocate_dynrelocs): Call
629 _bfd_elf_allocate_ifunc_dyn_relocs for STT_GNU_IFUNC symbols.
630 (elf_aarch64_allocate_local_dynrelocs): New function.
631 (elf64_aarch64_size_dynamic_sections): Call
632 elf_aarch64_allocate_local_dynrelocs. Initialize next_irelative_index.
633 (elf64_aarch64_create_small_pltn_entry): Add info argument.
634 Add support for creating .iplt entries for STT_GNU_IFUNC symbols.
635 (elf64_aarch64_finish_dynamic_symbol): Add support for handling
636 STT_GNU_IFUNC symbols and .iplt.
637 (elf_aarch64_finish_local_dynamic_symbol): New function.
638 (elf64_aarch64_finish_dynamic_sections): Call
639 elf_aarch64_finish_local_dynamic_symbol.
640 (elf64_aarch64_add_symbol_hook): New function.
641
fa549f3b
AM
6422013-06-03 Alan Modra <amodra@gmail.com>
643
644 * syms.c (_bfd_stab_section_find_nearest_line): Add last_str
645 var. Use it with last_stab.
646
067ec077
CM
6472013-05-30 Paul Brook <paul@codesourcery.com>
648
649 * bfd-in2.h: Regenerate.
650 * elf32-mips.c (elf_mips_eh_howto): New.
651 (bfd_elf32_bfd_reloc_type_lookup ): Support BFD_RELOC_MIPS_EH.
652 (bfd_elf32_bfd_reloc_name_lookup): Likewise.
653 (mips_elf32_rtype_to_howto): Support R_MIPS_EH.
654 * elf64-mips.c (elf_mips_eh_howto): New.
655 (bfd_elf64_bfd_reloc_type_lookup): Support BFD_RELOC_MIPS_EH.
656 (bfd_elf64_bfd_reloc_name_lookup): Likewise.
657 (mips_elf64_rtype_to_howto): Support R_MIPS_EH.
658 * libbfd.h: Regenerate.
659 * reloc.c (BFD_RELOC_MIPS_EH): New.
660
95e34fb4
NC
6612013-05-29 Nick Clifton <nickc@redhat.com>
662
663 * dwarf2.c (struct dwarf2_debug): Add fields for handling
664 alternate debug info source.
665 (dwarf_debug_sections): Add entries for alternate .debug_str and
666 .debug_info sections.
667 (dwarf_debug_section_enum): Likewise.
668 (read_alt_indirect_string): New function. Handles a
669 DW_FORM_GNU_strp_alt attribute.
670 (read_alt_indirect_ref): New function. Handles a
671 DW_FORM_GNU_ref_alt attribute.
672 (read_attribute_value): Process DW_FORM_GNU_ref_alt and
673 DW_FORM_GNU_strp_alt.
674 (find_abstract_instance_name): Handle DW_FORM_GNU_ref_alt
675 attributes.
676 (_bfd_dwarf2_cleanup_debug_info): Free alternate debug info
677 sources.
678 * opncls.c (GNU_DEBUGALTLINK): Define.
679 (bfd_get_alt_debug_link_info): New function.
680 (separate_alt_debug_file_exists): New function.
681 (find_separate_debug_file): Add parameters for fetch and check
682 functions.
683 (bfd_follow_gnu_debugaltlink): New function.
684 * bfd-in2.h: Regenerate.
685
418009c2
YZ
6862013-05-28 Yufeng Zhang <yufeng.zhang@arm.com>
687
688 * reloc.c (BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE): Rename to ...
689 (BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21): ... this.
690 (BFD_RELOC_AARCH64_TLSDESC_LD64_PREL19): Rename to ...
691 (BFD_RELOC_AARCH64_TLSDESC_LD_PREL19): ... this.
692 * bfd-in2.h: Regenerate.
693 * libbfd.h: Regenerate.
694 * elf64-aarch64.c (IS_AARCH64_TLSDESC_RELOC): Update to use
695 the correct names.
696 (elf64_aarch64_tlsdesc_howto_table): Likewise.
697 (elf64_aarch64_reloc_map): Likewise.
698 (aarch64_resolve_relocation): Likewise.
699 (bfd_elf_aarch64_put_addend): Likewise.
700 (aarch64_tls_transition_without_check): Likewise.
701 (aarch64_reloc_got_type): Likewise.
702 (elf64_aarch64_final_link_relocate): Likewise.
703 (elf64_aarch64_tls_relax): Likewise.
704 (elf64_aarch64_relocate_section): Likewise.
705 (elf64_aarch64_gc_sweep_hook): Likewise.
706 (elf64_aarch64_check_relocs): Likewise.
707
9d782e8d
MW
7082013-05-26 Mark Wielaard <mjw@redhat.com>
709
710 * cache.c (BFD_CACHE_MAX_OPEN): Remove define.
711 (max_open_files): New static int initialized to zero.
712 (bfd_cache_max_open): New static function to set and return
713 max_open_files.
714 (bfd_cache_init): Use bfd_cache_max_open.
715 (bfd_open_file): Likewise.
716 * configure.in (AC_CHECK_HEADERS): Add sys/resource.h.
717 (AC_CHECK_FUNCS): Add getrlimit.
718 * configure: Regenerated.
719 * config.in: Likewise.
720 * sysdep.h: Check and include sys/resource.h for getrlimit.
721
03ae2d5e
AM
7222013-05-23 Alan Modra <amodra@gmail.com>
723
724 * format.c (bfd_check_format_matches): Don't match a target in
725 targ_selvecs if some other target is a better match. If
726 targets implement match priority, fall back to the first of
727 the best matches.
728
ad3d9127
AM
7292013-05-22 Eric Herman <eric@freesa.org>
730
731 PR binutils/15462
732 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Warning fix.
733
5b3905f1
AM
7342013-05-22 Ralf Dreesen <gamma@dreesen.net>
735
736 PR binutils/15474
737 * srec.c (srec_set_section_contents): Properly convert size
738 and offset to address when octets_per_byte is not unity.
739
8be65dd3
MR
7402013-05-20 Maciej W. Rozycki <macro@linux-mips.org>
741
742 * elf32-vax.c (elf_vax_instantiate_got_entries): Only set the
743 refcount member of the gotplt_union when resetting the reference
744 count. Adjust comment.
745
593f8f29
WN
7462013-05-20 Will Newton <will.newton@linaro.org>
747
748 * elf64-aarch64.c (elf64_aarch64_link_hash_entry): Remove
749 relocs_copied member.
750 (elf64_aarch64_link_hash_newfunc): Remove initialization of
751 relocs_copied member.
752 (elf64_aarch64_copy_indirect_symbol): Remove code to copy
753 relocs_copied member.
754
a0f0eb1e
MR
7552013-05-19 Maciej W. Rozycki <macro@linux-mips.org>
756
757 * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Convert K&R
758 function definition.
759
af65e588
CC
7602013-05-16 Cary Coutant <ccoutant@google.com>
761
762 * ecoff.c (ecoff_link_check_archive_element): Add initializers for
763 external_ext_size and esize.
764
9f6e76f4
TG
7652013-05-16 Tristan Gingold <gingold@adacore.com>
766
767 * coff-rs6000.c (_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_16.
768 * coff64-rs6000.c (xcoff64_reloc_type_lookup): Likewise.
769
c495064d
AS
7702013-05-15 Andreas Schwab <schwab@suse.de>
771
772 * elf64-aarch64.c (elf_backend_default_execstack): Define to 0.
773
110a61d3
JB
7742013-05-10 Joel Brobecker <brobecker@adacore.com>
775
776 * coffcode.h (styp_to_sec_flags) [RS6000COFF_C]: Add handling
777 of STYP_EXCEPT, STYP_LOADER and STYP_TYPCHK sections.
778
ceae87f3
JB
7792013-05-09 Joel Brobecker <brobecker@adacore.com>
780
781 * bfd.c (_bfd_default_error_handler): Replace use of putc
782 by fputc. Add comment explaining why.
783
012b2306
AM
7842013-05-09 Alan Modra <amodra@gmail.com>
785
786 * elflink.c (elf_link_add_object_symbols): Don't omit reading
787 of symbols when hashes already exist.
788
7b70956d
WN
7892013-05-07 Will Newton <will.newton@linaro.org>
790
791 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Add a
792 plt_header_size argument for ports where it differs from
793 plt_entry_size.
794 * elf-bfd.h: Likewise.
795 * elf32-i386.c: Pass plt_header_size to
796 _bfd_elf_allocate_ifunc_dyn_relocs.
797 * elf64-x86-64.c: Likewise.
798
1ee9e8b3
WN
7992013-05-07 Will Newton <will.newton@linaro.org>
800
012b2306 801 * elf-ifunc.c (_bfd_elf_create_ifunc_dyn_reloc): Remove unused
1ee9e8b3
WN
802 function.
803 * elf-bfd.h: Likewise.
804
b47468a6
CM
8052013-05-06 Paul Brook <paul@codesourcery.com>
806
012b2306
AM
807 * elf64-mips.c (elf_mips_gnu_pcrel32): New.
808 (bfd_elf64_bfd_reloc_type_lookup, bfd_elf64_bfd_reloc_name_lookup,
809 mips_elf64_rtype_to_howto): Handle R_MIPS_PC32.
810 * elfn32-mips.c (elf_mips_gnu_pcrel32): New.
811 (bfd_elfn32_bfd_reloc_type_lookup, bfd_elfn32_bfd_reloc_name_lookup,
812 mips_elfn32_rtype_to_howto): Handle R_MIPS_PC32.
b47468a6 813
128205bb
AM
8142013-05-06 Alan Modra <amodra@gmail.com>
815
816 * elf64-ppc.c (opd_entry_value): Handle case where symbol
817 hashes are not available.
818
f45794cb
AM
8192013-05-06 Alan Modra <amodra@gmail.com>
820
821 * elflink.c (elf_link_add_object_symbols): Don't save symbol
822 hashes around loading as-needed library. Zero them on allocation,
823 and restore to initial all-zero state if library not needed.
824 Arrange to reuse hashes if we load library again later.
825
d150b1a2
RS
8262013-05-04 Richard Sandiford <rdsandiford@googlemail.com>
827
828 * elf32-mips.c (elf_mips_copy_howto, elf_mips_jump_slot_howto):
829 Use _bfd_mips_elf_generic_reloc instead of bfd_elf_generic_reloc.
830 * elfn32-mips.c: Likewise.
831 * elf64-mips.c: Likewise.
832
13761a11
NC
8332013-05-02 Nick Clifton <nickc@redhat.com>
834
835 * archures.c: Add some more MSP430 machine numbers.
836 * config.bfd (msp430): Define targ_selvecs.
837 * configure.in: Add bfd_elf32_msp430_ti_vec.
838 * cpu-msp430.c: Add some more MSP430 machine numbers.
839 * elf32-msp430.c Add support for MSP430X relocations.
840 Add support for TI compiler generated relocations.
841 Add support for sym_diff relocations.
842 Add support for relaxing out of range short branches into long
843 branches.
844 Add support for MSP430 attribute section.
845 * reloc.c: Add MSP430X relocations.
846 * targets.c: Add bfd_elf32_msp430_ti_vec.
847 * bfd-in2.h: Regenerate.
848 * configure: Regenerate.
849 * libbfd.h: Regenerate.
850
df26367c
MR
8512013-05-01 Maciej W. Rozycki <macro@codesourcery.com>
852
853 * config.bfd: Replace alpha*-*-linuxecoff* pattern with
854 alpha*-*-linux*ecoff*.
855
ed54588d
NC
8562013-04-30 Olaf Flebbe <o.flebbe@science-computing.de>
857
858 PR binutils/15417
859 * elflink.c (elf_link_add_object_symbols): Initialise 'idx' to
860 zero.
861
b8297068
AM
8622013-04-30 Alan Modra <amodra@gmail.com>
863
864 * elflink.c (bfd_elf_record_link_assignment): Dont make
865 STV_INTERNAL symbols STV_HIDDEN.
866
b40bf0a2
NC
8672013-04-29 Nick Clifton <nickc@redhat.com>
868
869 * elflink.c (_bfd_elf_gc_mark_extra_sections): Remove mark from
870 fragmented .debug_line sections associated with unmarked code
871 sections.
872
aba8c3de
WN
8732013-04-29 Will Newton <will.newton@linaro.org>
874
875 * elf32-arm.c (elf32_arm_populate_plt_entry): Call
876 elf32_arm_add_dynreloc when emitting R_ARM_IRELATIVE relocs.
877
7fcfd62d
NC
8782013-04-29 Will Newton <will.newton@linaro.org>
879
880 * elf64-aarch64.c (elf64_aarch64_check_relocs): Move relocation
881 error check up and add error message.
882
ed5acf27
WN
8832013-04-26 Will Newton <will.newton@linaro.org>
884
885 * elf64-aarch64.c (elf64_aarch64_check_relocs): Remove dead code.
886
49926cd0
AM
8872013-04-25 Alan Modra <amodra@gmail.com>
888
889 * config.bfd: Add powerpc64le-linux.
890
05567e3d
L
8912013-04-24 H.J. Lu <hongjiu.lu@intel.com>
892
893 * config.bfd (targ_selvecs): Add bfd_elf32_x86_64_vec for
894 x86_64-*-elf*.
895
99059e56
RM
8962013-04-24 Roland McGrath <mcgrathr@google.com>
897
898 * elf32-arm.c (elf32_arm_allocate_plt_entry): If HTAB->nacl_p,
899 allocate space for PLT header even if IS_IPLT_ENTRY.
900 (arm_nacl_put_plt0): New function, broken out of ...
901 (elf32_arm_finish_dynamic_sections): ... here. Call it.
902 If HTAB->nacl_p, set up the PLT header in .iplt too.
903 (elf32_arm_output_arch_local_syms): If HTAB->nacl_p, write
904 a mapping symbol for the start of .iplt too.
905
544008aa
NC
9062013-04-19 Luca Pizzamiglio <luca.pizzamiglio@gmail.com>
907
7b5d8d96
NC
908 * ecoff.c (_bfd_ecoff_sizeof_headers): Cast the return value of
909 BFD_ALIGN to int.
910 * elf32-tic6x.c (elf32_tic6x_size_dynamic_sections): Remove unused
911 variables.
912 * elf32-v850.c (v850_elf_relax_section): Redefine the type of 'i'
913 to bfd_vma.
914 * vms-alpha.c (evax_bfd_print_etir): Initialize sec_len.
544008aa 915
86f7d49b
AM
9162013-04-22 Alan Modra <amodra@gmail.com>
917
918 PR ld/15382
919 * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Don't multiply
920 sh_size or reloc_count adjustment by count.
921
bfeb4a28
AM
9222013-04-22 Alan Modra <amodra@gmail.com>
923
924 * elf64-ppc.c (ppc64_elf_check_relocs): Don't call
925 create_linkage_sections here..
926 (ppc64_elf_init_stub_bfd): ..do so here. Return status.
927 (create_linkage_sections): Move earlier in file.
928 (ppc64_elf_setup_section_lists): Remove now useless htab->brlt test.
929 * elf64-ppc.h (ppc64_elf_init_stub_bfd): Update proto.
930
2d0a6933
NC
9312013-04-19 Nick Clifton <nickc@redhat.com>
932
933 PR binutils/15356
934 * compress.c (decompress_contents): Always call inflateEnd, even
935 when another inflation operation fails.
936
a9ea330b
L
9372013-04-17 H.J. Lu <hongjiu.lu@intel.com>
938
939 * elf-ifunc.c: Update copyright year.
940
a253d456
NC
9412013-04-17 Luca Pizzamiglio <luca.pizzamiglio@gmail.com>
942
943 * coffcode.h: Added a cast to void when a bfd_set_section_*()
944 macro's return value is ignored.
945 * elf32-hppa.c: Likewise.
946 * elf32-tic6x.c: Likewise.
947 * mach-o.c: Likewise.
948 * mmo.c: Likewise.
949 * opncls.c: Likewise.
950 * peicode.h: Likewise.
951 * elf32-m32r.c: Check return value of bfd_set_section_*().
952 * elfnn-ia64.c: Likewise.
953 * elfxx-mips.c: Likewise.
954 * vms-alpha.c: Likewise.
955
1622ff3b
L
9562013-04-15 H.J. Lu <hongjiu.lu@intel.com>
957
958 PR ld/15371
959 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Check
960 regular reference without non-GOT reference when building
961 shared library.
962
a22cd6f6
AM
9632013-04-15 Alan Modra <amodra@gmail.com>
964
965 * archive.c (_bfd_archive_close_and_cleanup): Clear parent
966 cache slot for archives.
967
ed905580
HPN
9682013-04-14 Hans-Peter Nilsson <hp@bitrange.com>
969
970 * mmo.c (mmo_write_chunk): Break out abfd->tdata.mmo_data to new
971 local variable mmop.
972
8d6a12ee
NC
9732013-04-09 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
974
975 PR ld/12494
976 * bfd/elf32-avr.c: Consider all sections to determine if linker
977 relaxation can safely delete a ret after a call/jmp
978
79bb5c23
NC
9792013-04-09 Mingjie Xing <mingjie.xing@gmail.com>
980
981 * bfd.c (typedef bfd, Error reporting, Miscellaneous): Add
982 INODEs.
983
36192a8d
TT
9842013-04-08 Tom Tromey <tromey@redhat.com>
985
986 * som.c (bfd_section_from_som_symbol): No longer static.
987 * som.h (bfd_section_from_som_symbol): Declare.
988
198f1157
AM
9892013-04-06 Alan Modra <amodra@gmail.com>
990
991 * elf32-ppc.c (ppc_elf_check_relocs): Use SYMBOLIC_BIND.
992 * elf64-ppc.c (ppc64_elf_check_relocs, dec_dynrel_count): Likewise.
993
c69ba956
NC
9942013-04-05 Nick Clifton <nickc@redhat.com>
995
996 * elflink.c (elf_link_add_object_symbols): Revert accidental commit.
997
ff5ac77b
AM
9982013-04-04 Alan Modra <amodra@gmail.com>
999
1000 * bfd.c (bfd_error_type, bfd_errmsgs): Add bfd_error_missing_dso.
1001 * bfd-in2.h: Regenerate.
1002 * elflink.c (elf_link_add_object_symbols): Use new error.
1003
41702d50
NC
10042013-04-03 Nick Clifton <nickc@redhat.com>
1005
1006 * elf32-v850.c (v850_elf_is_target_special_symbol): New function.
1007 (bfd_elf32_bfd_is_target_special_symbol): Define.
1008
cb8af559
NC
10092013-04-03 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
1010
a22cd6f6
AM
1011 * elf64-aarch64.c (elf64_aarch64_gc_sweep_hook): Use
1012 elf64_aarch64_locals to get local GOT reference counts.
cb8af559 1013
1122dc88
DD
10142013-04-02 DJ Delorie <dj@redhat.com>
1015
1016 * elf32-rl78.c (GET_RELOC): Assert that there are relocs to get.
1017 (rl78_elf_relax_section): Only fetch the next reloc if there is
1018 one expected.
1019
81fbe831
AM
10202013-03-30 Alan Modra <amodra@gmail.com>
1021
1022 PR ld/15323
1023 * elf-m10300.c (mn10300_elf_check_relocs): Set non_ir_ref for
1024 global symbols referenced by relocs.
1025 * elf32-arm.c (elf32_arm_check_relocs): Likewise.
1026 * elf32-bfin.c (bfin_check_relocs): Likewise.
1027 * elf32-cr16.c (cr16_elf_check_relocs): Likewise.
1028 * elf32-cris.c (cris_elf_check_relocs): Likewise.
1029 * elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
1030 * elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
1031 * elf32-fr30.c (fr30_elf_check_relocs): Likewise.
1032 * elf32-frv.c (elf32_frv_check_relocs): Likewise.
1033 * elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
1034 * elf32-i370.c (i370_elf_check_relocs): Likewise.
1035 * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
1036 * elf32-lm32.c (lm32_elf_check_relocs): Likewise.
1037 * elf32-m32c.c (m32c_elf_check_relocs): Likewise.
1038 * elf32-m32r.c (m32r_elf_check_relocs): Likewise.
1039 * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
1040 * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
1041 * elf32-mcore.c (mcore_elf_check_relocs): Likewise.
1042 * elf32-metag.c (elf_metag_check_relocs): Likewise.
1043 * elf32-microblaze.c (microblaze_elf_check_relocs): Likewise.
1044 * elf32-moxie.c (moxie_elf_check_relocs): Likewise.
1045 * elf32-msp430.c (elf32_msp430_check_relocs): Likewise.
1046 * elf32-mt.c (mt_elf_check_relocs): Likewise.
1047 * elf32-nios2.c (nios2_elf32_check_relocs): Likewise.
1048 * elf32-openrisc.c (openrisc_elf_check_relocs): Likewise.
1049 * elf32-ppc.c (ppc_elf_check_relocs): Likewise.
1050 * elf32-rl78.c (rl78_elf_check_relocs): Likewise.
1051 * elf32-s390.c (elf_s390_check_relocs): Likewise.
1052 * elf32-score.c (s3_bfd_score_elf_check_relocs): Likewise.
1053 * elf32-score7.c (s7_bfd_score_elf_check_relocs): Likewise.
1054 * elf32-sh.c (sh_elf_check_relocs): Likewise.
1055 * elf32-tic6x.c (elf32_tic6x_check_relocs): Likewise.
1056 * elf32-tilepro.c (tilepro_elf_check_relocs): Likewise.
1057 * elf32-v850.c (v850_elf_check_relocs): Likewise.
1058 * elf32-vax.c (elf_vax_check_relocs): Likewise.
1059 * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
1060 * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
1061 * elf64-aarch64.c (elf64_aarch64_check_relocs): Likewise.
1062 * elf64-alpha.c (elf64_alpha_check_relocs): Likewise.
1063 * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
1064 * elf64-ia64-vms.c (elf64_ia64_check_relocs): Likewise.
1065 * elf64-mmix.c (mmix_elf_check_relocs): Likewise.
1066 * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
1067 * elf64-s390.c (elf_s390_check_relocs): Likewise.
1068 * elf64-sh64.c (sh_elf64_check_relocs): Likewise.
1069 * elfnn-ia64.c (elfNN_ia64_check_relocs): Likewise.
1070 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
1071 * elfxx-tilegx.c (tilegx_elf_check_relocs): Likewise.
1072 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise. Don't
1073 test indirect/warning links for NULL.
1074
61315175
L
10752013-03-29 H.J. Lu <hongjiu.lu@intel.com>
1076
1077 PR ld/15323
1078 * elf32-i386.c (elf_i386_check_relocs): Set non_ir_ref if a
81fbe831 1079 symbol is referenced by a non-shared object.
61315175
L
1080 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1081
a6f713fc
KK
10822013-03-28 Joe Seymour <jseymour@codesourcery.com>
1083
1084 * elf32-sh.c (sh_elf_relocate_section): Suppress warnings for
1085 R_SH_REL32 relocations against undefined weak symbols.
1086
19e08130
AM
10872013-03-28 Alan Modra <amodra@gmail.com>
1088
1089 * elf64-ppc.c (struct ppc_dyn_relocs): New.
1090 (ppc64_elf_check_relocs): Separate dynrel counts for local syms
1091 into ifunc and non-ifunc.
1092 (dec_dynrel_count): Pass in sym rather than sym_sec. Handle
1093 separate ifunc/non-ifunc dynrel counts.
1094 (allocate_got): Always use reliplt for ifunc.
1095 (allocate_dynrelocs): Likewise.
1096 (ppc64_elf_size_dynamic_sections): Likewise.
1097 (ppc64_elf_layout_multitoc): Likewise.
1098 (ppc64_elf_relocate_section): Likewise.
1099
f95f8542
AM
11002013-03-28 Alan Modra <amodra@gmail.com>
1101
1102 * elf32-ppc.c (struct ppc_dyn_relocs): New.
1103 (ppc_elf_check_relocs): Separate dynrel counts for local syms
1104 into ifunc and non-ifunc.
1105 (allocate_dynrelocs): Always put ifunc relocs into reliplt.
1106 (ppc_elf_size_dynamic_sections): Likewise.
1107 (ppc_elf_relocate_section): Likewise.
1108
7e612e98
AM
11092013-03-28 Alan Modra <amodra@gmail.com>
1110
1111 * elf-bfd.h (enum elf_reloc_type_class): Add reloc_class_ifunc.
1112 (struct elf_backend_data <elf_backed_reloc_type_class>): Add
1113 bfd_link_info* and asection* params.
1114 (_bfd_elf_reloc_type_class): Likewise.
1115 * elf.c (_bfd_elf_reloc_type_class): Likewise.
1116 * elflink.c (elf_link_sort_cmp2): Sort first on reloc class.
1117 (elf_link_sort_relocs): Update elf_backed_reloc_type_class call.
1118 * elf32-ppc.c (ppc_elf_reloc_type_class): Return reloc_class_ifunc
1119 for any reliplt reloc. Don't return reloc_class_plt for
1120 R_PPC_REL24 and R_PPC_ADDR24.
1121 * elf64-ppc.c (allocate_got): Formatting.
1122 (ppc64_elf_reloc_type_class): Return reloc_class_ifunc for any
1123 reliplt reloc.
1124 * elf-m10300.c, * elf32-arm.c, * elf32-bfin.c, * elf32-cr16.c,
1125 * elf32-cris.c, * elf32-hppa.c, * elf32-i386.c, * elf32-lm32.c,
1126 * elf32-m32r.c, * elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c,
1127 * elf32-s390.c, * elf32-sh.c, * elf32-sparc.c, * elf32-tilepro.c,
1128 * elf32-vax.c, * elf32-xtensa.c, * elf64-aarch64.c, * elf64-alpha.c,
1129 * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-s390.c, * elf64-sparc.c,
1130 * elf64-x86-64.c, * elfnn-ia64.c, * elfxx-tilegx.c, * elfxx-tilegx.h:
1131 Add extra params to the various reloc_type_class functions.
1132
0bed072f
AM
11332013-03-27 Alan Modra <amodra@gmail.com>
1134
1135 * elf32-ppc.c (ppc_elf_check_relocs): Set PLT_IFUNC in local got
1136 masks for all local ifunc syms.
1137 (allocate_dynrelocs): Don't use htab->relgot for ifunc.
1138 (ppc_elf_size_dynamic_sections): Likewise.
1139 (ppc_elf_relocate_section): Likewise.
1140
6f820c85
WN
11412013-03-27 Will Newton <will.newton@linaro.org>
1142
1143 * elf32-arm.c (elf32_arm_final_link_relocate): Avoid emitting a
1144 dynamic reloc for symbols with dynindx == -1.
1145 (allocate_dynrelocs_for_symbol): Avoid allocating space for a
1146 dynamic reloc for symbols with dynindx == -1.
1147
31943882
WN
11482013-03-27 Will Newton <will.newton@linaro.org>
1149
1150 * elf32-arm.c (elf32_arm_final_link_relocate): Avoid emitting a
1151 dynamic reloc for non-default visibility undefined weaks.
1152 (allocate_dynrelocs_for_symbol): Avoid allocating space for a
1153 dynamic reloc for non-default visibility undefined weaks.
1154
ffd65175
AM
11552013-03-26 Alan Modra <amodra@gmail.com>
1156
1157 * elflink.c (_bfd_elf_add_default_symbol): Preserve section
1158 over _bfd_elf_merge_symbol calls.
1159
3a81e825
AM
11602013-03-26 Alan Modra <amodra@gmail.com>
1161
1162 * elflink.c (elf_link_add_object_symbols): Add assertion for
1163 common override alignment check code. Formatting.
1164
4f3fedcf
AM
11652013-03-25 Alan Modra <amodra@gmail.com>
1166
1167 * elflink.c (_bfd_elf_merge_symbol): Set old_alignment for
1168 usual common symbols as well as for dynamic. Add poldbfd param.
1169 Save old bfd. Adjust callers.
1170 (_bfd_elf_add_default_symbol): Add poldbfd param. Pass "section"
1171 and "value" by value, not pointer. Adjust caller.
1172 (elf_link_add_object_symbols): Combine undef_bfd and old_bfd vars.
1173 Delete code to set same. Use old_bfd and old_alignment from
1174 _bfd_elf_merge_symbol instead. Add default symbol before
1175 alignment and size checks. Wrap overlong lines.
1176
e3c9d234
AM
11772013-03-25 Alan Modra <amodra@gmail.com>
1178
1179 * elflink.c (_bfd_elf_add_default_symbol): Delete "override" param.
1180 (elf_link_add_object_symbols): Don't call _bfd_elf_add_default_symbol
1181 when override is true.
1182
6c9b78e6
AM
11832013-03-25 Alan Modra <amodra@gmail.com>
1184
1185 * elflink.c (_bfd_elf_merge_symbol): Use local var holding value
1186 of *sym_hash.
1187
191c0c42
AM
11882013-03-25 Alan Modra <amodra@gmail.com>
1189
1190 * elflink.c (_bfd_elf_merge_symbol): Don't discard TLS symbols here.
1191 Wrap long lines.
1192 (elf_link_add_object_symbols): Discard TLS symbols for --just-syms
1193 early in symbol loop.
1194
5d13b3b3
AM
11952013-03-25 Alan Modra <amodra@gmail.com>
1196
1197 * elf-bfd.h (struct elf_backend_data <merge_symbol>): Update proto.
1198 (_bfd_elf_init_reloc_shdr): Delete.
1199 * elf.c (_bfd_elf_init_reloc_shdr): Make static.
1200 * elf64-x86-64.c (elf_x86_64_merge_symbol): Trim parameters to
1201 just what is needed.
1202 * elflink.c (_bfd_elf_merge_symbol): Update bed->merge_symbol call.
1203
8a56bd02
AM
12042013-03-23 Alan Modra <amodra@gmail.com>
1205
1206 * elf-bfd.h (_bfd_elf_merge_symbol): Delete declaration.
1207 * elflink.c (_bfd_elf_merge_symbol): Make static.
1208 * elf32-sh-symbian.c (sh_symbian_relocate_section): Don't call
1209 _bfd_elf_merge_symbol, call _bfd_generic_link_add_one_symbol.
1210
96f29d96
AM
12112013-03-23 Alan Modra <amodra@gmail.com>
1212
1213 PR ld/15270
1214 * elflink.c (elf_link_add_object_symbols): Don't set def_regular
1215 or ref_regular for BFD_PLUGIN owned syms, or have them affect
1216 def_dynamic/ref_dynamic.
1217 (_bfd_elf_fix_symbol_flags): Don't set def_regular for BFD_PLUGIN
1218 owned syms.
1219
209be8d2
DM
12202013-03-22 David S. Miller <davem@davemloft.net>
1221
1222 * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Set type of
1223 hwcaps attribute.
1224
5c0df484
NC
12252013-03-22 Achille Fouilleul <achille.fouilleul+binutils@gadz.org>
1226
1227 PR ld/14902
1228 * elf32-h8300.c (elf32_h8_relax_delete_bytes): Fix off by one
1229 errors adjusting relocs and symbols.
1230
81f5558e
NC
12312013-03-21 Michael Schewe <michael.schewe@gmx.net>
1232
1233 * elf32-h8300 (h8_relax_section): Add new relaxation of mov
1234 @(disp:32,ERx) to mov @(disp:16,ERx).
1235 (R_H8_DISP32A16): New reloc.
1236 Comments added and corrected.
1237 * reloc.c (BFD_RELOC_H8_DISP32A16): New reloc.
1238 * bfd-in2.h: Regenerate.
1239 * libbfd.h: Regenerate.
1240
ce63b7b3
KT
12412013-03-21 Kai Tietz <ktietz@redhat.com>
1242
1243 * coffgen.c (coff_real_object_p): Make global.
1244 * peicode.h (coff_real_object_p): Add prototype.
1245 (FILHDR): Defined for COFF_IMAGE_WITH_PE as
1246 external_PEI_IMAGE_hdr structure.
1247 (coff_swap_filehdr_in): Handle variable header-size.
1248 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Just handle amount
1249 of directory-entiries as specified in pe-header.
1250
088ca6c1
NC
12512013-03-21 Nick Clifton <nickc@redhat.com>
1252
1253 PR sim/15286
1254 * elf32-arm.c (bfd_arm_get_mach_from_attributes): Identify XScale,
1255 iWMMXt and iWMMXt2 processors from attributes.
1256
8877b5e5
AM
12572013-03-20 Alan Modra <amodra@gmail.com>
1258
1259 * elflink.c (_bfd_elf_make_dynamic_reloc_section): Override
1260 sh_type according to is_rela.
1261
ffa9430d
AM
12622013-03-18 Alan Modra <amodra@gmail.com>
1263
1264 PR ld/12549
1265 * elflink.c (elf_link_add_object_symbols): Exclude weak refs when
1266 considering whether an --as-needed library is needed.
1267
cc0ea93c
TT
12682013-03-14 Tom Tromey <tromey@redhat.com>
1269
1270 * opncls.c (bfd_get_debug_link_info): Rename from
1271 get_debug_link_info. Export. Update comment.
1272 (find_separate_debug_file): Update.
1273 * bfd-in2.h: Rebuild.
1274
59c108f7
NC
12752013-03-08 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
1276
a22cd6f6 1277 * elf64-aarch64.c (elf_backend_can_gc_sections): Enable gc-section
59c108f7 1278 support.
a22cd6f6 1279 (elf64_aarch64_gc_sweep_hook): Handle GOT, TLS and PLT related
59c108f7
NC
1280 relocs.
1281
abb3f6cc
NC
12822013-03-08 Andreas Arnez <arnez@linux.vnet.ibm.com>
1283
1284 * elf-bfd.h (elfcore_write_s390_tdb): Add prototype.
1285 * elf.c (elfcore_write_s390_tdb): New function.
1286 (elfcore_write_register_note): Call it.
1287 (elfcore_grok_s390_tdb): New function.
1288 (elfcore_grok_note): Call it.
1289
af924177
MR
12902013-03-08 Maciej W. Rozycki <macro@codesourcery.com>
1291
1292 * elfxx-mips.c (mips_elf_allocate_lazy_stub): Correct data type.
1293
48385e38
CV
12942013-03-05 Corinna Vinschen <vinschen@redhat.com>
1295
1296 * config.bfd: Add x86_64-*-cygwin to list of supported targets.
1297
f75e0e33
AM
12982013-03-04 Alan Modra <amodra@gmail.com>
1299
1300 * elf32-ppc.c (ppc_elf_relocate_section <R_PPC_PLTREL24>): Adjust
1301 non-zero addends when relocatable, rather than addends >= 32768.
1302 Always zero "addend" before applying relocation.
1303
17e3916e
NC
13042013-03-04 Nick Clifton <nickc@redhat.com>
1305
1306 * archive64.c (bfd_elf64_archive_write_armap): Fix calculation of
1307 file pointer offsets for thin archives.
1308
3064e1ff
JB
13092013-02-28 Nathan Sidwell <nathan@codesourcery.com>
1310
1311 * elf32-arm.c (elf32_arm_size_dynamic_sections): Don't call
1312 elf32_arm_allocate_dynrelocs for source reloc for non-dynamic link.
1313
4107ae22
DD
13142013-02-27 DJ Delorie <dj@redhat.com>
1315
1316 * reloc.c (BFD_RELOC_RL78_CODE): Add.
1317 * libbfd.h: Regenerate.
1318 * bfd-in2.h: Regenerate.
1319 * elf32-rl78.c (rl78_elf_relocate_section): Handle weak code
1320 references in compuated relocs.
1321
730fbaf8
AG
13222013-02-26 Anthony Green <green@moxielogic.com>
1323
1324 * config.bfd: Extend moxie-rtems target triplet name support.
1325
35399224
L
13262013-02-21 H.J. Lu <hongjiu.lu@intel.com>
1327
1328 PR ld/15167
1329 * elf64-ia64-vms.c (elf64_vms_link_add_object_symbols): Set
1330 unique_global only for definition.
1331 * elflink.c (_bfd_elf_merge_symbol): Don't set unique_global
1332 here.
1333 (elf_link_add_object_symbols): Set unique_global only
1334 for definition.
1335
c0355132
AM
13362013-02-21 Alan Modra <amodra@gmail.com>
1337
1338 * elf-bfd.h (struct elf_build_id): Extracted from..
1339 (struct elf_build_id_info): ..here. Delete.
1340 (struct output_elf_obj_tdata): New, extracted from..
1341 (struct elf_obj_tdata): ..here. Reorganize for better packing.
1342 Add "o" field.
1343 (elf_program_header_size): Reference tdata->o.
1344 (elf_seg_map, elf_next_file_pos, elf_eh_frame_hdr, elf_linker,
1345 elf_stack_flags, elf_shstrtab, elf_strtab_sec, elf_shstrtab_sec,
1346 elf_section_syms, elf_num_section_syms, elf_flags_init): Likewise.
1347 * elf.c (bfd_elf_allocate_object): Allocate output_elf_obj_tdata
1348 when opening bfd in any mode that might write.
1349 (_bfd_elf_write_object_contents): Use build_id field in
1350 output_elf_obj_tdata.
1351 (_bfd_elf_close_and_cleanup): Tweak elf_shstrtab test.
1352 (elfobj_grok_gnu_build_id): Adjust for elf_tdata changes.
1353
228e534f
AM
13542013-02-21 Alan Modra <amodra@gmail.com>
1355
1356 * elf-bfd.h (struct core_elf_obj_tdata): New.
1357 (struct elf_obj_tdata): Delete core_signal, core_pid, core_lwpid,
1358 core_program, and core_command. Add "core".
1359 * elf.c (bfd_elf_mkcorefile): Allocate "core" struct.
1360 Update all refs to tdata core fields.
1361 * elf32-am33lin.c, * elf32-arm.c, * elf32-cris.c, * elf32-frv.c,
1362 * elf32-hppa.c, * elf32-i386.c, * elf32-m68k.c, * elf32-mips.c,
1363 * elf32-nios2.c, * elf32-ppc.c, * elf32-s390.c, * elf32-score.c,
1364 * elf32-score7.c, * elf32-sh.c, * elf32-sparc.c, * elf32-tilegx.c,
1365 * elf32-tilepro.c, * elf32-xtensa.c, * elf64-aarch64.c,
1366 * elf64-hppa.c, * elf64-mips.c, * elf64-ppc.c, * elf64-tilegx.c,
1367 * elf64-x86-64.c, * elfcore.h, * elfn32-mips.c: Update all refs
1368 to tdata core fields.
1369
12bd6957
AM
13702013-02-21 Alan Modra <amodra@gmail.com>
1371
1372 * elf-bfd.h (struct elf_obj_tdata): Rename segment_map to seg_map.
1373 Delete num_locals and num_globals.
1374 (elf_num_locals, elf_num_globals): Don't define.
1375 (elf_seg_map, elf_next_file_pos, elf_eh_frame_hdr, elf_linker,
1376 elf_stack_flags, elf_strtab_sec, elf_shstrtab_sec): Define.
1377 * bfd.c, * elf-eh-frame.c, * elf-nacl.c, * elf-vxworks.c, * elf.c,
1378 * elf32-arm.c, * elf32-lm32.c, * elf32-ppc.c, * elf32-rx.c,
1379 * elf32-spu.c, * elf64-hppa.c, * elfcode.h, * elflink.c,
1380 * elfnn-ia64.c, * elfxx-mips.c: Use newly defined elf_obj_tdata
1381 accessor macros.
1382 * elf.c (elf_map_symbols): Add pnum_locals param. Return
1383 number of locals syms via new param.
1384 (swap_out_syms): Adjust to suit elf_map_symbols change.
1385
cbf8d970
MR
13862013-02-19 Maciej W. Rozycki <macro@codesourcery.com>
1387
1388 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Also clear
1389 STO_MICROMIPS annotation.
1390
30e8ee25
AM
13912013-02-19 Alan Modra <amodra@gmail.com>
1392
1393 * configure.in: Bump version to 2.23.52.
1394 * elf-bfd.h (struct elf_build_id_info): New.
1395 (struct elf_obj_tdata): Delete after_write_object_contents,
1396 after_write_object_contents_info and build_id_size. Make build_id
1397 a pointer to struct elf_build_id_info.
1398 * elf.c (_bfd_elf_write_object_contents): Style. Update
1399 after_write_ibject_contents invocation.
1400 (elfobj_grok_gnu_build_id): Update for new build_id struct. Don't
1401 allow zero size notes.
1402 * configure: Regenerate.
1403
5b175e56
MR
14042013-02-18 Maciej W. Rozycki <macro@codesourcery.com>
1405
1406 * elf64-mips.c (micromips_elf64_howto_table_rel): Add
1407 R_MICROMIPS_SCN_DISP and R_MICROMIPS_JALR.
1408 (micromips_elf64_howto_table_rela): Likewise.
1409 (micromips_reloc_map): Add BFD_RELOC_MICROMIPS_JALR.
1410 * elfn32-mips.c (elf_micromips_howto_table_rel): Add
1411 R_MICROMIPS_SCN_DISP and R_MICROMIPS_JALR.
1412 (elf_micromips_howto_table_rela): Likewise.
1413 (micromips_reloc_map): Add BFD_RELOC_MICROMIPS_JALR.
1414
e8faf7d1
MR
14152013-02-18 Paul Brook <paul@codesourcery.com>
1416
1417 * elfxx-mips.c (MICROMIPS_P): New macro.
1418 (_bfd_mips_elf_symbol_processing): Use it.
1419
c164a95d
MR
14202013-02-18 Maciej W. Rozycki <macro@codesourcery.com>
1421
1422 * elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Clarify
1423 comment on _PROCEDURE_LINKAGE_TABLE_ creation.
1424
d45f8bda
AM
14252013-02-18 Alan Modra <amodra@gmail.com>
1426
1427 PR ld/12549
1428 * elf-bfd.h (_bfd_elf_strtab_clear_refs): Delete.
1429 (_bfd_elf_strtab_clear_all_refs): Declare.
1430 (_bfd_elf_strtab_resize): Declare.
1431 * elf-strtab.c (_bfd_elf_strtab_clear_refs): Delete.
1432 (_bfd_elf_strtab_clear_all_refs): New function.
1433 (_bfd_elf_strtab_resize): Likewise.
1434 * elflink.c (elf_link_add_object_symbols): Use _bfd_elf_strtab_resize.
1435
698600e4
AM
14362013-02-18 Alan Modra <amodra@gmail.com>
1437
1438 * elf-bfd.h (struct elf_obj_tdata): Move find_line_info, local_stubs,
1439 local_call_stubs, elf_data_symbol, elf_text_symbol, elf_data_section,
1440 and elf_text_section to..
1441 * elfxx-mips.c (struct mips_elf_obj_tdata): ..here. Update all refs.
1442 * elf64-alpha.c (struct mips_elf_find_line): Rename to..
1443 (struct alpha_elf_find_line): ..this.
1444 (struct alpha_elf_obj_tdata): Add find_line_info, update refs.
1445
3d5bef4c
L
14462013-02-16 H.J. Lu <hongjiu.lu@intel.com>
1447
1448 PR ld/15146
1449 * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
1450 for references from the dummy bfd.
1451
313ed4a9
L
14522013-02-16 H.J. Lu <hongjiu.lu@intel.com>
1453
1454 PR ld/15149
1455 * elflink.c (elf_link_add_object_symbols): Also track weak
1456 references.
1457
989fbeff
L
14582013-02-15 H.J. Lu <hongjiu.lu@intel.com>
1459
1460 PR binutils/15151
1461 * archive.c (_bfd_find_nested_archive): Don't allow a nested
1462 archive pointing to itself.
1463 (_bfd_get_elt_at_filepos): Revert the last 2 changes.
1464
a043396b
NC
14652013-02-15 Nick Clifton <nickc@redhat.com>
1466
1467 PR binutils/15140
1468 * archive.c (_bfd_get_elt_at_filepos): Prevent an infinite loop
1469 accessing a corrupt nested archive.
1470
13db6b44
RS
14712013-02-13 Richard Sandiford <rdsandiford@googlemail.com>
1472
1473 * elfxx-mips.c (mips_got_page_ref): New structure.
1474 (mips_got_page_entry): Use a section rather than a (bfd, symndx)
1475 pair to represent the anchor point.
1476 (mips_got_info): Add a got_page_refs field.
1477 (mips_elf_link_hash_table): Add a sym_cache field.
1478 (mips_got_page_ref_hash, mips_got_page_ref_eq): New functions.
1479 (mips_got_page_entry_hash, mips_got_page_entry_eq): Update for
1480 new anchor representation.
1481 (mips_elf_create_got_info): Create got_page_refs rather than
1482 got_page_entries.
1483 (mips_elf_record_got_page_ref): New function.
1484 (mips_elf_pages_for_range): Move further down file.
1485 (mips_elf_record_got_page_entry): Likewise. Take a got as argument.
1486 Use a section rather than a (bfd, symndx) pair to represent the
1487 anchor point.
1488 (mips_elf_resolve_got_page_ref): New function.
1489 (mips_elf_resolve_final_got_entries): Use it to populate
1490 got_page_entries.
1491 (_bfd_mips_elf_check_relocs): Call mips_elf_record_got_page_ref
1492 rather than mips_elf_record_got_page_entry. Only nullify h
1493 afterwards.
1494 (mips_elf_lay_out_got): Call mips_elf_resolve_final_got_entries
1495 earlier.
1496
57093f5e
RS
14972013-02-12 Richard Sandiford <rdsandiford@googlemail.com>
1498
1499 * elfxx-mips.c (mips_elf_lay_out_got): Count VxWorks GOT relocs
1500 in g->relocs.
1501
9c3f90c4
AM
15022013-02-12 Alan Modra <amodra@gmail.com>
1503
1504 * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Provide
1505 suitable definition when using generic linker hash table.
1506
476366af
RS
15072013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
1508
1509 * elfxx-mips.c (mips_elf_count_got_entries): Delete.
1510 (mips_elf_check_recreate_got, mips_elf_recreate_got): Take a
1511 mips_elf_traverse_got_arg. Count GOT entries.
1512 (mips_elf_resolve_final_got_entries): Take the bfd_link_info
1513 as argument. Update after above changes.
1514 (mips_elf_merge_got, mips_elf_lay_out_got): Don't call
1515 mips_elf_count_got_entries. Update the calls to
1516 mips_elf_resolve_final_got_entries.
1517
9ab066b4
RS
15182013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
1519
1520 * elfxx-mips.c (mips_got_tls_type): New enum.
1521 (mips_got_entry): Add tls_initialized.
1522 (mips_elf_got_entry_hash, mips_elf_got_entry_eq, mips_tls_got_relocs)
1523 (mips_elf_count_got_entry, mips_elf_initialize_tls_index): Remove
1524 GOT_TLS_TYPE masks.
1525 (mips_elf_reloc_tls_type, mips_tls_got_entries)
1526 (mips_elf_record_global_got_symbol, mips_elf_initialize_tls_index)
1527 (_bfd_mips_elf_finish_dynamic_symbol): Use GOT_TLS_NONE rather
1528 than GOT_NORMAL.
1529 (mips_elf_initialize_tls_slots): Replace got_offset and tls_type_p
1530 arguments with a GOT entry. Remove GOT_TLS_TYPE masks. Use
1531 tls_initialized rather than GOT_TLS_DONE.
1532 (mips_tls_got_index): Delete.
1533 (mips_elf_local_got_index, mips_elf_global_got_index): Use
1534 mips_elf_initialize_tls_slots rather than mips_tls_got_index.
1535 (mips_elf_record_got_entry): Initialize tls_initialized.
1536
6c42ddb9
RS
15372013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
1538
1539 * elfxx-mips.c (mips_got_entry): Remove tls_ldm_offset.
1540 (mips_elf_link_hash_entry): Remove tls_ie_type, tls_gd_type,
1541 tls_ie_got_offset and tls_gd_got_offset.
1542 (mips_elf_link_hash_newfunc): Remove initialization.
1543 (mips_elf_create_got_info): Likewise.
1544 (mips_elf_count_local_got_entries, mips_elf_count_global_tls_entries)
1545 (mips_tls_single_got_index): Delete.
1546 (mips_elf_local_got_index): Always use the GOT entry to track
1547 GOT indices.
1548 (mips_elf_global_got_index): Likewise.
1549 (mips_elf_create_local_got_entry): Assert that TLS entries have
1550 already been allocated.
1551 (mips_elf_record_global_got_symbol): Don't initialize
1552 tls_ie_type or tls_gd_type.
1553 (mips_elf_count_got_symbols): Only count reloc-only GOT entries here.
1554 (mips_elf_initialize_tls_index): Allocate a GOT index for every TLS
1555 entry.
1556 (mips_elf_lay_out_got): Use mips_elf_count_got_entries to count
1557 the GOT entries.
1558 (_bfd_mips_elf_finish_dynamic_symbol): Assert that TLS GOT offsets
1559 have been allocated.
1560 (_bfd_mips_elf_copy_indirect_symbol): Remove handling of
1561 tls_ie_type and tls_gd_type.
1562
ebc53538
RS
15632013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
1564
1565 * elfxx-mips.c (mips_elf_create_local_got_entry): Tidy. Avoid
1566 aliasing violation. Check for htab allocation failures.
1567
13fbec83
RS
15682013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
1569
1570 * elfxx-mips.c (mips_elf_primary_global_got_index): New function,
1571 split out from...
1572 (mips_elf_global_got_index): ...here. Reorder arguments so that
1573 the output bfd and info come first.
1574 (mips_elf_calculate_relocation): Update the call to
1575 mips_elf_global_got_index accordingly.
1576 (_bfd_mips_elf_finish_dynamic_symbol): Use
1577 mips_elf_primary_global_got_index rather than
1578 mips_elf_global_got_index.
1579 (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
1580
3dff0dd1
RS
15812013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
1582
1583 * elfxx-mips.c (mips_got_entry): Update comments.
1584 (mips_elf_multi_got_entry_eq): Rename to...
1585 (mips_elf_got_entry_eq): ...this, deleting the old definition.
1586 (mips_elf_create_got_info): Remove master_got_p argument.
1587 Always use mips_elf_got_entry_eq.
1588 (mips_elf_bfd_got, mips_elf_multi_got, mips_elf_create_got_section):
1589 Update calls accordingly.
1590
d7206569
RS
15912013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
1592
1593 * elfxx-mips.c (mips_got_info): Remove bfd2got.
1594 (mips_elf_bfd2got_hash): Delete.
1595 (mips_elf_got_per_bfd_arg): Remove bfd2got.
1596 (mips_elf_replace_bfd_got, mips_elf_count_got_entries): New functions.
1597 (mips_elf_global_got_index, mips_elf_create_local_got_entry): Use
1598 g->next to test for the multigot case. Use mips_elf_bfd_got rather
1599 than mips_elf_got_for_ibfd.
1600 (mips_elf_bfd2got_entry_hash, mips_elf_bfd2got_entry_eq)
1601 (mips_elf_got_for_ibfd, mips_elf_get_got_for_bfd): Delete.
1602 (mips_elf_make_got_per_bfd): Replace with...
1603 (mips_elf_add_got_entry): ...this new function.
1604 (mips_elf_make_got_pages_per_bfd): Replace with...
1605 (mips_elf_add_got_page_entry): ...this new function.
1606 (mips_elf_merge_got_with): Replace bfd2got argument with separate
1607 bfd and GOT arguments. Use mips_elf_add_got_entry and
1608 mips_elf_add_got_page_entry instead of mips_elf_make_got_per_bfd
1609 and mips_elf_make_got_pages_per_bfd. Use mips_elf_replace_bfd_got
1610 to set the BFD's GOT and free the old table.
1611 (mips_elf_merge_got): Replace bfd2got argument with separate
1612 bfd and GOT arguments. Apply mips_elf_resolve_final_got_entries.
1613 Use mips_elf_count_got_entries to count the number of entries in
1614 each GOT. Update the calls to mips_elf_merge_got_with.
1615 (mips_elf_adjust_gp): Use g->next to test for the multigot case.
1616 Use mips_elf_bfd_got rather than mips_elf_got_for_ibfd.
1617 (mips_elf_multi_got): Don't create the bfd2got hash table.
1618 Replace hash table traversal with a walk over the input bfds,
1619 updating the call to mips_elf_merge_got. Use mips_elf_replace_bfd_got
1620 to set the output bfd's GOT.
1621 (mips_elf_lay_out_got): Rename "sub" to "ibfd". Record that all
1622 bfds use the master GOT in the single-GOT case.
1623 (_bfd_mips_elf_finish_dynamic_sections): Use mips_elf_bfd_got
1624 rather than mips_elf_got_for_ibfd.
1625
ee227692
RS
16262013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
1627
1628 * elfxx-mips.c (mips_elf_obj_tdata): Add a got field.
1629 (mips_elf_bfd_got, mips_elf_record_got_entry): New functions.
1630 (mips_elf_record_global_got_symbol): Update the hash entry before
1631 adding the mips_got_entry. Use mips_elf_record_got_entry to do
1632 the latter.
1633 (mips_elf_record_local_got_symbol): Use mips_elf_record_got_entry.
1634 (mips_elf_record_got_page_entry): Record the entry in both the
1635 master and bfd GOTs.
1636
72e7511a
RS
16372013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
1638
1639 * elfxx-mips.c (mips_elf_recreate_got): Don't change the entry;
1640 create another one if necessary.
1641 (mips_elf_set_gotidx): New function.
1642 (mips_elf_set_global_gotidx): Use it.
1643 (mips_elf_initialize_tls_index): Likewise. Take a
1644 mips_elf_traverse_got_arg as argument.
1645 (mips_elf_lay_out_got): Update use of mips_elf_initialize_tls_index.
1646 (mips_elf_multi_got): Likewise. Cope with error returns from
1647 mips_elf_set_global_gotidx.
1648
ab361d49
RS
16492013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
1650
1651 * elfxx-mips.c (mips_got_info): Add relocs field.
1652 (mips_elf_set_global_got_offset_arg, mips_elf_count_tls_arg): Replace
1653 with...
1654 (mips_elf_traverse_got_arg): ...this new structure.
1655 (mips_elf_count_local_tls_relocs): Delete.
1656 (mips_elf_count_global_tls_relocs): Likewise.
1657 (mips_elf_count_got_entry): New function.
1658 (mips_elf_count_local_got_entries): Likewise.
1659 (mips_elf_count_global_tls_entries): Take a mips_elf_traverse_got_arg
1660 rather than a mips_elf_count_tls_arg. Count both relocs and entries.
1661 (mips_elf_record_local_got_symbol): Don't count got entries here.
1662 (mips_elf_make_got_per_bfd): Use mips_elf_count_got_entry.
1663 (mips_elf_set_global_got_offset): Split into...
1664 (mips_elf_set_global_got_area, mips_elf_set_global_gotidx): ...these
1665 new functions. Take a mips_elf_traverse_got_arg rather than a
1666 mips_elf_set_global_got_offset_arg. Don't count TLS relocs here.
1667 Use g->relocs to record the number of relocs needed for global GOT
1668 entries.
1669 (mips_elf_multi_got): Use mips_elf_traverse_got_arg rather than
1670 mips_elf_set_global_got_offset_arg. Use the relocs field to count
1671 relocations. Update for above function split.
1672 (mips_elf_lay_out_got): Use mips_elf_count_local_got_entries
1673 to count both the number of GOT entries and the number of TLS
1674 relocs required by local entries. Likewise
1675 mips_elf_count_global_tls_entries and global entries.
1676 Remove uses of mips_elf_count_local_tls_relocs and
1677 mips_elf_count_global_tls_relocs.
1678
e641e783
RS
16792013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
1680
1681 * elfxx-mips.c (mips_got_entry): Update comment above tls_type entry
1682 to say that each structure represents only one type of TLS reference.
1683 (GOT_TLS_TYPE): New define.
1684 (mips_elf_link_hash_entry): Temporarily split tls_type and
1685 tls_got_offset into two variables each.
1686 (mips_elf_link_hash_newfunc): Update accordingly.
1687 (mips_elf_got_entry_eq, mips_elf_got_entry_hash)
1688 (mips_elf_multi_got_entry_eq): Require the tls_type to be the same.
1689 (mips_elf_reloc_tls_type, mips_tls_got_entries): New functions.
1690 (mips_tls_got_relocs): Use a switch statement.
1691 (mips_elf_count_global_tls_entries): Handle the new hash entry fields.
1692 (mips_elf_initialize_tls_slots): Use a switch statement. Avoid
1693 local "offset" variable.
1694 (mips_tls_got_index): Remove r_type argument and assert. Remove
1695 code that handled entries with two TLS types; always use the
1696 original got_index instead.
1697 (mips_tls_single_got_index): New function.
1698 (mips_elf_local_got_index): Use entry->tls_type to check for
1699 TLS entries. Use mips_tls_single_got_index. Update call to
1700 mips_tls_got_index.
1701 (mips_elf_global_got_index): Use mips_elf_reloc_tls_type.
1702 Use p->tls_type to check for TLS entries. Update call to
1703 mips_tls_got_index. Use mips_tls_single_got_index.
1704 (mips_elf_create_local_got_entry): Use mips_elf_reloc_tls_type.
1705 Use entry.tls_type to check for TLS entries.
1706 (mips_elf_record_global_got_symbol): Replace tls_flag argument
1707 with r_type argument. Use mips_elf_reloc_tls_type.
1708 Set up the new hash entry fields.
1709 (mips_elf_record_local_got_symbol): Replace tls_flag argument
1710 with r_type argument. Use mips_elf_reloc_tls_type and
1711 mips_tls_got_entries. Remove code that handled entries
1712 with multiple TLS types.
1713 (mips_elf_make_got_per_bfd): Use mips_tls_got_entries.
1714 (mips_elf_initialize_tls_index): Handle new hash entry fields.
1715 Use equality rather than masks when checking for specific TLS types.
1716 Use mips_tls_got_entries. Remove code that handled entries
1717 with multiple TLS types.
1718 (mips_elf_calculate_relocation): Use TLS_RELOC_P instead of
1719 testing the hash table entry.
1720 (_bfd_mips_elf_check_relocs): Update calls to
1721 mips_elf_record_global_got_symbol and mips_elf_record_local_got_symbol.
1722 (_bfd_mips_elf_finish_dynamic_symbol): Don't check h->type.
1723 (_bfd_mips_elf_copy_indirect_symbol): Handle new hash entry fields.
1724
d9bf376d
RS
17252013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
1726
1727 * elfxx-mips.c (mips_elf_multi_got_entry_hash): Rename to...
1728 (mips_elf_got_entry_hash): ...this, deleting the old version.
1729 (mips_elf_create_got_info): Use mips_elf_got_entry_hash for
1730 both types of GOT.
1731
5334aa52
RS
17322013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
1733
1734 * elfxx-mips.c (mips_elf_create_got_info): New function.
1735 (mips_elf_get_got_for_bfd, mips_elf_multi_got): Use it.
1736 (mips_elf_create_got_section): Likewise.
1737
946c668d
RS
17382013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
1739
1740 * elfxx-mips.c (mips_elf_record_local_got_symbol): Always set
1741 gotidx to -1.
1742
59b08994
RS
17432013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
1744
1745 * elfxx-mips.c (mips_elf_multi_got): Simplify size calculation.
1746
d222d210
RS
17472013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
1748
1749 * elfxx-mips.c (mips_got_info): Move global_gotsym to...
1750 (mips_elf_link_hash_table): ...here. Update rest of file accordingly.
1751
1fd20d70
RS
17522013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
1753
1754 * elfxx-mips.c (mips_elf_count_global_tls_entries)
1755 (mips_elf_count_global_tls_relocs): Don't count indirect or
1756 warning symbols.
1757 (mips_elf_multi_got, mips_elf_lay_out_got): Assert that the right
1758 number of TLS entries were allocated.
1759
7d94b319
RS
17602013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
1761
1762 * elfxx-mips.c (mips_elf_sort_hash_table_f): Remove asserts.
1763
17214937
RS
17642013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
1765
1766 * elfxx-mips.c (mips_elf_merge_got_with): Only use arg->global_count
1767 if there are TLS relocations.
1768
9efeb38d
RS
17692013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
1770
1771 * elfxx-mips.c (mips_elf_recreate_got): Remove free.
1772 (mips_elf_resolve_final_got_entries): Remove bogus comment.
1773
9c3f90c4
AM
17742013-02-11 Alan Modra <amodra@gmail.com>
1775
1776 * elfcode.h (elf_checksum_contents): Free contents.
1777 * elf-bfd.h (_bfd_elf_link_hash_table_free): Declare.
1778 * elflink.c (_bfd_elf_link_hash_table_free): New function.
1779 (elf_final_link_free): New function, extracted from..
1780 (bfd_elf_final_link): ..here. Always call
1781 _bfd_elf_write_section_eh_frame_hdr.
1782 * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Default to
1783 _bfd_elf_link_hash_table_free.
1784 * libbfd-in.h (_bfd_merge_sections_free): Declare.
1785 * libbfd.h: Regenerate.
1786 * merge.c (_bfd_merge_sections_free): New function.
1787 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): Free
1788 hdr_info->array.
1789 * elf-m10300.c (elf32_mn10300_link_hash_table_free): Call
1790 _bfd_elf_link_hash_table_free.
1791 * elf32-arm.c (elf32_arm_link_hash_table_free): Likewise.
1792 * elf32-avr.c (elf32_avr_link_hash_table_free): Likewise.
1793 * elf32-hppa.c (elf32_hppa_link_hash_table_free): Likewise.
1794 * elf32-i386.c (elf_i386_link_hash_table_free): Likewise.
1795 * elf32-m68hc1x.c (m68hc11_elf_hash_table_free): Likewise.
1796 * elf32-m68k.c (elf_m68k_link_hash_table_free): Likewise.
1797 * elf32-metag.c (elf_metag_link_hash_table_free): Likewise.
1798 * elf32-xgate.c (xgate_elf_bfd_link_hash_table_free): Likewise.
1799 * elf64-aarch64.c (elf64_aarch64_link_hash_table_free): Likewise.
1800 * elf64-ia64-vms.c (elf64_ia64_hash_table_free): Likewise.
1801 * elf64-ppc.c (ppc64_elf_link_hash_table_free): Likewise.
1802 * elf64-x86-64.c (elf_x86_64_link_hash_table_free): Likewise.
1803 * elfnn-ia64.c (elfNN_ia64_hash_table_free): Likewise.
1804 * elf32-cr16.c (elf32_cr16_link_hash_table_free): Delete.
1805 (bfd_elf32_bfd_link_hash_table_free): Don't define.
1806 * elf32-tic6x.c (elf32_tic6x_link_hash_table_free): Delete.
1807 (bfd_elf32_bfd_link_hash_table_free): Dont' define.
1808
7bf52ea2
AM
18092013-02-10 Alan Modra <amodra@gmail.com>
1810
1811 * coff-arm.c (coff_arm_link_hash_table_create): Use bfd_zmalloc.
1812 * coff-h8300.c (h8300_coff_link_hash_table_create): Likewise.
1813 * m68klinux.c (linux_link_hash_table_create): Likewise.
1814 * sparclinux.c (linux_link_hash_table_create): Likewise.
1815 * sunos.c (sunos_link_hash_table_create): Likewise.
1816 * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise.
1817 * elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise.
1818 * elf32-arm.c (elf32_arm_link_hash_table_create): Likewise.
1819 * elf32-avr.c (elf32_avr_link_hash_table_create): Likewise.
1820 * elf32-cr16.c (elf32_cr16_link_hash_table_create): Likewise.
1821 * elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
1822 * elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise.
1823 * elf32-i386.c (elf_i386_link_hash_table_create): Likewise.
1824 * elf32-lm32.c (lm32_elf_link_hash_table_create): Likewise.
1825 * elf32-m32r.c (m32r_elf_link_hash_table_create): Likewise.
1826 * elf32-m68hc1x.c (m68hc11_elf_hash_table_create): Likewise.
1827 * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
1828 * elf32-metag.c (elf_metag_link_hash_table_create): Likewise.
1829 * elf32-nios2.c (nios2_elf32_link_hash_table_create): Likewise.
1830 * elf32-s390.c (elf_s390_link_hash_table_create): Likewise.
1831 * elf32-score.c (elf32_score_link_hash_table_create): Likewise.
1832 * elf32-spu.c (spu_elf_link_hash_table_create): Likewise.
1833 * elf32-tic6x.c (elf32_tic6x_link_hash_table_create): Likewise.
1834 * elf32-vax.c (elf_vax_link_hash_table_create): Likewise.
1835 * elf32-xgate.c (xgate_elf_bfd_link_hash_table_create): Likewise.
1836 * elf32-xtensa.c (elf_xtensa_link_hash_table_create): Likewise.
1837 * elf64-aarch64.c (elf64_aarch64_link_hash_table_create): Likewise.
1838 * elf64-s390.c (elf_s390_link_hash_table_create): Likewise.
1839 * elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise.
1840 * elf64-x86-64.c (elf_x86_64_link_hash_table_create): Likewise.
1841 * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
1842 * elflink.c (_bfd_elf_link_hash_table_create): Likewise.
1843 (_bfd_elf_link_hash_table_init): Assume zero fill table on entry.
1844
22cdc249
AM
18452013-02-10 Alan Modra <amodra@gmail.com>
1846
1847 * i386linux.c (linux_link_hash_table_create): Allocate table
1848 with bfd_zmalloc, not bfd_alloc.
1849 * pdp11.c (link_hash_table_create): Allocate table with
1850 bfd_malloc, not bfd_alloc.
1851 * elf32-bfin.c (bfinfdpic_elf_link_hash_table_create): Allocate table
1852 with bfd_zmalloc, not bfd_zalloc.
1853 (bfin_link_hash_table_create): Likewise.
1854 * elf32-frv.c (frvfdpic_elf_link_hash_table_create): Likewise.
1855 * elf64-hppa.c (elf64_hppa_hash_table_create): Likewise.
1856
0e5de31a
AM
18572013-02-10 Alan Modra <amodra@gmail.com>
1858
1859 PR ld/15113
1860 * elf32-sh.c (sh_elf_link_hash_table_create): Use bfd_zmalloc.
1861
ad1fc92a
NC
18622013-02-08 Markos Chandras <markos.chandras@imgtec.com>
1863
1864 * elf32-metag.c: Use bfd_get_linker_section to get SEC_LINKER_CREATED
1865 sections.
34c67f14
NC
1866 (elf_metag_adjust_dynamic_symbol): Don't error on zero size dynbss
1867 symbol.
ad1fc92a 1868
170a8295
YZ
18692013-02-08 Yufeng Zhang <yufeng.zhang@arm.com>
1870
1871 * elf64-aarch64.c (elf64_aarch64_grok_prstatus): Change 'size' from
1872 288 to 272.
1873
619a703e
AM
18742013-02-08 Alan Modra <amodra@gmail.com>
1875
1876 PR binutils/15106
1877 * elf-bfd.h (struct elf_obj_tdata): Add elf_find_function_cache.
1878 * elf.c (elf_find_function): Revert last change. Use new
1879 tdata field rather than static vars for cache.
1880
02acbe22
L
18812013-02-07 H.J. Lu <hongjiu.lu@intel.com>
1882
1883 PR ld/15107
1884 * elflink.c (elf_link_output_extsym): Set STB_GNU_UNIQUE only if
1885 symbol is defined in regular object.
1886
1965d5f2
AM
18872013-02-07 Roberto Agostino Vitillo <ra.vitillo@gmail.com>
1888
1889 PR binutils/15106
1890 * elf.c (elf_find_function): Don't cache if symbols change.
1891
dafbc74d
AM
18922013-02-07 Alan Modra <amodra@gmail.com>
1893
1894 PR binutils/14873
1895 * elf-attrs.c (_bfd_elf_copy_obj_attributes): Don't attempt to
1896 copy attributes from or to non-ELF.
1897
20e52bd2
L
18982013-02-06 H.J. Lu <hongjiu.lu@intel.com>
1899
1900 * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't clear pc_count
1901 for non-zero TLS symbol.
1902 (elf_i386_relocate_section): Don't resolve size relocation against
1903 non-zero TLS symbol.
1904 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Don't clear
1905 pc_count for non-zero TLS symbol.
1906 (elf_x86_64_relocate_section): Don't resolve size relocation
1907 against non-zero TLS symbol.
1908
36591ba1 19092013-02-06 Sandra Loosemore <sandra@codesourcery.com>
20e52bd2 1910 Andrew Jenner <andrew@codesourcery.com>
36591ba1
SL
1911
1912 Based on patches from Altera Corporation.
1913
1914 * Makefile.am (ALL_MACHINES): Add cpu-nios2.lo.
1915 (ALL_MACHINES_CFILES): Add cpu-nios2.c.
1916 (BFD_BACKENDS): Add elf32-nios2.lo.
1917 (BFD32_BACKENDS_CFILES): Add elf32-nios2.c.
1918 * Makefile.in: Regenerated.
1919 * configure.in: Add entries for bfd_elf32_bignios2_vec and
1920 bfd_elf32_littlenios2_vec.
1921 * configure: Regenerated.
1922 * config.bfd: Add cases for nios2.
1923 * archures.c (enum bfd_architecture): Add bfd_arch_nios2.
1924 (bfd_mach_nios2): Define.
1925 (bfd_nios2_arch): Declare.
1926 (bfd_archures_list): Add bfd_nios2_arch.
1927 * targets.c (bfd_elf32_bignios2_vec): Declare.
1928 (bfd_elf32_littlenios2_vec): Declare.
1929 (_bfd_target_vector): Add entries for bfd_elf32_bignios2_vec and
1930 bfd_elf32_littlenios2_vec.
1931 * elf-bfd.h (enum elf_target_id): Add NIOS2_ELF_DATA.
1932 * reloc.c (enum bfd_reloc_code_real): Add Nios II relocations.
1933 * bfd-in2.h: Regenerated.
1934 * libbfd.h: Regenerated.
1935 * cpu-nios2.c: New file.
1936 * elf32-nios2.c: New file.
1937
ca6b5f82
AM
19382013-02-06 Alan Modra <amodra@gmail.com>
1939
1940 * elf32-arm.c (elf32_arm_final_link_relocate): Only test for
1941 stubs in stub_bfd.
1942
37ba9f93
AM
19432013-02-06 Alan Modra <amodra@gmail.com>
1944
1945 * Makefile.am (SOURCE_HFILES): Add `elf-linux-psinfo.h'.
1946 * Makefile.in: Regenerate.
1947
70a38d42
SDJ
19482013-02-04 Sergio Durigan Junior <sergiodj@redhat.com>
1949 Pedro Alves <palves@redhat.com>
1950
1951 * Makefile.in (SOURCE_HFILES): Add `elf-linux-psinfo.h'.
1952 * elf-bfd.h (elf_internal_linux_prpsinfo): New structure
1953 declaration.
1954 (elfcore_write_linux_prpsinfo32, elfcore_write_linux_prpsinfo64)
1955 (elfcore_write_ppc32_linux_prpsinfo32): New declarations.
1956 * elf-linux-psinfo.h: New file.
1957 * elf.c: Include elf-linux-psinfo.h.
1958 (elfcore_write_linux_prpsinfo32, elfcore_write_linux_prpsinfo64):
1959 New functions.
1960 * elf32-ppc.c: Include `elf-linux-psinfo.h'.
1961 (elf_external_ppc_linux_prpsinfo32): New structure declaration.
1962 (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): New macro.
1963 (elfcore_write_ppc_linux_prpsinfo32): New function.
1964
5ee43bc4
TG
19652013-02-04 Tristan Gingold <gingold@adacore.com>
1966
1967 * mach-o.c (bfd_mach_o_scan_start_address): Do not fail if no
1968 start address.
1969
0cadb185
AM
19702013-02-04 Alan Modra <amodra@gmail.com>
1971
1972 * Makefile.am (BFD64_BACKENDS): Remove elf-nacl.lo.
1973 (BFD64_BACKENDS_CFILES): Remove elf-nacl.c.
1974 * Makefile.in: Regenerate.
1975 * po/SRC-POTFILES.in: Regenerate.
1976
5d42dfb5
AM
19772013-02-04 Alan Modra <amodra@gmail.com>
1978
1979 * coff-tic54x.c (SWAP_OUT_RELOC_EXTRA): Delete.
1980 * coff-tic80.c (SWAP_OUT_RELOC_EXTRA): Delete.
1981
c57da1a7
AM
19822013-02-01 Alan Modra <amodra@gmail.com>
1983
1984 * elf64-ppc.c (dec_dynrel_count): Don't error when elf_gc_sweep_symbol
1985 clears def_regular.
1986
c0fd7846
TG
19872013-01-31 Tristan Gingold <gingold@adacore.com>
1988
1989 * mach-o.c (bfd_mach_o_scan): Call bfd_mach_o_flatten_sections
1990 earlier. Fix status checking of bfd_mach_o_scan_start_address.
1991 (bfd_mach_o_scan_start_address): Handle LC_MAIN.
1992
b45b6908
AM
19932013-01-31 Alan Modra <amodra@gmail.com>
1994 David S. Miller <davem@davemloft.net>
1995
1996 PR ld/15056
1997 * elfxx-sparc.c (_bfd_sparc_elf_gc_mark_hook): Handle implicit
1998 references to __tls_get_addr.
1999 * elf32-tilpro.c (tilepro_elf_gc_mark_hook): Likewise. Correct
2000 vtinherit and vtentry reloc handling too.
2001 * elfxx-tilegx.c (tilegx_elf_gc_mark_hook): As for tilepro.
2002
bcaa2f82
AM
20032013-01-31 Alan Modra <amodra@gmail.com>
2004
2005 * elf64-ppc.c (ppc_stub_name): Trim off trailing "+0".
2006
22aa0c7e
AM
20072013-01-31 Alan Modra <amodra@gmail.com>
2008
2009 * elf64-ppc.c (build_plt_stub): Correct plt stub branch to glink.
2010
bc30df16
AM
20112013-01-28 Alan Modra <amodra@gmail.com>
2012
2013 * elf64-ppc.c: Use %T to print symbols names and remove redundant
2014 "relocation" in error messages throughout file.
2015 (ppc64_elf_relocate_section): Remove sibling call error message,
2016 replace with "call lacks nop". Specially report errors for
2017 branches to function entry points via OPD lookup and branches
2018 to stubs. Remove NULL symbol handling now done by %T.
2019
89d7b8aa
AM
20202013-01-28 Alan Modra <amodra@gmail.com>
2021
2022 * archive.c (bfd_generic_archive_p): Return target and keep
2023 ardata on partial matches.
2024 * format.c (bfd_check_format_matches): Adjust for above
2025 change. Remove bfd_error_file_ambiguously_recognized dead
2026 code.
2027
c9ba0c87
AM
20282013-01-26 Alan Modra <amodra@gmail.com>
2029
2030 * bfd.c (struct bfd_preserve, bfd_preserve_save, bfd_preserve_restore,
2031 bfd_preserve_finish): Move to..
2032 * format.c: ..here, splitting out..
2033 (bfd_reinit): ..this. New function.
2034 (bfd_check_format_matches): Use bfd_preserve_save/restore to
2035 keep bfd state for a match.
2036 * elfcode.h (elf_object_p): Don't use bfd_preserve_save/restore.
2037 * elfcore.h (elf_core_file_p): Likewise.
2038 * mach-o.c (bfd_mach_o_header_p): Likewise.
2039 * pef.c (bfd_pef_object_p, bfd_pef_xlib_object_p): Likewise.
2040 * xsym.c (bfd_sym_object_p): Likewise.
2041 * mmo.c (mmo_scan): Clear abfd->symcount.
2042 * opncls.c (_bfd_new_bfd): Use a smaller section hash table.
2043 * section.c (bfd_section_list_clear): Clear section_htab.count.
2044 * bfd-in2.h: Regenerate.
2045
d79dcc73
NC
20462013-01-25 Michael Schewe <michael.schewe@gmx.net>
2047
2048 * elf32-h8300.c (elf32_h8_relax_section): When checking for a
2049 second reloc, make sure that the reloc potentially exists first.
2050
78c8d46c
NC
20512013-01-24 Nick Clifton <nickc@redhat.com>
2052
2053 * archures.c: Add bfd_mach_v850e3v5.
2054 * bfd-in2.h: Regenerate.
2055 * cpu-v850.c: Add entries for v850e2v5 and v850e3v5.
2056 * cpu-v850_rh850.c: Likewise.
2057 * elf32-v850.c: Add support for v850e3v5 architecture.
2058
1a18f0ae
NC
20592013-01-23 Markos Chandras <markos.chandras@imgtec.com>
2060
2061 * elf32-metag.c: Error on HIADDR16/LOADDR16 in shared link.
2062
f65a9e53
AM
20632013-01-23 Leif Ekblad <leif@rdos.net>
2064
2065 * config.bfd (x86_64-*-rdos*): Remove targ_selvecs.
2066
3bea1fcb
L
20672013-01-18 H.J. Lu <hongjiu.lu@intel.com>
2068
2069 * elf32-i386.c (elf_i386_allocate_dynrelocs): Clear pc_count for
2070 non-zero TLS symbol.
2071 (elf_i386_relocate_section): Resolve size relocation against
2072 non-zero TLS symbol.
2073 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Clear pc_count
2074 for non-zero TLS symbol.
2075 (elf_x86_64_relocate_section): Resolve size relocation against
2076 non-zero TLS symbol.
2077
b1b00fcc
MF
20782013-01-18 Mike Frysinger <vapier@gentoo.org>
2079
2080 * elflink.c (bfd_elf_size_dynamic_sections): Only add DT_RPATH
2081 when new_dtags is false. Only add DT_RUNPATH when new_dtags is
2082 true.
2083
06a6a421
L
20842013-01-17 H.J. Lu <hongjiu.lu@intel.com>
2085
2086 * elf32-i386.c (elf_i386_check_relocs): Count size relocation as
2087 PC-relative relocation.
2088 * elf64-x86-64.c (elf_x86_64_check_relocs): Count size relocation
2089 as PC-relative relocation.
2090
6a3e1bae
L
20912013-01-16 H.J. Lu <hongjiu.lu@intel.com>
2092
2093 * elf32-i386.c (elf_i386_check_relocs): Update R_386_SIZE32
2094 check.
2095 (elf_i386_relocate_section): Don't check TLS for R_386_SIZE32.
2096
2097 * elf64-x86-64.c (elf_x86_64_check_relocs): Update R_X86_64_SIZE32
2098 and R_X86_64_SIZE64 check.
2099 (elf_x86_64_relocate_section): Don't check TLS for R_X86_64_SIZE32
2100 nor R_X86_64_SIZE64.
2101
1788fc08
L
21022013-01-16 H.J. Lu <hongjiu.lu@intel.com>
2103
2104 * bfd-in2.h: Regenerated.
2105 * libbfd.h: Likewise.
2106
2107 * elf32-i386.c (elf_howto_table): Fill R_386_SIZE32 entry.
2108 (elf_i386_reloc_type_lookup): Support BFD_RELOC_SIZE32.
2109 (elf_i386_check_relocs): Handle R_386_SIZE32.
2110 (elf_i386_gc_sweep_hook): Likewise.
2111 (elf_i386_relocate_section): Likewise.
2112
2113 * elf64-x86-64.c (x86_64_elf_howto_table): Fill R_X86_64_SIZE32
2114 and R_X86_64_SIZE64 entries.
2115 (x86_64_reloc_map): Add BFD_RELOC_SIZE32 and BFD_RELOC_SIZE64,
2116 (elf_x86_64_rtype_to_howto): Handle R_X86_64_SIZE32 for x32.
2117 (elf_x86_64_reloc_name_lookup): Likewise.
2118 (elf_x86_64_check_relocs): Handle R_X86_64_SIZE32 and
2119 R_X86_64_SIZE64.
2120 (elf_x86_64_gc_sweep_hook): Likewise.
2121 (elf_x86_64_relocate_section): Likewise.
2122
2123 * reloc.c (bfd_reloc_code_type): Add BFD_RELOC_SIZE32 and
2124 BFD_RELOC_SIZE64.
2125
1e536451
L
21262013-01-15 H.J. Lu <hongjiu.lu@intel.com>
2127
2128 * elf64-x86-64.c (R_X86_64_standard): Replace R_X86_64_IRELATIVE
2129 with R_X86_64_RELATIVE64.
2130
77bf820f
NC
21312013-01-15 Nick Clifton <nickc@redhat.com>
2132
2133 * elf32-msp430.c: Fix spelling typo.
2134
e2458743
AM
21352013-01-15 Alan Modra <amodra@gmail.com>
2136
2137 * elf64-ppc.c (ppc64_elf_size_stubs): Default shared libs to
2138 plt-thread-safe.
2139
405bf443
AM
21402013-01-14 Alan Modra <amodra@gmail.com>
2141
2142 PR binutils/14813
2143 * bfdio.c (struct bfd_iovec <bclose>): Revert 2012-11-06.
2144 (memory_bclose): Likewise. Return 0 on success.
2145 * cache.c (cache_bclose): Likewise.
2146 * opncls.c (opncls_bclose, bfd_close): Likewise.
2147 * vms-lib.c (vms_lib_bclose): Likewise.
2148 * libbfd.h: Regenerate.
2149
ee659f1f
AM
21502013-01-13 Alan Modra <amodra@gmail.com>
2151
2152 * elf-bfd.h (struct elf_link_hash_entry): Delete dynamic_weak.
2153 Add ref_dynamic_nonweak.
2154 * elflink.c (_bfd_elf_mark_dynamic_def_weak): Delete.
2155 (_bfd_elf_merge_symbol): Don't call above function. Move
2156 setting of ref_dynamic_nonweak and dynamic_def earlier. Don't
2157 clear dynamic_def.
2158 (elf_link_add_object_symbols): Delete redundant "override" test.
2159 Don't set dynamic_def here.
2160 (elf_link_output_extsym): Update.
2161
68c4a57e
L
21622013-01-12 H.J. Lu <hongjiu.lu@intel.com>
2163
2164 * elf32-i386.c (elf_i386_check_relocs): Set bfd errror for
2165 normal and TLS symbol access.
2166 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
2167
02be4619
AM
21682013-01-12 Alan Modra <amodra@gmail.com>
2169
2170 * elf-bfd.h (_bfd_elf_strtab_refcount): Declare.
2171 * elf-strtab.c (_bfd_elf_strtab_refcount): New function.
2172 * elflink.c (elf_add_dt_needed_tag): Use _bfd_elf_strtab_refcount.
2173
a4542f1b
AM
21742013-01-12 Alan Modra <amodra@gmail.com>
2175
2176 PR ld/12549
2177 * elf-bfd.h (_bfd_elf_strtab_clear_refs): Declare.
2178 (_bfd_elf_strtab_clear_all_refs): Define.
2179 * elf-strtab.c (_bfd_elf_strtab_clear_refs): New function.
2180 (_bfd_elf_strtab_clear_all_refs): Delete.
2181 * elflink.c (elf_link_add_object_symbols): Clear out added
2182 strtab refs. Correct handling of warning common symbols.
2183
68ffbac6
L
21842013-01-10 H.J. Lu <hongjiu.lu@intel.com>
2185
2186 * aout0.c: Remove trailing white spaces.
2187 * archive.c: Likewise.
2188 * archures.c: Likewise.
2189 * bfd-in.h: Likewise.
2190 * bfd-in2.h: Likewise.
2191 * coff-alpha.c: Likewise.
2192 * coff-i860.c: Likewise.
2193 * coff-mips.c: Likewise.
2194 * coff-ppc.c: Likewise.
2195 * coff-tic80.c: Likewise.
2196 * coff-x86_64.c: Likewise.
2197 * coff-z80.c: Likewise.
2198 * coffcode.h: Likewise.
2199 * coffgen.c: Likewise.
2200 * cofflink.c: Likewise.
2201 * compress.c: Likewise.
2202 * corefile.c: Likewise.
2203 * cpu-arm.c: Likewise.
2204 * cpu-avr.c: Likewise.
2205 * cpu-bfin.c: Likewise.
2206 * cpu-cr16.c: Likewise.
2207 * cpu-cr16c.c: Likewise.
2208 * cpu-crx.c: Likewise.
2209 * cpu-h8300.c: Likewise.
2210 * cpu-i386.c: Likewise.
2211 * cpu-lm32.c: Likewise.
2212 * cpu-m68k.c: Likewise.
2213 * cpu-moxie.c: Likewise.
2214 * cpu-msp430.c: Likewise.
2215 * cpu-sh.c: Likewise.
2216 * cpu-xc16x.c: Likewise.
2217 * dwarf2.c: Likewise.
2218 * ecofflink.c: Likewise.
2219 * ecoffswap.h: Likewise.
2220 * elf-ifunc.c: Likewise.
2221 * elf-m10300.c: Likewise.
2222 * elf-vxworks.c: Likewise.
2223 * elf32-avr.c: Likewise.
2224 * elf32-avr.h: Likewise.
2225 * elf32-cr16.c: Likewise.
2226 * elf32-cr16c.c: Likewise.
2227 * elf32-cris.c: Likewise.
2228 * elf32-crx.c: Likewise.
2229 * elf32-frv.c: Likewise.
2230 * elf32-hppa.c: Likewise.
2231 * elf32-i860.c: Likewise.
2232 * elf32-ip2k.c: Likewise.
2233 * elf32-iq2000.c: Likewise.
2234 * elf32-m32c.c: Likewise.
2235 * elf32-m68hc1x.c: Likewise.
2236 * elf32-msp430.c: Likewise.
2237 * elf32-mt.c: Likewise.
2238 * elf32-ppc.c: Likewise.
2239 * elf32-rl78.c: Likewise.
2240 * elf32-s390.c: Likewise.
2241 * elf32-score.h: Likewise.
2242 * elf32-sh-symbian.c: Likewise.
2243 * elf32-sh.c: Likewise.
2244 * elf32-spu.c: Likewise.
2245 * elf32-tic6x.c: Likewise.
2246 * elf32-v850.c: Likewise.
2247 * elf32-xc16x.c: Likewise.
2248 * elf32-xtensa.c: Likewise.
2249 * elf64-alpha.c: Likewise.
2250 * elf64-hppa.c: Likewise.
2251 * elf64-ppc.c: Likewise.
2252 * elf64-s390.c: Likewise.
2253 * elfcore.h: Likewise.
2254 * elflink.c: Likewise.
2255 * elfxx-mips.c: Likewise.
2256 * elfxx-sparc.c: Likewise.
2257 * elfxx-tilegx.c: Likewise.
2258 * ieee.c: Likewise.
2259 * libcoff.h: Likewise.
2260 * libpei.h: Likewise.
2261 * libxcoff.h: Likewise.
2262 * linker.c: Likewise.
2263 * mach-o-i386.c: Likewise.
2264 * mach-o-target.c: Likewise.
2265 * mach-o.c: Likewise.
2266 * mach-o.h: Likewise.
2267 * mmo.c: Likewise.
2268 * opncls.c: Likewise.
2269 * pdp11.c: Likewise.
2270 * pe-x86_64.c: Likewise.
2271 * peXXigen.c: Likewise.
2272 * pef-traceback.h: Likewise.
2273 * pei-x86_64.c: Likewise.
2274 * peicode.h: Likewise.
2275 * plugin.c: Likewise.
2276 * reloc.c: Likewise.
2277 * riscix.c: Likewise.
2278 * section.c: Likewise.
2279 * som.c: Likewise.
2280 * syms.c: Likewise.
2281 * tekhex.c: Likewise.
2282 * ticoff.h: Likewise.
2283 * vaxbsd.c: Likewise.
2284 * xcofflink.c: Likewise.
2285 * xtensa-isa.c: Likewise.
2286
a3c62988
NC
22872013-01-10 Will Newton <will.newton@imgtec.com>
2288
2289 * Makefile.am: Add Meta.
2290 * Makefile.in: Regenerate.
2291 * archures.c (bfd_mach_metag): New.
2292 * bfd-in2.h: Regenerate.
2293 * config.bfd: Add Meta.
2294 * configure: Regenerate.
2295 * configure.in: Add Meta.
2296 * cpu-metag.c: New file.
2297 * elf-bfd.h: Add Meta.
2298 * elf32-metag.c: New file.
2299 * elf32-metag.h: New file.
2300 * libbfd.h: Regenerate.
2301 * reloc.c: Add Meta relocations.
2302 * targets.c: Add Meta.
2303
652451f8
YZ
23042013-01-08 Yufeng Zhang <yufeng.zhang@arm.com>
2305
2306 * elf-bfd.h (elfcore_write_aarch_tls): Add prototype.
2307 (elfcore_write_aarch_hw_break): Likewise.
2308 (elfcore_write_aarch_hw_watch): Likewise.
2309 * elf.c (elfcore_grok_aarch_tls): New function.
2310 (elfcore_grok_aarch_hw_break): Likewise.
2311 (elfcore_grok_aarch_hw_watch): Likewise.
2312 (elfcore_grok_note): Call the new functions to handle the
2313 corresponding notes.
2314 (elfcore_write_aarch_tls): New function.
2315 (elfcore_write_aarch_hw_break): Likewise.
2316 (elfcore_write_aarch_hw_watch): Likewise.
2317 (elfcore_write_register_note): Call the new functions to handle the
2318 corresponding pseudo sections.
2319
45a466b5
TT
23202013-01-07 Tom Tromey <tromey@redhat.com>
2321
2322 * section.c (_bfd_std_section): Rename from std_section.
f75e0e33
AM
2323 (bfd_com_section_ptr, bfd_und_section_ptr, bfd_abs_section_ptr)
2324 (STD_SECTION): Update.
45a466b5
TT
2325 * bfd-in2.h: Rebuild.
2326
e407c74b
NC
23272013-01-04 Juergen Urban <JuergenUrban@gmx.de>
2328
2329 * archures.c (bfd_mach_mips5900): Define.
2330 * bfd-in2.h: Regenerate.
2331 * config.bfd: Add mips64-ps2-elf and mips-ps2-elf targets.
2332 * cpu-mips.c: Add support for MIPS r5900.
2333 * elfxx-mips.c: Add support for MIPS r5900 (extension of r4000).
2334
9b239e0e
NC
23352013-01-03 Nickolai Zeldovich <nickolai@csail.mit.edu>
2336 Nick Clifton <nickc@redhat.com>
2337
2338 * elflink.c (get_value): Prevent the use of an undefined shift
2339 operation. Add sanity checks.
2340
bab4becb 23412013-01-02 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
884f2a8d 2342
bab4becb 2343 * config.bfd (cr16*-*-uclinux*): New target support.
884f2a8d 2344
9911c0fc 2345
bab4becb 2346For older changes see ChangeLog-2012
56882138 2347\f
bab4becb 2348Copyright (C) 2013 Free Software Foundation, Inc.
752937aa
NC
2349
2350Copying and distribution of this file, with or without modification,
2351are permitted in any medium without royalty provided the copyright
2352notice and this notice are preserved.
2353
56882138
AM
2354Local Variables:
2355mode: change-log
2356left-margin: 8
2357fill-column: 74
2358version-control: never
2359End:
This page took 0.784094 seconds and 4 git commands to generate.