Don't use "_gp" on RISC-V, use "_global_pointer$" instead
[external/binutils.git] / bfd / ChangeLog
1 2017-02-13  Palmer Dabbelt  <palmer@dabbelt.com>
2
3         * elfnn-riscv.c (riscv_global_pointer_value): Change _gp to
4         __global_pointer$.
5
6 2017-02-13  Nick Clifton  <nickc@redhat.com>
7
8         PR binutils/21151
9         * dwarf2.c (_bfd_dwarf2_find_nearest_line): Check for an invalid
10         unit length field.
11
12 2017-02-07  Andrew Waterman  <andrew@sifive.com>
13
14         * elfnn-riscv.c (riscv_elf_finish_dynamic_sections): Only write PLT
15         entry size if PLT header is written.
16
17 2017-02-06  Sheldon Lobo  <sheldon.lobo@oracle.com>
18
19         Fix sparc64 dynamic relocation processing to use the dynamic
20         symbol count.
21         * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Use 'dynamic'
22         to determine if bfd_get_symcount() or bfd_get_dynamic_symcount()
23         should be used.
24
25 2017-02-03  Nick Clifton  <nickc@redhat.com>
26
27         PR 21096
28         * coffcode.h (coff_write_object_contents): Enlarge size of
29         s_name_buf in order to avoid compile time warning about possible
30         integer truncation.
31         * elf32-nds32.c (nds32_elf_ex9_import_table): Mask off lower
32         32-bits of insn value before printing into buffer.
33
34 2017-02-02  Maciej W. Rozycki  <macro@imgtec.com>
35
36         * elfxx-mips.c (mips_elf_hash_sort_data): Add
37         `max_local_dynindx'.
38         (mips_elf_sort_hash_table): Handle it.
39         (mips_elf_sort_hash_table_f) <GGA_NONE>: For forced local
40         symbols bump up `max_local_dynindx' rather than
41         `max_non_got_dynindx'.
42
43 2017-02-02  Maciej W. Rozycki  <macro@imgtec.com>
44
45         * elfxx-mips.c (mips_elf_hash_sort_data): Convert the
46         `min_got_dynindx', `max_unref_got_dynindx' and
47         `max_non_got_dynindx' members to the `bfd_size_type' data type.
48         (mips_elf_sort_hash_table): Adjust accordingly.
49
50 2017-02-02  Maciej W. Rozycki  <macro@imgtec.com>
51
52         * elfxx-mips.c (mips_elf_sort_hash_table): Use `htab' throughout
53         to access the hash table.
54
55 2017-02-02  Maciej W. Rozycki  <macro@imgtec.com>
56
57         * elfxx-mips.c (mips_elf_sort_hash_table): Move assertion on
58         non-NULL `htab' to the beginning.
59
60 2017-02-02  Maciej W. Rozycki  <macro@imgtec.com>
61
62         * elflink.c (elf_gc_sweep): Wrap overlong line.
63
64 2017-01-30  Maciej W. Rozycki  <macro@imgtec.com>
65
66         * elfxx-mips.h (_bfd_mips_elf_insn32): Rename prototype to...
67         (_bfd_mips_elf_linker_flags): ... this.  Add another parameter.
68         * elfxx-mips.c (mips_elf_link_hash_table): Add
69         `ignore_branch_isa' member.
70         (mips_elf_perform_relocation): Do not treat an ISA mode mismatch
71         in branch relocation calculation as an error if
72         `ignore_branch_isa' has been set.
73         (_bfd_mips_elf_insn32): Rename to...
74         (_bfd_mips_elf_linker_flags): ... this.  Rename the `on'
75         parameter to `insn32' and add an `ignore_branch_isa' parameter.
76         Handle the new parameter.
77
78 2017-01-27  Hans-Peter Nilsson  <hp@axis.com>
79
80         * elf32-cris.c (elf_cris_finish_dynamic_symbol): Remove now unused
81         local variable dynobj.
82
83         PR ld/20995
84         * elf32-cris.c (elf_cris_size_dynamic_sections): Handle sdynrelro.
85         (elf_cris_adjust_dynamic_symbol): Place variables copied into the
86         executable from read-only sections into sdynrelro.
87         (elf_cris_finish_dynamic_symbol): Select sreldynrelro for
88         dynamic relocs in sdynrelro.
89         (elf_backend_want_dynrelro): Define.
90
91 2017-01-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
92
93         * config.bfd (*-*-rtemsaout*): Mark as removed.
94
95 2017-01-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
96
97         * config.bfd (powerpcle-*-rtems*): Do not mark as removed.
98         (arm-*-rtems*): Move to (arm*-*-eabi*).
99         (i[3-7]86-*-rtems*): Move to (i[3-7]86-*-elf*).
100         (m68-*-rtems*): Move to (m68*-*-elf*).
101
102 2017-01-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
103
104         * config.bfd (*-*-rtemscoff*): Mark as removed.
105
106 2017-01-24  Maciej W. Rozycki  <macro@imgtec.com>
107
108         PR ld/20828
109         * elflink.c (bfd_elf_record_link_assignment): Revert last
110         change and don't ever clear `forced_local'.  Set `mark'
111         unconditionally.
112         (elf_gc_sweep_symbol_info, elf_gc_sweep_symbol): Reorder within
113         file.
114         (elf_gc_sweep): Move the call to `elf_gc_sweep_symbol'...
115         (bfd_elf_size_dynamic_sections): ... here.
116         * elf32-ppc.c (ppc_elf_tls_setup): Don't clear `forced_local'
117         and set `mark' instead in `__tls_get_addr_opt' processing.
118         * elf64-ppc.c (ppc64_elf_tls_setup): Likewise.
119
120 2017-01-24  Alan Modra  <amodra@gmail.com>
121
122         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Merge two cases
123         where dynamic relocs are preferable.  Allow ifunc too.
124         (ensure_undefweak_dynamic): New function.
125         (allocate_dynrelocs): Use it here.  Move plt handling last and
126         don't make symbols dynamic, simplifying loop.  Only make undef
127         weak symbols with GOT entries dynamic.  Correct condition
128         for GOT relocs.  Handle dynamic relocs on ifuncs.  Correct
129         comments.  Remove goto.
130         (ppc_elf_relocate_section): Correct test for using dynamic
131         symbol on GOT relocs.  Rearrange test for emitting GOT relocs
132         to suit.  Set up explicit tls_index entries and implicit GOT
133         tls_index entries resolvable at link time for
134         __tls_get_addr_opt.  Simplify test to clear mem for prelink.
135         * elf64-ppc.c (allocate_got): Correct condition for GOT relocs.
136         (ensure_undefweak_dynamic): New function.
137         (allocate_dynrelocs): Use it here.  Only make undef weak symbols
138         with GOT entries dynamic.  Remove unnecessary test of
139         WILL_CALL_FINISH_DYNAMIC_SYMBOL in PLT handling.
140         (ppc64_elf_relocate_section): Correct test for using dynamic
141         symbol on GOT relocs.  Rearrange test for emitting GOT relocs
142         to suit.  Set up explicit tls_index entries and implicit GOT
143         tls_index entries resolvable at link time for __tls_get_addr_opt.
144         Simplify expression to clear mem for prelink.
145
146 2017-01-23  Yury Norov  <ynorov@caviumnetworks.com>
147
148         * elfnn-aarch64.c: Fix relaxations for ILP32 mode.
149
150 2017-01-20  Jiong Wang <jiong.wang@arm.com>
151
152         * elfnn-aarch64.c (elf_aarch64_hash_symbol): New function.
153         (elf_backend_hash_symbol): Define.
154
155 2017-01-18  Maciej W. Rozycki  <macro@imgtec.com>
156
157         PR ld/20828
158         * elflink.c (bfd_elf_record_link_assignment): Clear any
159         `forced_local' marking for DSO symbols that are not being
160         provided.
161
162 2017-01-17  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
163
164         * elfnn-riscv.c (riscv_elf_object_p): New function.
165
166 2017-01-12  H.J. Lu  <hongjiu.lu@intel.com>
167
168         PR ld/21038
169         * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
170         plt_bnd_eh_frame.
171         (elf_x86_64_check_relocs): Create .eh_frame section for the
172         .plt.bnd section.
173         (elf_x86_64_size_dynamic_sections): Allocate and initialize
174         .eh_frame section for the .plt.bnd section.
175         (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section
176         for the .plt.bnd section.
177
178 2017-01-12  Nick Clifton  <nickc@redhat.com>
179
180         PR binutils/20876
181         * opncls.c (find_separate_debug_file): Add include_dirs
182         parameter.  Only include the directory part of the bfd's filename
183         in search paths if include_dirs is true.  Add a couple of extra
184         locations for looking for debug files.
185         ( bfd_follow_gnu_debuglink): Update invocation of
186         find_separate_debug_file.
187         (bfd_follow_gnu_debugaltlink): Likewise.
188         (get_build_id): New function: Finds the build-id of the given bfd.
189         (get_build_id_name): New function: Computes the name of the
190         separate debug info file for a bfd, based upon its build-id.
191         (check_build_id_file): New function: Checks to see if a separate
192         debug info file exists at the given location, and that its
193         build-id matches that of the original bfd.
194         (bfd_follow_build_id_debuglink): New function: Finds a separate
195         debug info file for a given bfd by using the build-id method.
196         * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Try using the build-id
197         method of locating a separate debug info file before using the
198         debuglink method.
199         * bfd-in2.h: Regenerate.
200
201 2017-01-11  H.J. Lu  <hongjiu.lu@intel.com>
202
203         PR ld/21038
204         * elf64-x86-64.c (elf_x86_64_eh_frame_bnd_plt): New.
205         (elf_x86_64_bnd_arch_bed): Use elf_x86_64_eh_frame_bnd_plt and
206         elf_x86_64_eh_frame_plt_got.
207         (elf_x86_64_size_dynamic_sections): Get unwind info from
208         elf_x86_64_bnd_arch_bed for the BND PLT.
209
210 2017-01-11  Jeremy Soller  <jackpot51@gmail.com>
211
212         * config.bfd: Add entries for i686-redox and x86_64-redox.
213
214 2017-01-10  H.J. Lu  <hongjiu.lu@intel.com>
215
216         * elf32-i386.c (elf_i386_check_relocs): Align .eh_frame section
217         to 4 bytes.
218         * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
219         .eh_frame section to 4 bytes for x32.
220         (elf_x86_64_check_relocs): Likewise.
221
222 2017-01-10  H.J. Lu  <hongjiu.lu@intel.com>
223
224         PR ld/20830
225         * elf32-i386.c (elf_i386_eh_frame_plt_got): New.
226         (PLT_GOT_FDE_LENGTH): Likewise.
227         (elf_i386_plt_layout): Add eh_frame_plt_got and
228         eh_frame_plt_got_size.
229         (elf_i386_plt): Updated.
230         (elf_i386_link_hash_table): Add plt_got_eh_frame.
231         (elf_i386_check_relocs): Create .eh_frame section for .plt.got.
232         (elf_i386_size_dynamic_sections): Allocate and initialize
233         .eh_frame section for .plt.got.
234         (elf_i386_finish_dynamic_sections): Adjust .eh_frame section for
235         .plt.got.
236         (elf_i386_nacl_plt): Add FIXME for eh_frame_plt_got and
237         eh_frame_plt_got_size.
238         * elf64-x86-64.c (elf_x86_64_eh_frame_plt_got): New.
239         (PLT_GOT_FDE_LENGTH): Likewise.
240         (elf_x86_64_backend_data): Add eh_frame_plt_got and
241         eh_frame_plt_got_size.
242         (elf_x86_64_arch_bed): Updated.
243         (elf_x86_64_bnd_arch_bed): Add FIXME for eh_frame_plt_got and
244         eh_frame_plt_got_size.
245         (elf_x86_64_nacl_arch_bed): Likewise.
246         (elf_x86_64_link_hash_table): Add plt_got_eh_frame.
247         (elf_x86_64_check_relocs): Create .eh_frame section for .plt.got.
248         (elf_x86_64_size_dynamic_sections): Allocate and initialize
249         .eh_frame section for .plt.got.
250         (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section
251         for .plt.got.
252
253 2017-01-10  H.J. Lu  <hongjiu.lu@intel.com>
254
255         * elf32-i386.c (elf_i386_size_dynamic_sections): Set
256         plt_eh_frame->size to eh_frame_plt_size and use eh_frame_plt.
257
258 2017-01-09  Nick Clifton  <nickc@redhat.com>
259
260         * dwarf2.c (lookup_address_in_function_table): Return early if
261         there are no functions in the given comp unit, or if the high
262         address of the last function in the comp unit is less than the
263         desired address.
264
265 2017-01-09  Nick Clifton  <nickc@redhat.com>
266
267         PR binutils/21013
268         * coffgen.c (_bfd_coff_get_external_symbols): Generate an error
269         message if there are too many symbols to load.
270
271 2017-01-04  James Clarke  <jrtc27@jrtc27.com>
272
273         * elf64-alpha.c (elf64_alpha_relax_opt_call): Don't set tsec_free
274         if relocs are cached.
275
276 2017-01-03  Rich Felker  <bugdal@aerifal.cx>
277
278         PR ld/21017
279         * elf32-microblaze.c (microblaze_elf_check_relocs): Add an entry
280         for R_MICROBLAZE_GOTOFF_64.
281
282 2017-01-03  Nick Clifton  <nickc@redhat.com>
283
284         * mach-o.c (bfd_mach_o_lookup_uuid_command): Fix compile time
285         warning about using a possibly uninitialised variable.
286
287 2017-01-02  Alan Modra  <amodra@gmail.com>
288
289         * elf32-hppa.c (ensure_undef_weak_dynamic): New function.
290         (allocate_plt_static, allocate_dynrelocs): Use it.
291
292 2017-01-02  Alan Modra  <amodra@gmail.com>
293
294         * elf-hppa.h (elf_hppa_fake_sections): Set SHF_INFO_LINK for
295         .PARISC.unwind section.
296
297 2017-01-02  Alan Modra  <amodra@gmail.com>
298
299         PR ld/20989
300         * elfxx-sparc.c (gdop_relative_offset_ok): New function.
301         (_bfd_sparc_elf_relocate_section): Use it to validate GOT
302         indirect to GOT pointer relative code edit.
303
304 2017-01-02  Alan Modra  <amodra@gmail.com>
305
306         Update year range in copyright notice of all files.
307
308 For older changes see ChangeLog-2016
309 \f
310 Copyright (C) 2017 Free Software Foundation, Inc.
311
312 Copying and distribution of this file, with or without modification,
313 are permitted in any medium without royalty provided the copyright
314 notice and this notice are preserved.
315
316 Local Variables:
317 mode: change-log
318 left-margin: 8
319 fill-column: 74
320 version-control: never
321 End: