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