1214571Sdim/* SPU ELF support for BFD.
2214571Sdim
3214571Sdim   Copyright 2006, 2007 Free Software Foundation, Inc.
4214571Sdim
5214571Sdim   This file is part of BFD, the Binary File Descriptor library.
6214571Sdim
7214571Sdim   This program is free software; you can redistribute it and/or modify
8214571Sdim   it under the terms of the GNU General Public License as published by
9214571Sdim   the Free Software Foundation; either version 2 of the License, or
10214571Sdim   (at your option) any later version.
11214571Sdim
12214571Sdim   This program is distributed in the hope that it will be useful,
13214571Sdim   but WITHOUT ANY WARRANTY; without even the implied warranty of
14214571Sdim   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15214571Sdim   GNU General Public License for more details.
16214571Sdim
17214571Sdim   You should have received a copy of the GNU General Public License
18214571Sdim   along with this program; if not, write to the Free Software Foundation,
19214571Sdim   Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
20214571Sdim
21214571Sdim#ifndef _ELF_SPU_H
22214571Sdim#define _ELF_SPU_H
23214571Sdim
24214571Sdim#include "elf/reloc-macros.h"
25214571Sdim
26214571Sdim/* elf32-spu.c depends on these being consecutive. */
27214571SdimSTART_RELOC_NUMBERS (elf_spu_reloc_type)
28214571Sdim     RELOC_NUMBER (R_SPU_NONE,		 0)
29214571Sdim     RELOC_NUMBER (R_SPU_ADDR10,	 1)
30214571Sdim     RELOC_NUMBER (R_SPU_ADDR16,	 2)
31214571Sdim     RELOC_NUMBER (R_SPU_ADDR16_HI,	 3)
32214571Sdim     RELOC_NUMBER (R_SPU_ADDR16_LO,	 4)
33214571Sdim     RELOC_NUMBER (R_SPU_ADDR18,	 5)
34214571Sdim     RELOC_NUMBER (R_SPU_ADDR32,	 6)
35214571Sdim     RELOC_NUMBER (R_SPU_REL16,		 7)
36214571Sdim     RELOC_NUMBER (R_SPU_ADDR7,		 8)
37214571Sdim     RELOC_NUMBER (R_SPU_REL9,		 9)
38214571Sdim     RELOC_NUMBER (R_SPU_REL9I,		10)
39214571Sdim     RELOC_NUMBER (R_SPU_ADDR10I,	11)
40214571Sdim     RELOC_NUMBER (R_SPU_ADDR16I,	12)
41214571Sdim     RELOC_NUMBER (R_SPU_REL32,		13)
42214571Sdim     RELOC_NUMBER (R_SPU_ADDR16X,	14)
43214571Sdim     RELOC_NUMBER (R_SPU_PPU32,		15)
44214571Sdim     RELOC_NUMBER (R_SPU_PPU64,		16)
45214571SdimEND_RELOC_NUMBERS (R_SPU_max)
46214571Sdim
47214571Sdim/* Program header extensions */
48214571Sdim
49214571Sdim/* Mark a PT_LOAD segment as containing an overlay which should not
50214571Sdim   initially be loaded.  */
51214571Sdim#define PF_OVERLAY		(1 << 27)
52214571Sdim
53214571Sdim/* SPU Dynamic Object Information.  */
54214571Sdim#define PT_SPU_INFO             0x70000000
55214571Sdim
56214571Sdim/* SPU plugin information */
57214571Sdim#define SPU_PLUGIN_NAME         "SPUNAME"
58214571Sdim#define SPU_PTNOTE_SPUNAME	".note.spu_name"
59214571Sdim
60214571Sdim#endif /* _ELF_SPU_H */
61