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 | |
1797fccf | 27 | { |
a07cc613 JG |
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, | |
21c97f13 RP |
39 | RELOC_11, |
40 | RELOC_WDISP2_14, | |
41 | RELOC_WDISP19, | |
c7236eee RP |
42 | RELOC_HHI22, |
43 | RELOC_HLO10, | |
1797fccf SC |
44 | |
45 | /* 29K relocation types */ | |
a07cc613 | 46 | RELOC_JUMPTARG, RELOC_CONST, RELOC_CONSTH, |
1797fccf | 47 | |
f827120d | 48 | RELOC_WDISP14, RELOC_WDISP21, |
1797fccf | 49 | |
a07cc613 | 50 | NO_RELOC |
1797fccf | 51 | }; |
a07cc613 JG |
52 | |
53 | #define RELOC_TYPE_NAMES \ | |
54 | "8", "16", "32", "DISP8", \ | |
55 | "DISP16", "DISP32", "WDISP30", "WDISP22", \ | |
56 | "HI22", "22", "13", "LO10", \ | |
57 | "SFA_BASE", "SFAOFF13", "BASE10", "BASE13", \ | |
58 | "BASE22", "PC10", "PC22", "JMP_TBL", \ | |
59 | "SEGOFF16", "GLOB_DAT", "JMP_SLOT", "RELATIVE", \ | |
21c97f13 | 60 | "11", "WDISP2_14", "WDISP19", \ |
a07cc613 JG |
61 | "JUMPTARG", "CONST", "CONSTH", \ |
62 | "NO_RELOC", \ | |
63 | "XXX_28", "XXX_29", "XXX_30", "XXX_31" | |
64 | ||
65 | #endif /* _RELOC_H_READ_ */ | |
f827120d RP |
66 | |
67 | /* end of reloc.h */ |