From ea9660dd8e2bed236dba41935207817e43c4c972 Mon Sep 17 00:00:00 2001 From: Nicolas Kruse Date: Tue, 4 Mar 2025 21:51:12 +0100 Subject: [PATCH] Bit number for relocation types fixed --- src/pelfy/fields_data.py | 52 ++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/src/pelfy/fields_data.py b/src/pelfy/fields_data.py index 45fee34..3a9d360 100644 --- a/src/pelfy/fields_data.py +++ b/src/pelfy/fields_data.py @@ -525,9 +525,9 @@ relocation_table_types = { 0: ("R_RISCV_NONE", 0, ""), 1: ("R_RISCV_32", 32, "S + A"), 2: ("R_RISCV_64", 64, "S + A"), - 3: ("R_RISCV_RELATIVE", 255, "B + A"), + 3: ("R_RISCV_RELATIVE", 64, "B + A"), 4: ("R_RISCV_COPY", 0, ""), - 5: ("R_RISCV_JUMP_SLOT", 255, "S"), + 5: ("R_RISCV_JUMP_SLOT", 0, "S"), 6: ("R_RISCV_TLS_DTPMOD32", 32, "TLSMODULE"), 7: ("R_RISCV_TLS_DTPMOD64", 64, "TLSMODULE"), 8: ("R_RISCV_TLS_DTPREL32", 32, "S + A - TLS_DTV_OFFSET"), @@ -535,22 +535,22 @@ relocation_table_types = { 10: ("R_RISCV_TLS_TPREL32", 32, "S + A + TLSOFFSET"), 11: ("R_RISCV_TLS_TPREL64", 64, "S + A + TLSOFFSET"), 12: ("R_RISCV_TLSDESC", 0, "TLSDESC(S+A)"), - 16: ("R_RISCV_BRANCH", 254, "S + A - P"), - 17: ("R_RISCV_JAL", 248, "S + A - P"), - 18: ("R_RISCV_CALL", 246, "S + A - P"), - 19: ("R_RISCV_CALL_PLT", 246, "S + A - P"), - 20: ("R_RISCV_GOT_HI20", 249, "G + GOT + A - P"), - 21: ("R_RISCV_TLS_GOT_HI20", 249, ""), - 22: ("R_RISCV_TLS_GD_HI20", 249, ""), - 23: ("R_RISCV_PCREL_HI20", 249, "S + A - P"), - 24: ("R_RISCV_PCREL_LO12_I", 251, "S - P"), - 25: ("R_RISCV_PCREL_LO12_S", 250, "S - P"), - 26: ("R_RISCV_HI20", 249, "S + A"), - 27: ("R_RISCV_LO12_I", 251, "S + A"), - 28: ("R_RISCV_LO12_S", 250, "S + A"), - 29: ("R_RISCV_TPREL_HI20", 249, ""), - 30: ("R_RISCV_TPREL_LO12_I", 251, ""), - 31: ("R_RISCV_TPREL_LO12_S", 250, ""), + 16: ("R_RISCV_BRANCH", 0, "S + A - P"), + 17: ("R_RISCV_JAL", 0, "S + A - P"), + 18: ("R_RISCV_CALL", 0, "S + A - P"), + 19: ("R_RISCV_CALL_PLT", 0, "S + A - P"), + 20: ("R_RISCV_GOT_HI20", 0, "G + GOT + A - P"), + 21: ("R_RISCV_TLS_GOT_HI20", 0, ""), + 22: ("R_RISCV_TLS_GD_HI20", 0, ""), + 23: ("R_RISCV_PCREL_HI20", 0, "S + A - P"), + 24: ("R_RISCV_PCREL_LO12_I", 0, "S - P"), + 25: ("R_RISCV_PCREL_LO12_S", 0, "S - P"), + 26: ("R_RISCV_HI20", 0, "S + A"), + 27: ("R_RISCV_LO12_I", 0, "S + A"), + 28: ("R_RISCV_LO12_S", 0, "S + A"), + 29: ("R_RISCV_TPREL_HI20", 0, ""), + 30: ("R_RISCV_TPREL_LO12_I", 0, ""), + 31: ("R_RISCV_TPREL_LO12_S", 0, ""), 32: ("R_RISCV_TPREL_ADD", 0, ""), 33: ("R_RISCV_ADD8", 8, "V + S + A"), 34: ("R_RISCV_ADD16", 16, "V + S + A"), @@ -563,8 +563,8 @@ relocation_table_types = { 41: ("R_RISCV_GOT32_PCREL", 32, "G + GOT + A - P"), 42: ("R_RISCV_Reserved", 0, ""), 43: ("R_RISCV_ALIGN", 0, ""), - 44: ("R_RISCV_RVC_BRANCH", 253, "S + A - P"), - 45: ("R_RISCV_RVC_JUMP", 252, "S + A - P"), + 44: ("R_RISCV_RVC_BRANCH", 0, "S + A - P"), + 45: ("R_RISCV_RVC_JUMP", 0, "S + A - P"), 46: ("R_RISCV_Reserved", 0, ""), 51: ("R_RISCV_RELAX", 0, ""), 52: ("R_RISCV_SUB6", 6, "V - S - A"), @@ -573,13 +573,13 @@ relocation_table_types = { 55: ("R_RISCV_SET16", 16, "S + A"), 56: ("R_RISCV_SET32", 32, "S + A"), 57: ("R_RISCV_32_PCREL", 32, "S + A - P"), - 58: ("R_RISCV_IRELATIVE", 255, "ifunc_resolver(B + A)"), + 58: ("R_RISCV_IRELATIVE", 0, "ifunc_resolver(B + A)"), 59: ("R_RISCV_PLT32", 32, "S + A - P"), - 60: ("R_RISCV_SET_ULEB128", 247, "S + A"), - 61: ("R_RISCV_SUB_ULEB128", 247, "V - S - A"), - 62: ("R_RISCV_TLSDESC_HI20", 249, "S + A - P"), - 63: ("R_RISCV_TLSDESC_LOAD_LO12", 251, "S - P"), - 64: ("R_RISCV_TLSDESC_ADD_LO12", 251, "S - P"), + 60: ("R_RISCV_SET_ULEB128", 0, "S + A"), + 61: ("R_RISCV_SUB_ULEB128", 0, "V - S - A"), + 62: ("R_RISCV_TLSDESC_HI20", 0, "S + A - P"), + 63: ("R_RISCV_TLSDESC_LOAD_LO12", 0, "S - P"), + 64: ("R_RISCV_TLSDESC_ADD_LO12", 0, "S - P"), 65: ("R_RISCV_TLSDESC_CALL", 0, ""), 191: ("R_RISCV_VENDOR", 0, "") }