Move RTEMS target configuration to ELF sections
[external/binutils.git] / bfd / ChangeLog
1 2017-01-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2
3         * config.bfd (powerpcle-*-rtems*): Do not mark as removed.
4         (arm-*-rtems*): Move to (arm*-*-eabi*).
5         (i[3-7]86-*-rtems*): Move to (i[3-7]86-*-elf*).
6         (m68-*-rtems*): Move to (m68*-*-elf*).
7
8 2017-01-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
9
10         * config.bfd (*-*-rtemscoff*): Mark as removed.
11
12 2017-01-24  Maciej W. Rozycki  <macro@imgtec.com>
13
14         PR ld/20828
15         * elflink.c (bfd_elf_record_link_assignment): Revert last
16         change and don't ever clear `forced_local'.  Set `mark'
17         unconditionally.
18         (elf_gc_sweep_symbol_info, elf_gc_sweep_symbol): Reorder within
19         file.
20         (elf_gc_sweep): Move the call to `elf_gc_sweep_symbol'...
21         (bfd_elf_size_dynamic_sections): ... here.
22         * elf32-ppc.c (ppc_elf_tls_setup): Don't clear `forced_local'
23         and set `mark' instead in `__tls_get_addr_opt' processing.
24         * elf64-ppc.c (ppc64_elf_tls_setup): Likewise.
25
26 2017-01-24  Alan Modra  <amodra@gmail.com>
27
28         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Merge two cases
29         where dynamic relocs are preferable.  Allow ifunc too.
30         (ensure_undefweak_dynamic): New function.
31         (allocate_dynrelocs): Use it here.  Move plt handling last and
32         don't make symbols dynamic, simplifying loop.  Only make undef
33         weak symbols with GOT entries dynamic.  Correct condition
34         for GOT relocs.  Handle dynamic relocs on ifuncs.  Correct
35         comments.  Remove goto.
36         (ppc_elf_relocate_section): Correct test for using dynamic
37         symbol on GOT relocs.  Rearrange test for emitting GOT relocs
38         to suit.  Set up explicit tls_index entries and implicit GOT
39         tls_index entries resolvable at link time for
40         __tls_get_addr_opt.  Simplify test to clear mem for prelink.
41         * elf64-ppc.c (allocate_got): Correct condition for GOT relocs.
42         (ensure_undefweak_dynamic): New function.
43         (allocate_dynrelocs): Use it here.  Only make undef weak symbols
44         with GOT entries dynamic.  Remove unnecessary test of
45         WILL_CALL_FINISH_DYNAMIC_SYMBOL in PLT handling.
46         (ppc64_elf_relocate_section): Correct test for using dynamic
47         symbol on GOT relocs.  Rearrange test for emitting GOT relocs
48         to suit.  Set up explicit tls_index entries and implicit GOT
49         tls_index entries resolvable at link time for __tls_get_addr_opt.
50         Simplify expression to clear mem for prelink.
51
52 2017-01-23  Yury Norov  <ynorov@caviumnetworks.com>
53
54         * elfnn-aarch64.c: Fix relaxations for ILP32 mode.
55
56 2017-01-20  Jiong Wang <jiong.wang@arm.com>
57
58         * elfnn-aarch64.c (elf_aarch64_hash_symbol): New function.
59         (elf_backend_hash_symbol): Define.
60
61 2017-01-18  Maciej W. Rozycki  <macro@imgtec.com>
62
63         PR ld/20828
64         * elflink.c (bfd_elf_record_link_assignment): Clear any
65         `forced_local' marking for DSO symbols that are not being
66         provided.
67
68 2017-01-17  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
69
70         * elfnn-riscv.c (riscv_elf_object_p): New function.
71
72 2017-01-12  H.J. Lu  <hongjiu.lu@intel.com>
73
74         PR ld/21038
75         * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
76         plt_bnd_eh_frame.
77         (elf_x86_64_check_relocs): Create .eh_frame section for the
78         .plt.bnd section.
79         (elf_x86_64_size_dynamic_sections): Allocate and initialize
80         .eh_frame section for the .plt.bnd section.
81         (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section
82         for the .plt.bnd section.
83
84 2017-01-12  Nick Clifton  <nickc@redhat.com>
85
86         PR binutils/20876
87         * opncls.c (find_separate_debug_file): Add include_dirs
88         parameter.  Only include the directory part of the bfd's filename
89         in search paths if include_dirs is true.  Add a couple of extra
90         locations for looking for debug files.
91         ( bfd_follow_gnu_debuglink): Update invocation of
92         find_separate_debug_file.
93         (bfd_follow_gnu_debugaltlink): Likewise.
94         (get_build_id): New function: Finds the build-id of the given bfd.
95         (get_build_id_name): New function: Computes the name of the
96         separate debug info file for a bfd, based upon its build-id.
97         (check_build_id_file): New function: Checks to see if a separate
98         debug info file exists at the given location, and that its
99         build-id matches that of the original bfd.
100         (bfd_follow_build_id_debuglink): New function: Finds a separate
101         debug info file for a given bfd by using the build-id method.
102         * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Try using the build-id
103         method of locating a separate debug info file before using the
104         debuglink method.
105         * bfd-in2.h: Regenerate.
106
107 2017-01-11  H.J. Lu  <hongjiu.lu@intel.com>
108
109         PR ld/21038
110         * elf64-x86-64.c (elf_x86_64_eh_frame_bnd_plt): New.
111         (elf_x86_64_bnd_arch_bed): Use elf_x86_64_eh_frame_bnd_plt and
112         elf_x86_64_eh_frame_plt_got.
113         (elf_x86_64_size_dynamic_sections): Get unwind info from
114         elf_x86_64_bnd_arch_bed for the BND PLT.
115
116 2017-01-11  Jeremy Soller  <jackpot51@gmail.com>
117
118         * config.bfd: Add entries for i686-redox and x86_64-redox.
119
120 2017-01-10  H.J. Lu  <hongjiu.lu@intel.com>
121
122         * elf32-i386.c (elf_i386_check_relocs): Align .eh_frame section
123         to 4 bytes.
124         * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
125         .eh_frame section to 4 bytes for x32.
126         (elf_x86_64_check_relocs): Likewise.
127
128 2017-01-10  H.J. Lu  <hongjiu.lu@intel.com>
129
130         PR ld/20830
131         * elf32-i386.c (elf_i386_eh_frame_plt_got): New.
132         (PLT_GOT_FDE_LENGTH): Likewise.
133         (elf_i386_plt_layout): Add eh_frame_plt_got and
134         eh_frame_plt_got_size.
135         (elf_i386_plt): Updated.
136         (elf_i386_link_hash_table): Add plt_got_eh_frame.
137         (elf_i386_check_relocs): Create .eh_frame section for .plt.got.
138         (elf_i386_size_dynamic_sections): Allocate and initialize
139         .eh_frame section for .plt.got.
140         (elf_i386_finish_dynamic_sections): Adjust .eh_frame section for
141         .plt.got.
142         (elf_i386_nacl_plt): Add FIXME for eh_frame_plt_got and
143         eh_frame_plt_got_size.
144         * elf64-x86-64.c (elf_x86_64_eh_frame_plt_got): New.
145         (PLT_GOT_FDE_LENGTH): Likewise.
146         (elf_x86_64_backend_data): Add eh_frame_plt_got and
147         eh_frame_plt_got_size.
148         (elf_x86_64_arch_bed): Updated.
149         (elf_x86_64_bnd_arch_bed): Add FIXME for eh_frame_plt_got and
150         eh_frame_plt_got_size.
151         (elf_x86_64_nacl_arch_bed): Likewise.
152         (elf_x86_64_link_hash_table): Add plt_got_eh_frame.
153         (elf_x86_64_check_relocs): Create .eh_frame section for .plt.got.
154         (elf_x86_64_size_dynamic_sections): Allocate and initialize
155         .eh_frame section for .plt.got.
156         (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section
157         for .plt.got.
158
159 2017-01-10  H.J. Lu  <hongjiu.lu@intel.com>
160
161         * elf32-i386.c (elf_i386_size_dynamic_sections): Set
162         plt_eh_frame->size to eh_frame_plt_size and use eh_frame_plt.
163
164 2017-01-09  Nick Clifton  <nickc@redhat.com>
165
166         * dwarf2.c (lookup_address_in_function_table): Return early if
167         there are no functions in the given comp unit, or if the high
168         address of the last function in the comp unit is less than the
169         desired address.
170
171 2017-01-09  Nick Clifton  <nickc@redhat.com>
172
173         PR binutils/21013
174         * coffgen.c (_bfd_coff_get_external_symbols): Generate an error
175         message if there are too many symbols to load.
176
177 2017-01-04  James Clarke  <jrtc27@jrtc27.com>
178
179         * elf64-alpha.c (elf64_alpha_relax_opt_call): Don't set tsec_free
180         if relocs are cached.
181
182 2017-01-03  Rich Felker  <bugdal@aerifal.cx>
183
184         PR ld/21017
185         * elf32-microblaze.c (microblaze_elf_check_relocs): Add an entry
186         for R_MICROBLAZE_GOTOFF_64.
187
188 2017-01-03  Nick Clifton  <nickc@redhat.com>
189
190         * mach-o.c (bfd_mach_o_lookup_uuid_command): Fix compile time
191         warning about using a possibly uninitialised variable.
192
193 2017-01-02  Alan Modra  <amodra@gmail.com>
194
195         * elf32-hppa.c (ensure_undef_weak_dynamic): New function.
196         (allocate_plt_static, allocate_dynrelocs): Use it.
197
198 2017-01-02  Alan Modra  <amodra@gmail.com>
199
200         * elf-hppa.h (elf_hppa_fake_sections): Set SHF_INFO_LINK for
201         .PARISC.unwind section.
202
203 2017-01-02  Alan Modra  <amodra@gmail.com>
204
205         PR ld/20989
206         * elfxx-sparc.c (gdop_relative_offset_ok): New function.
207         (_bfd_sparc_elf_relocate_section): Use it to validate GOT
208         indirect to GOT pointer relative code edit.
209
210 2017-01-02  Alan Modra  <amodra@gmail.com>
211
212         Update year range in copyright notice of all files.
213
214 For older changes see ChangeLog-2016
215 \f
216 Copyright (C) 2017 Free Software Foundation, Inc.
217
218 Copying and distribution of this file, with or without modification,
219 are permitted in any medium without royalty provided the copyright
220 notice and this notice are preserved.
221
222 Local Variables:
223 mode: change-log
224 left-margin: 8
225 fill-column: 74
226 version-control: never
227 End: