xref: /dflybsd-src/contrib/binutils-2.34/include/elf/spu.h (revision b52ef7118d1621abed722c5bbbd542210290ecef)
1*fae548d3Szrj /* SPU ELF support for BFD.
2*fae548d3Szrj 
3*fae548d3Szrj    Copyright (C) 2006-2020 Free Software Foundation, Inc.
4*fae548d3Szrj 
5*fae548d3Szrj    This file is part of BFD, the Binary File Descriptor library.
6*fae548d3Szrj 
7*fae548d3Szrj    This program is free software; you can redistribute it and/or modify
8*fae548d3Szrj    it under the terms of the GNU General Public License as published by
9*fae548d3Szrj    the Free Software Foundation; either version 3 of the License, or
10*fae548d3Szrj    (at your option) any later version.
11*fae548d3Szrj 
12*fae548d3Szrj    This program is distributed in the hope that it will be useful,
13*fae548d3Szrj    but WITHOUT ANY WARRANTY; without even the implied warranty of
14*fae548d3Szrj    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15*fae548d3Szrj    GNU General Public License for more details.
16*fae548d3Szrj 
17*fae548d3Szrj    You should have received a copy of the GNU General Public License
18*fae548d3Szrj    along with this program; if not, write to the Free Software Foundation,
19*fae548d3Szrj    Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
20*fae548d3Szrj 
21*fae548d3Szrj #ifndef _ELF_SPU_H
22*fae548d3Szrj #define _ELF_SPU_H
23*fae548d3Szrj 
24*fae548d3Szrj #include "elf/reloc-macros.h"
25*fae548d3Szrj 
26*fae548d3Szrj /* elf32-spu.c depends on these being consecutive. */
27*fae548d3Szrj START_RELOC_NUMBERS (elf_spu_reloc_type)
28*fae548d3Szrj      RELOC_NUMBER (R_SPU_NONE,		 0)
29*fae548d3Szrj      RELOC_NUMBER (R_SPU_ADDR10,	 1)
30*fae548d3Szrj      RELOC_NUMBER (R_SPU_ADDR16,	 2)
31*fae548d3Szrj      RELOC_NUMBER (R_SPU_ADDR16_HI,	 3)
32*fae548d3Szrj      RELOC_NUMBER (R_SPU_ADDR16_LO,	 4)
33*fae548d3Szrj      RELOC_NUMBER (R_SPU_ADDR18,	 5)
34*fae548d3Szrj      RELOC_NUMBER (R_SPU_ADDR32,	 6)
35*fae548d3Szrj      RELOC_NUMBER (R_SPU_REL16,		 7)
36*fae548d3Szrj      RELOC_NUMBER (R_SPU_ADDR7,		 8)
37*fae548d3Szrj      RELOC_NUMBER (R_SPU_REL9,		 9)
38*fae548d3Szrj      RELOC_NUMBER (R_SPU_REL9I,		10)
39*fae548d3Szrj      RELOC_NUMBER (R_SPU_ADDR10I,	11)
40*fae548d3Szrj      RELOC_NUMBER (R_SPU_ADDR16I,	12)
41*fae548d3Szrj      RELOC_NUMBER (R_SPU_REL32,		13)
42*fae548d3Szrj      RELOC_NUMBER (R_SPU_ADDR16X,	14)
43*fae548d3Szrj      RELOC_NUMBER (R_SPU_PPU32,		15)
44*fae548d3Szrj      RELOC_NUMBER (R_SPU_PPU64,		16)
45*fae548d3Szrj      RELOC_NUMBER (R_SPU_ADD_PIC,	17)
46*fae548d3Szrj END_RELOC_NUMBERS (R_SPU_max)
47*fae548d3Szrj 
48*fae548d3Szrj /* Program header extensions */
49*fae548d3Szrj 
50*fae548d3Szrj /* Mark a PT_LOAD segment as containing an overlay which should not
51*fae548d3Szrj    initially be loaded.  */
52*fae548d3Szrj #define PF_OVERLAY		(1 << 27)
53*fae548d3Szrj 
54*fae548d3Szrj /* SPU Dynamic Object Information.  */
55*fae548d3Szrj #define PT_SPU_INFO             0x70000000
56*fae548d3Szrj 
57*fae548d3Szrj /* SPU plugin information */
58*fae548d3Szrj #define SPU_PLUGIN_NAME         "SPUNAME"
59*fae548d3Szrj #define SPU_PTNOTE_SPUNAME	".note.spu_name"
60*fae548d3Szrj 
61*fae548d3Szrj #endif /* _ELF_SPU_H */
62