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