This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH] Add ARM relocation constants to elf/elf.h
- From: Petr Machata <pmachata at redhat dot com>
- To: libc-alpha at sourceware dot org
- Date: Tue, 22 Jan 2013 16:31:36 +0100
- Subject: [PATCH] Add ARM relocation constants to elf/elf.h
Hi there,
this copies relocation constants from [1]. The constant
R_ARM_THM_TLS_DESCSEQ was apparently renamed to R_ARM_THM_TLS_DESCSEQ16.
I kept both.
I also noticed that there's a discrepancy in R_ARM_IRELATIVE value
between glibc and [1]. I'm looking into it and will post a follow-up
patch if it seems like it should be fixed.
Red Hat has a copyright assignment in place. I do not have a commit
access myself.
Thanks,
PM
[1] "ELF for the ARMÂ Architecture", 30 November 2012.
http://infocenter.arm.com/help/topic/com.arm.doc.ihi0044e/IHI0044E_aaelf.pdf
---
elf/elf.h | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 83 insertions(+), 2 deletions(-)
2013-01-22 Petr Machata <pmachata@redhat.com>
* elf/elf.h (R_ARM_TARGET1): New macro.
(R_ARM_SBREL31, R_ARM_V4BX, R_ARM_TARGET2): Likewise.
(R_ARM_PREL31, R_ARM_MOVW_ABS_NC, R_ARM_MOVT_ABS): Likewise.
(R_ARM_MOVW_PREL_NC, R_ARM_MOVT_PREL): Likewise.
(R_ARM_THM_MOVW_ABS_NC, R_ARM_THM_MOVT_ABS): Likewise.
(R_ARM_THM_MOVW_PREL_NC, R_ARM_THM_MOVT_PREL): Likewise.
(R_ARM_THM_JUMP19, R_ARM_THM_JUMP6): Likewise.
(R_ARM_THM_ALU_PREL_11_0, R_ARM_THM_PC12): Likewise.
(R_ARM_ABS32_NOI, R_ARM_REL32_NOI): Likewise.
(R_ARM_ALU_PC_G0_NC, R_ARM_ALU_PC_G0): Likewise.
(R_ARM_ALU_PC_G1_NC, R_ARM_ALU_PC_G1): Likewise.
(R_ARM_ALU_PC_G2, R_ARM_LDR_PC_G1, R_ARM_LDR_PC_G2): Likewise.
(R_ARM_LDRS_PC_G0, R_ARM_LDRS_PC_G1): Likewise.
(R_ARM_LDRS_PC_G2, R_ARM_LDC_PC_G0): Likewise.
(R_ARM_LDC_PC_G1, R_ARM_LDC_PC_G2): Likewise.
(R_ARM_ALU_SB_G0_NC, R_ARM_ALU_SB_G0): Likewise.
(R_ARM_ALU_SB_G1_NC, R_ARM_ALU_SB_G1): Likewise.
(R_ARM_ALU_SB_G2, R_ARM_LDR_SB_G0, R_ARM_LDR_SB_G1): Likewise.
(R_ARM_LDR_SB_G2, R_ARM_LDRS_SB_G0): Likewise.
(R_ARM_LDRS_SB_G1, R_ARM_LDRS_SB_G2): Likewise.
(R_ARM_LDC_SB_G0, R_ARM_LDC_SB_G1, R_ARM_LDC_SB_G2): Likewise.
(R_ARM_MOVW_BREL_NC, R_ARM_MOVT_BREL): Likewise.
(R_ARM_MOVW_BREL, R_ARM_THM_MOVW_BREL_NC): Likewise.
(R_ARM_THM_MOVT_BREL, R_ARM_THM_MOVW_BREL): Likewise.
(R_ARM_PLT32_ABS, R_ARM_GOT_ABS, R_ARM_GOT_PREL): Likewise.
(R_ARM_GOT_BREL12, R_ARM_GOTOFF12, R_ARM_GOTRELAX): Likewise.
(R_ARM_TLS_LDO12, R_ARM_TLS_LE12, R_ARM_TLS_IE12GP): Likewise.
(R_ARM_PRIVATE_0, R_ARM_PRIVATE_1, R_ARM_PRIVATE_2): Likewise.
(R_ARM_PRIVATE_3, R_ARM_PRIVATE_4, R_ARM_PRIVATE_5): Likewise.
(R_ARM_PRIVATE_6, R_ARM_PRIVATE_7, R_ARM_PRIVATE_8): Likewise.
(R_ARM_PRIVATE_9, R_ARM_PRIVATE_10): Likewise.
(R_ARM_PRIVATE_11, R_ARM_PRIVATE_12): Likewise.
(R_ARM_PRIVATE_13, R_ARM_PRIVATE_14): Likewise.
(R_ARM_PRIVATE_15, R_ARM_ME_TOO): Likewise.
(R_ARM_THM_TLS_DESCSEQ16, R_ARM_THM_TLS_DESCSEQ32): Likewise.
(R_ARM_THM_GOT_BREL12): Likewise.
diff --git a/elf/elf.h b/elf/elf.h
index 9bc5004..44ef5da 100644
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -2377,10 +2377,68 @@ typedef Elf32_Addr Elf32_Conflict;
#define R_ARM_LDR_SBREL_11_0 35
#define R_ARM_ALU_SBREL_19_12 36
#define R_ARM_ALU_SBREL_27_20 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_TLS_DESCSEQ 92 /* TLS relaxation. */
#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_PC11 102 /* thumb unconditional branch */
@@ -2395,7 +2453,30 @@ typedef Elf32_Addr Elf32_Conflict;
static TLS block offset */
#define R_ARM_TLS_LE32 108 /* 32 bit offset relative to static
TLS block */
-#define R_ARM_THM_TLS_DESCSEQ 129
+#define R_ARM_TLS_LDO12 109
+#define R_ARM_TLS_LE12 110
+#define R_ARM_TLS_IE12GP 111
+#define R_ARM_PRIVATE_0 112
+#define R_ARM_PRIVATE_1 113
+#define R_ARM_PRIVATE_2 114
+#define R_ARM_PRIVATE_3 115
+#define R_ARM_PRIVATE_4 116
+#define R_ARM_PRIVATE_5 117
+#define R_ARM_PRIVATE_6 118
+#define R_ARM_PRIVATE_7 119
+#define R_ARM_PRIVATE_8 120
+#define R_ARM_PRIVATE_9 121
+#define R_ARM_PRIVATE_10 122
+#define R_ARM_PRIVATE_11 123
+#define R_ARM_PRIVATE_12 124
+#define R_ARM_PRIVATE_13 125
+#define R_ARM_PRIVATE_14 126
+#define R_ARM_PRIVATE_15 127
+#define R_ARM_ME_TOO 128 /* Obsolete. */
+#define R_ARM_THM_TLS_DESCSEQ 129
+#define R_ARM_THM_TLS_DESCSEQ16 129
+#define R_ARM_THM_TLS_DESCSEQ32 130
+#define R_ARM_THM_GOT_BREL12 131
#define R_ARM_IRELATIVE 160
#define R_ARM_RXPC25 249
#define R_ARM_RSBREL32 250
--
1.7.6.5