PowerPC dynamic relocations
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
f0158f44
AM
12017-01-24 Alan Modra <amodra@gmail.com>
2
3 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Merge two cases
4 where dynamic relocs are preferable. Allow ifunc too.
5 (ensure_undefweak_dynamic): New function.
6 (allocate_dynrelocs): Use it here. Move plt handling last and
7 don't make symbols dynamic, simplifying loop. Only make undef
8 weak symbols with GOT entries dynamic. Correct condition
9 for GOT relocs. Handle dynamic relocs on ifuncs. Correct
10 comments. Remove goto.
11 (ppc_elf_relocate_section): Correct test for using dynamic
12 symbol on GOT relocs. Rearrange test for emitting GOT relocs
13 to suit. Set up explicit tls_index entries and implicit GOT
14 tls_index entries resolvable at link time for
15 __tls_get_addr_opt. Simplify test to clear mem for prelink.
16 * elf64-ppc.c (allocate_got): Correct condition for GOT relocs.
17 (ensure_undefweak_dynamic): New function.
18 (allocate_dynrelocs): Use it here. Only make undef weak symbols
19 with GOT entries dynamic. Remove unnecessary test of
20 WILL_CALL_FINISH_DYNAMIC_SYMBOL in PLT handling.
21 (ppc64_elf_relocate_section): Correct test for using dynamic
22 symbol on GOT relocs. Rearrange test for emitting GOT relocs
23 to suit. Set up explicit tls_index entries and implicit GOT
24 tls_index entries resolvable at link time for __tls_get_addr_opt.
25 Simplify expression to clear mem for prelink.
26
2d0ca824
YN
272017-01-23 Yury Norov <ynorov@caviumnetworks.com>
28
29 * elfnn-aarch64.c: Fix relaxations for ILP32 mode.
30
7f784814
JW
312017-01-20 Jiong Wang <jiong.wang@arm.com>
32
33 * elfnn-aarch64.c (elf_aarch64_hash_symbol): New function.
34 (elf_backend_hash_symbol): Define.
35
81ff47b3
MR
362017-01-18 Maciej W. Rozycki <macro@imgtec.com>
37
38 PR ld/20828
39 * elflink.c (bfd_elf_record_link_assignment): Clear any
40 `forced_local' marking for DSO symbols that are not being
41 provided.
42
640d6bfd
KLC
432017-01-17 Kuan-Lin Chen <kuanlinchentw@gmail.com>
44
45 * elfnn-riscv.c (riscv_elf_object_p): New function.
46
8361ed4d
L
472017-01-12 H.J. Lu <hongjiu.lu@intel.com>
48
49 PR ld/21038
50 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
51 plt_bnd_eh_frame.
52 (elf_x86_64_check_relocs): Create .eh_frame section for the
53 .plt.bnd section.
54 (elf_x86_64_size_dynamic_sections): Allocate and initialize
55 .eh_frame section for the .plt.bnd section.
56 (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section
57 for the .plt.bnd section.
58
2425a30e
NC
592017-01-12 Nick Clifton <nickc@redhat.com>
60
61 PR binutils/20876
62 * opncls.c (find_separate_debug_file): Add include_dirs
63 parameter. Only include the directory part of the bfd's filename
64 in search paths if include_dirs is true. Add a couple of extra
65 locations for looking for debug files.
66 ( bfd_follow_gnu_debuglink): Update invocation of
67 find_separate_debug_file.
68 (bfd_follow_gnu_debugaltlink): Likewise.
69 (get_build_id): New function: Finds the build-id of the given bfd.
70 (get_build_id_name): New function: Computes the name of the
71 separate debug info file for a bfd, based upon its build-id.
72 (check_build_id_file): New function: Checks to see if a separate
73 debug info file exists at the given location, and that its
74 build-id matches that of the original bfd.
75 (bfd_follow_build_id_debuglink): New function: Finds a separate
76 debug info file for a given bfd by using the build-id method.
77 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Try using the build-id
78 method of locating a separate debug info file before using the
79 debuglink method.
80 * bfd-in2.h: Regenerate.
81
9e659176
L
822017-01-11 H.J. Lu <hongjiu.lu@intel.com>
83
84 PR ld/21038
85 * elf64-x86-64.c (elf_x86_64_eh_frame_bnd_plt): New.
86 (elf_x86_64_bnd_arch_bed): Use elf_x86_64_eh_frame_bnd_plt and
87 elf_x86_64_eh_frame_plt_got.
88 (elf_x86_64_size_dynamic_sections): Get unwind info from
89 elf_x86_64_bnd_arch_bed for the BND PLT.
90
f2e2d2f5
JS
912017-01-11 Jeremy Soller <jackpot51@gmail.com>
92
93 * config.bfd: Add entries for i686-redox and x86_64-redox.
94
52b232b3
L
952017-01-10 H.J. Lu <hongjiu.lu@intel.com>
96
97 * elf32-i386.c (elf_i386_check_relocs): Align .eh_frame section
98 to 4 bytes.
99 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
100 .eh_frame section to 4 bytes for x32.
101 (elf_x86_64_check_relocs): Likewise.
102
fff53dae
L
1032017-01-10 H.J. Lu <hongjiu.lu@intel.com>
104
105 PR ld/20830
106 * elf32-i386.c (elf_i386_eh_frame_plt_got): New.
107 (PLT_GOT_FDE_LENGTH): Likewise.
108 (elf_i386_plt_layout): Add eh_frame_plt_got and
109 eh_frame_plt_got_size.
110 (elf_i386_plt): Updated.
111 (elf_i386_link_hash_table): Add plt_got_eh_frame.
112 (elf_i386_check_relocs): Create .eh_frame section for .plt.got.
113 (elf_i386_size_dynamic_sections): Allocate and initialize
114 .eh_frame section for .plt.got.
115 (elf_i386_finish_dynamic_sections): Adjust .eh_frame section for
116 .plt.got.
117 (elf_i386_nacl_plt): Add FIXME for eh_frame_plt_got and
118 eh_frame_plt_got_size.
119 * elf64-x86-64.c (elf_x86_64_eh_frame_plt_got): New.
120 (PLT_GOT_FDE_LENGTH): Likewise.
121 (elf_x86_64_backend_data): Add eh_frame_plt_got and
122 eh_frame_plt_got_size.
123 (elf_x86_64_arch_bed): Updated.
124 (elf_x86_64_bnd_arch_bed): Add FIXME for eh_frame_plt_got and
125 eh_frame_plt_got_size.
126 (elf_x86_64_nacl_arch_bed): Likewise.
127 (elf_x86_64_link_hash_table): Add plt_got_eh_frame.
128 (elf_x86_64_check_relocs): Create .eh_frame section for .plt.got.
129 (elf_x86_64_size_dynamic_sections): Allocate and initialize
130 .eh_frame section for .plt.got.
131 (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section
132 for .plt.got.
133
f129e49f
L
1342017-01-10 H.J. Lu <hongjiu.lu@intel.com>
135
136 * elf32-i386.c (elf_i386_size_dynamic_sections): Set
137 plt_eh_frame->size to eh_frame_plt_size and use eh_frame_plt.
138
cd6581da
NC
1392017-01-09 Nick Clifton <nickc@redhat.com>
140
141 * dwarf2.c (lookup_address_in_function_table): Return early if
142 there are no functions in the given comp unit, or if the high
143 address of the last function in the comp unit is less than the
144 desired address.
145
98f02962
NC
1462017-01-09 Nick Clifton <nickc@redhat.com>
147
148 PR binutils/21013
149 * coffgen.c (_bfd_coff_get_external_symbols): Generate an error
150 message if there are too many symbols to load.
151
ae4fda66
JC
1522017-01-04 James Clarke <jrtc27@jrtc27.com>
153
154 * elf64-alpha.c (elf64_alpha_relax_opt_call): Don't set tsec_free
155 if relocs are cached.
156
de1010f4
RF
1572017-01-03 Rich Felker <bugdal@aerifal.cx>
158
159 PR ld/21017
160 * elf32-microblaze.c (microblaze_elf_check_relocs): Add an entry
161 for R_MICROBLAZE_GOTOFF_64.
162
09fe2662
NC
1632017-01-03 Nick Clifton <nickc@redhat.com>
164
165 * mach-o.c (bfd_mach_o_lookup_uuid_command): Fix compile time
166 warning about using a possibly uninitialised variable.
167
595e0a47
AM
1682017-01-02 Alan Modra <amodra@gmail.com>
169
170 * elf32-hppa.c (ensure_undef_weak_dynamic): New function.
171 (allocate_plt_static, allocate_dynrelocs): Use it.
172
7bd9df3b
AM
1732017-01-02 Alan Modra <amodra@gmail.com>
174
175 * elf-hppa.h (elf_hppa_fake_sections): Set SHF_INFO_LINK for
176 .PARISC.unwind section.
177
5b86074c
AM
1782017-01-02 Alan Modra <amodra@gmail.com>
179
180 PR ld/20989
181 * elfxx-sparc.c (gdop_relative_offset_ok): New function.
182 (_bfd_sparc_elf_relocate_section): Use it to validate GOT
183 indirect to GOT pointer relative code edit.
184
2571583a
AM
1852017-01-02 Alan Modra <amodra@gmail.com>
186
187 Update year range in copyright notice of all files.
188
5c1ad6b5 189For older changes see ChangeLog-2016
3499769a 190\f
5c1ad6b5 191Copyright (C) 2017 Free Software Foundation, Inc.
3499769a
AM
192
193Copying and distribution of this file, with or without modification,
194are permitted in any medium without royalty provided the copyright
195notice and this notice are preserved.
196
197Local Variables:
198mode: change-log
199left-margin: 8
200fill-column: 74
201version-control: never
202End:
This page took 0.090649 seconds and 4 git commands to generate.