PR24996, Gold fix for ternary operator within linker scripts
[deliverable/binutils-gdb.git] / gold / ChangeLog
1 2019-11-11 Miguel Saldivar <saldivarcher@gmail.com>
2
3 PR 24996
4 * expression.cc (Trinary_expression::arg2_value): Use correct integer
5 expression when calling "eval_maybe_dot" method.
6 (Trinary_expression::arg3_value): Likewise.
7
8 2019-09-28 Alan Modra <amodra@gmail.com>
9
10 PR 16794
11 * i386.cc (Target_i386::Relocate::relocate <R_386_GOTOFF>): Don't
12 ignore addend, apply using pcrel32.
13 * x86_64.cc (Target_x86_64::Relocate::relocate <R_X86_64_GOTOFF64>):
14 Similarly use pcrel64.
15
16 2019-09-24 Nick Clifton <nickc@redhat.com>
17
18 * descriptors.cc: Include <string>
19
20 2019-09-23 Alan Modra <amodra@gmail.com>
21
22 * testsuite/plugin_new_section_layout.c (new_input_hook): Correct
23 return status enum values.
24
25 2019-09-20 Alan Modra <amodra@gmail.com>
26
27 PR 24768
28 * layout.cc (Layout::Layout): Init lto_slim_object_.
29 * object.cc (Sized_relobj_file::do_layout): Wrap overlong line.
30 Don't use C cast. Validate section size. Don't copy contents.
31
32 2019-09-20 Alan Modra <amodra@gmail.com>
33
34 * powerpc.cc (Target_powerpc::Scan::check_non_pic): Move REL24
35 to 32-bit supported.
36
37 2019-09-18 Simon Marchi <simon.marchi@polymtl.ca>
38
39 * testsuite/Makefile.in: Re-generate.
40
41 2019-09-09 Phil Blundell <pb@pbcl.net>
42
43 binutils 2.33 branch created.
44
45 2019-08-16 Martin Liska <mliska@suse.cz>
46
47 PR ld/24912
48 * object.cc (big_endian>::do_layout): Do not report error,
49 but only set a flag.
50 (big_endian>::do_add_symbols): Report error only for when
51 relocatable.
52
53 2019-08-02 Alan Modra <amodra@gmail.com>
54
55 * powerpc.cc (Target_powerpc::Scan::get_reference_flags): Set
56 flags for new relocations, and some missing older relocs.
57 (Target_powerpc::Scan::local): Handle new pcrel tls relocs.
58 Call set_has_static_tls for tprel relocs.
59 (Target_powerpc::Scan::global): Likewise.
60 (Target_powerpc::Relocate::relocate): Handle new pcrel tls relocs.
61
62 2019-08-02 Alan Modra <amodra@gmail.com>
63
64 * powerpc.cc (Powerpc_relocate_functions::rela, rela_ua): Perform
65 signed right shift for signed overflow check.
66
67 2019-07-29 Martin Liska <mliska@suse.cz>
68
69 PR 24768
70 * layout.h (class Layout): Add is_lto_slim_object and
71 set_lto_slim_object.
72 * object.cc (struct lto_section): Add lto_slim_object_.
73 (big_endian>::do_layout): Parse content of
74 .gnu_lto_.lto section.
75 (big_endian>::do_add_symbols): Report error for a missing
76 LTO plugin.
77
78 2019-07-13 Alan Modra <amodra@gmail.com>
79
80 * powerpc.cc (xlate_pcrel_opt): New function.
81 (Target_powerpc::Relocate::relocate): Optimise PCREL34 and
82 GOT_PCREL34 sequences marked with PCREL_OPT.
83
84 2019-07-13 Alan Modra <amodra@gmail.com>
85
86 * powerpc.cc (Powerpc_relobj::make_got_relative): New function.
87 (relative_value_is_known): New functions.
88 (Target_powerpc::Relocate::relocate): Edit code using
89 GOT16_HA, GOT16_LO_DS, and GOT_PCREL34 relocs.
90
91 2019-07-13 Alan Modra <amodra@gmail.com>
92
93 * powerpc.cc (Target_powerpc): Add powerxx_stubs_ and accessor
94 functions.
95 (Target_powerpc::maybe_skip_tls_get_addr_call): Handle PLT_PCREL34
96 and PLT_PCREL34_NOTOC relocs.
97 (Powerpc_relocate_functions): Add addr34, addr34_hi, addr34_ha,
98 addr28, addr16_higher34, addr16_highera34, addr16_highest34,
99 addr16_highest34a functions.
100 (li_11_0, ori_11_11_0, sldi_11_11_34): Define.
101 (paddi_12_pc, pld_12_pc, pnop): Define.
102 (d34, ha34): New inline functions.
103 (Stub_table::add_plt_call_entry): Handle powerxx_stubs.
104 (Stub_table::add_eh_frame): Likewise.
105 (build_powerxx_offset): New function.
106 (Stub_table::plt_call_size): Handle powerxx_stubs.
107 (Stub_table::branch_stub_size): Likewise.
108 (Stub_table::do_write): Likewise.
109 (Target_powerpc::Scan::get_reference_flags): Handle new relocs.
110 (Target_powerpc::Scan::reloc_needs_plt_for_ifunc: Likewise.
111 (Target_powerpc::Scan::local, global, relocate): Likewise.
112
113 2019-07-13 Alan Modra <amodra@gmail.com>
114
115 * ehframe.cc (Fde::operator==): Delete.
116 (Cie::remove_fde): Delete.
117 (Eh_frame::remove_ehframe_for_plt): Delete fde_data and fde_length
118 parameters. Remove all post-map plt FDEs.
119 * ehframe.h (Fde:post_map): Make const, add variant to compare plt.
120 (Fde::operator==): Delete.
121 (Cie::remove_fde): Implement here.
122 (Cie::last_fde): New accessor.
123 (Eh_frame::remove_ehframe_for_plt): Update prototype.
124 * layout.cc (Layout::remove_eh_frame_for_plt): Delete fde_data and
125 fde_length parameters.
126 * layout.h (Layout::remove_eh_frame_for_plt): Update prototype.
127 * powerpc.cc (Stub_table::tls_get_addr_opt_bctrl_): Delete.
128 (Stub_table::plt_fde_len_, plt_fde_, init_plt_fde): Delete.
129 (Stub_table::add_plt_call_entry): Don't set tls_get_addr_opt_bctrl_.
130 (eh_advance): New function.
131 (stub_sort): New function.
132 (Stub_table::add_eh_frame): Emit eh_frame for notoc plt calls and
133 branches as well as __tls_get_addr_opt plt call stub.
134 (Stub_table::remove_eh_frame): Update to suit.
135
136 2019-07-13 Alan Modra <amodra@gmail.com>
137
138 * powerpc.cc (Target_powerpc::maybe_skip_tls_get_addr_call): Handle
139 notoc calls.
140 (is_branch_reloc): Template on size. Return true for REL24_NOTOC.
141 Update all callers.
142 (max_branch_delta): Likewise.
143 (Target_powerpc::Branch_info::make_stub): Add a stub for notoc
144 calls to functions needing a valid toc pointer.
145 (Target_powerpc::do_relax): Layout stubs again if any need resize.
146 (add_12_11_12, addi_12_11, addis_12_11, ldx_12_11_12, ori_12_12_0),
147 (oris_12_12_0, sldi_12_12_32): Define.
148 (Stub_table::Plt_stub_ent): Add notoc_ and iter_ fields.
149 (Stub_table::Branch_stub_key, Branch_stub_key_hash): Rename from
150 Branch_stub_ent and Branch_stub_ent hash. Remove save_res_ from key.
151 (Stub_table::Branch_stub_ent): New struct.
152 (class Stub_table): Add need_resize and resizing vars.
153 (Stub_table::need_resize, branch_size): New accessors.
154 (Stub_table::set_resizing): New function.
155 (Stub_table::add_plt_call_entry): Handle notoc calls and resizing
156 on seeing such or a tocsave stubs after a normal stub using the
157 same sym.
158 (Stub_table::add_long_branch_entry): Similarly.
159 (Stub_table::find_long_branch_entry): Return a Branch_stub_ent*.
160 (Stub_table::define_stub_syms): Adjust
161 (Stub_table::build_tls_opt_head, build_tls_opt_tail): New functions.
162 (build_notoc_offset): New function.
163 (Stub_table::plt_call_size): Move out of line. Handle notoc calls.
164 (Stub_table::branch_stub_size): Similarly.
165 (Stub_table::do_write): Separate loop for ELFv2 stubs, handling
166 notoc calls. Simplify ELFv1 loop. Output notoc branch stubs.
167 Use build_tls_opt_head and build_tls_opt_tail.
168 (Target_powerpc::Scan::get_reference_flags): Handle REL24_NOTOC.
169 (Target_powerpc::Scan::reloc_needs_plt_for_ifunc): Likewise,
170 and PLTSEQ_NOTOC and PLTCALL_NOTOC.
171 (Target_powerpc::Scan::local, global, relocate): Likewise.
172
173 2019-06-28 Alan Modra <amodra@gmail.com>
174
175 * powerpc.cc (Target_powerpc::Relocate::relocate): Don't look
176 at next/previous reloc when relnum is -1.
177
178 2019-06-28 Alan Modra <amodra@gmail.com>
179
180 * powerpc.cc (Stub_table::plt_error): New function.
181 (Stub_table::do_write): Use it.
182 (Output_data_glink::do_write): Don't segfault emitting linkage
183 table error.
184
185 2019-06-28 Alan Modra <amodra@gmail.com>
186
187 * powerpc.cc (Target_powerpc::Scan::get_reference_flags): Handle
188 REL16_HIGH* relocs.
189 (Target_powerpc::Scan::local): Likewise.
190 (Target_powerpc::Scan::global): Likewise.
191 (Target_powerpc::Relocate::relocate): Likewise.
192
193 2019-06-10 Martin Liska <mliska@suse.cz>
194
195 * errors.h: Include string.
196
197 2019-05-10 Joshua Oreman <oremanj@hudson-trading.com>
198
199 PR gold/21066
200 * gc.h (gc_process_relocs): Track relocations in .eh_frame sections
201 when ICF is enabled, even though the .eh_frame sections themselves
202 are not foldable.
203 * icf.cc (get_section_contents): Change arguments to permit operation
204 on just part of a section. Include extra identity regions in the
205 referring section's contents recursively.
206 (match_sections): Lock object here instead of in get_section_contents
207 so that get_section_contents can operate recursively.
208 (Icf::add_ehframe_links): New method.
209 (Icf::find_identical_sections): Pass .eh_frame sections to
210 add_ehframe_links(). Increase default iteration count from 2 to 3
211 because handling exception info typically requires one extra iteration.
212 * icf.h (Icf::extra_identity_list_): New data member with accessor.
213 (is_section_foldable_candidate): Include .gcc_except_table sections.
214 * options.h: Update documentation for new default ICF iteration count.
215 * testsuite/Makefile.am (icf_test_pr21066): New test case.
216 * testsuite/Makefile.in: Regenerate.
217 * testsuite/icf_test_pr21066.cc: New source file.
218 * testsuite/icf_test_pr21066.sh: New test script.
219
220 2019-02-19 Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
221
222 PR gold/23870
223 * aarch64.cc (Target_aarch64::Scan::global): Check if a symbol with
224 R_AARCH64_MOVW_.ABS_* relocations requires a PLT entry.
225 * testsuite/Makefile.am: Add aarch64_pr23870 test case.
226 * testsuite/Makefile.in: Regenerate.
227 * testsuite/aarch64_pr23870_bar.c: New file.
228 * testsuite/aarch64_pr23870_foo.c: New file.
229 * testsuite/aarch64_pr23870_main.S: New file.
230
231 2019-02-12 Nick Clifton <nickc@redhat.com>
232
233 * po/fr.po: Updated French translation.
234
235 2019-01-21 Nick Clifton <nickc@redhat.com>
236
237 * po/uk.po: Updated Ukranian translation.
238
239 2019-01-19 Nick Clifton <nickc@redhat.com>
240
241 * po/gold.pot: Regenerate.
242
243 2018-06-24 Nick Clifton <nickc@redhat.com>
244
245 2.32 branch created.
246
247 2019-01-09 Andrew Paprocki <andrew@ishiboo.com>
248
249 * configure: Regenerate.
250
251 2019-01-01 Alan Modra <amodra@gmail.com>
252
253 Update year range in copyright notice of all files.
254
255 For older changes see ChangeLog-2018
256 \f
257 Copyright (C) 2019 Free Software Foundation, Inc.
258
259 Copying and distribution of this file, with or without modification,
260 are permitted in any medium without royalty provided the copyright
261 notice and this notice are preserved.
262
263 Local Variables:
264 mode: change-log
265 left-margin: 8
266 fill-column: 74
267 version-control: never
268 End:
This page took 0.047838 seconds and 5 git commands to generate.