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