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