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