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