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