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