]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - include/elf/microblaze.h
Update year range in copyright notice of binutils files
[thirdparty/binutils-gdb.git] / include / elf / microblaze.h
CommitLineData
7ba29e2a
NC
1/* Xilinx MicroBlaze support for BFD.
2
250d07de 3 Copyright (C) 2009-2021 Free Software Foundation, Inc.
7ba29e2a
NC
4
5 This file is part of BFD, the Binary File Descriptor library.
6
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
e4e42b45 9 the Free Software Foundation; either version 3 of the License, or
7ba29e2a
NC
10 (at your option) any later version.
11
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.
16
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, MA
20 02110-1301, USA. */
21
7ba29e2a 22/* This file holds definitions specific to the MICROBLAZE ELF ABI. */
e4e42b45 23
7ba29e2a
NC
24#ifndef _ELF_MICROBLAZE_H
25#define _ELF_MICROBLAZE_H
26
27#include "elf/reloc-macros.h"
28
29/* Relocations. */
30START_RELOC_NUMBERS (elf_microblaze_reloc_type)
31 RELOC_NUMBER (R_MICROBLAZE_NONE, 0)
32 RELOC_NUMBER (R_MICROBLAZE_32, 1)
33 RELOC_NUMBER (R_MICROBLAZE_32_PCREL, 2)
34 RELOC_NUMBER (R_MICROBLAZE_64_PCREL, 3)
35 RELOC_NUMBER (R_MICROBLAZE_32_PCREL_LO, 4)
36 RELOC_NUMBER (R_MICROBLAZE_64, 5)
37 RELOC_NUMBER (R_MICROBLAZE_32_LO, 6)
38 RELOC_NUMBER (R_MICROBLAZE_SRO32, 7)
39 RELOC_NUMBER (R_MICROBLAZE_SRW32, 8)
40 RELOC_NUMBER (R_MICROBLAZE_64_NONE, 9)
41 RELOC_NUMBER (R_MICROBLAZE_32_SYM_OP_SYM, 10)
42 RELOC_NUMBER (R_MICROBLAZE_GNU_VTINHERIT, 11)
43 RELOC_NUMBER (R_MICROBLAZE_GNU_VTENTRY, 12)
44 RELOC_NUMBER (R_MICROBLAZE_GOTPC_64, 13) /* PC-relative GOT offset. */
45 RELOC_NUMBER (R_MICROBLAZE_GOT_64, 14) /* GOT entry offset. */
46 RELOC_NUMBER (R_MICROBLAZE_PLT_64, 15) /* PLT offset (PC-relative). */
47 RELOC_NUMBER (R_MICROBLAZE_REL, 16) /* Adjust by program base. */
48 RELOC_NUMBER (R_MICROBLAZE_JUMP_SLOT, 17) /* Create PLT entry. */
49 RELOC_NUMBER (R_MICROBLAZE_GLOB_DAT, 18) /* Create GOT entry. */
50 RELOC_NUMBER (R_MICROBLAZE_GOTOFF_64, 19) /* Offset relative to GOT. */
51 RELOC_NUMBER (R_MICROBLAZE_GOTOFF_32, 20) /* Offset relative to GOT. */
52 RELOC_NUMBER (R_MICROBLAZE_COPY, 21) /* Runtime copy. */
69b06cc8
ME
53 RELOC_NUMBER (R_MICROBLAZE_TLS, 22) /* TLS Reloc */
54 RELOC_NUMBER (R_MICROBLAZE_TLSGD, 23) /* TLS General Dynamic */
55 RELOC_NUMBER (R_MICROBLAZE_TLSLD, 24) /* TLS Local Dynamic */
56 RELOC_NUMBER (R_MICROBLAZE_TLSDTPMOD32, 25) /* TLS Module ID */
57 RELOC_NUMBER (R_MICROBLAZE_TLSDTPREL32, 26) /* TLS Offset Within TLS Block */
58 RELOC_NUMBER (R_MICROBLAZE_TLSDTPREL64, 27) /* TLS Offset Within TLS Block */
59 RELOC_NUMBER (R_MICROBLAZE_TLSGOTTPREL32, 28) /* TLS Offset From Thread Pointer */
60 RELOC_NUMBER (R_MICROBLAZE_TLSTPREL32, 29) /* TLS Offset From Thread Pointer */
3f0a5f17
ME
61 RELOC_NUMBER (R_MICROBLAZE_TEXTPCREL_64, 30) /* PC-relative TEXT offset. */
62 RELOC_NUMBER (R_MICROBLAZE_TEXTREL_64, 31) /* TEXT Entry offset 64-bit. */
63 RELOC_NUMBER (R_MICROBLAZE_TEXTREL_32_LO, 32) /* TEXT Entry offset 32-bit. */
7ba29e2a
NC
64END_RELOC_NUMBERS (R_MICROBLAZE_max)
65
66/* Global base address names. */
67#define RO_SDA_ANCHOR_NAME "_SDA2_BASE_"
68#define RW_SDA_ANCHOR_NAME "_SDA_BASE_"
69
70/* Section Attributes. */
71#define SHF_MICROBLAZE_NOREAD 0x80000000
72
73#endif /* _ELF_MICROBLAZE_H */