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