There are several targets for which we have 64-bit registers, even when compiling for a 32-bit address space. Of course, compiling qemu for a 64-bit address space is better, considering the large amount of virtual memory that we generally want to allocate. That said, it's not always an option.
This patch set adjusts everywhere that used tcg_target_long when it really meant intptr_t, and then enables the easiest such target to actually test: x32 (x86_64 with 32-bit pointers). Tested in a vm installed with gentoo's x32 environment. r~ Richard Henderson (18): qtest: Fix FMT_timeval vs time_t tcg: Change flush_icache_range arguments to uintptr_t tcg: Change tcg_qemu_tb_exec return to uintptr_t tcg: Fix next_tb type in cpu_exec tcg: Define TCG_TYPE_PTR properly tcg: Define TCG_ptr properly tcg: Change frame pointer offsets to intptr_t tcg: Change memory offsets to intptr_t tcg: Change relocation offsets to intptr_t tcg: Use uintptr_t in TCGHelperInfo tcg: Change tcg_gen_exit_tb argument to uintptr_t tcg: Change tcg_out_ld/st offset to intptr_t tcg: Use appropriate types in tcg_reg_alloc_call tcg: Fix jit debug for pointer size != register size tcg: Allow TCG_TARGET_REG_BITS to be specified independantly tcg-i386: Use intptr_t appropriately tcg-i386: Adjust tcg_out_tlb_load for x32 configure: Allow x32 as a host configure | 27 ++++++++++----- cpu-exec.c | 4 +-- include/exec/gen-icount.h | 4 +-- qtest.c | 8 ++--- target-alpha/translate.c | 8 ++--- target-arm/translate.c | 2 +- target-cris/translate.c | 2 +- target-i386/translate.c | 2 +- target-lm32/translate.c | 2 +- target-m68k/translate.c | 2 +- target-microblaze/translate.c | 2 +- target-mips/translate.c | 2 +- target-moxie/translate.c | 2 +- target-openrisc/translate.c | 2 +- target-ppc/translate.c | 2 +- target-s390x/translate.c | 8 ++--- target-sh4/translate.c | 2 +- target-sparc/translate.c | 2 +- target-unicore32/translate.c | 2 +- target-xtensa/translate.c | 2 +- tcg/aarch64/tcg-target.c | 6 ++-- tcg/aarch64/tcg-target.h | 3 +- tcg/arm/tcg-target.c | 12 +++---- tcg/arm/tcg-target.h | 9 +++-- tcg/hppa/tcg-target.c | 14 +++++--- tcg/hppa/tcg-target.h | 7 +--- tcg/i386/tcg-target.c | 79 +++++++++++++++++++++++-------------------- tcg/i386/tcg-target.h | 13 +++---- tcg/ia64/tcg-target.c | 18 +++++----- tcg/ia64/tcg-target.h | 3 +- tcg/mips/tcg-target.c | 20 +++++------ tcg/mips/tcg-target.h | 3 +- tcg/ppc/tcg-target.c | 10 +++--- tcg/ppc/tcg-target.h | 2 +- tcg/ppc64/tcg-target.c | 10 +++--- tcg/s390/tcg-target.c | 10 +++--- tcg/s390/tcg-target.h | 3 +- tcg/sparc/tcg-target.c | 10 +++--- tcg/sparc/tcg-target.h | 20 ++++++----- tcg/tcg-op.h | 2 +- tcg/tcg.c | 60 +++++++++++++++----------------- tcg/tcg.h | 60 ++++++++++++++++---------------- tcg/tci/tcg-target.c | 6 ++-- tcg/tci/tcg-target.h | 13 +++++-- tci.c | 4 +-- 45 files changed, 250 insertions(+), 234 deletions(-) -- 1.8.1.4