Message ID | 1310758694-6360-2-git-send-email-weil@mail.berlios.de |
---|---|
State | Accepted |
Headers | show |
It's good for unicore32 bit. Acked-by: Guan Xuetao<gxt@mprc.pku.edu.cn> Thanks & Regards. Guan Xuetao On Fri, 2011-07-15 at 21:38 +0200, Stefan Weil wrote: > tcg_gen_exit_tb takes a parameter of type tcg_target_long, > so the type casts of pointer to long should be replaced by > type casts of pointer to tcg_target_long. > > These changes are needed for build environments where > sizeof(long) != sizeof(void *), especially for w64. > > See 4b4a72e55660abf7efe85aca78762dcfea5519ad which fixed the > same issue for the other targets. > > Cc: Alexander Graf <agraf@suse.de> > Cc: Guan Xuetao <gxt@mprc.pku.edu.cn> > Signed-off-by: Stefan Weil <weil@mail.berlios.de> > --- > target-s390x/translate.c | 2 +- > target-unicore32/translate.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/target-s390x/translate.c b/target-s390x/translate.c > index 77fb448..6a22fde 100644 > --- a/target-s390x/translate.c > +++ b/target-s390x/translate.c > @@ -830,7 +830,7 @@ static inline void gen_goto_tb(DisasContext *s, int tb_num, target_ulong pc) > /* jump to same page: we can use a direct jump */ > tcg_gen_goto_tb(tb_num); > tcg_gen_movi_i64(psw_addr, pc); > - tcg_gen_exit_tb((long)tb + tb_num); > + tcg_gen_exit_tb((tcg_target_long)tb + tb_num); > } else { > /* jump to another page: currently not optimized */ > tcg_gen_movi_i64(psw_addr, pc); > diff --git a/target-unicore32/translate.c b/target-unicore32/translate.c > index a15e42d..4ecb0f1 100644 > --- a/target-unicore32/translate.c > +++ b/target-unicore32/translate.c > @@ -1056,7 +1056,7 @@ static inline void gen_goto_tb(DisasContext *s, int n, uint32_t dest) > if ((tb->pc & TARGET_PAGE_MASK) == (dest & TARGET_PAGE_MASK)) { > tcg_gen_goto_tb(n); > gen_set_pc_im(dest); > - tcg_gen_exit_tb((long)tb + n); > + tcg_gen_exit_tb((tcg_target_long)tb + n); > } else { > gen_set_pc_im(dest); > tcg_gen_exit_tb(0);
On 15.07.2011, at 21:38, Stefan Weil wrote: > tcg_gen_exit_tb takes a parameter of type tcg_target_long, > so the type casts of pointer to long should be replaced by > type casts of pointer to tcg_target_long. > > These changes are needed for build environments where > sizeof(long) != sizeof(void *), especially for w64. > > See 4b4a72e55660abf7efe85aca78762dcfea5519ad which fixed the > same issue for the other targets. Changes the code to be aligned with the i386 target, so I'm in favor. Acked-by: Alexander Graf <agraf@suse.de> Alex
diff --git a/target-s390x/translate.c b/target-s390x/translate.c index 77fb448..6a22fde 100644 --- a/target-s390x/translate.c +++ b/target-s390x/translate.c @@ -830,7 +830,7 @@ static inline void gen_goto_tb(DisasContext *s, int tb_num, target_ulong pc) /* jump to same page: we can use a direct jump */ tcg_gen_goto_tb(tb_num); tcg_gen_movi_i64(psw_addr, pc); - tcg_gen_exit_tb((long)tb + tb_num); + tcg_gen_exit_tb((tcg_target_long)tb + tb_num); } else { /* jump to another page: currently not optimized */ tcg_gen_movi_i64(psw_addr, pc); diff --git a/target-unicore32/translate.c b/target-unicore32/translate.c index a15e42d..4ecb0f1 100644 --- a/target-unicore32/translate.c +++ b/target-unicore32/translate.c @@ -1056,7 +1056,7 @@ static inline void gen_goto_tb(DisasContext *s, int n, uint32_t dest) if ((tb->pc & TARGET_PAGE_MASK) == (dest & TARGET_PAGE_MASK)) { tcg_gen_goto_tb(n); gen_set_pc_im(dest); - tcg_gen_exit_tb((long)tb + n); + tcg_gen_exit_tb((tcg_target_long)tb + n); } else { gen_set_pc_im(dest); tcg_gen_exit_tb(0);
tcg_gen_exit_tb takes a parameter of type tcg_target_long, so the type casts of pointer to long should be replaced by type casts of pointer to tcg_target_long. These changes are needed for build environments where sizeof(long) != sizeof(void *), especially for w64. See 4b4a72e55660abf7efe85aca78762dcfea5519ad which fixed the same issue for the other targets. Cc: Alexander Graf <agraf@suse.de> Cc: Guan Xuetao <gxt@mprc.pku.edu.cn> Signed-off-by: Stefan Weil <weil@mail.berlios.de> --- target-s390x/translate.c | 2 +- target-unicore32/translate.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)