Fix PR ld/20995 for cris-linux
[external/binutils.git] / bfd / ChangeLog
1 2017-01-27  Hans-Peter Nilsson  <hp@axis.com>
2
3         PR ld/20995
4         * elf32-cris.c (elf_cris_size_dynamic_sections): Handle sdynrelro.
5         (elf_cris_adjust_dynamic_symbol): Place variables copied into the
6         executable from read-only sections into sdynrelro.
7         (elf_cris_finish_dynamic_symbol): Select sreldynrelro for
8         dynamic relocs in sdynrelro.
9         (elf_backend_want_dynrelro): Define.
10
11 2017-01-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
12
13         * config.bfd (*-*-rtemsaout*): Mark as removed.
14
15 2017-01-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
16
17         * config.bfd (powerpcle-*-rtems*): Do not mark as removed.
18         (arm-*-rtems*): Move to (arm*-*-eabi*).
19         (i[3-7]86-*-rtems*): Move to (i[3-7]86-*-elf*).
20         (m68-*-rtems*): Move to (m68*-*-elf*).
21
22 2017-01-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
23
24         * config.bfd (*-*-rtemscoff*): Mark as removed.
25
26 2017-01-24  Maciej W. Rozycki  <macro@imgtec.com>
27
28         PR ld/20828
29         * elflink.c (bfd_elf_record_link_assignment): Revert last
30         change and don't ever clear `forced_local'.  Set `mark'
31         unconditionally.
32         (elf_gc_sweep_symbol_info, elf_gc_sweep_symbol): Reorder within
33         file.
34         (elf_gc_sweep): Move the call to `elf_gc_sweep_symbol'...
35         (bfd_elf_size_dynamic_sections): ... here.
36         * elf32-ppc.c (ppc_elf_tls_setup): Don't clear `forced_local'
37         and set `mark' instead in `__tls_get_addr_opt' processing.
38         * elf64-ppc.c (ppc64_elf_tls_setup): Likewise.
39
40 2017-01-24  Alan Modra  <amodra@gmail.com>
41
42         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Merge two cases
43         where dynamic relocs are preferable.  Allow ifunc too.
44         (ensure_undefweak_dynamic): New function.
45         (allocate_dynrelocs): Use it here.  Move plt handling last and
46         don't make symbols dynamic, simplifying loop.  Only make undef
47         weak symbols with GOT entries dynamic.  Correct condition
48         for GOT relocs.  Handle dynamic relocs on ifuncs.  Correct
49         comments.  Remove goto.
50         (ppc_elf_relocate_section): Correct test for using dynamic
51         symbol on GOT relocs.  Rearrange test for emitting GOT relocs
52         to suit.  Set up explicit tls_index entries and implicit GOT
53         tls_index entries resolvable at link time for
54         __tls_get_addr_opt.  Simplify test to clear mem for prelink.
55         * elf64-ppc.c (allocate_got): Correct condition for GOT relocs.
56         (ensure_undefweak_dynamic): New function.
57         (allocate_dynrelocs): Use it here.  Only make undef weak symbols
58         with GOT entries dynamic.  Remove unnecessary test of
59         WILL_CALL_FINISH_DYNAMIC_SYMBOL in PLT handling.
60         (ppc64_elf_relocate_section): Correct test for using dynamic
61         symbol on GOT relocs.  Rearrange test for emitting GOT relocs
62         to suit.  Set up explicit tls_index entries and implicit GOT
63         tls_index entries resolvable at link time for __tls_get_addr_opt.
64         Simplify expression to clear mem for prelink.
65
66 2017-01-23  Yury Norov  <ynorov@caviumnetworks.com>
67
68         * elfnn-aarch64.c: Fix relaxations for ILP32 mode.
69
70 2017-01-20  Jiong Wang <jiong.wang@arm.com>
71
72         * elfnn-aarch64.c (elf_aarch64_hash_symbol): New function.
73         (elf_backend_hash_symbol): Define.
74
75 2017-01-18  Maciej W. Rozycki  <macro@imgtec.com>
76
77         PR ld/20828
78         * elflink.c (bfd_elf_record_link_assignment): Clear any
79         `forced_local' marking for DSO symbols that are not being
80         provided.
81
82 2017-01-17  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
83
84         * elfnn-riscv.c (riscv_elf_object_p): New function.
85
86 2017-01-12  H.J. Lu  <hongjiu.lu@intel.com>
87
88         PR ld/21038
89         * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
90         plt_bnd_eh_frame.
91         (elf_x86_64_check_relocs): Create .eh_frame section for the
92         .plt.bnd section.
93         (elf_x86_64_size_dynamic_sections): Allocate and initialize
94         .eh_frame section for the .plt.bnd section.
95         (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section
96         for the .plt.bnd section.
97
98 2017-01-12  Nick Clifton  <nickc@redhat.com>
99
100         PR binutils/20876
101         * opncls.c (find_separate_debug_file): Add include_dirs
102         parameter.  Only include the directory part of the bfd's filename
103         in search paths if include_dirs is true.  Add a couple of extra
104         locations for looking for debug files.
105         ( bfd_follow_gnu_debuglink): Update invocation of
106         find_separate_debug_file.
107         (bfd_follow_gnu_debugaltlink): Likewise.
108         (get_build_id): New function: Finds the build-id of the given bfd.
109         (get_build_id_name): New function: Computes the name of the
110         separate debug info file for a bfd, based upon its build-id.
111         (check_build_id_file): New function: Checks to see if a separate
112         debug info file exists at the given location, and that its
113         build-id matches that of the original bfd.
114         (bfd_follow_build_id_debuglink): New function: Finds a separate
115         debug info file for a given bfd by using the build-id method.
116         * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Try using the build-id
117         method of locating a separate debug info file before using the
118         debuglink method.
119         * bfd-in2.h: Regenerate.
120
121 2017-01-11  H.J. Lu  <hongjiu.lu@intel.com>
122
123         PR ld/21038
124         * elf64-x86-64.c (elf_x86_64_eh_frame_bnd_plt): New.
125         (elf_x86_64_bnd_arch_bed): Use elf_x86_64_eh_frame_bnd_plt and
126         elf_x86_64_eh_frame_plt_got.
127         (elf_x86_64_size_dynamic_sections): Get unwind info from
128         elf_x86_64_bnd_arch_bed for the BND PLT.
129
130 2017-01-11  Jeremy Soller  <jackpot51@gmail.com>
131
132         * config.bfd: Add entries for i686-redox and x86_64-redox.
133
134 2017-01-10  H.J. Lu  <hongjiu.lu@intel.com>
135
136         * elf32-i386.c (elf_i386_check_relocs): Align .eh_frame section
137         to 4 bytes.
138         * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
139         .eh_frame section to 4 bytes for x32.
140         (elf_x86_64_check_relocs): Likewise.
141
142 2017-01-10  H.J. Lu  <hongjiu.lu@intel.com>
143
144         PR ld/20830
145         * elf32-i386.c (elf_i386_eh_frame_plt_got): New.
146         (PLT_GOT_FDE_LENGTH): Likewise.
147         (elf_i386_plt_layout): Add eh_frame_plt_got and
148         eh_frame_plt_got_size.
149         (elf_i386_plt): Updated.
150         (elf_i386_link_hash_table): Add plt_got_eh_frame.
151         (elf_i386_check_relocs): Create .eh_frame section for .plt.got.
152         (elf_i386_size_dynamic_sections): Allocate and initialize
153         .eh_frame section for .plt.got.
154         (elf_i386_finish_dynamic_sections): Adjust .eh_frame section for
155         .plt.got.
156         (elf_i386_nacl_plt): Add FIXME for eh_frame_plt_got and
157         eh_frame_plt_got_size.
158         * elf64-x86-64.c (elf_x86_64_eh_frame_plt_got): New.
159         (PLT_GOT_FDE_LENGTH): Likewise.
160         (elf_x86_64_backend_data): Add eh_frame_plt_got and
161         eh_frame_plt_got_size.
162         (elf_x86_64_arch_bed): Updated.
163         (elf_x86_64_bnd_arch_bed): Add FIXME for eh_frame_plt_got and
164         eh_frame_plt_got_size.
165         (elf_x86_64_nacl_arch_bed): Likewise.
166         (elf_x86_64_link_hash_table): Add plt_got_eh_frame.
167         (elf_x86_64_check_relocs): Create .eh_frame section for .plt.got.
168         (elf_x86_64_size_dynamic_sections): Allocate and initialize
169         .eh_frame section for .plt.got.
170         (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section
171         for .plt.got.
172
173 2017-01-10  H.J. Lu  <hongjiu.lu@intel.com>
174
175         * elf32-i386.c (elf_i386_size_dynamic_sections): Set
176         plt_eh_frame->size to eh_frame_plt_size and use eh_frame_plt.
177
178 2017-01-09  Nick Clifton  <nickc@redhat.com>
179
180         * dwarf2.c (lookup_address_in_function_table): Return early if
181         there are no functions in the given comp unit, or if the high
182         address of the last function in the comp unit is less than the
183         desired address.
184
185 2017-01-09  Nick Clifton  <nickc@redhat.com>
186
187         PR binutils/21013
188         * coffgen.c (_bfd_coff_get_external_symbols): Generate an error
189         message if there are too many symbols to load.
190
191 2017-01-04  James Clarke  <jrtc27@jrtc27.com>
192
193         * elf64-alpha.c (elf64_alpha_relax_opt_call): Don't set tsec_free
194         if relocs are cached.
195
196 2017-01-03  Rich Felker  <bugdal@aerifal.cx>
197
198         PR ld/21017
199         * elf32-microblaze.c (microblaze_elf_check_relocs): Add an entry
200         for R_MICROBLAZE_GOTOFF_64.
201
202 2017-01-03  Nick Clifton  <nickc@redhat.com>
203
204         * mach-o.c (bfd_mach_o_lookup_uuid_command): Fix compile time
205         warning about using a possibly uninitialised variable.
206
207 2017-01-02  Alan Modra  <amodra@gmail.com>
208
209         * elf32-hppa.c (ensure_undef_weak_dynamic): New function.
210         (allocate_plt_static, allocate_dynrelocs): Use it.
211
212 2017-01-02  Alan Modra  <amodra@gmail.com>
213
214         * elf-hppa.h (elf_hppa_fake_sections): Set SHF_INFO_LINK for
215         .PARISC.unwind section.
216
217 2017-01-02  Alan Modra  <amodra@gmail.com>
218
219         PR ld/20989
220         * elfxx-sparc.c (gdop_relative_offset_ok): New function.
221         (_bfd_sparc_elf_relocate_section): Use it to validate GOT
222         indirect to GOT pointer relative code edit.
223
224 2017-01-02  Alan Modra  <amodra@gmail.com>
225
226         Update year range in copyright notice of all files.
227
228 For older changes see ChangeLog-2016
229 \f
230 Copyright (C) 2017 Free Software Foundation, Inc.
231
232 Copying and distribution of this file, with or without modification,
233 are permitted in any medium without royalty provided the copyright
234 notice and this notice are preserved.
235
236 Local Variables:
237 mode: change-log
238 left-margin: 8
239 fill-column: 74
240 version-control: never
241 End: