Instead of type casts to long, w64 needs type casts to intptr_t. For other hosts, this changes nothing.
Signed-off-by: Stefan Weil <s...@weilnetz.de> --- cpu-all.h | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cpu-all.h b/cpu-all.h index 4512518..58420be 100644 --- a/cpu-all.h +++ b/cpu-all.h @@ -222,8 +222,8 @@ extern unsigned long reserved_va; #else /* !CONFIG_USER_ONLY */ /* NOTE: we use double casts if pointers and target_ulong have different sizes */ -#define saddr(x) (uint8_t *)(long)(x) -#define laddr(x) (uint8_t *)(long)(x) +#define saddr(x) (uint8_t *)(intptr_t)(x) +#define laddr(x) (uint8_t *)(intptr_t)(x) #endif #define ldub_raw(p) ldub_p(laddr((p))) -- 1.7.0.4