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