This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
ARM relocation numbers
- From: Nathan Sidwell <nathan at codesourcery dot com>
- To: libc-alpha at sourceware dot org
- Date: Fri, 18 Feb 2011 15:31:57 +0000
- Subject: ARM relocation numbers
ARM have defined some new relocations for TLS descriptor support. These are
documented in r2.08 of the EABI. TLS Descriptor design is at
http://www.codesourcery.com/publications/RFC-TLSDESC-ARM.txt.
As mentioned in the binutils patch
(http://cygwin.com/ml/binutils/2011-01/msg00044.html), the implementation
removed the two R_ARM_THM_TLS_DESCSEQ{16,32} relocations documented in the ABI
and replaces them with a single R_ARM_THM_TLS_DESCSEQ relocation, as agreed with
ARM.
This patch updates the list of ARM relocs in elf.h.
ok?
--
Nathan Sidwell :: http://www.codesourcery.com :: CodeSourcery
2011-02-17 Nathan Sidwell <nathan@codesourcery.com>
Glauber de Oliveira Costa <glommer@gmail.com>
* elf/elf.h: Add new tls relocs.
Index: elf/elf.h
===================================================================
--- elf/elf.h (revision 12809)
+++ elf/elf.h (working copy)
@@ -2318,7 +2318,8 @@ typedef Elf32_Addr Elf32_Conflict;
#define R_ARM_THM_PC22 10
#define R_ARM_THM_PC8 11
#define R_ARM_AMP_VCALL9 12
-#define R_ARM_SWI24 13
+#define R_ARM_SWI24 13 /* Obsolete static relocation. */
+#define R_ARM_TLS_DESC 13 /* Dynamic relocation. */
#define R_ARM_THM_SWI8 14
#define R_ARM_XPC25 15
#define R_ARM_THM_XPC22 16
@@ -2339,6 +2340,10 @@ 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_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_GNU_VTENTRY 100
#define R_ARM_GNU_VTINHERIT 101
#define R_ARM_THM_PC11 102 /* thumb unconditional branch */
@@ -2353,6 +2358,7 @@ 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_RXPC25 249
#define R_ARM_RSBREL32 250
#define R_ARM_THM_RPC22 251