This script started using Python2, where the 'classic' division
operator returns the floor result. In commit 3d004a371 we started
to use Python3, where the division operator returns the float
result ('true division').
To keep the same behavior, use the 'floor division' operator "//"
which returns the floor result.
Fixes: 3d004a371
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
We didn't notice it because only the RX port (which uses the
--varinsnwidth option, and got merged very recently) triggers
these problems.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
scripts/decodetree.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts/decodetree.py b/scripts/decodetree.py
index 2a8f2b6e06..46ab917807 100755
--- a/scripts/decodetree.py
+++ b/scripts/decodetree.py
@@ -1025,7 +1025,7 @@ def output_code(self, i, extracted, outerbits, outermask):
if extracted < self.width:
output(ind, 'insn = ', decode_function,
'_load_bytes(ctx, insn, {0}, {1});\n'
- .format(extracted / 8, self.width / 8));
+ .format(extracted // 8, self.width // 8));
extracted = self.width
# Attempt to aid the compiler in producing compact switch statements.
@@ -1079,7 +1079,7 @@ def output_code(self, i, extracted, outerbits, outermask):
if extracted < self.width:
output(ind, 'insn = ', decode_function,
'_load_bytes(ctx, insn, {0}, {1});\n'
- .format(extracted / 8, self.width / 8));
+ .format(extracted // 8, self.width // 8));
extracted = self.width
output(ind, 'return insn;\n')
# end SizeLeaf
--
2.21.1
On 3/30/20 5:13 AM, Philippe Mathieu-Daudé wrote: > This script started using Python2, where the 'classic' division > operator returns the floor result. In commit 3d004a371 we started > to use Python3, where the division operator returns the float > result ('true division'). > To keep the same behavior, use the 'floor division' operator "//" > which returns the floor result. > > Fixes: 3d004a371 > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > We didn't notice it because only the RX port (which uses the > --varinsnwidth option, and got merged very recently) triggers > these problems. > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > scripts/decodetree.py | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
On 3/30/20 10:14 AM, Richard Henderson wrote: > On 3/30/20 5:13 AM, Philippe Mathieu-Daudé wrote: >> This script started using Python2, where the 'classic' division >> operator returns the floor result. In commit 3d004a371 we started >> to use Python3, where the division operator returns the float >> result ('true division'). >> To keep the same behavior, use the 'floor division' operator "//" >> which returns the floor result. >> >> Fixes: 3d004a371 >> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> >> --- >> We didn't notice it because only the RX port (which uses the >> --varinsnwidth option, and got merged very recently) triggers >> these problems. >> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> >> --- >> scripts/decodetree.py | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> > > Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Queued to tcg-next for 5.0. r~
20:47 Pon, 30.03.2020. Richard Henderson <rth@twiddle.net> је написао/ла: > > On 3/30/20 10:14 AM, Richard Henderson wrote: > > On 3/30/20 5:13 AM, Philippe Mathieu-Daudé wrote: > >> This script started using Python2, where the 'classic' division > >> operator returns the floor result. In commit 3d004a371 we started > >> to use Python3, where the division operator returns the float > >> result ('true division'). > >> To keep the same behavior, use the 'floor division' operator "//" > >> which returns the floor result. > >> > >> Fixes: 3d004a371 > >> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > >> --- > >> We didn't notice it because only the RX port (which uses the > >> --varinsnwidth option, and got merged very recently) triggers > >> these problems. > >> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > >> --- > >> scripts/decodetree.py | 4 ++-- > >> 1 file changed, 2 insertions(+), 2 deletions(-) > >> > > > > Reviewed-by: Richard Henderson <richard.henderson@linaro.org> > > Queued to tcg-next for 5.0. > Richard, great, could you please pick up the LMI patch from the other day together with this patch in your tcg-5.0 queue? Yours, Aleksandar > > r~ > >
On 3/30/20 4:28 PM, Aleksandar Markovic wrote: > Richard, great, could you please pick up the LMI patch from the other day > together with this patch in your tcg-5.0 queue? Yes, I've got it. r~
On Mon, 30 Mar 2020 at 13:14, Philippe Mathieu-Daudé <f4bug@amsat.org> wrote: > > This script started using Python2, where the 'classic' division > operator returns the floor result. In commit 3d004a371 we started > to use Python3, where the division operator returns the float > result ('true division'). > To keep the same behavior, use the 'floor division' operator "//" > which returns the floor result. > > Fixes: 3d004a371 > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > We didn't notice it because only the RX port (which uses the > --varinsnwidth option, and got merged very recently) triggers > these problems. > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Ouch. That's a painfully hard to detect incompatibility between 2 and 3 :-( thanks -- PMM
© 2016 - 2024 Red Hat, Inc.