elfxx-tilegx.h revision 1.1.1.2.4.2 1 1.1.1.2.4.2 tls /* TILE-Gx ELF specific backend routines.
2 1.1.1.2.4.2 tls Copyright 2011 Free Software Foundation, Inc.
3 1.1.1.2.4.2 tls
4 1.1.1.2.4.2 tls This file is part of BFD, the Binary File Descriptor library.
5 1.1.1.2.4.2 tls
6 1.1.1.2.4.2 tls This program is free software; you can redistribute it and/or modify
7 1.1.1.2.4.2 tls it under the terms of the GNU General Public License as published by
8 1.1.1.2.4.2 tls the Free Software Foundation; either version 3 of the License, or
9 1.1.1.2.4.2 tls (at your option) any later version.
10 1.1.1.2.4.2 tls
11 1.1.1.2.4.2 tls This program is distributed in the hope that it will be useful,
12 1.1.1.2.4.2 tls but WITHOUT ANY WARRANTY; without even the implied warranty of
13 1.1.1.2.4.2 tls MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 1.1.1.2.4.2 tls GNU General Public License for more details.
15 1.1.1.2.4.2 tls
16 1.1.1.2.4.2 tls You should have received a copy of the GNU General Public License
17 1.1.1.2.4.2 tls along with this program; if not, write to the Free Software
18 1.1.1.2.4.2 tls Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
19 1.1.1.2.4.2 tls MA 02110-1301, USA. */
20 1.1.1.2.4.2 tls
21 1.1.1.2.4.2 tls #include "elf/common.h"
22 1.1.1.2.4.2 tls #include "elf/internal.h"
23 1.1.1.2.4.2 tls
24 1.1.1.2.4.2 tls extern enum elf_reloc_type_class
25 1.1.1.2.4.2 tls tilegx_reloc_type_class (const struct bfd_link_info *,
26 1.1.1.2.4.2 tls const asection *,
27 1.1.1.2.4.2 tls const Elf_Internal_Rela *);
28 1.1.1.2.4.2 tls
29 1.1.1.2.4.2 tls extern reloc_howto_type *
30 1.1.1.2.4.2 tls tilegx_reloc_name_lookup (bfd *, const char *);
31 1.1.1.2.4.2 tls
32 1.1.1.2.4.2 tls extern struct bfd_link_hash_table *
33 1.1.1.2.4.2 tls tilegx_elf_link_hash_table_create (bfd *);
34 1.1.1.2.4.2 tls
35 1.1.1.2.4.2 tls extern reloc_howto_type *
36 1.1.1.2.4.2 tls tilegx_reloc_type_lookup (bfd *, bfd_reloc_code_real_type);
37 1.1.1.2.4.2 tls
38 1.1.1.2.4.2 tls extern void
39 1.1.1.2.4.2 tls tilegx_elf_copy_indirect_symbol (struct bfd_link_info *,
40 1.1.1.2.4.2 tls struct elf_link_hash_entry *,
41 1.1.1.2.4.2 tls struct elf_link_hash_entry *);
42 1.1.1.2.4.2 tls
43 1.1.1.2.4.2 tls extern bfd_boolean
44 1.1.1.2.4.2 tls tilegx_elf_create_dynamic_sections (bfd *, struct bfd_link_info *);
45 1.1.1.2.4.2 tls
46 1.1.1.2.4.2 tls extern bfd_boolean
47 1.1.1.2.4.2 tls tilegx_elf_check_relocs (bfd *, struct bfd_link_info *,
48 1.1.1.2.4.2 tls asection *, const Elf_Internal_Rela *);
49 1.1.1.2.4.2 tls
50 1.1.1.2.4.2 tls extern bfd_boolean
51 1.1.1.2.4.2 tls tilegx_elf_adjust_dynamic_symbol (struct bfd_link_info *,
52 1.1.1.2.4.2 tls struct elf_link_hash_entry *);
53 1.1.1.2.4.2 tls
54 1.1.1.2.4.2 tls extern bfd_boolean
55 1.1.1.2.4.2 tls tilegx_elf_omit_section_dynsym (bfd *,
56 1.1.1.2.4.2 tls struct bfd_link_info *,
57 1.1.1.2.4.2 tls asection *);
58 1.1.1.2.4.2 tls
59 1.1.1.2.4.2 tls extern bfd_boolean
60 1.1.1.2.4.2 tls tilegx_elf_size_dynamic_sections (bfd *, struct bfd_link_info *);
61 1.1.1.2.4.2 tls
62 1.1.1.2.4.2 tls extern bfd_boolean
63 1.1.1.2.4.2 tls tilegx_elf_relocate_section (bfd *, struct bfd_link_info *,
64 1.1.1.2.4.2 tls bfd *, asection *,
65 1.1.1.2.4.2 tls bfd_byte *, Elf_Internal_Rela *,
66 1.1.1.2.4.2 tls Elf_Internal_Sym *,
67 1.1.1.2.4.2 tls asection **);
68 1.1.1.2.4.2 tls
69 1.1.1.2.4.2 tls extern asection *
70 1.1.1.2.4.2 tls tilegx_elf_gc_mark_hook (asection *,
71 1.1.1.2.4.2 tls struct bfd_link_info *,
72 1.1.1.2.4.2 tls Elf_Internal_Rela *,
73 1.1.1.2.4.2 tls struct elf_link_hash_entry *,
74 1.1.1.2.4.2 tls Elf_Internal_Sym *);
75 1.1.1.2.4.2 tls
76 1.1.1.2.4.2 tls extern bfd_boolean
77 1.1.1.2.4.2 tls tilegx_elf_gc_sweep_hook (bfd *, struct bfd_link_info *,
78 1.1.1.2.4.2 tls asection *, const Elf_Internal_Rela *);
79 1.1.1.2.4.2 tls
80 1.1.1.2.4.2 tls extern bfd_vma
81 1.1.1.2.4.2 tls tilegx_elf_plt_sym_val (bfd_vma, const asection *, const arelent *);
82 1.1.1.2.4.2 tls
83 1.1.1.2.4.2 tls extern void
84 1.1.1.2.4.2 tls tilegx_info_to_howto_rela (bfd *, arelent *, Elf_Internal_Rela *);
85 1.1.1.2.4.2 tls
86 1.1.1.2.4.2 tls extern int
87 1.1.1.2.4.2 tls tilegx_additional_program_headers (bfd *, struct bfd_link_info *);
88 1.1.1.2.4.2 tls
89 1.1.1.2.4.2 tls extern bfd_boolean
90 1.1.1.2.4.2 tls tilegx_elf_finish_dynamic_symbol (bfd *,
91 1.1.1.2.4.2 tls struct bfd_link_info *,
92 1.1.1.2.4.2 tls struct elf_link_hash_entry *,
93 1.1.1.2.4.2 tls Elf_Internal_Sym *);
94 1.1.1.2.4.2 tls
95 1.1.1.2.4.2 tls extern bfd_boolean
96 1.1.1.2.4.2 tls tilegx_elf_finish_dynamic_sections (bfd *, struct bfd_link_info *);
97 1.1.1.2.4.2 tls
98 1.1.1.2.4.2 tls extern bfd_boolean
99 1.1.1.2.4.2 tls _bfd_tilegx_elf_merge_private_bfd_data (bfd *, bfd *);
100