* rescoff.c (write_coff_file): Use 64-bit alignment for resource
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
3b570dee
YZ
12013-11-12 Matthew Leach <Matthew.Leach@arm.comm>
2
3 * elfxx-aarch64.c (_bfd_aarch64_elf_grok_prstatus): Fix hard-coded
4 size of struct elf_prstatus.
5
14b5f73f
AM
62013-11-11 Alan Modra <amodra@gmail.com>
7
8 * elf64-ppc.c (allocate_dynrelocs): Revert 2013-11-04 change.
9
afe397ea
AM
102013-11-11 Ulrich Weigand <uweigand@de.ibm.com>
11
12 * elf64-ppc.c (ppc64_elf_edit_toc): Use SYMBOL_REFERENCES_LOCAL
13 here, not SYMBOL_CALLS_LOCAL.
14 (ppc64_elf_relocate_section): Likewise.
15 (size_global_entry_stubs): Set undefined symbols on their global
16 entry stubs here..
17 (build_global_entry_stubs): ..rather than here.
18 (ppc64_elf_build_stubs): Don't reset glink->size before calling
19 build_global_entry_stubs.
20
64b384e1
RM
212013-11-07 Roland McGrath <mcgrathr@google.com>
22
23 * archures.c (bfd_mach_i386_nacl): Fix definition so it doesn't
24 collide with bfd_mach_l1om.
25 * bfd-in2.h: Regenerate.
26
27 * elf32-i386.c (elf32_i386_nacl_elf_object_p): New function.
28 (elf_backend_object_p): Use that in elf32-i386-nacl definition.
29 * elf64-x86-64.c (elf64_x86_64_nacl_elf_object_p): New function.
30 (elf_backend_object_p): Use that in elf64-x86-64-nacl definition.
31 (elf32_x86_64_nacl_elf_object_p): New function.
32 (elf_backend_object_p): Use that in elf32-x86-64-nacl definition.
33
2bc56d66
DD
342013-11-05 DJ Delorie <dj@redhat.com>
35
36 * elf32-rl78.c (elf32_rl78_relax_delete_bytes): Make sure relocs
37 are loaded before trying to use them.
38
62d887d4
L
392013-11-05 H.J. Lu <hongjiu.lu@intel.com>
40 Bernhard Rosenkränzer <bernhard.rosenkranzer@linaro.org>
41
42 PR ld/4409
43 * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Add an argument for
44 error ignored.
45 * elf-m10200.c (mn10200_elf_relocate_section): Updated.
46 * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
47 * elf32-arm.c (elf32_arm_relocate_section): Likewise.
48 * elf32-avr.c (elf32_avr_relocate_section): Likewise.
49 * elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
50 (bfin_relocate_section): Likewise.
51 * elf32-cr16.c (elf32_cr16_relocate_section): Likewise.
52 * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
53 * elf32-cris.c (cris_elf_relocate_section): Likewise.
54 * elf32-crx.c (elf32_crx_relocate_section): Likewise.
55 * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
56 * elf32-epiphany.c (epiphany_elf_relocate_section): Likewise.
57 * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
58 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
59 * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
60 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
61 * elf32-i386.c (elf_i386_relocate_section): Likewise.
62 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
63 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
64 * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
65 * elf32-lm32.c (lm32_elf_relocate_section): Likewise.
66 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
67 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
68 * elf32-metag.c (elf_metag_relocate_section): Likewise.
69 * elf32-microblaze.c (microblaze_elf_relocate_section): Likewise.
70 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
71 * elf32-mep.c (mep_elf_relocate_section): Likewise.
72 * elf32-moxie.c (moxie_elf_relocate_section): Likewise.
73 * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
74 * elf32-mt.c (mt_elf_relocate_section): Likewise.
75 * elf32-nios2.c (nios2_elf32_relocate_section): Likewise.
76 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
77 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
78 * elf32-rl78.c (rl78_elf_relocate_section): Likewise.
79 * elf32-rx.c (rx_elf_relocate_section): Likewise.
80 * elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
81 * elf32-tilepro.c (tilepro_elf_relocate_section): Likewise.
82 * elf32-s390.c (elf_s390_relocate_section): Likewise.
83 * elf32-v850.c (v850_elf_relocate_section): Likewise.
84 * elf32-vax.c (elf_vax_relocate_section): Likewise.
85 * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
86 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
87 * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
88 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
89 * elf64-ia64-vms.c (elf64_ia64_relocate_section): Likewise.
90 * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
91 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
92 * elf64-s390.c (elf_s390_relocate_section): Likewise.
93 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
94 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
95 * elfxx-tilegx.c (tilegx_elf_relocate_section): Likewise.
96 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Likewise.
97
98 * elfnn-ia64.c (elfNN_ia64_relocate_section): Skip if error
99 from RELOC_FOR_GLOBAL_SYMBOL in executable is ignored.
100
dba6fa9b
AM
1012013-11-05 Alan Modra <amodra@gmail.com>
102
103 * elf64-ppc.c (ppc64_elf_func_desc_adjust): Make .TOC. defined and
104 hidden.
105 (ppc64_elf_set_toc): Adjust.
106
33e44f2e
AM
1072013-11-05 Alan Modra <amodra@gmail.com>
108
109 * elf64-ppc.c (struct ppc_link_hash_table): Remove got, plt, relplt,
110 iplt, reliplt. Update all references to use elf.sgot, elf.splt,
111 elf.srelplt, elf.iplt and elf.irelplt.
112
25153ba0
SL
1132013-11-03 Sandra Loosemore <sandra@codesourcery.com>
114
25153ba0
SL
115 * elf32-niso2.c (nios2_elf32_do_hi16_relocate): Remove incorrect
116 ATTRIBUTE_UNUSED from parameter.
117 (nios2_elf_do_lo16_relocate): Likewise.
118 (nios2_elf32_do_hiadj16_relocate): Likewise.
119 (nios2_elf32_do_pcrel_lo16_relocate): Likewise.
120 (nios2_elf32_do_pcrel_hiadj16_relocate): Likewise.
121 (nios2_elf32_do_pcrel16_relocate): Likewise.
122 (nios2_elf32_do_call26_relocate): Likewise.
123 (nios2_elf32_do_gprel_relocate): Likewise.
124 (nios2_elf32_do_ujmp_relocate): Likewise.
125 (nios2_elf32_do_cjmp_relocate): Likewise.
126 (nios2_elf32_do_callr_relocate): Likewise.
127 (nios2_elf32_gc_mark_hook): Likewise.
128
52a82034
AM
1292013-11-04 Alan Modra <amodra@gmail.com>
130
131 * elf64-ppc.c (ppc64_elf_relocate_section): Edit global entry
132 prologue to non-PIC in non-PIC executables.
133
a345bc8d
AM
1342013-11-04 Alan Modra <amodra@gmail.com>
135
136 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Copy
137 pointer_equality_needed flag.
138 (ppc64_elf_check_relocs): For ELFv2 arrange to emit plt
139 entries for references to functions in shared libraries on
140 non-call relocs.
141 (readonly_dynrelocs): Split into function of the same name and..
142 (maybe_set_textrel): ..this new function. Update call.
143 (ppc64_elf_adjust_dynamic_symbol): Don't emit dynrelocs for
144 ELFv2 in most cases if we have a plt entry. Use new
145 readonly_relocs.
146 (allocate_dynrelocs): For ELFv2, don't allocate dynreloc space
147 for ifunc in static executables.
148 (size_global_entry_stubs): New function.
149 (ppc64_elf_size_dynamic_sections): Call size_global_entry_stubs.
150 Save end of glink branch table.
151 (ppc64_elf_hash_symbol): New function.
152 (build_global_entry_stubs): New function.
153 (ppc64_elf_build_stubs): Call build_global_entry_stubs. Adjust
154 glink sizing.
155 (ppc64_elf_relocate_section): Tidy plt16/32/64 reloc code.
156 (ppc64_elf_finish_dynamic_symbol): For ELFv2, adjust symbols
157 defined on plt code.
158
cacce40b
AM
1592013-11-02 Alan Modra <amodra@gmail.com>
160
161 * opncls.c (_bfd_new_bfd): Don't init vars already zeroed.
162
8b974ba3
AM
1632013-11-02 Alan Modra <amodra@gmail.com>
164
165 * elf64-ppc.c (ppc64_elf_next_input_section): Always set toc_off
166 to value for object file.
167
86e0565d
RM
1682013-11-01 Roland McGrath <mcgrathr@google.com>
169
170 * elf-nacl.c (segment_eligible_for_headers): Drop requirement that
171 some section have SEC_HAS_CONTENTS set. It's not set for
172 .note.gnu.build-id, and a segment of only read-only SHT_NOBITS
173 sections is implausible and not really supportable anyway.
174
e8910a83
AM
1752013-10-30 Alan Modra <amodra@gmail.com>
176
177 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Use new DT_PPC_OPT
178 tag to specify tls optimisation.
179 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Likewise.
180 (ppc64_elf_finish_dynamic_sections): Specify whether multiple
181 toc pointers are used via DT_PPC64_OPT.
182
a078d95a
AM
1832013-10-30 Alan Modra <amodra@gmail.com>
184
185 * elf64-ppc.c (STK_LR, STK_TOC, STK_LINKER): Define.
186 (savegpr0_tail, restgpr0_tail, savefpr0_tail, restfpr0_tail)
187 build_plt_stub, build_tls_get_addr_stub, ppc_build_one_stub,
188 ppc64_elf_relocate_section): Use new defines.
189
b9e5796b
AM
1902013-10-30 Alan Modra <amodra@gmail.com>
191
192 * elf64-ppc.c (PLT_ENTRY_SIZE, PLT_INITIAL_ENTRY_SIZE): Add htab
193 parameter and adjust for ELFv2. Update all uses.
194 (PLT_CALL_STUB_SIZE): Delete.
195 (ppc64_elf_get_synthetic_symtab): Support new glink layout.
196 (allocate_dynrelocs): Likewise.
197 (plt_stub_size, build_plt_stub): Adjust for ELFv2.
198 (get_r2off): Return 0 for ELFv2 -R.
199 (ppc_build_one_stub, ppc_size_one_stub): Adjust for ELFv2.
200 (ppc64_elf_size_stubs): Likewise.
201 (ppc64_elf_build_stubs): Add new ELFv2 glink.
202
6911b7dc
AM
2032013-10-30 Alan Modra <amodra@gmail.com>
204 Ulrich Weigand <uweigand@de.ibm.com>
205
206 * elf64-ppc.c (struct ppc_stub_hash_entry): Add "other".
207 (stub_hash_newfunc): Init new ppc_stub_hash_entry field, and one
208 we forgot, "plt_ent".
209 (ppc64_elf_add_symbol_hook): Check ELFv1 objects don't have
210 st_other bits only valid in ELFv2.
211 (ppc64_elf_merge_symbol_attribute): New function.
212 (ppc_type_of_stub): Add local_off param to test branch range.
213 (ppc_build_one_stub): Adjust destinations for ELFv2 locals.
214 (ppc_size_one_stub, toc_adjusting_stub_needed): Similarly.
215 (ppc64_elf_size_stubs): Pass local_off to ppc_type_of_stub.
216 Set "other" field.
217 (ppc64_elf_relocate_section): Adjust destination for ELFv2 local
218 calls.
219
ee67d69a
AM
2202013-10-30 Alan Modra <amodra@gmail.com>
221
222 * elf64-ppc.c (abiversion, set_abiversion): New functions.
223 (ppc64_elf_get_synthetic_symtab): Handle ELFv2 objects without .opd.
224 (struct ppc_link_hash_table): Add opd_abi.
225 (ppc64_elf_check_relocs): Check no .opd with ELFv2.
226 (ppc64_elf_merge_private_bfd_data): New function.
227 (ppc64_elf_print_private_bfd_data): New function.
228 (ppc64_elf_tls_setup): Set htab->opd_abi.
229 (ppc64_elf_size_dynamic_sections): Don't emit OPD related dynamic
230 tags for ELFv2.
231 (ppc_build_one_stub): Use R_PPC64_IRELATIVE for ELFv2 ifunc.
232 (ppc64_elf_finish_dynamic_symbol): Likewise
233
71a39c98
AM
2342013-10-30 Alan Modra <amodra@gmail.com>
235
236 * elf64-ppc.c (build_plt_stub): Switch stubs to use r11 as base
237 reg and r12 as destination.
238 (ppc_build_one_stub): Likewise.
239 (ppc64_elf_build_stubs): Likewise for glink.
240
f9c6b907
AM
2412013-10-30 Alan Modra <amodra@gmail.com>
242
243 * reloc.c (BFD_RELOC_PPC64_ADDR16_HIGH, BFD_RELOC_PPC64_ADDR16_HIGHA,
244 BFD_RELOC_PPC64_TPREL16_HIGH, BFD_RELOC_PPC64_TPREL16_HIGHA,
245 BFD_RELOC_PPC64_DTPREL16_HIGH, BFD_RELOC_PPC64_DTPREL16_HIGHA): New.
246 * elf64-ppc.c (ppc64_elf_howto_raw): Add entries for new relocs.
247 Make all _HA and _HI relocs report signed overflow.
248 (ppc64_elf_reloc_type_lookup): Handle new relocs.
249 (must_be_dyn_reloc, ppc64_elf_check_relocs): Likewise.
250 (dec_dynrel_count, ppc64_elf_relocate_section): Likewise.
251 (ppc64_elf_relocate_section): Don't apply 0x8000 adjust to
252 R_PPC64_TPREL16_HIGHER, R_PPC64_TPREL16_HIGHEST,
253 R_PPC64_DTPREL16_HIGHER, and R_PPC64_DTPREL16_HIGHEST.
254 * libbfd.h: Regenerate.
255 * bfd-in2.h: Regenerate.
256
70cc877f
RM
2572013-10-29 Roland McGrath <mcgrathr@google.com>
258
259 * elf64-x86-64.c (elf_x86_64_nacl_plt0_entry): Correct 9-byte nop
260 sequence to match what the assembler generates.
261
34a79995
JB
2622013-10-29 Jan Beulich <jbeulich@suse.com>
263
264 * elflink.c (struct elf_outext_info): Add field file_sym_done.
265 (bfd_elf_final_link): Initialize new field. Move fake STT_FILE
266 symbol emission from here ...
267 (elf_link_output_extsym): ... to here.
268
240d6706
NC
2692013-10-24 Nick Clifton <nickc@redhat.com>
270
271 PR binutils/15994
272 * dwarf2.c (lookup_address_in_line_info_table): Change return type
273 to be the range of addresses covered by the table.
274 (comp_unit_find_nearest_line): Likewise.
275 (find_line): Search all CUs. Select the one that matches and
276 covers the smallest address range.
277
6dd38d79
HPN
2782013-10-18 Hans-Peter Nilsson <hp@axis.com>
279
280 * elf32-cris.c (cris_elf_check_relocs): Don't assume
281 a registered dynobj means that a .got has been created.
282
fb8a5684
AM
2832013-10-17 Alan Modra <amodra@gmail.com>
284
285 PR 16056
286 * elf.c (copy_elf_program_header): Only consider SEC_ALLOC sections
287 when finding lowest_section.
288
b60bf9be
CF
2892013-10-14 Chao-ying Fu <Chao-ying.Fu@imgtec.com>
290
291 * elfxx-mips.c (mips_elf_obj_tdata): Add abi_msa_bfd.
292 (mips_elf_merge_obj_attributes): Set abi_msa_bfd to the first object
293 file that has a Tag_GNU_MIPS_ABI_MSA attribute.
294 Merge Tag_GNU_MIPS_ABI_MSA attributes.
295
b2e951ec
NC
2962013-10-14 Nick Clifton <nickc@redhat.com>
297
298 * gen-aout.c (main): Fix formatting. Close file.
299
c5d6fa44
RS
3002013-10-13 Richard Sandiford <rdsandiford@googlemail.com>
301
302 * elfxx-mips.c (mips_use_local_got_p): New function.
303 (mips_elf_count_got_symbols, mips_elf_calculate_relocation): Use it.
304 (_bfd_mips_elf_check_relocs): Set pointer_equality_needed for
305 GOT and absolute references.
306
0e4894b9
RM
3072013-10-09 Roland McGrath <mcgrathr@google.com>
308
9a757e4d
RM
309 * elf64-alpha.c (elf64_alpha_relax_tls_get_addr): Cast switch
310 expression to int to silence over-eager compiler warnings.
311
1c1479bf
RM
312 * xcofflink.c (_bfd_xcoff_bfd_final_link): Don't touch EREL in
313 loop that doesn't use (or initialize) it.
314
0e4894b9
RM
315 * elfxx-tilegx.c (tilegx32_plt_tail_entry, tilegx32_plt_tail_entry):
316 Move second const qualifier so it applies to the pointer.
317
b707aa49
NC
3182013-10-09 Nick Clifton <nickc@redhat.com>
319
320 PR binutils/16022
321 * elf32-rx.c (rx_dump_symtab): Add missing break statements.
322
6e114b15
TT
3232013-10-09 Tom Tromey <tromey@redhat.com>
324
325 * opncls.c (get_alt_debug_link_info_shim): Update type of 'len'.
326
6d490cdb
NC
3272013-10-09 Nick Clifton <nickc@redhat.com>
328
329 PR ld/16021
330 * elf32-rl78.c (rl78_dump_symtab): Delete.
331 (rl78_get_reloc): Delete.
332
acd13123
TT
3332013-10-09 Tom Tromey <tromey@redhat.com>
334
335 * bfd-in2.h: Rebuild.
336 * opncls.c (bfd_get_alt_debug_link_info): Change type of
337 buildid_len to bfd_size_type.
338
86879d88
SDJ
3392013-10-09 Sergio Durigan Junior <sergiodj@redhat.com>
340
341 PR binutils/15993
342 * elf32-m32c.c (dump_symtab): Add missing "break;" statement on each
343 "case". Reindent "switch" statements.
344
dc294be5
TT
3452013-10-08 Tom Tromey <tromey@redhat.com>
346
347 * bfd-in2.h: Rebuild.
348 * opncls.c (bfd_get_alt_debug_link_info): Add buildid_len
349 parameter. Change type of buildid_out. Update.
350 (get_alt_debug_link_info_shim): New function.
351 (bfd_follow_gnu_debuglink): Use it.
352
5bb7df2e
AS
3532013-10-08 Andreas Schwab <schwab@suse.de>
354
355 * elf32-m68k.c (elf_m68k_size_dynamic_sections): Add DT_DEBUG also
356 for PIE executables.
357
e0eebf97
JBG
3582013-10-04 Jan-Benedict Glaw <jbglaw@lug-owl.de>
359
360 * configure: Regenerate.
361
1419bbe5
WN
3622013-10-03 Will Newton <will.newton@linaro.org>
363
364 * configure: Regenerate.
365 * configure.in: Build elf-ifunc.o for AArch64.
366 * elfnn-aarch64.c: Include objalloc.h.
367 (elfNN_aarch64_local_htab_hash): New function.
368 (elfNN_aarch64_local_htab_eq): New function.
369 (elfNN_aarch64_get_local_sym_hash): New function.
370 (elfNN_aarch64_link_hash_table_create): Initialize local STT_GNU_IFUNC
371 symbol hash.
372 (elfNN_aarch64_hash_table_free): Free local STT_GNU_IFUNC symbol hash.
373 (elfNN_aarch64_final_link_relocate): Add sym argument. Add support
374 for handling STT_GNU_IFUNC symbols.
375 (elfNN_aarch64_gc_sweep_hook): Add support for garbage collecting
376 references to STT_GNU_IFUNC symbols.
377 (elfNN_aarch64_adjust_dynamic_symbol): Add support for handling
378 STT_GNU_IFUNC symbols.
379 (elfNN_aarch64_check_relocs): Add support for handling STT_GNU_IFUNC
380 symbols. Ensure we don't increase plt.refcount from -1 to 0.
381 (elfNN_aarch64_post_process_headers): Call _bfd_elf_set_osabi.
382 (elfNN_aarch64_is_function_type): Remove function.
383 (elfNN_aarch64_allocate_dynrelocs): Handle STT_GNU_IFUNC symbols.
384 (elfNN_aarch64_allocate_ifunc_dynrelocs): New function.
385 (elfNN_aarch64_allocate_local_dynrelocs): New function.
386 (elfNN_aarch64_allocate_local_ifunc_dynrelocs): New function.
387 (elfNN_aarch64_size_dynamic_sections): Call
388 elfNN_aarch64_allocate_local_dynrelocs.
389 (elfNN_aarch64_create_small_pltn_entry): Add info argument.
390 Add support for creating .iplt entries for STT_GNU_IFUNC symbols.
391 (elfNN_aarch64_finish_dynamic_symbol): Add support for handling
392 STT_GNU_IFUNC symbols and .iplt.
393 (elfNN_aarch64_finish_local_dynamic_symbol): New function.
394 (elfNN_aarch64_finish_dynamic_sections): Call
395 elfNN_aarch64_finish_local_dynamic_symbol.
396
cbb2b07e
NC
3972013-09-30 Nick Clifton <nickc@redhat.com>
398
399 * cpu-msp430.c: Use printable names that match the values
400 displayed by readelf.
401
4e8516b2
AP
4022013-08-25 Andrew Pinski <apinski@cavium.com>
403
404 * elfnn-aarch64.c (TCB_SIZE): Base on the ARCH_SIZE rather than a
405 fixed size of 16.
406
2f9efdfc
RS
4072013-09-24 Gregory Fong <gregory.0xf0@gmail.com>
408
409 * elfxx-mips.c (mips_elf_create_got_section): Hide
410 _GLOBAL_OFFSET_TABLE_.
411
91ea67ca
AM
4122013-09-24 Alan Modra <amodra@gmail.com>
413
414 * elf32-mips.c (ELF_OSABI): Undef for vxworks.
415
8a865bcb
AM
4162013-09-24 Alan Modra <amodra@gmail.com>
417
418 * syms.c (_bfd_stab_section_find_nearest_line): Ignore partial
419 stabs at end of .stab. Tidy variable usage. Don't drop the need
420 for a NULL function name stab if If N_FUN stab is ignored.
421 Ensure index entry count loop matches write loop.
422
cc9afea3
AM
4232013-09-20 Alan Modra <amodra@gmail.com>
424
425 * configure: Regenerate.
426
bc080e94
TG
4272013-09-18 Tristan Gingold <gingold@adacore.com>
428
429 * configure.in: Bump version to 2.24.51
430 * configure: Regenerate.
431
5baf5e34
SE
4322013-09-17 Doug Gilmore <Doug.Gilmore@imgtec.com>
433
434 * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): Handle
435 EF_MIPS_FP64.
436
29bff3ea
DA
4372013-08-31 John David Anglin <dave.anglin@bell.net>
438
439 * elf64-hppa.c (elf_hppa_final_link_relocate): Add missing '%' to
440 format string.
441
5c98a14e
JJ
4422013-08-29 Jakub Jelinek <jakub@redhat.com>
443
444 * elf64-x86-64.c (elf_x86_64_check_tls_transition): Allow
445 64-bit -mcmodel=large -fpic TLS GD and LD sequences.
446 (elf_x86_64_relocate_section): Handle -mcmodel=large -fpic
447 TLS GD and LD sequences in GD->LE, GD->IE and LD->LE transitions.
448
e5034e59
AM
4492013-08-27 Alan Modra <amodra@gmail.com>
450
451 * elf-bfd.h (struct elf_backend_data): Remove as_needed_cleanup.
452 Add notice_as_needed.
453 * elf64-ppc.c (elf_backend_as_needed_cleanup): Don't define.
454 (elf_backend_notice_as_needed): Define.
455 (ppc64_elf_as_needed_cleanup): Rename and adjust..
456 (ppc64_elf_notice_as_needed): ..to this.
457 * elflink.c (_bfd_elf_notice_as_needed): New function, extracted..
458 (elf_link_add_object_symbols): ..from here.
459 * elfxx-target.h (elf_backend_as_needed_cleanup): Don't define.
460 (elf_backend_notice_as_needed): Define..
461 (elfNN_bed): ..and use here.
462
1098fd41
RM
4632013-08-26 Roland McGrath <mcgrathr@google.com>
464
465 * archures.c (bfd_mach_i386_nacl, bfd_mach_i386_i386_nacl): New macros.
466 (bfd_mach_x86_64_nacl, bfd_mach_x64_32_nacl): New macros.
467 * cpu-i386.c (bfd_arch_i386_onebyte_nop_fill): New function.
468 (bfd_i386_nacl_arch): New variable.
469 (bfd_x86_64_nacl_arch, bfd_x64_32_nacl_arch): New variables.
470 (bfd_x64_32_arch_intel_syntax): Link them into the list.
471 * bfd-in2.h: Regenerate.
472
887badb3
RM
4732013-08-26 Roland McGrath <mcgrathr@google.com>
474
475 * elf-nacl.c (nacl_modify_segment_map): Fix logic reordering the
476 elf_segment_map list. If an executable segment is page-aligned
477 but does not end with a full page, then append a fake section into
478 the segment map entry that pads out the page.
479 (nacl_final_write_processing): New function. Write the code fill
480 laid out in nacl_modify_segment_map.
481 * elf-nacl.h: Declare it.
482 * elf32-arm.c (elf32_arm_nacl_final_write_processing): New function.
483 (elf_backend_final_write_processing): Define it for NaCl backend.
484 * elf32-i386.c (elf_backend_final_write_processing): Likewise.
485 * elf64-x86-64.c (elf_backend_final_write_processing): Likewise.
486
487 * elf-nacl.c (segment_eligible_for_headers): Rename MAXPAGESIZE
488 parameter to MINPAGESIZE.
489 (nacl_modify_segment_map): Use minpagesize instead of maxpagesize.
490
491 * elf32-arm.c (ELF_MINPAGESIZE, ELF_COMMONPAGESIZE): #undef for NaCl.
492
387f8054
MR
4932013-08-24 Maciej W. Rozycki <macro@linux-mips.org>
494
495 * elf32-tilepro.c (tilepro_elf_finish_dynamic_sections): Don't
496 set GOT's entry size if there is no ELF section data.
497 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
498 * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_sections):
499 Likewise.
500
f8222080
L
5012013-08-23 H.J. Lu <hongjiu.lu@intel.com>
502
503 * elf64-x86-64.c (get_elf_x86_64_arch_data): New.
504 (get_elf_x86_64_backend_data): Use it.
505 (elf_x86_64_size_dynamic_sections): Likewise.
506
9aff4b7a
NC
5072013-08-23 Yuri Chornoivan <yurchor@ukr.net>
508
509 PR binutils/15834
510 * bfdio.c: Fix typos.
511 * elf32-spu.c: Likewise.
512 * elfnn-aarch64.c: Likewise.
513
2eea2440
TG
5142013-08-21 Tristan Gingold <gingold@adacore.com>
515
516 * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Also count
517 .ovrflo sections.
518 * coffcode.h (coff_compute_section_file_positions): Force
519 match between file offset and vma offset.
520
934bce08
AM
5212013-08-21 Alan Modra <amodra@gmail.com>
522
523 * elflink.c (_bfd_elf_merge_symbol): Set *poldbfd, *poldweak,
524 and *poldalignment before exiting when !relocs_compatible.
525
00b7642b
AM
5262013-08-21 Alan Modra <amodra@gmail.com>
527
528 * elflink.c (_bfd_elf_define_linkage_sym): Don't set STV_INTERNAL
529 symbols to STV_HIDDEN.
530
62c34db3
NC
5312013-08-14 John Tytgat <john@bass-software.com>
532
533 PR ld/15787
534 * elf32-arm.c (elf32_arm_final_link_relocate): Use origin of output
535 segment containing the relocating symbol instead of assuming 0 for
536 sb group relocations.
537
4046d87a
NC
5382013-08-09 Nick Clifton <nickc@redhat.com>
539
540 * elf32-rl78.c (rl78_elf_merge_private_bfd_data): Complain if G10
541 flag bits do not match.
542 (rl78_elf_print_private_bfd_data): Describe G10 flag.
543
13896403
RS
5442013-08-05 John Tytgat <john@bass-software.com>
545
546 * po/BLD-POTFILES.in: Regenerate.
547 * po/SRC-POTFILES.in: Likewise.
548
31a91d61
NC
5492013-07-31 John Tytgat <john@bass-software.com>
550
551 PR ld/15787
552 * elf32-arm.c (elf32_arm_final_link_relocate): Base SB on the
553 output section VMA.
554
a505d7ac
MR
5552013-07-28 Maciej W. Rozycki <macro@linux-mips.org>
556
557 * elf64-hppa.c (elf64_hppa_finish_dynamic_sections)
558 <DT_HP_LOAD_MAP>: Return unsuccessfully if there's no `.data'
559 section.
560
0608afa7
AP
5612013-07-27 Andrew Pinski <apinski@cavium.com>
562
563 * elfnn-aarch64.c (elfNN_aarch64_check_relocs):
564 Use the correct alignment for
565 _bfd_elf_make_dynamic_reloc_section for ILP32.
566
54757ed1
AP
5672013-07-27 Andrew Pinski <apinski@cavium.com>
568
569 * elfnn-aarch64.c (elfNN_aarch64_howto_from_bfd_reloc): Handle
570 BFD_RELOC_AARCH64_NONE explicitly.
571
f6518c48
MR
5722013-07-27 Maciej W. Rozycki <macro@linux-mips.org>
573
574 * elf32-vax.c (elf_vax_finish_dynamic_sections): Don't set GOT's
575 entry size if there is no ELF section data.
576
125b5bac
MR
5772013-07-27 Maciej W. Rozycki <macro@linux-mips.org>
578
579 * elf32-vax.c (elf_vax_check_relocs) <R_VAX_GOT32, R_VAX_PLT32>:
580 Don't check symbol visibility here. Remove a check already
581 asserted for.
582 (elf_vax_instantiate_got_entries): Use SYMBOL_REFERENCES_LOCAL
583 instead of individual checks.
584 (elf_vax_relocate_section) <R_VAX_GOT32, R_VAX_PLT32>: Only
585 check the offset to decide if produce a GOT or PLT entry.
586 Remove redundant assertions. Remove code to produce GOT entries
587 for local symbols. Remove a duplicate comment and add a comment
588 on GOT relocations.
589 (elf_vax_finish_dynamic_symbol): Remove code to produce RELATIVE
590 dynamic relocs.
591
49d01bf6
MR
5922013-07-27 Maciej W. Rozycki <macro@linux-mips.org>
593
594 * elf32-vax.c (elf_vax_always_size_sections): Correct a comment
595 typo.
596
fac3d241
MR
5972013-07-27 Maciej W. Rozycki <macro@linux-mips.org>
598
599 * elf32-vax.c (elf_vax_discard_got_entries): New function.
600 (elf_vax_always_size_sections): Likewise.
601 (elf_vax_size_dynamic_sections): Remove code moved to
602 elf_vax_always_size_sections. Make comment on
603 elf_vax_instantiate_got_entries match reality.
604 (elf_vax_instantiate_got_entries): Assert that rather than check
605 if dynobj is null. Don't check for dynamic_sections_created.
606 Make function description match reality.
607 (elf_backend_always_size_sections): New macro.
608
729eabd5
AM
6092013-07-25 Alan Modra <amodra@gmail.com>
610
611 * elf64-ppc.c (struct ppc64_elf_obj_tdata): Replace opd_relocs
612 with a union.
613 (opd_entry_value): Cache .opd section contents.
614 (ppc64_elf_relocate_section): Adjust.
615
db6a5d5f
AM
6162013-07-25 Alan Modra <amodra@gmail.com>
617
618 PR ld/15762
619 PR ld/12761
620 * elflink.c (elf_link_add_object_symbols): Correct test in
621 last patch. Remove unnecessary code.
622
7fa9fcb6
TG
6232013-07-24 Tristan Gingold <gingold@adacore.com>
624
625 * coff-rs6000.c (xcoff_howto_table): Fix masks and pc_relative for
626 R_RBR. Add numbers in comments.
627 (_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_PPC_B16.
628 * coff64-rs6000.c: Likewise.
629
436e1eba
AM
6302013-07-20 Alan Modra <amodra@gmail.com>
631
632 PR ld/15762
633 PR ld/12761
634 * elflink.c (elf_link_add_object_symbols): Don't clobber
635 .gnu.warning.symbol sections when shared.
636
ee181c72
NC
6372013-07-19 Nick Clifton <nickc@redhat.com>
638
639 * elf32-rx.c (rx_elf_relocate_section): Fix typo: move
640 saw_subtract from R_RX_OPdiv to R_RX_OPneg.
641
df301bfc
NC
6422013-07-18 Travis Snoozy <quandary@remstate.com>
643
644 PR ld/15721
645 * elf32-msp430.c (R_MSP430_10_PCREL): Use 10-bit source and
646 destination masks.
647 * R_MSP430_2X_PCREL: Likewise.
648 * R_MSP430X_10_PCREL: Likewise.
649 * R_MSP430X_2X_PCREL: Likewise.
650
39f21624
NC
6512013-07-18 Terry Guo <terry.guo@arm.com>
652
00b7642b 653 * elf32-arm.c (arm_type_of_stub): Don't use ST_BRANCH_TO_ARM for
39f21624 654 thumb only targets.
00b7642b 655 (elf32_arm_final_link_relocate): Likewise.
39f21624 656
671a6cbe
NC
6572013-07-18 Bill Neubauer <wcn@google.com>
658
659 * mach-o.c (mach_o_section_name_xlat dw): Add entry for
660 .debug_gdb_scripts
661
7a89b94e
NC
6622013-07-18 Roland McGrath <mcgrathr@google.com>
663
664 * elf32-arm.c (elf32_arm_stub_long_branch_arm_nacl): New variable.
665 (elf32_arm_stub_long_branch_arm_nacl_pic): New variable.
666 (arm_build_one_stub): Increase MAXRELOCS to 3.
667 (arm_type_of_stub): Use them if GLOBALS->nacl_p.
668 (struct elf32_arm_link_hash_table): Give add_stub_section member's
669 pointee type a third argument.
670 (elf32_arm_create_or_find_stub_sec): Update caller.
671 (elf32_arm_size_stubs): Update argument type.
672 * bfd-in.h (elf32_arm_size_stubs): Update decl.
673 * bfd-in2.h: Regenerate.
674 * libbfd.h: Regenerate.
675
d929bc19
MR
6762013-07-15 Maciej W. Rozycki <macro@codesourcery.com>
677
678 * elfxx-mips.c (mips_elf_merge_obj_attributes): Replace hardcoded
679 magic numbers with enum values.
680
7e11d300
RM
6812013-07-12 Roland McGrath <mcgrathr@google.com>
682
683 * reloc.c: Add BFD_RELOC_390_PC12DBL, BFD_RELOC_390_PLT12DBL,
684 BFD_RELOC_390_PC24DBL, BFD_RELOC_390_PLT24DBL (should have
685 been added here with 2013-07-05 elf32-s390.c change).
686 * bfd-in2.h: Regenerate (no-op).
687 * libbfd.h: Regenerate (no-op).
688
ba92f887
MR
6892013-07-12 Maciej W. Rozycki <macro@codesourcery.com>
690
691 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Handle
692 EF_MIPS_NAN2008.
693 (_bfd_mips_elf_print_private_bfd_data): Likewise.
694
53452371
TG
6952013-07-09 Tristan Gingold <gingold@adacore.com>
696
697 * vms-alpha.c (struct vms_private_data_struct): Remove
698 flag_hash_long_names and flag_show_after_trunc.
699 (hash_string): Remove.
700 (_bfd_vms_length_hash_symbol): Remove.
701 (alpha_vms_write_exec): Remove call to _bfd_vms_length_hash_symbol.
702 (_bfd_vms_write_egsd): Likewise. Rewrite condition.
703 (_bfd_vms_write_ehdr): Remove code that set removed flags.
704 (_bfd_vms_write_etir): Remove call to _bfd_vms_length_hash_symbol.
705 (vms_bfd_is_local_label_name): Remove trace call.
706
787548c8
TG
7072013-07-09 Tristan Gingold <gingold@adacore.com>
708
709 * hosts/alphavms.h: Include config.h and ansidecl.h, remove useless
710 macros.
711 * configure.com: Adjust to match changes in configure.
712 * makefile.vms (OBJS): Update list.
713
2d63fb6c
TG
7142013-07-05 Tristan Gingold <gingold@adacore.com>
715
716 * coffcode.h (coff_write_object_contents): Use ".ovrflo" name for
717 overflow sections.
718
fb798c50
AK
7192013-07-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
720
721 * elf32-s390.c: Add new relocation definitions R_390_PC12DBL,
722 R_390_PLT12DBL, R_390_PC24DBL, and R_390_PLT24DBL.
723 (elf_s390_reloc_type_lookup, elf_s390_check_relocs)
724 (elf_s390_gc_sweep_hook, elf_s390_relocate_section): Support new
725 relocations.
726 * elf64-s390.c: See elf32-s390.c
727 * bfd-in2.h: Add new relocs to enum bfd_reloc_code_real.
728 * libbfd.h: Add new reloc strings.
729
7bcccb57
MS
7302013-07-03 Marcus Shawcroft <marcus.shawcroft@arm.com>
731
732 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Reorder case
733 values.
734 (elfNN_aarch64_relocate_section): Likewise.
735 (elfNN_aarch64_gc_sweep_hook): Likewise.
736 (elfNN_aarch64_check_relocs): Likewise.
737
5295321c
AM
7382013-07-03 Alan Modra <amodra@gmail.com>
739
740 * elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't hide .TOC.
741 when relocatable. Don't change root.type or type here.
742 (ppc64_elf_set_toc): Set type of .TOC. to STT_OBJECT.
743
ba8ca3e7
AM
7442013-07-03 Alan Modra <amodra@gmail.com>
745
746 * elf64-ppc.c (struct ppc_stub_hash_entry): Delete "addend".
747 (ppc64_elf_size_stubs): Don't set "addend".
748 (ppc64_elf_relocate_section): Don't allow calls via
749 toc-adjusting stubs without a following nop even in an
750 executable, except for self-calls and both libc_start_main
751 and .libc_start_main.
752
c66bb0ee
AM
7532013-07-03 Alan Modra <amodra@gmail.com>
754
755 * elf64-ppc.c (ppc64_elf_func_desc_adjust): Hide ".TOC.".
756
d5be367d
TG
7572013-07-02 Tristan Gingold <gingold@adacore.com>
758
759 * coff-rs6000.c (xcoff_find_nearest_line_discriminator): Add missing
760 line.
761
9a1ada6c
TG
7622013-07-02 Tristan Gingold <gingold@adacore.com>
763
b1a49096
TG
764 * vms-alpha.c (_bfd_generic_find_nearest_line_discriminator): Define.
765 (_bfd_vms_find_nearest_line_discriminator): New function.
766
7672013-07-02 Tristan Gingold <gingold@adacore.com>
c66bb0ee 768
9a1ada6c
TG
769 * coff-rs6000.c (xcoff_create_csect_from_smclas): Handle more smclas.
770
a685c4e6
TG
7712013-07-02 Tristan Gingold <gingold@adacore.com>
772
773 * coff-rs6000.c (xcoff_find_nearest_line_discriminator): New function.
774 (rs6000coff_vec): Reference it.
775
cc0efaa8
MS
7762013-07-02 Marcus Shawcroft <marcus.shawcroft@arm.com>
777
778 * elfnn-aarch64.c (aarch64_elf_create_got_section): New.
779 (elfNN_aarch64_check_relocs): Use aarch64_elf_create_got_section.
780 (elfNN_aarch64_create_dynamic_sections): Do not define
781 _GLOBAL_OFFSET_TABLE_; call aarch64_elf_create_got_section.
782
f40da81b
AM
7832013-07-02 Alan Modra <amodra@gmail.com>
784
785 * elf64-ppc.c (ppc64_elf_relocate_section): Set "relocation" for
786 .TOC. after relocatable check.
787
1c865ab2
AM
7882013-07-01 Alan Modra <amodra@gmail.com>
789
790 * elf64-ppc.h (ppc64_elf_toc): Delete.
791 (ppc64_elf_set_toc): Declare.
792 * elf64-ppc.c (ppc64_elf_toc_reloc): Replace call to ppc64_elf_toc
793 with call the ppc64_elf_set_toc.
794 (ppc64_elf_toc_ha_reloc, ppc64_elf_toc64_reloc): Likewise.
795 (ppc64_elf_start_multitoc_partition): Likewise.
796 (struct ppc_link_hash_table): Delete dot_toc_dot. Replace all uses
797 with elf.hgot.
798 (ppc64_elf_process_dot_syms): Don't make a fake function descriptor
799 for ".TOC.".
800 (ppc64_elf_check_relocs): Mark sections with a reference to .TOC.
801 as needing a toc pointer.
802 (ppc64_elf_size_stubs): Don't set dot_toc_dot here.
803 (ppc64_elf_set_toc): Rename from ppc64_elf_toc. Add info param.
804 Set elf.hgot value.
805
a69ed7f7
L
8062013-06-28 H.J. Lu <hongjiu.lu@intel.com>
807
808 PR ld/15685
809 * elf64-x86-64.c (elf_x86_64_relocate_section): Handle
810 R_X86_64_DTPOFF64.
811
c3b6407f
NC
8122013-06-28 Nick Clifton <nickc@redhat.com>
813
814 PR ld/15302
815 * elf32-arm.c (allocate_dynrelocs_for_symbol): Revert previous patch.
816
8db339a6
MS
8172013-06-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
818
819 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Reserve one slot
820 in sgot.
821 (elfNN_aarch64_finish_dynamic_sections): Place the &_DYNAMIC reference
822 in sgot[0] rather than sgotplt[0].
823
2d426575
YZ
8242013-06-26 Yufeng Zhang <yufeng.zhang@arm.com>
825
826 * Makefile.am (elf32-aarch64.c): Add a #line cpp directive at the
827 beginning of the generated file.
828 (elf64-aarch64.c): Likewise.
829 * Makefile.in: Re-generated.
830
caed7120
YZ
8312013-06-26 Yufeng Zhang <yufeng.zhang@arm.com>
832
833 * Makefile.am (BFD64_BACKENDS): Add elfxx-aarch64.c.
834 (BFD64_BACKENDS_CFILES): Add elfxx-aarch64.lo.
835 * Makefile.in: Re-generated.
836 * configure.in (bfd_elf64_bigaarch64_vec): Add elfxx-aarch64.lo.
837 (bfd_elf64_littleaarch64_vec): Likewise.
838 (bfd_elf32_bigaarch64_vec): Likewise.
839 (bfd_elf32_littleaarch64_vec): Likewise.
840 * configure: Re-generated.
841 * elfxx-aarch64.c: New file; split from elf64-aarch64.c.
842 * elfxx-aarch64.h: New file.
843 * elfnn-aarch64.c: Include "elfxx-aarch64.h"; move the following
844 stuff to elfxx-aarch64.c.
845 (bfd_elf_aarch64_put_addend): Removed.
846 (PG_OFFSET, PG): Likewise.
847 (elfNN_aarch64_small_plt0_entry): Support ELF32.
848 (elfNN_aarch64_tlsdesc_small_plt_entry): Likewise.
849 (elf64_aarch64_grok_prstatus): Removed.
850 (elf_backend_grok_prstatus): Removed.
851 (insn32): Likewise.
852 (aarch64_unsigned_overflow): Likewise.
853 (aarch64_signed_overflow): Likewise.
854 (aarch64_resolve_relocation): Likewise.
855 (MASK): Likewise.
856 (decode_branch_ofs_26): Likewise.
857 (decode_cond_branch_ofs_19): Likewise.
858 (decode_ld_lit_ofs_19): Likewise.
859 (decode_tst_branch_ofs_14): Likewise.
860 (decode_movw_imm): Likewise.
861 (decode_adr_imm): Likewise.
862 (decode_add_imm): Likewise.
863 (reencode_branch_ofs_26): Likewise.
864 (reencode_cond_branch_ofs_19): Likewise.
865 (reencode_ld_lit_ofs_19): Likewise.
866 (reencode_tst_branch_ofs_14): Likewise.
867 (reencode_movw_imm): Likewise.
868 (reencode_adr_imm): Likewise.
869 (reencode_ldst_pos_imm): Likewise.
870 (reencode_add_imm): Likewise.
871 (reencode_movzn_to_movz): Likewise.
872 (reencode_movzn_to_movn): Likewise.
873 (aarch64_relocate): Update to call the new function names in
874 elfxx-aarch64.c.
875 (aarch64_calculate_got_entry_vma): Likewise.
876 (elfNN_aarch64_final_link_relocate): Likewise.
877 (elf64_aarch64_update_plt_entry): Likewise; change the type of the
878 parameter 'r_type' to bfd_reloc_code_real_type; rename to ...
879 (elf_aarch64_update_plt_entry): ... this.
880 (elfNN_aarch64_create_small_pltn_entry): Update.
881 (elfNN_aarch64_init_small_plt0_entry): Remove plt_got_base; add
882 bfd_vma plt_got_2nd_ent; update to call elf_aarch64_update_plt_entry.
883 (elfNN_aarch64_finish_dynamic_sections): Add plt_entry; update to
884 call elf_aarch64_update_plt_entry.
885
a6bb11b2
YZ
8862013-06-26 Yufeng Zhang <yufeng.zhang@arm.com>
887
888 * bfd-in2.h: Re-generated.
889 * elfnn-aarch64.c (HOWTO64, HOWTO32): New define.
890 (IS_AARCH64_TLS_RELOC): Change to be based on the
891 bfd reloc enumerators.
892 (IS_AARCH64_TLSDESC_RELOC): Likewise.
893 (PG, PG_OFFSET): Cast literal to bfd_vma.
894 (elf64_aarch64_howto_table): Removed.
895 (elf64_aarch64_howto_dynrelocs): Removed.
896 (elf64_aarch64_tls_howto_table): Removed.
897 (elf64_aarch64_tlsdesc_howto_table): Removed.
898 (elfNN_aarch64_howto_table): New table to host all howto entires..
899 (R_AARCH64_*): Replaced by AARCH64_R (*) and AARCH64_R_STR (*).
900 (elfNN_aarch64_bfd_reloc_from_howto): New function.
901 (elfNN_aarch64_bfd_reloc_from_type): Ditto.
902 (struct elf_aarch64_reloc_map): New.
903 (elf_aarch64_reloc_map): New table.
904 (elfNN_aarch64_howto_from_bfd_reloc): New function.
905 (elfNN_aarch64_howto_from_type): Update to look up the new table
906 elfNN_aarch64_howto_table.
907 (struct elf64_aarch64_reloc_map): Remove.
908 (elf64_aarch64_reloc_map): Remove.
909 (elfNN_aarch64_reloc_type_lookup): Change to call
910 elfNN_aarch64_howto_from_bfd_reloc.
911 (elfNN_aarch64_reloc_name_lookup): Change to look up the new table
912 elfNN_aarch64_howto_table.
913 (aarch64_resolve_relocation): Refactor to switch on the bfd
914 reloc enumerators.
915 (bfd_elf_aarch64_put_addend): Likewise.
916 (elfNN_aarch64_final_link_relocate): Likewise.
917 (aarch64_tls_transition_without_check): Likewise.
918 (aarch64_reloc_got_type): Likewise.
919 (aarch64_can_relax_tls): Likewise.
920 (aarch64_tls_transition): Likewise.
921 (elfNN_aarch64_tls_relax): Likewise.
922 (elfNN_aarch64_final_link_relocate): Likewise.
923 (elfNN_aarch64_relocate_section): Likewise.
924 (elfNN_aarch64_gc_sweep_hook): Likewise.
925 (elfNN_aarch64_check_relocs): Likewise.
926 (aarch64_tls_transition): Change to return a bfd reloc enumerator.
927 * libbfd.h: Re-generated.
928 * reloc.c: Re-order the AArch64 bfd reloc enumerators.
929 (BFD_RELOC_AARCH64_RELOC_START)
930 (BFD_RELOC_AARCH64_RELOC_END)
931 (BFD_RELOC_AARCH64_LD_GOT_LO12_NC)
932 (BFD_RELOC_AARCH64_LD32_GOT_LO12_NC)
933 (BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC)
934 (BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC)
935 (BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_LO12_NC)
936 (BFD_RELOC_AARCH64_TLSIE_LD32_GOTTPREL_LO12_NC)
937 (BFD_RELOC_AARCH64_IRELATIVE): New relocs.
938
cec5225b
YZ
9392013-06-26 Yufeng Zhang <yufeng.zhang@arm.com>
940
941 * Makefile.am (BFD64_BACKENDS): Add elf32-aarch64.lo.
942 (BUILD_CFILES): Add elf32-aarch64.c.
943 (elf32-aarch64.c): New rule for generating from elfnn-aarch64.c.
944 * Makefile.in: Re-generated.
945 * archures.c (bfd_mach_aarch64_ilp32): New define.
946 * bfd-in.h (bfd_elf32_aarch64_init_maps): New declaration.
947 (bfd_elf32_aarch64_set_options): Ditto.
948 (elf32_aarch64_setup_section_lists): Ditto.
949 (elf32_aarch64_next_input_section): Ditto.
950 (elf32_aarch64_size_stubs): Ditto.
951 (elf32_aarch64_build_stubs): Ditto.
952 * bfd-in2.h: Re-generated.
953 * config.bfd (aarch64-*-elf): Add bfd_elf32_littleaarch64_vec
954 and bfd_elf32_bigaarch64_vec.
955 (aarch64-*-linux*): Likewise.
956 (aarch64_be-*-elf): Likewise.
957 (aarch64_be-*-linux*): Likewise.
958 * configure.in (bfd_elf32_bigaarch64_vec)
959 (bfd_elf32_littleaarch64_vec): New.
960 * configure: Re-generated.
961 * cpu-aarch64.c (compatible): Don't allow mixing ilp32 objects with
962 lp64 ones.
963 (bfd_aarch64_arch_ilp32): New.
964 (bfd_aarch64_arch): Link to bfd_aarch64_arch_ilp32.
965 * elfnn-aarch64.c (ARCH_SIZE): New define.
966 (AARCH64_R, AARCH64_R_STR, LOG_FILE_ALIGN): New defines.
967 (GOT_ENTRY_SIZE): Re-define as (ARCH_SIZE / 8).
968 (elf64_aarch64_*): Rename to elfNN_aarch64_*.
969 (ELF64_R_*): Rename to ELFNN_R_*.
970 Plus other paramaterization.
971 * targets.c (bfd_elf32_bigaarch64_vec, bfd_elf32_littleaarch64_vec):
972 New declarations.
973 (_bfd_target_vector): Add bfd_elf32_bigaarch64_vec and
974 bfd_elf32_littleaarch64_vec.
975
81197114
YZ
9762013-06-26 Yufeng Zhang <yufeng.zhang@arm.com>
977
978 * Makefile.am (BFD64_BACKENDS_CFILES): Remove elf64-aarch64.c.
979 (BUILD_CFILES): Add elf64-aarch64.c.
980 (elf64-aarch64.c): New rule for generating from elfnn-aarch64.c.
981 * Makefile.in: Re-generated.
982 * elf64-aarch64.c: Rename to ...
983 * elfnn-aarch64.c: ... this.
984
833794fc
MR
9852013-06-25 Maciej W. Rozycki <macro@codesourcery.com>
986 Paul Brook <paul@codesourcery.com>
987
988 * elfxx-mips.h (_bfd_mips_elf_insn32): New prototype.
989 * elfxx-mips.c (mips_elf_link_hash_table): Add insn32 member.
990 (STUB_MOVE32_MICROMIPS, STUB_JALR32_MICROMIPS): New macros.
991 (MICROMIPS_INSN32_FUNCTION_STUB_NORMAL_SIZE): Likewise.
992 (MICROMIPS_INSN32_FUNCTION_STUB_BIG_SIZE): Likewise.
993 (micromips_insn32_o32_exec_plt0_entry): New variable.
994 (micromips_insn32_o32_exec_plt_entry): Likewise.
995 (_bfd_mips_elf_adjust_dynamic_symbol): Handle insn32 mode.
996 (mips_elf_estimate_stub_size): Likewise.
997 (_bfd_mips_elf_size_dynamic_sections): Likewise.
998 (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
999 (mips_finish_exec_plt): Likewise.
1000 (_bfd_mips_elf_relax_section): Likewise.
1001 (_bfd_mips_elf_insn32): New function.
1002 (_bfd_mips_elf_get_synthetic_symtab): Handle insn32 PLT.
1003
1bbce132
MR
10042013-06-24 Maciej W. Rozycki <macro@codesourcery.com>
1005
1006 * elfxx-mips.h (_bfd_mips_elf_get_synthetic_symtab): New
1007 prototype.
1008 * elf32-mips.c (elf_backend_plt_sym_val): Remove macro.
1009 (bfd_elf32_get_synthetic_symtab): New macro.
1010 * elfxx-mips.c (plt_entry): New structure.
1011 (mips_elf_link_hash_entry): Add use_plt_entry member.
1012 (mips_elf_link_hash_table): Rename plt_entry_size member to
1013 plt_mips_entry_size. Add plt_comp_entry_size, plt_mips_offset,
1014 plt_comp_offset, plt_got_index entries and plt_header_is_comp
1015 members.
1016 (STUB_LW_MICROMIPS, STUB_MOVE_MICROMIPS): New macros.
1017 (STUB_LUI_MICROMIPS, STUB_JALR_MICROMIPS): Likewise.
1018 (STUB_ORI_MICROMIPS, STUB_LI16U_MICROMIPS): Likewise.
1019 (STUB_LI16S_MICROMIPS): Likewise.
1020 (MICROMIPS_FUNCTION_STUB_NORMAL_SIZE): Likewise.
1021 (MICROMIPS_FUNCTION_STUB_BIG_SIZE): Likewise.
1022 (micromips_o32_exec_plt0_entry): New variable.
1023 (mips16_o32_exec_plt_entry): Likewise.
1024 (micromips_o32_exec_plt_entry): Likewise.
1025 (mips_elf_link_hash_newfunc): Initialize use_plt_entry.
1026 (mips_elf_output_extsym): Update to use gotplt_union's plist
1027 member rather than offset.
1028 (mips_elf_gotplt_index): Likewise. Remove the VxWorks
1029 restriction. Use MIPS_ELF_GOT_SIZE to calculate GOT address.
1030 (mips_elf_count_got_symbols): Update to use gotplt_union's plist
1031 member rather than offset.
1032 (mips_elf_calculate_relocation): Handle MIPS16/microMIPS PLT
1033 entries.
1034 (_bfd_mips_elf_create_dynamic_sections): Don't set PLT sizes
1035 here.
1036 (mips_elf_make_plt_record): New function.
1037 (_bfd_mips_elf_check_relocs): Update comment. Record occurences
1038 of JAL relocations that might need a PLT entry.
1039 (_bfd_mips_elf_adjust_dynamic_symbol): Update to use
1040 gotplt_union's plist member rather than offset. Set individual
1041 PLT entry sizes here. Handle MIPS16/microMIPS PLT entries.
1042 Don't set the symbol's value in the symbol table for PLT
1043 references here. Don't set the PLT or PLT GOT section sizes
1044 here.
1045 (mips_elf_estimate_stub_size): Handle microMIPS stubs.
1046 (mips_elf_allocate_lazy_stub): Likewise.
1047 (mips_elf_lay_out_lazy_stubs): Likewise. Define a _MIPS_STUBS_
1048 magic symbol.
1049 (mips_elf_set_plt_sym_value): New function.
1050 (_bfd_mips_elf_size_dynamic_sections): Set PLT header size and
1051 PLT and PLT GOT section sizes here. Set the symbol values in
1052 the symbol table for PLT references here. Handle microMIPS
1053 annotation of the _PROCEDURE_LINKAGE_TABLE_ magic symbol.
1054 (_bfd_mips_elf_finish_dynamic_symbol): Update to use
1055 gotplt_union's plist member rather than offset. Handle
1056 MIPS16/microMIPS PLT entries. Handle microMIPS stubs.
1057 (_bfd_mips_vxworks_finish_dynamic_symbol): Update to use
1058 gotplt_union's plist member rather than offset. Use
1059 MIPS_ELF_GOT_SIZE to calculate GOT address.
1060 (mips_finish_exec_plt): Handle microMIPS PLT. Return status.
1061 (_bfd_mips_elf_finish_dynamic_sections): Handle result from
1062 mips_finish_exec_plt.
1063 (_bfd_mips_elf_link_hash_table_create): Update to use
1064 gotplt_union's plist member rather than offset.
1065 (_bfd_mips_elf_get_synthetic_symtab): New function.
1066
cd6d434c
NC
10672013-06-24 Wawa <caojinyu@msn.com>
1068
1069 PR 15657
1070 * hash.c (_bfd_stringtab_add): Copy the string if COPY is true.
1071
42429eac
RS
10722013-06-23 Richard Sandiford <rdsandiford@googlemail.com>
1073
1074 * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Move MIPS ELF
1075 files to...
1076 (BFD64_BACKENDS, BFD64_BACKENDS_CFILES): ...here.
1077 * Makefile.in: Regenerate.
1078 * config.bfd: Enclose all MIPS ELF targets in #ifdef BFD64.
1079 Set want64 to true for them at the end.
1080 * targets.c (_bfd_target_vector): Protect MIPS ELF targets with
1081 #ifdef BFD64.
1082
12d83431
SL
10832013-06-22 Sandra Loosemore <sandra@codesourcery.com>
1084
1085 * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Don't
1086 set sh_entsize for PLT section.
1087
b9eead84
YZ
10882013-06-20 Yufeng Zhang <yufeng.zhang@arm.com>
1089
1090 * bfd-in.h (bfd_elf64_aarch64_set_options): Add 'extern'.
1091 * bfd-in2.h: Re-generated.
1092 * elf64-aarch64.c (RELOC_SECTION): Removed.
1093 (SWAP_RELOC_IN, SWAP_RELOC_OUT): Ditto.
1094 (AARCH64_ELF_OS_ABI_VERSION): Ditto.
1095 (elf64_aarch64_link_hash_traverse): Ditto.
1096 (elf64_aarch64_size_stubs): Change 'Aarch64' to 'AArch64' in the
1097 comment.
1098
8847944f
WN
10992013-06-19 Will Newton <will.newton@linaro.org>
1100
1101 * configure: Regenerated.
1102 * configure.in: Remove aarch64 dependency on elf-ifunc.c.
1103 * elf64-aarch64.c: Remove objalloc.h include.
1104 (elf64_aarch64_howto_dynrelocs): Remove R_AARCH64_IRELATIVE howto.
1105 (struct elf64_aarch64_link_hash_table): Remove ifunc related
1106 members. (elf_aarch64_local_htab_hash): Remove function.
1107 (elf_aarch64_local_htab_eq): Remove function.
1108 (elf_aarch64_get_local_sym_hash): Remove function.
1109 (elf64_aarch64_link_hash_table_create): Remove local hash
1110 table initialization.
1111 (elf64_aarch64_final_link_relocate): Remove sym argument and
1112 handling of ifunc symbols.
1113 (elf64_aarch64_relocate_section): Don't pass sym argument to
1114 elf64_aarch64_final_link_relocate.
1115 (elf64_aarch64_gc_sweep_hook): Remove handling of ifunc symbols.
1116 (elf64_aarch64_adjust_dynamic_symbol): Likewise.
1117 (elf64_aarch64_check_relocs): Likewise.
1118 (elf64_aarch64_post_process_headers): Remove call to
1119 _bfd_elf_set_osabi.
1120 (elf64_aarch64_is_function_type): New function.
1121 (elf64_aarch64_allocate_dynrelocs): Remove handling of ifunc
1122 symbols. (elf_aarch64_allocate_local_dynrelocs): Remove function.
1123 (elf64_aarch64_size_dynamic_sections): Remove call to
1124 elf_aarch64_allocate_local_dynrelocs.
1125 (elf64_aarch64_create_small_pltn_entry): Remove info argument.
1126 Remove creation of R_AARCH64_IRELATIVE dynamic relocs.
1127 (elf64_aarch64_finish_dynamic_symbol): Remove handling of ifunc
1128 symbols. (elf_aarch64_finish_local_dynamic_symbol): Remove
1129 function. (elf64_aarch64_finish_dynamic_sections): Remove call to
1130 elf_aarch64_finish_local_dynamic_symbol.
1131 (elf64_aarch64_add_symbol_hook): Remove function.
1132
2532064a
YZ
11332013-06-14 Yufeng Zhang <yufeng.zhang@arm.com>
1134
1135 * elf64-aarch64.c (elf64_aarch64_final_link_relocate): Call
1136 aarch64_resolve_relocation and bfd_elf_aarch64_put_addend to
1137 handle the relocations of R_AARCH64_JUMP26, R_AARCH64_CALL26,
1138 R_AARCH64_LD64_GOT_LO12_NC, R_AARCH64_ADR_GOT_PAGE and
1139 R_AARCH64_GOT_LD_PREL19.
1140
2f47f5fc
NC
11412013-06-13 Terry Guo <terry.guo@arm.com>
1142
1143 PR ld/15302
1144 * elf32-arm.c (allocate_dynrelocs_for_symbol): Transform
1145 ST_BRANCH_TO_ARM into ST_BRANCH_TO_THUMB if the target only
1146 supports thumb instructions.
1147
34064ff3
DD
11482013-06-11 DJ Delorie <dj@redhat.com>
1149
1150 * elf32-rl78.c (rl78_elf_relocate_section): Fix OPsub math.
1151
3368874f
WN
11522013-06-11 Will Newton <will.newton@linaro.org>
1153
1154 * elf64-aarch64.c (elf_aarch64_get_local_sym_hash): Use
1155 ELF64_R_SYM instead of ELF32_R_SYM.
1156
47fc0f1f
NC
11572013-06-11 Nick Clifton <nickc@redhat.com>
1158
1159 * elf32-rl78.c (rl78_elf_finish_dynamic_sections): Onlly run
1160 checks if the dynamic sections have been created and relaxation
1161 has not been performed.
1162
692e2b8b
WN
11632013-06-07 Will Newton <will.newton@linaro.org>
1164
1165 * configure: Regenerate.
1166 * configure.in: Build elf-ifunc.o for AArch64.
1167 * elf64-aarch64.c: Include objalloc.h.
1168 (elf64_aarch64_howto_dynrelocs): Add R_AARCH64_IRELATIVE howto.
1169 (struct elf64_aarch64_link_hash_table): Add members for handling
1170 R_AARCH64_IRELATIVE relocations.
1171 (elf_aarch64_local_htab_hash): New function.
1172 (elf_aarch64_local_htab_eq): New function.
1173 (elf_aarch64_get_local_sym_hash): New function.
1174 (elf64_aarch64_link_hash_table_create): Initialize local STT_GNU_IFUNC
1175 symbol hash.
1176 (elf64_aarch64_hash_table_free): Free local STT_GNU_IFUNC symbol hash.
1177 (elf64_aarch64_final_link_relocate): Add sym argument. Add support
1178 for handling STT_GNU_IFUNC symbols.
1179 (elf64_aarch64_gc_sweep_hook): Add support for garbage collecting
1180 references to STT_GNU_IFUNC symbols.
1181 (elf64_aarch64_adjust_dynamic_symbol): Add support for handling
1182 STT_GNU_IFUNC symbols.
1183 (elf64_aarch64_check_relocs): Add support for handling STT_GNU_IFUNC
1184 symbols. Ensure we don't increase plt.refcount from -1 to 0.
1185 (elf64_aarch64_post_process_headers): Call _bfd_elf_set_osabi.
1186 (elf64_aarch64_is_function_type): Remove function.
1187 (elf64_aarch64_allocate_dynrelocs): Call
1188 _bfd_elf_allocate_ifunc_dyn_relocs for STT_GNU_IFUNC symbols.
1189 (elf_aarch64_allocate_local_dynrelocs): New function.
1190 (elf64_aarch64_size_dynamic_sections): Call
1191 elf_aarch64_allocate_local_dynrelocs. Initialize next_irelative_index.
1192 (elf64_aarch64_create_small_pltn_entry): Add info argument.
1193 Add support for creating .iplt entries for STT_GNU_IFUNC symbols.
1194 (elf64_aarch64_finish_dynamic_symbol): Add support for handling
1195 STT_GNU_IFUNC symbols and .iplt.
1196 (elf_aarch64_finish_local_dynamic_symbol): New function.
1197 (elf64_aarch64_finish_dynamic_sections): Call
1198 elf_aarch64_finish_local_dynamic_symbol.
1199 (elf64_aarch64_add_symbol_hook): New function.
1200
fa549f3b
AM
12012013-06-03 Alan Modra <amodra@gmail.com>
1202
1203 * syms.c (_bfd_stab_section_find_nearest_line): Add last_str
1204 var. Use it with last_stab.
1205
067ec077
CM
12062013-05-30 Paul Brook <paul@codesourcery.com>
1207
1208 * bfd-in2.h: Regenerate.
1209 * elf32-mips.c (elf_mips_eh_howto): New.
1210 (bfd_elf32_bfd_reloc_type_lookup ): Support BFD_RELOC_MIPS_EH.
1211 (bfd_elf32_bfd_reloc_name_lookup): Likewise.
1212 (mips_elf32_rtype_to_howto): Support R_MIPS_EH.
1213 * elf64-mips.c (elf_mips_eh_howto): New.
1214 (bfd_elf64_bfd_reloc_type_lookup): Support BFD_RELOC_MIPS_EH.
1215 (bfd_elf64_bfd_reloc_name_lookup): Likewise.
1216 (mips_elf64_rtype_to_howto): Support R_MIPS_EH.
1217 * libbfd.h: Regenerate.
1218 * reloc.c (BFD_RELOC_MIPS_EH): New.
1219
95e34fb4
NC
12202013-05-29 Nick Clifton <nickc@redhat.com>
1221
1222 * dwarf2.c (struct dwarf2_debug): Add fields for handling
1223 alternate debug info source.
1224 (dwarf_debug_sections): Add entries for alternate .debug_str and
1225 .debug_info sections.
1226 (dwarf_debug_section_enum): Likewise.
1227 (read_alt_indirect_string): New function. Handles a
1228 DW_FORM_GNU_strp_alt attribute.
1229 (read_alt_indirect_ref): New function. Handles a
1230 DW_FORM_GNU_ref_alt attribute.
1231 (read_attribute_value): Process DW_FORM_GNU_ref_alt and
1232 DW_FORM_GNU_strp_alt.
1233 (find_abstract_instance_name): Handle DW_FORM_GNU_ref_alt
1234 attributes.
1235 (_bfd_dwarf2_cleanup_debug_info): Free alternate debug info
1236 sources.
1237 * opncls.c (GNU_DEBUGALTLINK): Define.
1238 (bfd_get_alt_debug_link_info): New function.
1239 (separate_alt_debug_file_exists): New function.
1240 (find_separate_debug_file): Add parameters for fetch and check
1241 functions.
1242 (bfd_follow_gnu_debugaltlink): New function.
1243 * bfd-in2.h: Regenerate.
1244
418009c2
YZ
12452013-05-28 Yufeng Zhang <yufeng.zhang@arm.com>
1246
1247 * reloc.c (BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE): Rename to ...
1248 (BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21): ... this.
1249 (BFD_RELOC_AARCH64_TLSDESC_LD64_PREL19): Rename to ...
1250 (BFD_RELOC_AARCH64_TLSDESC_LD_PREL19): ... this.
1251 * bfd-in2.h: Regenerate.
1252 * libbfd.h: Regenerate.
1253 * elf64-aarch64.c (IS_AARCH64_TLSDESC_RELOC): Update to use
1254 the correct names.
1255 (elf64_aarch64_tlsdesc_howto_table): Likewise.
1256 (elf64_aarch64_reloc_map): Likewise.
1257 (aarch64_resolve_relocation): Likewise.
1258 (bfd_elf_aarch64_put_addend): Likewise.
1259 (aarch64_tls_transition_without_check): Likewise.
1260 (aarch64_reloc_got_type): Likewise.
1261 (elf64_aarch64_final_link_relocate): Likewise.
1262 (elf64_aarch64_tls_relax): Likewise.
1263 (elf64_aarch64_relocate_section): Likewise.
1264 (elf64_aarch64_gc_sweep_hook): Likewise.
1265 (elf64_aarch64_check_relocs): Likewise.
1266
9d782e8d
MW
12672013-05-26 Mark Wielaard <mjw@redhat.com>
1268
1269 * cache.c (BFD_CACHE_MAX_OPEN): Remove define.
1270 (max_open_files): New static int initialized to zero.
1271 (bfd_cache_max_open): New static function to set and return
1272 max_open_files.
1273 (bfd_cache_init): Use bfd_cache_max_open.
1274 (bfd_open_file): Likewise.
1275 * configure.in (AC_CHECK_HEADERS): Add sys/resource.h.
1276 (AC_CHECK_FUNCS): Add getrlimit.
1277 * configure: Regenerated.
1278 * config.in: Likewise.
1279 * sysdep.h: Check and include sys/resource.h for getrlimit.
1280
03ae2d5e
AM
12812013-05-23 Alan Modra <amodra@gmail.com>
1282
1283 * format.c (bfd_check_format_matches): Don't match a target in
1284 targ_selvecs if some other target is a better match. If
1285 targets implement match priority, fall back to the first of
1286 the best matches.
1287
ad3d9127
AM
12882013-05-22 Eric Herman <eric@freesa.org>
1289
1290 PR binutils/15462
1291 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Warning fix.
1292
5b3905f1
AM
12932013-05-22 Ralf Dreesen <gamma@dreesen.net>
1294
1295 PR binutils/15474
1296 * srec.c (srec_set_section_contents): Properly convert size
1297 and offset to address when octets_per_byte is not unity.
1298
8be65dd3
MR
12992013-05-20 Maciej W. Rozycki <macro@linux-mips.org>
1300
1301 * elf32-vax.c (elf_vax_instantiate_got_entries): Only set the
1302 refcount member of the gotplt_union when resetting the reference
1303 count. Adjust comment.
1304
593f8f29
WN
13052013-05-20 Will Newton <will.newton@linaro.org>
1306
1307 * elf64-aarch64.c (elf64_aarch64_link_hash_entry): Remove
1308 relocs_copied member.
1309 (elf64_aarch64_link_hash_newfunc): Remove initialization of
1310 relocs_copied member.
1311 (elf64_aarch64_copy_indirect_symbol): Remove code to copy
1312 relocs_copied member.
1313
a0f0eb1e
MR
13142013-05-19 Maciej W. Rozycki <macro@linux-mips.org>
1315
1316 * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Convert K&R
1317 function definition.
1318
af65e588
CC
13192013-05-16 Cary Coutant <ccoutant@google.com>
1320
1321 * ecoff.c (ecoff_link_check_archive_element): Add initializers for
1322 external_ext_size and esize.
1323
9f6e76f4
TG
13242013-05-16 Tristan Gingold <gingold@adacore.com>
1325
1326 * coff-rs6000.c (_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_16.
1327 * coff64-rs6000.c (xcoff64_reloc_type_lookup): Likewise.
1328
c495064d
AS
13292013-05-15 Andreas Schwab <schwab@suse.de>
1330
1331 * elf64-aarch64.c (elf_backend_default_execstack): Define to 0.
1332
110a61d3
JB
13332013-05-10 Joel Brobecker <brobecker@adacore.com>
1334
1335 * coffcode.h (styp_to_sec_flags) [RS6000COFF_C]: Add handling
1336 of STYP_EXCEPT, STYP_LOADER and STYP_TYPCHK sections.
1337
ceae87f3
JB
13382013-05-09 Joel Brobecker <brobecker@adacore.com>
1339
1340 * bfd.c (_bfd_default_error_handler): Replace use of putc
1341 by fputc. Add comment explaining why.
1342
012b2306
AM
13432013-05-09 Alan Modra <amodra@gmail.com>
1344
1345 * elflink.c (elf_link_add_object_symbols): Don't omit reading
1346 of symbols when hashes already exist.
1347
7b70956d
WN
13482013-05-07 Will Newton <will.newton@linaro.org>
1349
1350 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Add a
1351 plt_header_size argument for ports where it differs from
1352 plt_entry_size.
1353 * elf-bfd.h: Likewise.
1354 * elf32-i386.c: Pass plt_header_size to
1355 _bfd_elf_allocate_ifunc_dyn_relocs.
1356 * elf64-x86-64.c: Likewise.
1357
1ee9e8b3
WN
13582013-05-07 Will Newton <will.newton@linaro.org>
1359
012b2306 1360 * elf-ifunc.c (_bfd_elf_create_ifunc_dyn_reloc): Remove unused
1ee9e8b3
WN
1361 function.
1362 * elf-bfd.h: Likewise.
1363
b47468a6
CM
13642013-05-06 Paul Brook <paul@codesourcery.com>
1365
012b2306
AM
1366 * elf64-mips.c (elf_mips_gnu_pcrel32): New.
1367 (bfd_elf64_bfd_reloc_type_lookup, bfd_elf64_bfd_reloc_name_lookup,
1368 mips_elf64_rtype_to_howto): Handle R_MIPS_PC32.
1369 * elfn32-mips.c (elf_mips_gnu_pcrel32): New.
1370 (bfd_elfn32_bfd_reloc_type_lookup, bfd_elfn32_bfd_reloc_name_lookup,
1371 mips_elfn32_rtype_to_howto): Handle R_MIPS_PC32.
b47468a6 1372
128205bb
AM
13732013-05-06 Alan Modra <amodra@gmail.com>
1374
1375 * elf64-ppc.c (opd_entry_value): Handle case where symbol
1376 hashes are not available.
1377
f45794cb
AM
13782013-05-06 Alan Modra <amodra@gmail.com>
1379
1380 * elflink.c (elf_link_add_object_symbols): Don't save symbol
1381 hashes around loading as-needed library. Zero them on allocation,
1382 and restore to initial all-zero state if library not needed.
1383 Arrange to reuse hashes if we load library again later.
1384
d150b1a2
RS
13852013-05-04 Richard Sandiford <rdsandiford@googlemail.com>
1386
1387 * elf32-mips.c (elf_mips_copy_howto, elf_mips_jump_slot_howto):
1388 Use _bfd_mips_elf_generic_reloc instead of bfd_elf_generic_reloc.
1389 * elfn32-mips.c: Likewise.
1390 * elf64-mips.c: Likewise.
1391
13761a11
NC
13922013-05-02 Nick Clifton <nickc@redhat.com>
1393
1394 * archures.c: Add some more MSP430 machine numbers.
1395 * config.bfd (msp430): Define targ_selvecs.
1396 * configure.in: Add bfd_elf32_msp430_ti_vec.
1397 * cpu-msp430.c: Add some more MSP430 machine numbers.
1398 * elf32-msp430.c Add support for MSP430X relocations.
1399 Add support for TI compiler generated relocations.
1400 Add support for sym_diff relocations.
1401 Add support for relaxing out of range short branches into long
1402 branches.
1403 Add support for MSP430 attribute section.
1404 * reloc.c: Add MSP430X relocations.
1405 * targets.c: Add bfd_elf32_msp430_ti_vec.
1406 * bfd-in2.h: Regenerate.
1407 * configure: Regenerate.
1408 * libbfd.h: Regenerate.
1409
df26367c
MR
14102013-05-01 Maciej W. Rozycki <macro@codesourcery.com>
1411
1412 * config.bfd: Replace alpha*-*-linuxecoff* pattern with
1413 alpha*-*-linux*ecoff*.
1414
ed54588d
NC
14152013-04-30 Olaf Flebbe <o.flebbe@science-computing.de>
1416
1417 PR binutils/15417
1418 * elflink.c (elf_link_add_object_symbols): Initialise 'idx' to
1419 zero.
1420
b8297068
AM
14212013-04-30 Alan Modra <amodra@gmail.com>
1422
1423 * elflink.c (bfd_elf_record_link_assignment): Dont make
1424 STV_INTERNAL symbols STV_HIDDEN.
1425
b40bf0a2
NC
14262013-04-29 Nick Clifton <nickc@redhat.com>
1427
1428 * elflink.c (_bfd_elf_gc_mark_extra_sections): Remove mark from
1429 fragmented .debug_line sections associated with unmarked code
1430 sections.
1431
aba8c3de
WN
14322013-04-29 Will Newton <will.newton@linaro.org>
1433
1434 * elf32-arm.c (elf32_arm_populate_plt_entry): Call
1435 elf32_arm_add_dynreloc when emitting R_ARM_IRELATIVE relocs.
1436
7fcfd62d
NC
14372013-04-29 Will Newton <will.newton@linaro.org>
1438
1439 * elf64-aarch64.c (elf64_aarch64_check_relocs): Move relocation
1440 error check up and add error message.
1441
ed5acf27
WN
14422013-04-26 Will Newton <will.newton@linaro.org>
1443
1444 * elf64-aarch64.c (elf64_aarch64_check_relocs): Remove dead code.
1445
49926cd0
AM
14462013-04-25 Alan Modra <amodra@gmail.com>
1447
1448 * config.bfd: Add powerpc64le-linux.
1449
05567e3d
L
14502013-04-24 H.J. Lu <hongjiu.lu@intel.com>
1451
1452 * config.bfd (targ_selvecs): Add bfd_elf32_x86_64_vec for
1453 x86_64-*-elf*.
1454
99059e56
RM
14552013-04-24 Roland McGrath <mcgrathr@google.com>
1456
1457 * elf32-arm.c (elf32_arm_allocate_plt_entry): If HTAB->nacl_p,
1458 allocate space for PLT header even if IS_IPLT_ENTRY.
1459 (arm_nacl_put_plt0): New function, broken out of ...
1460 (elf32_arm_finish_dynamic_sections): ... here. Call it.
1461 If HTAB->nacl_p, set up the PLT header in .iplt too.
1462 (elf32_arm_output_arch_local_syms): If HTAB->nacl_p, write
1463 a mapping symbol for the start of .iplt too.
1464
544008aa
NC
14652013-04-19 Luca Pizzamiglio <luca.pizzamiglio@gmail.com>
1466
7b5d8d96
NC
1467 * ecoff.c (_bfd_ecoff_sizeof_headers): Cast the return value of
1468 BFD_ALIGN to int.
1469 * elf32-tic6x.c (elf32_tic6x_size_dynamic_sections): Remove unused
1470 variables.
1471 * elf32-v850.c (v850_elf_relax_section): Redefine the type of 'i'
1472 to bfd_vma.
1473 * vms-alpha.c (evax_bfd_print_etir): Initialize sec_len.
544008aa 1474
86f7d49b
AM
14752013-04-22 Alan Modra <amodra@gmail.com>
1476
1477 PR ld/15382
1478 * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Don't multiply
1479 sh_size or reloc_count adjustment by count.
1480
bfeb4a28
AM
14812013-04-22 Alan Modra <amodra@gmail.com>
1482
1483 * elf64-ppc.c (ppc64_elf_check_relocs): Don't call
1484 create_linkage_sections here..
1485 (ppc64_elf_init_stub_bfd): ..do so here. Return status.
1486 (create_linkage_sections): Move earlier in file.
1487 (ppc64_elf_setup_section_lists): Remove now useless htab->brlt test.
1488 * elf64-ppc.h (ppc64_elf_init_stub_bfd): Update proto.
1489
2d0a6933
NC
14902013-04-19 Nick Clifton <nickc@redhat.com>
1491
1492 PR binutils/15356
1493 * compress.c (decompress_contents): Always call inflateEnd, even
1494 when another inflation operation fails.
1495
a9ea330b
L
14962013-04-17 H.J. Lu <hongjiu.lu@intel.com>
1497
1498 * elf-ifunc.c: Update copyright year.
1499
a253d456
NC
15002013-04-17 Luca Pizzamiglio <luca.pizzamiglio@gmail.com>
1501
1502 * coffcode.h: Added a cast to void when a bfd_set_section_*()
1503 macro's return value is ignored.
1504 * elf32-hppa.c: Likewise.
1505 * elf32-tic6x.c: Likewise.
1506 * mach-o.c: Likewise.
1507 * mmo.c: Likewise.
1508 * opncls.c: Likewise.
1509 * peicode.h: Likewise.
1510 * elf32-m32r.c: Check return value of bfd_set_section_*().
1511 * elfnn-ia64.c: Likewise.
1512 * elfxx-mips.c: Likewise.
1513 * vms-alpha.c: Likewise.
1514
1622ff3b
L
15152013-04-15 H.J. Lu <hongjiu.lu@intel.com>
1516
1517 PR ld/15371
1518 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Check
1519 regular reference without non-GOT reference when building
1520 shared library.
1521
a22cd6f6
AM
15222013-04-15 Alan Modra <amodra@gmail.com>
1523
1524 * archive.c (_bfd_archive_close_and_cleanup): Clear parent
1525 cache slot for archives.
1526
ed905580
HPN
15272013-04-14 Hans-Peter Nilsson <hp@bitrange.com>
1528
1529 * mmo.c (mmo_write_chunk): Break out abfd->tdata.mmo_data to new
1530 local variable mmop.
1531
8d6a12ee
NC
15322013-04-09 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1533
1534 PR ld/12494
33e44f2e 1535 * elf32-avr.c: Consider all sections to determine if linker
8d6a12ee
NC
1536 relaxation can safely delete a ret after a call/jmp
1537
79bb5c23
NC
15382013-04-09 Mingjie Xing <mingjie.xing@gmail.com>
1539
1540 * bfd.c (typedef bfd, Error reporting, Miscellaneous): Add
1541 INODEs.
1542
36192a8d
TT
15432013-04-08 Tom Tromey <tromey@redhat.com>
1544
1545 * som.c (bfd_section_from_som_symbol): No longer static.
1546 * som.h (bfd_section_from_som_symbol): Declare.
1547
198f1157
AM
15482013-04-06 Alan Modra <amodra@gmail.com>
1549
1550 * elf32-ppc.c (ppc_elf_check_relocs): Use SYMBOLIC_BIND.
1551 * elf64-ppc.c (ppc64_elf_check_relocs, dec_dynrel_count): Likewise.
1552
c69ba956
NC
15532013-04-05 Nick Clifton <nickc@redhat.com>
1554
1555 * elflink.c (elf_link_add_object_symbols): Revert accidental commit.
1556
ff5ac77b
AM
15572013-04-04 Alan Modra <amodra@gmail.com>
1558
1559 * bfd.c (bfd_error_type, bfd_errmsgs): Add bfd_error_missing_dso.
1560 * bfd-in2.h: Regenerate.
1561 * elflink.c (elf_link_add_object_symbols): Use new error.
1562
41702d50
NC
15632013-04-03 Nick Clifton <nickc@redhat.com>
1564
1565 * elf32-v850.c (v850_elf_is_target_special_symbol): New function.
1566 (bfd_elf32_bfd_is_target_special_symbol): Define.
1567
cb8af559
NC
15682013-04-03 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
1569
a22cd6f6
AM
1570 * elf64-aarch64.c (elf64_aarch64_gc_sweep_hook): Use
1571 elf64_aarch64_locals to get local GOT reference counts.
cb8af559 1572
1122dc88
DD
15732013-04-02 DJ Delorie <dj@redhat.com>
1574
1575 * elf32-rl78.c (GET_RELOC): Assert that there are relocs to get.
1576 (rl78_elf_relax_section): Only fetch the next reloc if there is
1577 one expected.
1578
81fbe831
AM
15792013-03-30 Alan Modra <amodra@gmail.com>
1580
1581 PR ld/15323
1582 * elf-m10300.c (mn10300_elf_check_relocs): Set non_ir_ref for
1583 global symbols referenced by relocs.
1584 * elf32-arm.c (elf32_arm_check_relocs): Likewise.
1585 * elf32-bfin.c (bfin_check_relocs): Likewise.
1586 * elf32-cr16.c (cr16_elf_check_relocs): Likewise.
1587 * elf32-cris.c (cris_elf_check_relocs): Likewise.
1588 * elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
1589 * elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
1590 * elf32-fr30.c (fr30_elf_check_relocs): Likewise.
1591 * elf32-frv.c (elf32_frv_check_relocs): Likewise.
1592 * elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
1593 * elf32-i370.c (i370_elf_check_relocs): Likewise.
1594 * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
1595 * elf32-lm32.c (lm32_elf_check_relocs): Likewise.
1596 * elf32-m32c.c (m32c_elf_check_relocs): Likewise.
1597 * elf32-m32r.c (m32r_elf_check_relocs): Likewise.
1598 * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
1599 * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
1600 * elf32-mcore.c (mcore_elf_check_relocs): Likewise.
1601 * elf32-metag.c (elf_metag_check_relocs): Likewise.
1602 * elf32-microblaze.c (microblaze_elf_check_relocs): Likewise.
1603 * elf32-moxie.c (moxie_elf_check_relocs): Likewise.
1604 * elf32-msp430.c (elf32_msp430_check_relocs): Likewise.
1605 * elf32-mt.c (mt_elf_check_relocs): Likewise.
1606 * elf32-nios2.c (nios2_elf32_check_relocs): Likewise.
1607 * elf32-openrisc.c (openrisc_elf_check_relocs): Likewise.
1608 * elf32-ppc.c (ppc_elf_check_relocs): Likewise.
1609 * elf32-rl78.c (rl78_elf_check_relocs): Likewise.
1610 * elf32-s390.c (elf_s390_check_relocs): Likewise.
1611 * elf32-score.c (s3_bfd_score_elf_check_relocs): Likewise.
1612 * elf32-score7.c (s7_bfd_score_elf_check_relocs): Likewise.
1613 * elf32-sh.c (sh_elf_check_relocs): Likewise.
1614 * elf32-tic6x.c (elf32_tic6x_check_relocs): Likewise.
1615 * elf32-tilepro.c (tilepro_elf_check_relocs): Likewise.
1616 * elf32-v850.c (v850_elf_check_relocs): Likewise.
1617 * elf32-vax.c (elf_vax_check_relocs): Likewise.
1618 * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
1619 * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
1620 * elf64-aarch64.c (elf64_aarch64_check_relocs): Likewise.
1621 * elf64-alpha.c (elf64_alpha_check_relocs): Likewise.
1622 * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
1623 * elf64-ia64-vms.c (elf64_ia64_check_relocs): Likewise.
1624 * elf64-mmix.c (mmix_elf_check_relocs): Likewise.
1625 * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
1626 * elf64-s390.c (elf_s390_check_relocs): Likewise.
1627 * elf64-sh64.c (sh_elf64_check_relocs): Likewise.
1628 * elfnn-ia64.c (elfNN_ia64_check_relocs): Likewise.
1629 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
1630 * elfxx-tilegx.c (tilegx_elf_check_relocs): Likewise.
1631 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise. Don't
1632 test indirect/warning links for NULL.
1633
61315175
L
16342013-03-29 H.J. Lu <hongjiu.lu@intel.com>
1635
1636 PR ld/15323
1637 * elf32-i386.c (elf_i386_check_relocs): Set non_ir_ref if a
81fbe831 1638 symbol is referenced by a non-shared object.
61315175
L
1639 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1640
a6f713fc
KK
16412013-03-28 Joe Seymour <jseymour@codesourcery.com>
1642
1643 * elf32-sh.c (sh_elf_relocate_section): Suppress warnings for
1644 R_SH_REL32 relocations against undefined weak symbols.
1645
19e08130
AM
16462013-03-28 Alan Modra <amodra@gmail.com>
1647
1648 * elf64-ppc.c (struct ppc_dyn_relocs): New.
1649 (ppc64_elf_check_relocs): Separate dynrel counts for local syms
1650 into ifunc and non-ifunc.
1651 (dec_dynrel_count): Pass in sym rather than sym_sec. Handle
1652 separate ifunc/non-ifunc dynrel counts.
1653 (allocate_got): Always use reliplt for ifunc.
1654 (allocate_dynrelocs): Likewise.
1655 (ppc64_elf_size_dynamic_sections): Likewise.
1656 (ppc64_elf_layout_multitoc): Likewise.
1657 (ppc64_elf_relocate_section): Likewise.
1658
f95f8542
AM
16592013-03-28 Alan Modra <amodra@gmail.com>
1660
1661 * elf32-ppc.c (struct ppc_dyn_relocs): New.
1662 (ppc_elf_check_relocs): Separate dynrel counts for local syms
1663 into ifunc and non-ifunc.
1664 (allocate_dynrelocs): Always put ifunc relocs into reliplt.
1665 (ppc_elf_size_dynamic_sections): Likewise.
1666 (ppc_elf_relocate_section): Likewise.
1667
7e612e98
AM
16682013-03-28 Alan Modra <amodra@gmail.com>
1669
1670 * elf-bfd.h (enum elf_reloc_type_class): Add reloc_class_ifunc.
1671 (struct elf_backend_data <elf_backed_reloc_type_class>): Add
1672 bfd_link_info* and asection* params.
1673 (_bfd_elf_reloc_type_class): Likewise.
1674 * elf.c (_bfd_elf_reloc_type_class): Likewise.
1675 * elflink.c (elf_link_sort_cmp2): Sort first on reloc class.
1676 (elf_link_sort_relocs): Update elf_backed_reloc_type_class call.
1677 * elf32-ppc.c (ppc_elf_reloc_type_class): Return reloc_class_ifunc
1678 for any reliplt reloc. Don't return reloc_class_plt for
1679 R_PPC_REL24 and R_PPC_ADDR24.
1680 * elf64-ppc.c (allocate_got): Formatting.
1681 (ppc64_elf_reloc_type_class): Return reloc_class_ifunc for any
1682 reliplt reloc.
1683 * elf-m10300.c, * elf32-arm.c, * elf32-bfin.c, * elf32-cr16.c,
1684 * elf32-cris.c, * elf32-hppa.c, * elf32-i386.c, * elf32-lm32.c,
1685 * elf32-m32r.c, * elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c,
1686 * elf32-s390.c, * elf32-sh.c, * elf32-sparc.c, * elf32-tilepro.c,
1687 * elf32-vax.c, * elf32-xtensa.c, * elf64-aarch64.c, * elf64-alpha.c,
1688 * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-s390.c, * elf64-sparc.c,
1689 * elf64-x86-64.c, * elfnn-ia64.c, * elfxx-tilegx.c, * elfxx-tilegx.h:
1690 Add extra params to the various reloc_type_class functions.
1691
0bed072f
AM
16922013-03-27 Alan Modra <amodra@gmail.com>
1693
1694 * elf32-ppc.c (ppc_elf_check_relocs): Set PLT_IFUNC in local got
1695 masks for all local ifunc syms.
1696 (allocate_dynrelocs): Don't use htab->relgot for ifunc.
1697 (ppc_elf_size_dynamic_sections): Likewise.
1698 (ppc_elf_relocate_section): Likewise.
1699
6f820c85
WN
17002013-03-27 Will Newton <will.newton@linaro.org>
1701
1702 * elf32-arm.c (elf32_arm_final_link_relocate): Avoid emitting a
1703 dynamic reloc for symbols with dynindx == -1.
1704 (allocate_dynrelocs_for_symbol): Avoid allocating space for a
1705 dynamic reloc for symbols with dynindx == -1.
1706
31943882
WN
17072013-03-27 Will Newton <will.newton@linaro.org>
1708
1709 * elf32-arm.c (elf32_arm_final_link_relocate): Avoid emitting a
1710 dynamic reloc for non-default visibility undefined weaks.
1711 (allocate_dynrelocs_for_symbol): Avoid allocating space for a
1712 dynamic reloc for non-default visibility undefined weaks.
1713
ffd65175
AM
17142013-03-26 Alan Modra <amodra@gmail.com>
1715
1716 * elflink.c (_bfd_elf_add_default_symbol): Preserve section
1717 over _bfd_elf_merge_symbol calls.
1718
3a81e825
AM
17192013-03-26 Alan Modra <amodra@gmail.com>
1720
1721 * elflink.c (elf_link_add_object_symbols): Add assertion for
1722 common override alignment check code. Formatting.
1723
4f3fedcf
AM
17242013-03-25 Alan Modra <amodra@gmail.com>
1725
1726 * elflink.c (_bfd_elf_merge_symbol): Set old_alignment for
1727 usual common symbols as well as for dynamic. Add poldbfd param.
1728 Save old bfd. Adjust callers.
1729 (_bfd_elf_add_default_symbol): Add poldbfd param. Pass "section"
1730 and "value" by value, not pointer. Adjust caller.
1731 (elf_link_add_object_symbols): Combine undef_bfd and old_bfd vars.
1732 Delete code to set same. Use old_bfd and old_alignment from
1733 _bfd_elf_merge_symbol instead. Add default symbol before
1734 alignment and size checks. Wrap overlong lines.
1735
e3c9d234
AM
17362013-03-25 Alan Modra <amodra@gmail.com>
1737
1738 * elflink.c (_bfd_elf_add_default_symbol): Delete "override" param.
1739 (elf_link_add_object_symbols): Don't call _bfd_elf_add_default_symbol
1740 when override is true.
1741
6c9b78e6
AM
17422013-03-25 Alan Modra <amodra@gmail.com>
1743
1744 * elflink.c (_bfd_elf_merge_symbol): Use local var holding value
1745 of *sym_hash.
1746
191c0c42
AM
17472013-03-25 Alan Modra <amodra@gmail.com>
1748
1749 * elflink.c (_bfd_elf_merge_symbol): Don't discard TLS symbols here.
1750 Wrap long lines.
1751 (elf_link_add_object_symbols): Discard TLS symbols for --just-syms
1752 early in symbol loop.
1753
5d13b3b3
AM
17542013-03-25 Alan Modra <amodra@gmail.com>
1755
1756 * elf-bfd.h (struct elf_backend_data <merge_symbol>): Update proto.
1757 (_bfd_elf_init_reloc_shdr): Delete.
1758 * elf.c (_bfd_elf_init_reloc_shdr): Make static.
1759 * elf64-x86-64.c (elf_x86_64_merge_symbol): Trim parameters to
1760 just what is needed.
1761 * elflink.c (_bfd_elf_merge_symbol): Update bed->merge_symbol call.
1762
8a56bd02
AM
17632013-03-23 Alan Modra <amodra@gmail.com>
1764
1765 * elf-bfd.h (_bfd_elf_merge_symbol): Delete declaration.
1766 * elflink.c (_bfd_elf_merge_symbol): Make static.
1767 * elf32-sh-symbian.c (sh_symbian_relocate_section): Don't call
1768 _bfd_elf_merge_symbol, call _bfd_generic_link_add_one_symbol.
1769
96f29d96
AM
17702013-03-23 Alan Modra <amodra@gmail.com>
1771
1772 PR ld/15270
1773 * elflink.c (elf_link_add_object_symbols): Don't set def_regular
1774 or ref_regular for BFD_PLUGIN owned syms, or have them affect
1775 def_dynamic/ref_dynamic.
1776 (_bfd_elf_fix_symbol_flags): Don't set def_regular for BFD_PLUGIN
1777 owned syms.
1778
209be8d2
DM
17792013-03-22 David S. Miller <davem@davemloft.net>
1780
1781 * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Set type of
1782 hwcaps attribute.
1783
5c0df484
NC
17842013-03-22 Achille Fouilleul <achille.fouilleul+binutils@gadz.org>
1785
1786 PR ld/14902
1787 * elf32-h8300.c (elf32_h8_relax_delete_bytes): Fix off by one
1788 errors adjusting relocs and symbols.
1789
81f5558e
NC
17902013-03-21 Michael Schewe <michael.schewe@gmx.net>
1791
1792 * elf32-h8300 (h8_relax_section): Add new relaxation of mov
1793 @(disp:32,ERx) to mov @(disp:16,ERx).
1794 (R_H8_DISP32A16): New reloc.
1795 Comments added and corrected.
1796 * reloc.c (BFD_RELOC_H8_DISP32A16): New reloc.
1797 * bfd-in2.h: Regenerate.
1798 * libbfd.h: Regenerate.
1799
ce63b7b3
KT
18002013-03-21 Kai Tietz <ktietz@redhat.com>
1801
1802 * coffgen.c (coff_real_object_p): Make global.
1803 * peicode.h (coff_real_object_p): Add prototype.
1804 (FILHDR): Defined for COFF_IMAGE_WITH_PE as
1805 external_PEI_IMAGE_hdr structure.
1806 (coff_swap_filehdr_in): Handle variable header-size.
1807 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Just handle amount
1808 of directory-entiries as specified in pe-header.
1809
088ca6c1
NC
18102013-03-21 Nick Clifton <nickc@redhat.com>
1811
1812 PR sim/15286
1813 * elf32-arm.c (bfd_arm_get_mach_from_attributes): Identify XScale,
1814 iWMMXt and iWMMXt2 processors from attributes.
1815
8877b5e5
AM
18162013-03-20 Alan Modra <amodra@gmail.com>
1817
1818 * elflink.c (_bfd_elf_make_dynamic_reloc_section): Override
1819 sh_type according to is_rela.
1820
ffa9430d
AM
18212013-03-18 Alan Modra <amodra@gmail.com>
1822
1823 PR ld/12549
1824 * elflink.c (elf_link_add_object_symbols): Exclude weak refs when
1825 considering whether an --as-needed library is needed.
1826
cc0ea93c
TT
18272013-03-14 Tom Tromey <tromey@redhat.com>
1828
1829 * opncls.c (bfd_get_debug_link_info): Rename from
1830 get_debug_link_info. Export. Update comment.
1831 (find_separate_debug_file): Update.
1832 * bfd-in2.h: Rebuild.
1833
59c108f7
NC
18342013-03-08 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
1835
a22cd6f6 1836 * elf64-aarch64.c (elf_backend_can_gc_sections): Enable gc-section
59c108f7 1837 support.
a22cd6f6 1838 (elf64_aarch64_gc_sweep_hook): Handle GOT, TLS and PLT related
59c108f7
NC
1839 relocs.
1840
abb3f6cc
NC
18412013-03-08 Andreas Arnez <arnez@linux.vnet.ibm.com>
1842
1843 * elf-bfd.h (elfcore_write_s390_tdb): Add prototype.
1844 * elf.c (elfcore_write_s390_tdb): New function.
1845 (elfcore_write_register_note): Call it.
1846 (elfcore_grok_s390_tdb): New function.
1847 (elfcore_grok_note): Call it.
1848
af924177
MR
18492013-03-08 Maciej W. Rozycki <macro@codesourcery.com>
1850
1851 * elfxx-mips.c (mips_elf_allocate_lazy_stub): Correct data type.
1852
48385e38
CV
18532013-03-05 Corinna Vinschen <vinschen@redhat.com>
1854
1855 * config.bfd: Add x86_64-*-cygwin to list of supported targets.
1856
f75e0e33
AM
18572013-03-04 Alan Modra <amodra@gmail.com>
1858
1859 * elf32-ppc.c (ppc_elf_relocate_section <R_PPC_PLTREL24>): Adjust
1860 non-zero addends when relocatable, rather than addends >= 32768.
1861 Always zero "addend" before applying relocation.
1862
17e3916e
NC
18632013-03-04 Nick Clifton <nickc@redhat.com>
1864
1865 * archive64.c (bfd_elf64_archive_write_armap): Fix calculation of
1866 file pointer offsets for thin archives.
1867
3064e1ff
JB
18682013-02-28 Nathan Sidwell <nathan@codesourcery.com>
1869
1870 * elf32-arm.c (elf32_arm_size_dynamic_sections): Don't call
1871 elf32_arm_allocate_dynrelocs for source reloc for non-dynamic link.
1872
4107ae22
DD
18732013-02-27 DJ Delorie <dj@redhat.com>
1874
1875 * reloc.c (BFD_RELOC_RL78_CODE): Add.
1876 * libbfd.h: Regenerate.
1877 * bfd-in2.h: Regenerate.
1878 * elf32-rl78.c (rl78_elf_relocate_section): Handle weak code
1879 references in compuated relocs.
1880
730fbaf8
AG
18812013-02-26 Anthony Green <green@moxielogic.com>
1882
1883 * config.bfd: Extend moxie-rtems target triplet name support.
1884
35399224
L
18852013-02-21 H.J. Lu <hongjiu.lu@intel.com>
1886
1887 PR ld/15167
1888 * elf64-ia64-vms.c (elf64_vms_link_add_object_symbols): Set
1889 unique_global only for definition.
1890 * elflink.c (_bfd_elf_merge_symbol): Don't set unique_global
1891 here.
1892 (elf_link_add_object_symbols): Set unique_global only
1893 for definition.
1894
c0355132
AM
18952013-02-21 Alan Modra <amodra@gmail.com>
1896
1897 * elf-bfd.h (struct elf_build_id): Extracted from..
1898 (struct elf_build_id_info): ..here. Delete.
1899 (struct output_elf_obj_tdata): New, extracted from..
1900 (struct elf_obj_tdata): ..here. Reorganize for better packing.
1901 Add "o" field.
1902 (elf_program_header_size): Reference tdata->o.
1903 (elf_seg_map, elf_next_file_pos, elf_eh_frame_hdr, elf_linker,
1904 elf_stack_flags, elf_shstrtab, elf_strtab_sec, elf_shstrtab_sec,
1905 elf_section_syms, elf_num_section_syms, elf_flags_init): Likewise.
1906 * elf.c (bfd_elf_allocate_object): Allocate output_elf_obj_tdata
1907 when opening bfd in any mode that might write.
1908 (_bfd_elf_write_object_contents): Use build_id field in
1909 output_elf_obj_tdata.
1910 (_bfd_elf_close_and_cleanup): Tweak elf_shstrtab test.
1911 (elfobj_grok_gnu_build_id): Adjust for elf_tdata changes.
1912
228e534f
AM
19132013-02-21 Alan Modra <amodra@gmail.com>
1914
1915 * elf-bfd.h (struct core_elf_obj_tdata): New.
1916 (struct elf_obj_tdata): Delete core_signal, core_pid, core_lwpid,
1917 core_program, and core_command. Add "core".
1918 * elf.c (bfd_elf_mkcorefile): Allocate "core" struct.
1919 Update all refs to tdata core fields.
1920 * elf32-am33lin.c, * elf32-arm.c, * elf32-cris.c, * elf32-frv.c,
1921 * elf32-hppa.c, * elf32-i386.c, * elf32-m68k.c, * elf32-mips.c,
1922 * elf32-nios2.c, * elf32-ppc.c, * elf32-s390.c, * elf32-score.c,
1923 * elf32-score7.c, * elf32-sh.c, * elf32-sparc.c, * elf32-tilegx.c,
1924 * elf32-tilepro.c, * elf32-xtensa.c, * elf64-aarch64.c,
1925 * elf64-hppa.c, * elf64-mips.c, * elf64-ppc.c, * elf64-tilegx.c,
1926 * elf64-x86-64.c, * elfcore.h, * elfn32-mips.c: Update all refs
1927 to tdata core fields.
1928
12bd6957
AM
19292013-02-21 Alan Modra <amodra@gmail.com>
1930
1931 * elf-bfd.h (struct elf_obj_tdata): Rename segment_map to seg_map.
1932 Delete num_locals and num_globals.
1933 (elf_num_locals, elf_num_globals): Don't define.
1934 (elf_seg_map, elf_next_file_pos, elf_eh_frame_hdr, elf_linker,
1935 elf_stack_flags, elf_strtab_sec, elf_shstrtab_sec): Define.
1936 * bfd.c, * elf-eh-frame.c, * elf-nacl.c, * elf-vxworks.c, * elf.c,
1937 * elf32-arm.c, * elf32-lm32.c, * elf32-ppc.c, * elf32-rx.c,
1938 * elf32-spu.c, * elf64-hppa.c, * elfcode.h, * elflink.c,
1939 * elfnn-ia64.c, * elfxx-mips.c: Use newly defined elf_obj_tdata
1940 accessor macros.
1941 * elf.c (elf_map_symbols): Add pnum_locals param. Return
1942 number of locals syms via new param.
1943 (swap_out_syms): Adjust to suit elf_map_symbols change.
1944
cbf8d970
MR
19452013-02-19 Maciej W. Rozycki <macro@codesourcery.com>
1946
1947 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Also clear
1948 STO_MICROMIPS annotation.
1949
30e8ee25
AM
19502013-02-19 Alan Modra <amodra@gmail.com>
1951
1952 * configure.in: Bump version to 2.23.52.
1953 * elf-bfd.h (struct elf_build_id_info): New.
1954 (struct elf_obj_tdata): Delete after_write_object_contents,
1955 after_write_object_contents_info and build_id_size. Make build_id
1956 a pointer to struct elf_build_id_info.
1957 * elf.c (_bfd_elf_write_object_contents): Style. Update
1958 after_write_ibject_contents invocation.
1959 (elfobj_grok_gnu_build_id): Update for new build_id struct. Don't
1960 allow zero size notes.
1961 * configure: Regenerate.
1962
5b175e56
MR
19632013-02-18 Maciej W. Rozycki <macro@codesourcery.com>
1964
1965 * elf64-mips.c (micromips_elf64_howto_table_rel): Add
1966 R_MICROMIPS_SCN_DISP and R_MICROMIPS_JALR.
1967 (micromips_elf64_howto_table_rela): Likewise.
1968 (micromips_reloc_map): Add BFD_RELOC_MICROMIPS_JALR.
1969 * elfn32-mips.c (elf_micromips_howto_table_rel): Add
1970 R_MICROMIPS_SCN_DISP and R_MICROMIPS_JALR.
1971 (elf_micromips_howto_table_rela): Likewise.
1972 (micromips_reloc_map): Add BFD_RELOC_MICROMIPS_JALR.
1973
e8faf7d1
MR
19742013-02-18 Paul Brook <paul@codesourcery.com>
1975
1976 * elfxx-mips.c (MICROMIPS_P): New macro.
1977 (_bfd_mips_elf_symbol_processing): Use it.
1978
c164a95d
MR
19792013-02-18 Maciej W. Rozycki <macro@codesourcery.com>
1980
1981 * elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Clarify
1982 comment on _PROCEDURE_LINKAGE_TABLE_ creation.
1983
d45f8bda
AM
19842013-02-18 Alan Modra <amodra@gmail.com>
1985
1986 PR ld/12549
1987 * elf-bfd.h (_bfd_elf_strtab_clear_refs): Delete.
1988 (_bfd_elf_strtab_clear_all_refs): Declare.
1989 (_bfd_elf_strtab_resize): Declare.
1990 * elf-strtab.c (_bfd_elf_strtab_clear_refs): Delete.
1991 (_bfd_elf_strtab_clear_all_refs): New function.
1992 (_bfd_elf_strtab_resize): Likewise.
1993 * elflink.c (elf_link_add_object_symbols): Use _bfd_elf_strtab_resize.
1994
698600e4
AM
19952013-02-18 Alan Modra <amodra@gmail.com>
1996
1997 * elf-bfd.h (struct elf_obj_tdata): Move find_line_info, local_stubs,
1998 local_call_stubs, elf_data_symbol, elf_text_symbol, elf_data_section,
1999 and elf_text_section to..
2000 * elfxx-mips.c (struct mips_elf_obj_tdata): ..here. Update all refs.
2001 * elf64-alpha.c (struct mips_elf_find_line): Rename to..
2002 (struct alpha_elf_find_line): ..this.
2003 (struct alpha_elf_obj_tdata): Add find_line_info, update refs.
2004
3d5bef4c
L
20052013-02-16 H.J. Lu <hongjiu.lu@intel.com>
2006
2007 PR ld/15146
2008 * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
2009 for references from the dummy bfd.
2010
313ed4a9
L
20112013-02-16 H.J. Lu <hongjiu.lu@intel.com>
2012
2013 PR ld/15149
2014 * elflink.c (elf_link_add_object_symbols): Also track weak
2015 references.
2016
989fbeff
L
20172013-02-15 H.J. Lu <hongjiu.lu@intel.com>
2018
2019 PR binutils/15151
2020 * archive.c (_bfd_find_nested_archive): Don't allow a nested
2021 archive pointing to itself.
2022 (_bfd_get_elt_at_filepos): Revert the last 2 changes.
2023
a043396b
NC
20242013-02-15 Nick Clifton <nickc@redhat.com>
2025
2026 PR binutils/15140
2027 * archive.c (_bfd_get_elt_at_filepos): Prevent an infinite loop
2028 accessing a corrupt nested archive.
2029
13db6b44
RS
20302013-02-13 Richard Sandiford <rdsandiford@googlemail.com>
2031
2032 * elfxx-mips.c (mips_got_page_ref): New structure.
2033 (mips_got_page_entry): Use a section rather than a (bfd, symndx)
2034 pair to represent the anchor point.
2035 (mips_got_info): Add a got_page_refs field.
2036 (mips_elf_link_hash_table): Add a sym_cache field.
2037 (mips_got_page_ref_hash, mips_got_page_ref_eq): New functions.
2038 (mips_got_page_entry_hash, mips_got_page_entry_eq): Update for
2039 new anchor representation.
2040 (mips_elf_create_got_info): Create got_page_refs rather than
2041 got_page_entries.
2042 (mips_elf_record_got_page_ref): New function.
2043 (mips_elf_pages_for_range): Move further down file.
2044 (mips_elf_record_got_page_entry): Likewise. Take a got as argument.
2045 Use a section rather than a (bfd, symndx) pair to represent the
2046 anchor point.
2047 (mips_elf_resolve_got_page_ref): New function.
2048 (mips_elf_resolve_final_got_entries): Use it to populate
2049 got_page_entries.
2050 (_bfd_mips_elf_check_relocs): Call mips_elf_record_got_page_ref
2051 rather than mips_elf_record_got_page_entry. Only nullify h
2052 afterwards.
2053 (mips_elf_lay_out_got): Call mips_elf_resolve_final_got_entries
2054 earlier.
2055
57093f5e
RS
20562013-02-12 Richard Sandiford <rdsandiford@googlemail.com>
2057
2058 * elfxx-mips.c (mips_elf_lay_out_got): Count VxWorks GOT relocs
2059 in g->relocs.
2060
9c3f90c4
AM
20612013-02-12 Alan Modra <amodra@gmail.com>
2062
2063 * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Provide
2064 suitable definition when using generic linker hash table.
2065
476366af
RS
20662013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
2067
2068 * elfxx-mips.c (mips_elf_count_got_entries): Delete.
2069 (mips_elf_check_recreate_got, mips_elf_recreate_got): Take a
2070 mips_elf_traverse_got_arg. Count GOT entries.
2071 (mips_elf_resolve_final_got_entries): Take the bfd_link_info
2072 as argument. Update after above changes.
2073 (mips_elf_merge_got, mips_elf_lay_out_got): Don't call
2074 mips_elf_count_got_entries. Update the calls to
2075 mips_elf_resolve_final_got_entries.
2076
9ab066b4
RS
20772013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
2078
2079 * elfxx-mips.c (mips_got_tls_type): New enum.
2080 (mips_got_entry): Add tls_initialized.
2081 (mips_elf_got_entry_hash, mips_elf_got_entry_eq, mips_tls_got_relocs)
2082 (mips_elf_count_got_entry, mips_elf_initialize_tls_index): Remove
2083 GOT_TLS_TYPE masks.
2084 (mips_elf_reloc_tls_type, mips_tls_got_entries)
2085 (mips_elf_record_global_got_symbol, mips_elf_initialize_tls_index)
2086 (_bfd_mips_elf_finish_dynamic_symbol): Use GOT_TLS_NONE rather
2087 than GOT_NORMAL.
2088 (mips_elf_initialize_tls_slots): Replace got_offset and tls_type_p
2089 arguments with a GOT entry. Remove GOT_TLS_TYPE masks. Use
2090 tls_initialized rather than GOT_TLS_DONE.
2091 (mips_tls_got_index): Delete.
2092 (mips_elf_local_got_index, mips_elf_global_got_index): Use
2093 mips_elf_initialize_tls_slots rather than mips_tls_got_index.
2094 (mips_elf_record_got_entry): Initialize tls_initialized.
2095
6c42ddb9
RS
20962013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
2097
2098 * elfxx-mips.c (mips_got_entry): Remove tls_ldm_offset.
2099 (mips_elf_link_hash_entry): Remove tls_ie_type, tls_gd_type,
2100 tls_ie_got_offset and tls_gd_got_offset.
2101 (mips_elf_link_hash_newfunc): Remove initialization.
2102 (mips_elf_create_got_info): Likewise.
2103 (mips_elf_count_local_got_entries, mips_elf_count_global_tls_entries)
2104 (mips_tls_single_got_index): Delete.
2105 (mips_elf_local_got_index): Always use the GOT entry to track
2106 GOT indices.
2107 (mips_elf_global_got_index): Likewise.
2108 (mips_elf_create_local_got_entry): Assert that TLS entries have
2109 already been allocated.
2110 (mips_elf_record_global_got_symbol): Don't initialize
2111 tls_ie_type or tls_gd_type.
2112 (mips_elf_count_got_symbols): Only count reloc-only GOT entries here.
2113 (mips_elf_initialize_tls_index): Allocate a GOT index for every TLS
2114 entry.
2115 (mips_elf_lay_out_got): Use mips_elf_count_got_entries to count
2116 the GOT entries.
2117 (_bfd_mips_elf_finish_dynamic_symbol): Assert that TLS GOT offsets
2118 have been allocated.
2119 (_bfd_mips_elf_copy_indirect_symbol): Remove handling of
2120 tls_ie_type and tls_gd_type.
2121
ebc53538
RS
21222013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
2123
2124 * elfxx-mips.c (mips_elf_create_local_got_entry): Tidy. Avoid
2125 aliasing violation. Check for htab allocation failures.
2126
13fbec83
RS
21272013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
2128
2129 * elfxx-mips.c (mips_elf_primary_global_got_index): New function,
2130 split out from...
2131 (mips_elf_global_got_index): ...here. Reorder arguments so that
2132 the output bfd and info come first.
2133 (mips_elf_calculate_relocation): Update the call to
2134 mips_elf_global_got_index accordingly.
2135 (_bfd_mips_elf_finish_dynamic_symbol): Use
2136 mips_elf_primary_global_got_index rather than
2137 mips_elf_global_got_index.
2138 (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
2139
3dff0dd1
RS
21402013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
2141
2142 * elfxx-mips.c (mips_got_entry): Update comments.
2143 (mips_elf_multi_got_entry_eq): Rename to...
2144 (mips_elf_got_entry_eq): ...this, deleting the old definition.
2145 (mips_elf_create_got_info): Remove master_got_p argument.
2146 Always use mips_elf_got_entry_eq.
2147 (mips_elf_bfd_got, mips_elf_multi_got, mips_elf_create_got_section):
2148 Update calls accordingly.
2149
d7206569
RS
21502013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
2151
2152 * elfxx-mips.c (mips_got_info): Remove bfd2got.
2153 (mips_elf_bfd2got_hash): Delete.
2154 (mips_elf_got_per_bfd_arg): Remove bfd2got.
2155 (mips_elf_replace_bfd_got, mips_elf_count_got_entries): New functions.
2156 (mips_elf_global_got_index, mips_elf_create_local_got_entry): Use
2157 g->next to test for the multigot case. Use mips_elf_bfd_got rather
2158 than mips_elf_got_for_ibfd.
2159 (mips_elf_bfd2got_entry_hash, mips_elf_bfd2got_entry_eq)
2160 (mips_elf_got_for_ibfd, mips_elf_get_got_for_bfd): Delete.
2161 (mips_elf_make_got_per_bfd): Replace with...
2162 (mips_elf_add_got_entry): ...this new function.
2163 (mips_elf_make_got_pages_per_bfd): Replace with...
2164 (mips_elf_add_got_page_entry): ...this new function.
2165 (mips_elf_merge_got_with): Replace bfd2got argument with separate
2166 bfd and GOT arguments. Use mips_elf_add_got_entry and
2167 mips_elf_add_got_page_entry instead of mips_elf_make_got_per_bfd
2168 and mips_elf_make_got_pages_per_bfd. Use mips_elf_replace_bfd_got
2169 to set the BFD's GOT and free the old table.
2170 (mips_elf_merge_got): Replace bfd2got argument with separate
2171 bfd and GOT arguments. Apply mips_elf_resolve_final_got_entries.
2172 Use mips_elf_count_got_entries to count the number of entries in
2173 each GOT. Update the calls to mips_elf_merge_got_with.
2174 (mips_elf_adjust_gp): Use g->next to test for the multigot case.
2175 Use mips_elf_bfd_got rather than mips_elf_got_for_ibfd.
2176 (mips_elf_multi_got): Don't create the bfd2got hash table.
2177 Replace hash table traversal with a walk over the input bfds,
2178 updating the call to mips_elf_merge_got. Use mips_elf_replace_bfd_got
2179 to set the output bfd's GOT.
2180 (mips_elf_lay_out_got): Rename "sub" to "ibfd". Record that all
2181 bfds use the master GOT in the single-GOT case.
2182 (_bfd_mips_elf_finish_dynamic_sections): Use mips_elf_bfd_got
2183 rather than mips_elf_got_for_ibfd.
2184
ee227692
RS
21852013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
2186
2187 * elfxx-mips.c (mips_elf_obj_tdata): Add a got field.
2188 (mips_elf_bfd_got, mips_elf_record_got_entry): New functions.
2189 (mips_elf_record_global_got_symbol): Update the hash entry before
2190 adding the mips_got_entry. Use mips_elf_record_got_entry to do
2191 the latter.
2192 (mips_elf_record_local_got_symbol): Use mips_elf_record_got_entry.
2193 (mips_elf_record_got_page_entry): Record the entry in both the
2194 master and bfd GOTs.
2195
72e7511a
RS
21962013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
2197
2198 * elfxx-mips.c (mips_elf_recreate_got): Don't change the entry;
2199 create another one if necessary.
2200 (mips_elf_set_gotidx): New function.
2201 (mips_elf_set_global_gotidx): Use it.
2202 (mips_elf_initialize_tls_index): Likewise. Take a
2203 mips_elf_traverse_got_arg as argument.
2204 (mips_elf_lay_out_got): Update use of mips_elf_initialize_tls_index.
2205 (mips_elf_multi_got): Likewise. Cope with error returns from
2206 mips_elf_set_global_gotidx.
2207
ab361d49
RS
22082013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
2209
2210 * elfxx-mips.c (mips_got_info): Add relocs field.
2211 (mips_elf_set_global_got_offset_arg, mips_elf_count_tls_arg): Replace
2212 with...
2213 (mips_elf_traverse_got_arg): ...this new structure.
2214 (mips_elf_count_local_tls_relocs): Delete.
2215 (mips_elf_count_global_tls_relocs): Likewise.
2216 (mips_elf_count_got_entry): New function.
2217 (mips_elf_count_local_got_entries): Likewise.
2218 (mips_elf_count_global_tls_entries): Take a mips_elf_traverse_got_arg
2219 rather than a mips_elf_count_tls_arg. Count both relocs and entries.
2220 (mips_elf_record_local_got_symbol): Don't count got entries here.
2221 (mips_elf_make_got_per_bfd): Use mips_elf_count_got_entry.
2222 (mips_elf_set_global_got_offset): Split into...
2223 (mips_elf_set_global_got_area, mips_elf_set_global_gotidx): ...these
2224 new functions. Take a mips_elf_traverse_got_arg rather than a
2225 mips_elf_set_global_got_offset_arg. Don't count TLS relocs here.
2226 Use g->relocs to record the number of relocs needed for global GOT
2227 entries.
2228 (mips_elf_multi_got): Use mips_elf_traverse_got_arg rather than
2229 mips_elf_set_global_got_offset_arg. Use the relocs field to count
2230 relocations. Update for above function split.
2231 (mips_elf_lay_out_got): Use mips_elf_count_local_got_entries
2232 to count both the number of GOT entries and the number of TLS
2233 relocs required by local entries. Likewise
2234 mips_elf_count_global_tls_entries and global entries.
2235 Remove uses of mips_elf_count_local_tls_relocs and
2236 mips_elf_count_global_tls_relocs.
2237
e641e783
RS
22382013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
2239
2240 * elfxx-mips.c (mips_got_entry): Update comment above tls_type entry
2241 to say that each structure represents only one type of TLS reference.
2242 (GOT_TLS_TYPE): New define.
2243 (mips_elf_link_hash_entry): Temporarily split tls_type and
2244 tls_got_offset into two variables each.
2245 (mips_elf_link_hash_newfunc): Update accordingly.
2246 (mips_elf_got_entry_eq, mips_elf_got_entry_hash)
2247 (mips_elf_multi_got_entry_eq): Require the tls_type to be the same.
2248 (mips_elf_reloc_tls_type, mips_tls_got_entries): New functions.
2249 (mips_tls_got_relocs): Use a switch statement.
2250 (mips_elf_count_global_tls_entries): Handle the new hash entry fields.
2251 (mips_elf_initialize_tls_slots): Use a switch statement. Avoid
2252 local "offset" variable.
2253 (mips_tls_got_index): Remove r_type argument and assert. Remove
2254 code that handled entries with two TLS types; always use the
2255 original got_index instead.
2256 (mips_tls_single_got_index): New function.
2257 (mips_elf_local_got_index): Use entry->tls_type to check for
2258 TLS entries. Use mips_tls_single_got_index. Update call to
2259 mips_tls_got_index.
2260 (mips_elf_global_got_index): Use mips_elf_reloc_tls_type.
2261 Use p->tls_type to check for TLS entries. Update call to
2262 mips_tls_got_index. Use mips_tls_single_got_index.
2263 (mips_elf_create_local_got_entry): Use mips_elf_reloc_tls_type.
2264 Use entry.tls_type to check for TLS entries.
2265 (mips_elf_record_global_got_symbol): Replace tls_flag argument
2266 with r_type argument. Use mips_elf_reloc_tls_type.
2267 Set up the new hash entry fields.
2268 (mips_elf_record_local_got_symbol): Replace tls_flag argument
2269 with r_type argument. Use mips_elf_reloc_tls_type and
2270 mips_tls_got_entries. Remove code that handled entries
2271 with multiple TLS types.
2272 (mips_elf_make_got_per_bfd): Use mips_tls_got_entries.
2273 (mips_elf_initialize_tls_index): Handle new hash entry fields.
2274 Use equality rather than masks when checking for specific TLS types.
2275 Use mips_tls_got_entries. Remove code that handled entries
2276 with multiple TLS types.
2277 (mips_elf_calculate_relocation): Use TLS_RELOC_P instead of
2278 testing the hash table entry.
2279 (_bfd_mips_elf_check_relocs): Update calls to
2280 mips_elf_record_global_got_symbol and mips_elf_record_local_got_symbol.
2281 (_bfd_mips_elf_finish_dynamic_symbol): Don't check h->type.
2282 (_bfd_mips_elf_copy_indirect_symbol): Handle new hash entry fields.
2283
d9bf376d
RS
22842013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
2285
2286 * elfxx-mips.c (mips_elf_multi_got_entry_hash): Rename to...
2287 (mips_elf_got_entry_hash): ...this, deleting the old version.
2288 (mips_elf_create_got_info): Use mips_elf_got_entry_hash for
2289 both types of GOT.
2290
5334aa52
RS
22912013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
2292
2293 * elfxx-mips.c (mips_elf_create_got_info): New function.
2294 (mips_elf_get_got_for_bfd, mips_elf_multi_got): Use it.
2295 (mips_elf_create_got_section): Likewise.
2296
946c668d
RS
22972013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
2298
2299 * elfxx-mips.c (mips_elf_record_local_got_symbol): Always set
2300 gotidx to -1.
2301
59b08994
RS
23022013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
2303
2304 * elfxx-mips.c (mips_elf_multi_got): Simplify size calculation.
2305
d222d210
RS
23062013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
2307
2308 * elfxx-mips.c (mips_got_info): Move global_gotsym to...
2309 (mips_elf_link_hash_table): ...here. Update rest of file accordingly.
2310
1fd20d70
RS
23112013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
2312
2313 * elfxx-mips.c (mips_elf_count_global_tls_entries)
2314 (mips_elf_count_global_tls_relocs): Don't count indirect or
2315 warning symbols.
2316 (mips_elf_multi_got, mips_elf_lay_out_got): Assert that the right
2317 number of TLS entries were allocated.
2318
7d94b319
RS
23192013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
2320
2321 * elfxx-mips.c (mips_elf_sort_hash_table_f): Remove asserts.
2322
17214937
RS
23232013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
2324
2325 * elfxx-mips.c (mips_elf_merge_got_with): Only use arg->global_count
2326 if there are TLS relocations.
2327
9efeb38d
RS
23282013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
2329
2330 * elfxx-mips.c (mips_elf_recreate_got): Remove free.
2331 (mips_elf_resolve_final_got_entries): Remove bogus comment.
2332
9c3f90c4
AM
23332013-02-11 Alan Modra <amodra@gmail.com>
2334
2335 * elfcode.h (elf_checksum_contents): Free contents.
2336 * elf-bfd.h (_bfd_elf_link_hash_table_free): Declare.
2337 * elflink.c (_bfd_elf_link_hash_table_free): New function.
2338 (elf_final_link_free): New function, extracted from..
2339 (bfd_elf_final_link): ..here. Always call
2340 _bfd_elf_write_section_eh_frame_hdr.
2341 * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Default to
2342 _bfd_elf_link_hash_table_free.
2343 * libbfd-in.h (_bfd_merge_sections_free): Declare.
2344 * libbfd.h: Regenerate.
2345 * merge.c (_bfd_merge_sections_free): New function.
2346 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): Free
2347 hdr_info->array.
2348 * elf-m10300.c (elf32_mn10300_link_hash_table_free): Call
2349 _bfd_elf_link_hash_table_free.
2350 * elf32-arm.c (elf32_arm_link_hash_table_free): Likewise.
2351 * elf32-avr.c (elf32_avr_link_hash_table_free): Likewise.
2352 * elf32-hppa.c (elf32_hppa_link_hash_table_free): Likewise.
2353 * elf32-i386.c (elf_i386_link_hash_table_free): Likewise.
2354 * elf32-m68hc1x.c (m68hc11_elf_hash_table_free): Likewise.
2355 * elf32-m68k.c (elf_m68k_link_hash_table_free): Likewise.
2356 * elf32-metag.c (elf_metag_link_hash_table_free): Likewise.
2357 * elf32-xgate.c (xgate_elf_bfd_link_hash_table_free): Likewise.
2358 * elf64-aarch64.c (elf64_aarch64_link_hash_table_free): Likewise.
2359 * elf64-ia64-vms.c (elf64_ia64_hash_table_free): Likewise.
2360 * elf64-ppc.c (ppc64_elf_link_hash_table_free): Likewise.
2361 * elf64-x86-64.c (elf_x86_64_link_hash_table_free): Likewise.
2362 * elfnn-ia64.c (elfNN_ia64_hash_table_free): Likewise.
2363 * elf32-cr16.c (elf32_cr16_link_hash_table_free): Delete.
2364 (bfd_elf32_bfd_link_hash_table_free): Don't define.
2365 * elf32-tic6x.c (elf32_tic6x_link_hash_table_free): Delete.
2366 (bfd_elf32_bfd_link_hash_table_free): Dont' define.
2367
7bf52ea2
AM
23682013-02-10 Alan Modra <amodra@gmail.com>
2369
2370 * coff-arm.c (coff_arm_link_hash_table_create): Use bfd_zmalloc.
2371 * coff-h8300.c (h8300_coff_link_hash_table_create): Likewise.
2372 * m68klinux.c (linux_link_hash_table_create): Likewise.
2373 * sparclinux.c (linux_link_hash_table_create): Likewise.
2374 * sunos.c (sunos_link_hash_table_create): Likewise.
2375 * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise.
2376 * elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise.
2377 * elf32-arm.c (elf32_arm_link_hash_table_create): Likewise.
2378 * elf32-avr.c (elf32_avr_link_hash_table_create): Likewise.
2379 * elf32-cr16.c (elf32_cr16_link_hash_table_create): Likewise.
2380 * elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
2381 * elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise.
2382 * elf32-i386.c (elf_i386_link_hash_table_create): Likewise.
2383 * elf32-lm32.c (lm32_elf_link_hash_table_create): Likewise.
2384 * elf32-m32r.c (m32r_elf_link_hash_table_create): Likewise.
2385 * elf32-m68hc1x.c (m68hc11_elf_hash_table_create): Likewise.
2386 * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
2387 * elf32-metag.c (elf_metag_link_hash_table_create): Likewise.
2388 * elf32-nios2.c (nios2_elf32_link_hash_table_create): Likewise.
2389 * elf32-s390.c (elf_s390_link_hash_table_create): Likewise.
2390 * elf32-score.c (elf32_score_link_hash_table_create): Likewise.
2391 * elf32-spu.c (spu_elf_link_hash_table_create): Likewise.
2392 * elf32-tic6x.c (elf32_tic6x_link_hash_table_create): Likewise.
2393 * elf32-vax.c (elf_vax_link_hash_table_create): Likewise.
2394 * elf32-xgate.c (xgate_elf_bfd_link_hash_table_create): Likewise.
2395 * elf32-xtensa.c (elf_xtensa_link_hash_table_create): Likewise.
2396 * elf64-aarch64.c (elf64_aarch64_link_hash_table_create): Likewise.
2397 * elf64-s390.c (elf_s390_link_hash_table_create): Likewise.
2398 * elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise.
2399 * elf64-x86-64.c (elf_x86_64_link_hash_table_create): Likewise.
2400 * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
2401 * elflink.c (_bfd_elf_link_hash_table_create): Likewise.
2402 (_bfd_elf_link_hash_table_init): Assume zero fill table on entry.
2403
22cdc249
AM
24042013-02-10 Alan Modra <amodra@gmail.com>
2405
2406 * i386linux.c (linux_link_hash_table_create): Allocate table
2407 with bfd_zmalloc, not bfd_alloc.
2408 * pdp11.c (link_hash_table_create): Allocate table with
2409 bfd_malloc, not bfd_alloc.
2410 * elf32-bfin.c (bfinfdpic_elf_link_hash_table_create): Allocate table
2411 with bfd_zmalloc, not bfd_zalloc.
2412 (bfin_link_hash_table_create): Likewise.
2413 * elf32-frv.c (frvfdpic_elf_link_hash_table_create): Likewise.
2414 * elf64-hppa.c (elf64_hppa_hash_table_create): Likewise.
2415
0e5de31a
AM
24162013-02-10 Alan Modra <amodra@gmail.com>
2417
2418 PR ld/15113
2419 * elf32-sh.c (sh_elf_link_hash_table_create): Use bfd_zmalloc.
2420
ad1fc92a
NC
24212013-02-08 Markos Chandras <markos.chandras@imgtec.com>
2422
2423 * elf32-metag.c: Use bfd_get_linker_section to get SEC_LINKER_CREATED
2424 sections.
34c67f14
NC
2425 (elf_metag_adjust_dynamic_symbol): Don't error on zero size dynbss
2426 symbol.
ad1fc92a 2427
170a8295
YZ
24282013-02-08 Yufeng Zhang <yufeng.zhang@arm.com>
2429
2430 * elf64-aarch64.c (elf64_aarch64_grok_prstatus): Change 'size' from
2431 288 to 272.
2432
619a703e
AM
24332013-02-08 Alan Modra <amodra@gmail.com>
2434
2435 PR binutils/15106
2436 * elf-bfd.h (struct elf_obj_tdata): Add elf_find_function_cache.
2437 * elf.c (elf_find_function): Revert last change. Use new
2438 tdata field rather than static vars for cache.
2439
02acbe22
L
24402013-02-07 H.J. Lu <hongjiu.lu@intel.com>
2441
2442 PR ld/15107
2443 * elflink.c (elf_link_output_extsym): Set STB_GNU_UNIQUE only if
2444 symbol is defined in regular object.
2445
1965d5f2
AM
24462013-02-07 Roberto Agostino Vitillo <ra.vitillo@gmail.com>
2447
2448 PR binutils/15106
2449 * elf.c (elf_find_function): Don't cache if symbols change.
2450
dafbc74d
AM
24512013-02-07 Alan Modra <amodra@gmail.com>
2452
2453 PR binutils/14873
2454 * elf-attrs.c (_bfd_elf_copy_obj_attributes): Don't attempt to
2455 copy attributes from or to non-ELF.
2456
20e52bd2
L
24572013-02-06 H.J. Lu <hongjiu.lu@intel.com>
2458
2459 * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't clear pc_count
2460 for non-zero TLS symbol.
2461 (elf_i386_relocate_section): Don't resolve size relocation against
2462 non-zero TLS symbol.
2463 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Don't clear
2464 pc_count for non-zero TLS symbol.
2465 (elf_x86_64_relocate_section): Don't resolve size relocation
2466 against non-zero TLS symbol.
2467
36591ba1 24682013-02-06 Sandra Loosemore <sandra@codesourcery.com>
20e52bd2 2469 Andrew Jenner <andrew@codesourcery.com>
36591ba1
SL
2470
2471 Based on patches from Altera Corporation.
2472
2473 * Makefile.am (ALL_MACHINES): Add cpu-nios2.lo.
2474 (ALL_MACHINES_CFILES): Add cpu-nios2.c.
2475 (BFD_BACKENDS): Add elf32-nios2.lo.
2476 (BFD32_BACKENDS_CFILES): Add elf32-nios2.c.
2477 * Makefile.in: Regenerated.
2478 * configure.in: Add entries for bfd_elf32_bignios2_vec and
2479 bfd_elf32_littlenios2_vec.
2480 * configure: Regenerated.
2481 * config.bfd: Add cases for nios2.
2482 * archures.c (enum bfd_architecture): Add bfd_arch_nios2.
2483 (bfd_mach_nios2): Define.
2484 (bfd_nios2_arch): Declare.
2485 (bfd_archures_list): Add bfd_nios2_arch.
2486 * targets.c (bfd_elf32_bignios2_vec): Declare.
2487 (bfd_elf32_littlenios2_vec): Declare.
2488 (_bfd_target_vector): Add entries for bfd_elf32_bignios2_vec and
2489 bfd_elf32_littlenios2_vec.
2490 * elf-bfd.h (enum elf_target_id): Add NIOS2_ELF_DATA.
2491 * reloc.c (enum bfd_reloc_code_real): Add Nios II relocations.
2492 * bfd-in2.h: Regenerated.
2493 * libbfd.h: Regenerated.
2494 * cpu-nios2.c: New file.
2495 * elf32-nios2.c: New file.
2496
ca6b5f82
AM
24972013-02-06 Alan Modra <amodra@gmail.com>
2498
2499 * elf32-arm.c (elf32_arm_final_link_relocate): Only test for
2500 stubs in stub_bfd.
2501
37ba9f93
AM
25022013-02-06 Alan Modra <amodra@gmail.com>
2503
2504 * Makefile.am (SOURCE_HFILES): Add `elf-linux-psinfo.h'.
2505 * Makefile.in: Regenerate.
2506
70a38d42
SDJ
25072013-02-04 Sergio Durigan Junior <sergiodj@redhat.com>
2508 Pedro Alves <palves@redhat.com>
2509
2510 * Makefile.in (SOURCE_HFILES): Add `elf-linux-psinfo.h'.
2511 * elf-bfd.h (elf_internal_linux_prpsinfo): New structure
2512 declaration.
2513 (elfcore_write_linux_prpsinfo32, elfcore_write_linux_prpsinfo64)
2514 (elfcore_write_ppc32_linux_prpsinfo32): New declarations.
2515 * elf-linux-psinfo.h: New file.
2516 * elf.c: Include elf-linux-psinfo.h.
2517 (elfcore_write_linux_prpsinfo32, elfcore_write_linux_prpsinfo64):
2518 New functions.
2519 * elf32-ppc.c: Include `elf-linux-psinfo.h'.
2520 (elf_external_ppc_linux_prpsinfo32): New structure declaration.
2521 (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): New macro.
2522 (elfcore_write_ppc_linux_prpsinfo32): New function.
2523
5ee43bc4
TG
25242013-02-04 Tristan Gingold <gingold@adacore.com>
2525
2526 * mach-o.c (bfd_mach_o_scan_start_address): Do not fail if no
2527 start address.
2528
0cadb185
AM
25292013-02-04 Alan Modra <amodra@gmail.com>
2530
2531 * Makefile.am (BFD64_BACKENDS): Remove elf-nacl.lo.
2532 (BFD64_BACKENDS_CFILES): Remove elf-nacl.c.
2533 * Makefile.in: Regenerate.
2534 * po/SRC-POTFILES.in: Regenerate.
2535
5d42dfb5
AM
25362013-02-04 Alan Modra <amodra@gmail.com>
2537
2538 * coff-tic54x.c (SWAP_OUT_RELOC_EXTRA): Delete.
2539 * coff-tic80.c (SWAP_OUT_RELOC_EXTRA): Delete.
2540
c57da1a7
AM
25412013-02-01 Alan Modra <amodra@gmail.com>
2542
2543 * elf64-ppc.c (dec_dynrel_count): Don't error when elf_gc_sweep_symbol
2544 clears def_regular.
2545
c0fd7846
TG
25462013-01-31 Tristan Gingold <gingold@adacore.com>
2547
2548 * mach-o.c (bfd_mach_o_scan): Call bfd_mach_o_flatten_sections
2549 earlier. Fix status checking of bfd_mach_o_scan_start_address.
2550 (bfd_mach_o_scan_start_address): Handle LC_MAIN.
2551
b45b6908
AM
25522013-01-31 Alan Modra <amodra@gmail.com>
2553 David S. Miller <davem@davemloft.net>
2554
2555 PR ld/15056
2556 * elfxx-sparc.c (_bfd_sparc_elf_gc_mark_hook): Handle implicit
2557 references to __tls_get_addr.
2558 * elf32-tilpro.c (tilepro_elf_gc_mark_hook): Likewise. Correct
2559 vtinherit and vtentry reloc handling too.
2560 * elfxx-tilegx.c (tilegx_elf_gc_mark_hook): As for tilepro.
2561
bcaa2f82
AM
25622013-01-31 Alan Modra <amodra@gmail.com>
2563
2564 * elf64-ppc.c (ppc_stub_name): Trim off trailing "+0".
2565
22aa0c7e
AM
25662013-01-31 Alan Modra <amodra@gmail.com>
2567
2568 * elf64-ppc.c (build_plt_stub): Correct plt stub branch to glink.
2569
bc30df16
AM
25702013-01-28 Alan Modra <amodra@gmail.com>
2571
2572 * elf64-ppc.c: Use %T to print symbols names and remove redundant
2573 "relocation" in error messages throughout file.
2574 (ppc64_elf_relocate_section): Remove sibling call error message,
2575 replace with "call lacks nop". Specially report errors for
2576 branches to function entry points via OPD lookup and branches
2577 to stubs. Remove NULL symbol handling now done by %T.
2578
89d7b8aa
AM
25792013-01-28 Alan Modra <amodra@gmail.com>
2580
2581 * archive.c (bfd_generic_archive_p): Return target and keep
2582 ardata on partial matches.
2583 * format.c (bfd_check_format_matches): Adjust for above
2584 change. Remove bfd_error_file_ambiguously_recognized dead
2585 code.
2586
c9ba0c87
AM
25872013-01-26 Alan Modra <amodra@gmail.com>
2588
2589 * bfd.c (struct bfd_preserve, bfd_preserve_save, bfd_preserve_restore,
2590 bfd_preserve_finish): Move to..
2591 * format.c: ..here, splitting out..
2592 (bfd_reinit): ..this. New function.
2593 (bfd_check_format_matches): Use bfd_preserve_save/restore to
2594 keep bfd state for a match.
2595 * elfcode.h (elf_object_p): Don't use bfd_preserve_save/restore.
2596 * elfcore.h (elf_core_file_p): Likewise.
2597 * mach-o.c (bfd_mach_o_header_p): Likewise.
2598 * pef.c (bfd_pef_object_p, bfd_pef_xlib_object_p): Likewise.
2599 * xsym.c (bfd_sym_object_p): Likewise.
2600 * mmo.c (mmo_scan): Clear abfd->symcount.
2601 * opncls.c (_bfd_new_bfd): Use a smaller section hash table.
2602 * section.c (bfd_section_list_clear): Clear section_htab.count.
2603 * bfd-in2.h: Regenerate.
2604
d79dcc73
NC
26052013-01-25 Michael Schewe <michael.schewe@gmx.net>
2606
2607 * elf32-h8300.c (elf32_h8_relax_section): When checking for a
2608 second reloc, make sure that the reloc potentially exists first.
2609
78c8d46c
NC
26102013-01-24 Nick Clifton <nickc@redhat.com>
2611
2612 * archures.c: Add bfd_mach_v850e3v5.
2613 * bfd-in2.h: Regenerate.
2614 * cpu-v850.c: Add entries for v850e2v5 and v850e3v5.
2615 * cpu-v850_rh850.c: Likewise.
2616 * elf32-v850.c: Add support for v850e3v5 architecture.
2617
1a18f0ae
NC
26182013-01-23 Markos Chandras <markos.chandras@imgtec.com>
2619
2620 * elf32-metag.c: Error on HIADDR16/LOADDR16 in shared link.
2621
f65a9e53
AM
26222013-01-23 Leif Ekblad <leif@rdos.net>
2623
2624 * config.bfd (x86_64-*-rdos*): Remove targ_selvecs.
2625
3bea1fcb
L
26262013-01-18 H.J. Lu <hongjiu.lu@intel.com>
2627
2628 * elf32-i386.c (elf_i386_allocate_dynrelocs): Clear pc_count for
2629 non-zero TLS symbol.
2630 (elf_i386_relocate_section): Resolve size relocation against
2631 non-zero TLS symbol.
2632 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Clear pc_count
2633 for non-zero TLS symbol.
2634 (elf_x86_64_relocate_section): Resolve size relocation against
2635 non-zero TLS symbol.
2636
b1b00fcc
MF
26372013-01-18 Mike Frysinger <vapier@gentoo.org>
2638
2639 * elflink.c (bfd_elf_size_dynamic_sections): Only add DT_RPATH
2640 when new_dtags is false. Only add DT_RUNPATH when new_dtags is
2641 true.
2642
06a6a421
L
26432013-01-17 H.J. Lu <hongjiu.lu@intel.com>
2644
2645 * elf32-i386.c (elf_i386_check_relocs): Count size relocation as
2646 PC-relative relocation.
2647 * elf64-x86-64.c (elf_x86_64_check_relocs): Count size relocation
2648 as PC-relative relocation.
2649
6a3e1bae
L
26502013-01-16 H.J. Lu <hongjiu.lu@intel.com>
2651
2652 * elf32-i386.c (elf_i386_check_relocs): Update R_386_SIZE32
2653 check.
2654 (elf_i386_relocate_section): Don't check TLS for R_386_SIZE32.
2655
2656 * elf64-x86-64.c (elf_x86_64_check_relocs): Update R_X86_64_SIZE32
2657 and R_X86_64_SIZE64 check.
2658 (elf_x86_64_relocate_section): Don't check TLS for R_X86_64_SIZE32
2659 nor R_X86_64_SIZE64.
2660
1788fc08
L
26612013-01-16 H.J. Lu <hongjiu.lu@intel.com>
2662
2663 * bfd-in2.h: Regenerated.
2664 * libbfd.h: Likewise.
2665
2666 * elf32-i386.c (elf_howto_table): Fill R_386_SIZE32 entry.
2667 (elf_i386_reloc_type_lookup): Support BFD_RELOC_SIZE32.
2668 (elf_i386_check_relocs): Handle R_386_SIZE32.
2669 (elf_i386_gc_sweep_hook): Likewise.
2670 (elf_i386_relocate_section): Likewise.
2671
2672 * elf64-x86-64.c (x86_64_elf_howto_table): Fill R_X86_64_SIZE32
2673 and R_X86_64_SIZE64 entries.
2674 (x86_64_reloc_map): Add BFD_RELOC_SIZE32 and BFD_RELOC_SIZE64,
2675 (elf_x86_64_rtype_to_howto): Handle R_X86_64_SIZE32 for x32.
2676 (elf_x86_64_reloc_name_lookup): Likewise.
2677 (elf_x86_64_check_relocs): Handle R_X86_64_SIZE32 and
2678 R_X86_64_SIZE64.
2679 (elf_x86_64_gc_sweep_hook): Likewise.
2680 (elf_x86_64_relocate_section): Likewise.
2681
2682 * reloc.c (bfd_reloc_code_type): Add BFD_RELOC_SIZE32 and
2683 BFD_RELOC_SIZE64.
2684
1e536451
L
26852013-01-15 H.J. Lu <hongjiu.lu@intel.com>
2686
2687 * elf64-x86-64.c (R_X86_64_standard): Replace R_X86_64_IRELATIVE
2688 with R_X86_64_RELATIVE64.
2689
77bf820f
NC
26902013-01-15 Nick Clifton <nickc@redhat.com>
2691
2692 * elf32-msp430.c: Fix spelling typo.
2693
e2458743
AM
26942013-01-15 Alan Modra <amodra@gmail.com>
2695
2696 * elf64-ppc.c (ppc64_elf_size_stubs): Default shared libs to
2697 plt-thread-safe.
2698
405bf443
AM
26992013-01-14 Alan Modra <amodra@gmail.com>
2700
2701 PR binutils/14813
2702 * bfdio.c (struct bfd_iovec <bclose>): Revert 2012-11-06.
2703 (memory_bclose): Likewise. Return 0 on success.
2704 * cache.c (cache_bclose): Likewise.
2705 * opncls.c (opncls_bclose, bfd_close): Likewise.
2706 * vms-lib.c (vms_lib_bclose): Likewise.
2707 * libbfd.h: Regenerate.
2708
ee659f1f
AM
27092013-01-13 Alan Modra <amodra@gmail.com>
2710
2711 * elf-bfd.h (struct elf_link_hash_entry): Delete dynamic_weak.
2712 Add ref_dynamic_nonweak.
2713 * elflink.c (_bfd_elf_mark_dynamic_def_weak): Delete.
2714 (_bfd_elf_merge_symbol): Don't call above function. Move
2715 setting of ref_dynamic_nonweak and dynamic_def earlier. Don't
2716 clear dynamic_def.
2717 (elf_link_add_object_symbols): Delete redundant "override" test.
2718 Don't set dynamic_def here.
2719 (elf_link_output_extsym): Update.
2720
68c4a57e
L
27212013-01-12 H.J. Lu <hongjiu.lu@intel.com>
2722
2723 * elf32-i386.c (elf_i386_check_relocs): Set bfd errror for
2724 normal and TLS symbol access.
2725 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
2726
02be4619
AM
27272013-01-12 Alan Modra <amodra@gmail.com>
2728
2729 * elf-bfd.h (_bfd_elf_strtab_refcount): Declare.
2730 * elf-strtab.c (_bfd_elf_strtab_refcount): New function.
2731 * elflink.c (elf_add_dt_needed_tag): Use _bfd_elf_strtab_refcount.
2732
a4542f1b
AM
27332013-01-12 Alan Modra <amodra@gmail.com>
2734
2735 PR ld/12549
2736 * elf-bfd.h (_bfd_elf_strtab_clear_refs): Declare.
2737 (_bfd_elf_strtab_clear_all_refs): Define.
2738 * elf-strtab.c (_bfd_elf_strtab_clear_refs): New function.
2739 (_bfd_elf_strtab_clear_all_refs): Delete.
2740 * elflink.c (elf_link_add_object_symbols): Clear out added
2741 strtab refs. Correct handling of warning common symbols.
2742
68ffbac6
L
27432013-01-10 H.J. Lu <hongjiu.lu@intel.com>
2744
2745 * aout0.c: Remove trailing white spaces.
2746 * archive.c: Likewise.
2747 * archures.c: Likewise.
2748 * bfd-in.h: Likewise.
2749 * bfd-in2.h: Likewise.
2750 * coff-alpha.c: Likewise.
2751 * coff-i860.c: Likewise.
2752 * coff-mips.c: Likewise.
2753 * coff-ppc.c: Likewise.
2754 * coff-tic80.c: Likewise.
2755 * coff-x86_64.c: Likewise.
2756 * coff-z80.c: Likewise.
2757 * coffcode.h: Likewise.
2758 * coffgen.c: Likewise.
2759 * cofflink.c: Likewise.
2760 * compress.c: Likewise.
2761 * corefile.c: Likewise.
2762 * cpu-arm.c: Likewise.
2763 * cpu-avr.c: Likewise.
2764 * cpu-bfin.c: Likewise.
2765 * cpu-cr16.c: Likewise.
2766 * cpu-cr16c.c: Likewise.
2767 * cpu-crx.c: Likewise.
2768 * cpu-h8300.c: Likewise.
2769 * cpu-i386.c: Likewise.
2770 * cpu-lm32.c: Likewise.
2771 * cpu-m68k.c: Likewise.
2772 * cpu-moxie.c: Likewise.
2773 * cpu-msp430.c: Likewise.
2774 * cpu-sh.c: Likewise.
2775 * cpu-xc16x.c: Likewise.
2776 * dwarf2.c: Likewise.
2777 * ecofflink.c: Likewise.
2778 * ecoffswap.h: Likewise.
2779 * elf-ifunc.c: Likewise.
2780 * elf-m10300.c: Likewise.
2781 * elf-vxworks.c: Likewise.
2782 * elf32-avr.c: Likewise.
2783 * elf32-avr.h: Likewise.
2784 * elf32-cr16.c: Likewise.
2785 * elf32-cr16c.c: Likewise.
2786 * elf32-cris.c: Likewise.
2787 * elf32-crx.c: Likewise.
2788 * elf32-frv.c: Likewise.
2789 * elf32-hppa.c: Likewise.
2790 * elf32-i860.c: Likewise.
2791 * elf32-ip2k.c: Likewise.
2792 * elf32-iq2000.c: Likewise.
2793 * elf32-m32c.c: Likewise.
2794 * elf32-m68hc1x.c: Likewise.
2795 * elf32-msp430.c: Likewise.
2796 * elf32-mt.c: Likewise.
2797 * elf32-ppc.c: Likewise.
2798 * elf32-rl78.c: Likewise.
2799 * elf32-s390.c: Likewise.
2800 * elf32-score.h: Likewise.
2801 * elf32-sh-symbian.c: Likewise.
2802 * elf32-sh.c: Likewise.
2803 * elf32-spu.c: Likewise.
2804 * elf32-tic6x.c: Likewise.
2805 * elf32-v850.c: Likewise.
2806 * elf32-xc16x.c: Likewise.
2807 * elf32-xtensa.c: Likewise.
2808 * elf64-alpha.c: Likewise.
2809 * elf64-hppa.c: Likewise.
2810 * elf64-ppc.c: Likewise.
2811 * elf64-s390.c: Likewise.
2812 * elfcore.h: Likewise.
2813 * elflink.c: Likewise.
2814 * elfxx-mips.c: Likewise.
2815 * elfxx-sparc.c: Likewise.
2816 * elfxx-tilegx.c: Likewise.
2817 * ieee.c: Likewise.
2818 * libcoff.h: Likewise.
2819 * libpei.h: Likewise.
2820 * libxcoff.h: Likewise.
2821 * linker.c: Likewise.
2822 * mach-o-i386.c: Likewise.
2823 * mach-o-target.c: Likewise.
2824 * mach-o.c: Likewise.
2825 * mach-o.h: Likewise.
2826 * mmo.c: Likewise.
2827 * opncls.c: Likewise.
2828 * pdp11.c: Likewise.
2829 * pe-x86_64.c: Likewise.
2830 * peXXigen.c: Likewise.
2831 * pef-traceback.h: Likewise.
2832 * pei-x86_64.c: Likewise.
2833 * peicode.h: Likewise.
2834 * plugin.c: Likewise.
2835 * reloc.c: Likewise.
2836 * riscix.c: Likewise.
2837 * section.c: Likewise.
2838 * som.c: Likewise.
2839 * syms.c: Likewise.
2840 * tekhex.c: Likewise.
2841 * ticoff.h: Likewise.
2842 * vaxbsd.c: Likewise.
2843 * xcofflink.c: Likewise.
2844 * xtensa-isa.c: Likewise.
2845
a3c62988
NC
28462013-01-10 Will Newton <will.newton@imgtec.com>
2847
2848 * Makefile.am: Add Meta.
2849 * Makefile.in: Regenerate.
2850 * archures.c (bfd_mach_metag): New.
2851 * bfd-in2.h: Regenerate.
2852 * config.bfd: Add Meta.
2853 * configure: Regenerate.
2854 * configure.in: Add Meta.
2855 * cpu-metag.c: New file.
2856 * elf-bfd.h: Add Meta.
2857 * elf32-metag.c: New file.
2858 * elf32-metag.h: New file.
2859 * libbfd.h: Regenerate.
2860 * reloc.c: Add Meta relocations.
2861 * targets.c: Add Meta.
2862
652451f8
YZ
28632013-01-08 Yufeng Zhang <yufeng.zhang@arm.com>
2864
2865 * elf-bfd.h (elfcore_write_aarch_tls): Add prototype.
2866 (elfcore_write_aarch_hw_break): Likewise.
2867 (elfcore_write_aarch_hw_watch): Likewise.
2868 * elf.c (elfcore_grok_aarch_tls): New function.
2869 (elfcore_grok_aarch_hw_break): Likewise.
2870 (elfcore_grok_aarch_hw_watch): Likewise.
2871 (elfcore_grok_note): Call the new functions to handle the
2872 corresponding notes.
2873 (elfcore_write_aarch_tls): New function.
2874 (elfcore_write_aarch_hw_break): Likewise.
2875 (elfcore_write_aarch_hw_watch): Likewise.
2876 (elfcore_write_register_note): Call the new functions to handle the
2877 corresponding pseudo sections.
2878
45a466b5
TT
28792013-01-07 Tom Tromey <tromey@redhat.com>
2880
2881 * section.c (_bfd_std_section): Rename from std_section.
f75e0e33
AM
2882 (bfd_com_section_ptr, bfd_und_section_ptr, bfd_abs_section_ptr)
2883 (STD_SECTION): Update.
45a466b5
TT
2884 * bfd-in2.h: Rebuild.
2885
e407c74b
NC
28862013-01-04 Juergen Urban <JuergenUrban@gmx.de>
2887
2888 * archures.c (bfd_mach_mips5900): Define.
2889 * bfd-in2.h: Regenerate.
2890 * config.bfd: Add mips64-ps2-elf and mips-ps2-elf targets.
2891 * cpu-mips.c: Add support for MIPS r5900.
2892 * elfxx-mips.c: Add support for MIPS r5900 (extension of r4000).
2893
9b239e0e
NC
28942013-01-03 Nickolai Zeldovich <nickolai@csail.mit.edu>
2895 Nick Clifton <nickc@redhat.com>
2896
2897 * elflink.c (get_value): Prevent the use of an undefined shift
2898 operation. Add sanity checks.
2899
bab4becb 29002013-01-02 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
884f2a8d 2901
bab4becb 2902 * config.bfd (cr16*-*-uclinux*): New target support.
884f2a8d 2903
9911c0fc 2904
bab4becb 2905For older changes see ChangeLog-2012
56882138 2906\f
bab4becb 2907Copyright (C) 2013 Free Software Foundation, Inc.
752937aa
NC
2908
2909Copying and distribution of this file, with or without modification,
2910are permitted in any medium without royalty provided the copyright
2911notice and this notice are preserved.
2912
56882138
AM
2913Local Variables:
2914mode: change-log
2915left-margin: 8
2916fill-column: 74
2917version-control: never
2918End:
This page took 1.134892 seconds and 4 git commands to generate.