Commit | Line | Data |
---|---|---|
0ff2b86e L |
1 | 2014-02-19 Igor Zamyatin <igor.zamyatin@intel.com> |
2 | H.J. Lu <hongjiu.lu@intel.com> | |
3 | ||
4 | * elf64-x86-64.c (elf_x86_64_bnd_plt0_entry): New. | |
5 | (elf_x86_64_legacy_plt_entry): Likewise. | |
6 | (elf_x86_64_bnd_plt_entry): Likewise. | |
7 | (elf_x86_64_legacy_plt2_entry): Likewise. | |
8 | (elf_x86_64_bnd_plt2_entry): Likewise. | |
9 | (elf_x86_64_bnd_arch_bed): Likewise. | |
10 | (elf_x86_64_link_hash_entry): Add has_bnd_reloc and plt_bnd. | |
11 | (elf_x86_64_link_hash_table): Add plt_bnd. | |
12 | (elf_x86_64_link_hash_newfunc): Initialize has_bnd_reloc and | |
13 | plt_bnd. | |
14 | (elf_x86_64_copy_indirect_symbol): Also copy has_bnd_reloc. | |
15 | (elf_x86_64_check_relocs): Create the second PLT for Intel MPX | |
16 | in 64-bit mode. | |
17 | (elf_x86_64_allocate_dynrelocs): Handle the second PLT for IFUNC | |
18 | symbols. Resolve call to the second PLT if it is created. | |
19 | (elf_x86_64_size_dynamic_sections): Keep the second PLT section. | |
20 | (elf_x86_64_relocate_section): Resolve PLT references to the | |
21 | second PLT if it is created. | |
22 | (elf_x86_64_finish_dynamic_symbol): Use BND PLT0 and fill the | |
23 | second PLT entry for BND relocation. | |
24 | (elf_x86_64_finish_dynamic_sections): Use MPX backend data if | |
25 | the second PLT is created. | |
26 | (elf_x86_64_get_synthetic_symtab): New. | |
27 | (bfd_elf64_get_synthetic_symtab): Likewise. Undefine for NaCl. | |
28 | ||
7d4c687d AM |
29 | 2014-02-19 Alan Modra <amodra@gmail.com> |
30 | ||
31 | * elf64-ppc.h (struct ppc64_elf_params): Add save_restore_funcs. | |
32 | * elf64-ppc.c (ppc64_elf_func_desc_adjust): Use it to control | |
33 | provision of out-of-line register save/restore routines. | |
34 | ||
5db3e65d JC |
35 | 2014-02-18 Jack Carter <jack.carter@imgtec.com> |
36 | ||
37 | * elfxx-mips.c(_bfd_mips_elf_modify_segment_map): Deleted hard coding of | |
38 | PT_DYNAMIC segment flags. | |
39 | ||
024a2310 JK |
40 | 2014-02-17 Jan Kratochvil <jan.kratochvil@redhat.com> |
41 | ||
42 | PR binutils/16595 | |
43 | * simple.c (struct saved_offsets): New. | |
44 | (simple_save_output_info): Use it for ptr. | |
45 | (simple_restore_output_info): Use it for ptr. Check section_count. | |
46 | (bfd_simple_get_relocated_section_contents): Use it for saved_offsets. | |
47 | ||
e7d1c40c AM |
48 | 2014-02-17 Alan Modra <amodra@gmail.com> |
49 | ||
50 | * elf64-ppc.h (struct ppc64_elf_params): Define. | |
51 | (ppc64_elf_init_stub_bfd, ppc64_elf_edit_opd, ppc64_elf_tls_setup, | |
52 | ppc64_elf_setup_section_lists, ppc64_elf_size_stubs, | |
53 | ppc64_elf_build_stubs): Update prototype. | |
54 | * elf64-ppp.c (struct ppc_link_hash_table): Add params, delete other | |
55 | fields now in params. Adjust code throughout file. | |
56 | (ppc64_elf_init_stub_bfd): Delete "abfd" parameter, add "params". | |
57 | Save params pointer in htab. | |
58 | (ppc64_elf_edit_opd, ppc64_elf_tls_setup, | |
59 | ppc64_elf_setup_section_lists, ppc64_elf_size_stubs, | |
60 | ppc64_elf_build_stubs): Remove parameters now in "params". | |
61 | ||
668e22e5 AM |
62 | 2014-02-17 Alan Modra <amodra@gmail.com> |
63 | ||
64 | * elf32-ppc.c (ppc_elf_relocate_section): Move relocs on insns | |
65 | patched for ppc476 workaround. Reapply branch taken/not taken | |
66 | relocs. | |
67 | ||
9f7552cf AM |
68 | 2014-02-12 Alan Modra <amodra@gmail.com> |
69 | ||
70 | * elf32-ppc.c (ppc_elf_relax_section): Don't build long-branch | |
71 | stubs for calls to __tls_get_addr that we know will later be | |
72 | optimised away. | |
73 | ||
795bc6b3 AM |
74 | 2014-02-12 Alan Modra <amodra@gmail.com> |
75 | ||
76 | * elf32-ppc.c (ppc_elf_relax_section): Enable ppc476 workaround | |
77 | for ld -r, when code sections are sufficiently aligned. | |
78 | * elf32-ppc.h (struct ppc_elf_params): Delete pagesize. Add | |
79 | pagesize_p2. | |
80 | ||
b407645f AM |
81 | 2014-02-12 Alan Modra <amodra@gmail.com> |
82 | ||
83 | PR gold/15530 | |
84 | * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support | |
85 | --export-dynamic and --dynamic-list marking of symbols. | |
86 | * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Reorder | |
87 | cheap tests first. | |
88 | ||
d6f6f455 L |
89 | 2014-02-10 H.J. Lu <hongjiu.lu@intel.com> |
90 | ||
91 | PR gold/16530 | |
92 | * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Mark symbol in | |
93 | executables if it matches dynamic_list. | |
94 | ||
c1c69e83 AM |
95 | 2014-02-10 Alan Modra <amodra@gmail.com> |
96 | ||
97 | * po/SRC-POTFILES.in: Regenerate. | |
98 | * po/bfd.pot: Regenerate. | |
99 | ||
53291d1f AM |
100 | 2014-02-09 Alan Modra <amodra@gmail.com> |
101 | ||
102 | * elf-bfd.h (struct elf_backend_data): Add caches_rawsize. | |
103 | * elfxx-target.h (elf_backend_caches_rawsize): Define. | |
104 | (elfNN_bed): Init new field. | |
105 | * elflink.c (elf_link_input_bfd): Handle caches_rawsize. | |
106 | * elf32-ppc.c (shared_stub_entry): Zero addi offset. | |
107 | (ppc_elf_relax_section): Don't reallocate section here, write | |
108 | stubs, or write out relocs for ld -r here.. | |
109 | (ppc_elf_relocate_section): ..instead write stubs here, and use | |
110 | existing code to write out relocs for ld -r. Fix offset | |
111 | adjustment on reloc for little-endian. | |
112 | (elf_backend_caches_rawsize): Define. | |
113 | ||
d1eb5696 RO |
114 | 2014-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
115 | ||
85773039 | 116 | PR build/16550 |
d1eb5696 RO |
117 | * cache.c (bfd_cache_max_open): Cast RLIM_INFINITY to rlim_t. |
118 | ||
2915c55b JK |
119 | 2014-02-04 Jan Kratochvil <jan.kratochvil@redhat.com> |
120 | ||
121 | * coff-rs6000.c (xcoff_write_archive_contents_big): Free OFFSETS in | |
122 | return paths. Three times. | |
123 | * elf64-ppc.c (ppc64_elf_link_hash_table_create): Free HTAB in all | |
124 | return paths. | |
125 | (ppc64_elf_tls_optimize): Free TOC_REF in return path. | |
126 | (ppc64_elf_edit_toc): Free USED in return path. | |
127 | ||
1c2de463 SL |
128 | 2014-02-03 Sandra Loosemore <sandra@codesourcery.com> |
129 | ||
130 | * reloc.c (BFD_RELOC_NIOS2_GOT_LO, BFD_RELOC_NIOS2_GOT_HA): New. | |
131 | (BFD_RELOC_NIOS2_CALL_LO, BFD_RELOC_NIOS2_CALL_HA): New. | |
132 | * libbfd.h: Regenerated. | |
133 | * bfd-in2.h: Regenerated. | |
134 | * elf32-nios2.c (elf_nios2_howto_table_rel): Add new relocations. | |
135 | (nios2_reloc_map): Likewise. | |
136 | (GOT_USED, CALL_USED): Renamed from GOT16_USED and CALL16_USED. | |
137 | Fixed all references. | |
138 | (nios2_elf32_relocate_section): Add new relocations. | |
139 | (nios2_elf32_check_relocs): Likewise. | |
140 | (nios2_elf32_gc_sweep_hook): Likewise. | |
141 | ||
5446cbdf AM |
142 | 2014-02-03 Alan Modra <amodra@gmail.com> |
143 | ||
144 | * elf32-ppc.c (struct ppc_elf_link_hash_table): Add params. | |
145 | Delete emit_stub_syms, no_tls_get_addr_opt. Update all uses. | |
146 | (ppc_elf_link_params): New function. | |
147 | (ppc_elf_create_glink): Align .glink to 64 bytes for ppc476 | |
148 | workaround. | |
149 | (ppc_elf_select_plt_layout): Remove plt_style and emit_stub_syms | |
150 | parameters. Use htab->params instead. | |
151 | (ppc_elf_tls_setup): Remove no_tls_get_addr_opt parameter. | |
152 | (ppc_elf_size_dynamic_sections): Align __glink_PLTresolve to | |
153 | 64 bytes for ppc476 workaround. | |
154 | (struct ppc_elf_relax_info): New. | |
155 | (ppc_elf_relax_section): Exclude linker created sections and | |
156 | those too small to hold one instruction. Don't add another | |
157 | branch around trampolines on later relax passes. Don't | |
158 | generate trampolines for undefined symbols when !relocatable, | |
159 | nor for plugin symbols. Allocate space for ppc476 workaround | |
160 | patch area. Free fixups on error return path. | |
161 | (ppc_elf_relocate_section): Handle ppc476 workaround patching. | |
162 | * elf32-ppc.h (struct ppc_elf_params): New. | |
163 | (ppc_elf_select_plt_layout, ppc_elf_tls_setup): Update prototype. | |
164 | (ppc_elf_link_params): Declare. | |
165 | * section.c (SEC_INFO_TYPE_TARGET): Define. | |
166 | * bfd-in2.h: Regenerate. | |
167 | ||
82e91538 SL |
168 | 2014-02-02 Sandra Loosemore <sandra@codesourcery.com> |
169 | ||
170 | * elf32-nios2.c (struct elf32_nios2_link_hash_table): Add | |
171 | h_gp_got field. | |
172 | (nios2_elf32_relocate_section): Use got_base to adjust | |
173 | GOT-pointer-relative relocations relative to _gp_got. | |
174 | (create_got_section): Create _gp_got symbol. | |
175 | (nios2_elf32_finish_dynamic_symbol): Make _gp_got absolute. | |
176 | (nios2_elf32_size_dynamic_sections): Set _gp_got offset. | |
177 | ||
78058a5e SL |
178 | 2014-01-30 Sandra Loosemore <sandra@codesourcery.com> |
179 | ||
180 | * bfd-in2.h: Update from reloc.c. | |
181 | * elf32-nios2.c: Include elf32-nios2.h. | |
182 | (elf_nios2_howto_table_rel): Add entry for R_NIOS2_CALL26_NOAT. | |
183 | (nios2_reloc_map): Likewise. | |
184 | (enum elf32_nios2_stub_type): Declare. | |
185 | (struct elf32_nios2_stub_hash_entry): Declare. | |
186 | (nios2_stub_hash_entry, nios2_stub_hash_lookup): New macros. | |
187 | (struct elf32_nios2_link_hash_entry): Add hsh_cache field. | |
188 | (struct elf32_nios2_link_hash_table): Add new fields bstab, | |
189 | stub_bfd, add_stub_section, layout_sections_again, stub_group, | |
190 | bfd_count, top_index, input_list, all_local_syms. | |
191 | (nios2_call26_stub_entry): New. | |
192 | (nios2_elf32_install_imm16): Move up in file. | |
193 | (nios2_elf32_install_data): Move up in file. | |
194 | (hiadj): Move up in file. | |
195 | (stub_hash_newfunc): New. | |
196 | (link_hash_newfunc): Initialize hsh_cache field. | |
197 | (STUB_SUFFIX): New. | |
198 | (nios2_stub_name): New. | |
199 | (nios2_get_stub_entry): New. | |
200 | (nios2_add_stub): New. | |
201 | (nios2_elf32_setup_section_lists): New. | |
202 | (nios2_elf32_next_input_section): New. | |
203 | (CALL26_SEGMENT): New. | |
204 | (MAX_STUB_SECTION_SIZE): New. | |
205 | (group_sections): New. | |
206 | (nios2_type_of_stub): New. | |
207 | (nios2_build_one_stub): New. | |
208 | (nios2_size_one_stub): New. | |
209 | (get_local_syms): New. | |
210 | (nios2_elf32_size_stubs): New. | |
211 | (nios2_elf32_build_stubs): New. | |
212 | (nios2_elf32_do_call26_relocate): Correct CALL26 overflow test. | |
213 | (nios2_elf32_relocate_section): Handle R_NIOS2_CALL26_NOAT. Add | |
214 | trampolines for R_NIOS2_CALL26 stubs. | |
215 | (nios2_elf32_check_relocs): Handle R_NIOS2_CALL26_NOAT. | |
216 | (nios2_elf32_gc_sweep_hook): Likewise. | |
217 | (nios2_elf32_link_hash_table_create): Initialize the stub hash table. | |
218 | (nios2_elf32_link_hash_table_free): New. | |
219 | (bfd_elf32_bfd_link_hash_table_free): Define. | |
220 | * elf32-nios2.h: New file. | |
221 | * libbfd.h: Update from reloc.c. | |
222 | * reloc.c (BFD_RELOC_NIOS2_CALL26_NOAT): New. | |
223 | ||
df3ce959 NC |
224 | 2014-01-29 Nick Clifton <nickc@redhat.com> |
225 | ||
226 | PR binutils/16318 | |
227 | * elf32-metag.c (elf_metag_post_process_headers): Call | |
228 | _bfd_elf_post_process_headers. | |
229 | * elf32-sh64.c (sh64_elf_copy_private_data): Call | |
230 | _bfd_elf_copy_private_data. | |
231 | * elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise. | |
232 | ||
27b829ee NC |
233 | 2014-01-29 Nick Clifton <nickc@redhat.com> |
234 | ||
235 | * bfd-in.h (bfd_set_section_vma): Delete. | |
236 | (bfd_set_section_alignment): Delete. | |
237 | (bfd_set_section_userdata): Delete. | |
238 | (bfd_set_cacheable): Delete. | |
239 | * bfd.c (bfd_set_cacheable): New static inline function. | |
240 | * section.c (bfd_set_section_userdata): Likewise. | |
241 | (bfd_set_section_vma): Likewise. | |
242 | (bfd_set_section_alignment): Likewise. | |
243 | * bfd-in2.h: Regenerate. | |
244 | ||
0a9c7b2b NC |
245 | 2014-01-28 Nick Clifton <nickc@redhat.com> |
246 | ||
247 | * dwarf2.c (find_abstract_instance_name): For DW_FORM_ref_addr | |
248 | attributes select the CU containing the abbreviation, which may not | |
249 | be the current CU. | |
250 | ||
3ba720c7 AM |
251 | 2014-01-24 Alan Modra <amodra@gmail.com> |
252 | ||
253 | * elf64-ppc.c (ppc_build_one_stub): Correct reloc count passed | |
254 | to get_relocs for ELFv2. | |
255 | ||
d923cae0 L |
256 | 2014-01-23 H.J. Lu <hongjiu.lu@intel.com> |
257 | ||
258 | PR ld/16498 | |
3ba720c7 | 259 | * elf.c (_bfd_elf_map_sections_to_segments): Issue a linker error |
d923cae0 L |
260 | if TLS sections are not adjacent. |
261 | ||
16e4ecc0 AM |
262 | 2014-01-22 Alan Modra <amodra@gmail.com> |
263 | ||
264 | * elflink.c (elf_link_add_object_symbols): Call minfo for --as-needed. | |
265 | ||
eb8d7fda AM |
266 | 2014-01-22 Alan Modra <amodra@gmail.com> |
267 | ||
268 | * elf64-ppc.c (STK_LINKER): Comment typo fix. | |
269 | ||
4584ec12 L |
270 | 2014-01-21 H.J. Lu <hongjiu.lu@intel.com> |
271 | ||
272 | PR ld/16467 | |
273 | * elflink.c (_bfd_elf_merge_symbol): When types of the existing | |
274 | regular default symbol definition and the versioned dynamic | |
275 | symbol definition mismatch, skip the default symbol definition | |
276 | if one of them is IFUNC. | |
277 | ||
22ef172a L |
278 | 2014-01-21 H.J. Lu <hongjiu.lu@intel.com> |
279 | ||
280 | PR ld/2404 | |
281 | * elflink.c (_bfd_elf_merge_symbol): Don't check info->shared, | |
282 | info->export_dynamic nor h->ref_dynamic for type mismatch when | |
283 | adding the default version. | |
284 | ||
b75d42bc AM |
285 | 2014-01-16 Alan Modra <amodra@gmail.com> |
286 | ||
287 | * elfxx-mips.c (mips_elf_record_got_page_entry): Pass in a | |
288 | mips_elf_traverse_got_arg* rather than mips_got_info*. | |
289 | Adjust caller. Alloc on output_bfd rather than symbol section | |
290 | owner. | |
291 | ||
c353e543 L |
292 | 2014-01-15 H.J. Lu <hongjiu.lu@intel.com> |
293 | ||
294 | * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last | |
295 | change. | |
296 | * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. | |
297 | ||
818d220a L |
298 | 2014-01-14 H.J. Lu <hongjiu.lu@intel.com> |
299 | ||
300 | PR ld/16428 | |
301 | * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't discard relocs | |
302 | against __ehdr_start. | |
303 | * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. | |
304 | ||
c3ce498c L |
305 | 2014-01-14 H.J. Lu <hongjiu.lu@intel.com> |
306 | ||
307 | * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last | |
308 | change. | |
309 | * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. | |
310 | ||
d1ec1e40 L |
311 | 2014-01-14 H.J. Lu <hongjiu.lu@intel.com> |
312 | ||
313 | PR ld/16428 | |
314 | * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't update reloc | |
315 | count if there are any non pc-relative relocs. | |
316 | * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. | |
317 | ||
f44a1f8e CL |
318 | 2014-01-14 Michael Hudson-Doyle <michael.hudson@linaro.org> |
319 | Kugan Vivekanandarajah <kugan.vivekanandarajah@linaro.org> | |
320 | ||
321 | * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use correct | |
322 | offset while calculating relocation address. | |
323 | (elfNN_aarch64_create_small_pltn_entry): Likewise. | |
324 | (elfNN_aarch64_init_small_plt0_entry): Likewise. | |
325 | ||
fd0fd00c MJ |
326 | 2014-01-13 Ma Jiang <ma.jiang@zte.com.cn> |
327 | ||
328 | PR ld/16202 | |
329 | * elf32-arm.c (elf32_arm_final_link_relocate): Refetch addends for | |
330 | R_ARM_ABS8 and R_ARM_ABS16. | |
331 | ||
aa726b9e AM |
332 | 2014-01-13 Alan Modra <amodra@gmail.com> |
333 | ||
334 | * elf32-ppc.c (ppc_elf_check_relocs): For @local call to ifunc, | |
335 | error when shared and force a plt call otherwise. | |
336 | (ppc_elf_size_dynamic_sections): Don't emit DT_PPC_GOT unless | |
337 | plt_type == PLT_NEW. | |
338 | (ppc_elf_relocate_section): Add missing test to resolve ifuncs to | |
339 | the appropriate call stub. | |
340 | ||
eec2f3ed AM |
341 | 2014-01-10 Alan Modra <amodra@gmail.com> |
342 | ||
343 | PR ld/14207 | |
344 | PR ld/16322 | |
345 | PR binutils/16323 | |
346 | * elf.c (assign_file_positions_for_load_sections): Revert last change. | |
347 | (assign_file_positions_for_non_load_sections): When setting up | |
348 | PT_GNU_RELRO header, don't require a corresponding PT_LOAD | |
349 | header that completely covers the relro region. | |
350 | ||
09bf66a8 TG |
351 | 2014-01-09 Tristan Gingold <gingold@adacore.com> |
352 | ||
353 | * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): use jump | |
354 | table macros and add macros to initializa the structure. | |
355 | ||
43a8475c L |
356 | 2014-01-08 H.J. Lu <hongjiu.lu@intel.com> |
357 | ||
358 | PR ld/14207 | |
359 | PR ld/16322 | |
360 | PR binutils/16323 | |
361 | * elf.c (_bfd_elf_map_sections_to_segments): Don't check section | |
362 | size for PT_GNU_RELRO segment. | |
363 | (assign_file_positions_for_load_sections): If PT_LOAD segment | |
364 | doesn't fit PT_GNU_RELRO segment, adjust its p_filesz and p_memsz. | |
365 | ||
1651e569 TT |
366 | 2014-01-07 Tom Tromey <tromey@redhat.com> |
367 | ||
368 | * elf32-xtensa.c (vsprint_msg): Don't use old VA_* compatibility | |
369 | wrappers. | |
370 | ||
dc9155b2 NC |
371 | 2014-01-03 Nick Clifton <nickc@redhat.com> |
372 | ||
373 | PR binutils/16199 | |
374 | * elf.c (vma_page_aligned_bias): Handle a maxpagesize value of | |
375 | zero. | |
376 | ||
dd8dfa39 | 377 | 2014-01-02 Yuanhui Zhang <asmwarrior@gmail.com> |
044387af A |
378 | |
379 | PR binutils/14289 | |
380 | * pef.c (bfd_pef_xlib_read_header): Increase buffer size to 80. | |
381 | ||
1be5090b NC |
382 | 2014-01-02 Nick Clifton <nickc@redhat.com> |
383 | ||
384 | PR binutils/11983 | |
385 | * archive.c (_bfd_get_elt_at_filepos): Store a copy of the | |
386 | filename in the bfd's filename field. | |
387 | * elfcode.h (bfd_from_remote_memory): Likewise. | |
388 | * ieee.c (ieee_object_p): Likewise. | |
389 | * mach-o.c (bfd_mach_o_fat_member_init): Likewise. | |
390 | * oasys.c (oasys_openr_next_archived_file): Likewise. | |
391 | * vms-lib.c (_bfd_vms_lib_get_module): Likewise. | |
392 | * opncls.c (bfd_fopen): Likewise. | |
393 | (bfd_openstreamr): Likewise. | |
394 | (bfd_openr_iovec): Likewise. | |
395 | (bfd_openw): Likewise. | |
396 | (bfd_create): Likewise. | |
397 | (_bfd_delete_bfd): Free filename. | |
398 | ||
5fb776a6 | 399 | For older changes see ChangeLog-2013 |
56882138 | 400 | \f |
5fb776a6 | 401 | Copyright (C) 2014 Free Software Foundation, Inc. |
752937aa NC |
402 | |
403 | Copying and distribution of this file, with or without modification, | |
404 | are permitted in any medium without royalty provided the copyright | |
405 | notice and this notice are preserved. | |
406 | ||
56882138 AM |
407 | Local Variables: |
408 | mode: change-log | |
409 | left-margin: 8 | |
410 | fill-column: 74 | |
411 | version-control: never | |
412 | End: |