Update year range in copyright notice of all files.
[deliverable/binutils-gdb.git] / include / elf / arc.h
CommitLineData
252b5132 1/* ARC ELF support for BFD.
2571583a 2 Copyright (C) 1995-2017 Free Software Foundation, Inc.
252b5132
RH
3 Contributed by Doug Evans, (dje@cygnus.com)
4
e4e42b45 5 This file is part of BFD, the Binary File Descriptor library.
252b5132 6
e4e42b45
NC
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
252b5132 11
e4e42b45
NC
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
252b5132 16
e4e42b45
NC
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
20 MA 02110-1301, USA. */
252b5132
RH
21
22/* This file holds definitions specific to the ARC ELF ABI. */
23
24#ifndef _ELF_ARC_H
25#define _ELF_ARC_H
26
27#include "elf/reloc-macros.h"
28
29/* Relocations. */
0d2bcfaf 30
886a2506
NC
31#define ARC_RELOC_HOWTO(TYPE, VALUE, SIZE, BITSIZE, RELOC_FUNCTION, OVERFLOW, FORMULA) \
32 RELOC_NUMBER(R_##TYPE, VALUE)
33
252b5132 34START_RELOC_NUMBERS (elf_arc_reloc_type)
886a2506 35#include "arc-reloc.def"
1b452ec6 36END_RELOC_NUMBERS (R_ARC_max)
252b5132 37
886a2506
NC
38#undef ARC_RELOC_HOWTO
39
252b5132
RH
40/* Processor specific flags for the ELF header e_flags field. */
41
886a2506
NC
42#define EF_ARC_MACH_MSK 0x000000ff
43#define EF_ARC_OSABI_MSK 0x00000f00
44#define EF_ARC_ALL_MSK (EF_ARC_MACH_MSK | EF_ARC_OSABI_MSK)
45
a9522a21
AB
46/* Various CPU types. These numbers are exposed in the ELF header flags
47 (e_flags field), and so must never change. */
886a2506
NC
48#define E_ARC_MACH_ARC600 0x00000002
49#define E_ARC_MACH_ARC601 0x00000004
50#define E_ARC_MACH_ARC700 0x00000003
886a2506
NC
51#define EF_ARC_CPU_ARCV2EM 0x00000005
52#define EF_ARC_CPU_ARCV2HS 0x00000006
53
54/* ARC Linux specific ABIs. */
55#define E_ARC_OSABI_ORIG 0x00000000 /* MUST be 0 for back-compat. */
56#define E_ARC_OSABI_V2 0x00000200
57#define E_ARC_OSABI_V3 0x00000300
58#define E_ARC_OSABI_CURRENT E_ARC_OSABI_V3
0d2bcfaf
NC
59
60/* Leave bits 0xf0 alone in case we ever have more than 16 cpu types. */
252b5132
RH
61
62/* File contains position independent code. */
0d2bcfaf
NC
63
64#define EF_ARC_PIC 0x00000100
252b5132
RH
65
66#endif /* _ELF_ARC_H */
This page took 0.655595 seconds and 4 git commands to generate.