[LD][AARCH64]Add group relocations to create PC-relative offset.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 2018-01-24 Renlin Li <renlin.li@arm.com>
2
3 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Add support for
4 BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
5 BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
6 BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
7 BFD_RELOC_AARCH64_MOVW_PREL_G3.
8 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
9 (_bfd_aarch64_elf_resolve_relocation): Likewise.
10
11 2018-01-24 Renlin Li <renlin.li@arm.com>
12
13 * reloc.c: Add BFD_RELOC_AARCH64_MOVW_PREL_G0,
14 BFD_RELOC_AARCH64_MOVW_PREL_G0_NC, BFD_RELOC_AARCH64_MOVW_PREL_G1,
15 BFD_RELOC_AARCH64_MOVW_PREL_G1_NC, BFD_RELOC_AARCH64_MOVW_PREL_G2,
16 BFD_RELOC_AARCH64_MOVW_PREL_G2_NC, BFD_RELOC_AARCH64_MOVW_PREL_G3.
17 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Add entries for
18 BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
19 BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
20 BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
21 BFD_RELOC_AARCH64_MOVW_PREL_G3.
22 * bfd-in2.h: Regenerate.
23 * libbfd.h: Regenerate.
24
25 2018-01-23 Maciej W. Rozycki <macro@mips.com>
26
27 * elfxx-mips.c (_bfd_mips_elf_final_link): Update a stale
28 `mips_elf32_section_processing' comment reference.
29
30 2018-01-20 H.J. Lu <hongjiu.lu@intel.com>
31
32 PR ld/22721
33 * elfxx-x86.c (_bfd_x86_elf_link_check_relocs): Check the
34 versioned __tls_get_addr symbol.
35
36 2018-01-19 Nick Clifton <nickc@redhat.com>
37
38 * po/fr.po: Updated French translation.
39
40 2018-01-18 Alan Modra <amodra@gmail.com>
41
42 * elf32-ppc.c (ppc_elf_create_glink): Correct alignment of .glink.
43 * elf64-ppc.c (ppc64_elf_size_stubs): Handle negative plt_stub_align.
44 (ppc64_elf_build_stubs): Likewise.
45
46 2018-01-17 Nick Clifton <nickc@redhat.com>
47
48 * po/ru.po: Updated Russian translation.
49 * po/uk/po: Updated Ukranian translation.
50
51 2018-01-17 Alan Modra <amodra@gmail.com>
52
53 * elf64-ppc.c (ppc64_elf_build_stubs): Silence gcc warning.
54
55 2018-01-17 Alan Modra <amodra@gmail.com>
56
57 * elf32-ppc.c (GLINK_ENTRY_SIZE): Handle speculation barrier.
58 (CRSETEQ, BEQCTRM): Define.
59 (is_nonpic_glink_stub): Don't check bctr.
60 (ppc_elf_link_hash_table_create): Init new ppc_elf_params field.
61 (ppc_elf_relax_section): Size speculation barrier.
62 (output_bctr): New function.
63 (write_glink_stub): Use output_bctr.
64 (ppc_elf_relocate_section): Use output_bctr for long branch stub.
65 (ppc_elf_finish_dynamic_symbol): Likewise.
66 (ppc_elf_finish_dynamic_sections): Use output_bctr.
67 * elf32-ppc.h (struct ppc_elf_params): Add speculate_indirect_jumps.
68 * elf64-ppc.c (CRSETEQ, BEQCTRM, BEQCTRLM): Define.
69 (GLINK_PLTRESOLVE_SIZE): Size speculation barrier.
70 (size_global_entry_stubs): Handle speculation barrier sizing.
71 (plt_stub_size): Likewise.
72 (output_bctr): New function.
73 (build_plt_stub, build_tls_get_addr_stub): Output speculation
74 barrier.
75 (ppc_build_one_stub): Likewise for ppc_stub_plt_branch.
76 (ppc_size_one_stub): Size speculation barrier in ppc_stub_plt_branch.
77 (build_global_entry_stubs): Output speculation barrier.
78 (ppc64_elf_build_stubs): Likewise in __glink_PLTresolve stub.
79 * elf64-ppc.h (struct ppc64_elf_params): Add speculate_indirect_jumps.
80
81 2018-01-17 Alan Modra <amodra@gmail.com>
82
83 * elf32-ppc.c (GLINK_ENTRY_SIZE): Add parameters, handle
84 __tls_get_addr_opt, and alignment sizing.
85 (TLS_GET_ADDR_GLINK_SIZE): Delete.
86 (is_nonpic_glink_stub): Don't use GLINK_ENTRY_SIZE.
87 (ppc_elf_get_synthetic_symtab): Recognize stubs spaced at 4, 6,
88 or 8 insns.
89 (ppc_elf_link_hash_table_create): Init new ppc_elf_params field.
90 (allocate_dynrelocs): Use new GLINK_ENTRY_SIZE.
91 (ppc_elf_size_dynamic_sections): Likewise. Size branch table
92 by PLT reloc count.
93 (write_glink_stub): Handle __tls_get_addr_opt stub.
94 Pad out to size given by GLINK_ENTRY_SIZE.
95 (ppc_elf_relocate_section): Adjust write_glink_stub call.
96 (ppc_elf_finish_dynamic_symbol): Likewise.
97 (ppc_elf_finish_dynamic_sections): Write PLTresolve without using
98 insn array since so many need rewriting.
99 * elf32-ppc.h (struct ppc_elf_params): Add plt_stub_align.
100 * elf64-ppc.c (GLINK_PLTRESOLVE_SIZE): Rename from
101 GLINK_CALL_STUB_SIZE. Add htab param and evaluate to size without
102 nops. Adjust all uses.
103 (ppc64_elf_get_synthetic_symtab): Don't use GLINK_CALL_STUB_SIZE
104 in glink_vma calculation.
105 (struct ppc_link_hash_table): Add global_entry section pointer.
106 (create_linkage_sections): Create separate section for global
107 entry stubs.
108 (PPC_LO, PPC_HI, PPC_HA): Move earlier.
109 (size_global_entry_stubs): Handle sizing for aligned stubs.
110 (ppc64_elf_size_dynamic_sections): Handle global_entry alloc,
111 and don't stash end of glink branch table in rawsize.
112 (ppc_build_one_stub): Rewrite stub size calculations.
113 (build_global_entry_stubs): Use new section.
114 (ppc64_elf_build_stubs): Don't pad __glink_PLTresolve with nops.
115 Build lazy link stubs out to end of section. Build global entry
116 stubs in new section.
117
118 2018-01-15 Nick Clifton <nickc@redhat.com>
119
120 * po/uk.po: Updated Ukranian translation.
121
122 2018-01-13 Nick Clifton <nickc@redhat.com>
123
124 * po/bfd.pot: Regenerated.
125
126 2018-01-13 Nick Clifton <nickc@redhat.com>
127
128 * version.m4: Bump version to 2.30.51
129 * configure: Regenerate.
130
131 2018-01-13 Nick Clifton <nickc@redhat.com>
132
133 2.30 branch created.
134
135 2018-01-12 Jens Widell <jl@opera.com>
136
137 * elf.c (setup_group): Optimize search for group by remembering
138 last found group and restarting search at that index.
139 * elf-bfd.h (struct elf_obj_tdata): Add group_search_offset field.
140
141 2018-01-12 Gunther Nikl <gnikl@users.sourceforge.net>
142
143 * aoutx.h (aout_link_check_ar_symbols): Remove default and handle
144 bfd_link_common_skip_none in switch.
145
146 2018-01-12 Alan Modra <amodra@gmail.com>
147
148 PR ld/22649
149 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Ignore dynamic
150 references on forced local symbols.
151
152 2018-01-12 Vlad Ivanov <vlad@ivanov.email>
153
154 * elfxx-mips.c (_bfd_mips_elf_final_link): Notify user when
155 .reginfo section has wrong size.
156
157 2018-01-11 H.J. Lu <hongjiu.lu@intel.com>
158
159 PR ld/22393
160 * elf.c (_bfd_elf_map_sections_to_segments): When generating
161 separate code and read-only data LOAD segments, create a new
162 LOAD segment if the previous section contains text and the
163 current section doesn't or vice versa. Don't put a writable
164 section in a read-only segment if there is a RELRO segment.
165
166 2018-01-11 H.J. Lu <hongjiu.lu@intel.com>
167
168 PR ld/22649
169 * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Ignore dynamic
170 references on forced local symbols.
171
172 2018-01-11 H.J. Lu <hongjiu.lu@intel.com>
173
174 PR ld/22677
175 * elflink.c (bfd_elf_gc_sections): Keep all PREINIT_ARRAY,
176 INIT_ARRAY as well as FINI_ARRAY sections for ld -r --gc-section.
177
178 2017-09-27 Kuan-Lin Chen <kuanlinchentw@gmail.com>
179
180 PR 22662
181 * elf32-nds32.c (nds32_elf_relax_loadstore): Fix a typographical error.
182
183 2018-01-03 John Baldwin <jhb@FreeBSD.org>
184
185 * elf.c (elfcore_grok_freebsd_note): Handle
186 NT_FREEBSD_PROCSTAT_PROC, NT_FREEBSD_PROCSTAT_FILES, and
187 NT_FREEBSD_PROCSTAT_VMMAP.
188
189 2018-01-03 Alan Modra <amodra@gmail.com>
190
191 Update year range in copyright notice of all files.
192
193 For older changes see ChangeLog-2017
194 \f
195 Copyright (C) 2018 Free Software Foundation, Inc.
196
197 Copying and distribution of this file, with or without modification,
198 are permitted in any medium without royalty provided the copyright
199 notice and this notice are preserved.
200
201 Local Variables:
202 mode: change-log
203 left-margin: 8
204 fill-column: 74
205 version-control: never
206 End:
This page took 0.046106 seconds and 5 git commands to generate.