| Submitter | Blue Swirl |
|---|---|
| Date | Nov. 3, 2012, 6:48 p.m. |
| Message ID | <3e13749eef6fbeef0651adb2b26e088cb5289dd9.1351968499.git.blauwirbel@gmail.com> |
| Download | mbox | patch |
| Permalink | /patch/196918/ |
| State | New |
| Headers | show |
Comments
On Sat, Nov 03, 2012 at 06:48:35PM +0000, Blue Swirl wrote: > Fix build on a 32 bit host: > CC mips-softmmu/target-mips/dsp_helper.o > /src/qemu/target-mips/dsp_helper.c: In function 'helper_dextr_rs_w': > /src/qemu/target-mips/dsp_helper.c:3556: error: integer constant is too large for 'long' type > /src/qemu/target-mips/dsp_helper.c: In function 'helper_extr_s_h': > /src/qemu/target-mips/dsp_helper.c:3656: error: integer constant is too large for 'long' type > > Signed-off-by: Blue Swirl <blauwirbel@gmail.com> > --- > target-mips/dsp_helper.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/target-mips/dsp_helper.c b/target-mips/dsp_helper.c > index b59133e..e7949c2 100644 > --- a/target-mips/dsp_helper.c > +++ b/target-mips/dsp_helper.c > @@ -3553,7 +3553,7 @@ target_ulong helper_dextr_rs_w(target_ulong ac, target_ulong shift, > if (temp128 == 0) { > temp[0] = 0x0FFFFFFFF; > } else { > - temp[0] = 0x0100000000; > + temp[0] = 0x0100000000ULL; > } > set_DSPControl_overflow_flag(1, 23, env); > } > @@ -3653,7 +3653,7 @@ target_ulong helper_extr_s_h(target_ulong ac, target_ulong shift, > if (temp > (int64_t)0x7FFF) { > temp = 0x00007FFF; > set_DSPControl_overflow_flag(1, 23, env); > - } else if (temp < (int64_t)0xFFFFFFFFFFFF8000) { > + } else if (temp < (int64_t)0xFFFFFFFFFFFF8000ULL) { > temp = 0xFFFF8000; > set_DSPControl_overflow_flag(1, 23, env); > } Thanks, applied.
Patch
diff --git a/target-mips/dsp_helper.c b/target-mips/dsp_helper.c index b59133e..e7949c2 100644 --- a/target-mips/dsp_helper.c +++ b/target-mips/dsp_helper.c @@ -3553,7 +3553,7 @@ target_ulong helper_dextr_rs_w(target_ulong ac, target_ulong shift, if (temp128 == 0) { temp[0] = 0x0FFFFFFFF; } else { - temp[0] = 0x0100000000; + temp[0] = 0x0100000000ULL; } set_DSPControl_overflow_flag(1, 23, env); } @@ -3653,7 +3653,7 @@ target_ulong helper_extr_s_h(target_ulong ac, target_ulong shift, if (temp > (int64_t)0x7FFF) { temp = 0x00007FFF; set_DSPControl_overflow_flag(1, 23, env); - } else if (temp < (int64_t)0xFFFFFFFFFFFF8000) { + } else if (temp < (int64_t)0xFFFFFFFFFFFF8000ULL) { temp = 0xFFFF8000; set_DSPControl_overflow_flag(1, 23, env); }
Fix build on a 32 bit host: CC mips-softmmu/target-mips/dsp_helper.o /src/qemu/target-mips/dsp_helper.c: In function 'helper_dextr_rs_w': /src/qemu/target-mips/dsp_helper.c:3556: error: integer constant is too large for 'long' type /src/qemu/target-mips/dsp_helper.c: In function 'helper_extr_s_h': /src/qemu/target-mips/dsp_helper.c:3656: error: integer constant is too large for 'long' type Signed-off-by: Blue Swirl <blauwirbel@gmail.com> --- target-mips/dsp_helper.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)