Home | History | Annotate | Line # | Download | only in elf
      1      1.1  christos /* TI PRU ELF support for BFD.
      2  1.1.1.5  christos    Copyright (C) 2014-2025 Free Software Foundation, Inc.
      3      1.1  christos    Contributed by Dimitar Dimitrov <dimitar (at) dinux.eu>
      4      1.1  christos 
      5      1.1  christos    This file is part of BFD, the Binary File Descriptor library.
      6      1.1  christos 
      7      1.1  christos    This program is free software; you can redistribute it and/or modify
      8      1.1  christos    it under the terms of the GNU General Public License as published by
      9      1.1  christos    the Free Software Foundation; either version 3 of the License, or
     10      1.1  christos    (at your option) any later version.
     11      1.1  christos 
     12      1.1  christos    This program is distributed in the hope that it will be useful,
     13      1.1  christos    but WITHOUT ANY WARRANTY; without even the implied warranty of
     14      1.1  christos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15      1.1  christos    GNU General Public License for more details.
     16      1.1  christos 
     17      1.1  christos    You should have received a copy of the GNU General Public License
     18      1.1  christos    along with this program; if not, write to the Free Software
     19      1.1  christos    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
     20      1.1  christos    MA 02110-1301, USA.  */
     21      1.1  christos 
     22      1.1  christos 
     23      1.1  christos /* This file holds definitions specific to the TI PRU ELF ABI.  Note
     24      1.1  christos    that most of this is not actually implemented by BFD.  */
     25      1.1  christos 
     26      1.1  christos #ifndef _ELF_PRU_H
     27      1.1  christos #define _ELF_PRU_H
     28      1.1  christos 
     29      1.1  christos #include "elf/reloc-macros.h"
     30      1.1  christos 
     31      1.1  christos START_RELOC_NUMBERS (elf_pru_reloc_type)
     32      1.1  christos   RELOC_NUMBER (R_PRU_NONE,		    0)
     33      1.1  christos   RELOC_NUMBER (R_PRU_16_PMEM,		    5)
     34      1.1  christos   RELOC_NUMBER (R_PRU_U16_PMEMIMM,	    6)
     35      1.1  christos   RELOC_NUMBER (R_PRU_BFD_RELOC_16,	    8)
     36      1.1  christos   RELOC_NUMBER (R_PRU_U16,		    9)
     37      1.1  christos   RELOC_NUMBER (R_PRU_32_PMEM,		    10)
     38      1.1  christos   RELOC_NUMBER (R_PRU_BFD_RELOC_32,	    11)
     39      1.1  christos   RELOC_NUMBER (R_PRU_S10_PCREL,	    14)
     40      1.1  christos   RELOC_NUMBER (R_PRU_U8_PCREL,		    15)
     41      1.1  christos   RELOC_NUMBER (R_PRU_LDI32,		    18)
     42      1.1  christos 
     43      1.1  christos   /* Extensions required by GCC, or simply nice to have.  */
     44      1.1  christos   RELOC_NUMBER (R_PRU_GNU_BFD_RELOC_8,	    64)
     45      1.1  christos   RELOC_NUMBER (R_PRU_GNU_DIFF8,	    65)
     46      1.1  christos   RELOC_NUMBER (R_PRU_GNU_DIFF16,	    66)
     47      1.1  christos   RELOC_NUMBER (R_PRU_GNU_DIFF32,	    67)
     48      1.1  christos   RELOC_NUMBER (R_PRU_GNU_DIFF16_PMEM,	    68)
     49      1.1  christos   RELOC_NUMBER (R_PRU_GNU_DIFF32_PMEM,	    69)
     50      1.1  christos   RELOC_NUMBER (R_PRU_ILLEGAL,		    70)
     51      1.1  christos END_RELOC_NUMBERS (R_PRU_maxext)
     52      1.1  christos 
     53      1.1  christos /* Processor-specific section flags.  */
     54      1.1  christos 
     55      1.1  christos #endif /* _ELF_PRU_H */
     56