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