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