Fix PR ld/22263 on SPARC.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 2018-02-06 Eric Botcazou <ebotcazou@adacore.com>
2
3 PR ld/22263
4 * elfxx-sparc.c (sparc_elf_tls_transition): Turn call to bfd_link_pic
5 into call to !bfd_link_executable and tidy up.
6 (_bfd_sparc_elf_check_relocs): Fix formatting and tidy up.
7 <R_SPARC_TLS_LE_HIX22>: Turn call to bfd_link_pic into call to
8 !bfd_link_executable.
9 <R_SPARC_TLS_IE_HI22>: Likewise.
10 <GOT relocations>: Remove useless code, tidy and merge related blocks.
11 <R_SPARC_TLS_GD_CALL>: Turn call to bfd_link_pic into call to
12 !bfd_link_executable.
13 <R_SPARC_WPLT30>: Tidy up.
14 (_bfd_sparc_elf_gc_mark_hook): Turn call to bfd_link_pic into call to
15 !bfd_link_executable.
16 (allocate_dynrelocs): Likewise.
17 (_bfd_sparc_elf_relocate_section): Fix formatting and tidy up.
18 <R_SPARC_TLS_GD_HI22>: Merge into...
19 <R_SPARC_TLS_GD_LO10>: ...this. Adjust 4th argument in call to
20 sparc_elf_tls_transition and remove redundant code.
21 <R_SPARC_TLS_LDM_HI22>: Turn call to bfd_link_pic into call to
22 !bfd_link_executable.
23 <R_SPARC_TLS_LDO_HIX22>: Likewise.
24 <R_SPARC_TLS_LE_HIX22>: Likewise. Tidy up.
25 <R_SPARC_TLS_LDM_CALL>: Likewise.
26 <R_SPARC_TLS_GD_CALL>: Likewise. Tidy up.
27 <R_SPARC_TLS_GD_ADD>: Likewise.
28 <R_SPARC_TLS_LDM_ADD>: Likewise.
29 <R_SPARC_TLS_LDO_ADD>: Likewise.
30 <R_SPARC_TLS_IE_LD>: Likewise.
31
32 2018-02-06 Miloš Stojanović <milos.stojanovic@rt-rk.com>
33
34 PR 22789
35 * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): If the dwarf
36 functions failed to find the function name, try the generic elf
37 find function instead.
38
39 2018-02-06 Sergio Durigan Junior <sergiodj@redhat.com>
40
41 * coff-rs6000.c (xcoff_write_archive_contents_old): Use
42 'memcpy' instead of 'strncpy' when writing the magic number.
43
44 2018-02-06 Nick Clifton <nickc@redhat.com>
45
46 PR 22794
47 * opncls.c (bfd_get_debug_link_info_1): Check the size of the
48 section before attempting to read it in.
49 (bfd_get_alt_debug_link_info): Likewise.
50
51 2018-02-06 Paul Carroll <pcarroll@codesourcery.com>
52
53 * bfd/dwarf2.c (find_abstract_name): Modified to return file and
54 line information in addition to name, if they can be found.
55
56 2018-02-05 Renlin Li <renlin.li@arm.com>
57
58 PR ld/22764
59 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Relax the
60 R_AARCH64_ABS32 and R_AARCH64_ABS16 for absolute symbol. Apply the
61 check for writeable section as well.
62
63 2018-02-05 H.J. Lu <hongjiu.lu@intel.com>
64
65 PR ld/22782
66 * elf32-i386.c (elf_i386_check_relocs): Set got_referenced if
67 _GLOBAL_OFFSET_TABLE_ is referenced or GOT is needed to resolve
68 undefined weak symbol to 0.
69 * elf64-x86-64.c (elf_x86_64_check_relocs): Set got_referenced
70 if _GLOBAL_OFFSET_TABLE_ is referenced.
71 * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Check
72 got_referenced instead of ref_regular_nonweak. Remove the
73 unused _GLOBAL_OFFSET_TABLE_ from symbol table.
74 * elfxx-x86.h (elf_x86_link_hash_table): Add got_referenced.
75
76 2018-02-05 Maciej W. Rozycki <macro@mips.com>
77
78 * elfnn-riscv.c (_bfd_riscv_relax_pc): Use `memset' to
79 initialize `hi_reloc'.
80
81 2018-02-05 Maciej W. Rozycki <macro@mips.com>
82
83 * elfxx-mips.c (_bfd_mips_elf_section_processing): For
84 SHT_MIPS_REGINFO sections don't assert the correct size and
85 report an error instead.
86
87 2018-02-05 Maciej W. Rozycki <macro@mips.com>
88
89 * elf.c (_bfd_elf_write_object_contents): Propagate a failure
90 status from `->elf_backend_section_processing'.
91
92 2018-02-02 Jim Wilson <jimw@sifive.com>
93
94 PR ld/22756
95 * elfnn-riscv.c (riscv_relax_delete_bytes): New parameter link_info.
96 If link_info->wrap_hash, check for a duplicate symbol and ignore.
97 (_bfd_riscv_relax_call, bfd_riscv_relax_lui, _bfd_riscv_relax_tls_le):
98 Pass new argument to riscv_relax_delete_bytes.
99 (_bfd_riscv_relax_align, _bfd_riscv_relax_delete): Likewise. Remove
100 ATTRIBUTE_UNUSED from link_info parameter.
101
102 2018-02-02 Alan Modra <amodra@gmail.com>
103
104 * elf64-ppc.c (ppc64_elf_relocate_section): Don't relocate nops
105 emitted for toc sequence optimization. Set and use "howto" later.
106
107 2018-02-01 Simon Marchi <simon.marchi@ericsson.com>
108
109 * elf64-ppc.c (ppc64_elf_archive_symbol_lookup): Avoid pointer
110 arithmetic on NULL pointer.
111 * elflink.c (_bfd_elf_archive_symbol_lookup,
112 elf_link_add_archive_symbols): Likewise.
113
114 2018-01-31 Michael Matz <matz@suse.de>
115
116 * elflink.c (bfd_elf_define_start_stop): Fix check of
117 def_dynamic.
118
119 2018-01-31 H.J. Lu <hongjiu.lu@intel.com>
120
121 PR ld/21964
122 * elflink.c (bfd_elf_define_start_stop): Check if __start and
123 __stop symbols are referenced by shared objects.
124
125 2018-01-30 Alan Modra <amodra@gmail.com>
126
127 PR 22758
128 * elf.c (_bfd_elf_map_sections_to_segments): Don't start a new
129 segment when demand paged with lma on the same page. Test this
130 before load/non-load, executable/non-executable,
131 writable/non-writable tests and simplify. Delete bogus relro
132 condition in writable/non-writable test. Delete outdated
133 comment. Formatting.
134
135 2018-01-30 Alan Modra <amodra@gmail.com>
136
137 * elflink.c (bfd_elf_define_start_stop): Make __start and __stop
138 symbols dynamic.
139
140 2018-01-29 Alan Modra <amodra@gmail.com>
141
142 PR 22741
143 * coffgen.c (coff_pointerize_aux): Ensure auxent tagndx is in
144 range before converting to a symbol table pointer.
145
146 2018-01-27 Nick Clifton <nickc@redhat.com>
147
148 * po/ru.po: Updated Russian translation.
149
150 2018-01-26 Alan Modra <amodra@gmail.com>
151
152 * elflink.c (bfd_elf_define_start_stop): Override symbols when
153 they are defined dynamically.
154
155 2018-01-26 Alan Modra <amodra@gmail.com>
156
157 * elf64-ppc.c (ppc64_elf_size_stubs): Iterate sizing when
158 .branch_lt changes size.
159
160 2018-01-25 Alan Modra <amodra@gmail.com>
161
162 PR 22746
163 * elfcode.h (elf_object_p): Avoid integer overflow.
164
165 2018-01-25 Eric Botcazou <ebotcazou@adacore.com>
166
167 PR ld/22727
168 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs) <R_SPARC_TLS_GD_CALL>:
169 Do a mere lookup of the __tls_get_addr symbol instead of adding it.
170
171 Revert
172 2017-10-19 H.J. Lu <hongjiu.lu@intel.com>
173
174 PR ld/22263
175 * elfxx-sparc.c (sparc_elf_tls_transition): Replace
176 bfd_link_pic with !bfd_link_executable, !bfd_link_pic with
177 bfd_link_executable for TLS check.
178 (_bfd_sparc_elf_check_relocs): Likewise.
179 (allocate_dynrelocs): Likewise.
180 (_bfd_sparc_elf_relocate_section): Likewise.
181
182 2018-01-24 Renlin Li <renlin.li@arm.com>
183
184 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Add support for
185 BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
186 BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
187 BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
188 BFD_RELOC_AARCH64_MOVW_PREL_G3.
189 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
190 (_bfd_aarch64_elf_resolve_relocation): Likewise.
191
192 2018-01-24 Renlin Li <renlin.li@arm.com>
193
194 * reloc.c: Add BFD_RELOC_AARCH64_MOVW_PREL_G0,
195 BFD_RELOC_AARCH64_MOVW_PREL_G0_NC, BFD_RELOC_AARCH64_MOVW_PREL_G1,
196 BFD_RELOC_AARCH64_MOVW_PREL_G1_NC, BFD_RELOC_AARCH64_MOVW_PREL_G2,
197 BFD_RELOC_AARCH64_MOVW_PREL_G2_NC, BFD_RELOC_AARCH64_MOVW_PREL_G3.
198 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Add entries for
199 BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
200 BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
201 BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
202 BFD_RELOC_AARCH64_MOVW_PREL_G3.
203 * bfd-in2.h: Regenerate.
204 * libbfd.h: Regenerate.
205
206 2018-01-23 Maciej W. Rozycki <macro@mips.com>
207
208 * elfxx-mips.c (_bfd_mips_elf_final_link): Update a stale
209 `mips_elf32_section_processing' comment reference.
210
211 2018-01-20 H.J. Lu <hongjiu.lu@intel.com>
212
213 PR ld/22721
214 * elfxx-x86.c (_bfd_x86_elf_link_check_relocs): Check the
215 versioned __tls_get_addr symbol.
216
217 2018-01-19 Nick Clifton <nickc@redhat.com>
218
219 * po/fr.po: Updated French translation.
220
221 2018-01-18 Alan Modra <amodra@gmail.com>
222
223 * elf32-ppc.c (ppc_elf_create_glink): Correct alignment of .glink.
224 * elf64-ppc.c (ppc64_elf_size_stubs): Handle negative plt_stub_align.
225 (ppc64_elf_build_stubs): Likewise.
226
227 2018-01-17 Nick Clifton <nickc@redhat.com>
228
229 * po/ru.po: Updated Russian translation.
230 * po/uk/po: Updated Ukranian translation.
231
232 2018-01-17 Alan Modra <amodra@gmail.com>
233
234 * elf64-ppc.c (ppc64_elf_build_stubs): Silence gcc warning.
235
236 2018-01-17 Alan Modra <amodra@gmail.com>
237
238 * elf32-ppc.c (GLINK_ENTRY_SIZE): Handle speculation barrier.
239 (CRSETEQ, BEQCTRM): Define.
240 (is_nonpic_glink_stub): Don't check bctr.
241 (ppc_elf_link_hash_table_create): Init new ppc_elf_params field.
242 (ppc_elf_relax_section): Size speculation barrier.
243 (output_bctr): New function.
244 (write_glink_stub): Use output_bctr.
245 (ppc_elf_relocate_section): Use output_bctr for long branch stub.
246 (ppc_elf_finish_dynamic_symbol): Likewise.
247 (ppc_elf_finish_dynamic_sections): Use output_bctr.
248 * elf32-ppc.h (struct ppc_elf_params): Add speculate_indirect_jumps.
249 * elf64-ppc.c (CRSETEQ, BEQCTRM, BEQCTRLM): Define.
250 (GLINK_PLTRESOLVE_SIZE): Size speculation barrier.
251 (size_global_entry_stubs): Handle speculation barrier sizing.
252 (plt_stub_size): Likewise.
253 (output_bctr): New function.
254 (build_plt_stub, build_tls_get_addr_stub): Output speculation
255 barrier.
256 (ppc_build_one_stub): Likewise for ppc_stub_plt_branch.
257 (ppc_size_one_stub): Size speculation barrier in ppc_stub_plt_branch.
258 (build_global_entry_stubs): Output speculation barrier.
259 (ppc64_elf_build_stubs): Likewise in __glink_PLTresolve stub.
260 * elf64-ppc.h (struct ppc64_elf_params): Add speculate_indirect_jumps.
261
262 2018-01-17 Alan Modra <amodra@gmail.com>
263
264 * elf32-ppc.c (GLINK_ENTRY_SIZE): Add parameters, handle
265 __tls_get_addr_opt, and alignment sizing.
266 (TLS_GET_ADDR_GLINK_SIZE): Delete.
267 (is_nonpic_glink_stub): Don't use GLINK_ENTRY_SIZE.
268 (ppc_elf_get_synthetic_symtab): Recognize stubs spaced at 4, 6,
269 or 8 insns.
270 (ppc_elf_link_hash_table_create): Init new ppc_elf_params field.
271 (allocate_dynrelocs): Use new GLINK_ENTRY_SIZE.
272 (ppc_elf_size_dynamic_sections): Likewise. Size branch table
273 by PLT reloc count.
274 (write_glink_stub): Handle __tls_get_addr_opt stub.
275 Pad out to size given by GLINK_ENTRY_SIZE.
276 (ppc_elf_relocate_section): Adjust write_glink_stub call.
277 (ppc_elf_finish_dynamic_symbol): Likewise.
278 (ppc_elf_finish_dynamic_sections): Write PLTresolve without using
279 insn array since so many need rewriting.
280 * elf32-ppc.h (struct ppc_elf_params): Add plt_stub_align.
281 * elf64-ppc.c (GLINK_PLTRESOLVE_SIZE): Rename from
282 GLINK_CALL_STUB_SIZE. Add htab param and evaluate to size without
283 nops. Adjust all uses.
284 (ppc64_elf_get_synthetic_symtab): Don't use GLINK_CALL_STUB_SIZE
285 in glink_vma calculation.
286 (struct ppc_link_hash_table): Add global_entry section pointer.
287 (create_linkage_sections): Create separate section for global
288 entry stubs.
289 (PPC_LO, PPC_HI, PPC_HA): Move earlier.
290 (size_global_entry_stubs): Handle sizing for aligned stubs.
291 (ppc64_elf_size_dynamic_sections): Handle global_entry alloc,
292 and don't stash end of glink branch table in rawsize.
293 (ppc_build_one_stub): Rewrite stub size calculations.
294 (build_global_entry_stubs): Use new section.
295 (ppc64_elf_build_stubs): Don't pad __glink_PLTresolve with nops.
296 Build lazy link stubs out to end of section. Build global entry
297 stubs in new section.
298
299 2018-01-15 Nick Clifton <nickc@redhat.com>
300
301 * po/uk.po: Updated Ukranian translation.
302
303 2018-01-13 Nick Clifton <nickc@redhat.com>
304
305 * po/bfd.pot: Regenerated.
306
307 2018-01-13 Nick Clifton <nickc@redhat.com>
308
309 * version.m4: Bump version to 2.30.51
310 * configure: Regenerate.
311
312 2018-01-13 Nick Clifton <nickc@redhat.com>
313
314 2.30 branch created.
315
316 2018-01-12 Jens Widell <jl@opera.com>
317
318 * elf.c (setup_group): Optimize search for group by remembering
319 last found group and restarting search at that index.
320 * elf-bfd.h (struct elf_obj_tdata): Add group_search_offset field.
321
322 2018-01-12 Gunther Nikl <gnikl@users.sourceforge.net>
323
324 * aoutx.h (aout_link_check_ar_symbols): Remove default and handle
325 bfd_link_common_skip_none in switch.
326
327 2018-01-12 Alan Modra <amodra@gmail.com>
328
329 PR ld/22649
330 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Ignore dynamic
331 references on forced local symbols.
332
333 2018-01-12 Vlad Ivanov <vlad@ivanov.email>
334
335 * elfxx-mips.c (_bfd_mips_elf_final_link): Notify user when
336 .reginfo section has wrong size.
337
338 2018-01-11 H.J. Lu <hongjiu.lu@intel.com>
339
340 PR ld/22393
341 * elf.c (_bfd_elf_map_sections_to_segments): When generating
342 separate code and read-only data LOAD segments, create a new
343 LOAD segment if the previous section contains text and the
344 current section doesn't or vice versa. Don't put a writable
345 section in a read-only segment if there is a RELRO segment.
346
347 2018-01-11 H.J. Lu <hongjiu.lu@intel.com>
348
349 PR ld/22649
350 * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Ignore dynamic
351 references on forced local symbols.
352
353 2018-01-11 H.J. Lu <hongjiu.lu@intel.com>
354
355 PR ld/22677
356 * elflink.c (bfd_elf_gc_sections): Keep all PREINIT_ARRAY,
357 INIT_ARRAY as well as FINI_ARRAY sections for ld -r --gc-section.
358
359 2017-09-27 Kuan-Lin Chen <kuanlinchentw@gmail.com>
360
361 PR 22662
362 * elf32-nds32.c (nds32_elf_relax_loadstore): Fix a typographical error.
363
364 2018-01-03 John Baldwin <jhb@FreeBSD.org>
365
366 * elf.c (elfcore_grok_freebsd_note): Handle
367 NT_FREEBSD_PROCSTAT_PROC, NT_FREEBSD_PROCSTAT_FILES, and
368 NT_FREEBSD_PROCSTAT_VMMAP.
369
370 2018-01-03 Alan Modra <amodra@gmail.com>
371
372 Update year range in copyright notice of all files.
373
374 For older changes see ChangeLog-2017
375 \f
376 Copyright (C) 2018 Free Software Foundation, Inc.
377
378 Copying and distribution of this file, with or without modification,
379 are permitted in any medium without royalty provided the copyright
380 notice and this notice are preserved.
381
382 Local Variables:
383 mode: change-log
384 left-margin: 8
385 fill-column: 74
386 version-control: never
387 End:
This page took 0.039088 seconds and 4 git commands to generate.