Skip debug sections when estimating distances
[external/binutils.git] / bfd / ChangeLog
1 2016-04-27  H.J. Lu  <hongjiu.lu@intel.com>
2
3         PR ld/20006
4         * elf64-x86-64.c (elf_x86_64_convert_load): Skip debug sections
5         when estimating distances between output sections.
6
7 2016-04-27  Alan Modra  <amodra@gmail.com>
8
9         * elflink.c (_bfd_elf_is_start_stop): New function.
10         (_bfd_elf_gc_mark_rsec): Use it.
11         * elf-bfd.h (_bfd_elf_is_start_stop): Declare.
12
13 2016-04-26  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
14
15         * elf32-rx.c (rx_set_section_contents): Avoid arithmetic on void *.
16         * mmo.c (mmo_get_section_contents): Likewise.
17         (mmo_set_section_contents): Likewise.
18
19 2016-04-26  H.J. Lu  <hongjiu.lu@intel.com>
20
21         * elf-bfd.h (elf_link_hash_table): Update comments for
22         dynsymcount.
23         * elflink.c (_bfd_elf_link_renumber_dynsyms): Always count for
24         the unused NULL entry at the head of dynamic symbol table.
25         (bfd_elf_size_dynsym_hash_dynstr): Remove dynsymcount != 0
26         checks.
27
28 2016-04-21  H.J. Lu  <hongjiu.lu@intel.com>
29
30         * elflink.c (_bfd_elf_link_create_dynstrtab): Exclude linker
31         created file from dynobj.
32
33 2016-04-21  H.J. Lu  <hongjiu.lu@intel.com>
34
35         * elflink.c (_bfd_elf_link_create_dynstrtab): Set dynobj to a
36         normal input file if possible.
37
38 2016-04-21  Nick Clifton  <nickc@redhat.com>
39
40         * aout-adobe.c: Use _bfd_generic_link_check_relocs.
41         * aout-target.h: Likewise.
42         * aout-tic30.c: Likewise.
43         * binary.c: Likewise.
44         * bout.c: Likewise.
45         * coff-alpha.c: Likewise.
46         * coff-rs6000.c: Likewise.
47         * coff64-rs6000.c: Likewise.
48         * coffcode.h: Likewise.
49         * i386msdos.c: Likewise.
50         * i386os9k.c: Likewise.
51         * ieee.c: Likewise.
52         * ihex.c: Likewise.
53         * libbfd-in.h: Likewise.
54         * libecoff.h: Likewise.
55         * mach-o-target.c: Likewise.
56         * mmo.c: Likewise.
57         * nlm-target.h: Likewise.
58         * oasys.c: Likewise.
59         * pef.c: Likewise.
60         * plugin.c: Likewise.
61         * ppcboot.c: Likewise.
62         * som.c: Likewise.
63         * srec.c: Likewise.
64         * tekhex.c: Likewise.
65         * versados.c: Likewise.
66         * vms-alpha.c: Likewise.
67         * xsym.c: Likewise.
68         * elfxx-target.h: Use _bfd_elf_link_check_relocs.
69         * linker.c (bfd_link_check_relocs): New function.
70         (_bfd_generic_link_check_relocs): New function.
71         * targets.c (BFD_JUMP_TABLE_LINK): Add initialization of
72         _bfd_link_check_relocs field.
73         (struct bfd_target)L Add _bfd_link_check_relocs field.
74         * bfd-in2.h: Regenerate.
75         * libbfd.h: Regenerate.
76
77 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
78
79         * elf32-i386.c (elf_i386_gc_sweep_hook): Removed.
80         (elf_backend_gc_sweep_hook): Likewise.
81         * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
82         (elf_backend_gc_sweep_hook): Likewise.
83
84 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
85
86         * elflink.c (_bfd_elf_link_check_relocs): Don't check relocations
87         in excluded sections
88
89 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
90
91         PR ld/19969
92         * elf64-x86-64.c (check_relocs_failed): New.
93         (elf_x86_64_need_pic): Moved before elf_x86_64_check_relocs.
94         Support relocation agaist local symbol.  Set check_relocs_failed.
95         (elf_x86_64_check_relocs): Use elf_x86_64_need_pic.  Check
96         R_X86_64_32 relocation overflow.
97         (elf_x86_64_relocate_section): Skip if check_relocs failed.
98         Update one elf_x86_64_need_pic and remove one elf_x86_64_need_pic.
99
100 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
101
102         * elf32-i386.c (elf_i386_check_relocs): Call
103         _bfd_elf_create_ifunc_sections only for STT_GNU_IFUNC symbol.
104         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
105
106 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
107
108         * elf-bfd.h (_bfd_elf_link_check_relocs): New.
109         * elflink.c (_bfd_elf_link_check_relocs): New function.
110         (elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs
111         if check_relocs_after_open_input is FALSE.
112
113 2016-04-20  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
114
115         * cache.c: Update old style function definitions.
116         * elf32-m68k.c: Likewise.
117         * elf64-mmix.c: Likewise.
118         * stab-syms.c: Likewise.
119
120 2016-04-20  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
121
122         * elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *.
123
124 2016-04-15  H.J. Lu  <hongjiu.lu@intel.com>
125
126         * Makefile.in: Regenerated with automake 1.11.6.
127         * aclocal.m4: Likewise.
128         * doc/Makefile.in: Likewise.
129
130 2016-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>
131
132         * reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry.
133         * bfd-in2.h: Regenerate.
134         * libbfd.h: Regenerate.
135         * elf32-arc.c: Add 'opcode/arc.h' include.
136         (struct arc_relocation_data): Add symbol_name.
137         (arc_special_overflow_checks): New function.
138         (arc_do_relocation): Use arc_special_overflow_checks, reindent as
139         required, add an extra comment.
140         (elf_arc_relocate_section): Setup symbol_name in reloc_data.
141
142 2016-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>
143
144         * elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all
145         entries.
146         (elf_arc_relocate_section): Update enum uses.
147         (elf_arc_check_relocs): Likewise.
148         (elf_arc_finish_dynamic_symbol): Likewise.
149
150 2016-04-14  H.J. Lu  <hongjiu.lu@intel.com>
151
152         * elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
153         "sh_link".
154
155 2016-04-14  Nick Clifton  <nickc@redhat.com>
156
157         PR target/19938
158         * elf-bbfd.h (struct elf_backend_data): New field:
159         elf_strtab_flags.
160         New field: elf_backend_set_special_section_info_and_link
161         * elfxx-target.h (elf_backend_strtab_flags): Define if not already
162         defined.
163         (elf_backend_set_special_section_info_and_link): Define if not
164         already defined.
165         (elfNN_bed): Use elf_backend_set_special_section_info_and_link and
166         elf_backend_strtab_flags macros to initialise fields in structure.
167         * elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS
168         being set even if SHF_MERGE is not set.
169         (elf_fake_sections): Likewise.
170         (section_match): New function.  Matches two ELF sections based
171         upon fixed characteristics.
172         (find_link): New function.  Locates a section in a BFD that
173         matches a section in a different BFD.
174         (_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link
175         fields of reserved sections.
176         (bfd_elf_compute_section_file_positions): Set the flags for the
177         .shstrtab section based upon the elf_strtab_flags field in the
178         elf_backend_data structure.
179         (swap_out_syms): Likewise for the .strtab section.
180         * elflink.c (bfd_elf_final_link): Set the flags for the
181         .strtab section based upon the elf_strtab_flags field in the
182         elf_backend_data structure.
183         * elf32-i386.c (elf32_i386_set_special_info_link): New function.
184         (elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris
185         targets.
186         (elf_backend_set_special_section_info_and_link): Define for
187         Solaris targets.
188         * elf32-sparc.c: Likewise.
189         * elf64-x86-64.c: Likewise.
190
191 2016-04-11  H.J. Lu  <hongjiu.lu@intel.com>
192
193         PR ld/19939
194         * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer
195         to bfd_boolean.
196         * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
197         Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc
198         applies to read-only section.
199         * elf32-i386.c (elf_i386_link_hash_table): Add
200         readonly_dynrelocs_against_ifunc.
201         (elf_i386_allocate_dynrelocs): Updated.
202         (elf_i386_size_dynamic_sections): Issue an error for read-only
203         segment with dynamic IFUNC relocations only if
204         readonly_dynrelocs_against_ifunc is TRUE.
205         * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
206         readonly_dynrelocs_against_ifunc.
207         (elf_x86_64_allocate_dynrelocs): Updated.
208         (elf_x86_64_size_dynamic_sections): Issue an error for read-only
209         segment with dynamic IFUNC relocations only if
210         readonly_dynrelocs_against_ifunc is TRUE.
211         * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
212         Updated.
213
214 2016-04-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
215
216         * elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be
217         a fall through from error_ret_free_internal.  Free local_syms in
218         error_ret_free_local if allocated from bfd_elf_get_elf_syms ().
219
220 2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
221
222         * elf32-arc.c (plt_do_relocs_for_symbol): Changed.
223         (relocate_plt_for_entry): Likewise.
224
225 2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
226
227         * elf32-arc.c (elf_arc_check_relocs): Changed
228
229 2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
230
231         * elf32-arc.c (name_for_global_symbol): Changed assert.
232         (get_replace_function): Created.:
233         (struct arc_relocation_data): Changed to signed types.
234         (defines S, L, P, PDATA): Casted to signed type.
235         (defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise.
236         (PRINT_DEBUG_RELOC_INFO_BEFORE): Changed.
237         (arc_do_relocation): Changed.
238
239 2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
240
241         * elf32-arc.c (name_for_global_symbol): Added assert to check for
242         symbol index.
243         (elf_arc_relocate_section): Added and changed asserts, validating
244         the synamic symbol index.
245         (elf_arc_finish_dynamic_symbol): Do not fill the dynamic
246         relocation if symbol has dynindx set to -1.
247
248 2016-04-05  Maciej W. Rozycki  <macro@imgtec.com>
249
250         * elflink.c (elf_link_add_object_symbols): Always turn hidden
251         and internal symbols which have a dynamic index into local
252         ones.
253
254 2016-04-04  Nick Clifton  <nickc@redhat.com>
255
256         PR 19872
257         * dwarf2.c (parse_comp_unit): Skip warning about unrecognised
258         version number if the version is zero.
259
260 2016-04-01  Alan Modra  <amodra@gmail.com>
261
262         PR 19886
263         * elflink.c (on_needed_list): Recursively check needed status.
264         (elf_link_add_object_symbols): Adjust.
265
266 2016-03-30  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
267
268         * elf32-avr.c (avr_elf32_load_records_from_section): Free
269         internal_relocs only if they aren't cached.
270
271 2016-03-29  Nick Clifton  <nickc@redhat.com>
272
273         PR 17334
274         * elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax
275         assertion on the size of the got section to allow it to be bigger
276         than the number of relocs.
277
278 2016-03-29  Toni Spets  <toni.spets@iki.fi>
279
280         PR 19878
281         * coffcode.h (coff_write_object_contents): Revert accidental
282         2014-11-10 change.
283
284 2016-03-22  Alan Modra  <amodra@gmail.com>
285
286         PR 19850
287         * dwarf2.c (read_attribute_value): Skip info_ptr check for
288         DW_FORM_flag_present.
289
290 2016-03-22  Nick Clifton  <nickc@redhat.com>
291
292         * cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an
293         architecture name for backwards compatibility.
294
295         * peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible
296         unbounded stack use.
297
298         * warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a
299         sufficiently recent version of GCC.
300         * configure: Regenerate.
301
302 2016-03-22  Alan Modra  <amodra@gmail.com>
303
304         PR 19851
305         * plugin.c (try_load_plugin): Avoid -Wstack-usage warning.
306
307 2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
308
309         * archures.c (bfd_mach_arc_nps400): Define.
310         * bfd-in2.h: Regenerate.
311         * cpu-arc.c (arch_info_struct): New entry for nps400, renumber
312         some existing entries to make space.
313         * elf32-arc.c (arc_elf_object_p): Add nps400 case.
314         (arc_elf_final_write_processing): Likewise.
315
316 2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
317
318         * elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of
319         EF_ARC_CPU_GENERIC.
320         (arc_elf_final_write_processing): Don't bother setting cpu field
321         in e_flags, this will have been set elsewhere.
322
323 2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
324
325         * elf32-arc.c (arc_elf_final_write_processing): Switch to using
326         EF_ARC_MACH_MSK.
327
328 2016-03-21  Nick Clifton  <nickc@redhat.com>
329
330         * warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144
331         * configure: Regenerate.
332         * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of
333         alloca with call to xmalloc.
334         * elf32-nds32.c: Likewise.
335         * elf64-hppa.c: Likewise.
336         * elfxx-mips.c: Likewise.
337         * pef.c: Likewise.
338         * pei-x86_64.c: Likewise.
339         * som.c: Likewise.
340         * xsym.c: Likewise.
341
342 2016-03-15  H.J. Lu  <hongjiu.lu@intel.com>
343
344         PR ld/19827
345         * elf32-i386.c (elf_i386_check_relocs): Bind defined symbol
346         locally in PIE.
347         (elf_i386_relocate_section): Likewise.
348         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
349         (elf_x86_64_relocate_section): Likewise.
350
351 2016-03-15  H.J. Lu  <hongjiu.lu@intel.com>
352
353         PR ld/19807
354         * elf64-x86-64.c (elf_x86_64_relocate_section): Check
355         no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S
356         relocation overflow check.
357
358 2016-03-14  H.J. Lu  <hongjiu.lu@intel.com>
359
360         * bfd-in2.h: Regenerated.
361
362 2016-03-11  Dan Gissel  <dgisselq@ieee.org>
363
364         PR 19713
365         * elf.c (_bfd_elf_section_offset): Ensure that the returned offset
366         uses bytes not octets.
367         * elflink.c (resolve_section): Likewise.
368         Add a bfd parameter.
369         (eval_section): Pass the input_bfd to resolve_section.
370         (bfd_elf_perform_complex_relocation): Convert byte offset to
371         octets before read and writing values.
372         (elf_link_input_bfd): Add byte to octet conversions.
373         (elf_reloc_link_order): Likewise.
374         (elf_fixup_link_order): Likewise.
375         (bfd_elf_final_link): Likewise.
376         * reloc.c (_bfd_final_link_relocate): Likewise.
377         * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
378
379 2016-03-10  Nick Clifton  <nickc@redhat.com>
380
381         * config.bfd: Mark the i370 target as obsolete.
382
383 2016-03-09  Pedro Alves  <palves@redhat.com>
384
385         * cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old
386         gcc ABI)" to printable name.
387         * cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead
388         of "v850-rh850" as printable name.
389
390 2016-03-09  Leon Winter  <winter-gcc@bfw-online.de>
391
392         PR ld/19623
393         * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply
394         relocations against absolute symbols.
395
396 2016-03-09  Alan Modra  <amodra@gmail.com>
397
398         PR binutils/19775
399         * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero
400         length elements in the archive.
401
402 2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
403
404         PR ld/19789
405         * elflink.c (elf_link_add_object_symbols): Create dynamic sections
406         for -E/--dynamic-list only when not relocatable.
407
408 2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
409
410         PR ld/19784
411         * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
412         count for locally defined local IFUNC symbols in shared object.
413         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
414
415 2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
416
417         PR ld/19579
418         * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking
419         together.
420
421 2016-03-08  Cupertino Miranda  <Cupertino.Miranda@synopsys.com>
422             Andrew Burgess  <andrew.burgess@embecosm.com>
423
424         * elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32.
425         (arc_bfd_put_32): Becomes an alias for bfd_put_32.
426         (arc_elf_howto_init): Added assert to validate relocations.
427         (get_middle_endian_relocation): Delete.
428         (middle_endian_convert): New function.
429         (ME): Redefine, now does nothing.
430         (IS_ME): New define.
431         (arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO'
432         definition to call middle_endian_convert.  Add a new local
433         variable and make use of this throughout. Added call to
434         arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations.
435
436 2016-03-07  Nick Clifton  <nickc@redhat.com>
437
438         PR binutils/19775
439         * archive.c (bfd_generic_openr_next_archived_file): Allow zero
440         length elements in the archive.
441
442 2016-03-07  Jiong Wang  <jiong.wang@arm.com>
443
444         * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got
445         section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced.
446
447 2016-03-04  H.J. Lu  <hongjiu.lu@intel.com>
448
449         PR ld/19579
450         * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
451         executable as definition if the new definition comes from a
452         shared library.
453
454 2016-03-02  Alan Modra  <amodra@gmail.com>
455
456         * Makefile.in: Regenerate.
457         * po/SRC-POTFILES.in: Regenerate.
458
459 2016-02-29  Cupertino Miranda  <cmiranda@synopsys.com>
460
461         * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
462         relocation addend when sections get merged.
463
464 2016-02-29  Cupertino Miranda <Cupertino.Miranda@synopsys.com>
465
466         * elf32-arc.c (arc_elf_final_write_processing): Add condition to
467         the flag change.
468         (elf_arc_relocate_section): Fixes and conditions to support PIE.
469         Assert for code sections dynamic relocs.
470
471 2016-02-26  Renlin Li  <renlin.li@arm.com>
472
473         * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow
474         check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2.
475
476 2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
477
478         PR ld/19609
479         * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
480         load with locally bound symbols if PIC is false or there is no
481         base register.  Optimize branch to 0 if PIC is false.
482         (elf_i386_relocate_section): Don't generate dynamic relocations
483         against undefined weak symbols if PIC is false.
484         * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
485         if we can't estimate relocation overflow with --no-relax.
486         Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
487         symbols if PIC is false.  Optimize branch to 0 if PIC is false.
488         (elf_x86_64_relocate_section): Don't generate dynamic relocations
489         against undefined weak symbols if PIC is false.
490
491 2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
492
493         PR ld/19645
494         * bfd.c (bfd): Change flags to 20 bits.
495         (BFD_CONVERT_ELF_COMMON): New.
496         (BFD_USE_ELF_STT_COMMON): Likewise.
497         (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
498         BFD_USE_ELF_STT_COMMON.
499         (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
500         * configure.ac: Remove --enable-elf-stt-common.
501         * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
502         common symbol depending on BFD_CONVERT_ELF_COMMON and
503         BFD_USE_ELF_STT_COMMON.
504         * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
505         STT_COMMON.
506         * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
507         STT_COMMON.
508         (elf_link_convert_common_type): New function.
509         (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
510         common symbol depending on BFD_CONVERT_ELF_COMMON and
511         BFD_USE_ELF_STT_COMMON.  Set sym.st_info after sym.st_shndx.
512         * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
513         and BFD_USE_ELF_STT_COMMON to object_flags.
514         (TARGET_LITTLE_SYM): Likewise.
515         * syms.c (BSF_KEEP_G): Renamed to ...
516         (BSF_ELF_COMMON): This.
517         * bfd-in2.h: Regenerated.
518         * config.in: Likewise.
519         * configure: Likewise.
520
521 2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
522
523         PR ld/19636
524         PR ld/19704
525         PR ld/19719
526         * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
527         (elf_i386_link_hash_entry): Add has_got_reloc and
528         has_non_got_reloc.
529         (elf_i386_link_hash_table): Add interp.
530         (elf_i386_link_hash_newfunc): Initialize has_got_reloc and
531         has_non_got_reloc.
532         (elf_i386_copy_indirect_symbol): Copy has_got_reloc and
533         has_non_got_reloc.
534         (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
535         (elf_i386_fixup_symbol): New function.
536         (elf_i386_pie_finish_undefweak_symbol): Likewise.
537         (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
538         relocations and discard relocations against resolved undefined
539         weak symbols in executable.  Don't make resolved undefined weak
540         symbols in executable dynamic.  Keep dynamic non-GOT/non-PLT
541         relocation against undefined weak symbols in PIE.
542         (elf_i386_size_dynamic_sections): Set interp to .interp section.
543         (elf_i386_relocate_section): Don't generate dynamic relocations
544         against resolved undefined weak symbols in PIE, except for
545         R_386_PC32.
546         (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
547         dynamic PLT/GOT relocations for resolved undefined weak symbols.
548         Don't generate dynamic relocation against resolved undefined weak
549         symbol in executable.
550         (elf_i386_finish_dynamic_sections): Call
551         elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
552         (elf_backend_fixup_symbol): New.
553         * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
554         (elf_x86_64_link_hash_entry): Add has_got_reloc and
555         has_non_got_reloc.
556         (elf_x86_64_link_hash_table): Add interp.
557         (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
558         has_non_got_reloc.
559         (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
560         has_non_got_reloc.
561         (elf_x86_64_check_relocs): Set has_got_reloc and
562         has_non_got_reloc.
563         (elf_x86_64_fixup_symbol): New function.
564         (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
565         (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
566         relocations and discard relocations against resolved undefined
567         weak symbols in executable.  Don't make resolved undefined weak
568         symbols in executable dynamic.
569         (elf_x86_64_size_dynamic_sections): Set interp to .interp section.
570         (elf_x86_64_relocate_section): Check relocation overflow for
571         dynamic relocations against unresolved weak undefined symbols.
572         Don't generate dynamic relocations against resolved weak
573         undefined symbols in PIE.
574         (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
575         dynamic PLT/GOT relocations for resolved undefined weak symbols.
576         Don't generate dynamic relocation against resolved undefined weak
577         symbol in executable.
578         (elf_x86_64_finish_dynamic_sections): Call
579         elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
580         (elf_backend_fixup_symbol): New.
581
582 2016-02-26  Alan Modra  <amodra@gmail.com>
583
584         * elf64-ppc.c (create_linkage_sections): Create sfpr when
585         save_restore_funcs, rest of sections when not relocatable.
586         (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
587         (sfpr_define): Define all symbols on emitted code.
588         (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
589         when relocatable.  Move sfpr_define loop earlier.
590
591 2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
592
593         * elf64-x86-64.c (elf_x86_64_need_pic): New function.
594         (elf_x86_64_relocate_section): Use it.  Replace
595         x86_64_elf_howto_table[r_type] with howto.
596
597 2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
598
599         PR ld/19698
600         * elflink.c (bfd_elf_record_link_assignment): Set versioned if
601         symbol version is unknown.
602
603 2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
604
605         * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
606         to (bfd_vma) -1 when setting needs_plt to 0.
607         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
608
609 2016-02-23  H.J. Lu  <hongjiu.lu@intel.com>
610
611         * elflink.c (bfd_elf_record_link_assignment): Check for shared
612         library, instead of PIC, and don't check PDE when making linker
613         assigned symbol dynamic.
614
615 2016-02-23  Faraz Shahbazker  <faraz.shahbazker@imgtec.com>
616
617         * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
618         ABIVERSION for non-executable stack.
619
620 2016-02-23  Rich Felker  <bugdal@aerifal.cx>
621
622         PR target/19516
623         * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
624         Always produce a RELATIVE reloc for a local symbol.
625
626 2016-02-23  Hans-Peter Nilsson  <hp@axis.com>
627
628         Fix test-case ld-elf/pr19617b
629         * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
630         discard unused non-function symbols when --dynamic-list-data.
631
632 2016-02-22  H.J. Lu  <hongjiu.lu@intel.com>
633
634         * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
635         dynsym section, even if it is empty, with dynamic sections.
636
637 2016-02-22  H.J. Lu  <hongjiu.lu@intel.com>
638
639         * syms.c: Remove BSF_COMMON from comments.
640         * bfd-in2.h: Regenerated.
641
642 2016-02-22  Jiong Wang  <jiong.wang@arm.com>
643
644         * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
645         for destination.  Remove useless function parameters.
646         (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
647
648 2016-02-19  Nick Clifton  <nickc@redhat.com>
649
650         PR ld/19629
651         * aoutx.h (aout_link_add_symbols): Check for out of range string
652         table offsets.
653
654         PR ld/19628
655         * reloc.c (bfd_generic_get_relocated_section_contents): Stop
656         processing if we encounter a reloc without an associated symbol.
657
658 2016-02-18  H.J. Lu  <hongjiu.lu@intel.com>
659
660         PR ld/19617
661         * elflink.c (elf_link_add_object_symbols): Always create dynamic
662         sections for -E/--dynamic-list.
663
664 2016-02-17  H.J. Lu  <hongjiu.lu@intel.com>
665
666         * elf64-x86-64.c (elf_backend_omit_section_dynsym): New.  Defined
667         to bfd_true.
668
669 2016-02-16  Joseph Myers  <joseph@codesourcery.com>
670
671         * plugin.c (plugin_vec): Set match priority to 255.
672         * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
673         matching against the plugin vector, take priority from there not
674         from TEMP.
675
676 2016-02-15  Nick Clifton  <nickc@redhat.com>
677
678         * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
679         for length and type fields.  Use a signed value for the
680         suffix_length field.
681
682 2016-02-10  H.J. Lu  <hongjiu.lu@intel.com>
683
684         PR ld/19601
685         * elf32-i386.c (elf_i386_relocate_section): Mask off the least
686         significant bit in GOT offset for R_386_GOT32X.
687
688 2016-02-10  Nick Clifton  <nickc@redhat.com>
689
690         PR 19405
691         * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
692         immediate values.
693         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
694         number of messages about FDE encoding preventing .eh_frame_hdr
695         generation.
696
697 2016-02-09  Nick Clifton  <nickc@redhat.com>
698
699         * oasys.c (oasys_archive_p): Fix indentation.
700         * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
701         constant for left shifting.
702
703         * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
704         helpful warning message to explain why certain AArch64 relocs
705         might overflow.
706
707 2016-02-05  Simon Marchi  <simon.marchi@ericsson.com>
708
709         * pe-mips.c (coff_mips_reloc): Fix formatting.
710
711 2016-02-05  Cupertino Miranda  <Cupertino.Miranda@synopsys.com>
712
713         * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
714         to bfd_mach_arc_arc600.
715
716 2016-02-04  Alan Modra  <amodra@gmail.com>
717
718         * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
719         for big-endian.
720
721 2016-02-02  H.J. Lu  <hongjiu.lu@intel.com>
722
723         PR ld/19542
724         * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
725         distances in the compressed_size field of the output section.
726
727 2016-02-02  Alan Modra  <amodra@gmail.com>
728
729         * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
730         ELFv2 entry optimization.
731
732 2016-02-02  H.J. Lu  <hongjiu.lu@intel.com>
733
734         PR binutils/19547
735         * elf.c (assign_section_numbers): Clear HAS_RELOC if there are
736         no relocations in relocatable files.
737
738 2016-02-01  H.J. Lu  <hongjiu.lu@intel.com>
739
740         PR ld/19553
741         * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
742         if a symbol from a library loaded via DT_NEEDED doesn't match
743         the symbol referenced by regular object.
744
745 2016-02-01  Nathaniel Smith  <njs@pobox.com>
746
747         * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
748         CODE and DATA.
749
750 2016-02-01  Alan Modra  <amodra@gmail.com>
751
752         * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
753         an out of range reloc_index.
754         * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
755
756 2016-02-01  Kamil Rytarowski  <n54@gmx.com>
757
758         * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
759         (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
760         * Makefile.in: Regenerated.
761
762 2016-02-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
763
764         * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
765
766 2016-01-31  John David Anglin  <danglin@gcc.gnu.org>
767
768         PR ld/19526
769         * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
770         files.
771         * elf64-hppa.c (elf32_hppa_final_link): Likewise.  Remove retval.
772
773 2016-01-30  H.J. Lu  <hongjiu.lu@intel.com>
774
775         PR ld/19539
776         * elf32-i386.c (elf_i386_reloc_type_class): Check relocation
777         against STT_GNU_IFUNC symbol only with dynamic symbols.
778         * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
779
780 2016-01-28  H.J. Lu  <hongjiu.lu@intel.com>
781
782         PR binutils/19523
783         * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
784         decompress debug sections.
785
786 2016-01-25  Maciej W. Rozycki  <macro@imgtec.com>
787
788         * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
789         `dynindx'.
790
791 2016-01-25  Nick Clifton  <nickc@redhat.com>
792
793         PR target/19435
794         * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
795         dsym filename buffer.
796
797 2016-01-24  Maciej W. Rozycki  <macro@imgtec.com>
798
799         * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
800
801 2016-01-24  Maciej W. Rozycki  <macro@imgtec.com>
802
803         * elfxx-mips.c (BZ16_REG): Correct calculation.
804
805 2016-01-21  Nick Clifton  <nickc@redhat.com>
806
807         * elf32-arc.c (ADD_RELA): Fix compile time warning errors by
808         changing the type of _loc to be bfd_byte *.
809         (elf_arc_finish_dynamic_symbol): Likewise.
810
811 2016-01-21  Nick Clifton  <nickc@redhat.com>
812
813         PR ld/19455
814         * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
815         class of the linker stub bfd.
816         (elf32_arm_check_relocs): Skip check for pic format after
817         processing a vxWorks R_ARM_ABS12 reloc.
818         * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
819         reporting a class mismatch.
820
821 2016-01-21  Jiong Wang  <jiong.wang@arm.com>
822
823         * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
824         veneer for sym_sec != input_sec.
825         (elfNN_aarch64_size_stub): Support STT_SECTION symbol.
826         (elfNN_aarch64_final_link_relocate): Take rela addend into account when
827         calculation destination.
828
829 2016-01-21  Alan Modra  <amodra@gmail.com>
830
831         * elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
832         (swap_linux_prpsinfo64_out): New function.
833         (LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
834         (LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
835         * elf.c (elfcore_write_linux_prpsinfo32): Adjust.  Don't memset.
836         (elfcore_write_linux_prpsinfo64): Likewise.
837         * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
838         (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
839         (elfcore_write_ppc_linux_prpsinfo32): Adjust.  Don't memset.
840
841 2016-01-21  Alan Modra  <amodra@gmail.com>
842
843         * elf-linux-core.h: Rename from elf-linux-psinfo.h.
844         * elf.c: Adjust #include.
845         * elf32-ppc.c: Don't #include elf-linux-psinfo.h
846         * Makefile.am (SOURCE_HFILES): Update.
847         * Makefile.in: Regenerate.
848         * po/SRC-PORFILES.in: Regenerate.
849
850 2016-01-21  Alan Modra  <amodra@gmail.com>
851
852         * configure.ac: Move corefile selection later in file.  Move
853         tdefaults code immediately after other target vector code.
854         * configure: Regenerate.
855
856 2016-01-20  Mickael Guene  <mickael.guene@st.com>
857
858         * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
859         section using '.text.noread' pattern.
860
861 2016-01-19  John Baldwin  <jhb@FreeBSD.org>
862
863         * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
864
865 2016-01-18  Miranda Cupertino  <Cupertino.Miranda@synopsys.com>
866             Zissulescu Claudiu  <Claudiu.Zissulescu@synopsys.com>
867
868         * arc-plt.def: New file.
869         * arc-plt.h: Likewise.
870         * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
871                        elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
872                        elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
873                        elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
874         (name_for_global_symbol): Added.
875         (ADD_RELA): Helper to create dynamic relocs.
876         (new_got_entry_to_list): Create a new got entry in linked list.
877         (symbol_has_entry_of_type): Search for specific type of entry in
878         list.
879         (is_reloc_for_GOT): return FALSE for any TLS related relocs.
880         (is_reloc_for_TLS, arc_elf_set_private_flags)
881         (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
882         (arc_elf_merge_private_bfd_data): New functions.
883         (debug_arc_reloc): Cleaned debug info printing.
884         (PDATA reloc): Changed not to perform address alignment.
885         (reverse_me): Added. Fix for ARC_32 relocs.
886         (arc_do_relocation): Return bfd_reloc_of when no relocation should
887         occur.
888         (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
889         Changed function to access an array of list of GOT entries instead
890         of just an array of offsets.
891         (elf_arc_relocate_section): Added support for PIC and TLS related relocations.
892         (elf_arc_check_relocs): Likewise.
893         (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
894         (elf_arc_finish_dynamic_sections): Likewise
895         (arc_create_dynamic_sections): Modified conditions to create
896         dynamic sections.
897         (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
898         (plt_do_relocs_for_symbol, relocate_plt_for_symbol)
899         (relocate_plt_for_entry): Changed to support new way to define PLT
900         related code.
901         (add_symbol_to_plt): Likewise.
902         (arc_elf_link_hash_table_create): New function.
903
904 2016-01-18  Nick Clifton  <nickc@redhat.com>
905
906         PR ld/19440
907         * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
908         section number into internal section number.
909         * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
910         * coffswap.h (coff_swap_sym_in): Likewise.
911         * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
912         * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
913         section number field is big enough to hold the external value.
914
915 2016-01-17  Alan Modra  <amodra@gmail.com>
916
917         * configure: Regenerate.
918
919 2016-01-12  Yury Usishchev  <y.usishchev@samsung.com>
920
921         * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
922         when address in first unwind entry does not match start of
923         section.
924
925 2016-01-08  Richard Sandiford  <richard.sandiford@arm.com>
926             Jiong Wang  <jiong.wang@arm.com>
927
928         PR ld/19368
929         * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
930         reloc_class_ifunc.
931
932 2016-01-06  Andrew Burgess  <andrew.burgess@embecosm.com>
933
934         * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
935         place 'R_' before the reloc name returned.
936         (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
937         the relocation string.
938
939 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
940
941         * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
942         factored out from...
943         (_bfd_mips_elf_merge_private_bfd_data): ... here.
944
945 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
946
947         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
948         attribute check after ELF file header flag check.
949
950 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
951
952         * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
953         return status from `_bfd_elf_merge_object_attributes'.
954
955 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
956
957         * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
958         factored out from...
959         (_bfd_mips_elf_merge_private_bfd_data): ... here.
960
961 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
962
963         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
964         handling of input MIPS ABI flags together.
965
966 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
967
968         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
969         attribute checks for null input.
970
971 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
972
973         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
974         pointers to target data.
975
976 2016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
977
978         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
979         an FP ABI warning.
980
981 2016-01-01  Alan Modra  <amodra@gmail.com>
982
983         Update year range in copyright notice of all files.
984
985 For older changes see ChangeLog-2015 and doc/ChangeLog-0415
986 \f
987 Copyright (C) 2016 Free Software Foundation, Inc.
988
989 Copying and distribution of this file, with or without modification,
990 are permitted in any medium without royalty provided the copyright
991 notice and this notice are preserved.
992
993 Local Variables:
994 mode: change-log
995 left-margin: 8
996 fill-column: 74
997 version-control: never
998 End: