cbfstool: Add relocation codes for arm mode
Add relocation codes required for arm mode. These are required by armv4. BUG=chrome-os-partner:30784 BRANCH=None TEST=Compiles successfully for rush Original-Change-Id: Ie7c5b3e07689c85091036a619a65f9fea1918b6b Original-Signed-off-by: Furquan Shaikh <furquan@google.com> Original-Reviewed-on: https://chromium-review.googlesource.com/209973 Original-Tested-by: Furquan Shaikh <furquan@chromium.org> Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org> Original-Commit-Queue: Aaron Durbin <adurbin@chromium.org> (cherry picked from commit dc5f411f95e02a02b4a4ef4652303ce62aa220c2) Signed-off-by: Marc Jones <marc.jones@se-eng.com> Change-Id: Ie62ed730080299e474c256371ab88f605b54c10f Reviewed-on: http://review.coreboot.org/8675 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
parent
c800129009
commit
c4f08f7f9c
|
@ -2222,6 +2222,8 @@ typedef Elf32_Addr Elf32_Conflict;
|
|||
#define R_ARM_GOTPC 25 /* 32 bit PC relative offset to GOT */
|
||||
#define R_ARM_GOT32 26 /* 32 bit GOT entry */
|
||||
#define R_ARM_PLT32 27 /* 32 bit PLT address */
|
||||
#define R_ARM_CALL 28
|
||||
#define R_ARM_JUMP24 29
|
||||
#define R_ARM_THM_JUMP24 30
|
||||
#define R_ARM_ALU_PCREL_7_0 32
|
||||
#define R_ARM_ALU_PCREL_15_8 33
|
||||
|
@ -2229,6 +2231,7 @@ 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_V4BX 40
|
||||
#define R_ARM_GNU_VTENTRY 100
|
||||
#define R_ARM_GNU_VTINHERIT 101
|
||||
#define R_ARM_THM_PC11 102 /* thumb unconditional branch */
|
||||
|
|
|
@ -88,9 +88,10 @@ static int valid_reloc_arm(struct rmod_context *ctx, Elf64_Rela *rel)
|
|||
|
||||
type = ELF64_R_TYPE(rel->r_info);
|
||||
|
||||
/* Only these 3 relocations are expected to be found. */
|
||||
/* Only these 6 relocations are expected to be found. */
|
||||
return (type == R_ARM_ABS32 || type == R_ARM_THM_PC22 ||
|
||||
type == R_ARM_THM_JUMP24);
|
||||
type == R_ARM_THM_JUMP24 || type == R_ARM_V4BX ||
|
||||
type == R_ARM_CALL || type == R_ARM_JUMP24);
|
||||
}
|
||||
|
||||
static int should_emit_arm(struct rmod_context *ctx, Elf64_Rela *rel)
|
||||
|
|
Loading…
Reference in New Issue