[GOLD] PowerPC64 TOC indirect to TOC relative segfault
[external/binutils.git] / gold / ChangeLog
1 2017-02-03  Alan Modra  <amodra@gmail.com>
2
3         * powerpc.cc (Powerpc_relobj::make_toc_relative): Don't crash
4         when no .toc section exists.
5
6 2017-01-31  Cary Coutant  <ccoutant@gmail.com>
7
8         PR gold/21090
9         * x86_64.cc (Target_x86_64::can_convert_mov_to_lea): Add check
10         for predefined symbol.
11         (Target_x86_64::Relocate::relocate): Fix formatting.
12
13 2017-01-23  Rahul Chaudhry  <rahulchaudhry@google.com>
14
15         * testsuite/icf_safe_so_test.sh: Use "set -e".
16         * testsuite/icf_safe_test.sh: Likewise.
17         * testsuite/icf_test.sh: Likewise.
18
19 2017-01-23  Vladimir Radosavljevic  <Vladimir.Radosavljevic@imgtec.com>
20
21         * mips.cc (Mips_output_data_plt::rel_plt): Remove const from return
22         type.
23         (Target_mips::make_plt_entry): Make the sh_info field of .rel.plt
24         point to .plt.
25
26 2017-01-23  Vladimir Radosavljevic  <Vladimir.Radosavljevic@imgtec.com>
27
28         PR gold/21054
29         * mips.cc (Mips_got_info::record_global_got_symbol): Don't add symbol
30         to the dynamic symbol table if it is forced to local visibility.
31         (Target_mips::do_finalize_sections): Don't add __RLD_MAP symbol to the
32         dynamic symbol table if it is forced to local visibility.
33
34 2017-01-20  Nick Clifton  <nickc@redhat.com>
35
36         * aarch64.cc (Stub_template_repertoire): Change ST_E_835769_INSNS
37         from a pointer to an array.
38
39 2017-01-13  H.J. Lu  <hongjiu.lu@intel.com>
40
41         PR gold/21040
42         * powerpc.cc (Powerpc_relobj<size, big_endian>::make_toc_relative):
43         Cast 0x80008000 to uint64_t.
44
45 2017-01-12  Cary Coutant  <ccoutant@gmail.com>
46
47         * object.cc (Sized_relobj_file): Fix byte counts for calls to memmem.
48
49 2017-01-11  Cary Coutant  <ccoutant@gmail.com>
50
51         PR gold/21040
52         * x86_64.cc (Output_data_plt_x86_64_bnd::do_fill_first_plt_entry):
53         Remove unnecessary 'typename' keyword.
54         (Output_data_plt_x86_64_bnd::do_fill_plt_entry): Likewise.
55         (Output_data_plt_x86_64_bnd::fill_aplt_entry): Likewise.
56         (Output_data_plt_x86_64_bnd::do_fill_tlsdesc_entry): Likewise.
57         (Output_data_plt_x86_64_bnd::do_write): Likewise.
58
59 2017-01-11  Cary Coutant  <ccoutant@gmail.com>
60
61         PR gold/21040
62         * x86_64.cc (Output_data_plt_x86_64_bnd::do_fill_first_plt_entry):
63         Remove unnecessary 'typename' keyword.
64         (Output_data_plt_x86_64_bnd::do_fill_plt_entry): Likewise.
65         (Output_data_plt_x86_64_bnd::do_fill_tlsdesc_entry): Likewise.
66         (Output_data_plt_x86_64_bnd::fill_aplt_entry): Likewise.
67         * testsuite/copy_test_relro_1.cc (p, b, c, q): Add separate extern
68         declarations.
69
70 2017-01-11  Cary Coutant  <ccoutant@gmail.com>
71
72         PR gold/21039
73         * testsuite/script_test_13.sh: Adjust patterns to work for i386.
74         * testsuite/script_test_15a.sh: Likewise.
75         * testsuite/script_test_15b.sh: Likewise.
76         * testsuite/script_test_15c.sh: Likewise.
77
78 2017-01-11  Alan Modra  <amodra@gmail.com>
79
80         * powerpc.cc (class Powerpc_copy_relocs): New.
81         (Powerpc_copy_relocs::emit): New function.
82         (Powerpc_relobj::relatoc_, toc_, no_toc_opt_): New variables.
83         (Powerpc_relobj::toc_shndx, set_no_toc_opt, no_toc_opt): New inlines.
84         (Powerpc_relobj::do_relocate_sections): New function.
85         (Powerpc_relobj::make_toc_relative): Likewise.
86         (Powerpc_relobj::do_find_special_sections): Stash away .rela.toc
87         and .toc too.
88         (ok_lo_toc_insn): Move earlier, and handle more insns.
89         (Target_powerpc::Scan::local): If optimizing toc accesses, set
90         no_toc_opt for entries we can't edit.  Check insn validity.
91         Emit "toc optimization is not supported" warning, downgraded
92         from error.
93         (Target_powerpc::Scan::global): Likewise.
94         (Target_powerpc::Relocate::relocate): Edit TOC indirect code
95         to TOC relative.  Don't emit "toc optimization is not supported"
96         error here.
97
98 2017-01-10  Cary Coutant  <ccoutant@gmail.com>
99
100         * aarch64.cc (AArch64_relobj::do_relocate_sections): Call
101         Sized_relobj_file::relocate_section_range().
102         * arm.cc (Arm_relobj::do_relocate_sections): Likewise.
103         * object.h (Sized_relobj_file::relocate_section_range): New method.
104         * reloc.cc (Sized_relobj_file::do_relocate_sections): Move
105         implementation...
106         (Sized_relobj_file::relocate_section_range): ...to new method.
107
108 2017-01-10  Alan Modra  <amodra@gmail.com>
109
110         * testsuite/ver_test_8.sh: Accept .TOC. in lieu of
111         _GLOBAL_OFFSET_TABLE_.  Allow zero count.
112         * testsuite/copy_test_relro_1.cc (c, q): New vars.
113         * testsuite/copy_test_relro.cc: Rewrite to test read-only
114         status of variables directly.  Reference new vars in
115         read-only data.
116
117 2017-01-10  Alan Modra  <amodra@gmail.com>
118
119         * options.h: Add --secure-plt option.
120         * powerpc.cc (Target_powerpc::Scan::local): Detect and error
121         on -fPIC -mbss-plt code.
122         (Target_powerpc::Scan::global): Likewise.
123
124 2017-01-09  Alan Modra  <amodra@gmail.com>
125
126         * powerpc.cc (Target_powerpc::make_plt_section): Point sh_info of
127         ".rela.plt" at ".plt".
128
129 2017-01-07  Alan Modra  <amodra@gmail.com>
130
131         * powerpc.cc: Use shorter equivalent elfcpp typedef for
132         Reltype and reloc_size throughout.
133         (Target_powerpc::symval_for_branch): Exclude dynamic symbols.
134         (Target_powerpc::Scan::local): Use local var r_sym.
135         (Target_powerpc::Scan::global: Likewise.
136         (Target_powerpc::Relocate::relocate): Delete shadowing r_sym.
137
138 2017-01-02  Alan Modra  <amodra@gmail.com>
139
140         Update year range in copyright notice of all files.
141
142 For older changes see ChangeLog-2016
143 \f
144 Copyright (C) 2017 Free Software Foundation, Inc.
145
146 Copying and distribution of this file, with or without modification,
147 are permitted in any medium without royalty provided the copyright
148 notice and this notice are preserved.
149
150 Local Variables:
151 mode: change-log
152 left-margin: 8
153 fill-column: 74
154 version-control: never
155 End: