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