]>
Commit | Line | Data |
---|---|---|
f827120d RP |
1 | /* reloc.h -- Header file for relocation information. |
2 | Copyright (C) 1989,1990 Free Software Foundation, Inc. | |
3 | ||
4 | This file is part of GAS, the GNU Assembler. | |
5 | ||
6 | GAS is free software; you can redistribute it and/or modify | |
7 | it under the terms of the GNU General Public License as published by | |
8 | the Free Software Foundation; either version 1, or (at your option) | |
9 | any later version. | |
10 | ||
11 | GAS is distributed in the hope that it will be useful, | |
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | GNU General Public License for more details. | |
15 | ||
16 | You should have received a copy of the GNU General Public License | |
17 | along with GAS; see the file COPYING. If not, write to | |
18 | the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | |
19 | ||
a07cc613 JG |
20 | /* Relocation types for a.out files using reloc_info_extended |
21 | (SPARC and AMD 29000). */ | |
22 | ||
23 | #ifndef _RELOC_H_READ_ | |
24 | #define _RELOC_H_READ_ 1 | |
25 | ||
26 | enum reloc_type | |
27 | { | |
28 | RELOC_8, RELOC_16, RELOC_32, /* simple relocations */ | |
29 | RELOC_DISP8, RELOC_DISP16, RELOC_DISP32, /* pc-rel displacement */ | |
30 | RELOC_WDISP30, RELOC_WDISP22, | |
31 | RELOC_HI22, RELOC_22, | |
32 | RELOC_13, RELOC_LO10, | |
33 | RELOC_SFA_BASE, RELOC_SFA_OFF13, | |
34 | RELOC_BASE10, RELOC_BASE13, RELOC_BASE22, /* P.I.C. (base-relative) */ | |
35 | RELOC_PC10, RELOC_PC22, /* for some sort of pc-rel P.I.C. (?) */ | |
36 | RELOC_JMP_TBL, /* P.I.C. jump table */ | |
37 | RELOC_SEGOFF16, /* reputedly for shared libraries somehow */ | |
38 | RELOC_GLOB_DAT, RELOC_JMP_SLOT, RELOC_RELATIVE, | |
39 | ||
40 | /* 29K relocation types */ | |
41 | RELOC_JUMPTARG, RELOC_CONST, RELOC_CONSTH, | |
42 | ||
f827120d RP |
43 | #ifndef NO_V9 |
44 | /* sparc v9 */ | |
45 | RELOC_WDISP14, RELOC_WDISP21, | |
46 | #endif /* NO_V9 */ | |
47 | ||
a07cc613 JG |
48 | NO_RELOC |
49 | }; | |
50 | ||
51 | #define RELOC_TYPE_NAMES \ | |
52 | "8", "16", "32", "DISP8", \ | |
53 | "DISP16", "DISP32", "WDISP30", "WDISP22", \ | |
54 | "HI22", "22", "13", "LO10", \ | |
55 | "SFA_BASE", "SFAOFF13", "BASE10", "BASE13", \ | |
56 | "BASE22", "PC10", "PC22", "JMP_TBL", \ | |
57 | "SEGOFF16", "GLOB_DAT", "JMP_SLOT", "RELATIVE", \ | |
58 | "JUMPTARG", "CONST", "CONSTH", \ | |
59 | "NO_RELOC", \ | |
60 | "XXX_28", "XXX_29", "XXX_30", "XXX_31" | |
61 | ||
62 | #endif /* _RELOC_H_READ_ */ | |
f827120d RP |
63 | |
64 | /* end of reloc.h */ |