The elflint self test now also checks ET_REL files. Update the list of relocation types to include all known relocations from elf.h. R_ARM_SWI24 was obsolete and is now named R_ARM_TLS_DESC. The only other relocation used in the dynamic linker is R_ARM_IRELATIVE.
Signed-off-by: Mark Wielaard mjw@redhat.com --- backends/ChangeLog | 4 +++ backends/arm_reloc.def | 81 ++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 83 insertions(+), 2 deletions(-)
diff --git a/backends/ChangeLog b/backends/ChangeLog index 0df6819..045fa9d 100644 --- a/backends/ChangeLog +++ b/backends/ChangeLog @@ -1,3 +1,7 @@ +2014-01-24 Mark Wielaard mjw@redhat.com + + * arm_reloc.def: Update list. + 2014-01-22 Mark Wielaard mjw@redhat.com
* Makefile.am (aarch64_regs_no_Wformat): Removed. diff --git a/backends/arm_reloc.def b/backends/arm_reloc.def index eeb2160..4b7894b 100644 --- a/backends/arm_reloc.def +++ b/backends/arm_reloc.def @@ -1,5 +1,5 @@ /* List the relocation types for arm. -*- C -*- - Copyright (C) 2005-2010 Red Hat, Inc. + Copyright (C) 2005-2010, 2014 Red Hat, Inc. This file is part of elfutils.
This file is free software; you can redistribute it and/or modify @@ -41,7 +41,7 @@ RELOC_TYPE (SBREL32, REL) RELOC_TYPE (THM_PC22, REL) RELOC_TYPE (THM_PC8, REL) RELOC_TYPE (AMP_VCALL9, REL) -RELOC_TYPE (SWI24, REL) +RELOC_TYPE (TLS_DESC, EXEC|DYN) RELOC_TYPE (THM_SWI8, REL) RELOC_TYPE (XPC25, REL) RELOC_TYPE (THM_XPC22, REL) @@ -56,12 +56,78 @@ 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) @@ -71,6 +137,17 @@ 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)
On Fri, 2014-01-24 at 16:03 +0100, Mark Wielaard wrote:
The elflint self test now also checks ET_REL files. Update the list of relocation types to include all known relocations from elf.h. R_ARM_SWI24 was obsolete and is now named R_ARM_TLS_DESC. The only other relocation used in the dynamic linker is R_ARM_IRELATIVE.
I pushed this to master now.
elfutils-devel@lists.fedorahosted.org