Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
add missing RELOCATIONS_BASE_TYPES
  • Loading branch information
kohnakagawa authored and rthomas committed May 3, 2020
1 parent 798950d commit c031250
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 13 deletions.
7 changes: 7 additions & 0 deletions include/LIEF/PE/enums.inc
Expand Up @@ -133,8 +133,15 @@ enum _LIEF_EN(RELOCATIONS_BASE_TYPES) {
_LIEF_EI(IMAGE_REL_BASED_HIGHLOW) = 3,
_LIEF_EI(IMAGE_REL_BASED_HIGHADJ) = 4,
_LIEF_EI(IMAGE_REL_BASED_MIPS_JMPADDR) = 5,
_LIEF_EI(IMAGE_REL_BASED_ARM_MOV32A) = 5,
_LIEF_EI(IMAGE_REL_BASED_ARM_MOV32) = 5,
_LIEF_EI(IMAGE_REL_BASED_RISCV_HI20) = 5,
_LIEF_EI(IMAGE_REL_BASED_SECTION) = 6,
_LIEF_EI(IMAGE_REL_BASED_REL) = 7,
_LIEF_EI(IMAGE_REL_BASED_ARM_MOV32T) = 7,
_LIEF_EI(IMAGE_REL_BASED_THUMB_MOV32) = 7,
_LIEF_EI(IMAGE_REL_BASED_RISCV_LOW12I) = 7,
_LIEF_EI(IMAGE_REL_BASED_RISCV_LOW12S) = 8,
_LIEF_EI(IMAGE_REL_BASED_MIPS_JMPADDR16) = 9,
_LIEF_EI(IMAGE_REL_BASED_IA64_IMM64) = 9,
_LIEF_EI(IMAGE_REL_BASED_DIR64) = 10,
Expand Down
33 changes: 20 additions & 13 deletions src/PE/EnumToString.cpp
Expand Up @@ -364,26 +364,33 @@ const char* to_string(RELOCATIONS_ARM e) {


const char* to_string(RELOCATIONS_BASE_TYPES e) {
CONST_MAP(RELOCATIONS_BASE_TYPES, const char*, 11) enumStrings {
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_ABSOLUTE, "ABSOLUTE" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_HIGH, "HIGH" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_LOW, "LOW" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_HIGHLOW, "HIGHLOW" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_HIGHADJ, "HIGHADJ" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_MIPS_JMPADDR, "JMPADDR" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_SECTION, "SECTION" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_REL, "REL" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_IA64_IMM64, "IMM64" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_DIR64, "DIR64" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_HIGH3ADJ, "HIGH3ADJ" }
CONST_MAP(RELOCATIONS_BASE_TYPES, const char*, 19) enumStrings {
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_ABSOLUTE, "ABSOLUTE" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_HIGH, "HIGH" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_LOW, "LOW" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_HIGHLOW, "HIGHLOW" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_HIGHADJ, "HIGHADJ" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_MIPS_JMPADDR, "MIPS_JMPADDR | ARM_MOV32A | ARM_MOV32 | RISCV_HI20" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_ARM_MOV32A, "MIPS_JMPADDR | ARM_MOV32A | ARM_MOV32 | RISCV_HI20" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_ARM_MOV32, "MIPS_JMPADDR | ARM_MOV32A | ARM_MOV32 | RISCV_HI20" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_RISCV_HI20, "MIPS_JMPADDR | ARM_MOV32A | ARM_MOV32 | RISCV_HI20" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_SECTION, "SECTION" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_REL, "REL | ARM_MOV32T | THUMB_MOV32 | RISCV_LOW12I" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_ARM_MOV32T, "REL | ARM_MOV32T | THUMB_MOV32 | RISCV_LOW12I" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_THUMB_MOV32, "REL | ARM_MOV32T | THUMB_MOV32 | RISCV_LOW12I" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_RISCV_LOW12I, "REL | ARM_MOV32T | THUMB_MOV32 | RISCV_LOW12I" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_RISCV_LOW12S, "RISCV_LOW12S" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_MIPS_JMPADDR16, "MIPS_JMPADDR16 | IA64_DIR64" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_IA64_IMM64, "MIPS_JMPADDR16 | IA64_DIR64" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_DIR64, "DIR64" },
{ RELOCATIONS_BASE_TYPES::IMAGE_REL_BASED_HIGH3ADJ, "HIGH3ADJ" },
};

auto it = enumStrings.find(e);
return it == enumStrings.end() ? "Out of range" : it->second;
}



const char* to_string(DEBUG_TYPES e) {
CONST_MAP(DEBUG_TYPES, const char*, 17) enumStrings {
{ DEBUG_TYPES::IMAGE_DEBUG_TYPE_UNKNOWN, "UNKNOWN" },
Expand Down

0 comments on commit c031250

Please sign in to comment.