]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - bfd/ChangeLog
doc/c-rx.texi: Fix markup typos in last change.
[thirdparty/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
cd6faa73
L
12015-04-09 H.J. Lu <hongjiu.lu@intel.com>
2
3 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_COMPRESS_GABI to
4 object_flags.
5 (TARGET_LITTLE_SYM): Likewise.
6
19424843
MF
72015-04-09 Max Filippov <jcmvbkbc@gmail.com>
8
9 * elf32-xtensa.c (splay-tree.h): include header.
10 (text_action_struct): drop next pointer.
11 (text_action_list_struct): drop head pointer, add count and
12 tree fields.
13 (find_fill_action): instead of linear search in text_action_list
14 search in the tree.
15 (text_action_compare, action_first, action_next): new functions.
16 (text_action_add, text_action_add_literal): instead of linear
17 search and insertion insert new node into the tree.
18 (removed_by_actions): pass additional parameter: action_list,
19 use it to traverse the tree.
20 (offset_with_removed_text): pass additional action_list parameter
21 to removed_by_actions.
22 (map_action_fn_context): new typedef.
23 (map_action_fn_context_struct): new structure.
24 (map_action_fn): new function.
25 (map_removal_by_action): use splay_tree_foreach to build map.
26 (find_insn_action): replace linear search in text_action_list
27 with series of splay_tree_lookups.
28 (print_action, print_action_list_fn): new functions.
29 (print_action_list): use splay_tree_foreach.
30 (init_xtensa_relax_info): drop action_list.head initialization.
31 Initialize the tree.
32 (compute_text_actions): use non-zero action_list_count instead of
33 non-NULL action list.
34 (xlate_map_context): new typedef.
35 (xlate_map_context_struct): new structure.
36 (xlate_map_fn): new function.
37 (build_xlate_map): use splay_tree_foreach to build map.
38 (action_remove_bytes_fn): new function.
39 (relax_section): use zero action_list_count instead of NULL
40 action list. Use splay_tree_foreach to count final section size.
41 Drop unused variable 'removed'.
42
432015-04-09 Max Filippov <jcmvbkbc@gmail.com>
44
45 * elf32-xtensa.c (removed_literal_map_entry): new typedef.
46 (removed_literal_map_entry_struct): new structure.
47 (removed_literal_list_struct): add new fields: n_map and map.
48 (map_removed_literal, removed_literal_compare): new functions.
49 (find_removed_literal): build index array for literals ordered
50 by VMA, use binary search to find removed literal.
51
522015-04-09 Max Filippov <jcmvbkbc@gmail.com>
53
54 * elf32-xtensa.c (removal_by_action_entry_struct,
55 removal_by_action_map_struct): new structures.
56 (removal_by_action_entry, removal_by_action_map): new typedefs.
57 (text_action_list_struct): add new field: map.
58 (map_removal_by_action, removed_by_actions_map,
59 offset_with_removed_text_map): new functions.
60 (relax_section): replace offset_with_removed_text with
61 offset_with_removed_text_map.
62 (translate_reloc, relax_property_section, relax_section_symbols):
63 replace removed_by_actions with removed_by_actions_map.
64
652015-04-09 Max Filippov <jcmvbkbc@gmail.com>
66
67 * elf32-xtensa.c (reloc_range_list, reloc_range_list_entry,
68 reloc_range): new typedef.
69 (reloc_range_list_struct, reloc_range_list_entry_struct,
70 reloc_range_struct): new structures.
71 (reloc_range_compare, build_reloc_ranges,
72 reloc_range_list_append, reloc_range_list_remove,
73 reloc_range_list_update_range, free_reloc_range_list): new
74 functions.
75 (compute_text_actions): precompute relocation opcodes before the
76 loop. Add relevant_relocs variable, initialize it before the
77 loop, pass it to the check_section_ebb_pcrels_fit.
78 (check_section_ebb_pcrels_fit): add new parameter:
79 relevant_relocs. Update address range in the relevant_relocs if
80 it's non-NULL and iterate only over relevant relocations.
81
3525236c
NC
822015-04-09 Nick Clifton <nickc@redhat.com>
83
84 * elf32-rx.c (describe_flags): Report the settings of the string
85 insn using bits.
86 (rx_elf_merge_private_bfd_data): Handle merging of the string insn
87 using bits.
88
51509926
L
892015-04-08 H.J. Lu <hongjiu.lu@intel.com>
90
91 * compress.c (bfd_compress_section_contents): Work around a GCC
92 uninitialized warning bug fixed in GCC 4.7.
93
151411f8
L
942015-04-08 H.J. Lu <hongjiu.lu@intel.com>
95
96 * archive.c (_bfd_get_elt_at_filepos): Also copy BFD_COMPRESS_GABI
97 bit.
98 * bfd.c (bfd::flags): Increase size to 18 bits.
99 (BFD_COMPRESS_GABI): New.
100 (BFD_FLAGS_SAVED): Add BFD_COMPRESS_GABI.
101 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
102 (bfd_update_compression_header): New fuction.
103 (bfd_check_compression_header): Likewise.
104 (bfd_get_compression_header_size): Likewise.
105 (bfd_is_section_compressed_with_header): Likewise.
106 * compress.c (MAX_COMPRESSION_HEADER_SIZE): New.
107 (bfd_compress_section_contents): Return the uncompressed size if
108 the full section contents is compressed successfully. Support
109 converting from/to .zdebug* sections.
110 (bfd_get_full_section_contents): Call
111 bfd_get_compression_header_size to get compression header size.
112 (bfd_is_section_compressed): Renamed to ...
113 (bfd_is_section_compressed_with_header): This. Add a pointer
114 argument to return compression header size.
115 (bfd_is_section_compressed): Use it.
116 (bfd_init_section_decompress_status): Call
117 bfd_get_compression_header_size to get compression header size.
118 Return FALSE if uncompressed section size is 0.
119 * elf.c (_bfd_elf_make_section_from_shdr): Support converting
120 from/to .zdebug* sections.
121 * bfd-in2.h: Regenerated.
122
87070c08
AM
1232015-04-07 Alan Modra <amodra@gmail.com>
124
125 * elf.c (_bfd_elf_get_reloc_section): Allow for .got.plt being
126 mapped to output .got section.
127
d3e454b9
AM
1282015-04-07 Alan Modra <amodra@gmail.com>
129
130 * elf32-ppc.c (struct ppc_elf_link_hash_entry): Add has_addr16_ha
131 and has_addr16_lo. Make has_sda_refs a bitfield.
132 (ppc_elf_check_relocs): Set new flags.
133 (ppc_elf_link_hash_table_create): Update default_params.
134 (ppc_elf_adjust_dynamic_symbol): Clear protected_def in cases
135 where we won't be making .dynbss entries or editing code. Set
136 params->pic_fixup when we'll edit code for protected var access.
137 (allocate_dynrelocs): Allocate got entry for edited code and
138 discard dyn_relocs.
139 (struct ppc_elf_relax_info): Add picfixup_size.
140 (ppc_elf_relax_section): Rename struct one_fixup to struct
141 one_branch_fixup. Rename fixups to branch_fixups. Size space for
142 pic fixups.
143 (ppc_elf_relocate_section): Edit non-PIC accessing protected
144 visibility variables to PIC. Don't emit dyn_relocs for code
145 we've edited.
146 * elf32-ppc.h (struct ppc_elf_params): Add pic_fixup.
147
ffa54770
NC
1482015-04-07 Nick Clifton <nickc@redhat.com>
149
150 * elf.c (_bfd_elf_is_local_label_name): Treat assembler generated
151 local labels as local.
152
4aa90cc0
L
1532015-04-06 H.J. Lu <hongjiu.lu@intel.com>
154
155 * compress.c (get_uncompressed_size): Removed.
156 (bfd_compress_section_contents): Use bfd_putb64 to write
157 uncompressed section size.
158 (bfd_init_section_decompress_status): Replace
159 get_uncompressed_size with bfd_getb64.
160
68f5ff89
L
1612015-04-04 H.J. Lu <hongjiu.lu@intel.com>
162
163 * elf.c (_bfd_elf_init_private_section_data): Also preserve the
164 SHF_COMPRESSED bit if not decompress.
165
8bed4e0f
L
1662015-04-04 H.J. Lu <hongjiu.lu@intel.com>
167
168 * compress.c (get_uncompressed_size): New. Extracted from ...
169 (bfd_init_section_decompress_status): This. Use it.
170
15c7659f
AT
1712015-04-02 Andrew Turner <andrew@freebsd.org>
172
173 * config.bfd: Add aarch64-*-freebsd* target triple.
174
39f3de7c
L
1752015-04-02 H.J. Lu <hongjiu.lu@intel.com>
176
177 * configure: Regenerated.
178
4106101c
MS
1792015-04-01 Tejas Belagod <tejas.belagod@arm.com>
180 Marcus Shawcroft <marcus.shawcroft@arm.com>
181 Jiong Wang <jiong.wang@arm.com>
182
183 * bfd-in.h (bfd_elf64_aarch64_set_options)
184 (bfd_elf32_aarch64_set_options): Add parameter.
185 * bfd-in2.h: Regenerated.
186 * elfnn-aarch64.c (aarch64_erratum_843419_stub)
187 (_bfd_aarch64_adrp_p, _bfd_aarch64_erratum_843419_sequence_p)
188 (_bfd_aarch64_erratum_843419_stub_name)
189 (_bfd_aarch64_erratum_843419_fixup)
190 (_bfd_aarch64_erratum_843419_scan)
191 (_bfd_aarch64_erratum_843419_branch_to_stub)
192 (_bfd_aarch64_erratum_843419_p): Define.
193 (enum elf_aarch64_stub_type): Define
194 aarch64_stub_erratum_843419_veneer.
195 (struct elf_aarch64_stub_hash_entry): Define adrp_offset.
196 (struct elf_aarch64_link_hash_table): Define fix_erratum_843419
197 and fix_erratum_843419_adr.
198 (stub_hash_newfunc): Initialize adrp_offset;
199 (_bfd_aarch64_add_stub_entry_after): Define.
200 (aarch64_map_one_stub, aarch64_build_one_stub)
201 (aarch64_size_one_stub): Handle
202 aarch64_stub_erratum_843419_veneer.
203 (_bfd_aarch64_resize_stubs): Round stub section size.
204 (elfNN_aarch64_size_stubs): Add scan for 843419.
205 (bfd_elfNN_aarch64_set_options): Add parameter. Initialize
206 fix_erratum_843419 and fix_erratum_843419_adr.
207 (struct erratum_835769_branch_to_stub_data): Add info.
208 (elfNN_aarch64_write_section): Initialise info. Handle 843419.
209 (elfNN_aarch64_size_dynamic_sections): Handle 843419.
210 * elfxx-aarch64.c (_bfd_aarch64_decode_adrp_imm)
211 (_bfd_aarch64_sign_extend): Define.
212 (reencode_adr_imm): Remove static. Rename to:
213 (_bfd_aarch64_reencode_adr_imm): Define.
214 (_bfd_aarch64_elf_put_addend): Call _bfd_aarch64_reencode_adr_imm.
215 * elfxx-aarch64.h (AARCH64_ADR_OP, AARCH64_ADRP_OP)
216 (AARCH64_ADRP_OP_MASK, _bfd_aarch64_sign_extend)
217 (_bfd_aarch64_decode_adrp_imm, _bfd_aarch64_reencode_adr_imm):
218 Define.
219
afa59b79
L
2202015-04-01 H.J. Lu <hongjiu.lu@intel.com>
221
222 * configure: Regenerated.
223
6036f486
ES
2242015-03-31 Ed Schouten <ed@nuxi.nl>
225
226 * config.bfd (targ_defvec): Set to x86_64_elf64_cloudabi_vec
227 for x86_64-*-cloudabi*.
228 * configure.ac: Handle x86_64_elf64_cloudabi_vec.
229 * configure: Regenerated.
230 * elf64-x86-64.c (TARGET_LITTLE_SYM): Support x86_64-*-cloudabi*.
231 (TARGET_LITTLE_NAME): Likewise.
232 (ELF_OSABI): Likewise.
233 (elf64_bed): Likewise.
234 * targets.c (x86_64_elf64_cloudabi_vec): New.
235 (_bfd_target_vector): Add x86_64_elf64_cloudabi_vec.
236
9ae46699
L
2372015-03-31 H.J. Lu <hongjiu.lu@intel.com>
238
239 * configure.ac: Revert the AM_ZLIB change.
240 * Makefile.in: Regenerated.
241 * aclocal.m4: Likewise.
242 * configure: Likewise.
243 * doc/Makefile.in: Likewise.
244
bd53a53a
L
2452015-03-30 H.J. Lu <hongjiu.lu@intel.com>
246
247 PR ld/18169
248 * elf-bfd.h (elf_backend_data): Add get_reloc_section.
249 (_bfd_elf_get_reloc_section): New.
250 * elf.c (_bfd_elf_get_reloc_section): Likewise.
251 (assign_section_numbers): Call get_reloc_section to look up the
252 section the relocs apply.
253 * elfxx-target.h (elf_backend_get_reloc_section): Likewise.
254 (elfNN_bed): Initialize get_reloc_section with
255 elf_backend_get_reloc_section.
256
243340ad
L
2572015-03-29 H.J. Lu <hongjiu.lu@intel.com>
258
259 * Makefile.am (ZLIB): New.
260 (ZLIBINC): Likewise.
261 (AM_CFLAGS): Add $(ZLIBINC).
262 (libbfd_la_LIBADD): Add $(ZLIB).
263 * compress.c: Don't check HAVE_ZLIB_H to include <zlib.h>.
264 (decompress_contents): Don't check HAVE_ZLIB_H.
243340ad
L
265 (bfd_compress_section_contents): Likewise.
266 (bfd_get_full_section_contents): Likewise.
267 (bfd_init_section_decompress_status): Likewise.
268 (bfd_init_section_compress_status): Likewise.
b51724e8 269 * configure.ac (AM_ZLIB): Removed.
243340ad
L
270 (zlibdir): New. AC_SUBST.
271 (zlibinc): Likewise.
272 Add --with-system-zlib.
273 * Makefile.in: Regenerated.
274 * acinclude.m4: Likewise.
275 * config.in: Likewise.
276 * configure: Likewise.
277 * doc/Makefile.in: Likewise.
278
b8417128
AM
2792015-03-27 Alan Modra <amodra@gmail.com>
280
281 PR ld/15228
282 PR ld/18167
283 * elflink.c (elf_merge_st_other): Add "sec" parameter. Don't set
284 protected_def when symbol section is read-only. Adjust all calls.
285 * elf-bfd.h (struct elf_link_hash_entry): Update protected_def comment.
286
93ca8569
TB
2872015-03-26 Tejas Belagod <tejas.belagod@arm.com>
288
289 * elfnn-aarch64.c (aarch64_build_one_stub): Replace the call to generic
290 _bfd_final_link_relocate with aarch64_relocate.
291
b19a8f85
L
2922015-03-26 H.J. Lu <hongjiu.lu@intel.com>
293
294 PR ld/18160
295 * elflink.c (elf_gc_sweep): Skip if relocation is incompatible.
296 (bfd_elf_gc_sections): Likewise.
297
61865519
MS
2982015-03-25 Marcus Shawcroft <marcus.shawcroft@arm.com>
299
300 * elfnn-aarch64.c (_bfd_aarch64_resize_stubs): Adjust stub section
301 size for initial branch.
302 (elfNN_aarch64_build_stubs): Write initial branch.
303 _bfd_aarch64_decode_(elfNN_aarch64_output_arch_local_syms): Write
304 mapping symbol on initial branch.
305
d9ced15d 3062015-03-25 Marcus Shawcroft <marcus.shawcroft@arm.com>
357d1523
MS
307
308 * elfnn-aarch64.c (_bfd_aarch64_erratum_835769_scan):
309 Update erratum count.
310
d422d1c4
SKS
3112015-03-25 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
312
313 * elflink.c (_bfd_elf_gc_mark_extra_sections): Don't break on
314 first matching debug section.
315
8d001214
L
3162015-03-24 H.J. Lu <hongjiu.lu@intel.com>
317
318 PR gas/18087
319 * compress.c (bfd_compress_section_contents): Don't write the
320 zlib header and set contents as well as compress_status if
321 compression didn't make the section smaller.
322 (bfd_init_section_compress_status): Don't check compression
323 size here.
324
fc42baf3
NC
3252015-03-24 Nick Clifton <nickc@redhat.com>
326
327 PR binutils/17512
328 * coffgen.c (coff_get_normalized_symtab): Fix test for out of
329 range auxillary sections.
330
fc6d53be
MS
3312015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
332
333 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Factor
334 code into:
335 (_bfd_aarch64_get_stub_for_link_section): Define.
336
30068a6d
MS
3372015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
338
339 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Adjust
340 update of section_group[].stub_sec.
341
5421cc6e
MS
3422015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
343
344 * elfnn-aarch64.c (struct aarch64_erratum_835769_fix) Remove.
345 (erratum_835769_scan) Drop fix_table_size_p and fixes_p arguments.
346 Delete fixes, fix_table_size and associated code. Call
347 _bfd_aarch64_add_stub_entry_in_group. Rename to...
348 (bfd_aarch64_erratum_835769_scan): Define.
349 (elfNN_aarch64_size_stubs): Delete erratum_835769_fixes,
350 erratum_835769_fix_table_size, i and associated code. Relocate
351 call to _bfd_aarch64_erratum_835769_scan. Delete adhoc stub size
352 correction. Delete construction of stub entry from
353 erratum_835769_fixes array.
354
e572930b
MS
3552015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
356
357 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Use
358 _bfd_aarch64_add_stub_entry_in_group.
359
8131c122
AM
3602015-03-24 Alan Modra <amodra@gmail.com>
361
362 * elf64-ppc.c (ppc64_elf_relocate_section): Report overflow to
363 stubs, even those for undefined weak symbols. Otherwise, don't
364 report relocation overflow on branches to undefined strong
365 symbols. Fix memory leak.
366 * elf32-ppc.c (ppc_elf_relocate_section): Don't report relocation
367 overflow on branches to undefined strong symbols.
368
c53ed7cf
KS
3692015-03-23 Keith Seitz <keiths@redhat.com>
370
371 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Add
372 missing ';'.
373
94a75bde
MS
3742015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
375
376 * elfnn-aarch64.c (erratum_835769_scan): Factor stub name
377 construction into...
378 (_bfd_aarch64_erratum_835769_stub_name): Define.
379
13f622ec
MS
3802015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
381
382 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Factor out
383 stub resize code into...
384 (bfd_aarch64_resize_stubs): Define.
385
66585675
MS
3862015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
387
388 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Factor stub
389 creation code into...
390 (bfd_aarch64_create_stub_section): Define.
391
ef857521
MS
3922015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
393
394 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Rename
395 from elf_aarch64_create_or_find_stub_sec.
396 (_bfd_aarch64_add_stub_entry_in_group): Rename from
397 elfNN_aarch64_add_stub. Call
398 _bfd_aarch64_create_or_find_stub_sec.
399 (elfNN_aarch64_size_stubs, elfNN_aarch64_size_stubs): Call
400 _bfd_aarch64_add_stub_entry_in_group.
401
2144188d
MS
4022015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
403
404 * elfnn-aarch64.c (erratum_835769_scan) Add comment. Reverse
405 sense of boolean return.
406 (elfNN_aarch64_size_stubs): Adjust for above.
407
4c77202d
MS
4082015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
409
410 * elfnn-aarch64.c (elf_aarch64_create_or_find_stub_sec):
411 Remove unused parameter.
412 (elfNN_aarch64_size_stubs): Adjust for above.
413
9b9971aa
MS
4142015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
415
416 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Remove bfd_indx.
417
e2cdef47
MS
4182015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
419
420 * elfnn-aarch64.c (aarch64_erratum_835769_fixes)
421 (num_aarch64_erratum_835769_fixes): Remove.
422 (elfNN_aarch64_size_stubs): Remove assignments to above.
423
3d14faea
MS
4242015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
425
23956543
MS
426 * elfnn-aarch64.c (aarch64_mem_op_p): Update comment. Rename rtn
427 to rt2.
3d14faea
MS
428 (aarch64_erratum_seqeunce): Rename rtn to rt2.
429
f872121a
MS
4302015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
431
432 * elfnn-aarch64.c (elfNN_aarch64_write_section): Adjust layout.
433
1740ba0c
NC
4342015-03-19 Nick Clifton <nickc@redhat.com>
435
436 * elf32-rl78.c (rl78_cpu_name): New function. Prints the name of
437 the RL78 core based upon the flags.
438 (rl78_elf_merge_private_bfd_data): Handle merging of G13 and G14
439 flags.
440 (rl78_elf_print_private_bfd_data): Use rl78_cpu_name.
441 (elf32_rl78_machine): Always return bfd_mach_rl78.
442
e2575e05
NC
4432015-03-19 Nick Clifton <nickc@redhat.com>
444
445 PR 18078
446 * compress.c (bfd_compress_section_contents): Do not define this
447 function if it is not used.
448
0b0732e1
L
4492015-03-18 H.J. Lu <hongjiu.lu@intel.com>
450
451 * compress.c (bfd_compress_section_contents): Make it static.
452 * bfd/bfd-in2.h: Regenerated.
453
27aaeda0
NC
4542015-03-18 Eric Youngdale <eyoungdale@ptc.com>
455
456 PR ld/16598
457 * peicode.h (pe_ILF_build_a_bfd): Add support for creating relocs
458 suitable for the AMD64.
459
273a4985
JT
4602015-03-18 Jon Turney <jon.turney@dronecode.org.uk>
461 Nick Clifton <nickc@redhat.com>
462
463 PR binutils/18087
464 * coffgen.c (make_a_section_from_file): Only prepend a z to a
465 debug section's name if the section was actually compressed.
466 * elf.c (_bfd_elf_make_section_from_shdr): Likewise.
467 * compress.c (bfd_init_section_compress_status): Do not compress
468 the section if doing so would make it bigger. In such cases leave
469 the section alone and return COMPRESS_SECTION_NONE.
470
c4b0b099
AM
4712015-03-17 Alan Modra <amodra@gmail.com>
472
473 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Return count of 0
474 on nothing to do, before malloc of returned symbol array.
475
9c761a55
NC
4762015-03-16 Nick Clifton <nickc@redhat.com>
477
478 * elf32-rx.c (elf32_rx_relax_delete_bytes): If the relocs are not
479 stored in the elf_section_data structure then load them as
480 necessary.
481
b9005ba7
AK
4822015-03-14 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
483
484 * elf-s390-common.c (elf_s390_elf_sort_relocs_p): Don't sort
485 relocs against code sections.
486 * elf32-s390.c: Define elf_backend_sort_relocs_p.
487 * elf64-s390.c: Likewise.
488
1079403c
AM
4892015-03-11 Alan Modra <amodra@gmail.com>
490
491 * elf32-ppc.c (ppc_elf_get_synthetic_symtab): Examine stubs in
492 reverse order. Account for larger size of __tls_get_addr_opt stub.
493
a5721edd
JW
4942015-03-10 Yuri Gribov <y.gribov@samsung.arm>
495
496 PR ld/16572
497 * elf32-arm.c (elf32_arm_final_link_relocate): Remove support for
498 ELF_ARM_HASENTRY.
499 (elf32_arm_print_private_bfd_data): Likewise.
500
65164438
NC
5012015-03-06 Nick Clifton <nickc@redhat.com>
502
503 PR binutils/17765
504 * elflink.c (put_value): Like previous delta, but for the 32-bit
505 case.
506
41cd1ad1
NC
5072015-03-05 Nick Clifton <nickc@redhat.com>
508
509 PR binutils/17765
510 * elflink.c (put_value): Avoid using an undefined shift
511 operation.
512
ca3fe95e
L
5132015-03-05 H.J. Lu <hongjiu.lu@intel.com>
514
515 PR ld/pr15228
516 PR ld/pr17709
517 * elf-bfd.h (elf_backend_data): Add extern_protected_data.
518 * elf32-i386.c (elf_backend_extern_protected_data): New.
519 Defined to 1.
520 * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
521 * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't error on
522 copy relocs against protected symbols if extern_protected_data
523 is true.
524 (_bfd_elf_symbol_refs_local_p): Don't return true on protected
525 non-function symbols if extern_protected_data is true.
526 * elfxx-target.h (elf_backend_extern_protected_data): New.
527 Default to 0.
528 (elfNN_bed): Initialize extern_protected_data with
529 elf_backend_extern_protected_data.
530
425bd9e1
NC
5312015-03-05 Nick Clifton <nickc@redhat.com>
532
533 PR binutils/18025
534 * coffgen.c (coff_find_nearest_line_with_names): If the dwarf2
535 lookup fails, check for an address bias in the dwarf info, and if
536 one exists, retry the lookup with the biased value.
537 * dwarf2.c (_bfd_dwarf2_find_symbol_bias): New function.
538 Determines if a bias exists bewteen the addresses of functions
539 based on DWARF information vs symbol table information.
540 * libbfd-in.h (_bfd_dwarf2_find_symbol_bias): Prototype.
541 * libbfd.h: Regenerate.
542
8ef229f3
MS
5432015-03-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
544
545 * elfxx-aarch64.c (decode_add_imm, decode_movw_imm)
546 (decode_tst_branch_ofs_14, decode_ld_lit_ofs_19)
547 (decode_cond_branch_ofs_19, decode_branch_ofs_26): Remove.
548
8e2fe09f
MS
5492015-03-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
550
551 * elfnn-aarch64.c (aarch64_build_one_stub): Call abort.
552 (aarch64_size_one_stub): Likewise.
553 (aarch64_map_one_stub): Likewise.
554
df88b702
AA
5552015-03-04 Andreas Arnez <arnez@linux.vnet.ibm.com>
556
557 * cpu-s390.c (N): New macro.
558 (bfd_s390_31_arch): New. Define only if default target word size
559 is 64 bits. Otherwise define...
560 (bfd_390_64_arch): ...this. Make static.
561 (bfd_s390_arch): Define according to the default target word size.
562 Let the 'next' field point to the alternate arch.
563
e09ab7ac
RS
5642015-03-04 Richard Sandiford <richard.sandiford@arm.com>
565
566 PR gas/17843
567 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Expect
568 R_AARCH64_TLSLE_MOVW_TPREL_G0_NC and R_AARCH64_TLSLE_MOVW_TPREL_G1_NC
569 to be used with MOVK rather than MOVZ.
570
71eef2bd
DD
5712015-03-03 DJ Delorie <dj@redhat.com>
572
573 * elf32-rl78.c (rl78_elf_relax_section): Only relax ADDR16's if
574 there's a symbol.
575
f01f1741
AM
5762015-02-28 Alan Modra <amodra@gmail.com>
577
578 * elf32-ppc.c (ppc_elf_tls_setup): Set no_tls_get_addr_opt if
579 not PLT_NEW.
580
c1d11331
L
5812015-02-27 H.J. Lu <hongjiu.lu@intel.com>
582
583 * elf32-i386.c (need_convert_mov_to_lea): New.
584 (elf_i386_check_relocs): Set need_convert_mov_to_lea if needed.
585 (elf_i386_convert_mov_to_lea): Return TRUE if
586 need_convert_mov_to_lea is unset.
587 * elf64-x86-64.c (need_convert_mov_to_lea): New.
588 (elf_x86_64_check_relocs): Set need_convert_mov_to_lea if needed.
589 (elf_x86_64_convert_mov_to_lea): Return TRUE if
590 need_convert_mov_to_lea is unset.
591
cdb602b1
NC
5922015-02-27 Nick Clifton <nickc@redhat.com>
593
594 PR binutils/17910
595 * coffgen.c (_bfd_coff_internal_syment_name): Only check for
596 string length overflow when the string table length is actually
597 set.
598
96c20bc1
MS
5992015-02-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
600
601 * bfd/bfd-in2.h: Regenerate.
602 * bfd/libbfd.h: Regenerate.
603
1ada945d
MS
6042015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
605
606 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix
607 TLSDESC_LD_PREL19 field width and masks.
608 (aarch64_tls_transition_without_check)
609 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
610 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
611 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
612 BFD_RELOC_AARCH64_TLSDESC_LD_PREL19.
613 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
614 (_bfd_aarch64_elf_resolve_relocation): Likewise.
615
389b8029
MS
6162015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
617
73920eed
MS
618 * elfnn-aarch64.c (IS_AARCH64_TLSDESC_RELOC): Reorder R_TYPE
619 tests.
389b8029
MS
620 (aarch64_tls_transition_without_check)
621 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
622 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
623 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
624 BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21.
625 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
626 (_bfd_aarch64_elf_resolve_relocation): Likewise.
627 * reloc.c (BFD_RELOC_AARCH64_TLSGD_ADR_PREL21): Define.
628
3c12b054
MS
6292015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
630
631 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC)
632 (elfNN_aarch64_howto_table, aarch64_tls_transition_without_check)
633 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
634 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
635 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
636 BFD_RELOC_AARCH64_TLSGD_ADR_PREL21.
637 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
638 (_bfd_aarch64_elf_resolve_relocation): Likewise.
639 * reloc.c (BFD_RELOC_AARCH64_TLSGD_ADR_PREL21): Define.
640
043bf05a
MS
6412015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
642
643 * elfnn-aarch64.c: (TLSIE_LD_GOTTREL_PREL19): Fix HOWTO bit field width.
644 (aarch64_tls_transition_without_check, aarch64_reloc_got_type)
645 (elfNN_aarch64_final_link_relocate, elfNN_aarch64_tls_relax)
646 (elfNN_aarch64_relocate_section, elfNN_aarch64_gc_sweep_hook)
647 (elfNN_aarch64_check_relocs): Handle
648 BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19.
649
650 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
651 (_bfd_aarch64_elf_resolve_relocation): Likewise.
652
7366006f
MS
6532015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
654
655 * elfnn-aarch64.c: (TLSDESC_CALL): Fix HOWTO bit field width.
656
07875fbc
MS
6572015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
658
659 * elfnn-aarch64.c (TLSLE_MOVW_TPREL_G2)
660 (TLSLE_MOVW_TPREL_G1, TLSLE_MOVW_TPREL_G1_NC)
661 (TLSLE_MOVW_TPREL_G0, TLSLE_MOVW_TPREL_G0_NC): Fix bit field
662 width.
663
49d8f92c
MS
6642015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
665
666 * elfnn-aarch64.c: (TLSIE_MOVW_GOTTPREL_G0_NC): Fix HOWTO bit
667 field width.
668
c86934ce
NC
6692015-02-26 Nick Clifton <nickc@redhat.com>
670
671 PR binutils/17512
672 * coffcode.h (coff_compute_section_file_positions): Report
673 negative page sizes.
674 * elf.c (elf_fake_sections): Handle excessive alignmment powers.
675 (assign_file_positions_for_non_load_sections): Replace assertion
676 with an error message.
677 (rewrite_elf_program_header): Handle excessive segment
678 alignments.
679 * mach-o.c (bfd_mach_o_read_section_32): Likewise.
680 (bfd_mach_o_read_section_64): Likewise.
681 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Use %B to
682 print a bfd name, not %A.
683
bd4d2eaa
AM
6842015-02-26 Alan Modra <amodra@gmail.com>
685
686 * elf64-ppc.c (plt_stub_size, build_plt_stub): Don't build
687 thread-safe stubs for iplt.
688 (build_tls_get_addr_stub): Restore r2 immediately after call.
689
99654aaf
TG
6902015-02-26 Terry Guo <terry.guo@arm.com>
691
692 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Update how we
693 merge Tag_ABI_HardFP_use.
694
a127494f
AM
6952015-02-26 Alan Modra <amodra@gmail.com>
696
697 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Heed -z nocopyreloc.
698 Use text relocs rather than giving an error on trying to use
699 .dynbss for protected shared lib vars.
700 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
701
bac13f5a
AB
7022015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
703
704 * elf32-avr.c (struct elf_avr_section_data): New structure.
705 (struct avr_relax_info): New structure.
706 (elf_avr_new_section_hook): New function.
707 (struct elf_avr_section_data): Add relax_info.
708 (get_avr_relax_info): New function.
709 (init_avr_relax_info): New function.
710 (elf32_avr_relax_delete_bytes): Find next property record before
711 deleting bytes. When deleting don't move bytes beyond the next
712 property record.
713 (avr_elf32_assign_records_to_section): New function.
714 (avr_property_record_compare): New function.
715 (avr_load_all_property_sections): New function.
716 (elf32_avr_relax_section): Load property data. After relaxing the
717 section, move any .align directives that have enough deleted bytes
718 before them.
719 (bfd_elf32_new_section_hook): Define.
720
137c83d6
AB
7212015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
722
723 * elf32-avr.h (struct avr_property_header): New strucure.
724 (avr_elf32_load_property_records): Declare.
725 (avr_elf32_property_record_name): Declare.
726 * elf32-avr.c: Add bfd_stdint.h include.
727 (retrieve_local_syms): New function.
728 (get_elf_r_symndx_section): New function.
729 (get_elf_r_symndx_offset): New function.
730 (internal_reloc_compare): New function.
731 (struct avr_find_section_data): New structure.
732 (avr_is_section_for_address): New function.
733 (avr_find_section_for_address): New function.
734 (avr_elf32_load_records_from_section): New function.
735 (avr_elf32_load_property_records): New function.
736 (avr_elf32_property_record_name): New function.
737
fdd410ac
AB
7382015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
739
740 * elf32-avr.h (AVR_PROPERTY_RECORD_SECTION_NAME): Define.
741 (AVR_PROPERTY_RECORDS_VERSION): Define.
742 (AVR_PROPERTY_SECTION_HEADER_SIZE): Define.
743 (struct avr_property_record): New structure.
744
685080f2
NC
7452015-02-24 Nick Clifton <nickc@redhat.com>
746
747 * elf32-v850.c (v850_set_note): New function. Creates a Renesas
748 style note entry.
749 (v850_elf_make_note_section): New function. Creates a note
750 section.
751 (v850_elf_create_sections): New function. Create a note section
752 if one is not already present.
753 (v850_elf_set_note): New function. Adds a note to a bfd.
754 (v850_elf_copy_private_bfd_data): New function. Copies V850
755 notes.
756 (v850_elf_merge_notes): New function. Merges V850 notes.
757 (print_v850_note): New function. Displays a V850 note.
758 (v850_elf_print_notes): New function. Displays all notes attached
759 to a bfd.
760 (v850_elf_merge_private_bfd_data): Call v850_elf_merge_notes.
761 (v850_elf_print_private_bfd_data): Call v850_elf_print_notes.
762 (v850_elf_fake_sections): Set the type of the V850 note section.
763 * bfd-in.h (v850_elf_create_sections): Add prototype.
764 (v850_elf_set_note): Add prototype.
765 * bfd-in2.h: Regenerate.
766
31593e1b
NC
7672015-02-24 Nick Clifton <nickc@redhat.com>
768
769 * configure.ac (AC_CHECK_HEADERS): Add wctype.h.
770 * configure: Regenerate.
771 * config.in: Regenerate.
772 * peXXigen.c: Include wctype.h if HAVE_WCTYPE_H is defined.
773 (u16_mbtowc): Use wint_t types if HAVE_WCTYPE_H is defined.
774 (rsrc_cmp): Use towlower instead of wcsncasecmp if HAVE_WCTYPE_H
775 is defined.
776
3ad797fd
NC
7772015-02-24 Nick Clifton <nickc@redhat.com>
778
779 * pdp11.c (set_section_contents): Pad the .text and .data sections
780 to their aligned sizes.
781
5518c738
YS
7822015-02-23 Yoshinori Sato <ysato@users.sourceforge.jp>
783
784 * config.bfd: Add h8300-*-linux.
785 * configure.ac: Add h8300_elf32_linux_vec.
786 * configure: Regenerate.
787 * elf32-h8300.c: Likewise.
788 * targets.c(_bfd_target_vector): Likewise.
789
cb967f0d
NC
7902015-02-23 Nick Clifton <nickc@redhat.com>
791
792 PR 17914
793 * cpu-w65.c: Correct typos in license notice.
794
0f8f0c57
NC
795 PR 17940
796 * elf32-msp430.c (msp430_elf_relax_delete_bytes): Adjust debug
797 symbols at end of sections. Adjust function sizes.
798
4ef9f41a
AA
7992015-02-20 Andreas Arnez <arnez@linux.vnet.ibm.com>
800
801 * elf-bfd.h (elfcore_write_s390_vxrs_low): Add prototype.
802 (elfcore_write_s390_vxrs_high): Likewise.
803 * elf.c (elfcore_grok_s390_vxrs_low): New function.
804 (elfcore_grok_s390_vxrs_high): New function.
805 (elfcore_grok_note): Call them.
806 (elfcore_write_s390_vxrs_low): New function.
807 (elfcore_write_s390_vxrs_high): New function.
808 (elfcore_write_register_note): Call them.
809
837914ee
BD
8102015-02-19 Branko Drevensek <branko.drevensek@gmail.com>
811
812 PR 17995
813 * verilog.c (verilog_write_record): Correct buffer size.
814
cf18fda4
AM
8152015-02-19 Alan Modra <amodra@gmail.com>
816
817 * elflink.c (_bfd_elf_define_linkage_sym): Set 'bed' earlier.
818
d983c8c5
AM
8192015-02-19 Alan Modra <amodra@gmail.com>
820
821 PR ld/4317
822 * elflink.c (elf_link_input_bfd): Drop undefined local syms.
823 (elf_link_output_extsym): Drop local and global undefined syms.
824 Tidy. Expand comment.
825
2ec55de3
AM
8262015-02-17 Alan Modra <amodra@gmail.com>
827
828 PR ld/17975
829 * elflink.c (struct elf_outext_info): Remove need_second_pass
830 and second_pass.
831 (elf_link_output_extsym): Delete code handling second forced
832 local pass. Move code emitting NULL STT_FILE symbol later, so
833 that it can be omitted if forced local is stripped. Don't
834 emit the NULL STT_FILE if no file symbols have been output.
835 (bfd_elf_final_link): Remove second forced local pass.
836 * elf32-ppc.c (add_stub_sym): Set linker_def on linker syms.
837 (ppc_elf_size_dynamic_sections): Likewise.
838 * elf64-ppc.c (ppc_build_one_stub): Likewise.
839 (build_global_entry_stubs): Likewise.
840 (ppc64_elf_build_stubs): Likewise.
841
6dfb72b9
L
8422015-02-16 H.J. Lu <hongjiu.lu@intel.com>
843
844 PR ld/17975
845 * elflink.c (elf_link_output_extsym): Only check filesym_count
846 when outputting a NULL FILE symbol. Set second_pass_sym to
847 h->forced_local && !h->root.linker_def.
848
576fa883
L
8492015-02-15 H.J. Lu <hongjiu.lu@intel.com>
850
851 * elf32-i386.c (elf_i386_always_size_sections): Set root.linker_def
852 on _TLS_MODULE_BASE_.
853 * elf64-x86-64.c (elf_x86_64_always_size_sections): Likewise.
854
62f8d217
AM
8552015-02-15 Alan Modra <amodra@gmail.com>
856
857 * dwarf2.c (read_rangelist): Correct buffer overflow check
858 Whitespace throughout file.
859
ce875075
AM
8602015-02-14 Alan Modra <amodra@gmail.com>
861
862 PR ld/17973
863 * bfd.c (struct bfd): Add lto_output.
864 * linker.c (_bfd_handle_already_linked): Explicitly test for
865 objects added by the lto plugin.
866 * opncls.c (_bfd_new_bfd_contained_in): Copy lto_output and
867 no_export flags from archive.
868 * archive.c (open_nested_file): New function, setting lto_output
869 and no_export, extracted from..
870 (find_nested_archive): ..here. Flip params. Rename from
871 _bfd_find_nested_archive.
872 (_bfd_get_elt_at_filepos): Correct var typo. Use open_nested_file.
873 (_bfd_look_for_bfd_in_cache): Copy no_export.
874 * elflink.c (elf_link_add_object_symbols): Remove now unnecessary
875 my_archive->no_export test.
876 (elf_link_input_bfd): Drop existing lto_output STT_FILE syms.
877 Don't use the file name when adding lto_output STT_FILE sym.
878 * bfd-in2.h: Regenerate.
879
451dfd38
AM
8802015-02-13 Alan Modra <amodra@gmail.com>
881
882 PR binutils/17512
883 * elf64-ppc.c (opd_entry_value): Tighten offset check. Remove
884 now redundant assert.
885
dbb3fbbb
NC
8862015-02-12 Nick Clifton <nickc@redhat.com>
887
888 PR binutils/17512
889 * dwarf.c (read_1_byte, read_1_signed_byte, read_2_bytes)
890 (read_4_bytes, read_8_bytes, read_n_bytes, read_string)
891 (read_indirect_string, read_alt_indirect_string)
892 (read_alt_indirect_ref, read_address, read_abbrevs)
893 (read_attribute_value, read_attribute, decode_line_info)
894 (find_abstract_instance_name, read_rangelist)
895 (scan_unit_for_symbols, parse_comp_unit)
896 (_bfd_dwarf2_find_nearest_line): Harden DWARF reading code. Pass
897 end pointers to reading functions and check for offsets taking
898 pointers out of range. Replace calls to read_*_leb128 with calls
899 to safe_read_leb128.
900
901 (* elf64-ppc.c (opd_entry_value): Add a check for an overlarge
902 offset.
903 * syms.c (_bfd_stab_section_find_nearest_line): Add checks for
904 computed file_name address being before the start of the string
905 table.
906
b9dc5a87
L
9072015-02-11 H.J. Lu <hongjiu.lu@intel.com>
908
909 PR ld/17878
910 * bfd.c (bfd_plugin_format): New.
911 (bfd): Add plugin_format and plugin_dummy_bfd.
912 * plugin.c (try_load_plugin): Take a pointer to bfd_boolean
913 argument to return TRUE if any plugin is found. Set plugin_format.
914 (has_plugin): New.
915 (bfd_plugin_target_p): New.
916 (bfd_plugin_specified_p): Likewise.
917 (bfd_plugin_target_p): Likewise.
918 (register_ld_plugin_object_p): Likewise.
919 (bfd_plugin_set_plugin): Set has_plugin.
920 (load_plugin): Cache try_load_plugin result.
921 (bfd_plugin_object_p): Try ld_plugin_object_p first. Check
922 plugin_format.
923 * plugin.h (bfd_plugin_target_p): New.
924 (bfd_plugin_specified_p): Likewise.
925 (register_ld_plugin_object_p): Likewise.
926 * bfd-in2.h: Regenerated.
927
55172d69
PA
9282015-02-11 Pedro Alves <palves@redhat.com>
929
930 * libbfd-in.h [__cplusplus]: Open extern "C" scope.
931 * libcoff-in.h [__cplusplus]: Open extern "C" scope.
932 * libbfd.h: Regenerate.
933 * libcoff.h: Regenerate.
934
935 * elf-bfd.h [__cplusplus]: Wrap in extern "C".
936 * mach-o.h [__cplusplus]: Wrap in extern "C".
937 * som.h [__cplusplus]: Wrap in extern "C".
938
77ef8654
NC
9392015-02-10 Nick Clifton <nickc@redhat.com>
940
941 PR binutils/17512
942 * coffcode.h (styp_to_sec_flags): Use an unsigned long type to
943 hold the flag bits.
944 * peXXigen.c (pe_print_reloc): Use unsigned types to hold the
945 size and number of relocs.
946 (pe_print_debugdata): Use a 32-bit aligned buffer to store the
947 codeview record.
948 * versados.c (process_otr): Check the esdid value before using it
949 to access the EDATA.
950
35181b3e
EM
9512015-02-09 Ed Maste <emaste@freebsd.org>
952
953 * elf32-i386.c (elf_i386_get_plt_sym_val): Avoid incrementing
954 uninitialized and unused variable.
955 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
956
989f9879
AM
9572015-02-09 Alan Modra <amodra@gmail.com>
958
959 * elf32-ppc.c (ppc_elf_relocate_section): Don't segfault on NULL
960 tls_sec.
961 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
962 * elflink.c (elf_link_output_extsym): Don't assert on NULL tls_sec.
963
ca4be51c
AM
9642015-02-09 Alan Modra <amodra@gmail.com>
965
966 * elflink.c: Whitespace, formatting fixes.
967 (elf_link_input_bfd): Clarify comment.
968 (elf_link_output_extsym): Exclude symbols in linker created
969 sections when testing for plugin symbols.
970
1952c5cd
L
9712015-02-07 H.J. Lu <hongjiu.lu@intel.com>
972
973 PR ld/17935
974 * elf32-i386.c (elf_i386_readonly_dynrelocs): Also issue a
975 warning for relocation in readonly section for -z text.
976 (elf_i386_size_dynamic_sections): Likewise.
977 * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
978 (elf_x86_64_size_dynamic_sections): Likewise.
979
9e2dec47
L
9802015-02-06 H.J. Lu <hongjiu.lu@intel.com>
981
982 PR ld/12365
983 PR ld/14272
984 * elflink.c (_bfd_elf_fix_symbol_flags): Revert the last change.
985 (elf_link_input_bfd): Mark the plugin symbol undefined if it is
986 referenced from a non-IR file.
987
5929c344
NC
9882015-02-06 Nick Clifton <nickc@redhat.com>
989
990 PR binutils/17512
991 * peXXigen.c (rsrc_print_resource_entries): Add range check for
992 addresses that wrap around the address space.
993 (rsrc_parse_entry): Likewise.
994
60f79275
L
9952015-02-03 H.J. Lu <hongjiu.lu@intel.com>
996
997 PR ld/12365
998 PR ld/14272
999 * elflink.c (_bfd_elf_fix_symbol_flags): Mark the plugin symbol
1000 undefined if it is referenced from a non-IR file.
1001
64d29018
NC
10022015-02-03 Nick Clifton <nickc@redhat.com>
1003
1004 PR binutils/17512
1005 * ecoff.c: Use bfd_alloc2 to allocate space for structure arrays.
1006 (_bfd_ecoff_slurp_symbol_table): Check for a negative symbol
1007 index or an out of range fdr index.
1008 * elf-m10300.c (mn10300_info_to_howto): Fix typo in error message.
1009 * elf32-arc.c (arc_info_to_howto_rel): Likewise.
1010 * elf32-avr.c (avr_info_to_howto_rela): Likewise.
1011 * elf32-cr16.c (elf_cr16_info_to_howto): Likewise.
1012 * elf32-cr16c.c (elf_cr16c_info_to_howto_rel): Likewise.
1013 * elf32-cris.c (cris_info_to_howto_rela): Likewise.
1014 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
1015 * elf32-d10v.c (d10v_info_to_howto_rel): Likewise.
1016 * elf32-d30v.c (d30v_info_to_howto_rel): Likewise.
1017 * elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise.
1018 * elf32-fr30.c (fr30_info_to_howto_rela): Likewise.
1019 * elf32-frv.c (frv_info_to_howto_rela): Likewise.
1020 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
1021 * elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise.
1022 * elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise.
1023 * elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise.
1024 * elf32-lm32.c (lm32_info_to_howto_rela): Likewise.
1025 * elf32-m32c.c (m32c_info_to_howto_rela): Likewise.
1026 * elf32-m32r.c (m32r_info_to_howto_rel): Likewise.
1027 * elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise.
1028 * elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise.
1029 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
1030 * elf32-mep.c (mep_info_to_howto_rela): Likewise.
1031 * elf32-metag.c (metag_info_to_howto_rela): Likewise.
1032 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
1033 * elf32-moxie.c (moxie_info_to_howto_rela): Likewise.
1034 * elf32-msp430.c (msp430_info_to_howto_rela): Likewise.
1035 * elf32-mt.c (mt_info_to_howto_rela): Likewise.
1036 * elf32-nds32.c (nds32_info_to_howto_rel): Likewise.
1037 * elf32-or1k.c (or1k_info_to_howto_rela): Likewise.
1038 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
1039 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
1040 * elf32-rl78.c (rl78_info_to_howto_rela): Likewise.
1041 * elf32-rx.c (rx_info_to_howto_rela): Likewise.
1042 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
1043 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
1044 * elf32-v850.c (v850_elf_perform_relocation): Likewise.
1045 * elf32-vax.c (rtype_to_howto): Likewise.
1046 * elf32-visium.c (visium_info_to_howto_rela): Likewise.
1047 * elf32-xgate.c (xgate_info_to_howto_rel): Likewise.
1048 * elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise.
1049 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
1050 * elf64-mmix.c (mmix_info_to_howto_rela): Likewise.
1051 * mach-o.c: Use bfd_alloc2 to allocate space for structure arrays.
1052 (bfd_mach_o_canonicalize_one_reloc): Fix check on out
1053 of range symbol indicies.
1054 (bfd_mach_o_canonicalize_relocs): Check for out of range alloc.
1055 (bfd_mach_o_canonicalize_dynamic_reloc): Likewise.
1056 (bfd_mach_o_build_dysymtab): Likewise.
1057 (bfd_mach_o_write_symtab_content): Set the string table size to
1058 zero upon error.
1059 (bfd_mach_o_read_symtab_symbols): Reset the nsyms value if the
1060 read fails.
1061 * peXXigen.c (pe_print_edata): Check for numeric overflow in edt
1062 fields.
1063 * tekhex.c (first_phase): Check for src pointer reaching end of
1064 buffer.
1065
3a635617
WN
10662015-02-03 Will Newton <will.newton@linaro.org>
1067
46b87d49
WN
1068 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol):
1069 Set st_value to zero for undefined symbols if the reference
1070 is weak or pointer_equality_needed is FALSE.
1071
3a635617
WN
1072 * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Improve
1073 comment discussing why we clear st_value for some symbols.
1074
0c4bd9d9
KLC
10752015-02-02 Kuan-Lin Chen <kuanlinchentw@gmail.com>
1076
1077 * elf32-nds32.c (nds32_get_section_contents): Add one more argument.
1078 (nds32_elf_relocate_section): Do not relocate R_NDS32_LONGJUMP7.
1079
b86ac8e3
AM
10802015-01-29 Alan Modra <amodra@gmail.com>
1081
1082 * elf64-ppc.c (ppc64_elf_relocate_section): Correct GOT_TLSLD
1083 optimization. Tidy mask for GOT_TLSGD optimization.
1084 * elf32-ppc.c (ppc_elf_relocate_section): Likewise. Correct
1085 location of nop zapping high insn too.
1086
dbd1e97e
AM
10872015-01-28 Alan Modra <amodra@gmail.com>
1088
1089 * elf64-ppc.h (struct ppc64_elf_params): Add "object_in_toc".
1090 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Assume that global symbols
1091 in .toc indicate xlc compiled code that might require a rw .toc.
1092
3f8107ab
AM
10932015-01-28 James Bowman <james.bowman@ftdichip.com>
1094
1095 * Makefile.am: Add FT32 files.
1096 * archures.c (enum bfd_architecture): Add bfd_arch_ft32.
1097 (bfd_mach_ft32): Define.
1098 (bfd_ft32_arch): Declare.
1099 (bfd_archures_list): Add bfd_ft32_arch.
1100 * config.bfd: Handle FT32.
1101 * configure.ac: Likewise.
1102 * cpu-ft32.c: New file.
1103 * elf32-ft32.c: New file.
1104 * reloc.c (BFD_RELOC_FT32_10, BFD_RELOC_FT32_20, BFD_RELOC_FT32_17,
1105 BFD_RELOC_FT32_18): Define.
1106 * targets.c (_bfd_target_vector): Add ft32_elf32_vec.
1107 * bfd-in2.h: Regenerate.
1108 * libbfd.h: Regenerate.
1109 * Makefile.in: Regenerate.
1110 * configure: Regenerate.
1111 * po/SRC-POTFILES.in: Regenerate.
1112
37e3922e
NC
11132015-01-27 Nick Clifton <nickc@redhat.com>
1114
1115 PR binutils/17512
1116 * pdp11.c (aout_get_external_symbols): Return false if there are
1117 no symbols.
1118
877a8638
NC
1119 * dwarf2.c (concat_filename): Check for an empty directory table.
1120 (scan_unit_for_symbols): Check for reading off the end of the
1121 unit.
1122 (parse_comp_unit): Check for a DW_AT_comp_dir attribute with a
1123 non-string form.
1124 * elf64-ppc.c (opd_entry_value): Fail if there are no relocs
1125 available.
1126
18393a2e
KLC
11272015-01-26 Kuan-Lin Chen <kuanlinchentw@gmail.com>
1128
1129 * elf32-nds32.c (nds32_elf_pick_relax): Fix again setting.
1130
055173ca
DD
11312015-01-22 DJ Delorie <dj@redhat.com>
1132
1133 * elf32-m32c.c (m32c_apply_reloc_24): New.
1134 (m32c_elf_howto_table): Use it for R_M32C_24.
1135 (m32c_elf_relocate_section): Handle R_M32C_24 specially.
1136
4e5cb37e
NC
11372015-01-22 Nick Clifton <nickc@redhat.com>
1138
1139 PR binutils/17512
1140 * coffcode.h (handle_COMDAT): When searching for the section
1141 symbol, make sure that there is space left in the symbol table.
1142 * vms-alpha.c (_bfd_vms_slurp_ehdr): Add range checks.
1143
86eafac0
NC
11442015-01-21 Nick Clifton <nickc@redhat.com>
1145
1146 PR binutils/17512
1147 * coffcode.h (coff_set_arch_mach_hook): Check return value from
1148 bfd_malloc.
1149 (coff_slurp_line_table): Return FALSE if the line number
1150 information was corrupt.
1151 (coff_slurp_symbol_table): Return FALSE if the symbol information
1152 was corrupt.
1153 * mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Always
1154 initialise the fields of the dyld_info structure.
1155 (bfd_mach_o_build_exec_seg_command): Replace assertion with an
1156 error message and a return value.
1157 (bfd_mach_o_layout_commands): Change the function to boolean.
1158 Return FALSE if the function fails.
1159 (bfd_mach_o_build_commands): Fail if bfd_mach_o_layout_commands
1160 fails.
1161 (bfd_mach_o_read_command): Fail if an unrecognised command is
1162 encountered.
1163 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Set bfd_error if the
1164 read fails.
1165 (slurp_symtab): Check the return from bfd_malloc.
1166 (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if the copy
1167 encountered an error.
1168 (_bfd_XXi_final_link_postscript): Fail if a section could not be
1169 copied.
1170 * peicode.h (pe_bfd_object_p): Fail if the header could not be
1171 swapped in.
1172 * tekhex.c (first_phase): Fail if the section is too big.
1173 * versados.c (struct esdid): Add content_size field.
1174 (process_otr): Use and check the new field.
1175 (versados_get_section_contents): Check that the section exists and
1176 that the requested data is available.
1177
03d5b773
CLT
11782015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
1179
1180 * elf32-nios2.c (elf_backend_default_execstack): Define as 0.
1181
1c9177d9
AM
11822015-01-20 Alan Modra <amodra@gmail.com>
1183
1184 PR ld/17615
1185 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Don't drop
1186 ELF_COMMON_DEF syms.
1187
c4621b33
AM
11882015-01-19 Alan Modra <amodra@gmail.com>
1189
3e2aa5bb 1190 PR ld/17615
c4621b33
AM
1191 * elf-bfd.h (ELF_COMMON_DEF_P): Note that this might be true for
1192 linker script assignments too.
1193 * elflink.c (elf_gc_sweep_symbol): Don't drop ELF_COMMON_DEF syms.
1194 (bfd_elf_gc_mark_dynamic_ref_symbol): Similarly.
1195
0ba38529
AM
11962015-01-19 Alan Modra <amodra@gmail.com>
1197
1198 * elf32-bfin.c (bfin_bfd_reloc_type_lookup): Correct loop iteration
1199 to allow return of first howto.
1200 * elf32-fr30.c (fr30_reloc_type_lookup): Likewise.
1201 * elf32-m32c.c (m32c_reloc_type_lookup): Likewise.
1202 * elf32-moxie.c (moxie_reloc_type_lookup): Likewise.
1203 * elf32-or1k.c (or1k_reloc_type_lookup): Likewise.
1204 * elf32-rl78.c (rl78_reloc_type_lookup): Likewise.
1205 * elf32-rx.c (rx_reloc_type_lookup): Likewise.
1206 * elf32-tilepro.c (tilepro_reloc_type_lookup): Likewise.
1207 * elf32-xstormy16.c (xstormy16_reloc_type_lookup): Likewise.
1208 * elfxx-tilegx.c (tilegx_reloc_type_lookup): Likewise.
1209 * elf32-nios2.c (nios2_reloc_map): Add mapping for R_NIOS2_NONE.
1210 * elf32-spu.c (spu_elf_bfd_to_reloc_type): Allow return of R_SPU_NONE.
1211 (spu_elf_reloc_type_lookup): Adjust to suit.
1212
6346d5ca
AM
12132015-01-19 Alan Modra <amodra@gmail.com>
1214
1215 * bfd-in.h (bfd_get_section_limit_octets): New define, extracted from..
1216 (bfd_get_section_limit): ..here.
1217 * reloc.c (bfd_perform_relocation): Correct bfd_reloc_outofrange check.
1218 (bfd_install_relocation, _bfd_final_link_relocate): Add same check here.
1219 * elf32-sh.c (sh_elf_reloc): Correct bfd_reloc_outofrange check.
1220 * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Remove duplicated
1221 bfd_reloc_outofrange check.
1222 * bfd-in2.h: Regenerate.
1223
1224 * cpu-ns32k.c (_bfd_do_ns32k_reloc_contents): Return bfd_reloc_ok
1225 on zero size relocs.
1226 * ecoff.c (ecoff_reloc_link_order): Likewise.
1227 * elf32-nds32.c (nds32_relocate_contents): Likewise.
1228 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
1229
1230 * reloc.c (_bfd_relocate_contents): Don't bomb on zero size relocs.
1231 (_bfd_clear_contents): Likewise.
1232 * elfxx-mips.c (mips_elf_obtain_contents): Likewise.
1233 (mips_elf_perform_relocation): Likewise.
1234
1235 * aoutx.h (aout_link_reloc_link_order): Allow for NULL return
1236 from malloc on zero size alloc.
1237 * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
1238 * elflink.c (elf_reloc_link_order): Likewise.
1239 * linker.c (_bfd_generic_reloc_link_order): Likewise.
1240 * pdp11.c (aout_link_reloc_link_order): Likewise.
1241 * xcofflink.c (xcoff_reloc_link_order): Likewise.
1242
1243 * aoutx.h (howto_table_ext): Ensure NONE relocs have size 3,
1244 bitsize 0, and complain_overflow_dont.
1245 * coff-sparc.c (coff_sparc_howto_table): Likewise.
1246 * elf-hppa.h (elf_hppa_howto_table): Likewise.
1247 * elf-m10200.c (elf_mn10200_howto_table): Likewise.
1248 * elf-m10300.c (elf_mn10300_howto_table): Likewise.
1249 * elf32-arc.c (elf_arc_howto_table): Likewise.
1250 * elf32-arm.c (elf32_arm_howto_table_1): Likewise.
1251 * elf32-avr.c (elf_avr_howto_table): Likewise.
1252 * elf32-bfin.c (bfin_howto_table): Likewise.
1253 * elf32-cr16.c (cr16_elf_howto_table): Likewise.
1254 * elf32-cris.c (cris_elf_howto_table): Likewise.
1255 * elf32-crx.c (crx_elf_howto_table): Likewise.
1256 * elf32-d10v.c (elf_d10v_howto_table): Likewise.
1257 * elf32-d30v.c (elf_d30v_howto_table): Likewise.
1258 * elf32-dlx.c (dlx_elf_howto_table): Likewise.
1259 * elf32-epiphany.c (epiphany_elf_howto_table): Likewise.
1260 * elf32-fr30.c (fr30_elf_howto_table): Likewise.
1261 * elf32-frv.c (elf32_frv_howto_table): Likewise.
1262 * elf32-h8300.c (h8_elf_howto_table): Likewise.
1263 * elf32-i370.c (i370_elf_howto_raw): Likewise.
1264 * elf32-i386.c (elf_howto_table): Likewise.
1265 * elf32-i860.c (elf32_i860_howto_table): Likewise.
1266 * elf32-i960.c (elf32_i960_relocate): Likewise.
1267 * elf32-ip2k.c (ip2k_elf_howto_table): Likewise.
1268 * elf32-iq2000.c (iq2000_elf_howto_table): Likewise.
1269 * elf32-lm32.c (lm32_elf_howto_table): Likewise.
1270 * elf32-m32c.c (m32c_elf_howto_table): Likewise.
1271 * elf32-m32r.c (m32r_elf_howto_table): Likewise.
1272 * elf32-m68hc11.c (elf_m68hc11_howto_table): Likewise.
1273 * elf32-m68hc12.c (elf_m68hc11_howto_table): Likewise.
1274 * elf32-m68k.c (howto_table): Likewise.
1275 * elf32-mcore.c (mcore_elf_howto_raw): Likewise.
1276 * elf32-mep.c (mep_elf_howto_table): Likewise.
1277 * elf32-metag.c (elf_metag_howto_table): Likewise.
1278 * elf32-microblaze.c (microblaze_elf_howto_raw): Likewise.
1279 * elf32-mips.c (elf_mips_howto_table_rel): Likewise.
1280 * elf32-moxie.c (moxie_elf_howto_table): Likewise.
1281 * elf32-msp430.c (elf_msp430_howto_table): Likewise.
1282 * elf32-mt.c (mt_elf_howto_table): Likewise.
1283 * elf32-nds32.c (nds32_elf_howto_table): Likewise.
1284 * elf32-nios2.c (elf_nios2_howto_table_rel): Likewise.
1285 * elf32-or1k.c (or1k_elf_howto_table): Likewise.
1286 * elf32-pj.c (pj_elf_howto_table): Likewise.
1287 * elf32-ppc.c (ppc_elf_howto_raw): Likewise.
1288 * elf32-rl78.c (rl78_elf_howto_table): Likewise.
1289 * elf32-rx.c (rx_elf_howto_table): Likewise.
1290 * elf32-s390.c (elf_howto_table): Likewise.
1291 * elf32-score.c (elf32_score_howto_table): Likewise.
1292 * elf32-score7.c (elf32_score_howto_table): Likewise.
1293 * elf32-sh-relocs.h (R_SH_NONE): Likewise.
1294 * elf32-spu.c (elf_howto_table): Likewise.
1295 * elf32-tic6x.c (elf32_tic6x_howto_table): Likewise.
1296 * elf32-tilepro.c (tilepro_elf_howto_table): Likewise.
1297 * elf32-v850.c (v850_elf_howto_table): Likewise.
1298 * elf32-vax.c (howto_table): Likewise.
1299 * elf32-visium.c (visium_elf_howto_table): Likewise.
1300 * elf32-xc16x.c (xc16x_elf_howto_table): Likewise.
1301 * elf32-xgate.c (elf_xgate_howto_table): Likewise.
1302 * elf32-xstormy16.c (xstormy16_elf_howto_table): Likewise.
1303 * elf32-xtensa.c (elf_howto_table): Likewise.
1304 * elf64-alpha.c (elf64_alpha_howto_table): Likewise.
1305 * elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
1306 * elf64-mmix.c (elf_mmix_howto_table): Likewise.
1307 * elf64-ppc.c (ppc64_elf_howto_raw): Likewise.
1308 * elf64-s390.c (elf_howto_table): Likewise.
1309 * elf64-sh64.c (sh_elf64_howto_table): Likewise.
1310 * elf64-x86-64.c (x86_64_elf_howto_table): Likewise.
1311 * elfn32-mips.c (elf_mips_howto_table_rel): Likewise.
1312 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
1313 (elfNN_aarch64_howto_none): Likewise.
1314 * elfxx-ia64.c (ia64_howto_table): Likewise.
1315 * elfxx-sparc.c (_bfd_sparc_elf_howto_table): Likewise.
1316 * elfxx-tilegx.c (tilegx_elf_howto_table): Likewise.
1317 * nlm32-sparc.c (nlm32_sparc_howto_table): Likewise.
1318
6333bc0d
L
13192015-01-15 H.J. Lu <hongjiu.lu@intel.com>
1320
1321 PR ld/17847
1322 * elf64-x86-64.c (elf_x86_64_relocate_section): Don't complain
1323 about -fPIC if the symbol is undefined when building executable.
1324
cd21f5da
NC
13252015-01-15 Nick Clifton <nickc@redhat.com>
1326
1327 PR binutils/17512
1328 * elf-m10300.c (mn10300_info_to_howto): Replace assertion with an
1329 error message. Never return an invalid howto pointer.
1330 * elf32-cr16.c (cr16_info_to_howto): Likewise.
1331 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
1332 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
1333 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
1334 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
1335 * elf32-mips.c (mips_elf32_rtype_to_howto): Likewise.
1336 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
1337 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
1338 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
1339 * elf32-v850.c (v850_elf_info_to_howto_rela): Likewise.
1340 * elf32-vax.c (rtype_to_howto): Likewise.
1341 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
1342 * elf64-mips.c (mips_elf64_rtype_to_howto): Likewise.
1343 * elfn32-mips.c (sh_elf_info_to_howto): Likewise.
1344 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
1345 (sh_elf_reloc): Check that the reloc is in range.
1346 * reloc.c (bfd_perform_relocation): Check that the section is big
1347 enough for the entire reloc.
1348 (bfd_generic_get_relocated_section_contents): Report unexpected
1349 return values from perform_reloc.
1350
2d071cfc
NC
13512015-01-15 Nick Clifton <nickc@redhat.com>
1352
1353 * elf32-msp430.c (msp430_elf_relax_section): Skip unhandled
1354 relocs. Include PC-relative adjustment for R_MSP430X_ABS16
1355 relaxation.
1356
ca55926c
AM
13572015-01-15 Alan Modra <amodra@gmail.com>
1358
1359 * elflink.c (_bfd_elf_link_omit_section_dynsym): Return true for
1360 any output section matching a linker created dynobj section.
1361
8539e4e8
AM
13622015-01-15 Alan Modra <amodra@gmail.com>
1363
1364 PR 17842
1365 * elflink.c (elf_link_output_sym): Assert elf_onesymtab set.
1366 (bfd_elf_final_link): Always create a symbol table when emit_relocs.
1367 Don't assign symtab file position unless symbols will be output.
1368 Merge blocks with condition in common. Don't call
1369 elf_backend_output_arch_local_syms or elf_backend_output_arch_syms
1370 unless other symbols are output. Move assignment of symtab_shndx
1371 file position. Localize variable.
1372
52db4ec2
JW
13732015-01-14 Jiong Wang <jiong.wang@arm.com>
1374
1375 * elf32-arm.c (elf32_arm_final_link_relocate): Reject R_ARM_32/_NOI when
1376 trying to defer them to runtime.
1377
0941db69
JW
13782015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
1379
1380 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use SYMBOLIC_BIND
1381 to check if a symbol should be bound symbolically.
1382
0172429c
JW
13832015-01-13 Jiong Wang <jiong.wang@arm.com>
1384
1385 * elfnn-aarch64.c: (elfNN_aarch64_howto_table): Enable overflow check
1386 for TLSLE_MOVW_TPREL_G2.
1387
bab91cce
JW
13882015-01-13 Jiong Wang <jiong.wang@arm.com>
1389
1390 PR ld/17415
1391 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Mark
1392 R_AARCH64_TLSLE_ADD_TPREL_HI12 as complain_overflow_unsigned.
1393 * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Correct the
1394 bit mask.
1395
3c758495
TG
13962015-01-12 Terry Guo <terry.guo@arm.com>
1397
1398 * elflink.c (_bfd_elf_gc_mark_debug_special_section_group): New
1399 function.
1400 (_bfd_elf_gc_mark_extra_sections): Use it.
1401
9d1d54d5
L
14022015-01-11 H.J. Lu <hongjiu.lu@intel.com>
1403
1404 PR ld/17827
1405 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): For PIE,
1406 only discard space for pc-relative relocs symbols which turn
1407 out to need copy relocs.
1408
c6e8e93a
NC
14092015-01-09 Nick Clifton <nickc@redhat.com>
1410
1411 * tekhex.c (getvalue): Fix thinko in test for correct extraction
1412 of value.
1413 (getsym): Return false if there was not enough data to extract the
1414 symbol.
1415
400cf8cb
AG
14162015-01-09 Anthony Green <green@moxielogic.com>
1417
1418 * elf32-moxie.c (ELF_MACHINE_ALT1): Define.
1419
23d4663e
NC
14202015-01-08 Nick Clifton <nickc@redhat.com>
1421
1422 * elf32-msp430.c (msp430_elf_relax_section): Add relaxation of
1423 16-bit absolute BR instructions to 10-bit pc-relative JMP
1424 instructions.
1425
063bb025
NC
14262015-01-08 Nick Clifton <nickc@redhat.com>
1427
1428 PR binutils/17512
1429 * coffcode.h (coff_slurp_symbol_table): Return false if we failed
1430 to load the line table.
1431 * elf.c (_bfd_elf_map_sections_to_segments): Enforce a minimum
1432 maxpagesize of 1.
1433 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if
1434 the Data Directory Size is too large.
1435
6f25f223
L
14362015-01-06 H.J. Lu <hongjiu.lu@intel.com>
1437
1438 PR binutils/17512
1439 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocation.
1440 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
1441
85880250
NC
14422015-01-06 Nick Clifton <nickc@redhat.com>
1443
1444 PR binutils/17512
e7287c7f
NC
1445 * mach-o.c (bfd_mach_o_read_symtab_strtab): Zero terminate the
1446 string table.
1447
ec93045b
NC
1448 * reloc.c (bfd_get_reloc_size): Handle a reloc size of -1.
1449 (bfd_perform_relocation): Include the size of the reloc in the
1450 test for an out of range relocation.
1451 (bfd_generic_get_relocated_section_contents): Remove reloc range
1452 test.
1453
85880250
NC
1454 * coff-i860.c (CALC_ADDEND): Always set an addend value.
1455 * tekhex.c (getvalue): Add an end pointer parameter. Use it to
1456 avoid reading off the end of the buffer.
1457 (getsym): Likewise.
1458 (first_phase): Likewise.
1459 (pass_over): Pass an end pointer to the invoked function.
1460
533d0af0
L
14612015-01-05 H.J. Lu <hongjiu.lu@intel.com>
1462
1463 PR binutils/17512
1464 * elf32-i386.c (elf_i386_get_plt_sym_val): Return NULL on corrupt
1465 input.
1466 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
1467
896ca098
NC
14682015-01-05 Nick Clifton <nickc@redhat.com>
1469
1470 PR binutils/17512
1471 * archive.c (do_slurp_bsd_armap): Make sure that the parsed sized
1472 is at least big enough for the header to be read.
1473 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocs.
1474 * mach-o.c (bfd_mach_o_get_synthetic_symtab): Add range checks.
1475 (bfd_mach_o_read_command): Prevetn duplicate error messages about
1476 unrecognized commands.
1477 * syms.c (_bfd_stab_section_find_nearest_line): Add range checks
1478 when indexing into the string table.
1479
b90efa5b 14802015-01-01 Alan Modra <amodra@gmail.com>
ee3b52e9 1481
b90efa5b 1482 Update year range in copyright notice of all files.
ee3b52e9 1483
b90efa5b 1484For older changes see ChangeLog-2014
56882138 1485\f
b90efa5b 1486Copyright (C) 2015 Free Software Foundation, Inc.
752937aa
NC
1487
1488Copying and distribution of this file, with or without modification,
1489are permitted in any medium without royalty provided the copyright
1490notice and this notice are preserved.
1491
56882138
AM
1492Local Variables:
1493mode: change-log
1494left-margin: 8
1495fill-column: 74
1496version-control: never
1497End: