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