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