Squashed 'third_party/elfutils/' content from commit 555e15e
Change-Id: I61cde98949e47e5c8c09c33260de17f30921be79
git-subtree-dir: third_party/elfutils
git-subtree-split: 555e15ebe8bf1eb33d00747173cfc80cc65648a4
diff --git a/backends/arm_reloc.def b/backends/arm_reloc.def
new file mode 100644
index 0000000..113648e
--- /dev/null
+++ b/backends/arm_reloc.def
@@ -0,0 +1,157 @@
+/* List the relocation types for arm. -*- C -*-
+ Copyright (C) 2005-2010, 2014, 2015 Red Hat, Inc.
+ This file is part of elfutils.
+
+ This file is free software; you can redistribute it and/or modify
+ it under the terms of either
+
+ * the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 3 of the License, or (at
+ your option) any later version
+
+ or
+
+ * the GNU General Public License as published by the Free
+ Software Foundation; either version 2 of the License, or (at
+ your option) any later version
+
+ or both in parallel, as here.
+
+ elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received copies of the GNU General Public License and
+ the GNU Lesser General Public License along with this program. If
+ not, see <http://www.gnu.org/licenses/>. */
+
+/* NAME, REL|EXEC|DYN */
+
+RELOC_TYPE (NONE, REL) /* It really is used in ET_REL on ARM. */
+RELOC_TYPE (PC24, REL|EXEC|DYN)
+RELOC_TYPE (ABS32, REL|EXEC|DYN)
+RELOC_TYPE (REL32, REL)
+RELOC_TYPE (PC13, REL)
+RELOC_TYPE (ABS16, REL)
+RELOC_TYPE (ABS12, REL)
+RELOC_TYPE (THM_ABS5, REL)
+RELOC_TYPE (ABS8, REL)
+RELOC_TYPE (SBREL32, REL)
+RELOC_TYPE (THM_PC22, REL)
+RELOC_TYPE (THM_PC8, REL)
+RELOC_TYPE (AMP_VCALL9, REL)
+RELOC_TYPE (TLS_DESC, EXEC|DYN)
+RELOC_TYPE (THM_SWI8, REL)
+RELOC_TYPE (XPC25, REL)
+RELOC_TYPE (THM_XPC22, REL)
+RELOC_TYPE (TLS_DTPMOD32, EXEC|DYN)
+RELOC_TYPE (TLS_DTPOFF32, EXEC|DYN)
+RELOC_TYPE (TLS_TPOFF32, EXEC|DYN)
+RELOC_TYPE (COPY, EXEC|DYN)
+RELOC_TYPE (GLOB_DAT, EXEC|DYN)
+RELOC_TYPE (JUMP_SLOT, EXEC|DYN)
+RELOC_TYPE (RELATIVE, EXEC|DYN)
+RELOC_TYPE (GOTOFF, REL)
+RELOC_TYPE (GOTPC, REL)
+RELOC_TYPE (GOT32, REL)
+RELOC_TYPE (PLT32, REL)
+RELOC_TYPE (CALL, REL)
+RELOC_TYPE (JUMP24, REL)
+RELOC_TYPE (THM_JUMP24, REL)
+RELOC_TYPE (BASE_ABS, REL)
+RELOC_TYPE (ALU_PCREL_7_0, REL)
+RELOC_TYPE (ALU_PCREL_15_8, REL)
+RELOC_TYPE (ALU_PCREL_23_15, REL)
+RELOC_TYPE (LDR_SBREL_11_0, REL)
+RELOC_TYPE (ALU_SBREL_19_12, REL)
+RELOC_TYPE (ALU_SBREL_27_20, REL)
+RELOC_TYPE (TARGET1, REL)
+RELOC_TYPE (SBREL31, REL)
+RELOC_TYPE (V4BX, REL)
+RELOC_TYPE (TARGET2, REL)
+RELOC_TYPE (PREL31, REL)
+RELOC_TYPE (MOVW_ABS_NC, REL)
+RELOC_TYPE (MOVT_ABS, REL)
+RELOC_TYPE (MOVW_PREL_NC, REL)
+RELOC_TYPE (MOVT_PREL, REL)
+RELOC_TYPE (THM_MOVW_ABS_NC, REL)
+RELOC_TYPE (THM_MOVT_ABS, REL)
+RELOC_TYPE (THM_MOVW_PREL_NC, REL)
+RELOC_TYPE (THM_MOVT_PREL, REL)
+RELOC_TYPE (THM_JUMP19, REL)
+RELOC_TYPE (THM_JUMP6, REL)
+RELOC_TYPE (THM_ALU_PREL_11_0, REL)
+RELOC_TYPE (THM_PC12, REL)
+RELOC_TYPE (ABS32_NOI, REL)
+RELOC_TYPE (REL32_NOI, REL)
+RELOC_TYPE (ALU_PC_G0_NC, REL)
+RELOC_TYPE (ALU_PC_G0, REL)
+RELOC_TYPE (ALU_PC_G1_NC, REL)
+RELOC_TYPE (ALU_PC_G1, REL)
+RELOC_TYPE (ALU_PC_G2, REL)
+RELOC_TYPE (LDR_PC_G1, REL)
+RELOC_TYPE (LDR_PC_G2, REL)
+RELOC_TYPE (LDRS_PC_G0, REL)
+RELOC_TYPE (LDRS_PC_G1, REL)
+RELOC_TYPE (LDRS_PC_G2, REL)
+RELOC_TYPE (LDC_PC_G0, REL)
+RELOC_TYPE (LDC_PC_G1, REL)
+RELOC_TYPE (LDC_PC_G2, REL)
+RELOC_TYPE (ALU_SB_G0_NC, REL)
+RELOC_TYPE (ALU_SB_G0, REL)
+RELOC_TYPE (ALU_SB_G1_NC, REL)
+RELOC_TYPE (ALU_SB_G1, REL)
+RELOC_TYPE (ALU_SB_G2, REL)
+RELOC_TYPE (LDR_SB_G0, REL)
+RELOC_TYPE (LDR_SB_G1, REL)
+RELOC_TYPE (LDR_SB_G2, REL)
+RELOC_TYPE (LDRS_SB_G0, REL)
+RELOC_TYPE (LDRS_SB_G1, REL)
+RELOC_TYPE (LDRS_SB_G2, REL)
+RELOC_TYPE (LDC_SB_G0, REL)
+RELOC_TYPE (LDC_SB_G1, REL)
+RELOC_TYPE (LDC_SB_G2, REL)
+RELOC_TYPE (MOVW_BREL_NC, REL)
+RELOC_TYPE (MOVT_BREL, REL)
+RELOC_TYPE (MOVW_BREL, REL)
+RELOC_TYPE (THM_MOVW_BREL_NC, REL)
+RELOC_TYPE (THM_MOVT_BREL, REL)
+RELOC_TYPE (THM_MOVW_BREL, REL)
+RELOC_TYPE (TLS_GOTDESC, REL)
+RELOC_TYPE (TLS_CALL, REL)
+RELOC_TYPE (TLS_DESCSEQ, REL)
+RELOC_TYPE (THM_TLS_CALL, REL)
+RELOC_TYPE (PLT32_ABS, REL)
+RELOC_TYPE (GOT_ABS, REL)
+RELOC_TYPE (GOT_PREL, REL)
+RELOC_TYPE (GOT_BREL12, REL)
+RELOC_TYPE (GOTOFF12, REL)
+RELOC_TYPE (GOTRELAX, REL)
+RELOC_TYPE (GNU_VTENTRY, REL)
+RELOC_TYPE (GNU_VTINHERIT, REL)
+RELOC_TYPE (THM_PC11, REL)
+RELOC_TYPE (THM_PC9, REL)
+RELOC_TYPE (TLS_GD32, REL)
+RELOC_TYPE (TLS_LDM32, REL)
+RELOC_TYPE (TLS_LDO32, REL)
+RELOC_TYPE (TLS_IE32, REL)
+RELOC_TYPE (TLS_LE32, REL)
+RELOC_TYPE (TLS_LDO12, REL)
+RELOC_TYPE (TLS_LE12, REL)
+RELOC_TYPE (TLS_IE12GP, REL)
+
+RELOC_TYPE (ME_TOO, REL)
+RELOC_TYPE (THM_TLS_DESCSEQ16, REL)
+RELOC_TYPE (THM_TLS_DESCSEQ32, REL)
+RELOC_TYPE (THM_GOT_BREL12, REL)
+
+RELOC_TYPE (IRELATIVE, EXEC|DYN)
+
+RELOC_TYPE (RXPC25, REL)
+RELOC_TYPE (RSBREL32, REL)
+RELOC_TYPE (THM_RPC22, REL)
+RELOC_TYPE (RREL32, REL)
+RELOC_TYPE (RABS22, REL)
+RELOC_TYPE (RPC24, REL)
+RELOC_TYPE (RBASE, REL)