Use stdint types for ut64 and friends (#6276)
* Use `stdint` types for `ut64` and friends * Use `inttypes.h` format specifiers
This commit is contained in:
parent
a74ed707ea
commit
3204f0c405
12 changed files with 44 additions and 31 deletions
|
|
@ -299,7 +299,7 @@ RZ_IPI int rz_arm_cs_analysis_op_32_esil(RzAnalysis *a, RzAnalysisOp *op, ut64 a
|
|||
case ARM_INS_BXJ:
|
||||
case ARM_INS_B:
|
||||
if (ISREG(0) && REGID(0) == ARM_REG_PC) {
|
||||
rz_strbuf_appendf(&op->esil, "0x%" PFMT64x ",pc,=", (addr & ~3LL) + pcdelta);
|
||||
rz_strbuf_appendf(&op->esil, "0x%" PFMT64x ",pc,=", (addr & ~(ut64)3) + pcdelta);
|
||||
} else {
|
||||
if (ISIMM(0)) {
|
||||
rz_strbuf_appendf(&op->esil, "%s,pc,=", ARG(0));
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
DEF_READ_GENERIC(1, 8, " 0x%X")
|
||||
DEF_READ_GENERIC(2, 16, " 0x%X")
|
||||
DEF_READ_GENERIC(4, 32, " 0x%X")
|
||||
DEF_READ_GENERIC(8, 64, " 0x%llX")
|
||||
DEF_READ_GENERIC(8, 64, " 0x%" PFMT64X)
|
||||
|
||||
DEF_READ_GENERIC(4, _float, " %f")
|
||||
DEF_READ_GENERIC(8, _double, " %f")
|
||||
|
|
|
|||
|
|
@ -993,7 +993,7 @@ static void anop_esil(RzAnalysis *a, RzAnalysisOp *op, const ut8 *buf, int len,
|
|||
esilprintf(op,
|
||||
"%s,%s,==,$z,zf,:=,%u,$b,cf,:=,$p,pf,:=,%u,$s,sf,:=,"
|
||||
"%s,0x%" PFMT64x ",-,!,%u,$o,^,of,:=,3,$b,af,:=",
|
||||
src, dst, bitsize, bitsize - 1, src, 1ULL << (bitsize - 1), bitsize - 1);
|
||||
src, dst, bitsize, bitsize - 1, src, (ut64)1 << (bitsize - 1), bitsize - 1);
|
||||
} else {
|
||||
const char *rsrc = ZydisRegisterGetString(INSOP(1).mem.base);
|
||||
const char *rdst = ZydisRegisterGetString(INSOP(0).mem.base);
|
||||
|
|
@ -1001,7 +1001,7 @@ static void anop_esil(RzAnalysis *a, RzAnalysisOp *op, const ut8 *buf, int len,
|
|||
esilprintf(op,
|
||||
"%s,%s,==,$z,zf,:=,%u,$b,cf,:=,$p,pf,:=,%u,$s,sf,:=,%s,0x%" PFMT64x ","
|
||||
"-,!,%u,$o,^,of,:=,3,$b,af,:=,df,?{,%" PFMT32d ",%s,-=,%" PFMT32d ",%s,-=,}{,%" PFMT32d ",%s,+=,%" PFMT32d ",%s,+=,}",
|
||||
src, dst, bitsize, bitsize - 1, src, 1ULL << (bitsize - 1), bitsize - 1,
|
||||
src, dst, bitsize, bitsize - 1, src, (ut64)1 << (bitsize - 1), bitsize - 1,
|
||||
width, rsrc, width, rdst, width, rsrc, width, rdst);
|
||||
}
|
||||
} break;
|
||||
|
|
@ -1472,7 +1472,7 @@ static void anop_esil(RzAnalysis *a, RzAnalysisOp *op, const ut8 *buf, int len,
|
|||
// We use $b rather than $c here as the carry flag really
|
||||
// represents a "borrow"
|
||||
esilprintf(op, "%s,%s,%s,0x%" PFMT64x ",-,!,%u,$o,^,of,:=,%u,$s,sf,:=,$z,zf,:=,$p,pf,:=,%u,$b,cf,:=,3,$b,af,:=",
|
||||
src, dst, src, 1ULL << (bitsize - 1), bitsize - 1, bitsize - 1, bitsize);
|
||||
src, dst, src, (ut64)1 << (bitsize - 1), bitsize - 1, bitsize - 1, bitsize);
|
||||
} break;
|
||||
case X86_INS_SBB:
|
||||
// dst = dst - (src + cf)
|
||||
|
|
|
|||
|
|
@ -2539,7 +2539,7 @@ static void patch_reloc_riscv(RZ_INOUT RzBuffer *buf_patched, const ut64 patch_a
|
|||
ut8 old_val = 0;
|
||||
rz_buf_read_ble8_at(buf_patched, patch_addr, &old_val, big_endian);
|
||||
ut64 result = ((ut64)old_val) + S + A;
|
||||
unsigned long long addr = patch_addr;
|
||||
ut64 addr = patch_addr;
|
||||
bool success = rz_buf_write_ble8_offset(buf_patched, &addr, (ut8)result, big_endian);
|
||||
RISCV_CHECK_SUCCESS_RET_IF_FAIL(success, "R_RISCV_ADD8");
|
||||
break;
|
||||
|
|
@ -2580,7 +2580,7 @@ static void patch_reloc_riscv(RZ_INOUT RzBuffer *buf_patched, const ut64 patch_a
|
|||
bool success = rz_buf_read_ble8_at(buf_patched, patch_addr, &old_val, big_endian);
|
||||
RISCV_CHECK_SUCCESS_RET_IF_FAIL(success, "R_RISCV_SUB8 [r]");
|
||||
ut64 result = ((ut64)old_val) - S - A;
|
||||
unsigned long long addr = patch_addr;
|
||||
ut64 addr = patch_addr;
|
||||
success = rz_buf_write_ble8_offset(buf_patched, &addr, (ut8)result, big_endian);
|
||||
RISCV_CHECK_SUCCESS_RET_IF_FAIL(success, "R_RISCV_SUB8 [w]");
|
||||
break;
|
||||
|
|
@ -2618,7 +2618,7 @@ static void patch_reloc_riscv(RZ_INOUT RzBuffer *buf_patched, const ut64 patch_a
|
|||
|
||||
case R_RISCV_SET8: {
|
||||
val = S + A;
|
||||
unsigned long long addr = patch_addr;
|
||||
ut64 addr = patch_addr;
|
||||
bool success = rz_buf_write_ble8_offset(buf_patched, &addr, (ut8)val, big_endian);
|
||||
RISCV_CHECK_SUCCESS_RET_IF_FAIL(success, "R_RISCV_SET8");
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ static const RzRegItem *parse_register(const RzCore *core, const char *str, ut64
|
|||
return rz_reg_get(areg, reg, RZ_REG_TYPE_ANY);
|
||||
}
|
||||
|
||||
static bool parse_constant(const char *str, RZ_NONNULL ut64 *idx, unsigned long long *value) {
|
||||
static bool parse_constant(const char *str, RZ_NONNULL ut64 *idx, ut64 *value) {
|
||||
rz_return_val_if_fail(idx, false);
|
||||
int neg = 0;
|
||||
int len = strlen(str);
|
||||
|
|
|
|||
|
|
@ -508,11 +508,27 @@ static inline void *rz_new_copy(int size, const void *data) {
|
|||
x = NULL; \
|
||||
}
|
||||
|
||||
#if HAVE_HEADER_INTTYPES_H
|
||||
#define PFMT64x PRIx64
|
||||
#define PFMT64X PRIX64
|
||||
#define PFMT64d PRId64
|
||||
#define PFMT64u PRIu64
|
||||
#define PFMT64o PRIo64
|
||||
#elif __WINDOWS__
|
||||
#define PFMT64x "I64x"
|
||||
#define PFMT64X "I64X"
|
||||
#define PFMT64d "I64d"
|
||||
#define PFMT64u "I64u"
|
||||
#define PFMT64o "I64o"
|
||||
#else
|
||||
#define PFMT64x "lx"
|
||||
#define PFMT64X "lX"
|
||||
#define PFMT64d "ld"
|
||||
#define PFMT64u "lu"
|
||||
#define PFMT64o "lo"
|
||||
#endif
|
||||
|
||||
#if __WINDOWS__
|
||||
#define PFMT64x "I64x"
|
||||
#define PFMT64d "I64d"
|
||||
#define PFMT64u "I64u"
|
||||
#define PFMT64o "I64o"
|
||||
#define PFMTSZx "Ix"
|
||||
#define PFMTSZd "Id"
|
||||
#define PFMTSZu "Iu"
|
||||
|
|
@ -521,10 +537,6 @@ static inline void *rz_new_copy(int size, const void *data) {
|
|||
#define LDBLFMTf "f"
|
||||
#define HHXFMT "x"
|
||||
#else
|
||||
#define PFMT64x "llx"
|
||||
#define PFMT64d "lld"
|
||||
#define PFMT64u "llu"
|
||||
#define PFMT64o "llo"
|
||||
#define PFMTSZx "zx"
|
||||
#define PFMTSZd "zd"
|
||||
#define PFMTSZu "zu"
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
#include <ctype.h>
|
||||
#include <sys/types.h>
|
||||
#include <limits.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
// required to forbid the declaration
|
||||
|
|
@ -19,14 +20,14 @@
|
|||
#endif
|
||||
|
||||
#define cut8 const unsigned char
|
||||
#define ut64 unsigned long long
|
||||
#define st64 long long
|
||||
#define ut32 unsigned int
|
||||
#define st32 int
|
||||
#define ut16 unsigned short
|
||||
#define st16 short
|
||||
#define ut8 unsigned char
|
||||
#define st8 signed char
|
||||
#define ut64 uint64_t
|
||||
#define st64 int64_t
|
||||
#define ut32 uint32_t
|
||||
#define st32 int32_t
|
||||
#define ut16 uint16_t
|
||||
#define st16 int16_t
|
||||
#define ut8 uint8_t
|
||||
#define st8 int8_t
|
||||
#define utptr uintptr_t
|
||||
#define boolt int
|
||||
|
||||
|
|
|
|||
|
|
@ -33,8 +33,8 @@ static bool set_chunk_size(RZ_NONNULL RzSearchOpt *opt, ut64 chunk_size) {
|
|||
rz_return_val_if_fail(opt, false);
|
||||
if (chunk_size < RZ_SEARCH_MIN_CHUNK_SIZE || chunk_size > RZ_SEARCH_MAX_CHUNK_SIZE) {
|
||||
RZ_LOG_ERROR("search: Chunk size is not in range of %#" PFMT64x "-%#" PFMT64x " bytes.\n",
|
||||
RZ_SEARCH_MIN_CHUNK_SIZE,
|
||||
RZ_SEARCH_MAX_CHUNK_SIZE);
|
||||
(ut64)RZ_SEARCH_MIN_CHUNK_SIZE,
|
||||
(ut64)RZ_SEARCH_MAX_CHUNK_SIZE);
|
||||
return false;
|
||||
}
|
||||
opt->chunk_size = chunk_size;
|
||||
|
|
|
|||
|
|
@ -648,7 +648,7 @@ static bool perform_sanity_checks(
|
|||
}
|
||||
|
||||
if (opt->chunk_size < RZ_SEARCH_MIN_CHUNK_SIZE) {
|
||||
RZ_LOG_ERROR("search: cannot search when buffer size is less than %#" PFMT64x " bytes.\n", RZ_SEARCH_MIN_CHUNK_SIZE);
|
||||
RZ_LOG_ERROR("search: cannot search when buffer size is less than %#" PFMT64x " bytes.\n", (ut64)RZ_SEARCH_MIN_CHUNK_SIZE);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -892,7 +892,7 @@ RZ_API RZ_OWN char *rz_print_hexdump_str(RZ_NONNULL RzPrint *p, ut64 addr, RZ_NO
|
|||
oPrintValue = printValue;
|
||||
j += step - 1;
|
||||
} else if (base == -8) {
|
||||
long long w = rz_read_ble64(buf + j, p->big_endian);
|
||||
st64 w = rz_read_ble64(buf + j, p->big_endian);
|
||||
print_cursor_l(sb, p, j, 8);
|
||||
rz_strbuf_appendf(sb, "%23" PFMT64d " ", w);
|
||||
print_cursor_r(sb, p, j, 8);
|
||||
|
|
|
|||
|
|
@ -1442,7 +1442,7 @@ bool test_rz_buf_negative(bool use_slice) {
|
|||
|
||||
int all_tests() {
|
||||
time_t seed = time(0);
|
||||
printf("Jamie Seed: %" PFMT64u "\n", (unsigned long long)seed);
|
||||
printf("Jamie Seed: %" PFMT64u "\n", (ut64)seed);
|
||||
srand(seed);
|
||||
mu_run_test(test_rz_buf_file);
|
||||
mu_run_test(test_rz_buf_bytes);
|
||||
|
|
|
|||
|
|
@ -1633,7 +1633,7 @@ static bool test_array_bounds_fuzz(void) {
|
|||
|
||||
static int all_tests(void) {
|
||||
time_t seed = time(0);
|
||||
printf("Gillian Seed: %" PFMT64u "\n", (unsigned long long)seed);
|
||||
printf("Gillian Seed: %" PFMT64u "\n", (ut64)seed);
|
||||
srand(seed);
|
||||
mu_run_test(test_vector_init);
|
||||
mu_run_test(test_vector_new);
|
||||
|
|
|
|||
Loading…
Reference in a new issue