1 2017-02-13 Palmer Dabbelt <palmer@dabbelt.com>
3 * elfnn-riscv.c (riscv_global_pointer_value): Change _gp to
6 2017-02-13 Nick Clifton <nickc@redhat.com>
9 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Check for an invalid
12 2017-02-07 Andrew Waterman <andrew@sifive.com>
14 * elfnn-riscv.c (riscv_elf_finish_dynamic_sections): Only write PLT
15 entry size if PLT header is written.
17 2017-02-06 Sheldon Lobo <sheldon.lobo@oracle.com>
19 Fix sparc64 dynamic relocation processing to use the dynamic
21 * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Use 'dynamic'
22 to determine if bfd_get_symcount() or bfd_get_dynamic_symcount()
25 2017-02-03 Nick Clifton <nickc@redhat.com>
28 * coffcode.h (coff_write_object_contents): Enlarge size of
29 s_name_buf in order to avoid compile time warning about possible
31 * elf32-nds32.c (nds32_elf_ex9_import_table): Mask off lower
32 32-bits of insn value before printing into buffer.
34 2017-02-02 Maciej W. Rozycki <macro@imgtec.com>
36 * elfxx-mips.c (mips_elf_hash_sort_data): Add
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'.
43 2017-02-02 Maciej W. Rozycki <macro@imgtec.com>
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.
50 2017-02-02 Maciej W. Rozycki <macro@imgtec.com>
52 * elfxx-mips.c (mips_elf_sort_hash_table): Use `htab' throughout
53 to access the hash table.
55 2017-02-02 Maciej W. Rozycki <macro@imgtec.com>
57 * elfxx-mips.c (mips_elf_sort_hash_table): Move assertion on
58 non-NULL `htab' to the beginning.
60 2017-02-02 Maciej W. Rozycki <macro@imgtec.com>
62 * elflink.c (elf_gc_sweep): Wrap overlong line.
64 2017-01-30 Maciej W. Rozycki <macro@imgtec.com>
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.
78 2017-01-27 Hans-Peter Nilsson <hp@axis.com>
80 * elf32-cris.c (elf_cris_finish_dynamic_symbol): Remove now unused
81 local variable dynobj.
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.
91 2017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
93 * config.bfd (*-*-rtemsaout*): Mark as removed.
95 2017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
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*).
102 2017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
104 * config.bfd (*-*-rtemscoff*): Mark as removed.
106 2017-01-24 Maciej W. Rozycki <macro@imgtec.com>
109 * elflink.c (bfd_elf_record_link_assignment): Revert last
110 change and don't ever clear `forced_local'. Set `mark'
112 (elf_gc_sweep_symbol_info, elf_gc_sweep_symbol): Reorder within
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.
120 2017-01-24 Alan Modra <amodra@gmail.com>
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.
146 2017-01-23 Yury Norov <ynorov@caviumnetworks.com>
148 * elfnn-aarch64.c: Fix relaxations for ILP32 mode.
150 2017-01-20 Jiong Wang <jiong.wang@arm.com>
152 * elfnn-aarch64.c (elf_aarch64_hash_symbol): New function.
153 (elf_backend_hash_symbol): Define.
155 2017-01-18 Maciej W. Rozycki <macro@imgtec.com>
158 * elflink.c (bfd_elf_record_link_assignment): Clear any
159 `forced_local' marking for DSO symbols that are not being
162 2017-01-17 Kuan-Lin Chen <kuanlinchentw@gmail.com>
164 * elfnn-riscv.c (riscv_elf_object_p): New function.
166 2017-01-12 H.J. Lu <hongjiu.lu@intel.com>
169 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
171 (elf_x86_64_check_relocs): Create .eh_frame section for the
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.
178 2017-01-12 Nick Clifton <nickc@redhat.com>
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
199 * bfd-in2.h: Regenerate.
201 2017-01-11 H.J. Lu <hongjiu.lu@intel.com>
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.
210 2017-01-11 Jeremy Soller <jackpot51@gmail.com>
212 * config.bfd: Add entries for i686-redox and x86_64-redox.
214 2017-01-10 H.J. Lu <hongjiu.lu@intel.com>
216 * elf32-i386.c (elf_i386_check_relocs): Align .eh_frame section
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.
222 2017-01-10 H.J. Lu <hongjiu.lu@intel.com>
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
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
253 2017-01-10 H.J. Lu <hongjiu.lu@intel.com>
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.
258 2017-01-09 Nick Clifton <nickc@redhat.com>
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
265 2017-01-09 Nick Clifton <nickc@redhat.com>
268 * coffgen.c (_bfd_coff_get_external_symbols): Generate an error
269 message if there are too many symbols to load.
271 2017-01-04 James Clarke <jrtc27@jrtc27.com>
273 * elf64-alpha.c (elf64_alpha_relax_opt_call): Don't set tsec_free
274 if relocs are cached.
276 2017-01-03 Rich Felker <bugdal@aerifal.cx>
279 * elf32-microblaze.c (microblaze_elf_check_relocs): Add an entry
280 for R_MICROBLAZE_GOTOFF_64.
282 2017-01-03 Nick Clifton <nickc@redhat.com>
284 * mach-o.c (bfd_mach_o_lookup_uuid_command): Fix compile time
285 warning about using a possibly uninitialised variable.
287 2017-01-02 Alan Modra <amodra@gmail.com>
289 * elf32-hppa.c (ensure_undef_weak_dynamic): New function.
290 (allocate_plt_static, allocate_dynrelocs): Use it.
292 2017-01-02 Alan Modra <amodra@gmail.com>
294 * elf-hppa.h (elf_hppa_fake_sections): Set SHF_INFO_LINK for
295 .PARISC.unwind section.
297 2017-01-02 Alan Modra <amodra@gmail.com>
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.
304 2017-01-02 Alan Modra <amodra@gmail.com>
306 Update year range in copyright notice of all files.
308 For older changes see ChangeLog-2016
310 Copyright (C) 2017 Free Software Foundation, Inc.
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.
320 version-control: never