util/cbfstool: Fix RISC-V relocations

The RISC-V relocations are not correct. Resolved by referring to
binutils-gdb/blob/master/include/elf/riscv.h

Change-Id: I38306f511c96be75192e222e86526a87714126ea
Signed-off-by: Xiang W <wangxiang@iscas.ac.cn>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/90600
Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Xiang W 2025-12-22 22:35:04 +08:00 committed by Matt DeVillier
commit 4a07174d0e

View file

@ -2714,48 +2714,69 @@ typedef Elf32_Addr Elf32_Conflict;
#define R_M32R_NUM 256 /* Keep this the last entry. */
/* RISC-V relocation types */
/* RISC-V relocations */
#define R_RISCV_NONE 0
#define R_RISCV_32 2
#define R_RISCV_REL32 3
#define R_RISCV_JAL 4
#define R_RISCV_HI20 5
#define R_RISCV_LO12_I 6
#define R_RISCV_LO12_S 7
#define R_RISCV_PCREL_LO12_I 8
#define R_RISCV_PCREL_LO12_S 9
#define R_RISCV_BRANCH 10
#define R_RISCV_CALL 11
#define R_RISCV_PCREL_HI20 12
#define R_RISCV_CALL_PLT 13
#define R_RISCV_64 18
#define R_RISCV_GOT_HI20 22
#define R_RISCV_GOT_LO12 23
#define R_RISCV_COPY 24
#define R_RISCV_JUMP_SLOT 25
/* TLS relocations */
#define R_RISCV_TPREL_HI20 30
#define R_RISCV_TPREL_LO12_I 31
#define R_RISCV_TPREL_LO12_S 32
#define R_RISCV_TLS_DTPMOD32 38
#define R_RISCV_TLS_DTPREL32 39
#define R_RISCV_TLS_DTPMOD64 40
#define R_RISCV_TLS_DTPREL64 41
#define R_RISCV_TLS_GD 42
#define R_RISCV_TLS_DTPREL_HI16 44
#define R_RISCV_TLS_DTPREL_LO16 45
#define R_RISCV_TLS_GOTTPREL 46
#define R_RISCV_TLS_TPREL32 47
#define R_RISCV_TLS_TPREL64 48
#define R_RISCV_TLS_GOT_HI20 51
#define R_RISCV_TLS_GOT_LO12 52
#define R_RISCV_TLS_GD_HI20 53
#define R_RISCV_TLS_GD_LO12 54
#define R_RISCV_GLOB_DAT 57
#define R_RISCV_ADD32 58
#define R_RISCV_ADD64 59
#define R_RISCV_SUB32 60
#define R_RISCV_SUB64 61
#define R_RISCV_32 1
#define R_RISCV_64 2
#define R_RISCV_RELATIVE 3
#define R_RISCV_COPY 4
#define R_RISCV_JUMP_SLOT 5
#define R_RISCV_TLS_DTPMOD32 6
#define R_RISCV_TLS_DTPMOD64 7
#define R_RISCV_TLS_DTPREL32 8
#define R_RISCV_TLS_DTPREL64 9
#define R_RISCV_TLS_TPREL32 10
#define R_RISCV_TLS_TPREL64 11
#define R_RISCV_TLSDESC 12
#define R_RISCV_BRANCH 16
#define R_RISCV_JAL 17
#define R_RISCV_CALL 18
#define R_RISCV_CALL_PLT 19
#define R_RISCV_GOT_HI20 20
#define R_RISCV_TLS_GOT_HI20 21
#define R_RISCV_TLS_GD_HI20 22
#define R_RISCV_PCREL_HI20 23
#define R_RISCV_PCREL_LO12_I 24
#define R_RISCV_PCREL_LO12_S 25
#define R_RISCV_HI20 26
#define R_RISCV_LO12_I 27
#define R_RISCV_LO12_S 28
#define R_RISCV_TPREL_HI20 29
#define R_RISCV_TPREL_LO12_I 30
#define R_RISCV_TPREL_LO12_S 31
#define R_RISCV_TPREL_ADD 32
#define R_RISCV_ADD8 33
#define R_RISCV_ADD16 34
#define R_RISCV_ADD32 35
#define R_RISCV_ADD64 36
#define R_RISCV_SUB8 37
#define R_RISCV_SUB16 38
#define R_RISCV_SUB32 39
#define R_RISCV_SUB64 40
#define R_RISCV_ALIGN 43
#define R_RISCV_RVC_BRANCH 44
#define R_RISCV_RVC_JUMP 45
#define R_RISCV_RVC_LUI 46
#define R_RISCV_GPREL_I 47
#define R_RISCV_GPREL_S 48
#define R_RISCV_TPREL_I 49
#define R_RISCV_TPREL_S 50
#define R_RISCV_RELAX 51
#define R_RISCV_SUB6 52
#define R_RISCV_SET6 53
#define R_RISCV_SET8 54
#define R_RISCV_SET16 55
#define R_RISCV_SET32 56
#define R_RISCV_32_PCREL 57
#define R_RISCV_IRELATIVE 58
#define R_RISCV_SET_ULEB128 60
#define R_RISCV_SUB_ULEB128 61
#define R_RISCV_TLSDESC_HI20 62
#define R_RISCV_TLSDESC_LOAD_LO12 63
#define R_RISCV_TLSDESC_ADD_LO12 64
#define R_RISCV_TLSDESC_CALL 65
#define EM_RISCV 0xF3