[AArch64] Use _bfd_aarch64_add_stub_entry_in_group.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 2015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
2
3 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Use
4 _bfd_aarch64_add_stub_entry_in_group.
5
6 2015-03-24 Alan Modra <amodra@gmail.com>
7
8 * elf64-ppc.c (ppc64_elf_relocate_section): Report overflow to
9 stubs, even those for undefined weak symbols. Otherwise, don't
10 report relocation overflow on branches to undefined strong
11 symbols. Fix memory leak.
12 * elf32-ppc.c (ppc_elf_relocate_section): Don't report relocation
13 overflow on branches to undefined strong symbols.
14
15 2015-03-23 Keith Seitz <keiths@redhat.com>
16
17 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Add
18 missing ';'.
19
20 2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
21
22 * elfnn-aarch64.c (erratum_835769_scan): Factor stub name
23 construction into...
24 (_bfd_aarch64_erratum_835769_stub_name): Define.
25
26 2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
27
28 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Factor out
29 stub resize code into...
30 (bfd_aarch64_resize_stubs): Define.
31
32 2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
33
34 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Factor stub
35 creation code into...
36 (bfd_aarch64_create_stub_section): Define.
37
38 2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
39
40 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Rename
41 from elf_aarch64_create_or_find_stub_sec.
42 (_bfd_aarch64_add_stub_entry_in_group): Rename from
43 elfNN_aarch64_add_stub. Call
44 _bfd_aarch64_create_or_find_stub_sec.
45 (elfNN_aarch64_size_stubs, elfNN_aarch64_size_stubs): Call
46 _bfd_aarch64_add_stub_entry_in_group.
47
48 2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
49
50 * elfnn-aarch64.c (erratum_835769_scan) Add comment. Reverse
51 sense of boolean return.
52 (elfNN_aarch64_size_stubs): Adjust for above.
53
54 2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
55
56 * elfnn-aarch64.c (elf_aarch64_create_or_find_stub_sec):
57 Remove unused parameter.
58 (elfNN_aarch64_size_stubs): Adjust for above.
59
60 2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
61
62 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Remove bfd_indx.
63
64 2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
65
66 * elfnn-aarch64.c (aarch64_erratum_835769_fixes)
67 (num_aarch64_erratum_835769_fixes): Remove.
68 (elfNN_aarch64_size_stubs): Remove assignments to above.
69
70 2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
71
72 * elfnn-aarch64.c (aarch64_mem_op_p): Update comment. Rename rtn
73 to rt2.
74 (aarch64_erratum_seqeunce): Rename rtn to rt2.
75
76 2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
77
78 * elfnn-aarch64.c (elfNN_aarch64_write_section): Adjust layout.
79
80 2015-03-19 Nick Clifton <nickc@redhat.com>
81
82 * elf32-rl78.c (rl78_cpu_name): New function. Prints the name of
83 the RL78 core based upon the flags.
84 (rl78_elf_merge_private_bfd_data): Handle merging of G13 and G14
85 flags.
86 (rl78_elf_print_private_bfd_data): Use rl78_cpu_name.
87 (elf32_rl78_machine): Always return bfd_mach_rl78.
88
89 2015-03-19 Nick Clifton <nickc@redhat.com>
90
91 PR 18078
92 * compress.c (bfd_compress_section_contents): Do not define this
93 function if it is not used.
94
95 2015-03-18 H.J. Lu <hongjiu.lu@intel.com>
96
97 * compress.c (bfd_compress_section_contents): Make it static.
98 * bfd/bfd-in2.h: Regenerated.
99
100 2015-03-18 Eric Youngdale <eyoungdale@ptc.com>
101
102 PR ld/16598
103 * peicode.h (pe_ILF_build_a_bfd): Add support for creating relocs
104 suitable for the AMD64.
105
106 2015-03-18 Jon Turney <jon.turney@dronecode.org.uk>
107 Nick Clifton <nickc@redhat.com>
108
109 PR binutils/18087
110 * coffgen.c (make_a_section_from_file): Only prepend a z to a
111 debug section's name if the section was actually compressed.
112 * elf.c (_bfd_elf_make_section_from_shdr): Likewise.
113 * compress.c (bfd_init_section_compress_status): Do not compress
114 the section if doing so would make it bigger. In such cases leave
115 the section alone and return COMPRESS_SECTION_NONE.
116
117 2015-03-17 Alan Modra <amodra@gmail.com>
118
119 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Return count of 0
120 on nothing to do, before malloc of returned symbol array.
121
122 2015-03-16 Nick Clifton <nickc@redhat.com>
123
124 * elf32-rx.c (elf32_rx_relax_delete_bytes): If the relocs are not
125 stored in the elf_section_data structure then load them as
126 necessary.
127
128 2015-03-14 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
129
130 * elf-s390-common.c (elf_s390_elf_sort_relocs_p): Don't sort
131 relocs against code sections.
132 * elf32-s390.c: Define elf_backend_sort_relocs_p.
133 * elf64-s390.c: Likewise.
134
135 2015-03-11 Alan Modra <amodra@gmail.com>
136
137 * elf32-ppc.c (ppc_elf_get_synthetic_symtab): Examine stubs in
138 reverse order. Account for larger size of __tls_get_addr_opt stub.
139
140 2015-03-10 Yuri Gribov <y.gribov@samsung.arm>
141
142 PR ld/16572
143 * elf32-arm.c (elf32_arm_final_link_relocate): Remove support for
144 ELF_ARM_HASENTRY.
145 (elf32_arm_print_private_bfd_data): Likewise.
146
147 2015-03-06 Nick Clifton <nickc@redhat.com>
148
149 PR binutils/17765
150 * elflink.c (put_value): Like previous delta, but for the 32-bit
151 case.
152
153 2015-03-05 Nick Clifton <nickc@redhat.com>
154
155 PR binutils/17765
156 * elflink.c (put_value): Avoid using an undefined shift
157 operation.
158
159 2015-03-05 H.J. Lu <hongjiu.lu@intel.com>
160
161 PR ld/pr15228
162 PR ld/pr17709
163 * elf-bfd.h (elf_backend_data): Add extern_protected_data.
164 * elf32-i386.c (elf_backend_extern_protected_data): New.
165 Defined to 1.
166 * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
167 * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't error on
168 copy relocs against protected symbols if extern_protected_data
169 is true.
170 (_bfd_elf_symbol_refs_local_p): Don't return true on protected
171 non-function symbols if extern_protected_data is true.
172 * elfxx-target.h (elf_backend_extern_protected_data): New.
173 Default to 0.
174 (elfNN_bed): Initialize extern_protected_data with
175 elf_backend_extern_protected_data.
176
177 2015-03-05 Nick Clifton <nickc@redhat.com>
178
179 PR binutils/18025
180 * coffgen.c (coff_find_nearest_line_with_names): If the dwarf2
181 lookup fails, check for an address bias in the dwarf info, and if
182 one exists, retry the lookup with the biased value.
183 * dwarf2.c (_bfd_dwarf2_find_symbol_bias): New function.
184 Determines if a bias exists bewteen the addresses of functions
185 based on DWARF information vs symbol table information.
186 * libbfd-in.h (_bfd_dwarf2_find_symbol_bias): Prototype.
187 * libbfd.h: Regenerate.
188
189 2015-03-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
190
191 * elfxx-aarch64.c (decode_add_imm, decode_movw_imm)
192 (decode_tst_branch_ofs_14, decode_ld_lit_ofs_19)
193 (decode_cond_branch_ofs_19, decode_branch_ofs_26): Remove.
194
195 2015-03-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
196
197 * elfnn-aarch64.c (aarch64_build_one_stub): Call abort.
198 (aarch64_size_one_stub): Likewise.
199 (aarch64_map_one_stub): Likewise.
200
201 2015-03-04 Andreas Arnez <arnez@linux.vnet.ibm.com>
202
203 * cpu-s390.c (N): New macro.
204 (bfd_s390_31_arch): New. Define only if default target word size
205 is 64 bits. Otherwise define...
206 (bfd_390_64_arch): ...this. Make static.
207 (bfd_s390_arch): Define according to the default target word size.
208 Let the 'next' field point to the alternate arch.
209
210 2015-03-04 Richard Sandiford <richard.sandiford@arm.com>
211
212 PR gas/17843
213 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Expect
214 R_AARCH64_TLSLE_MOVW_TPREL_G0_NC and R_AARCH64_TLSLE_MOVW_TPREL_G1_NC
215 to be used with MOVK rather than MOVZ.
216
217 2015-03-03 DJ Delorie <dj@redhat.com>
218
219 * elf32-rl78.c (rl78_elf_relax_section): Only relax ADDR16's if
220 there's a symbol.
221
222 2015-02-28 Alan Modra <amodra@gmail.com>
223
224 * elf32-ppc.c (ppc_elf_tls_setup): Set no_tls_get_addr_opt if
225 not PLT_NEW.
226
227 2015-02-27 H.J. Lu <hongjiu.lu@intel.com>
228
229 * elf32-i386.c (need_convert_mov_to_lea): New.
230 (elf_i386_check_relocs): Set need_convert_mov_to_lea if needed.
231 (elf_i386_convert_mov_to_lea): Return TRUE if
232 need_convert_mov_to_lea is unset.
233 * elf64-x86-64.c (need_convert_mov_to_lea): New.
234 (elf_x86_64_check_relocs): Set need_convert_mov_to_lea if needed.
235 (elf_x86_64_convert_mov_to_lea): Return TRUE if
236 need_convert_mov_to_lea is unset.
237
238 2015-02-27 Nick Clifton <nickc@redhat.com>
239
240 PR binutils/17910
241 * coffgen.c (_bfd_coff_internal_syment_name): Only check for
242 string length overflow when the string table length is actually
243 set.
244
245 2015-02-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
246
247 * bfd/bfd-in2.h: Regenerate.
248 * bfd/libbfd.h: Regenerate.
249
250 2015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
251
252 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix
253 TLSDESC_LD_PREL19 field width and masks.
254 (aarch64_tls_transition_without_check)
255 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
256 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
257 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
258 BFD_RELOC_AARCH64_TLSDESC_LD_PREL19.
259 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
260 (_bfd_aarch64_elf_resolve_relocation): Likewise.
261
262 2015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
263
264 * elfnn-aarch64.c (IS_AARCH64_TLSDESC_RELOC): Reorder R_TYPE
265 tests.
266 (aarch64_tls_transition_without_check)
267 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
268 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
269 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
270 BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21.
271 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
272 (_bfd_aarch64_elf_resolve_relocation): Likewise.
273 * reloc.c (BFD_RELOC_AARCH64_TLSGD_ADR_PREL21): Define.
274
275 2015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
276
277 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC)
278 (elfNN_aarch64_howto_table, aarch64_tls_transition_without_check)
279 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
280 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
281 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
282 BFD_RELOC_AARCH64_TLSGD_ADR_PREL21.
283 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
284 (_bfd_aarch64_elf_resolve_relocation): Likewise.
285 * reloc.c (BFD_RELOC_AARCH64_TLSGD_ADR_PREL21): Define.
286
287 2015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
288
289 * elfnn-aarch64.c: (TLSIE_LD_GOTTREL_PREL19): Fix HOWTO bit field width.
290 (aarch64_tls_transition_without_check, aarch64_reloc_got_type)
291 (elfNN_aarch64_final_link_relocate, elfNN_aarch64_tls_relax)
292 (elfNN_aarch64_relocate_section, elfNN_aarch64_gc_sweep_hook)
293 (elfNN_aarch64_check_relocs): Handle
294 BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19.
295
296 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
297 (_bfd_aarch64_elf_resolve_relocation): Likewise.
298
299 2015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
300
301 * elfnn-aarch64.c: (TLSDESC_CALL): Fix HOWTO bit field width.
302
303 2015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
304
305 * elfnn-aarch64.c (TLSLE_MOVW_TPREL_G2)
306 (TLSLE_MOVW_TPREL_G1, TLSLE_MOVW_TPREL_G1_NC)
307 (TLSLE_MOVW_TPREL_G0, TLSLE_MOVW_TPREL_G0_NC): Fix bit field
308 width.
309
310 2015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
311
312 * elfnn-aarch64.c: (TLSIE_MOVW_GOTTPREL_G0_NC): Fix HOWTO bit
313 field width.
314
315 2015-02-26 Nick Clifton <nickc@redhat.com>
316
317 PR binutils/17512
318 * coffcode.h (coff_compute_section_file_positions): Report
319 negative page sizes.
320 * elf.c (elf_fake_sections): Handle excessive alignmment powers.
321 (assign_file_positions_for_non_load_sections): Replace assertion
322 with an error message.
323 (rewrite_elf_program_header): Handle excessive segment
324 alignments.
325 * mach-o.c (bfd_mach_o_read_section_32): Likewise.
326 (bfd_mach_o_read_section_64): Likewise.
327 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Use %B to
328 print a bfd name, not %A.
329
330 2015-02-26 Alan Modra <amodra@gmail.com>
331
332 * elf64-ppc.c (plt_stub_size, build_plt_stub): Don't build
333 thread-safe stubs for iplt.
334 (build_tls_get_addr_stub): Restore r2 immediately after call.
335
336 2015-02-26 Terry Guo <terry.guo@arm.com>
337
338 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Update how we
339 merge Tag_ABI_HardFP_use.
340
341 2015-02-26 Alan Modra <amodra@gmail.com>
342
343 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Heed -z nocopyreloc.
344 Use text relocs rather than giving an error on trying to use
345 .dynbss for protected shared lib vars.
346 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
347
348 2015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
349
350 * elf32-avr.c (struct elf_avr_section_data): New structure.
351 (struct avr_relax_info): New structure.
352 (elf_avr_new_section_hook): New function.
353 (struct elf_avr_section_data): Add relax_info.
354 (get_avr_relax_info): New function.
355 (init_avr_relax_info): New function.
356 (elf32_avr_relax_delete_bytes): Find next property record before
357 deleting bytes. When deleting don't move bytes beyond the next
358 property record.
359 (avr_elf32_assign_records_to_section): New function.
360 (avr_property_record_compare): New function.
361 (avr_load_all_property_sections): New function.
362 (elf32_avr_relax_section): Load property data. After relaxing the
363 section, move any .align directives that have enough deleted bytes
364 before them.
365 (bfd_elf32_new_section_hook): Define.
366
367 2015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
368
369 * elf32-avr.h (struct avr_property_header): New strucure.
370 (avr_elf32_load_property_records): Declare.
371 (avr_elf32_property_record_name): Declare.
372 * elf32-avr.c: Add bfd_stdint.h include.
373 (retrieve_local_syms): New function.
374 (get_elf_r_symndx_section): New function.
375 (get_elf_r_symndx_offset): New function.
376 (internal_reloc_compare): New function.
377 (struct avr_find_section_data): New structure.
378 (avr_is_section_for_address): New function.
379 (avr_find_section_for_address): New function.
380 (avr_elf32_load_records_from_section): New function.
381 (avr_elf32_load_property_records): New function.
382 (avr_elf32_property_record_name): New function.
383
384 2015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
385
386 * elf32-avr.h (AVR_PROPERTY_RECORD_SECTION_NAME): Define.
387 (AVR_PROPERTY_RECORDS_VERSION): Define.
388 (AVR_PROPERTY_SECTION_HEADER_SIZE): Define.
389 (struct avr_property_record): New structure.
390
391 2015-02-24 Nick Clifton <nickc@redhat.com>
392
393 * elf32-v850.c (v850_set_note): New function. Creates a Renesas
394 style note entry.
395 (v850_elf_make_note_section): New function. Creates a note
396 section.
397 (v850_elf_create_sections): New function. Create a note section
398 if one is not already present.
399 (v850_elf_set_note): New function. Adds a note to a bfd.
400 (v850_elf_copy_private_bfd_data): New function. Copies V850
401 notes.
402 (v850_elf_merge_notes): New function. Merges V850 notes.
403 (print_v850_note): New function. Displays a V850 note.
404 (v850_elf_print_notes): New function. Displays all notes attached
405 to a bfd.
406 (v850_elf_merge_private_bfd_data): Call v850_elf_merge_notes.
407 (v850_elf_print_private_bfd_data): Call v850_elf_print_notes.
408 (v850_elf_fake_sections): Set the type of the V850 note section.
409 * bfd-in.h (v850_elf_create_sections): Add prototype.
410 (v850_elf_set_note): Add prototype.
411 * bfd-in2.h: Regenerate.
412
413 2015-02-24 Nick Clifton <nickc@redhat.com>
414
415 * configure.ac (AC_CHECK_HEADERS): Add wctype.h.
416 * configure: Regenerate.
417 * config.in: Regenerate.
418 * peXXigen.c: Include wctype.h if HAVE_WCTYPE_H is defined.
419 (u16_mbtowc): Use wint_t types if HAVE_WCTYPE_H is defined.
420 (rsrc_cmp): Use towlower instead of wcsncasecmp if HAVE_WCTYPE_H
421 is defined.
422
423 2015-02-24 Nick Clifton <nickc@redhat.com>
424
425 * pdp11.c (set_section_contents): Pad the .text and .data sections
426 to their aligned sizes.
427
428 2015-02-23 Yoshinori Sato <ysato@users.sourceforge.jp>
429
430 * config.bfd: Add h8300-*-linux.
431 * configure.ac: Add h8300_elf32_linux_vec.
432 * configure: Regenerate.
433 * elf32-h8300.c: Likewise.
434 * targets.c(_bfd_target_vector): Likewise.
435
436 2015-02-23 Nick Clifton <nickc@redhat.com>
437
438 PR 17914
439 * cpu-w65.c: Correct typos in license notice.
440
441 PR 17940
442 * elf32-msp430.c (msp430_elf_relax_delete_bytes): Adjust debug
443 symbols at end of sections. Adjust function sizes.
444
445 2015-02-20 Andreas Arnez <arnez@linux.vnet.ibm.com>
446
447 * elf-bfd.h (elfcore_write_s390_vxrs_low): Add prototype.
448 (elfcore_write_s390_vxrs_high): Likewise.
449 * elf.c (elfcore_grok_s390_vxrs_low): New function.
450 (elfcore_grok_s390_vxrs_high): New function.
451 (elfcore_grok_note): Call them.
452 (elfcore_write_s390_vxrs_low): New function.
453 (elfcore_write_s390_vxrs_high): New function.
454 (elfcore_write_register_note): Call them.
455
456 2015-02-19 Branko Drevensek <branko.drevensek@gmail.com>
457
458 PR 17995
459 * verilog.c (verilog_write_record): Correct buffer size.
460
461 2015-02-19 Alan Modra <amodra@gmail.com>
462
463 * elflink.c (_bfd_elf_define_linkage_sym): Set 'bed' earlier.
464
465 2015-02-19 Alan Modra <amodra@gmail.com>
466
467 PR ld/4317
468 * elflink.c (elf_link_input_bfd): Drop undefined local syms.
469 (elf_link_output_extsym): Drop local and global undefined syms.
470 Tidy. Expand comment.
471
472 2015-02-17 Alan Modra <amodra@gmail.com>
473
474 PR ld/17975
475 * elflink.c (struct elf_outext_info): Remove need_second_pass
476 and second_pass.
477 (elf_link_output_extsym): Delete code handling second forced
478 local pass. Move code emitting NULL STT_FILE symbol later, so
479 that it can be omitted if forced local is stripped. Don't
480 emit the NULL STT_FILE if no file symbols have been output.
481 (bfd_elf_final_link): Remove second forced local pass.
482 * elf32-ppc.c (add_stub_sym): Set linker_def on linker syms.
483 (ppc_elf_size_dynamic_sections): Likewise.
484 * elf64-ppc.c (ppc_build_one_stub): Likewise.
485 (build_global_entry_stubs): Likewise.
486 (ppc64_elf_build_stubs): Likewise.
487
488 2015-02-16 H.J. Lu <hongjiu.lu@intel.com>
489
490 PR ld/17975
491 * elflink.c (elf_link_output_extsym): Only check filesym_count
492 when outputting a NULL FILE symbol. Set second_pass_sym to
493 h->forced_local && !h->root.linker_def.
494
495 2015-02-15 H.J. Lu <hongjiu.lu@intel.com>
496
497 * elf32-i386.c (elf_i386_always_size_sections): Set root.linker_def
498 on _TLS_MODULE_BASE_.
499 * elf64-x86-64.c (elf_x86_64_always_size_sections): Likewise.
500
501 2015-02-15 Alan Modra <amodra@gmail.com>
502
503 * dwarf2.c (read_rangelist): Correct buffer overflow check
504 Whitespace throughout file.
505
506 2015-02-14 Alan Modra <amodra@gmail.com>
507
508 PR ld/17973
509 * bfd.c (struct bfd): Add lto_output.
510 * linker.c (_bfd_handle_already_linked): Explicitly test for
511 objects added by the lto plugin.
512 * opncls.c (_bfd_new_bfd_contained_in): Copy lto_output and
513 no_export flags from archive.
514 * archive.c (open_nested_file): New function, setting lto_output
515 and no_export, extracted from..
516 (find_nested_archive): ..here. Flip params. Rename from
517 _bfd_find_nested_archive.
518 (_bfd_get_elt_at_filepos): Correct var typo. Use open_nested_file.
519 (_bfd_look_for_bfd_in_cache): Copy no_export.
520 * elflink.c (elf_link_add_object_symbols): Remove now unnecessary
521 my_archive->no_export test.
522 (elf_link_input_bfd): Drop existing lto_output STT_FILE syms.
523 Don't use the file name when adding lto_output STT_FILE sym.
524 * bfd-in2.h: Regenerate.
525
526 2015-02-13 Alan Modra <amodra@gmail.com>
527
528 PR binutils/17512
529 * elf64-ppc.c (opd_entry_value): Tighten offset check. Remove
530 now redundant assert.
531
532 2015-02-12 Nick Clifton <nickc@redhat.com>
533
534 PR binutils/17512
535 * dwarf.c (read_1_byte, read_1_signed_byte, read_2_bytes)
536 (read_4_bytes, read_8_bytes, read_n_bytes, read_string)
537 (read_indirect_string, read_alt_indirect_string)
538 (read_alt_indirect_ref, read_address, read_abbrevs)
539 (read_attribute_value, read_attribute, decode_line_info)
540 (find_abstract_instance_name, read_rangelist)
541 (scan_unit_for_symbols, parse_comp_unit)
542 (_bfd_dwarf2_find_nearest_line): Harden DWARF reading code. Pass
543 end pointers to reading functions and check for offsets taking
544 pointers out of range. Replace calls to read_*_leb128 with calls
545 to safe_read_leb128.
546
547 (* elf64-ppc.c (opd_entry_value): Add a check for an overlarge
548 offset.
549 * syms.c (_bfd_stab_section_find_nearest_line): Add checks for
550 computed file_name address being before the start of the string
551 table.
552
553 2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
554
555 PR ld/17878
556 * bfd.c (bfd_plugin_format): New.
557 (bfd): Add plugin_format and plugin_dummy_bfd.
558 * plugin.c (try_load_plugin): Take a pointer to bfd_boolean
559 argument to return TRUE if any plugin is found. Set plugin_format.
560 (has_plugin): New.
561 (bfd_plugin_target_p): New.
562 (bfd_plugin_specified_p): Likewise.
563 (bfd_plugin_target_p): Likewise.
564 (register_ld_plugin_object_p): Likewise.
565 (bfd_plugin_set_plugin): Set has_plugin.
566 (load_plugin): Cache try_load_plugin result.
567 (bfd_plugin_object_p): Try ld_plugin_object_p first. Check
568 plugin_format.
569 * plugin.h (bfd_plugin_target_p): New.
570 (bfd_plugin_specified_p): Likewise.
571 (register_ld_plugin_object_p): Likewise.
572 * bfd-in2.h: Regenerated.
573
574 2015-02-11 Pedro Alves <palves@redhat.com>
575
576 * libbfd-in.h [__cplusplus]: Open extern "C" scope.
577 * libcoff-in.h [__cplusplus]: Open extern "C" scope.
578 * libbfd.h: Regenerate.
579 * libcoff.h: Regenerate.
580
581 * elf-bfd.h [__cplusplus]: Wrap in extern "C".
582 * mach-o.h [__cplusplus]: Wrap in extern "C".
583 * som.h [__cplusplus]: Wrap in extern "C".
584
585 2015-02-10 Nick Clifton <nickc@redhat.com>
586
587 PR binutils/17512
588 * coffcode.h (styp_to_sec_flags): Use an unsigned long type to
589 hold the flag bits.
590 * peXXigen.c (pe_print_reloc): Use unsigned types to hold the
591 size and number of relocs.
592 (pe_print_debugdata): Use a 32-bit aligned buffer to store the
593 codeview record.
594 * versados.c (process_otr): Check the esdid value before using it
595 to access the EDATA.
596
597 2015-02-09 Ed Maste <emaste@freebsd.org>
598
599 * elf32-i386.c (elf_i386_get_plt_sym_val): Avoid incrementing
600 uninitialized and unused variable.
601 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
602
603 2015-02-09 Alan Modra <amodra@gmail.com>
604
605 * elf32-ppc.c (ppc_elf_relocate_section): Don't segfault on NULL
606 tls_sec.
607 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
608 * elflink.c (elf_link_output_extsym): Don't assert on NULL tls_sec.
609
610 2015-02-09 Alan Modra <amodra@gmail.com>
611
612 * elflink.c: Whitespace, formatting fixes.
613 (elf_link_input_bfd): Clarify comment.
614 (elf_link_output_extsym): Exclude symbols in linker created
615 sections when testing for plugin symbols.
616
617 2015-02-07 H.J. Lu <hongjiu.lu@intel.com>
618
619 PR ld/17935
620 * elf32-i386.c (elf_i386_readonly_dynrelocs): Also issue a
621 warning for relocation in readonly section for -z text.
622 (elf_i386_size_dynamic_sections): Likewise.
623 * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
624 (elf_x86_64_size_dynamic_sections): Likewise.
625
626 2015-02-06 H.J. Lu <hongjiu.lu@intel.com>
627
628 PR ld/12365
629 PR ld/14272
630 * elflink.c (_bfd_elf_fix_symbol_flags): Revert the last change.
631 (elf_link_input_bfd): Mark the plugin symbol undefined if it is
632 referenced from a non-IR file.
633
634 2015-02-06 Nick Clifton <nickc@redhat.com>
635
636 PR binutils/17512
637 * peXXigen.c (rsrc_print_resource_entries): Add range check for
638 addresses that wrap around the address space.
639 (rsrc_parse_entry): Likewise.
640
641 2015-02-03 H.J. Lu <hongjiu.lu@intel.com>
642
643 PR ld/12365
644 PR ld/14272
645 * elflink.c (_bfd_elf_fix_symbol_flags): Mark the plugin symbol
646 undefined if it is referenced from a non-IR file.
647
648 2015-02-03 Nick Clifton <nickc@redhat.com>
649
650 PR binutils/17512
651 * ecoff.c: Use bfd_alloc2 to allocate space for structure arrays.
652 (_bfd_ecoff_slurp_symbol_table): Check for a negative symbol
653 index or an out of range fdr index.
654 * elf-m10300.c (mn10300_info_to_howto): Fix typo in error message.
655 * elf32-arc.c (arc_info_to_howto_rel): Likewise.
656 * elf32-avr.c (avr_info_to_howto_rela): Likewise.
657 * elf32-cr16.c (elf_cr16_info_to_howto): Likewise.
658 * elf32-cr16c.c (elf_cr16c_info_to_howto_rel): Likewise.
659 * elf32-cris.c (cris_info_to_howto_rela): Likewise.
660 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
661 * elf32-d10v.c (d10v_info_to_howto_rel): Likewise.
662 * elf32-d30v.c (d30v_info_to_howto_rel): Likewise.
663 * elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise.
664 * elf32-fr30.c (fr30_info_to_howto_rela): Likewise.
665 * elf32-frv.c (frv_info_to_howto_rela): Likewise.
666 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
667 * elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise.
668 * elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise.
669 * elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise.
670 * elf32-lm32.c (lm32_info_to_howto_rela): Likewise.
671 * elf32-m32c.c (m32c_info_to_howto_rela): Likewise.
672 * elf32-m32r.c (m32r_info_to_howto_rel): Likewise.
673 * elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise.
674 * elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise.
675 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
676 * elf32-mep.c (mep_info_to_howto_rela): Likewise.
677 * elf32-metag.c (metag_info_to_howto_rela): Likewise.
678 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
679 * elf32-moxie.c (moxie_info_to_howto_rela): Likewise.
680 * elf32-msp430.c (msp430_info_to_howto_rela): Likewise.
681 * elf32-mt.c (mt_info_to_howto_rela): Likewise.
682 * elf32-nds32.c (nds32_info_to_howto_rel): Likewise.
683 * elf32-or1k.c (or1k_info_to_howto_rela): Likewise.
684 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
685 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
686 * elf32-rl78.c (rl78_info_to_howto_rela): Likewise.
687 * elf32-rx.c (rx_info_to_howto_rela): Likewise.
688 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
689 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
690 * elf32-v850.c (v850_elf_perform_relocation): Likewise.
691 * elf32-vax.c (rtype_to_howto): Likewise.
692 * elf32-visium.c (visium_info_to_howto_rela): Likewise.
693 * elf32-xgate.c (xgate_info_to_howto_rel): Likewise.
694 * elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise.
695 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
696 * elf64-mmix.c (mmix_info_to_howto_rela): Likewise.
697 * mach-o.c: Use bfd_alloc2 to allocate space for structure arrays.
698 (bfd_mach_o_canonicalize_one_reloc): Fix check on out
699 of range symbol indicies.
700 (bfd_mach_o_canonicalize_relocs): Check for out of range alloc.
701 (bfd_mach_o_canonicalize_dynamic_reloc): Likewise.
702 (bfd_mach_o_build_dysymtab): Likewise.
703 (bfd_mach_o_write_symtab_content): Set the string table size to
704 zero upon error.
705 (bfd_mach_o_read_symtab_symbols): Reset the nsyms value if the
706 read fails.
707 * peXXigen.c (pe_print_edata): Check for numeric overflow in edt
708 fields.
709 * tekhex.c (first_phase): Check for src pointer reaching end of
710 buffer.
711
712 2015-02-03 Will Newton <will.newton@linaro.org>
713
714 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol):
715 Set st_value to zero for undefined symbols if the reference
716 is weak or pointer_equality_needed is FALSE.
717
718 * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Improve
719 comment discussing why we clear st_value for some symbols.
720
721 2015-02-02 Kuan-Lin Chen <kuanlinchentw@gmail.com>
722
723 * elf32-nds32.c (nds32_get_section_contents): Add one more argument.
724 (nds32_elf_relocate_section): Do not relocate R_NDS32_LONGJUMP7.
725
726 2015-01-29 Alan Modra <amodra@gmail.com>
727
728 * elf64-ppc.c (ppc64_elf_relocate_section): Correct GOT_TLSLD
729 optimization. Tidy mask for GOT_TLSGD optimization.
730 * elf32-ppc.c (ppc_elf_relocate_section): Likewise. Correct
731 location of nop zapping high insn too.
732
733 2015-01-28 Alan Modra <amodra@gmail.com>
734
735 * elf64-ppc.h (struct ppc64_elf_params): Add "object_in_toc".
736 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Assume that global symbols
737 in .toc indicate xlc compiled code that might require a rw .toc.
738
739 2015-01-28 James Bowman <james.bowman@ftdichip.com>
740
741 * Makefile.am: Add FT32 files.
742 * archures.c (enum bfd_architecture): Add bfd_arch_ft32.
743 (bfd_mach_ft32): Define.
744 (bfd_ft32_arch): Declare.
745 (bfd_archures_list): Add bfd_ft32_arch.
746 * config.bfd: Handle FT32.
747 * configure.ac: Likewise.
748 * cpu-ft32.c: New file.
749 * elf32-ft32.c: New file.
750 * reloc.c (BFD_RELOC_FT32_10, BFD_RELOC_FT32_20, BFD_RELOC_FT32_17,
751 BFD_RELOC_FT32_18): Define.
752 * targets.c (_bfd_target_vector): Add ft32_elf32_vec.
753 * bfd-in2.h: Regenerate.
754 * libbfd.h: Regenerate.
755 * Makefile.in: Regenerate.
756 * configure: Regenerate.
757 * po/SRC-POTFILES.in: Regenerate.
758
759 2015-01-27 Nick Clifton <nickc@redhat.com>
760
761 PR binutils/17512
762 * pdp11.c (aout_get_external_symbols): Return false if there are
763 no symbols.
764
765 * dwarf2.c (concat_filename): Check for an empty directory table.
766 (scan_unit_for_symbols): Check for reading off the end of the
767 unit.
768 (parse_comp_unit): Check for a DW_AT_comp_dir attribute with a
769 non-string form.
770 * elf64-ppc.c (opd_entry_value): Fail if there are no relocs
771 available.
772
773 2015-01-26 Kuan-Lin Chen <kuanlinchentw@gmail.com>
774
775 * elf32-nds32.c (nds32_elf_pick_relax): Fix again setting.
776
777 2015-01-22 DJ Delorie <dj@redhat.com>
778
779 * elf32-m32c.c (m32c_apply_reloc_24): New.
780 (m32c_elf_howto_table): Use it for R_M32C_24.
781 (m32c_elf_relocate_section): Handle R_M32C_24 specially.
782
783 2015-01-22 Nick Clifton <nickc@redhat.com>
784
785 PR binutils/17512
786 * coffcode.h (handle_COMDAT): When searching for the section
787 symbol, make sure that there is space left in the symbol table.
788 * vms-alpha.c (_bfd_vms_slurp_ehdr): Add range checks.
789
790 2015-01-21 Nick Clifton <nickc@redhat.com>
791
792 PR binutils/17512
793 * coffcode.h (coff_set_arch_mach_hook): Check return value from
794 bfd_malloc.
795 (coff_slurp_line_table): Return FALSE if the line number
796 information was corrupt.
797 (coff_slurp_symbol_table): Return FALSE if the symbol information
798 was corrupt.
799 * mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Always
800 initialise the fields of the dyld_info structure.
801 (bfd_mach_o_build_exec_seg_command): Replace assertion with an
802 error message and a return value.
803 (bfd_mach_o_layout_commands): Change the function to boolean.
804 Return FALSE if the function fails.
805 (bfd_mach_o_build_commands): Fail if bfd_mach_o_layout_commands
806 fails.
807 (bfd_mach_o_read_command): Fail if an unrecognised command is
808 encountered.
809 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Set bfd_error if the
810 read fails.
811 (slurp_symtab): Check the return from bfd_malloc.
812 (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if the copy
813 encountered an error.
814 (_bfd_XXi_final_link_postscript): Fail if a section could not be
815 copied.
816 * peicode.h (pe_bfd_object_p): Fail if the header could not be
817 swapped in.
818 * tekhex.c (first_phase): Fail if the section is too big.
819 * versados.c (struct esdid): Add content_size field.
820 (process_otr): Use and check the new field.
821 (versados_get_section_contents): Check that the section exists and
822 that the requested data is available.
823
824 2015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
825
826 * elf32-nios2.c (elf_backend_default_execstack): Define as 0.
827
828 2015-01-20 Alan Modra <amodra@gmail.com>
829
830 PR ld/17615
831 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Don't drop
832 ELF_COMMON_DEF syms.
833
834 2015-01-19 Alan Modra <amodra@gmail.com>
835
836 PR ld/17615
837 * elf-bfd.h (ELF_COMMON_DEF_P): Note that this might be true for
838 linker script assignments too.
839 * elflink.c (elf_gc_sweep_symbol): Don't drop ELF_COMMON_DEF syms.
840 (bfd_elf_gc_mark_dynamic_ref_symbol): Similarly.
841
842 2015-01-19 Alan Modra <amodra@gmail.com>
843
844 * elf32-bfin.c (bfin_bfd_reloc_type_lookup): Correct loop iteration
845 to allow return of first howto.
846 * elf32-fr30.c (fr30_reloc_type_lookup): Likewise.
847 * elf32-m32c.c (m32c_reloc_type_lookup): Likewise.
848 * elf32-moxie.c (moxie_reloc_type_lookup): Likewise.
849 * elf32-or1k.c (or1k_reloc_type_lookup): Likewise.
850 * elf32-rl78.c (rl78_reloc_type_lookup): Likewise.
851 * elf32-rx.c (rx_reloc_type_lookup): Likewise.
852 * elf32-tilepro.c (tilepro_reloc_type_lookup): Likewise.
853 * elf32-xstormy16.c (xstormy16_reloc_type_lookup): Likewise.
854 * elfxx-tilegx.c (tilegx_reloc_type_lookup): Likewise.
855 * elf32-nios2.c (nios2_reloc_map): Add mapping for R_NIOS2_NONE.
856 * elf32-spu.c (spu_elf_bfd_to_reloc_type): Allow return of R_SPU_NONE.
857 (spu_elf_reloc_type_lookup): Adjust to suit.
858
859 2015-01-19 Alan Modra <amodra@gmail.com>
860
861 * bfd-in.h (bfd_get_section_limit_octets): New define, extracted from..
862 (bfd_get_section_limit): ..here.
863 * reloc.c (bfd_perform_relocation): Correct bfd_reloc_outofrange check.
864 (bfd_install_relocation, _bfd_final_link_relocate): Add same check here.
865 * elf32-sh.c (sh_elf_reloc): Correct bfd_reloc_outofrange check.
866 * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Remove duplicated
867 bfd_reloc_outofrange check.
868 * bfd-in2.h: Regenerate.
869
870 * cpu-ns32k.c (_bfd_do_ns32k_reloc_contents): Return bfd_reloc_ok
871 on zero size relocs.
872 * ecoff.c (ecoff_reloc_link_order): Likewise.
873 * elf32-nds32.c (nds32_relocate_contents): Likewise.
874 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
875
876 * reloc.c (_bfd_relocate_contents): Don't bomb on zero size relocs.
877 (_bfd_clear_contents): Likewise.
878 * elfxx-mips.c (mips_elf_obtain_contents): Likewise.
879 (mips_elf_perform_relocation): Likewise.
880
881 * aoutx.h (aout_link_reloc_link_order): Allow for NULL return
882 from malloc on zero size alloc.
883 * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
884 * elflink.c (elf_reloc_link_order): Likewise.
885 * linker.c (_bfd_generic_reloc_link_order): Likewise.
886 * pdp11.c (aout_link_reloc_link_order): Likewise.
887 * xcofflink.c (xcoff_reloc_link_order): Likewise.
888
889 * aoutx.h (howto_table_ext): Ensure NONE relocs have size 3,
890 bitsize 0, and complain_overflow_dont.
891 * coff-sparc.c (coff_sparc_howto_table): Likewise.
892 * elf-hppa.h (elf_hppa_howto_table): Likewise.
893 * elf-m10200.c (elf_mn10200_howto_table): Likewise.
894 * elf-m10300.c (elf_mn10300_howto_table): Likewise.
895 * elf32-arc.c (elf_arc_howto_table): Likewise.
896 * elf32-arm.c (elf32_arm_howto_table_1): Likewise.
897 * elf32-avr.c (elf_avr_howto_table): Likewise.
898 * elf32-bfin.c (bfin_howto_table): Likewise.
899 * elf32-cr16.c (cr16_elf_howto_table): Likewise.
900 * elf32-cris.c (cris_elf_howto_table): Likewise.
901 * elf32-crx.c (crx_elf_howto_table): Likewise.
902 * elf32-d10v.c (elf_d10v_howto_table): Likewise.
903 * elf32-d30v.c (elf_d30v_howto_table): Likewise.
904 * elf32-dlx.c (dlx_elf_howto_table): Likewise.
905 * elf32-epiphany.c (epiphany_elf_howto_table): Likewise.
906 * elf32-fr30.c (fr30_elf_howto_table): Likewise.
907 * elf32-frv.c (elf32_frv_howto_table): Likewise.
908 * elf32-h8300.c (h8_elf_howto_table): Likewise.
909 * elf32-i370.c (i370_elf_howto_raw): Likewise.
910 * elf32-i386.c (elf_howto_table): Likewise.
911 * elf32-i860.c (elf32_i860_howto_table): Likewise.
912 * elf32-i960.c (elf32_i960_relocate): Likewise.
913 * elf32-ip2k.c (ip2k_elf_howto_table): Likewise.
914 * elf32-iq2000.c (iq2000_elf_howto_table): Likewise.
915 * elf32-lm32.c (lm32_elf_howto_table): Likewise.
916 * elf32-m32c.c (m32c_elf_howto_table): Likewise.
917 * elf32-m32r.c (m32r_elf_howto_table): Likewise.
918 * elf32-m68hc11.c (elf_m68hc11_howto_table): Likewise.
919 * elf32-m68hc12.c (elf_m68hc11_howto_table): Likewise.
920 * elf32-m68k.c (howto_table): Likewise.
921 * elf32-mcore.c (mcore_elf_howto_raw): Likewise.
922 * elf32-mep.c (mep_elf_howto_table): Likewise.
923 * elf32-metag.c (elf_metag_howto_table): Likewise.
924 * elf32-microblaze.c (microblaze_elf_howto_raw): Likewise.
925 * elf32-mips.c (elf_mips_howto_table_rel): Likewise.
926 * elf32-moxie.c (moxie_elf_howto_table): Likewise.
927 * elf32-msp430.c (elf_msp430_howto_table): Likewise.
928 * elf32-mt.c (mt_elf_howto_table): Likewise.
929 * elf32-nds32.c (nds32_elf_howto_table): Likewise.
930 * elf32-nios2.c (elf_nios2_howto_table_rel): Likewise.
931 * elf32-or1k.c (or1k_elf_howto_table): Likewise.
932 * elf32-pj.c (pj_elf_howto_table): Likewise.
933 * elf32-ppc.c (ppc_elf_howto_raw): Likewise.
934 * elf32-rl78.c (rl78_elf_howto_table): Likewise.
935 * elf32-rx.c (rx_elf_howto_table): Likewise.
936 * elf32-s390.c (elf_howto_table): Likewise.
937 * elf32-score.c (elf32_score_howto_table): Likewise.
938 * elf32-score7.c (elf32_score_howto_table): Likewise.
939 * elf32-sh-relocs.h (R_SH_NONE): Likewise.
940 * elf32-spu.c (elf_howto_table): Likewise.
941 * elf32-tic6x.c (elf32_tic6x_howto_table): Likewise.
942 * elf32-tilepro.c (tilepro_elf_howto_table): Likewise.
943 * elf32-v850.c (v850_elf_howto_table): Likewise.
944 * elf32-vax.c (howto_table): Likewise.
945 * elf32-visium.c (visium_elf_howto_table): Likewise.
946 * elf32-xc16x.c (xc16x_elf_howto_table): Likewise.
947 * elf32-xgate.c (elf_xgate_howto_table): Likewise.
948 * elf32-xstormy16.c (xstormy16_elf_howto_table): Likewise.
949 * elf32-xtensa.c (elf_howto_table): Likewise.
950 * elf64-alpha.c (elf64_alpha_howto_table): Likewise.
951 * elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
952 * elf64-mmix.c (elf_mmix_howto_table): Likewise.
953 * elf64-ppc.c (ppc64_elf_howto_raw): Likewise.
954 * elf64-s390.c (elf_howto_table): Likewise.
955 * elf64-sh64.c (sh_elf64_howto_table): Likewise.
956 * elf64-x86-64.c (x86_64_elf_howto_table): Likewise.
957 * elfn32-mips.c (elf_mips_howto_table_rel): Likewise.
958 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
959 (elfNN_aarch64_howto_none): Likewise.
960 * elfxx-ia64.c (ia64_howto_table): Likewise.
961 * elfxx-sparc.c (_bfd_sparc_elf_howto_table): Likewise.
962 * elfxx-tilegx.c (tilegx_elf_howto_table): Likewise.
963 * nlm32-sparc.c (nlm32_sparc_howto_table): Likewise.
964
965 2015-01-15 H.J. Lu <hongjiu.lu@intel.com>
966
967 PR ld/17847
968 * elf64-x86-64.c (elf_x86_64_relocate_section): Don't complain
969 about -fPIC if the symbol is undefined when building executable.
970
971 2015-01-15 Nick Clifton <nickc@redhat.com>
972
973 PR binutils/17512
974 * elf-m10300.c (mn10300_info_to_howto): Replace assertion with an
975 error message. Never return an invalid howto pointer.
976 * elf32-cr16.c (cr16_info_to_howto): Likewise.
977 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
978 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
979 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
980 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
981 * elf32-mips.c (mips_elf32_rtype_to_howto): Likewise.
982 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
983 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
984 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
985 * elf32-v850.c (v850_elf_info_to_howto_rela): Likewise.
986 * elf32-vax.c (rtype_to_howto): Likewise.
987 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
988 * elf64-mips.c (mips_elf64_rtype_to_howto): Likewise.
989 * elfn32-mips.c (sh_elf_info_to_howto): Likewise.
990 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
991 (sh_elf_reloc): Check that the reloc is in range.
992 * reloc.c (bfd_perform_relocation): Check that the section is big
993 enough for the entire reloc.
994 (bfd_generic_get_relocated_section_contents): Report unexpected
995 return values from perform_reloc.
996
997 2015-01-15 Nick Clifton <nickc@redhat.com>
998
999 * elf32-msp430.c (msp430_elf_relax_section): Skip unhandled
1000 relocs. Include PC-relative adjustment for R_MSP430X_ABS16
1001 relaxation.
1002
1003 2015-01-15 Alan Modra <amodra@gmail.com>
1004
1005 * elflink.c (_bfd_elf_link_omit_section_dynsym): Return true for
1006 any output section matching a linker created dynobj section.
1007
1008 2015-01-15 Alan Modra <amodra@gmail.com>
1009
1010 PR 17842
1011 * elflink.c (elf_link_output_sym): Assert elf_onesymtab set.
1012 (bfd_elf_final_link): Always create a symbol table when emit_relocs.
1013 Don't assign symtab file position unless symbols will be output.
1014 Merge blocks with condition in common. Don't call
1015 elf_backend_output_arch_local_syms or elf_backend_output_arch_syms
1016 unless other symbols are output. Move assignment of symtab_shndx
1017 file position. Localize variable.
1018
1019 2015-01-14 Jiong Wang <jiong.wang@arm.com>
1020
1021 * elf32-arm.c (elf32_arm_final_link_relocate): Reject R_ARM_32/_NOI when
1022 trying to defer them to runtime.
1023
1024 2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
1025
1026 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use SYMBOLIC_BIND
1027 to check if a symbol should be bound symbolically.
1028
1029 2015-01-13 Jiong Wang <jiong.wang@arm.com>
1030
1031 * elfnn-aarch64.c: (elfNN_aarch64_howto_table): Enable overflow check
1032 for TLSLE_MOVW_TPREL_G2.
1033
1034 2015-01-13 Jiong Wang <jiong.wang@arm.com>
1035
1036 PR ld/17415
1037 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Mark
1038 R_AARCH64_TLSLE_ADD_TPREL_HI12 as complain_overflow_unsigned.
1039 * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Correct the
1040 bit mask.
1041
1042 2015-01-12 Terry Guo <terry.guo@arm.com>
1043
1044 * elflink.c (_bfd_elf_gc_mark_debug_special_section_group): New
1045 function.
1046 (_bfd_elf_gc_mark_extra_sections): Use it.
1047
1048 2015-01-11 H.J. Lu <hongjiu.lu@intel.com>
1049
1050 PR ld/17827
1051 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): For PIE,
1052 only discard space for pc-relative relocs symbols which turn
1053 out to need copy relocs.
1054
1055 2015-01-09 Nick Clifton <nickc@redhat.com>
1056
1057 * tekhex.c (getvalue): Fix thinko in test for correct extraction
1058 of value.
1059 (getsym): Return false if there was not enough data to extract the
1060 symbol.
1061
1062 2015-01-09 Anthony Green <green@moxielogic.com>
1063
1064 * elf32-moxie.c (ELF_MACHINE_ALT1): Define.
1065
1066 2015-01-08 Nick Clifton <nickc@redhat.com>
1067
1068 * elf32-msp430.c (msp430_elf_relax_section): Add relaxation of
1069 16-bit absolute BR instructions to 10-bit pc-relative JMP
1070 instructions.
1071
1072 2015-01-08 Nick Clifton <nickc@redhat.com>
1073
1074 PR binutils/17512
1075 * coffcode.h (coff_slurp_symbol_table): Return false if we failed
1076 to load the line table.
1077 * elf.c (_bfd_elf_map_sections_to_segments): Enforce a minimum
1078 maxpagesize of 1.
1079 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if
1080 the Data Directory Size is too large.
1081
1082 2015-01-06 H.J. Lu <hongjiu.lu@intel.com>
1083
1084 PR binutils/17512
1085 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocation.
1086 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
1087
1088 2015-01-06 Nick Clifton <nickc@redhat.com>
1089
1090 PR binutils/17512
1091 * mach-o.c (bfd_mach_o_read_symtab_strtab): Zero terminate the
1092 string table.
1093
1094 * reloc.c (bfd_get_reloc_size): Handle a reloc size of -1.
1095 (bfd_perform_relocation): Include the size of the reloc in the
1096 test for an out of range relocation.
1097 (bfd_generic_get_relocated_section_contents): Remove reloc range
1098 test.
1099
1100 * coff-i860.c (CALC_ADDEND): Always set an addend value.
1101 * tekhex.c (getvalue): Add an end pointer parameter. Use it to
1102 avoid reading off the end of the buffer.
1103 (getsym): Likewise.
1104 (first_phase): Likewise.
1105 (pass_over): Pass an end pointer to the invoked function.
1106
1107 2015-01-05 H.J. Lu <hongjiu.lu@intel.com>
1108
1109 PR binutils/17512
1110 * elf32-i386.c (elf_i386_get_plt_sym_val): Return NULL on corrupt
1111 input.
1112 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
1113
1114 2015-01-05 Nick Clifton <nickc@redhat.com>
1115
1116 PR binutils/17512
1117 * archive.c (do_slurp_bsd_armap): Make sure that the parsed sized
1118 is at least big enough for the header to be read.
1119 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocs.
1120 * mach-o.c (bfd_mach_o_get_synthetic_symtab): Add range checks.
1121 (bfd_mach_o_read_command): Prevetn duplicate error messages about
1122 unrecognized commands.
1123 * syms.c (_bfd_stab_section_find_nearest_line): Add range checks
1124 when indexing into the string table.
1125
1126 2015-01-01 Alan Modra <amodra@gmail.com>
1127
1128 Update year range in copyright notice of all files.
1129
1130 For older changes see ChangeLog-2014
1131 \f
1132 Copyright (C) 2015 Free Software Foundation, Inc.
1133
1134 Copying and distribution of this file, with or without modification,
1135 are permitted in any medium without royalty provided the copyright
1136 notice and this notice are preserved.
1137
1138 Local Variables:
1139 mode: change-log
1140 left-margin: 8
1141 fill-column: 74
1142 version-control: never
1143 End:
This page took 0.053504 seconds and 5 git commands to generate.