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