Add support for locating separate debug info files via the build-id method.
[external/binutils.git] / bfd / ChangeLog
1 2017-01-12  Nick Clifton  <nickc@redhat.com>
2
3         PR binutils/20876
4         * opncls.c (find_separate_debug_file): Add include_dirs
5         parameter.  Only include the directory part of the bfd's filename
6         in search paths if include_dirs is true.  Add a couple of extra
7         locations for looking for debug files.
8         ( bfd_follow_gnu_debuglink): Update invocation of
9         find_separate_debug_file.
10         (bfd_follow_gnu_debugaltlink): Likewise.
11         (get_build_id): New function: Finds the build-id of the given bfd.
12         (get_build_id_name): New function: Computes the name of the
13         separate debug info file for a bfd, based upon its build-id.
14         (check_build_id_file): New function: Checks to see if a separate
15         debug info file exists at the given location, and that its
16         build-id matches that of the original bfd.
17         (bfd_follow_build_id_debuglink): New function: Finds a separate
18         debug info file for a given bfd by using the build-id method.
19         * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Try using the build-id
20         method of locating a separate debug info file before using the
21         debuglink method.
22         * bfd-in2.h: Regenerate.
23
24 2017-01-11  H.J. Lu  <hongjiu.lu@intel.com>
25
26         PR ld/21038
27         * elf64-x86-64.c (elf_x86_64_eh_frame_bnd_plt): New.
28         (elf_x86_64_bnd_arch_bed): Use elf_x86_64_eh_frame_bnd_plt and
29         elf_x86_64_eh_frame_plt_got.
30         (elf_x86_64_size_dynamic_sections): Get unwind info from
31         elf_x86_64_bnd_arch_bed for the BND PLT.
32
33 2017-01-11  Jeremy Soller  <jackpot51@gmail.com>
34
35         * config.bfd: Add entries for i686-redox and x86_64-redox.
36
37 2017-01-10  H.J. Lu  <hongjiu.lu@intel.com>
38
39         * elf32-i386.c (elf_i386_check_relocs): Align .eh_frame section
40         to 4 bytes.
41         * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
42         .eh_frame section to 4 bytes for x32.
43         (elf_x86_64_check_relocs): Likewise.
44
45 2017-01-10  H.J. Lu  <hongjiu.lu@intel.com>
46
47         PR ld/20830
48         * elf32-i386.c (elf_i386_eh_frame_plt_got): New.
49         (PLT_GOT_FDE_LENGTH): Likewise.
50         (elf_i386_plt_layout): Add eh_frame_plt_got and
51         eh_frame_plt_got_size.
52         (elf_i386_plt): Updated.
53         (elf_i386_link_hash_table): Add plt_got_eh_frame.
54         (elf_i386_check_relocs): Create .eh_frame section for .plt.got.
55         (elf_i386_size_dynamic_sections): Allocate and initialize
56         .eh_frame section for .plt.got.
57         (elf_i386_finish_dynamic_sections): Adjust .eh_frame section for
58         .plt.got.
59         (elf_i386_nacl_plt): Add FIXME for eh_frame_plt_got and
60         eh_frame_plt_got_size.
61         * elf64-x86-64.c (elf_x86_64_eh_frame_plt_got): New.
62         (PLT_GOT_FDE_LENGTH): Likewise.
63         (elf_x86_64_backend_data): Add eh_frame_plt_got and
64         eh_frame_plt_got_size.
65         (elf_x86_64_arch_bed): Updated.
66         (elf_x86_64_bnd_arch_bed): Add FIXME for eh_frame_plt_got and
67         eh_frame_plt_got_size.
68         (elf_x86_64_nacl_arch_bed): Likewise.
69         (elf_x86_64_link_hash_table): Add plt_got_eh_frame.
70         (elf_x86_64_check_relocs): Create .eh_frame section for .plt.got.
71         (elf_x86_64_size_dynamic_sections): Allocate and initialize
72         .eh_frame section for .plt.got.
73         (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section
74         for .plt.got.
75
76 2017-01-10  H.J. Lu  <hongjiu.lu@intel.com>
77
78         * elf32-i386.c (elf_i386_size_dynamic_sections): Set
79         plt_eh_frame->size to eh_frame_plt_size and use eh_frame_plt.
80
81 2017-01-09  Nick Clifton  <nickc@redhat.com>
82
83         * dwarf2.c (lookup_address_in_function_table): Return early if
84         there are no functions in the given comp unit, or if the high
85         address of the last function in the comp unit is less than the
86         desired address.
87
88 2017-01-09  Nick Clifton  <nickc@redhat.com>
89
90         PR binutils/21013
91         * coffgen.c (_bfd_coff_get_external_symbols): Generate an error
92         message if there are too many symbols to load.
93
94 2017-01-04  James Clarke  <jrtc27@jrtc27.com>
95
96         * elf64-alpha.c (elf64_alpha_relax_opt_call): Don't set tsec_free
97         if relocs are cached.
98
99 2017-01-03  Rich Felker  <bugdal@aerifal.cx>
100
101         PR ld/21017
102         * elf32-microblaze.c (microblaze_elf_check_relocs): Add an entry
103         for R_MICROBLAZE_GOTOFF_64.
104
105 2017-01-03  Nick Clifton  <nickc@redhat.com>
106
107         * mach-o.c (bfd_mach_o_lookup_uuid_command): Fix compile time
108         warning about using a possibly uninitialised variable.
109
110 2017-01-02  Alan Modra  <amodra@gmail.com>
111
112         * elf32-hppa.c (ensure_undef_weak_dynamic): New function.
113         (allocate_plt_static, allocate_dynrelocs): Use it.
114
115 2017-01-02  Alan Modra  <amodra@gmail.com>
116
117         * elf-hppa.h (elf_hppa_fake_sections): Set SHF_INFO_LINK for
118         .PARISC.unwind section.
119
120 2017-01-02  Alan Modra  <amodra@gmail.com>
121
122         PR ld/20989
123         * elfxx-sparc.c (gdop_relative_offset_ok): New function.
124         (_bfd_sparc_elf_relocate_section): Use it to validate GOT
125         indirect to GOT pointer relative code edit.
126
127 2017-01-02  Alan Modra  <amodra@gmail.com>
128
129         Update year range in copyright notice of all files.
130
131 For older changes see ChangeLog-2016
132 \f
133 Copyright (C) 2017 Free Software Foundation, Inc.
134
135 Copying and distribution of this file, with or without modification,
136 are permitted in any medium without royalty provided the copyright
137 notice and this notice are preserved.
138
139 Local Variables:
140 mode: change-log
141 left-margin: 8
142 fill-column: 74
143 version-control: never
144 End: