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