Improve relocation overflow errors on MIPS.
[external/binutils.git] / gold / ChangeLog
1 2017-03-15  Vladimir Radosavljevic  <Vladimir.Radosavljevic@imgtec.com>
2
3         * mips.cc (Mips_relocate_functions::rel26): Don't print relocation
4         overflow error message.
5         (Target_mips::relocate_special_relocatable): Improve relocation
6         overflow error message.
7         (Target_mips::Relocate::relocate): Likewise.
8
9 2017-03-15  Vladimir Radosavljevic  <Vladimir.Radosavljevic@imgtec.com>
10
11         * mips.cc (symbol_refs_local): Return false if a symbol
12         is from a dynamic object.
13         (Target_mips::got_section): Make _GLOBAL_OFFSET_TABLE_ STV_HIDDEN.
14         (Target_mips::set_gp): Refactor.  Make _gp STT_NOTYPE and
15         STB_LOCAL.
16         (Target_mips::do_finalize_sections): Set _gp after all the checks
17         for creating .got are done.
18         (Target_mips::Scan::global): Remove unused code.
19
20 2017-02-22  Alan Modra  <amodra@gmail.com>
21
22         * powerpc.cc (Target_powerpc::make_iplt_section): Check that
23         output_section exists before attempting add_output_section_data.
24         (Target_powerpc::make_brlt_section): Likewise.
25
26 2017-02-15  Vladimir Radosavljevic  <Vladimir.Radosavljevic@imgtec.com>
27
28         * mips.cc (Target_mips::Scan::get_reference_flags): Remove
29         gold_unreachable from default case.
30
31 2017-02-15  Vladimir Radosavljevic  <Vladimir.Radosavljevic@imgtec.com>
32
33         PR gold/21111
34         * mips.cc (Mips_relocate_functions::relhigher): New method.
35         (Mips_relocate_functions::relhighest): Likewise.
36         (mips_get_size_for_reloc): Add support for relocs: R_MIPS_HIGHER and
37         R_MIPS_HIGHEST.
38         (Target_mips::Scan::local): Add support for relocs: R_MIPS_HIGHER,
39         R_MIPS_HIGHEST, R_MICROMIPS_HIGHER and R_MICROMIPS_HIGHEST.
40         (Target_mips::Scan::global): Likewise.
41         (Target_mips::Scan::get_reference_flags): Likewise.
42         (Target_mips::Relocate::relocate): Call static methods for resolving
43         HIGHER and HIGHEST relocations.
44
45 2017-02-03  Rahul Chaudhry  <rahulchaudhry@google.com>
46
47         * x86_64.cc (Target_x86_64::do_can_check_for_function_pointers):
48         Return true even when building pie binaries.
49         (Target_x86_64::possible_function_pointer_reloc): Check opcode
50         for R_X86_64_PC32 relocations.
51         (Target_x86_64::local_reloc_may_be_function_pointer): Pass
52         extra arguments to local_reloc_may_be_function_pointer.
53         (Target_x86_64::global_reloc_may_be_function_pointer): Likewise.
54         * gc.h (gc_process_relocs): Add check for STT_FUNC.
55         * testsuite/Makefile.am (icf_safe_pie_test): New test case.
56         * testsuite/Makefile.in: Regenerate.
57         * testsuite/icf_safe_pie_test.sh: New shell script.
58
59 2017-02-03  Alan Modra  <amodra@gmail.com>
60
61         * powerpc.cc (Powerpc_relobj::make_toc_relative): Don't crash
62         when no .toc section exists.
63
64 2017-01-31  Cary Coutant  <ccoutant@gmail.com>
65
66         PR gold/21090
67         * x86_64.cc (Target_x86_64::can_convert_mov_to_lea): Add check
68         for predefined symbol.
69         (Target_x86_64::Relocate::relocate): Fix formatting.
70
71 2017-01-23  Rahul Chaudhry  <rahulchaudhry@google.com>
72
73         * testsuite/icf_safe_so_test.sh: Use "set -e".
74         * testsuite/icf_safe_test.sh: Likewise.
75         * testsuite/icf_test.sh: Likewise.
76
77 2017-01-23  Vladimir Radosavljevic  <Vladimir.Radosavljevic@imgtec.com>
78
79         * mips.cc (Mips_output_data_plt::rel_plt): Remove const from return
80         type.
81         (Target_mips::make_plt_entry): Make the sh_info field of .rel.plt
82         point to .plt.
83
84 2017-01-23  Vladimir Radosavljevic  <Vladimir.Radosavljevic@imgtec.com>
85
86         PR gold/21054
87         * mips.cc (Mips_got_info::record_global_got_symbol): Don't add symbol
88         to the dynamic symbol table if it is forced to local visibility.
89         (Target_mips::do_finalize_sections): Don't add __RLD_MAP symbol to the
90         dynamic symbol table if it is forced to local visibility.
91
92 2017-01-20  Nick Clifton  <nickc@redhat.com>
93
94         * aarch64.cc (Stub_template_repertoire): Change ST_E_835769_INSNS
95         from a pointer to an array.
96
97 2017-01-13  H.J. Lu  <hongjiu.lu@intel.com>
98
99         PR gold/21040
100         * powerpc.cc (Powerpc_relobj<size, big_endian>::make_toc_relative):
101         Cast 0x80008000 to uint64_t.
102
103 2017-01-12  Cary Coutant  <ccoutant@gmail.com>
104
105         * object.cc (Sized_relobj_file): Fix byte counts for calls to memmem.
106
107 2017-01-11  Cary Coutant  <ccoutant@gmail.com>
108
109         PR gold/21040
110         * x86_64.cc (Output_data_plt_x86_64_bnd::do_fill_first_plt_entry):
111         Remove unnecessary 'typename' keyword.
112         (Output_data_plt_x86_64_bnd::do_fill_plt_entry): Likewise.
113         (Output_data_plt_x86_64_bnd::fill_aplt_entry): Likewise.
114         (Output_data_plt_x86_64_bnd::do_fill_tlsdesc_entry): Likewise.
115         (Output_data_plt_x86_64_bnd::do_write): Likewise.
116
117 2017-01-11  Cary Coutant  <ccoutant@gmail.com>
118
119         PR gold/21040
120         * x86_64.cc (Output_data_plt_x86_64_bnd::do_fill_first_plt_entry):
121         Remove unnecessary 'typename' keyword.
122         (Output_data_plt_x86_64_bnd::do_fill_plt_entry): Likewise.
123         (Output_data_plt_x86_64_bnd::do_fill_tlsdesc_entry): Likewise.
124         (Output_data_plt_x86_64_bnd::fill_aplt_entry): Likewise.
125         * testsuite/copy_test_relro_1.cc (p, b, c, q): Add separate extern
126         declarations.
127
128 2017-01-11  Cary Coutant  <ccoutant@gmail.com>
129
130         PR gold/21039
131         * testsuite/script_test_13.sh: Adjust patterns to work for i386.
132         * testsuite/script_test_15a.sh: Likewise.
133         * testsuite/script_test_15b.sh: Likewise.
134         * testsuite/script_test_15c.sh: Likewise.
135
136 2017-01-11  Alan Modra  <amodra@gmail.com>
137
138         * powerpc.cc (class Powerpc_copy_relocs): New.
139         (Powerpc_copy_relocs::emit): New function.
140         (Powerpc_relobj::relatoc_, toc_, no_toc_opt_): New variables.
141         (Powerpc_relobj::toc_shndx, set_no_toc_opt, no_toc_opt): New inlines.
142         (Powerpc_relobj::do_relocate_sections): New function.
143         (Powerpc_relobj::make_toc_relative): Likewise.
144         (Powerpc_relobj::do_find_special_sections): Stash away .rela.toc
145         and .toc too.
146         (ok_lo_toc_insn): Move earlier, and handle more insns.
147         (Target_powerpc::Scan::local): If optimizing toc accesses, set
148         no_toc_opt for entries we can't edit.  Check insn validity.
149         Emit "toc optimization is not supported" warning, downgraded
150         from error.
151         (Target_powerpc::Scan::global): Likewise.
152         (Target_powerpc::Relocate::relocate): Edit TOC indirect code
153         to TOC relative.  Don't emit "toc optimization is not supported"
154         error here.
155
156 2017-01-10  Cary Coutant  <ccoutant@gmail.com>
157
158         * aarch64.cc (AArch64_relobj::do_relocate_sections): Call
159         Sized_relobj_file::relocate_section_range().
160         * arm.cc (Arm_relobj::do_relocate_sections): Likewise.
161         * object.h (Sized_relobj_file::relocate_section_range): New method.
162         * reloc.cc (Sized_relobj_file::do_relocate_sections): Move
163         implementation...
164         (Sized_relobj_file::relocate_section_range): ...to new method.
165
166 2017-01-10  Alan Modra  <amodra@gmail.com>
167
168         * testsuite/ver_test_8.sh: Accept .TOC. in lieu of
169         _GLOBAL_OFFSET_TABLE_.  Allow zero count.
170         * testsuite/copy_test_relro_1.cc (c, q): New vars.
171         * testsuite/copy_test_relro.cc: Rewrite to test read-only
172         status of variables directly.  Reference new vars in
173         read-only data.
174
175 2017-01-10  Alan Modra  <amodra@gmail.com>
176
177         * options.h: Add --secure-plt option.
178         * powerpc.cc (Target_powerpc::Scan::local): Detect and error
179         on -fPIC -mbss-plt code.
180         (Target_powerpc::Scan::global): Likewise.
181
182 2017-01-09  Alan Modra  <amodra@gmail.com>
183
184         * powerpc.cc (Target_powerpc::make_plt_section): Point sh_info of
185         ".rela.plt" at ".plt".
186
187 2017-01-07  Alan Modra  <amodra@gmail.com>
188
189         * powerpc.cc: Use shorter equivalent elfcpp typedef for
190         Reltype and reloc_size throughout.
191         (Target_powerpc::symval_for_branch): Exclude dynamic symbols.
192         (Target_powerpc::Scan::local): Use local var r_sym.
193         (Target_powerpc::Scan::global: Likewise.
194         (Target_powerpc::Relocate::relocate): Delete shadowing r_sym.
195
196 2017-01-02  Alan Modra  <amodra@gmail.com>
197
198         Update year range in copyright notice of all files.
199
200 For older changes see ChangeLog-2016
201 \f
202 Copyright (C) 2017 Free Software Foundation, Inc.
203
204 Copying and distribution of this file, with or without modification,
205 are permitted in any medium without royalty provided the copyright
206 notice and this notice are preserved.
207
208 Local Variables:
209 mode: change-log
210 left-margin: 8
211 fill-column: 74
212 version-control: never
213 End: