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