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