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