Update the address and phone number of the FSF organization
[deliverable/binutils-gdb.git] / include / elf / v850.h
CommitLineData
252b5132 1/* V850 ELF support for BFD.
c3aa17e9
AM
2 Copyright 1997, 1998, 2000, 2002, 2003, 2004
3 Free Software Foundation, Inc.
252b5132
RH
4 Created by Michael Meissner, Cygnus Support <meissner@cygnus.com>
5
86aba9db 6 This file is part of BFD, the Binary File Descriptor library.
252b5132 7
86aba9db
NC
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2 of the License, or
11 (at your option) any later version.
252b5132 12
86aba9db
NC
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
252b5132 17
86aba9db
NC
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
e172dbf8 20 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
252b5132
RH
21
22/* This file holds definitions specific to the MIPS ELF ABI. Note
23 that most of this is not actually implemented by BFD. */
24
25#ifndef _ELF_V850_H
26#define _ELF_V850_H
27
28/* Processor specific flags for the ELF header e_flags field. */
29
30/* Four bit V850 architecture field. */
31#define EF_V850_ARCH 0xf0000000
32
33/* v850 code. */
34#define E_V850_ARCH 0x00000000
35
36/* v850e code. */
37#define E_V850E_ARCH 0x10000000
38
8ad30312
NC
39/* v850e1 code. */
40#define E_V850E1_ARCH 0x20000000
41
252b5132 42
86aba9db
NC
43/* Flags for the st_other field. */
44#define V850_OTHER_SDA 0x01 /* Symbol had SDA relocations. */
45#define V850_OTHER_ZDA 0x02 /* Symbol had ZDA relocations. */
46#define V850_OTHER_TDA 0x04 /* Symbol had TDA relocations. */
47#define V850_OTHER_TDA_BYTE 0x08 /* Symbol had TDA byte relocations. */
48#define V850_OTHER_ERROR 0x80 /* Symbol had an error reported. */
252b5132 49
86aba9db 50/* V850 relocations. */
252b5132
RH
51#include "elf/reloc-macros.h"
52
53START_RELOC_NUMBERS (v850_reloc_type)
54 RELOC_NUMBER (R_V850_NONE, 0)
55 RELOC_NUMBER (R_V850_9_PCREL, 1)
56 RELOC_NUMBER (R_V850_22_PCREL, 2)
57 RELOC_NUMBER (R_V850_HI16_S, 3)
58 RELOC_NUMBER (R_V850_HI16, 4)
59 RELOC_NUMBER (R_V850_LO16, 5)
e30ddb24 60 RELOC_NUMBER (R_V850_ABS32, 6)
252b5132
RH
61 RELOC_NUMBER (R_V850_16, 7)
62 RELOC_NUMBER (R_V850_8, 8)
63 RELOC_NUMBER( R_V850_SDA_16_16_OFFSET, 9) /* For ld.b, st.b, set1, clr1, not1, tst1, movea, movhi */
64 RELOC_NUMBER( R_V850_SDA_15_16_OFFSET, 10) /* For ld.w, ld.h, ld.hu, st.w, st.h */
65 RELOC_NUMBER( R_V850_ZDA_16_16_OFFSET, 11) /* For ld.b, st.b, set1, clr1, not1, tst1, movea, movhi */
66 RELOC_NUMBER( R_V850_ZDA_15_16_OFFSET, 12) /* For ld.w, ld.h, ld.hu, st.w, st.h */
67 RELOC_NUMBER( R_V850_TDA_6_8_OFFSET, 13) /* For sst.w, sld.w */
68 RELOC_NUMBER( R_V850_TDA_7_8_OFFSET, 14) /* For sst.h, sld.h */
69 RELOC_NUMBER( R_V850_TDA_7_7_OFFSET, 15) /* For sst.b, sld.b */
70 RELOC_NUMBER( R_V850_TDA_16_16_OFFSET, 16) /* For set1, clr1, not1, tst1, movea, movhi */
252b5132
RH
71 RELOC_NUMBER( R_V850_TDA_4_5_OFFSET, 17) /* For sld.hu */
72 RELOC_NUMBER( R_V850_TDA_4_4_OFFSET, 18) /* For sld.bu */
73 RELOC_NUMBER( R_V850_SDA_16_16_SPLIT_OFFSET, 19) /* For ld.bu */
74 RELOC_NUMBER( R_V850_ZDA_16_16_SPLIT_OFFSET, 20) /* For ld.bu */
75 RELOC_NUMBER( R_V850_CALLT_6_7_OFFSET, 21) /* For callt */
76 RELOC_NUMBER( R_V850_CALLT_16_16_OFFSET, 22) /* For callt */
252b5132
RH
77 RELOC_NUMBER (R_V850_GNU_VTINHERIT, 23)
78 RELOC_NUMBER (R_V850_GNU_VTENTRY, 24)
86aba9db
NC
79 RELOC_NUMBER (R_V850_LONGCALL, 25)
80 RELOC_NUMBER (R_V850_LONGJUMP, 26)
81 RELOC_NUMBER (R_V850_ALIGN, 27)
e30ddb24 82 RELOC_NUMBER (R_V850_REL32, 28)
1e50d24d 83 RELOC_NUMBER (R_V850_LO16_SPLIT_OFFSET, 29) /* For ld.bu */
1b452ec6 84END_RELOC_NUMBERS (R_V850_max)
252b5132
RH
85
86\f
87/* Processor specific section indices. These sections do not actually
88 exist. Symbols with a st_shndx field corresponding to one of these
89 values have a special meaning. */
90
91/* Small data area common symbol. */
92#define SHN_V850_SCOMMON 0xff00
93
94/* Tiny data area common symbol. */
95#define SHN_V850_TCOMMON 0xff01
96
97/* Zero data area common symbol. */
98#define SHN_V850_ZCOMMON 0xff02
99
100\f
101/* Processor specific section types. */
102
103/* Section contains the .scommon data. */
104#define SHT_V850_SCOMMON 0x70000000
105
106/* Section contains the .scommon data. */
107#define SHT_V850_TCOMMON 0x70000001
108
109/* Section contains the .scommon data. */
110#define SHT_V850_ZCOMMON 0x70000002
111
2f89ff8d
L
112/* Processor specific section flags. */
113
114/* This section must be in the small data area (pointed to by GP). */
115#define SHF_V850_GPREL 0x10000000
116
117/* This section must be in the tiny data area (pointed to by EP). */
118#define SHF_V850_EPREL 0x20000000
119
120/* This section must be in the zero data area (pointed to by R0). */
121#define SHF_V850_R0REL 0x40000000
122
252b5132 123#endif /* _ELF_V850_H */
This page took 0.241942 seconds and 4 git commands to generate.