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