57 lines
1.6 KiB
C
57 lines
1.6 KiB
C
|
// This file is part of AsmJit project <https://asmjit.com>
|
||
|
//
|
||
|
// See asmjit.h or LICENSE.md for license and copyright information
|
||
|
// SPDX-License-Identifier: Zlib
|
||
|
|
||
|
#ifndef ASMJITUTILS_H_INCLUDED
|
||
|
#define ASMJITUTILS_H_INCLUDED
|
||
|
|
||
|
#include <asmjit/core.h>
|
||
|
|
||
|
ASMJIT_MAYBE_UNUSED
|
||
|
static const char* asmjitArchAsString(asmjit::Arch arch) noexcept {
|
||
|
switch (arch) {
|
||
|
case asmjit::Arch::kX86 : return "X86";
|
||
|
case asmjit::Arch::kX64 : return "X64";
|
||
|
|
||
|
case asmjit::Arch::kRISCV32 : return "RISCV32";
|
||
|
case asmjit::Arch::kRISCV64 : return "RISCV64";
|
||
|
|
||
|
case asmjit::Arch::kARM : return "ARM";
|
||
|
case asmjit::Arch::kAArch64 : return "AArch64";
|
||
|
case asmjit::Arch::kThumb : return "Thumb";
|
||
|
|
||
|
case asmjit::Arch::kMIPS32_LE : return "MIPS_LE";
|
||
|
case asmjit::Arch::kMIPS64_LE : return "MIPS64_LE";
|
||
|
|
||
|
case asmjit::Arch::kARM_BE : return "ARM_BE";
|
||
|
case asmjit::Arch::kThumb_BE : return "Thumb_BE";
|
||
|
case asmjit::Arch::kAArch64_BE: return "AArch64_BE";
|
||
|
|
||
|
case asmjit::Arch::kMIPS32_BE : return "MIPS_BE";
|
||
|
case asmjit::Arch::kMIPS64_BE : return "MIPS64_BE";
|
||
|
|
||
|
default:
|
||
|
return "<Unknown>";
|
||
|
}
|
||
|
}
|
||
|
|
||
|
ASMJIT_MAYBE_UNUSED
|
||
|
static void printIndented(const char* str, size_t indent) noexcept {
|
||
|
const char* start = str;
|
||
|
while (*str) {
|
||
|
if (*str == '\n') {
|
||
|
size_t size = (size_t)(str - start);
|
||
|
printf("%*s%.*s\n", size ? int(indent) : 0, "", int(size), start);
|
||
|
start = str + 1;
|
||
|
}
|
||
|
str++;
|
||
|
}
|
||
|
|
||
|
size_t size = (size_t)(str - start);
|
||
|
if (size)
|
||
|
printf("%*s%.*s\n", int(indent), "", int(size), start);
|
||
|
}
|
||
|
|
||
|
#endif // ASMJITUTILS_H_INCLUDED
|