diff options
author | David Turner <digit@android.com> | 2013-07-26 01:17:46 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2013-07-26 01:17:47 +0000 |
commit | cff7bfa51fed5cfadae400bd81c1e7dde8f31945 (patch) | |
tree | a8f99a8213395da9a70a929007011fc7142b30fb | |
parent | b5f818e4c706a2663bb8bf636f58e2bd09b910d1 (diff) | |
parent | c5111a01ca209a29fdcb1a9a8917cc08ae5af9cb (diff) | |
download | qemu-kitkat-mr1.1-release.tar.gz |
Merge "memcheck: fix guest pc <-> host pc mapping on 64 bit arch"android-sdk-4.4.2_r1.0.1android-sdk-4.4.2_r1android-cts-4.4_r4android-cts-4.4_r1android-4.4_r1.2.0.1android-4.4_r1.2android-4.4_r1.1.0.1android-4.4_r1.1android-4.4_r1.0.1android-4.4_r1android-4.4_r0.9android-4.4_r0.8android-4.4_r0.7android-4.4.2_r2.0.1android-4.4.2_r2android-4.4.2_r1.0.1android-4.4.2_r1android-4.4.1_r1.0.1android-4.4.1_r1kitkat-releasekitkat-mr1.1-releasekitkat-mr1-releasekitkat-cts-releasekitkat-cts-dev
-rw-r--r-- | exec-all.h | 2 | ||||
-rw-r--r-- | translate-all.c | 5 |
2 files changed, 4 insertions, 3 deletions
diff --git a/exec-all.h b/exec-all.h index 91d1bda689..1c69176665 100644 --- a/exec-all.h +++ b/exec-all.h @@ -166,7 +166,7 @@ struct TranslationBlock { * guest PC corresponding to that PC in the translation block. This * arrangement is set by tcg_gen_code_common that initializes this array * when performing guest code translation. */ - target_ulong* tpc2gpc; + uintptr_t* tpc2gpc; /* Number of pairs (pc_tb, pc_guest) in tpc2gpc array. */ unsigned int tpc2gpc_pairs; #endif // CONFIG_MEMCHECK diff --git a/translate-all.c b/translate-all.c index ed174e7fda..c89ec8a6c8 100644 --- a/translate-all.c +++ b/translate-all.c @@ -148,12 +148,13 @@ int cpu_gen_code(CPUState *env, TranslationBlock *tb, int *gen_code_size_ptr) /* Save translated PC -> guest PC map into TB. */ if (memcheck_enabled && gen_opc_tpc2gpc_pairs && is_cpu_user(env)) { tb->tpc2gpc = - qemu_malloc(gen_opc_tpc2gpc_pairs * 2 * sizeof(target_ulong)); + qemu_malloc(gen_opc_tpc2gpc_pairs * 2 * sizeof(uintptr_t)); if (tb->tpc2gpc != NULL) { memcpy(tb->tpc2gpc, gen_opc_tpc2gpc_ptr, - gen_opc_tpc2gpc_pairs * 2 * sizeof(target_ulong)); + gen_opc_tpc2gpc_pairs * 2 * sizeof(uintptr_t)); tb->tpc2gpc_pairs = gen_opc_tpc2gpc_pairs; } + } #endif // CONFIG_MEMCHECK |