diff options
author | Robert Mustacchi <rm@fingolfin.org> | 2020-06-25 17:58:31 -0700 |
---|---|---|
committer | Robert Mustacchi <rm@fingolfin.org> | 2020-07-10 12:35:15 -0700 |
commit | 4d9fdb46b215739778ebc12079842c9905586999 (patch) | |
tree | 3771cce63ac88d62941f4174ee3fa58336a95775 /usr/src/lib/libdwarf/common/dwarf_reloc_arm.h | |
parent | 4c60ecf710115cd5ae61f6b97dafc7ff963259f4 (diff) | |
download | illumos-gate-4d9fdb46b215739778ebc12079842c9905586999.tar.gz |
12223 Update libdwarf to libdwarf-20200612
Reviewed by: Richard Lowe <richlowe@richlowe.net>
Approved by: Dan McDonald <danmcd@joyent.com>
Diffstat (limited to 'usr/src/lib/libdwarf/common/dwarf_reloc_arm.h')
-rw-r--r-- | usr/src/lib/libdwarf/common/dwarf_reloc_arm.h | 308 |
1 files changed, 308 insertions, 0 deletions
diff --git a/usr/src/lib/libdwarf/common/dwarf_reloc_arm.h b/usr/src/lib/libdwarf/common/dwarf_reloc_arm.h new file mode 100644 index 0000000000..4b57467a71 --- /dev/null +++ b/usr/src/lib/libdwarf/common/dwarf_reloc_arm.h @@ -0,0 +1,308 @@ +/* + Copyright (C) 2007-2012 David Anderson. All Rights Reserved. + Portions Copyright (C) 2012 SN Systems Ltd. All rights reserved. + + This program is free software; you can redistribute it and/or modify it + under the terms of version 2.1 of the GNU Lesser General Public License + as published by the Free Software Foundation. + + This program is distributed in the hope that it would be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + Further, this software is distributed without any warranty that it is + free of the rightful claim of any third person regarding infringement + or the like. Any license provided herein, whether implied or + otherwise, applies only to this software file. Patent licenses, if + any, provided herein do not apply to combinations of this program with + other software, or any other product whatsoever. + + You should have received a copy of the GNU Lesser General Public License along + with this program; if not, write the Free Software Foundation, Inc., 51 + Franklin Street - Fifth Floor, Boston MA 02110-1301, USA. +*/ + +#ifndef DWARF_RELOC_ARM_H +#define DWARF_RELOC_ARM_H + +/* Definitions for ARM */ +#define DWARF_RELOC_ARM + +#ifndef EM_AARCH64 +#define EM_AARCH64 183 /* Arm 64 */ +#endif + + +/* Include the definitions only in the case of Windows */ +#ifdef _WIN32 +/* Relocation types for ARM */ +#define R_ARM_NONE 0 +#define R_ARM_PC24 1 +#define R_ARM_ABS32 2 +#define R_ARM_REL32 3 +#define R_ARM_LDR_PC_G0 4 +#define R_ARM_ABS16 5 +#define R_ARM_ABS12 6 +#define R_ARM_THM_ABS5 7 +#define R_ARM_ABS8 8 +#define R_ARM_SBREL32 9 +#define R_ARM_THM_CALL 10 +#define R_ARM_THM_PC8 11 +#define R_ARM_BREL_ADJ 12 +#define R_ARM_TLS_DESC 13 +#define R_ARM_THM_SWI8 14 +#define R_ARM_XPC25 15 +#define R_ARM_THM_XPC22 16 +#define R_ARM_TLS_DTPMOD32 17 +#define R_ARM_TLS_DTPOFF32 18 +#define R_ARM_TLS_TPOFF32 19 +#define R_ARM_COPY 20 +#define R_ARM_GLOB_DAT 21 +#define R_ARM_JUMP_SLOT 22 +#define R_ARM_RELATIVE 23 +#define R_ARM_GOTOFF32 24 +#define R_ARM_BASE_PREL 25 +#define R_ARM_GOT_BREL 26 +#define R_ARM_PLT32 27 +#define R_ARM_CALL 28 +#define R_ARM_JUMP24 29 +#define R_ARM_THM_JUMP24 30 +#define R_ARM_BASE_ABS 31 +#define R_ARM_ALU_PCREL_7_0 32 +#define R_ARM_ALU_PCREL_15_8 33 +#define R_ARM_ALU_PCREL_23_15 34 +#define R_ARM_LDR_SBREL_11_0_NC 35 +#define R_ARM_ALU_SBREL_19_12_NC 36 +#define R_ARM_ALU_SBREL_27_20_CK 37 +#define R_ARM_TARGET1 38 +#define R_ARM_SBREL31 39 +#define R_ARM_V4BX 40 +#define R_ARM_TARGET2 41 +#define R_ARM_PREL31 42 +#define R_ARM_MOVW_ABS_NC 43 +#define R_ARM_MOVT_ABS 44 +#define R_ARM_MOVW_PREL_NC 45 +#define R_ARM_MOVT_PREL 46 +#define R_ARM_THM_MOVW_ABS_NC 47 +#define R_ARM_THM_MOVT_ABS 48 +#define R_ARM_THM_MOVW_PREL_NC 49 +#define R_ARM_THM_MOVT_PREL 50 +#define R_ARM_THM_JUMP19 51 +#define R_ARM_THM_JUMP6 52 +#define R_ARM_THM_ALU_PREL_11_0 53 +#define R_ARM_THM_PC12 54 +#define R_ARM_ABS32_NOI 55 +#define R_ARM_REL32_NOI 56 +#define R_ARM_ALU_PC_G0_NC 57 +#define R_ARM_ALU_PC_G0 58 +#define R_ARM_ALU_PC_G1_NC 59 +#define R_ARM_ALU_PC_G1 60 +#define R_ARM_ALU_PC_G2 61 +#define R_ARM_LDR_PC_G1 62 +#define R_ARM_LDR_PC_G2 63 +#define R_ARM_LDRS_PC_G0 64 +#define R_ARM_LDRS_PC_G1 65 +#define R_ARM_LDRS_PC_G2 66 +#define R_ARM_LDC_PC_G0 67 +#define R_ARM_LDC_PC_G1 68 +#define R_ARM_LDC_PC_G2 69 +#define R_ARM_ALU_SB_G0_NC 70 +#define R_ARM_ALU_SB_G0 71 +#define R_ARM_ALU_SB_G1_NC 72 +#define R_ARM_ALU_SB_G1 73 +#define R_ARM_ALU_SB_G2 74 +#define R_ARM_LDR_SB_G0 75 +#define R_ARM_LDR_SB_G1 76 +#define R_ARM_LDR_SB_G2 77 +#define R_ARM_LDRS_SB_G0 78 +#define R_ARM_LDRS_SB_G1 79 +#define R_ARM_LDRS_SB_G2 80 +#define R_ARM_LDC_SB_G0 81 +#define R_ARM_LDC_SB_G1 82 +#define R_ARM_LDC_SB_G2 83 +#define R_ARM_MOVW_BREL_NC 84 +#define R_ARM_MOVT_BREL 85 +#define R_ARM_MOVW_BREL 86 +#define R_ARM_THM_MOVW_BREL_NC 87 +#define R_ARM_THM_MOVT_BREL 88 +#define R_ARM_THM_MOVW_BREL 89 +#define R_ARM_TLS_GOTDESC 90 +#define R_ARM_TLS_CALL 91 +#define R_ARM_TLS_DESCSEQ 92 +#define R_ARM_THM_TLS_CALL 93 +#define R_ARM_PLT32_ABS 94 +#define R_ARM_GOT_ABS 95 +#define R_ARM_GOT_PREL 96 +#define R_ARM_GOT_BREL12 97 +#define R_ARM_GOTOFF12 98 +#define R_ARM_GOTRELAX 99 +#define R_ARM_GNU_VTENTRY 100 +#define R_ARM_GNU_VTINHERIT 101 +#define R_ARM_THM_JUMP11 102 +#define R_ARM_THM_JUMP8 103 +#define R_ARM_TLS_GD32 104 +#define R_ARM_TLS_LDM32 105 +#define R_ARM_TLS_LDO32 106 +#define R_ARM_TLS_IE32 107 +#define R_ARM_TLS_LE32 108 +#define R_ARM_TLS_LDO12 109 +#define R_ARM_TLS_LE12 110 +#define R_ARM_TLS_IE12GP 111 +#define R_ARM_ME_TOO 128 +#define R_ARM_THM_TLS_DESCSEQ16 129 +#define R_ARM_THM_TLS_DESCSEQ32 130 +#define R_ARM_RXPC25 249 +#define R_ARM_RSBREL32 250 +#define R_ARM_THM_RPC22 251 +#define R_ARM_RREL32 252 +#define R_ARM_RABS32 253 +#define R_ARM_RPC24 254 +#define R_ARM_RBASE 255 + +/* Keep this the last entry. */ +#define R_ARM_NUM 256 +#endif /* _WIN32 */ + +/* ARM relocations defined by the ABIs */ +static const char *reloc_type_names_ARM[] = { + "R_ARM_NONE", /* 00 */ + "R_ARM_PC24", /* 01 */ + "R_ARM_ABS32", /* 02 */ + "R_ARM_REL32", /* 03 */ + "R_ARM_LDR_PC_G0", /* 04 */ + "R_ARM_ABS16", /* 05 */ + "R_ARM_ABS12", /* 06 */ + "R_ARM_THM_ABS5", /* 07 */ + "R_ARM_ABS8", /* 08 */ + "R_ARM_SBREL32", /* 09 */ + "R_ARM_THM_CALL", /* 10 */ + "R_ARM_THM_PC8", /* 11 */ + "R_ARM_BREL_ADJ", /* 12 */ + "R_ARM_TLS_DESC", /* 13 */ + "R_ARM_THM_SWI8", /* 14 */ + "R_ARM_XPC25", /* 15 */ + "R_ARM_THM_XPC22", /* 16 */ + "R_ARM_TLS_DTPMOD32", /* 17 */ + "R_ARM_TLS_DTPOFF32", /* 18 */ + "R_ARM_TLS_TPOFF32", /* 19 */ + "R_ARM_COPY", /* 20 */ + "R_ARM_GLOB_DAT", /* 21 */ + "R_ARM_JUMP_SLOT", /* 22 */ + "R_ARM_RELATIVE", /* 23 */ + "R_ARM_GOTOFF32", /* 24 */ + "R_ARM_BASE_PREL", /* 25 */ + "R_ARM_GOT_BREL", /* 26 */ + "R_ARM_PLT32", /* 27 */ + "R_ARM_CALL", /* 28 */ + "R_ARM_JUMP24", /* 29 */ + "R_ARM_THM_JUMP24", /* 30 */ + "R_ARM_BASE_ABS", /* 31 */ + "R_ARM_ALU_PCREL_7_0", /* 32 */ + "R_ARM_ALU_PCREL_15_8", /* 33 */ + "R_ARM_ALU_PCREL_23_15", /* 34 */ + "R_ARM_LDR_SBREL_11_0_NC", /* 35 */ + "R_ARM_ALU_SBREL_19_12_NC", /* 36 */ + "R_ARM_ALU_SBREL_27_20_CK", /* 37 */ + "R_ARM_TARGET1", /* 38 */ + "R_ARM_SBREL31", /* 39 */ + "R_ARM_V4BX", /* 40 */ + "R_ARM_TARGET2", /* 41 */ + "R_ARM_PREL31", /* 42 */ + "R_ARM_MOVW_ABS_NC", /* 43 */ + "R_ARM_MOVT_ABS", /* 44 */ + "R_ARM_MOVW_PREL_NC", /* 45 */ + "R_ARM_MOVT_PREL", /* 46 */ + "R_ARM_THM_MOVW_ABS_NC", /* 47 */ + "R_ARM_THM_MOVT_ABS", /* 48 */ + "R_ARM_THM_MOVW_PREL_NC", /* 49 */ + "R_ARM_THM_MOVT_PREL", /* 50 */ + "R_ARM_THM_JUMP19", /* 51 */ + "R_ARM_THM_JUMP6", /* 52 */ + "R_ARM_THM_ALU_PREL_11_0", /* 53 */ + "R_ARM_THM_PC12", /* 54 */ + "R_ARM_ABS32_NOI", /* 55 */ + "R_ARM_REL32_NOI", /* 56 */ + "R_ARM_ALU_PC_G0_NC", /* 57 */ + "R_ARM_ALU_PC_G0", /* 58 */ + "R_ARM_ALU_PC_G1_NC", /* 59 */ + "R_ARM_ALU_PC_G1", /* 60 */ + "R_ARM_ALU_PC_G2", /* 61 */ + "R_ARM_LDR_PC_G1", /* 62 */ + "R_ARM_LDR_PC_G2", /* 63 */ + "R_ARM_LDRS_PC_G0", /* 64 */ + "R_ARM_LDRS_PC_G1", /* 65 */ + "R_ARM_LDRS_PC_G2", /* 66 */ + "R_ARM_LDC_PC_G0", /* 67 */ + "R_ARM_LDC_PC_G1", /* 68 */ + "R_ARM_LDC_PC_G2", /* 69 */ + "R_ARM_ALU_SB_G0_NC", /* 70 */ + "R_ARM_ALU_SB_G0", /* 71 */ + "R_ARM_ALU_SB_G1_NC", /* 72 */ + "R_ARM_ALU_SB_G1", /* 73 */ + "R_ARM_ALU_SB_G2", /* 74 */ + "R_ARM_LDR_SB_G0", /* 75 */ + "R_ARM_LDR_SB_G1", /* 76 */ + "R_ARM_LDR_SB_G2", /* 77 */ + "R_ARM_LDRS_SB_G0", /* 78 */ + "R_ARM_LDRS_SB_G1", /* 79 */ + "R_ARM_LDRS_SB_G2", /* 80 */ + "R_ARM_LDC_SB_G0", /* 81 */ + "R_ARM_LDC_SB_G1", /* 82 */ + "R_ARM_LDC_SB_G2", /* 83 */ + "R_ARM_MOVW_BREL_NC", /* 84 */ + "R_ARM_MOVT_BREL", /* 85 */ + "R_ARM_MOVW_BREL", /* 86 */ + "R_ARM_THM_MOVW_BREL_NC", /* 87 */ + "R_ARM_THM_MOVT_BREL", /* 88 */ + "R_ARM_THM_MOVW_BREL", /* 89 */ + "R_ARM_TLS_GOTDESC", /* 90 */ + "R_ARM_TLS_CALL", /* 91 */ + "R_ARM_TLS_DESCSEQ", /* 92 */ + "R_ARM_THM_TLS_CALL", /* 93 */ + "R_ARM_PLT32_ABS", /* 94 */ + "R_ARM_GOT_ABS", /* 95 */ + "R_ARM_GOT_PREL", /* 96 */ + "R_ARM_GOT_BREL12", /* 97 */ + "R_ARM_GOTOFF12", /* 98 */ + "R_ARM_GOTRELAX", /* 99 */ + "R_ARM_GNU_VTENTRY", /* 100 */ + "R_ARM_GNU_VTINHERIT", /* 101 */ + "R_ARM_THM_JUMP11", /* 102 */ + "R_ARM_THM_JUMP8", /* 103 */ + "R_ARM_TLS_GD32", /* 104 */ + "R_ARM_TLS_LDM32", /* 105 */ + "R_ARM_TLS_LDO32", /* 106 */ + "R_ARM_TLS_IE32", /* 107 */ + "R_ARM_TLS_LE32", /* 108 */ + "R_ARM_TLS_LDO12", /* 109 */ + "R_ARM_TLS_LE12", /* 110 */ + "R_ARM_TLS_IE12GP", /* 111 */ + "R_ARM_TLS_MOVT_TPOFF32", /* 112 */ /* "R_ARM_PRIVATE_0" */ + "R_ARM_TLS_MOVW_TPOFF32", /* 113 */ /* "R_ARM_PRIVATE_1" */ + "R_ARM_THM_TLS_MOVT_TPOFF32", /* 114 */ /* "R_ARM_PRIVATE_2" */ + "R_ARM_THM_TLS_MOVT_TPOFF32", /* 115 */ /* "R_ARM_PRIVATE_3" */ + "R_ARM_PRIVATE_4", /* 116 */ + "R_ARM_PRIVATE_5", /* 117 */ + "R_ARM_PRIVATE_6", /* 118 */ + "R_ARM_PRIVATE_7", /* 119 */ + "R_ARM_PRIVATE_8", /* 120 */ + "R_ARM_PRIVATE_9", /* 121 */ + "R_ARM_PRIVATE_10", /* 122 */ + "R_ARM_PRIVATE_11", /* 123 */ + "R_ARM_PRIVATE_12", /* 124 */ + "R_ARM_PRIVATE_13", /* 125 */ + "R_ARM_PRIVATE_14", /* 126 */ + "R_ARM_PRIVATE_15", /* 127 */ + "R_ARM_ME_TOO", /* 128 */ + "R_ARM_THM_TLS_DESCSEQ16", /* 129 */ + "R_ARM_THM_TLS_DESCSEQ32", /* 130 */ +}; + +#ifndef R_AARCH64_ABS64 +#define R_AARCH64_ABS64 0x101 +#endif +#ifndef R_AARCH64_ABS32 +#define R_AARCH64_ABS32 0x102 +#endif + +#endif /* DWARF_RELOC_ARM_H */ |