This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]