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