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