Update copyright years
[deliverable/binutils-gdb.git] / include / coff / i860.h
CommitLineData
c28b1c28 1/* COFF information for the Intel i860.
4f1d9bd8 2
4b95cf5c 3 Copyright (C) 2001-2014 Free Software Foundation, Inc.
4f1d9bd8
NC
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
e4e42b45 7 the Free Software Foundation; either version 3 of the License, or
4f1d9bd8
NC
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
e4e42b45
NC
17 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
18 MA 02110-1301, USA. */
252b5132 19
4f1d9bd8 20/* This file was hacked from i386.h [dolan@ssd.intel.com] */
252b5132 21
4f1d9bd8
NC
22#define L_LNNO_SIZE 2
23#include "coff/external.h"
252b5132
RH
24
25/* Bits for f_flags:
4f1d9bd8
NC
26 F_RELFLG relocation info stripped from file
27 F_EXEC file is executable (no unresolved external references)
28 F_LNNO line numbers stripped from file
29 F_LSYMS local symbols stripped from file
30 F_AR32WR file has byte ordering of an AR32WR machine (e.g. vax). */
252b5132
RH
31
32#define F_RELFLG (0x0001)
33#define F_EXEC (0x0002)
34#define F_LNNO (0x0004)
35#define F_LSYMS (0x0008)
36
252b5132
RH
37#define I860MAGIC 0x14d
38
39#define I860BADMAG(x) ((x).f_magic != I860MAGIC)
40
1df8af70
JE
41#undef AOUTSZ
42#define AOUTSZ 36
43
252b5132
RH
44/* FIXME: What are the a.out magic numbers? */
45
4f1d9bd8 46#define _ETEXT "etext"
252b5132
RH
47
48/********************** RELOCATION DIRECTIVES **********************/
49
4f1d9bd8
NC
50struct external_reloc
51{
252b5132
RH
52 char r_vaddr[4];
53 char r_symndx[4];
54 char r_type[2];
55};
56
252b5132
RH
57#define RELOC struct external_reloc
58#define RELSZ 10
c28b1c28
JE
59
60/* The relocation directory entry types.
cc643b88 61 PAIR : The low half that follows relates to the preceding HIGH[ADJ].
c28b1c28
JE
62 HIGH : The high half of a 32-bit constant.
63 LOWn : The low half, insn bits 15..(n-1), 2^n-byte aligned.
64 SPLITn : The low half, insn bits 20..16 and 10..(n-1), 2^n-byte aligned.
65 HIGHADJ: Similar to HIGH, but with adjustment.
66 BRADDR : 26-bit branch displacement.
67
68 Note: The Intel assembler manual lists LOW4 as one of the
69 relocation types, but it appears to be useless for the i860.
70 We will recognize it anyway, just in case it actually appears in
71 any object files. */
72
73enum {
74 COFF860_R_PAIR = 0x1c,
75 COFF860_R_HIGH = 0x1e,
76 COFF860_R_LOW0 = 0x1f,
77 COFF860_R_LOW1 = 0x20,
78 COFF860_R_LOW2 = 0x21,
79 COFF860_R_LOW3 = 0x22,
80 COFF860_R_LOW4 = 0x23,
81 COFF860_R_SPLIT0 = 0x24,
82 COFF860_R_SPLIT1 = 0x25,
83 COFF860_R_SPLIT2 = 0x26,
84 COFF860_R_HIGHADJ = 0x27,
85 COFF860_R_BRADDR = 0x28
86};
87
This page took 0.545188 seconds and 4 git commands to generate.