[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] pkl: Fix bit-depth of negative numbers in print{i, l} insns
From: |
Jose E. Marchesi |
Subject: |
Re: [PATCH] pkl: Fix bit-depth of negative numbers in print{i, l} insns |
Date: |
Sat, 20 Feb 2021 01:27:19 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
Hi Mohammad.
> * pickles/dwarf-frame.pk (Dwarf_CIE): Fix constant.
> diff --git a/libpoke/pvm.jitter b/libpoke/pvm.jitter
> index c7e9668d..dba9307f 100644
> --- a/libpoke/pvm.jitter
> +++ b/libpoke/pvm.jitter
> @@ -430,6 +430,9 @@ late-header-c
> { \
> TYPEC val = PVM_VAL_##TYPE (JITTER_UNDER_TOP_STACK ()); \
> char fmt[6]; /* %0NNd */ \
> + uint32_t mask \
> + = JITTER_ARGN0 == 32 ? (uint32_t)-1 \
> + : (((uint32_t)1 << JITTER_ARGN0) - 1); \
> \
> fmt[0] = '%'; \
> fmt[1] = '0'; \
> @@ -471,7 +474,7 @@ late-header-c
> fmt[5] = '\0'; \
> } \
> \
> - pk_printf (fmt, val); \
> + pk_printf (fmt, (BASE) == 10 ? val : val & mask); \
> JITTER_DROP_STACK (); \
> JITTER_DROP_STACK (); \
> } while (0)
> @@ -481,6 +484,9 @@ late-header-c
> { \
> TYPEC val = PVM_VAL_##TYPE (JITTER_UNDER_TOP_STACK ()); \
> char fmt[7]; /* %0NNff */ \
> + uint64_t mask \
> + = JITTER_ARGN0 == 64 ? (uint64_t)-1 \
> + : (((uint64_t)1 << JITTER_ARGN0) - 1); \
> \
> fmt[0] = '%'; \
> fmt[1] = '0'; \
> @@ -517,7 +523,7 @@ late-header-c
> fmt[6] = '\0'; \
> } \
> \
> - pk_printf (fmt, val); \
> + pk_printf (fmt, (BASE) == 10 ? val : val & mask); \
> JITTER_DROP_STACK (); \
> JITTER_DROP_STACK (); \
> } while (0)
Very nice fix. OK for master.
Thanks!