[GOLD] PowerPC64 ELFv2 notoc support
[deliverable/binutils-gdb.git] / gold / ChangeLog
CommitLineData
32f59844
AM
12019-07-13 Alan Modra <amodra@gmail.com>
2
3 * powerpc.cc (Target_powerpc::maybe_skip_tls_get_addr_call): Handle
4 notoc calls.
5 (is_branch_reloc): Template on size. Return true for REL24_NOTOC.
6 Update all callers.
7 (max_branch_delta): Likewise.
8 (Target_powerpc::Branch_info::make_stub): Add a stub for notoc
9 calls to functions needing a valid toc pointer.
10 (Target_powerpc::do_relax): Layout stubs again if any need resize.
11 (add_12_11_12, addi_12_11, addis_12_11, ldx_12_11_12, ori_12_12_0),
12 (oris_12_12_0, sldi_12_12_32): Define.
13 (Stub_table::Plt_stub_ent): Add notoc_ and iter_ fields.
14 (Stub_table::Branch_stub_key, Branch_stub_key_hash): Rename from
15 Branch_stub_ent and Branch_stub_ent hash. Remove save_res_ from key.
16 (Stub_table::Branch_stub_ent): New struct.
17 (class Stub_table): Add need_resize and resizing vars.
18 (Stub_table::need_resize, branch_size): New accessors.
19 (Stub_table::set_resizing): New function.
20 (Stub_table::add_plt_call_entry): Handle notoc calls and resizing
21 on seeing such or a tocsave stubs after a normal stub using the
22 same sym.
23 (Stub_table::add_long_branch_entry): Similarly.
24 (Stub_table::find_long_branch_entry): Return a Branch_stub_ent*.
25 (Stub_table::define_stub_syms): Adjust
26 (Stub_table::build_tls_opt_head, build_tls_opt_tail): New functions.
27 (build_notoc_offset): New function.
28 (Stub_table::plt_call_size): Move out of line. Handle notoc calls.
29 (Stub_table::branch_stub_size): Similarly.
30 (Stub_table::do_write): Separate loop for ELFv2 stubs, handling
31 notoc calls. Simplify ELFv1 loop. Output notoc branch stubs.
32 Use build_tls_opt_head and build_tls_opt_tail.
33 (Target_powerpc::Scan::get_reference_flags): Handle REL24_NOTOC.
34 (Target_powerpc::Scan::reloc_needs_plt_for_ifunc): Likewise,
35 and PLTSEQ_NOTOC and PLTCALL_NOTOC.
36 (Target_powerpc::Scan::local, global, relocate): Likewise.
37
f60c61e6
AM
382019-06-28 Alan Modra <amodra@gmail.com>
39
40 * powerpc.cc (Target_powerpc::Relocate::relocate): Don't look
41 at next/previous reloc when relnum is -1.
42
f073a3e8
AM
432019-06-28 Alan Modra <amodra@gmail.com>
44
45 * powerpc.cc (Stub_table::plt_error): New function.
46 (Stub_table::do_write): Use it.
47 (Output_data_glink::do_write): Don't segfault emitting linkage
48 table error.
49
c432bbba
AM
502019-06-28 Alan Modra <amodra@gmail.com>
51
52 * powerpc.cc (Target_powerpc::Scan::get_reference_flags): Handle
53 REL16_HIGH* relocs.
54 (Target_powerpc::Scan::local): Likewise.
55 (Target_powerpc::Scan::global): Likewise.
56 (Target_powerpc::Relocate::relocate): Likewise.
57
a3972330
ML
582019-06-10 Martin Liska <mliska@suse.cz>
59
60 * errors.h: Include string.
61
e173ea00
JO
622019-05-10 Joshua Oreman <oremanj@hudson-trading.com>
63
64 PR gold/21066
65 * gc.h (gc_process_relocs): Track relocations in .eh_frame sections
66 when ICF is enabled, even though the .eh_frame sections themselves
67 are not foldable.
68 * icf.cc (get_section_contents): Change arguments to permit operation
69 on just part of a section. Include extra identity regions in the
70 referring section's contents recursively.
71 (match_sections): Lock object here instead of in get_section_contents
72 so that get_section_contents can operate recursively.
73 (Icf::add_ehframe_links): New method.
74 (Icf::find_identical_sections): Pass .eh_frame sections to
75 add_ehframe_links(). Increase default iteration count from 2 to 3
76 because handling exception info typically requires one extra iteration.
77 * icf.h (Icf::extra_identity_list_): New data member with accessor.
78 (is_section_foldable_candidate): Include .gcc_except_table sections.
79 * options.h: Update documentation for new default ICF iteration count.
80 * testsuite/Makefile.am (icf_test_pr21066): New test case.
81 * testsuite/Makefile.in: Regenerate.
82 * testsuite/icf_test_pr21066.cc: New source file.
83 * testsuite/icf_test_pr21066.sh: New test script.
84
7ae39e2d
EB
852019-02-19 Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
86
87 PR gold/23870
88 * aarch64.cc (Target_aarch64::Scan::global): Check if a symbol with
89 R_AARCH64_MOVW_.ABS_* relocations requires a PLT entry.
90 * testsuite/Makefile.am: Add aarch64_pr23870 test case.
91 * testsuite/Makefile.in: Regenerate.
92 * testsuite/aarch64_pr23870_bar.c: New file.
93 * testsuite/aarch64_pr23870_foo.c: New file.
94 * testsuite/aarch64_pr23870_main.S: New file.
95
e4865945
NC
962019-02-12 Nick Clifton <nickc@redhat.com>
97
98 * po/fr.po: Updated French translation.
99
375cd423
NC
1002019-01-21 Nick Clifton <nickc@redhat.com>
101
102 * po/uk.po: Updated Ukranian translation.
103
f48dfe41
NC
1042019-01-19 Nick Clifton <nickc@redhat.com>
105
106 * po/gold.pot: Regenerate.
107
f974f26c
NC
1082018-06-24 Nick Clifton <nickc@redhat.com>
109
110 2.32 branch created.
111
3107326d
AP
1122019-01-09 Andrew Paprocki <andrew@ishiboo.com>
113
114 * configure: Regenerate.
115
82704155
AM
1162019-01-01 Alan Modra <amodra@gmail.com>
117
118 Update year range in copyright notice of all files.
119
d5c04e1b 120For older changes see ChangeLog-2018
3499769a 121\f
d5c04e1b 122Copyright (C) 2019 Free Software Foundation, Inc.
3499769a
AM
123
124Copying and distribution of this file, with or without modification,
125are permitted in any medium without royalty provided the copyright
126notice and this notice are preserved.
127
128Local Variables:
129mode: change-log
130left-margin: 8
131fill-column: 74
132version-control: never
133End:
This page took 0.188642 seconds and 4 git commands to generate.