xref: /netbsd-src/external/gpl3/binutils.old/dist/bfd/elf64-ppc.h (revision d909946ca08dceb44d7d0f22ec9488679695d976)
1 /* PowerPC64-specific support for 64-bit ELF.
2    Copyright 2002, 2003, 2004, 2005, 2007, 2008, 2010, 2011, 2012
3    Free Software Foundation, Inc.
4 
5    This file is part of BFD, the Binary File Descriptor library.
6 
7    This program is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; either version 3 of the License, or
10    (at your option) any later version.
11 
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16 
17    You should have received a copy of the GNU General Public License
18    along with this program; if not, write to the Free Software
19    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
20    MA 02110-1301, USA.  */
21 
22 void ppc64_elf_init_stub_bfd
23   (bfd *, struct bfd_link_info *);
24 bfd_boolean ppc64_elf_edit_opd
25   (struct bfd_link_info *, bfd_boolean);
26 asection *ppc64_elf_tls_setup
27   (struct bfd_link_info *, int, int *);
28 bfd_boolean ppc64_elf_tls_optimize
29   (struct bfd_link_info *);
30 bfd_boolean ppc64_elf_edit_toc
31   (struct bfd_link_info *);
32 bfd_boolean ppc64_elf_has_small_toc_reloc
33   (asection *);
34 bfd_vma ppc64_elf_toc
35   (bfd *);
36 int ppc64_elf_setup_section_lists
37   (struct bfd_link_info *, asection *(*) (const char *, asection *),
38    void (*) (void));
39 void ppc64_elf_start_multitoc_partition
40   (struct bfd_link_info *);
41 bfd_boolean ppc64_elf_next_toc_section
42   (struct bfd_link_info *, asection *);
43 bfd_boolean ppc64_elf_layout_multitoc
44   (struct bfd_link_info *);
45 void ppc64_elf_finish_multitoc_partition
46   (struct bfd_link_info *);
47 bfd_boolean ppc64_elf_check_init_fini
48   (struct bfd_link_info *);
49 bfd_boolean ppc64_elf_next_input_section
50   (struct bfd_link_info *, asection *);
51 bfd_boolean ppc64_elf_size_stubs
52 (struct bfd_link_info *, bfd_signed_vma, bfd_boolean, int, int);
53 bfd_boolean ppc64_elf_build_stubs
54   (bfd_boolean, struct bfd_link_info *, char **);
55 void ppc64_elf_restore_symbols
56   (struct bfd_link_info *info);
57