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