Annotation of src/external/gpl3/binutils.old/dist/include/elf/xgate.h, Revision 1.1.1.3
1.1 christos 1: /* XGATE ELF support for BFD.
1.1.1.3 ! christos 2: Copyright (C) 2010-2016 Free Software Foundation, Inc.
1.1 christos 3:
4: This file is part of BFD, the Binary File Descriptor library.
5:
6: This program 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 2 of the License, or
9: (at your option) any later version.
10:
11: This program 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 this program; if not, write to the Free Software Foundation,
18: Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
19:
20: #ifndef _ELF_XGATE_H
21: #define _ELF_XGATE_H
22:
23: #include "elf/reloc-macros.h"
24:
25: /* Relocation types. */
26: START_RELOC_NUMBERS (elf_xgate_reloc_type)
27: RELOC_NUMBER (R_XGATE_NONE, 0)
28: RELOC_NUMBER (R_XGATE_8, 1)
29: RELOC_NUMBER (R_XGATE_PCREL_8, 2)
30: RELOC_NUMBER (R_XGATE_16, 3)
31: RELOC_NUMBER (R_XGATE_32, 4)
32: RELOC_NUMBER (R_XGATE_PCREL_16, 5)
33: /* These are GNU extensions to enable C++ vtable garbage collection. */
34: RELOC_NUMBER (R_XGATE_GNU_VTINHERIT, 6)
35: RELOC_NUMBER (R_XGATE_GNU_VTENTRY, 7)
36:
37: RELOC_NUMBER (R_XGATE_24, 8)
38: RELOC_NUMBER (R_XGATE_LO16, 9)
39: RELOC_NUMBER (R_XGATE_GPAGE, 10)
40: RELOC_NUMBER (R_XGATE_PCREL_9, 11)
41: RELOC_NUMBER (R_XGATE_PCREL_10, 12)
42: RELOC_NUMBER (R_XGATE_IMM8_LO, 13)
43: RELOC_NUMBER (R_XGATE_IMM8_HI, 14)
44: RELOC_NUMBER (R_XGATE_IMM3, 15)
45: RELOC_NUMBER (R_XGATE_IMM4, 16)
46: RELOC_NUMBER (R_XGATE_IMM5, 17)
47:
48: /* GNU extension for linker relaxation.
49: Mark beginning of a jump instruction (any form). */
50: RELOC_NUMBER (R_XGATE_RL_JUMP, 18)
51:
52: /* Mark beginning of Gcc relaxation group instruction. */
53: RELOC_NUMBER (R_XGATE_RL_GROUP, 19)
54: END_RELOC_NUMBERS (R_XGATE_max)
55:
56: /* Processor specific flags for the ELF header e_flags field. */
57:
58: /* ABI identification. */
59: #define EF_XGATE_ABI 0x00000000F
60:
61: /* Integers are 32-bit long. */
62: #define E_XGATE_I32 0x000000001
63:
64: /* Doubles are 64-bit long. */
65: #define E_XGATE_F64 0x000000002
66:
67: #define EF_XGATE_MACH_MASK 0xF0
68:
69: #define EF_XGATE_MACH 0x80 /* XGATE microcontroller. */
70:
71: #define E_M68HCS12X_GLOBAL 0x100
72:
73: /* Identify interrupt handlers. This is used by the debugger to
74: correctly compute the stack frame. */
75: #define STO_XGATE_INTERRUPT 0x40
76:
77: #endif
CVSweb <webmaster@jp.NetBSD.org>