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