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