344e08b93b97f61706c5e408d6247c0281da7d66
[binutils-gdb.git] / bfd / ChangeLog
1 2016-06-15 H.J. Lu <hongjiu.lu@intel.com>
2
3 * elf32-i386.c (elf_i386_check_relocs): Check SEC_ALLOC before
4 allocating dynamic relocation.
5 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
6
7 2016-06-14 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
8
9 PR ld/20254
10 * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust reloc
11 offsets until reloc_toaddr.
12
13 2016-06-14 H.J. Lu <hongjiu.lu@intel.com>
14
15 * elf32-i386.c (elf_i386_reloc_type_class): Check R_386_IRELATIVE.
16 Don't check symbol type for STN_UNDEF symbol index.
17 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Check
18 R_X86_64_IRELATIVE. Don't check symbol type for STN_UNDEF symbol
19 index.
20
21 2016-06-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
22
23 * elf32-arm.c (using_thumb_only): Force review of arch check logic for
24 new architecture.
25 (using_thumb2): Try Tag_THUMB_ISA_use first and check
26 for exact arch value then. Force review of arch check logic for new
27 architecture.
28 (arch_has_arm_nop): Update and fix arch check logic. Force review of
29 that logic for new architecture.
30 (arch_has_thumb2_nop): Remove.
31 (elf32_arm_tls_relax): Use using_thumb2 instead of above function.
32 (elf32_arm_final_link_relocate): Likewise but using thumb2.
33
34 2016-06-14 Alan Modra <amodra@gmail.com>
35
36 * bfd-in.h (bfd_my_archive): Delete.
37 * bfd-in2.h: Regenerate.
38
39 2016-06-14 Alan Modra <amodra@gmail.com>
40
41 PR ld/20241
42 * archive.c (open_nested_file): Set my_archive.
43 * bfd.c (_bfd_default_error_handler <%B>): Exclude archive file name
44 for thin archives.
45 * bfdio.c (bfd_tell): Don't adjust origin for thin archives.
46 (bfd_seek): Likewise.
47 * bfdwin.c (bfd_get_file_window): Likewise.
48 * cache.c (cache_bmmap): Likewise.
49 (bfd_cache_lookup_worker): Don't look in my_archive for thin archives.
50 * mach-o.c (bfd_mach_o_follow_dsym): Don't open my_archive for
51 thin archives.
52 * plugin.c (try_claim): Likewise.
53 * xcofflink.c (xcoff_link_add_dynamic_symbols): Use import path of
54 file within thin archive, not the archive.
55
56 2016-06-13 H.J. Lu <hongjiu.lu@intel.com>
57
58 PR ld/20244
59 * elf32-i386.c (elf_i386_relocate_section): Add the .got.plt
60 section address for R_386_GOT32/R_386_GOT32X relocations against
61 IFUNC symbols if there is no base register and return error for
62 PIC.
63
64 2016-06-13 H.J. Lu <hongjiu.lu@intel.com>
65
66 * elf32-i386.c (elf_i386_relocate_section): Simplify IFUNC
67 GOT32 adjustment for static executables.
68
69 2016-06-13 Maciej W. Rozycki <macro@imgtec.com>
70
71 * elf32-mips.c (elf_mips_gnu_pcrel32): Update comment.
72
73 2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
74
75 * elf32-arc.c (elf_arc_relocate_section): Fixed condition.
76
77 2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
78
79 * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
80
81 2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
82
83 * elf32-arc.c (arc_local_data, arc_local_data): Removed.
84 (SECTSTART): Changed.
85 (elf_arc_relocate_section): Fixed mistake in PIE related
86 condition.
87 (elf_arc_size_dynamic_sections): Changed DT_RELENT to DT_RELAENT.
88
89 2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
90
91 * elf32-arc.c (elf32_arc_reloc_type_class): Defined function to
92 enable support for "-z combreloc" and DT_RELACOUNT.
93 (elf_backend_reloc_type_class): Likewise
94
95 2016-06-11 H.J. Lu <hongjiu.lu@intel.com>
96
97 PR ld/20244
98 * elf32-i386.c (elf_i386_relocate_section): When relocating
99 R_386_GOT32, return error without a base register for PIC and
100 subtract the .got.plt section address only with a base register.
101
102 2016-06-10 Alan Modra <amodra@gmail.com>
103
104 * elf-strtab.c (struct strtab_save): Use size_t for "size".
105 (struct elf_strtab_hash): Likewise for "size" and "alloced".
106 (_bfd_elf_strtab_init): Formatting.
107 (_bfd_elf_strtab_add): Return size_t rather than bfd_size_type.
108 (_bfd_elf_strtab_addref): Take size_t idx param.
109 (_bfd_elf_strtab_delref, _bfd_elf_strtab_refcount): Likewise.
110 (_bfd_elf_strtab_offset): Likewise.
111 (_bfd_elf_strtab_clear_all_refs): Use size_t idx.
112 (_bfd_elf_strtab_save): Use size_t "idx" and "size" vars.
113 (_bfd_elf_strtab_restore, _bfd_elf_strtab_emit): Similarly.
114 (_bfd_elf_strtab_finalize): Similarly.
115 * elf-bfd.h (_bfd_elf_strtab_add): Update prototypes.
116 (_bfd_elf_strtab_addref, _bfd_elf_strtab_delref): Likewise.
117 (_bfd_elf_strtab_refcount, _bfd_elf_strtab_offset): Likewise.
118 * elf.c (bfd_elf_get_elf_syms): Calculate symbol buffer size
119 using bfd_size_type.
120 (bfd_section_from_shdr): Delete amt.
121 (_bfd_elf_init_reloc_shdr): Likewise.
122 (_bfd_elf_link_assign_sym_version): Likewise.
123 (assign_section_numbers): Use size_t reloc_count.
124 * elflink.c (struct elf_symbuf_head): Use size_t "count".
125 (bfd_elf_link_record_dynamic_symbol): Use size_t for some vars.
126 (elf_link_is_defined_archive_symbol): Likewise.
127 (elf_add_dt_needed_tag): Likewise.
128 (elf_finalize_dynstr): Likewise.
129 (elf_link_add_object_symbols): Likewise.
130 (bfd_elf_size_dynamic_sections): Likewise.
131 (elf_create_symbuf): Similarly.
132 (bfd_elf_match_symbols_in_sections): Likewise.
133 (elf_link_swap_symbols_out): Likewise.
134 (elf_link_check_versioned_symbol): Likewise.
135 (bfd_elf_gc_record_vtinherit): Likewise.
136 (bfd_elf_gc_common_finalize_got_offsets): Likewise.
137
138 2016-06-08 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
139
140 PR ld/20221
141 * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust syms
142 and relocs only if shrinking occurred.
143
144 2016-06-08 H.J. Lu <hongjiu.lu@intel.com>
145
146 * elf64-i386.c (elf_i386_link_hash_entry): Add tls_get_addr.
147 (elf_i386_link_hash_newfunc): Initialize tls_get_addr to 2.
148 (elf_i386_check_tls_transition): Check indirect call and direct
149 call with the addr32 prefix for general and local dynamic models.
150 Set the tls_get_addr feild.
151 (elf_i386_convert_load_reloc): Always use addr32 prefix for
152 indirect ___tls_get_addr call via GOT.
153 (elf_i386_relocate_section): Handle GD->LE, GD->IE and LD->LE
154 transitions with indirect call and direct call with the addr32
155 prefix.
156
157 2016-06-07 Marcin Koƛcielnicki <koriakin@0x04.net>
158
159 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Fix comment.
160 * elf64-s390.c (elf_s390x_plt_entry): Fix comment.
161 (elf_s390_relocate_section): Fix comment.
162 (elf_s390_finish_dynamic_sections): Fix initialization of fixed
163 .got.plt entries.
164
165 2016-06-07 Ulrich Weigand <ulrich.weigand@de.ibm.com>
166
167 * elf64-s390.c (elf_s390_finish_dynamic_sections): Subtract plt
168 section offset when calculation the larl operand in the first PLT
169 entry.
170
171 2016-06-07 Alan Modra <amodra@gmail.com>
172
173 * cpu-powerpc.c (powerpc_compatible): Allow bfd_mach_ppc_vle entry
174 to match other 32-bit archs.
175 * elf32-ppc.c (_bfd_elf_ppc_set_arch): New function.
176 (ppc_elf_object_p): Call it.
177 (ppc_elf_special_sections): Use APUINFO_SECTION_NAME. Fix
178 overlong line.
179 (APUINFO_SECTION_NAME, APUINFO_LABEL): Don't define here.
180 * elf64-ppc.c (ppc64_elf_object_p): Call _bfd_elf_ppc_set_arch.
181 * bfd-in.h (_bfd_elf_ppc_at_tls_transform,
182 _bfd_elf_ppc_at_tprel_transform): Move to..
183 * elf-bfd.h: ..here.
184 (_bfd_elf_ppc_set_arch): Declare.
185 * bfd-in2.h: Regenerate.
186
187 2016-06-06 H.J. Lu <hongjiu.lu@intel.com>
188
189 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add tls_get_addr.
190 (elf_x86_64_link_hash_newfunc): Initialize tls_get_addr to 2.
191 (elf_x86_64_check_tls_transition): Check indirect call and
192 direct call with the addr32 prefix for general and local dynamic
193 models. Set the tls_get_addr feild.
194 (elf_x86_64_convert_load_reloc): Always use addr32 prefix for
195 indirect __tls_get_addr call via GOT.
196 (elf_x86_64_relocate_section): Handle GD->LE, GD->IE and LD->LE
197 transitions with indirect call and direct call with the addr32
198 prefix.
199
200 2016-06-04 Christian Groessler <chris@groessler.org>
201
202 * coff-z8k.c (extra_case): Fix range check for R_JR relocation.
203
204 2016-06-02 Nick Clifton <nickc@redhat.com>
205
206 PR target/20088
207 * cpu-arm.c (processors): Add "arm_any" type to match any ARM
208 architecture.
209 (arch_info_struct): Likewise.
210 (architectures): Likewise.
211
212 2016-06-02 Vineet Gupta <Vineet.Gupta1@synopsys.com>
213
214 * config.bfd: Replace -uclibc with *.
215
216 2016-06-02 H.J. Lu <hongjiu.lu@intel.com>
217
218 * elf64-x86-64.c: Replace data32 with data16 in comments.
219
220 2016-05-31 Alan Modra <amodra@gmail.com>
221
222 PR ld/20159
223 PR ld/16467
224 * elflink.c (_bfd_elf_merge_symbol): Revert PR16467 change.
225 (_bfd_elf_add_default_symbol): Don't indirect to/from defined
226 symbol given a version by a script different to the version
227 of the symbol being added.
228 (elf_link_add_object_symbols): Use _bfd_elf_strtab_save and
229 _bfd_elf_strtab_restore. Don't fudge dynstr references.
230 * elf-strtab.c (_bfd_elf_strtab_restore_size): Delete.
231 (struct strtab_save): New.
232 (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): New functions.
233 * elf-bfd.h (_bfd_elf_strtab_restore_size): Delete.
234 (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): Declare.
235
236 2016-06-01 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
237
238 * elf32-hppa.h: Add extern "C".
239 * elf32-nds32.h: Likewise.
240 * elf32-tic6x.h: Likewise.
241
242 2016-06-01 Nick Clifton <nickc@redhat.com>
243
244 * po/sr.po: New Serbian translation.
245 * configure.ac (ALL_LINGUAS): Add sr.
246 * configure: Regenerate.
247
248 2016-05-28 Maciej W. Rozycki <macro@imgtec.com>
249
250 * elfxx-mips.c (b_reloc_p): New function.
251 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Handle
252 branch relocations.
253
254 2016-05-28 Maciej W. Rozycki <macro@imgtec.com>
255
256 * elfxx-mips.c (mips_elf_calculate_relocation): <R_MIPS16_26>
257 <R_MIPS_26, R_MICROMIPS_26_S1>: Drop the region bits of the
258 reloc location from calculation, treat the addend as signed with
259 local non-section symbols and enable overflow detection.
260
261 2016-05-28 Alan Modra <amodra@gmail.com>
262
263 * aoutx.h: Adjust linker callback calls throughout file,
264 removing dead code.
265 * bout.c: Likewise.
266 * coff-alpha.c: Likewise.
267 * coff-arm.c: Likewise.
268 * coff-h8300.c: Likewise.
269 * coff-h8500.c: Likewise.
270 * coff-i960.c: Likewise.
271 * coff-mcore.c: Likewise.
272 * coff-mips.c: Likewise.
273 * coff-ppc.c: Likewise.
274 * coff-rs6000.c: Likewise.
275 * coff-sh.c: Likewise.
276 * coff-tic80.c: Likewise.
277 * coff-w65.c: Likewise.
278 * coff-z80.c: Likewise.
279 * coff-z8k.c: Likewise.
280 * coff64-rs6000.c: Likewise.
281 * cofflink.c: Likewise.
282 * ecoff.c: Likewise.
283 * elf-bfd.h: Likewise.
284 * elf-m10200.c: Likewise.
285 * elf-m10300.c: Likewise.
286 * elf32-arc.c: Likewise.
287 * elf32-arm.c: Likewise.
288 * elf32-avr.c: Likewise.
289 * elf32-bfin.c: Likewise.
290 * elf32-cr16.c: Likewise.
291 * elf32-cr16c.c: Likewise.
292 * elf32-cris.c: Likewise.
293 * elf32-crx.c: Likewise.
294 * elf32-d10v.c: Likewise.
295 * elf32-epiphany.c: Likewise.
296 * elf32-fr30.c: Likewise.
297 * elf32-frv.c: Likewise.
298 * elf32-ft32.c: Likewise.
299 * elf32-h8300.c: Likewise.
300 * elf32-hppa.c: Likewise.
301 * elf32-i370.c: Likewise.
302 * elf32-i386.c: Likewise.
303 * elf32-i860.c: Likewise.
304 * elf32-ip2k.c: Likewise.
305 * elf32-iq2000.c: Likewise.
306 * elf32-lm32.c: Likewise.
307 * elf32-m32c.c: Likewise.
308 * elf32-m32r.c: Likewise.
309 * elf32-m68hc1x.c: Likewise.
310 * elf32-m68k.c: Likewise.
311 * elf32-mep.c: Likewise.
312 * elf32-metag.c: Likewise.
313 * elf32-microblaze.c: Likewise.
314 * elf32-moxie.c: Likewise.
315 * elf32-msp430.c: Likewise.
316 * elf32-mt.c: Likewise.
317 * elf32-nds32.c: Likewise.
318 * elf32-nios2.c: Likewise.
319 * elf32-or1k.c: Likewise.
320 * elf32-ppc.c: Likewise.
321 * elf32-s390.c: Likewise.
322 * elf32-score.c: Likewise.
323 * elf32-score7.c: Likewise.
324 * elf32-sh.c: Likewise.
325 * elf32-sh64.c: Likewise.
326 * elf32-spu.c: Likewise.
327 * elf32-tic6x.c: Likewise.
328 * elf32-tilepro.c: Likewise.
329 * elf32-v850.c: Likewise.
330 * elf32-vax.c: Likewise.
331 * elf32-visium.c: Likewise.
332 * elf32-xstormy16.c: Likewise.
333 * elf32-xtensa.c: Likewise.
334 * elf64-alpha.c: Likewise.
335 * elf64-hppa.c: Likewise.
336 * elf64-ia64-vms.c: Likewise.
337 * elf64-mmix.c: Likewise.
338 * elf64-ppc.c: Likewise.
339 * elf64-s390.c: Likewise.
340 * elf64-sh64.c: Likewise.
341 * elf64-x86-64.c: Likewise.
342 * elflink.c: Likewise.
343 * elfnn-aarch64.c: Likewise.
344 * elfnn-ia64.c: Likewise.
345 * elfxx-mips.c: Likewise.
346 * elfxx-sparc.c: Likewise.
347 * elfxx-tilegx.c: Likewise.
348 * linker.c: Likewise.
349 * pdp11.c: Likewise.
350 * pe-mips.c: Likewise.
351 * reloc.c: Likewise.
352 * reloc16.c: Likewise.
353 * simple.c: Likewise.
354 * vms-alpha.c: Likewise.
355 * xcofflink.c: Likewise.
356 * elf32-rl78.c (get_symbol_value, get_romstart, get_ramstart): Delete
357 status param. Adjust calls to these and linker callbacks throughout.
358 * elf32-rx.c: (get_symbol_value, get_gp, get_romstart,
359 get_ramstart): Delete status param. Adjust calls to these and
360 linker callbacks throughout.
361
362 2016-05-27 Maciej W. Rozycki <macro@imgtec.com>
363
364 * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS16_26>
365 <R_MIPS_26, R_MICROMIPS_26_S1>: Include the addend in JALX's
366 target alignment verification.
367
368 2016-05-27 Maciej W. Rozycki <macro@imgtec.com>
369
370 * elfxx-mips.c (mips_elf_calculate_relocation): Also use the
371 section name if `bfd_elf_string_from_elf_section' returns an
372 empty string.
373
374 2016-05-26 Maciej W. Rozycki <macro@imgtec.com>
375
376 * elfxx-mips.c (_bfd_mips_elf_relocate_section)
377 <bfd_reloc_outofrange>: Use the `%X%H' rather than `%C' format
378 for message. Continue processing rather than returning failure.
379
380 2016-05-25 Maciej W. Rozycki <macro@imgtec.com>
381
382 * elfxx-mips.c (_bfd_mips_elf_relocate_section)
383 <bfd_reloc_outofrange>: Call `->einfo' rather than `->warning'.
384 Call `bfd_set_error'.
385
386 2016-05-25 H.J. Lu <hongjiu.lu@intel.com>
387
388 PR binutils/14625
389 * archive.c (bfd_slurp_armap): Replace
390 bfd_elf64_archive_slurp_armap with
391 _bfd_archive_64_bit_slurp_armap.
392 (bsd_write_armap): Call _bfd_archive_64_bit_write_armap if
393 BFD64 is defined and the archive is too big.
394 (coff_write_armap): Likewise.
395 * archive64.c (bfd_elf64_archive_slurp_armap): Renamed to ...
396 (_bfd_archive_64_bit_slurp_armap): This.
397 (bfd_elf64_archive_write_armap): Renamed to ...
398 (_bfd_archive_64_bit_write_armap): This.
399 * configure.ac: Add --enable-64-bit-archive.
400 (want_64_bit_archive): New. Set to true by default for 64-bit
401 MIPS and s390 ELF targets.
402 (USE_64_BIT_ARCHIVE): New AC_DEFINE.
403 * config.in: Regenerated.
404 * configure: Likewise.
405 * elf64-mips.c (bfd_elf64_archive_functions): Removed.
406 (bfd_elf64_archive_slurp_armap): Likewise.
407 (bfd_elf64_archive_write_armap): Likewise.
408 (bfd_elf64_archive_slurp_extended_name_table): Likewise.
409 (bfd_elf64_archive_construct_extended_name_table): Likewise.
410 (bfd_elf64_archive_truncate_arname): Likewise.
411 (bfd_elf64_archive_read_ar_hdr): Likewise.
412 (bfd_elf64_archive_write_ar_hdr): Likewise.
413 (bfd_elf64_archive_openr_next_archived_file): Likewise.
414 (bfd_elf64_archive_get_elt_at_index): Likewise.
415 (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
416 (bfd_elf64_archive_update_armap_timestamp): Likewise.
417 * elf64-s390.c (bfd_elf64_archive_functions): Removed.
418 (bfd_elf64_archive_slurp_armap): Likewise.
419 (bfd_elf64_archive_write_armap): Likewise.
420 (bfd_elf64_archive_slurp_extended_name_table): Likewise.
421 (bfd_elf64_archive_construct_extended_name_table): Likewise.
422 (bfd_elf64_archive_truncate_arname): Likewise.
423 (bfd_elf64_archive_read_ar_hdr): Likewise.
424 (bfd_elf64_archive_write_ar_hdr): Likewise.
425 (bfd_elf64_archive_openr_next_archived_file): Likewise.
426 (bfd_elf64_archive_get_elt_at_index): Likewise.
427 (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
428 (bfd_elf64_archive_update_armap_timestamp): Likewise.
429 * elfxx-target.h (TARGET_BIG_SYM): Use _bfd_archive_64_bit on
430 BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined and
431 bfd_elfNN_archive_functions isn't defined.
432 (TARGET_LITTLE_SYM): Likewise.
433 * libbfd-in.h (_bfd_archive_64_bit_slurp_armap): New prototype.
434 (_bfd_archive_64_bit_write_armap): Likewise.
435 (_bfd_archive_64_bit_slurp_extended_name_table): New macro.
436 (_bfd_archive_64_bit_construct_extended_name_table): Likewise.
437 (_bfd_archive_64_bit_truncate_arname): Likewise.
438 (_bfd_archive_64_bit_read_ar_hdr): Likewise.
439 (_bfd_archive_64_bit_write_ar_hdr): Likewise.
440 (_bfd_archive_64_bit_openr_next_archived_file): Likewise.
441 (_bfd_archive_64_bit_get_elt_at_index): Likewise.
442 (_bfd_archive_64_bit_generic_stat_arch_elt): Likewise.
443 (_bfd_archive_64_bit_update_armap_timestamp): Likewise.
444 * libbfd.h: Regenerated.
445 * plugin.c (plugin_vec): Use _bfd_archive_64_bit on
446 BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined.
447
448 2016-05-25 H.J. Lu <hongjiu.lu@intel.com>
449
450 PR ld/20103
451 * cofflink.c (coff_link_check_archive_element): Return TRUE if
452 linker add_archive_element callback returns FALSE.
453 * ecoff.c (ecoff_link_check_archive_element): Likewise.
454 * elf64-ia64-vms.c (elf64_vms_link_add_archive_symbols): Skip
455 archive element if linker add_archive_element callback returns
456 FALSE.
457 * elflink.c (elf_link_add_archive_symbols): Likewise.
458 * pdp11.c (aout_link_check_ar_symbols): Likewise.
459 * vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise.
460 * xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Likewise.
461 (xcoff_link_check_ar_symbols): Likewise.
462
463 2016-05-24 Maciej W. Rozycki <macro@imgtec.com>
464
465 * elfxx-mips.c (_bfd_mips_elf_relocate_section)
466 <bfd_reloc_outofrange>: Unify error reporting code.
467
468 2016-05-23 Jim Wilson <jim.wilson@linaro.org>
469
470 * elfnn-aarch64.c: Unconditionally enable R_AARCH64_NULL and
471 R_AARCH64_NONE. Use HOWTO64 for R_AARCH64_NULL.
472 * relocs.c: Add BFD_RELOC_AARCH64_NULL.
473 * bfd-in2.h: Regenerate.
474 * libbfd.h: Likewise.
475
476 2016-05-23 Kuba Sejdak <jakub.sejdak@phoesys.com>
477
478 * config.bfd: Add entry for arm-phoenix.
479
480 2016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
481
482 * elf32-arm.c (arm_dedicated_stub_section_padding): New function.
483 (elf32_arm_size_stubs): Declare stub_type in a more outer scope and
484 account for padding for stub section requiring one.
485 (elf32_arm_build_stubs): Add comment to stress the importance of
486 zeroing veneer section content.
487
488 2016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
489
490 * bfd-in.h (bfd_elf32_arm_keep_private_stub_output_sections): Declare
491 bfd hook.
492 * bfd-in2.h: Regenerate.
493 * elf32-arm.c (arm_dedicated_stub_output_section_required): New
494 function.
495 (arm_dedicated_stub_output_section_required_alignment): Likewise.
496 (arm_dedicated_stub_output_section_name): Likewise.
497 (arm_dedicated_stub_input_section_ptr): Likewise.
498 (elf32_arm_create_or_find_stub_sec): Add stub type parameter and
499 function description comment. Add support for dedicated output stub
500 section to given stub types.
501 (elf32_arm_add_stub): Add a stub type parameter and pass it down to
502 elf32_arm_create_or_find_stub_sec.
503 (elf32_arm_create_stub): Pass stub type down to elf32_arm_add_stub.
504 (elf32_arm_size_stubs): Pass stub type when calling
505 elf32_arm_create_or_find_stub_sec for Cortex-A8 erratum veneers.
506 (bfd_elf32_arm_keep_private_stub_output_sections): New function.
507
508 2016-05-20 H.J. Lu <hongjiu.lu@intel.com>
509
510 * elf32-i386.c (elf_i386_check_relocs): Don't check R_386_GOT32
511 when setting need_convert_load.
512
513 2016-05-20 Maciej W. Rozycki <macro@imgtec.com>
514
515 * elfxx-mips.c (mips_elf_read_rel_addend): Adjust the addend for
516 microMIPS JALX.
517
518 2016-05-19 H.J. Lu <hongjiu.lu@intel.com>
519
520 PR ld/20117
521 * elf32-i386.c (elf_i386_convert_load_reloc): Don't check
522 R_386_GOT32X.
523 (elf_i386_convert_load): Don't convert R_386_GOT32.
524
525 2016-05-20 Alan Modra <amodra@gmail.com>
526
527 PR gas/20118
528 * elf.c (elf_fake_sections): Set sh_entsize for SHT_INIT_ARRAY,
529 SHT_FINI_ARRAY, and SHT_PREINIT_ARRAY.
530
531 2016-05-19 Cupertino Miranda <cmiranda@synopsys.com>
532
533 * elf32-arc.c (arc_elf_final_write_processing): Changed.
534 (debug_arc_reloc): Likewise.
535 (elf_arc_relocate_section): Likewise.
536 (elf_arc_check_relocs): Likewise.
537 (elf_arc_adjust_dynamic_symbol): Likewise.
538 (elf_arc_add_symbol_hook): Likewise.
539
540 2016-05-19 Maciej W. Rozycki <macro@imgtec.com>
541
542 * config.bfd: Remove `am34-*-linux*' support.
543
544 2016-05-19 Alan Modra <amodra@gmail.com>
545
546 * elf64-ppc.c (allocate_dynrelocs): Allocate got and other dynamic
547 relocs before plt relocs.
548
549 2016-05-19 Alan Modra <amodra@gmail.com>
550
551 * elf64-ppc.c (ppc64_elf_branch_reloc): Check for NULL owner
552 before dereferencing.
553
554 2016-05-18 Nick Clifton <nickc@redhat.com>
555
556 * po/sv.po: Updated Swedish translation.
557
558 2016-05-18 Alan Modra <amodra@gmail.com>
559
560 * elf32-arm.c (elf32_arm_size_stubs): Free or cache local syms
561 for each BFD. Don't goto error_ret_free_local from outside loop.
562
563 2016-05-17 Maciej W. Rozycki <macro@imgtec.com>
564
565 * elf-s390-common.c (elf_s390_add_symbol_hook): Remove
566 STB_GNU_UNIQUE handling.
567 * elf32-arc.c (elf_arc_add_symbol_hook): Likewise.
568 * elf32-arm.c (elf32_arm_add_symbol_hook): Likewise.
569 * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
570 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
571 * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
572 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
573 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
574 * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
575 * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
576 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Likewise.
577 * elf32-i386.c (elf_i386_add_symbol_hook): Remove function.
578 (elf_backend_add_symbol_hook): Remove macro.
579 * elflink.c (elf_link_add_object_symbols): Set `has_gnu_symbols'
580 for STB_GNU_UNIQUE symbols.
581
582 2016-05-16 Maciej W. Rozycki <macro@imgtec.com>
583
584 * elf32-v850.c (v850_elf_copy_notes): New function, factored out
585 from...
586 (v850_elf_copy_private_bfd_data): ... here. Call the new
587 function and `_bfd_elf_copy_private_bfd_data'.
588
589 2016-05-13 H.J. Lu <hongjiu.lu@intel.com>
590
591 PR ld/20093
592 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Don't convert
593 GOTPCREL relocation against large section.
594
595 2016-05-13 Alan Modra <amodra@gmail.com>
596
597 * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Use
598 linker dynamic sections in calculating size and address of
599 dynamic tags rather than using output sections. Remove asserts.
600 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Likewise.
601 * elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Likewise.
602 * elf32-cris.c (elf_cris_finish_dynamic_sections): Likewise.
603 * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
604 * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise.
605 * elf32-m32r.c (m32r_elf_finish_dynamic_sections): Likewise.
606 * elf32-m68k.c (elf_m68k_finish_dynamic_sections): Likewise.
607 * elf32-metag.c (elf_metag_finish_dynamic_sections): Likewise.
608 * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Likewise.
609 * elf32-nds32.c (nds32_elf_finish_dynamic_sections): Likewise.
610 * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Likewise.
611 * elf32-or1k.c (or1k_elf_finish_dynamic_sections): Likewise.
612 * elf32-s390.c (elf_s390_finish_dynamic_sections): Likewise.
613 * elf32-score.c (s3_bfd_score_elf_finish_dynamic_sections): Likewise.
614 * elf32-score7.c (s7_bfd_score_elf_finish_dynamic_sections): Likewise.
615 * elf32-vax.c (elf_vax_finish_dynamic_sections): Likewise.
616 * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Likewise.
617 * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Likewise.
618 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
619 * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
620 * elflink.c (bfd_elf_final_link): Likewise.
621 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Likewise.
622 * elfxx-sparc.c (sparc_finish_dyn): Likewise. Adjust error message.
623 * elf32-arc.c (GET_SYMBOL_OR_SECTION): Remove ASSERT arg and
624 don't set doit. Look up dynobj section.
625 (elf_arc_finish_dynamic_sections): Adjust GET_SYMBOL_OR_SECTION
626 invocation and dynamic tag vma calculation. Don't test
627 boolean var == TRUE.
628 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Fix
629 DT_JMPREL calc.
630
631 2016-05-13 Alan Modra <amodra@gmail.com>
632
633 * elflink.c (elf_link_sort_relocs): Wrap overlong lines. Fix
634 octets_per_byte. Put dynamic .rela.plt last in link orders.
635 Assign output_offset for reloc sections rather than writing
636 sorted relocs from block corresponding to output_offset.
637
638 2016-05-12 Alan Modra <amodra@gmail.com>
639
640 * elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last.
641
642 2016-05-11 Andrew Bennett <andrew.bennett@imgtec.com>
643
644 * elfxx-mips.c (print_mips_ases): Add DSPR3.
645
646 2016-05-11 Alan Modra <amodra@gmail.com>
647
648 * elf32-hppa.c (elf32_hppa_init_stub_bfd): New function.
649 (elf32_hppa_check_relocs): Don't set dynobj.
650 (elf32_hppa_size_stubs): Test !SEC_LINKER_CREATED for stub sections.
651 (elf32_hppa_build_stubs): Likewise.
652 * elf32-hppa.h (elf32_hppa_init_stub_bfd): Declare.
653
654 2016-05-11 Alan Modra <amodra@gmail.com>
655
656 PR 20060
657 * elf64-ppc.c (ppc64_elf_tls_setup): Clear forced_local.
658 * elf32-ppc.c (ppc_elf_tls_setup): Likewise.
659
660 2016-05-10 Jiong Wang <jiong.wang@arm.com>
661
662 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Remove redundant
663 aarch64_tls_transition check.
664
665 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
666
667 * elf32-arm.c (enum elf32_arm_stub_type): New max_stub_type
668 enumerator.
669 (arm_stub_sym_claimed): New function.
670 (elf32_arm_create_stub): Use veneered symbol name and section if
671 veneer needs to claim its symbol, and keep logic unchanged otherwise.
672 (arm_stub_claim_sym): New function.
673 (arm_map_one_stub): Call arm_stub_claim_sym if veneer needs to claim
674 veneered symbol, otherwise create local symbol as before.
675
676 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
677
678 * elf32-arm.c (elf32_arm_size_stubs): Use new macros
679 ARM_GET_SYM_BRANCH_TYPE and ARM_SET_SYM_BRANCH_TYPE to respectively get
680 and set branch type of a symbol.
681 (bfd_elf32_arm_process_before_allocation): Likewise.
682 (elf32_arm_relocate_section): Likewise and fix identation along the
683 way.
684 (allocate_dynrelocs_for_symbol): Likewise.
685 (elf32_arm_finish_dynamic_symbol): Likewise.
686 (elf32_arm_swap_symbol_in): Likewise.
687 (elf32_arm_swap_symbol_out): Likewise.
688
689 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
690
691 * bfd-in.h (elf32_arm_size_stubs): Add an output section parameter.
692 * bfd-in2.h: Regenerated.
693 * elf32-arm.c (struct elf32_arm_link_hash_table): Add an output section
694 parameter to add_stub_section callback.
695 (elf32_arm_create_or_find_stub_sec): Get output section from link_sec
696 and pass it down to add_stub_section.
697 (elf32_arm_add_stub): Set section to stub_sec if NULL before using it
698 for error message.
699 (elf32_arm_size_stubs): Add output section parameter to
700 add_stub_section function pointer parameter.
701
702 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
703
704 * elf32-arm.c (elf32_arm_create_stub): New function.
705 (elf32_arm_size_stubs): Use elf32_arm_create_stub for stub creation.
706
707 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
708
709 * elf32-arm.c (enum elf32_arm_stub_type): Delete
710 arm_stub_a8_veneer_lwm enumerator.
711 (arm_stub_a8_veneer_lwm): New unsigned constant to replace
712 aforementioned enumerator.
713 (struct elf32_arm_stub_hash_entry): Delete target_addend
714 field and add source_value.
715 (struct a8_erratum_fix): Delete addend field and add target_offset.
716 (stub_hash_newfunc): Initialize source_value field amd remove
717 initialization for target_addend.
718 (arm_build_one_stub): Stop special casing Thumb relocations: promote
719 the else to being always executed, moving the
720 arm_stub_a8_veneer_b_cond specific code in it. Remove
721 stub_entry->target_addend from points_to computation.
722 (cortex_a8_erratum_scan): Store in a8_erratum_fix structure the offset
723 to target symbol from start of section rather than the offset from the
724 stub address.
725 (elf32_arm_size_stubs): Set stub_entry's source_value and target_value
726 fields from struct a8_erratum_fix's offset and target_offset
727 respectively.
728 (make_branch_to_a8_stub): Rename target variable to loc. Compute
729 veneered_insn_loc and loc using stub_entry's source_value.
730
731 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
732
733 (elf32_arm_merge_eabi_attributes): Add merging logic for
734 Tag_DSP_extension.
735
736 2016-05-10 Pip Cet <pipcet@gmail.com>
737
738 PR ld/20059
739 * elfxx-target.h (bfd_elfNN_bfd_copy_link_hash_symbol_type):
740 Define as _bfd_generic_copy_link_hash_symbol_type when using
741 generic hash table.
742
743 2016-05-09 Nick Clifton <nickc@redhat.com>
744
745 PR binutils/20063
746 * elf.c (bfd_elf_get_elf_syms): Check for out of range sh_link
747 field before accessing sections array.
748
749 2016-05-09 Christophe Monat <christophe.monat@st.com>
750
751 PR ld/20030
752 * elf32-arm.c (is_thumb2_vldm): Account for T1 (DP) encoding.
753 (stm32l4xx_need_create_replacing_stub): Rename ambiguous nb_regs
754 to nb_words.
755 (create_instruction_vldmia): Add is_dp to disambiguate SP/DP
756 encoding.
757 (create_instruction_vldmdb): Likewise.
758 (stm32l4xx_create_replacing_stub_vldm): is_dp detects DP encoding,
759 uses it to re-encode.
760
761 2016-05-09 Nick Clifton <nickc@redhat.com>
762
763 PR 19938
764 * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Revert accidental
765 commit.
766
767 2016-05-09 Alan Modra <amodra@gmail.com>
768
769 * elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check.
770
771 2016-05-06 H.J. Lu <hongjiu.lu@intel.com>
772
773 PR ld/17550
774 * elf-bfd.h (elf_link_hash_entry): Update comments for indx,
775 documenting that indx == -3 if symbol is defined in a discarded
776 section.
777 * elflink.c (elf_link_add_object_symbols): Set indx to -3 if
778 symbol is defined in a discarded section.
779 (elf_link_output_extsym): Strip a global symbol defined in a
780 discarded section.
781
782 2016-05-06 H.J. Lu <hongjiu.lu@intel.com>
783
784 * elf32-i386.c (elf_backend_add_symbol_hook): Defined for Intel
785 MCU.
786
787 2016-05-05 H.J. Lu <hongjiu.lu@intel.com>
788
789 * elf32-i386.c (elf_i386_convert_load): Extract the GOT load
790 conversion to ...
791 (elf_i386_convert_load_reloc): This. New function.
792 * elf64-x86-64.c (elf_x86_64_convert_load): Extract the GOT load
793 conversion to ...
794 (elf_x86_64_convert_load_reloc): This. New function.
795
796 2016-05-05 H.J. Lu <hongjiu.lu@intel.com>
797
798 * elf32-i386.c (elf_i386_check_tls_transition): Remove abfd.
799 Don't check if contents == NULL.
800 (elf_i386_tls_transition): Add from_relocate_section. Check
801 from_relocate_section instead of contents != NULL. Update
802 elf_i386_check_tls_transition call.
803 (elf_i386_check_relocs): Cache the section contents if
804 keep_memory is FALSE. Pass FALSE as from_relocate_section to
805 elf_i386_tls_transition.
806 (elf_i386_relocate_section): Pass TRUE as from_relocate_section
807 to elf_i386_tls_transition.
808 (elf_backend_caches_rawsize): New.
809 * elf64-x86-64.c (elf_x86_64_check_tls_transition): Don't check
810 if contents == NULL.
811 (elf_x86_64_tls_transition): Add from_relocate_section. Check
812 from_relocate_section instead of contents != NULL.
813 (elf_x86_64_check_relocs): Cache the section contents if
814 keep_memory is FALSE. Pass FALSE as from_relocate_section to
815 elf_x86_64_tls_transition.
816 (elf_x86_64_relocate_section): Pass TRUE as from_relocate_section
817 to elf_x86_64_tls_transition.
818 (elf_backend_caches_rawsize): New.
819
820 2016-05-03 Maciej W. Rozycki <macro@imgtec.com>
821
822 PR 10549
823 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle
824 STB_GNU_UNIQUE.
825
826 2016-05-03 Jiong Wang <jiong.wang@arm.com>
827
828 * bfd-in.h (bfd_elf64_aarch64_set_options): Update prototype.
829 * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
830 * elfnn-aarch64.c (bfd_elfNN_aarch64_set_options): Initialize
831 no_apply_dynamic_relocs.
832 (elfNN_aarch64_final_link_relocate): Apply absolute relocations even though
833 dynamic relocations generated.
834
835 2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
836
837 * elf32-i386.c (elf_i386_size_dynamic_sections): Move interp
838 setting to ...
839 (elf_i386_create_dynamic_sections): Here.
840 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Move
841 interp setting to ...
842 (elf_x86_64_create_dynamic_sections): Here.
843
844 2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
845
846 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC
847 and replace (EH)->has_got_reloc with GOT_RELOC.
848 (elf_i386_fixup_symbol): Pass has_got_reloc to
849 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
850 (elf_i386_allocate_dynrelocs): Likewise.
851 (elf_i386_relocate_section): Likewise.
852 (elf_i386_finish_dynamic_symbol): Likewise.
853 (elf_i386_convert_load): Pass TRUE to
854 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
855 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take
856 GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC.
857 (elf_x86_64_fixup_symbol): Pass has_got_reloc to
858 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
859 (elf_x86_64_allocate_dynrelocs): Likewise.
860 (elf_x86_64_relocate_section): Likewise.
861 (elf_x86_64_finish_dynamic_symbol): Likewise.
862 (elf_x86_64_convert_load): Pass TRUE to
863 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
864
865 2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
866
867 * elf32-i386.c (check_relocs_failed): New.
868 (elf_i386_check_relocs): Set check_relocs_failed on error.
869 (elf_i386_relocate_section): Skip if check_relocs failed.
870
871 2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
872
873 * elf64-x86-64.c (elf_x86_64_check_relocs): Set
874 check_relocs_failed on error.
875
876 2016-04-29 Nick Clifton <nickc@redhat.com>
877
878 PR 19938
879 * elf-bfd.h (struct elf_backend_data): Rename
880 elf_backend_set_special_section_info_and_link to
881 elf_backend_copy_special_section_fields.
882 * elfxx-target.h: Likewise.
883 * elf.c (section_match): Ignore the SHF_INFO_LINK flag when
884 comparing section flags.
885 (copy_special_section_fields): New function.
886 (_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field.
887 Perform two scans over special sections. The first one looks for
888 a direct mapping between the output section and an input section.
889 The second scan looks for a possible match based upon section
890 characteristics.
891 * elf32-arm.c (elf32_arm_copy_special_section_fields): New
892 function. Handle setting the sh_link field of SHT_ARM_EXIDX
893 sections.
894 * elf32-i386.c (elf32_i386_set_special_info_link): Rename to
895 elf32_i386_copy_solaris_special_section_fields.
896 * elf32-sparc.c (elf32_sparc_set_special_section_info_link):
897 Rename to elf32_sparc_copy_solaris_special_section_fields.
898 * elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to
899 elf64_x86_64_copy_solaris_special_section_fields.
900
901 2016-04-28 Nick Clifton <nickc@redhat.com>
902
903 * po/zh_CN.po: Updated Chinese (simplified) translation.
904
905 2016-04-27 H.J. Lu <hongjiu.lu@intel.com>
906
907 PR ld/20006
908 * elf64-x86-64.c (elf_x86_64_convert_load): Skip debug sections
909 when estimating distances between output sections.
910
911 2016-04-27 Alan Modra <amodra@gmail.com>
912
913 * elflink.c (_bfd_elf_is_start_stop): New function.
914 (_bfd_elf_gc_mark_rsec): Use it.
915 * elf-bfd.h (_bfd_elf_is_start_stop): Declare.
916
917 2016-04-26 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
918
919 * elf32-rx.c (rx_set_section_contents): Avoid arithmetic on void *.
920 * mmo.c (mmo_get_section_contents): Likewise.
921 (mmo_set_section_contents): Likewise.
922
923 2016-04-26 H.J. Lu <hongjiu.lu@intel.com>
924
925 * elf-bfd.h (elf_link_hash_table): Update comments for
926 dynsymcount.
927 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always count for
928 the unused NULL entry at the head of dynamic symbol table.
929 (bfd_elf_size_dynsym_hash_dynstr): Remove dynsymcount != 0
930 checks.
931
932 2016-04-21 H.J. Lu <hongjiu.lu@intel.com>
933
934 * elflink.c (_bfd_elf_link_create_dynstrtab): Exclude linker
935 created file from dynobj.
936
937 2016-04-21 H.J. Lu <hongjiu.lu@intel.com>
938
939 * elflink.c (_bfd_elf_link_create_dynstrtab): Set dynobj to a
940 normal input file if possible.
941
942 2016-04-21 Nick Clifton <nickc@redhat.com>
943
944 * aout-adobe.c: Use _bfd_generic_link_check_relocs.
945 * aout-target.h: Likewise.
946 * aout-tic30.c: Likewise.
947 * binary.c: Likewise.
948 * bout.c: Likewise.
949 * coff-alpha.c: Likewise.
950 * coff-rs6000.c: Likewise.
951 * coff64-rs6000.c: Likewise.
952 * coffcode.h: Likewise.
953 * i386msdos.c: Likewise.
954 * i386os9k.c: Likewise.
955 * ieee.c: Likewise.
956 * ihex.c: Likewise.
957 * libbfd-in.h: Likewise.
958 * libecoff.h: Likewise.
959 * mach-o-target.c: Likewise.
960 * mmo.c: Likewise.
961 * nlm-target.h: Likewise.
962 * oasys.c: Likewise.
963 * pef.c: Likewise.
964 * plugin.c: Likewise.
965 * ppcboot.c: Likewise.
966 * som.c: Likewise.
967 * srec.c: Likewise.
968 * tekhex.c: Likewise.
969 * versados.c: Likewise.
970 * vms-alpha.c: Likewise.
971 * xsym.c: Likewise.
972 * elfxx-target.h: Use _bfd_elf_link_check_relocs.
973 * linker.c (bfd_link_check_relocs): New function.
974 (_bfd_generic_link_check_relocs): New function.
975 * targets.c (BFD_JUMP_TABLE_LINK): Add initialization of
976 _bfd_link_check_relocs field.
977 (struct bfd_target)L Add _bfd_link_check_relocs field.
978 * bfd-in2.h: Regenerate.
979 * libbfd.h: Regenerate.
980
981 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
982
983 * elf32-i386.c (elf_i386_gc_sweep_hook): Removed.
984 (elf_backend_gc_sweep_hook): Likewise.
985 * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
986 (elf_backend_gc_sweep_hook): Likewise.
987
988 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
989
990 * elflink.c (_bfd_elf_link_check_relocs): Don't check relocations
991 in excluded sections
992
993 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
994
995 PR ld/19969
996 * elf64-x86-64.c (check_relocs_failed): New.
997 (elf_x86_64_need_pic): Moved before elf_x86_64_check_relocs.
998 Support relocation agaist local symbol. Set check_relocs_failed.
999 (elf_x86_64_check_relocs): Use elf_x86_64_need_pic. Check
1000 R_X86_64_32 relocation overflow.
1001 (elf_x86_64_relocate_section): Skip if check_relocs failed.
1002 Update one elf_x86_64_need_pic and remove one elf_x86_64_need_pic.
1003
1004 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
1005
1006 * elf32-i386.c (elf_i386_check_relocs): Call
1007 _bfd_elf_create_ifunc_sections only for STT_GNU_IFUNC symbol.
1008 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1009
1010 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
1011
1012 * elf-bfd.h (_bfd_elf_link_check_relocs): New.
1013 * elflink.c (_bfd_elf_link_check_relocs): New function.
1014 (elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs
1015 if check_relocs_after_open_input is FALSE.
1016
1017 2016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
1018
1019 * cache.c: Update old style function definitions.
1020 * elf32-m68k.c: Likewise.
1021 * elf64-mmix.c: Likewise.
1022 * stab-syms.c: Likewise.
1023
1024 2016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
1025
1026 * elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *.
1027
1028 2016-04-15 H.J. Lu <hongjiu.lu@intel.com>
1029
1030 * Makefile.in: Regenerated with automake 1.11.6.
1031 * aclocal.m4: Likewise.
1032 * doc/Makefile.in: Likewise.
1033
1034 2016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
1035
1036 * reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry.
1037 * bfd-in2.h: Regenerate.
1038 * libbfd.h: Regenerate.
1039 * elf32-arc.c: Add 'opcode/arc.h' include.
1040 (struct arc_relocation_data): Add symbol_name.
1041 (arc_special_overflow_checks): New function.
1042 (arc_do_relocation): Use arc_special_overflow_checks, reindent as
1043 required, add an extra comment.
1044 (elf_arc_relocate_section): Setup symbol_name in reloc_data.
1045
1046 2016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
1047
1048 * elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all
1049 entries.
1050 (elf_arc_relocate_section): Update enum uses.
1051 (elf_arc_check_relocs): Likewise.
1052 (elf_arc_finish_dynamic_symbol): Likewise.
1053
1054 2016-04-14 H.J. Lu <hongjiu.lu@intel.com>
1055
1056 * elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
1057 "sh_link".
1058
1059 2016-04-14 Nick Clifton <nickc@redhat.com>
1060
1061 PR target/19938
1062 * elf-bbfd.h (struct elf_backend_data): New field:
1063 elf_strtab_flags.
1064 New field: elf_backend_set_special_section_info_and_link
1065 * elfxx-target.h (elf_backend_strtab_flags): Define if not already
1066 defined.
1067 (elf_backend_set_special_section_info_and_link): Define if not
1068 already defined.
1069 (elfNN_bed): Use elf_backend_set_special_section_info_and_link and
1070 elf_backend_strtab_flags macros to initialise fields in structure.
1071 * elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS
1072 being set even if SHF_MERGE is not set.
1073 (elf_fake_sections): Likewise.
1074 (section_match): New function. Matches two ELF sections based
1075 upon fixed characteristics.
1076 (find_link): New function. Locates a section in a BFD that
1077 matches a section in a different BFD.
1078 (_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link
1079 fields of reserved sections.
1080 (bfd_elf_compute_section_file_positions): Set the flags for the
1081 .shstrtab section based upon the elf_strtab_flags field in the
1082 elf_backend_data structure.
1083 (swap_out_syms): Likewise for the .strtab section.
1084 * elflink.c (bfd_elf_final_link): Set the flags for the
1085 .strtab section based upon the elf_strtab_flags field in the
1086 elf_backend_data structure.
1087 * elf32-i386.c (elf32_i386_set_special_info_link): New function.
1088 (elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris
1089 targets.
1090 (elf_backend_set_special_section_info_and_link): Define for
1091 Solaris targets.
1092 * elf32-sparc.c: Likewise.
1093 * elf64-x86-64.c: Likewise.
1094
1095 2016-04-11 H.J. Lu <hongjiu.lu@intel.com>
1096
1097 PR ld/19939
1098 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer
1099 to bfd_boolean.
1100 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
1101 Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc
1102 applies to read-only section.
1103 * elf32-i386.c (elf_i386_link_hash_table): Add
1104 readonly_dynrelocs_against_ifunc.
1105 (elf_i386_allocate_dynrelocs): Updated.
1106 (elf_i386_size_dynamic_sections): Issue an error for read-only
1107 segment with dynamic IFUNC relocations only if
1108 readonly_dynrelocs_against_ifunc is TRUE.
1109 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
1110 readonly_dynrelocs_against_ifunc.
1111 (elf_x86_64_allocate_dynrelocs): Updated.
1112 (elf_x86_64_size_dynamic_sections): Issue an error for read-only
1113 segment with dynamic IFUNC relocations only if
1114 readonly_dynrelocs_against_ifunc is TRUE.
1115 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
1116 Updated.
1117
1118 2016-04-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
1119
1120 * elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be
1121 a fall through from error_ret_free_internal. Free local_syms in
1122 error_ret_free_local if allocated from bfd_elf_get_elf_syms ().
1123
1124 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
1125
1126 * elf32-arc.c (plt_do_relocs_for_symbol): Changed.
1127 (relocate_plt_for_entry): Likewise.
1128
1129 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
1130
1131 * elf32-arc.c (elf_arc_check_relocs): Changed
1132
1133 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
1134
1135 * elf32-arc.c (name_for_global_symbol): Changed assert.
1136 (get_replace_function): Created.:
1137 (struct arc_relocation_data): Changed to signed types.
1138 (defines S, L, P, PDATA): Casted to signed type.
1139 (defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise.
1140 (PRINT_DEBUG_RELOC_INFO_BEFORE): Changed.
1141 (arc_do_relocation): Changed.
1142
1143 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
1144
1145 * elf32-arc.c (name_for_global_symbol): Added assert to check for
1146 symbol index.
1147 (elf_arc_relocate_section): Added and changed asserts, validating
1148 the synamic symbol index.
1149 (elf_arc_finish_dynamic_symbol): Do not fill the dynamic
1150 relocation if symbol has dynindx set to -1.
1151
1152 2016-04-05 Maciej W. Rozycki <macro@imgtec.com>
1153
1154 * elflink.c (elf_link_add_object_symbols): Always turn hidden
1155 and internal symbols which have a dynamic index into local
1156 ones.
1157
1158 2016-04-04 Nick Clifton <nickc@redhat.com>
1159
1160 PR 19872
1161 * dwarf2.c (parse_comp_unit): Skip warning about unrecognised
1162 version number if the version is zero.
1163
1164 2016-04-01 Alan Modra <amodra@gmail.com>
1165
1166 PR 19886
1167 * elflink.c (on_needed_list): Recursively check needed status.
1168 (elf_link_add_object_symbols): Adjust.
1169
1170 2016-03-30 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1171
1172 * elf32-avr.c (avr_elf32_load_records_from_section): Free
1173 internal_relocs only if they aren't cached.
1174
1175 2016-03-29 Nick Clifton <nickc@redhat.com>
1176
1177 PR 17334
1178 * elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax
1179 assertion on the size of the got section to allow it to be bigger
1180 than the number of relocs.
1181
1182 2016-03-29 Toni Spets <toni.spets@iki.fi>
1183
1184 PR 19878
1185 * coffcode.h (coff_write_object_contents): Revert accidental
1186 2014-11-10 change.
1187
1188 2016-03-22 Alan Modra <amodra@gmail.com>
1189
1190 PR 19850
1191 * dwarf2.c (read_attribute_value): Skip info_ptr check for
1192 DW_FORM_flag_present.
1193
1194 2016-03-22 Nick Clifton <nickc@redhat.com>
1195
1196 * cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an
1197 architecture name for backwards compatibility.
1198
1199 * peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible
1200 unbounded stack use.
1201
1202 * warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a
1203 sufficiently recent version of GCC.
1204 * configure: Regenerate.
1205
1206 2016-03-22 Alan Modra <amodra@gmail.com>
1207
1208 PR 19851
1209 * plugin.c (try_load_plugin): Avoid -Wstack-usage warning.
1210
1211 2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
1212
1213 * archures.c (bfd_mach_arc_nps400): Define.
1214 * bfd-in2.h: Regenerate.
1215 * cpu-arc.c (arch_info_struct): New entry for nps400, renumber
1216 some existing entries to make space.
1217 * elf32-arc.c (arc_elf_object_p): Add nps400 case.
1218 (arc_elf_final_write_processing): Likewise.
1219
1220 2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
1221
1222 * elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of
1223 EF_ARC_CPU_GENERIC.
1224 (arc_elf_final_write_processing): Don't bother setting cpu field
1225 in e_flags, this will have been set elsewhere.
1226
1227 2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
1228
1229 * elf32-arc.c (arc_elf_final_write_processing): Switch to using
1230 EF_ARC_MACH_MSK.
1231
1232 2016-03-21 Nick Clifton <nickc@redhat.com>
1233
1234 * warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144
1235 * configure: Regenerate.
1236 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of
1237 alloca with call to xmalloc.
1238 * elf32-nds32.c: Likewise.
1239 * elf64-hppa.c: Likewise.
1240 * elfxx-mips.c: Likewise.
1241 * pef.c: Likewise.
1242 * pei-x86_64.c: Likewise.
1243 * som.c: Likewise.
1244 * xsym.c: Likewise.
1245
1246 2016-03-15 H.J. Lu <hongjiu.lu@intel.com>
1247
1248 PR ld/19827
1249 * elf32-i386.c (elf_i386_check_relocs): Bind defined symbol
1250 locally in PIE.
1251 (elf_i386_relocate_section): Likewise.
1252 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1253 (elf_x86_64_relocate_section): Likewise.
1254
1255 2016-03-15 H.J. Lu <hongjiu.lu@intel.com>
1256
1257 PR ld/19807
1258 * elf64-x86-64.c (elf_x86_64_relocate_section): Check
1259 no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S
1260 relocation overflow check.
1261
1262 2016-03-14 H.J. Lu <hongjiu.lu@intel.com>
1263
1264 * bfd-in2.h: Regenerated.
1265
1266 2016-03-11 Dan Gissel <dgisselq@ieee.org>
1267
1268 PR 19713
1269 * elf.c (_bfd_elf_section_offset): Ensure that the returned offset
1270 uses bytes not octets.
1271 * elflink.c (resolve_section): Likewise.
1272 Add a bfd parameter.
1273 (eval_section): Pass the input_bfd to resolve_section.
1274 (bfd_elf_perform_complex_relocation): Convert byte offset to
1275 octets before read and writing values.
1276 (elf_link_input_bfd): Add byte to octet conversions.
1277 (elf_reloc_link_order): Likewise.
1278 (elf_fixup_link_order): Likewise.
1279 (bfd_elf_final_link): Likewise.
1280 * reloc.c (_bfd_final_link_relocate): Likewise.
1281 * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
1282
1283 2016-03-10 Nick Clifton <nickc@redhat.com>
1284
1285 * config.bfd: Mark the i370 target as obsolete.
1286
1287 2016-03-09 Pedro Alves <palves@redhat.com>
1288
1289 * cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old
1290 gcc ABI)" to printable name.
1291 * cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead
1292 of "v850-rh850" as printable name.
1293
1294 2016-03-09 Leon Winter <winter-gcc@bfw-online.de>
1295
1296 PR ld/19623
1297 * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply
1298 relocations against absolute symbols.
1299
1300 2016-03-09 Alan Modra <amodra@gmail.com>
1301
1302 PR binutils/19775
1303 * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero
1304 length elements in the archive.
1305
1306 2016-03-08 H.J. Lu <hongjiu.lu@intel.com>
1307
1308 PR ld/19789
1309 * elflink.c (elf_link_add_object_symbols): Create dynamic sections
1310 for -E/--dynamic-list only when not relocatable.
1311
1312 2016-03-08 H.J. Lu <hongjiu.lu@intel.com>
1313
1314 PR ld/19784
1315 * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
1316 count for locally defined local IFUNC symbols in shared object.
1317 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1318
1319 2016-03-08 H.J. Lu <hongjiu.lu@intel.com>
1320
1321 PR ld/19579
1322 * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking
1323 together.
1324
1325 2016-03-08 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
1326 Andrew Burgess <andrew.burgess@embecosm.com>
1327
1328 * elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32.
1329 (arc_bfd_put_32): Becomes an alias for bfd_put_32.
1330 (arc_elf_howto_init): Added assert to validate relocations.
1331 (get_middle_endian_relocation): Delete.
1332 (middle_endian_convert): New function.
1333 (ME): Redefine, now does nothing.
1334 (IS_ME): New define.
1335 (arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO'
1336 definition to call middle_endian_convert. Add a new local
1337 variable and make use of this throughout. Added call to
1338 arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations.
1339
1340 2016-03-07 Nick Clifton <nickc@redhat.com>
1341
1342 PR binutils/19775
1343 * archive.c (bfd_generic_openr_next_archived_file): Allow zero
1344 length elements in the archive.
1345
1346 2016-03-07 Jiong Wang <jiong.wang@arm.com>
1347
1348 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got
1349 section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced.
1350
1351 2016-03-04 H.J. Lu <hongjiu.lu@intel.com>
1352
1353 PR ld/19579
1354 * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
1355 executable as definition if the new definition comes from a
1356 shared library.
1357
1358 2016-03-02 Alan Modra <amodra@gmail.com>
1359
1360 * Makefile.in: Regenerate.
1361 * po/SRC-POTFILES.in: Regenerate.
1362
1363 2016-02-29 Cupertino Miranda <cmiranda@synopsys.com>
1364
1365 * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
1366 relocation addend when sections get merged.
1367
1368 2016-02-29 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
1369
1370 * elf32-arc.c (arc_elf_final_write_processing): Add condition to
1371 the flag change.
1372 (elf_arc_relocate_section): Fixes and conditions to support PIE.
1373 Assert for code sections dynamic relocs.
1374
1375 2016-02-26 Renlin Li <renlin.li@arm.com>
1376
1377 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow
1378 check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2.
1379
1380 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
1381
1382 PR ld/19609
1383 * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
1384 load with locally bound symbols if PIC is false or there is no
1385 base register. Optimize branch to 0 if PIC is false.
1386 (elf_i386_relocate_section): Don't generate dynamic relocations
1387 against undefined weak symbols if PIC is false.
1388 * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
1389 if we can't estimate relocation overflow with --no-relax.
1390 Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
1391 symbols if PIC is false. Optimize branch to 0 if PIC is false.
1392 (elf_x86_64_relocate_section): Don't generate dynamic relocations
1393 against undefined weak symbols if PIC is false.
1394
1395 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
1396
1397 PR ld/19645
1398 * bfd.c (bfd): Change flags to 20 bits.
1399 (BFD_CONVERT_ELF_COMMON): New.
1400 (BFD_USE_ELF_STT_COMMON): Likewise.
1401 (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
1402 BFD_USE_ELF_STT_COMMON.
1403 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
1404 * configure.ac: Remove --enable-elf-stt-common.
1405 * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
1406 common symbol depending on BFD_CONVERT_ELF_COMMON and
1407 BFD_USE_ELF_STT_COMMON.
1408 * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
1409 STT_COMMON.
1410 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
1411 STT_COMMON.
1412 (elf_link_convert_common_type): New function.
1413 (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
1414 common symbol depending on BFD_CONVERT_ELF_COMMON and
1415 BFD_USE_ELF_STT_COMMON. Set sym.st_info after sym.st_shndx.
1416 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
1417 and BFD_USE_ELF_STT_COMMON to object_flags.
1418 (TARGET_LITTLE_SYM): Likewise.
1419 * syms.c (BSF_KEEP_G): Renamed to ...
1420 (BSF_ELF_COMMON): This.
1421 * bfd-in2.h: Regenerated.
1422 * config.in: Likewise.
1423 * configure: Likewise.
1424
1425 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
1426
1427 PR ld/19636
1428 PR ld/19704
1429 PR ld/19719
1430 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
1431 (elf_i386_link_hash_entry): Add has_got_reloc and
1432 has_non_got_reloc.
1433 (elf_i386_link_hash_table): Add interp.
1434 (elf_i386_link_hash_newfunc): Initialize has_got_reloc and
1435 has_non_got_reloc.
1436 (elf_i386_copy_indirect_symbol): Copy has_got_reloc and
1437 has_non_got_reloc.
1438 (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
1439 (elf_i386_fixup_symbol): New function.
1440 (elf_i386_pie_finish_undefweak_symbol): Likewise.
1441 (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
1442 relocations and discard relocations against resolved undefined
1443 weak symbols in executable. Don't make resolved undefined weak
1444 symbols in executable dynamic. Keep dynamic non-GOT/non-PLT
1445 relocation against undefined weak symbols in PIE.
1446 (elf_i386_size_dynamic_sections): Set interp to .interp section.
1447 (elf_i386_relocate_section): Don't generate dynamic relocations
1448 against resolved undefined weak symbols in PIE, except for
1449 R_386_PC32.
1450 (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
1451 dynamic PLT/GOT relocations for resolved undefined weak symbols.
1452 Don't generate dynamic relocation against resolved undefined weak
1453 symbol in executable.
1454 (elf_i386_finish_dynamic_sections): Call
1455 elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
1456 (elf_backend_fixup_symbol): New.
1457 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
1458 (elf_x86_64_link_hash_entry): Add has_got_reloc and
1459 has_non_got_reloc.
1460 (elf_x86_64_link_hash_table): Add interp.
1461 (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
1462 has_non_got_reloc.
1463 (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
1464 has_non_got_reloc.
1465 (elf_x86_64_check_relocs): Set has_got_reloc and
1466 has_non_got_reloc.
1467 (elf_x86_64_fixup_symbol): New function.
1468 (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
1469 (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
1470 relocations and discard relocations against resolved undefined
1471 weak symbols in executable. Don't make resolved undefined weak
1472 symbols in executable dynamic.
1473 (elf_x86_64_size_dynamic_sections): Set interp to .interp section.
1474 (elf_x86_64_relocate_section): Check relocation overflow for
1475 dynamic relocations against unresolved weak undefined symbols.
1476 Don't generate dynamic relocations against resolved weak
1477 undefined symbols in PIE.
1478 (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
1479 dynamic PLT/GOT relocations for resolved undefined weak symbols.
1480 Don't generate dynamic relocation against resolved undefined weak
1481 symbol in executable.
1482 (elf_x86_64_finish_dynamic_sections): Call
1483 elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
1484 (elf_backend_fixup_symbol): New.
1485
1486 2016-02-26 Alan Modra <amodra@gmail.com>
1487
1488 * elf64-ppc.c (create_linkage_sections): Create sfpr when
1489 save_restore_funcs, rest of sections when not relocatable.
1490 (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
1491 (sfpr_define): Define all symbols on emitted code.
1492 (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
1493 when relocatable. Move sfpr_define loop earlier.
1494
1495 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
1496
1497 * elf64-x86-64.c (elf_x86_64_need_pic): New function.
1498 (elf_x86_64_relocate_section): Use it. Replace
1499 x86_64_elf_howto_table[r_type] with howto.
1500
1501 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
1502
1503 PR ld/19698
1504 * elflink.c (bfd_elf_record_link_assignment): Set versioned if
1505 symbol version is unknown.
1506
1507 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
1508
1509 * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
1510 to (bfd_vma) -1 when setting needs_plt to 0.
1511 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
1512
1513 2016-02-23 H.J. Lu <hongjiu.lu@intel.com>
1514
1515 * elflink.c (bfd_elf_record_link_assignment): Check for shared
1516 library, instead of PIC, and don't check PDE when making linker
1517 assigned symbol dynamic.
1518
1519 2016-02-23 Faraz Shahbazker <faraz.shahbazker@imgtec.com>
1520
1521 * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
1522 ABIVERSION for non-executable stack.
1523
1524 2016-02-23 Rich Felker <bugdal@aerifal.cx>
1525
1526 PR target/19516
1527 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
1528 Always produce a RELATIVE reloc for a local symbol.
1529
1530 2016-02-23 Hans-Peter Nilsson <hp@axis.com>
1531
1532 Fix test-case ld-elf/pr19617b
1533 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
1534 discard unused non-function symbols when --dynamic-list-data.
1535
1536 2016-02-22 H.J. Lu <hongjiu.lu@intel.com>
1537
1538 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
1539 dynsym section, even if it is empty, with dynamic sections.
1540
1541 2016-02-22 H.J. Lu <hongjiu.lu@intel.com>
1542
1543 * syms.c: Remove BSF_COMMON from comments.
1544 * bfd-in2.h: Regenerated.
1545
1546 2016-02-22 Jiong Wang <jiong.wang@arm.com>
1547
1548 * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
1549 for destination. Remove useless function parameters.
1550 (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
1551
1552 2016-02-19 Nick Clifton <nickc@redhat.com>
1553
1554 PR ld/19629
1555 * aoutx.h (aout_link_add_symbols): Check for out of range string
1556 table offsets.
1557
1558 PR ld/19628
1559 * reloc.c (bfd_generic_get_relocated_section_contents): Stop
1560 processing if we encounter a reloc without an associated symbol.
1561
1562 2016-02-18 H.J. Lu <hongjiu.lu@intel.com>
1563
1564 PR ld/19617
1565 * elflink.c (elf_link_add_object_symbols): Always create dynamic
1566 sections for -E/--dynamic-list.
1567
1568 2016-02-17 H.J. Lu <hongjiu.lu@intel.com>
1569
1570 * elf64-x86-64.c (elf_backend_omit_section_dynsym): New. Defined
1571 to bfd_true.
1572
1573 2016-02-16 Joseph Myers <joseph@codesourcery.com>
1574
1575 * plugin.c (plugin_vec): Set match priority to 255.
1576 * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
1577 matching against the plugin vector, take priority from there not
1578 from TEMP.
1579
1580 2016-02-15 Nick Clifton <nickc@redhat.com>
1581
1582 * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
1583 for length and type fields. Use a signed value for the
1584 suffix_length field.
1585
1586 2016-02-10 H.J. Lu <hongjiu.lu@intel.com>
1587
1588 PR ld/19601
1589 * elf32-i386.c (elf_i386_relocate_section): Mask off the least
1590 significant bit in GOT offset for R_386_GOT32X.
1591
1592 2016-02-10 Nick Clifton <nickc@redhat.com>
1593
1594 PR 19405
1595 * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
1596 immediate values.
1597 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
1598 number of messages about FDE encoding preventing .eh_frame_hdr
1599 generation.
1600
1601 2016-02-09 Nick Clifton <nickc@redhat.com>
1602
1603 * oasys.c (oasys_archive_p): Fix indentation.
1604 * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
1605 constant for left shifting.
1606
1607 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
1608 helpful warning message to explain why certain AArch64 relocs
1609 might overflow.
1610
1611 2016-02-05 Simon Marchi <simon.marchi@ericsson.com>
1612
1613 * pe-mips.c (coff_mips_reloc): Fix formatting.
1614
1615 2016-02-05 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
1616
1617 * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
1618 to bfd_mach_arc_arc600.
1619
1620 2016-02-04 Alan Modra <amodra@gmail.com>
1621
1622 * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
1623 for big-endian.
1624
1625 2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
1626
1627 PR ld/19542
1628 * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
1629 distances in the compressed_size field of the output section.
1630
1631 2016-02-02 Alan Modra <amodra@gmail.com>
1632
1633 * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
1634 ELFv2 entry optimization.
1635
1636 2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
1637
1638 PR binutils/19547
1639 * elf.c (assign_section_numbers): Clear HAS_RELOC if there are
1640 no relocations in relocatable files.
1641
1642 2016-02-01 H.J. Lu <hongjiu.lu@intel.com>
1643
1644 PR ld/19553
1645 * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
1646 if a symbol from a library loaded via DT_NEEDED doesn't match
1647 the symbol referenced by regular object.
1648
1649 2016-02-01 Nathaniel Smith <njs@pobox.com>
1650
1651 * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
1652 CODE and DATA.
1653
1654 2016-02-01 Alan Modra <amodra@gmail.com>
1655
1656 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
1657 an out of range reloc_index.
1658 * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
1659
1660 2016-02-01 Kamil Rytarowski <n54@gmx.com>
1661
1662 * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
1663 (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
1664 * Makefile.in: Regenerated.
1665
1666 2016-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
1667
1668 * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
1669
1670 2016-01-31 John David Anglin <danglin@gcc.gnu.org>
1671
1672 PR ld/19526
1673 * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
1674 files.
1675 * elf64-hppa.c (elf32_hppa_final_link): Likewise. Remove retval.
1676
1677 2016-01-30 H.J. Lu <hongjiu.lu@intel.com>
1678
1679 PR ld/19539
1680 * elf32-i386.c (elf_i386_reloc_type_class): Check relocation
1681 against STT_GNU_IFUNC symbol only with dynamic symbols.
1682 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
1683
1684 2016-01-28 H.J. Lu <hongjiu.lu@intel.com>
1685
1686 PR binutils/19523
1687 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
1688 decompress debug sections.
1689
1690 2016-01-25 Maciej W. Rozycki <macro@imgtec.com>
1691
1692 * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
1693 `dynindx'.
1694
1695 2016-01-25 Nick Clifton <nickc@redhat.com>
1696
1697 PR target/19435
1698 * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
1699 dsym filename buffer.
1700
1701 2016-01-24 Maciej W. Rozycki <macro@imgtec.com>
1702
1703 * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
1704
1705 2016-01-24 Maciej W. Rozycki <macro@imgtec.com>
1706
1707 * elfxx-mips.c (BZ16_REG): Correct calculation.
1708
1709 2016-01-21 Nick Clifton <nickc@redhat.com>
1710
1711 * elf32-arc.c (ADD_RELA): Fix compile time warning errors by
1712 changing the type of _loc to be bfd_byte *.
1713 (elf_arc_finish_dynamic_symbol): Likewise.
1714
1715 2016-01-21 Nick Clifton <nickc@redhat.com>
1716
1717 PR ld/19455
1718 * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
1719 class of the linker stub bfd.
1720 (elf32_arm_check_relocs): Skip check for pic format after
1721 processing a vxWorks R_ARM_ABS12 reloc.
1722 * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
1723 reporting a class mismatch.
1724
1725 2016-01-21 Jiong Wang <jiong.wang@arm.com>
1726
1727 * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
1728 veneer for sym_sec != input_sec.
1729 (elfNN_aarch64_size_stub): Support STT_SECTION symbol.
1730 (elfNN_aarch64_final_link_relocate): Take rela addend into account when
1731 calculation destination.
1732
1733 2016-01-21 Alan Modra <amodra@gmail.com>
1734
1735 * elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
1736 (swap_linux_prpsinfo64_out): New function.
1737 (LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
1738 (LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
1739 * elf.c (elfcore_write_linux_prpsinfo32): Adjust. Don't memset.
1740 (elfcore_write_linux_prpsinfo64): Likewise.
1741 * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
1742 (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
1743 (elfcore_write_ppc_linux_prpsinfo32): Adjust. Don't memset.
1744
1745 2016-01-21 Alan Modra <amodra@gmail.com>
1746
1747 * elf-linux-core.h: Rename from elf-linux-psinfo.h.
1748 * elf.c: Adjust #include.
1749 * elf32-ppc.c: Don't #include elf-linux-psinfo.h
1750 * Makefile.am (SOURCE_HFILES): Update.
1751 * Makefile.in: Regenerate.
1752 * po/SRC-PORFILES.in: Regenerate.
1753
1754 2016-01-21 Alan Modra <amodra@gmail.com>
1755
1756 * configure.ac: Move corefile selection later in file. Move
1757 tdefaults code immediately after other target vector code.
1758 * configure: Regenerate.
1759
1760 2016-01-20 Mickael Guene <mickael.guene@st.com>
1761
1762 * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
1763 section using '.text.noread' pattern.
1764
1765 2016-01-19 John Baldwin <jhb@FreeBSD.org>
1766
1767 * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
1768
1769 2016-01-18 Miranda Cupertino <Cupertino.Miranda@synopsys.com>
1770 Zissulescu Claudiu <Claudiu.Zissulescu@synopsys.com>
1771
1772 * arc-plt.def: New file.
1773 * arc-plt.h: Likewise.
1774 * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
1775 elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
1776 elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
1777 elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
1778 (name_for_global_symbol): Added.
1779 (ADD_RELA): Helper to create dynamic relocs.
1780 (new_got_entry_to_list): Create a new got entry in linked list.
1781 (symbol_has_entry_of_type): Search for specific type of entry in
1782 list.
1783 (is_reloc_for_GOT): return FALSE for any TLS related relocs.
1784 (is_reloc_for_TLS, arc_elf_set_private_flags)
1785 (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
1786 (arc_elf_merge_private_bfd_data): New functions.
1787 (debug_arc_reloc): Cleaned debug info printing.
1788 (PDATA reloc): Changed not to perform address alignment.
1789 (reverse_me): Added. Fix for ARC_32 relocs.
1790 (arc_do_relocation): Return bfd_reloc_of when no relocation should
1791 occur.
1792 (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
1793 Changed function to access an array of list of GOT entries instead
1794 of just an array of offsets.
1795 (elf_arc_relocate_section): Added support for PIC and TLS related relocations.
1796 (elf_arc_check_relocs): Likewise.
1797 (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
1798 (elf_arc_finish_dynamic_sections): Likewise
1799 (arc_create_dynamic_sections): Modified conditions to create
1800 dynamic sections.
1801 (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
1802 (plt_do_relocs_for_symbol, relocate_plt_for_symbol)
1803 (relocate_plt_for_entry): Changed to support new way to define PLT
1804 related code.
1805 (add_symbol_to_plt): Likewise.
1806 (arc_elf_link_hash_table_create): New function.
1807
1808 2016-01-18 Nick Clifton <nickc@redhat.com>
1809
1810 PR ld/19440
1811 * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
1812 section number into internal section number.
1813 * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
1814 * coffswap.h (coff_swap_sym_in): Likewise.
1815 * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
1816 * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
1817 section number field is big enough to hold the external value.
1818
1819 2016-01-17 Alan Modra <amodra@gmail.com>
1820
1821 * configure: Regenerate.
1822
1823 2016-01-12 Yury Usishchev <y.usishchev@samsung.com>
1824
1825 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
1826 when address in first unwind entry does not match start of
1827 section.
1828
1829 2016-01-08 Richard Sandiford <richard.sandiford@arm.com>
1830 Jiong Wang <jiong.wang@arm.com>
1831
1832 PR ld/19368
1833 * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
1834 reloc_class_ifunc.
1835
1836 2016-01-06 Andrew Burgess <andrew.burgess@embecosm.com>
1837
1838 * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
1839 place 'R_' before the reloc name returned.
1840 (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
1841 the relocation string.
1842
1843 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1844
1845 * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
1846 factored out from...
1847 (_bfd_mips_elf_merge_private_bfd_data): ... here.
1848
1849 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1850
1851 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
1852 attribute check after ELF file header flag check.
1853
1854 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1855
1856 * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
1857 return status from `_bfd_elf_merge_object_attributes'.
1858
1859 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1860
1861 * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
1862 factored out from...
1863 (_bfd_mips_elf_merge_private_bfd_data): ... here.
1864
1865 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1866
1867 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
1868 handling of input MIPS ABI flags together.
1869
1870 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1871
1872 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
1873 attribute checks for null input.
1874
1875 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1876
1877 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
1878 pointers to target data.
1879
1880 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1881
1882 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
1883 an FP ABI warning.
1884
1885 2016-01-01 Alan Modra <amodra@gmail.com>
1886
1887 Update year range in copyright notice of all files.
1888
1889 For older changes see ChangeLog-2015 and doc/ChangeLog-0415
1890 \f
1891 Copyright (C) 2016 Free Software Foundation, Inc.
1892
1893 Copying and distribution of this file, with or without modification,
1894 are permitted in any medium without royalty provided the copyright
1895 notice and this notice are preserved.
1896
1897 Local Variables:
1898 mode: change-log
1899 left-margin: 8
1900 fill-column: 74
1901 version-control: never
1902 End: