poke-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2] pickles: Fix recently-introduced `in' related type errors


From: Jose E. Marchesi
Subject: Re: [PATCH v2] pickles: Fix recently-introduced `in' related type errors
Date: Tue, 25 Oct 2022 02:32:24 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

OK.
Thank you! :)

> ---
> OK, here's a little fixup.  The changelog probably takes more attention to
> check than the actual code, since I might've missed something, but I don't
> think I did.
>
>  ChangeLog              |  26 +++
>  pickles/asn1-ber.pk    |  58 +++----
>  pickles/bmp.pk         |   2 +-
>  pickles/bpf.pk         |  14 +-
>  pickles/coff-i386.pk   |  20 +--
>  pickles/ctf.pk         |  30 ++--
>  pickles/dwarf-expr.pk  | 364 ++++++++++++++++++++---------------------
>  pickles/dwarf-frame.pk |  66 ++++----
>  pickles/dwarf-info.pk  |   2 +-
>  pickles/elf-64.pk      |   6 +-
>  pickles/jffs2.pk       |  38 ++---
>  pickles/pe.pk          |  90 +++++-----
>  12 files changed, 377 insertions(+), 339 deletions(-)
>
> diff --git a/ChangeLog b/ChangeLog
> index 829a2b58..246682f7 100644
> --- a/ChangeLog
> +++ b/ChangeLog
> @@ -1,3 +1,29 @@
> +2022-10-25  Arsen Arsenović  <arsen@aarsen.me>
> +
> +     * pickles/dwarf-frame.pk: Set CFA constants to `uint<6>'
> +     explicitly, to avoid `in' type errors.
> +     * pickles/pe.pk: Set PE_DEBUG_TYPE constants to uint<32>,
> +     PE_SUBSYS uint<16>, and cast alignemnt_info to uint<32> explicitly
> +     to avoid `in' type errors.
> +     * pickles/jffs2.pk: Se various constants to their right type
> +     explicitly, to avoid `in' type errors.
> +     * pickles/asn1-ber.pk: Explicitly set BER tags as uint<5>, to
> +     avoid `in' type errors.
> +     * pickles/dwarf-expr.pk: Explicitly set `DW_OP' constants to
> +     uint<8>, to avoid `in' type errors.
> +     * pickles/ctf.pk: Explicitly set kinds to uint<6>, to avoid `in'
> +     type errors.
> +     * pickles/coff-i386.pk: Explicitly set i386 relocation types to
> +     uint<16>, to avoid `in' type error.
> +     * pickles/dwarf-info.pk: Explicitly specify type in version
> +     `constraint', to avoid `in' type error.
> +     * pickles/elf-64.pk: Cast d_tag to int<32>, to avoid `in' type
> +     errors.
> +     * pickles/bpf.pk: Explicitly make instruction classes three-bit
> +     uints.
> +     * pickles/bmp.pk: Use unsigned offsets explicitly, to match header
> +     type.
> +
>  2022-10-23  Arsen Arsenović  <arsen@aarsen.me>
>  
>          * doc/gen-pvm-insns.sh (SUBSECTIONS): Emit @pvindex calls for
> diff --git a/pickles/asn1-ber.pk b/pickles/asn1-ber.pk
> index b38d3472..b426b3ae 100644
> --- a/pickles/asn1-ber.pk
> +++ b/pickles/asn1-ber.pk
> @@ -23,35 +23,35 @@
>     ASN-1 types.  Note that I didn't find these in the standard, but in
>     https://www.obj-sys.com/asn1tutorial/node124.html */
>  
> -var BER_TAG_RESERVED = 0,
> -    BER_TAG_BOOLEAN = 1,
> -    BER_TAG_INTEGER = 2,
> -    BER_TAG_BIT_STRING = 3,
> -    BER_TAG_OCTET_STRING = 4,
> -    BER_TAG_NULL = 5,
> -    BER_TAG_OBJ_IDENTIFIER = 6,
> -    BER_TAG_OBJ_DESCRIPTOR = 7,
> -    BER_TAG_INSTANCE = 8,
> -    BER_TAG_REAL = 9,
> -    BER_TAG_ENUMERATED = 10,
> -    BER_TAG_EMBEDDED_PDV = 11,
> -    BER_TAG_UTF8_STRING = 12,
> -    BER_TAG_RELATIVE_OID = 13,
> -    BER_TAG_SEQUENCE = 16,
> -    BER_TAG_SET = 17,
> -    BER_TAG_NUMERIC_STRING = 18,
> -    BER_TAG_PRINTABLE_STRING = 19,
> -    BER_TAG_TELETEX_STRING = 20,
> -    BER_TAG_VIDEOTEX_STRING = 21,
> -    BER_TAG_IA5_STRING = 22,
> -    BER_TAG_UTC_TIME = 23,
> -    BER_TAG_GENERALIZED_TIME = 24,
> -    BER_TAG_GRAPHIC_STRING = 25,
> -    BER_TAG_VISIBLE_STRING = 26,
> -    BER_TAG_GENERAL_STRING = 27,
> -    BER_TAG_UNIVERSAL_STRING = 28,
> -    BER_TAG_CHARACTER_STRING = 29,
> -    BER_TAG_BMP_STRING = 30;
> +var BER_TAG_RESERVED         = 0 as uint<5>,
> +    BER_TAG_BOOLEAN          = 1 as uint<5>,
> +    BER_TAG_INTEGER          = 2 as uint<5>,
> +    BER_TAG_BIT_STRING       = 3 as uint<5>,
> +    BER_TAG_OCTET_STRING     = 4 as uint<5>,
> +    BER_TAG_NULL             = 5 as uint<5>,
> +    BER_TAG_OBJ_IDENTIFIER   = 6 as uint<5>,
> +    BER_TAG_OBJ_DESCRIPTOR   = 7 as uint<5>,
> +    BER_TAG_INSTANCE         = 8 as uint<5>,
> +    BER_TAG_REAL             = 9 as uint<5>,
> +    BER_TAG_ENUMERATED       = 10 as uint<5>,
> +    BER_TAG_EMBEDDED_PDV     = 11 as uint<5>,
> +    BER_TAG_UTF8_STRING      = 12 as uint<5>,
> +    BER_TAG_RELATIVE_OID     = 13 as uint<5>,
> +    BER_TAG_SEQUENCE         = 16 as uint<5>,
> +    BER_TAG_SET              = 17 as uint<5>,
> +    BER_TAG_NUMERIC_STRING   = 18 as uint<5>,
> +    BER_TAG_PRINTABLE_STRING = 19 as uint<5>,
> +    BER_TAG_TELETEX_STRING   = 20 as uint<5>,
> +    BER_TAG_VIDEOTEX_STRING  = 21 as uint<5>,
> +    BER_TAG_IA5_STRING       = 22 as uint<5>,
> +    BER_TAG_UTC_TIME         = 23 as uint<5>,
> +    BER_TAG_GENERALIZED_TIME = 24 as uint<5>,
> +    BER_TAG_GRAPHIC_STRING   = 25 as uint<5>,
> +    BER_TAG_VISIBLE_STRING   = 26 as uint<5>,
> +    BER_TAG_GENERAL_STRING   = 27 as uint<5>,
> +    BER_TAG_UNIVERSAL_STRING = 28 as uint<5>,
> +    BER_TAG_CHARACTER_STRING = 29 as uint<5>,
> +    BER_TAG_BMP_STRING       = 30 as uint<5>;
>  
>  var ber_tag_name = [
>    "RESERVED", "boolean", "integer", "bit string", "octet string",
> diff --git a/pickles/bmp.pk b/pickles/bmp.pk
> index 5d940a8c..3945b8ca 100644
> --- a/pickles/bmp.pk
> +++ b/pickles/bmp.pk
> @@ -24,7 +24,7 @@ var BI_RGB = 0,  /* No compression.  */
>  
>  /* The size of the info header depends on the type of BMP file.  */
>  
> -var IHS_BMP_V2 = 12#B, IHS_BMP_V3 = 40#B;
> +var IHS_BMP_V2 = 12U#B, IHS_BMP_V3 = 40U#B;
>  
>  type BMP_Header =
>    struct
> diff --git a/pickles/bpf.pk b/pickles/bpf.pk
> index 4b92d617..d8f6874e 100644
> --- a/pickles/bpf.pk
> +++ b/pickles/bpf.pk
> @@ -23,13 +23,13 @@
>  
>  type BPF_Insn_Class = uint<3>;
>  
> -var BPF_INSN_CLASS_LD  = 0b000,
> -    BPF_INSN_CLASS_LDX = 0b001,
> -    BPF_INSN_CLASS_ST  = 0b010,
> -    BPF_INSN_CLASS_STX = 0b011,
> -    BPF_INSN_CLASS_ALU = 0b100,
> -    BPF_INSN_CLASS_JMP = 0b101,
> -    BPF_INSN_CLASS_ALU64 = 0b111;
> +var BPF_INSN_CLASS_LD    = 0b000 as uint<3>,
> +    BPF_INSN_CLASS_LDX   = 0b001 as uint<3>,
> +    BPF_INSN_CLASS_ST    = 0b010 as uint<3>,
> +    BPF_INSN_CLASS_STX   = 0b011 as uint<3>,
> +    BPF_INSN_CLASS_ALU   = 0b100 as uint<3>,
> +    BPF_INSN_CLASS_JMP   = 0b101 as uint<3>,
> +    BPF_INSN_CLASS_ALU64 = 0b111 as uint<3>;
>  
>  fun bpf_class_is_alujmp = (uint<3> class) int:
>    {
> diff --git a/pickles/coff-i386.pk b/pickles/coff-i386.pk
> index db5243ac..75122ac2 100644
> --- a/pickles/coff-i386.pk
> +++ b/pickles/coff-i386.pk
> @@ -42,16 +42,16 @@ coff_magic_numbers
>  
>  /* i386 COFF relocations.  */
>  
> -var COFF_I386_R_DIR32 = 6,
> -    COFF_I386_R_IMAGEBASE = 7,
> -    COFF_I386_R_SECTION = 10,
> -    COFF_I386_R_SECREL32 = 11,
> -    COFF_I386_R_RELBYTE = 15,
> -    COFF_I386_R_RELWORD = 16,
> -    COFF_I386_R_RELLONG = 17,
> -    COFF_I386_R_PCRBYTE = 18,
> -    COFF_I386_R_PCRWORD = 19,
> -    COFF_I386_R_PCRLONG = 20;
> +var COFF_I386_R_DIR32     = 6UH,
> +    COFF_I386_R_IMAGEBASE = 7UH,
> +    COFF_I386_R_SECTION   = 10UH,
> +    COFF_I386_R_SECREL32  = 11UH,
> +    COFF_I386_R_RELBYTE   = 15UH,
> +    COFF_I386_R_RELWORD   = 16UH,
> +    COFF_I386_R_RELLONG   = 17UH,
> +    COFF_I386_R_PCRBYTE   = 18UH,
> +    COFF_I386_R_PCRWORD   = 19UH,
> +    COFF_I386_R_PCRLONG   = 20UH;
>  
>  var coff_i386_relocs =
>    [ COFF_I386_R_DIR32, COFF_I386_R_IMAGEBASE,
> diff --git a/pickles/ctf.pk b/pickles/ctf.pk
> index 683a65cc..45f01c1f 100644
> --- a/pickles/ctf.pk
> +++ b/pickles/ctf.pk
> @@ -48,21 +48,21 @@ var CTF_K_UNKNOWN  = 0U,
>  var CTF_STRTAB_0 = 0; /* Name is in the in-CTF string table.  */
>  var CTF_STRTAB_1 = 1; /* Name is in an ELF strtab.  */
>  
> -var CTF_KIND_UNKNOWN  = 0,
> -    CTF_KIND_INTEGER  = 1,
> -    CTF_KIND_FLOAT    = 2,
> -    CTF_KIND_POINTER  = 3,
> -    CTF_KIND_ARRAY    = 4,
> -    CTF_KIND_FUNCTION = 5,
> -    CTF_KIND_STRUCT   = 6,
> -    CTF_KIND_UNION    = 7,
> -    CTF_KIND_ENUM     = 8,
> -    CTF_KIND_FORWARD  = 9,
> -    CTF_KIND_TYPEDEF  = 10,
> -    CTF_KIND_VOLATILE = 11,
> -    CTF_KIND_CONST    = 12,
> -    CTF_KIND_RESTRICT = 13,
> -    CTF_KIND_SLICE    = 14;
> +var CTF_KIND_UNKNOWN  = 0 as uint<6>,
> +    CTF_KIND_INTEGER  = 1 as uint<6>,
> +    CTF_KIND_FLOAT    = 2 as uint<6>,
> +    CTF_KIND_POINTER  = 3 as uint<6>,
> +    CTF_KIND_ARRAY    = 4 as uint<6>,
> +    CTF_KIND_FUNCTION = 5 as uint<6>,
> +    CTF_KIND_STRUCT   = 6 as uint<6>,
> +    CTF_KIND_UNION    = 7 as uint<6>,
> +    CTF_KIND_ENUM     = 8 as uint<6>,
> +    CTF_KIND_FORWARD  = 9 as uint<6>,
> +    CTF_KIND_TYPEDEF  = 10 as uint<6>,
> +    CTF_KIND_VOLATILE = 11 as uint<6>,
> +    CTF_KIND_CONST    = 12 as uint<6>,
> +    CTF_KIND_RESTRICT = 13 as uint<6>,
> +    CTF_KIND_SLICE    = 14 as uint<6>;
>  
>  var ctf_kind_str =
>    ["unknown", "integer", "float", "pointer", "array",
> diff --git a/pickles/dwarf-expr.pk b/pickles/dwarf-expr.pk
> index d3627092..79baa95b 100644
> --- a/pickles/dwarf-expr.pk
> +++ b/pickles/dwarf-expr.pk
> @@ -21,190 +21,190 @@ load leb128;
>  
>  /* Opcodes.  */
>  
> -var DW_OP_FIRST = 0x03,
> -    DW_OP_addr = 0x03,
> -    DW_OP_deref = 0x06,
> -    DW_OP_const1u = 0x08,
> -    DW_OP_const1s = 0x09,
> -    DW_OP_const2u = 0x0a,
> -    DW_OP_const2s = 0x0b,
> -    DW_OP_const4u = 0x0c,
> -    DW_OP_const4s = 0x0d,
> -    DW_OP_const8u = 0x0e,
> -    DW_OP_const8s = 0x0f,
> -    DW_OP_constu = 0x10,
> -    DW_OP_consts = 0x11,
> -    DW_OP_dup = 0x12,
> -    DW_OP_drop = 0x13,
> -    DW_OP_over = 0x14,
> -    DW_OP_pick = 0x15,
> -    DW_OP_swap = 0x16,
> -    DW_OP_rot = 0x17,
> -    DW_OP_xderef = 0x18,
> -    DW_OP_abs = 0x19,
> -    DW_OP_and = 0x1a,
> -    DW_OP_div = 0x1b,
> -    DW_OP_minus = 0x1c,
> -    DW_OP_mod = 0x1d,
> -    DW_OP_mul = 0x1e,
> -    DW_OP_neg = 0x1f,
> -    DW_OP_not = 0x20,
> -    DW_OP_or = 0x21,
> -    DW_OP_plus = 0x22,
> -    DW_OP_plus_uconst = 0x23,
> -    DW_OP_shl = 0x24,
> -    DW_OP_shr = 0x25,
> -    DW_OP_shra = 0x26,
> -    DW_OP_xor = 0x27,
> -    DW_OP_bra = 0x28,
> -    DW_OP_eq = 0x29,
> -    DW_OP_ge = 0x2a,
> -    DW_OP_gt = 0x2b,
> -    DW_OP_le = 0x2c,
> -    DW_OP_lt = 0x2d,
> -    DW_OP_ne = 0x2e,
> -    DW_OP_skip = 0x2f,
> -    DW_OP_lit0 = 0x30,
> -    DW_OP_lit1 = 0x31,
> -    DW_OP_lit2 = 0x32,
> -    DW_OP_lit3 = 0x33,
> -    DW_OP_lit4 = 0x34,
> -    DW_OP_lit5 = 0x35,
> -    DW_OP_lit6 = 0x36,
> -    DW_OP_lit7 = 0x37,
> -    DW_OP_lit8 = 0x38,
> -    DW_OP_lit9 = 0x39,
> -    DW_OP_lit10 = 0x3a,
> -    DW_OP_lit11 = 0x3b,
> -    DW_OP_lit12 = 0x3c,
> -    DW_OP_lit13 = 0x3d,
> -    DW_OP_lit14 = 0x3e,
> -    DW_OP_lit15 = 0x3f,
> -    DW_OP_lit16 = 0x40,
> -    DW_OP_lit17 = 0x41,
> -    DW_OP_lit18 = 0x42,
> -    DW_OP_lit19 = 0x43,
> -    DW_OP_lit20 = 0x44,
> -    DW_OP_lit21 = 0x45,
> -    DW_OP_lit22 = 0x46,
> -    DW_OP_lit23 = 0x47,
> -    DW_OP_lit24 = 0x48,
> -    DW_OP_lit25 = 0x49,
> -    DW_OP_lit26 = 0x4a,
> -    DW_OP_lit27 = 0x4b,
> -    DW_OP_lit28 = 0x4c,
> -    DW_OP_lit29 = 0x4d,
> -    DW_OP_lit30 = 0x4e,
> -    DW_OP_lit31 = 0x4f,
> -    DW_OP_reg0 = 0x50,
> -    DW_OP_reg1 = 0x51,
> -    DW_OP_reg2 = 0x52,
> -    DW_OP_reg3 = 0x53,
> -    DW_OP_reg4 = 0x54,
> -    DW_OP_reg5 = 0x55,
> -    DW_OP_reg6 = 0x56,
> -    DW_OP_reg7 = 0x57,
> -    DW_OP_reg8 = 0x58,
> -    DW_OP_reg9 = 0x59,
> -    DW_OP_reg10 = 0x5a,
> -    DW_OP_reg11 = 0x5b,
> -    DW_OP_reg12 = 0x5c,
> -    DW_OP_reg13 = 0x5d,
> -    DW_OP_reg14 = 0x5e,
> -    DW_OP_reg15 = 0x5f,
> -    DW_OP_reg16 = 0x60,
> -    DW_OP_reg17 = 0x61,
> -    DW_OP_reg18 = 0x62,
> -    DW_OP_reg19 = 0x63,
> -    DW_OP_reg20 = 0x64,
> -    DW_OP_reg21 = 0x65,
> -    DW_OP_reg22 = 0x66,
> -    DW_OP_reg23 = 0x67,
> -    DW_OP_reg24 = 0x68,
> -    DW_OP_reg25 = 0x69,
> -    DW_OP_reg26 = 0x6a,
> -    DW_OP_reg27 = 0x6b,
> -    DW_OP_reg28 = 0x6c,
> -    DW_OP_reg29 = 0x6d,
> -    DW_OP_reg30 = 0x6e,
> -    DW_OP_reg31 = 0x6f,
> -    DW_OP_breg0 = 0x70,
> -    DW_OP_breg1 = 0x71,
> -    DW_OP_breg2 = 0x72,
> -    DW_OP_breg3 = 0x73,
> -    DW_OP_breg4 = 0x74,
> -    DW_OP_breg5 = 0x75,
> -    DW_OP_breg6 = 0x76,
> -    DW_OP_breg7 = 0x77,
> -    DW_OP_breg8 = 0x78,
> -    DW_OP_breg9 = 0x79,
> -    DW_OP_breg10 = 0x7a,
> -    DW_OP_breg11 = 0x7b,
> -    DW_OP_breg12 = 0x7c,
> -    DW_OP_breg13 = 0x7d,
> -    DW_OP_breg14 = 0x7e,
> -    DW_OP_breg15 = 0x7f,
> -    DW_OP_breg16 = 0x80,
> -    DW_OP_breg17 = 0x81,
> -    DW_OP_breg18 = 0x82,
> -    DW_OP_breg19 = 0x83,
> -    DW_OP_breg20 = 0x84,
> -    DW_OP_breg21 = 0x85,
> -    DW_OP_breg22 = 0x86,
> -    DW_OP_breg23 = 0x87,
> -    DW_OP_breg24 = 0x88,
> -    DW_OP_breg25 = 0x89,
> -    DW_OP_breg26 = 0x8a,
> -    DW_OP_breg27 = 0x8b,
> -    DW_OP_breg28 = 0x8c,
> -    DW_OP_breg29 = 0x8d,
> -    DW_OP_breg30 = 0x8e,
> -    DW_OP_breg31 = 0x8f,
> -    DW_OP_regx = 0x90,
> -    DW_OP_fbreg = 0x91,
> -    DW_OP_bregx = 0x92,
> -    DW_OP_piece = 0x93,
> -    DW_OP_deref_size = 0x94,
> -    DW_OP_xderef_size = 0x95,
> -    DW_OP_nop = 0x96,
> -    DW_OP_push_object_address = 0x97,
> -    DW_OP_call2 = 0x98,
> -    DW_OP_call4 = 0x99,
> -    DW_OP_call_ref = 0x9a,
> -    DW_OP_form_tls_address = 0x9b,
> -    DW_OP_call_frame_cfa = 0x9c,
> -    DW_OP_bit_piece = 0x9d,
> -    DW_OP_implicit_value = 0x9e,
> -    DW_OP_stack_value = 0x9f,
> -    DW_OP_implicit_pointer = 0xa0,
> -    DW_OP_addrx = 0xa1,
> -    DW_OP_constx = 0xa2,
> -    DW_OP_entry_value = 0xa3,
> -    DW_OP_const_type = 0xa4,
> -    DW_OP_regval_type = 0xa5,
> -    DW_OP_deref_type = 0xa6,
> -    DW_OP_xderef_type = 0xa7,
> -    DW_OP_convert = 0xa8,
> -    DW_OP_reinterpret = 0xa9,
> +var DW_OP_FIRST                = 0x03 as uint<8>,
> +    DW_OP_addr                 = 0x03 as uint<8>,
> +    DW_OP_deref                = 0x06 as uint<8>,
> +    DW_OP_const1u              = 0x08 as uint<8>,
> +    DW_OP_const1s              = 0x09 as uint<8>,
> +    DW_OP_const2u              = 0x0a as uint<8>,
> +    DW_OP_const2s              = 0x0b as uint<8>,
> +    DW_OP_const4u              = 0x0c as uint<8>,
> +    DW_OP_const4s              = 0x0d as uint<8>,
> +    DW_OP_const8u              = 0x0e as uint<8>,
> +    DW_OP_const8s              = 0x0f as uint<8>,
> +    DW_OP_constu               = 0x10 as uint<8>,
> +    DW_OP_consts               = 0x11 as uint<8>,
> +    DW_OP_dup                  = 0x12 as uint<8>,
> +    DW_OP_drop                 = 0x13 as uint<8>,
> +    DW_OP_over                 = 0x14 as uint<8>,
> +    DW_OP_pick                 = 0x15 as uint<8>,
> +    DW_OP_swap                 = 0x16 as uint<8>,
> +    DW_OP_rot                  = 0x17 as uint<8>,
> +    DW_OP_xderef               = 0x18 as uint<8>,
> +    DW_OP_abs                  = 0x19 as uint<8>,
> +    DW_OP_and                  = 0x1a as uint<8>,
> +    DW_OP_div                  = 0x1b as uint<8>,
> +    DW_OP_minus                = 0x1c as uint<8>,
> +    DW_OP_mod                  = 0x1d as uint<8>,
> +    DW_OP_mul                  = 0x1e as uint<8>,
> +    DW_OP_neg                  = 0x1f as uint<8>,
> +    DW_OP_not                  = 0x20 as uint<8>,
> +    DW_OP_or                   = 0x21 as uint<8>,
> +    DW_OP_plus                 = 0x22 as uint<8>,
> +    DW_OP_plus_uconst          = 0x23 as uint<8>,
> +    DW_OP_shl                  = 0x24 as uint<8>,
> +    DW_OP_shr                  = 0x25 as uint<8>,
> +    DW_OP_shra                 = 0x26 as uint<8>,
> +    DW_OP_xor                  = 0x27 as uint<8>,
> +    DW_OP_bra                  = 0x28 as uint<8>,
> +    DW_OP_eq                   = 0x29 as uint<8>,
> +    DW_OP_ge                   = 0x2a as uint<8>,
> +    DW_OP_gt                   = 0x2b as uint<8>,
> +    DW_OP_le                   = 0x2c as uint<8>,
> +    DW_OP_lt                   = 0x2d as uint<8>,
> +    DW_OP_ne                   = 0x2e as uint<8>,
> +    DW_OP_skip                 = 0x2f as uint<8>,
> +    DW_OP_lit0                 = 0x30 as uint<8>,
> +    DW_OP_lit1                 = 0x31 as uint<8>,
> +    DW_OP_lit2                 = 0x32 as uint<8>,
> +    DW_OP_lit3                 = 0x33 as uint<8>,
> +    DW_OP_lit4                 = 0x34 as uint<8>,
> +    DW_OP_lit5                 = 0x35 as uint<8>,
> +    DW_OP_lit6                 = 0x36 as uint<8>,
> +    DW_OP_lit7                 = 0x37 as uint<8>,
> +    DW_OP_lit8                 = 0x38 as uint<8>,
> +    DW_OP_lit9                 = 0x39 as uint<8>,
> +    DW_OP_lit10                = 0x3a as uint<8>,
> +    DW_OP_lit11                = 0x3b as uint<8>,
> +    DW_OP_lit12                = 0x3c as uint<8>,
> +    DW_OP_lit13                = 0x3d as uint<8>,
> +    DW_OP_lit14                = 0x3e as uint<8>,
> +    DW_OP_lit15                = 0x3f as uint<8>,
> +    DW_OP_lit16                = 0x40 as uint<8>,
> +    DW_OP_lit17                = 0x41 as uint<8>,
> +    DW_OP_lit18                = 0x42 as uint<8>,
> +    DW_OP_lit19                = 0x43 as uint<8>,
> +    DW_OP_lit20                = 0x44 as uint<8>,
> +    DW_OP_lit21                = 0x45 as uint<8>,
> +    DW_OP_lit22                = 0x46 as uint<8>,
> +    DW_OP_lit23                = 0x47 as uint<8>,
> +    DW_OP_lit24                = 0x48 as uint<8>,
> +    DW_OP_lit25                = 0x49 as uint<8>,
> +    DW_OP_lit26                = 0x4a as uint<8>,
> +    DW_OP_lit27                = 0x4b as uint<8>,
> +    DW_OP_lit28                = 0x4c as uint<8>,
> +    DW_OP_lit29                = 0x4d as uint<8>,
> +    DW_OP_lit30                = 0x4e as uint<8>,
> +    DW_OP_lit31                = 0x4f as uint<8>,
> +    DW_OP_reg0                 = 0x50 as uint<8>,
> +    DW_OP_reg1                 = 0x51 as uint<8>,
> +    DW_OP_reg2                 = 0x52 as uint<8>,
> +    DW_OP_reg3                 = 0x53 as uint<8>,
> +    DW_OP_reg4                 = 0x54 as uint<8>,
> +    DW_OP_reg5                 = 0x55 as uint<8>,
> +    DW_OP_reg6                 = 0x56 as uint<8>,
> +    DW_OP_reg7                 = 0x57 as uint<8>,
> +    DW_OP_reg8                 = 0x58 as uint<8>,
> +    DW_OP_reg9                 = 0x59 as uint<8>,
> +    DW_OP_reg10                = 0x5a as uint<8>,
> +    DW_OP_reg11                = 0x5b as uint<8>,
> +    DW_OP_reg12                = 0x5c as uint<8>,
> +    DW_OP_reg13                = 0x5d as uint<8>,
> +    DW_OP_reg14                = 0x5e as uint<8>,
> +    DW_OP_reg15                = 0x5f as uint<8>,
> +    DW_OP_reg16                = 0x60 as uint<8>,
> +    DW_OP_reg17                = 0x61 as uint<8>,
> +    DW_OP_reg18                = 0x62 as uint<8>,
> +    DW_OP_reg19                = 0x63 as uint<8>,
> +    DW_OP_reg20                = 0x64 as uint<8>,
> +    DW_OP_reg21                = 0x65 as uint<8>,
> +    DW_OP_reg22                = 0x66 as uint<8>,
> +    DW_OP_reg23                = 0x67 as uint<8>,
> +    DW_OP_reg24                = 0x68 as uint<8>,
> +    DW_OP_reg25                = 0x69 as uint<8>,
> +    DW_OP_reg26                = 0x6a as uint<8>,
> +    DW_OP_reg27                = 0x6b as uint<8>,
> +    DW_OP_reg28                = 0x6c as uint<8>,
> +    DW_OP_reg29                = 0x6d as uint<8>,
> +    DW_OP_reg30                = 0x6e as uint<8>,
> +    DW_OP_reg31                = 0x6f as uint<8>,
> +    DW_OP_breg0                = 0x70 as uint<8>,
> +    DW_OP_breg1                = 0x71 as uint<8>,
> +    DW_OP_breg2                = 0x72 as uint<8>,
> +    DW_OP_breg3                = 0x73 as uint<8>,
> +    DW_OP_breg4                = 0x74 as uint<8>,
> +    DW_OP_breg5                = 0x75 as uint<8>,
> +    DW_OP_breg6                = 0x76 as uint<8>,
> +    DW_OP_breg7                = 0x77 as uint<8>,
> +    DW_OP_breg8                = 0x78 as uint<8>,
> +    DW_OP_breg9                = 0x79 as uint<8>,
> +    DW_OP_breg10               = 0x7a as uint<8>,
> +    DW_OP_breg11               = 0x7b as uint<8>,
> +    DW_OP_breg12               = 0x7c as uint<8>,
> +    DW_OP_breg13               = 0x7d as uint<8>,
> +    DW_OP_breg14               = 0x7e as uint<8>,
> +    DW_OP_breg15               = 0x7f as uint<8>,
> +    DW_OP_breg16               = 0x80 as uint<8>,
> +    DW_OP_breg17               = 0x81 as uint<8>,
> +    DW_OP_breg18               = 0x82 as uint<8>,
> +    DW_OP_breg19               = 0x83 as uint<8>,
> +    DW_OP_breg20               = 0x84 as uint<8>,
> +    DW_OP_breg21               = 0x85 as uint<8>,
> +    DW_OP_breg22               = 0x86 as uint<8>,
> +    DW_OP_breg23               = 0x87 as uint<8>,
> +    DW_OP_breg24               = 0x88 as uint<8>,
> +    DW_OP_breg25               = 0x89 as uint<8>,
> +    DW_OP_breg26               = 0x8a as uint<8>,
> +    DW_OP_breg27               = 0x8b as uint<8>,
> +    DW_OP_breg28               = 0x8c as uint<8>,
> +    DW_OP_breg29               = 0x8d as uint<8>,
> +    DW_OP_breg30               = 0x8e as uint<8>,
> +    DW_OP_breg31               = 0x8f as uint<8>,
> +    DW_OP_regx                 = 0x90 as uint<8>,
> +    DW_OP_fbreg                = 0x91 as uint<8>,
> +    DW_OP_bregx                = 0x92 as uint<8>,
> +    DW_OP_piece                = 0x93 as uint<8>,
> +    DW_OP_deref_size           = 0x94 as uint<8>,
> +    DW_OP_xderef_size          = 0x95 as uint<8>,
> +    DW_OP_nop                  = 0x96 as uint<8>,
> +    DW_OP_push_object_address  = 0x97 as uint<8>,
> +    DW_OP_call2                = 0x98 as uint<8>,
> +    DW_OP_call4                = 0x99 as uint<8>,
> +    DW_OP_call_ref             = 0x9a as uint<8>,
> +    DW_OP_form_tls_address     = 0x9b as uint<8>,
> +    DW_OP_call_frame_cfa       = 0x9c as uint<8>,
> +    DW_OP_bit_piece            = 0x9d as uint<8>,
> +    DW_OP_implicit_value       = 0x9e as uint<8>,
> +    DW_OP_stack_value          = 0x9f as uint<8>,
> +    DW_OP_implicit_pointer     = 0xa0 as uint<8>,
> +    DW_OP_addrx                = 0xa1 as uint<8>,
> +    DW_OP_constx               = 0xa2 as uint<8>,
> +    DW_OP_entry_value          = 0xa3 as uint<8>,
> +    DW_OP_const_type           = 0xa4 as uint<8>,
> +    DW_OP_regval_type          = 0xa5 as uint<8>,
> +    DW_OP_deref_type           = 0xa6 as uint<8>,
> +    DW_OP_xderef_type          = 0xa7 as uint<8>,
> +    DW_OP_convert              = 0xa8 as uint<8>,
> +    DW_OP_reinterpret          = 0xa9 as uint<8>,
>      /* GNU extensions.  */
> -    DW_OP_GNU_push_tls_address = 0xe0,
> -    DW_OP_GNU_uninit = 0xf0,
> -    DW_OP_GNU_encoded_addr = 0xf1,
> -    DW_OP_GNU_implicit_pointer = 0xf2,
> -    DW_OP_GNU_entry_value = 0xf3,
> -    DW_OP_GNU_const_type = 0xf4,
> -    DW_OP_GNU_regval_type = 0xf5,
> -    DW_OP_GNU_deref_type = 0xf6,
> -    DW_OP_GNU_convert = 0xf7,
> -    DW_OP_GNU_reinterpret = 0xf9,
> -    DW_OP_GNU_parameter_ref = 0xfa,
> +    DW_OP_GNU_push_tls_address = 0xe0 as uint<8>,
> +    DW_OP_GNU_uninit           = 0xf0 as uint<8>,
> +    DW_OP_GNU_encoded_addr     = 0xf1 as uint<8>,
> +    DW_OP_GNU_implicit_pointer = 0xf2 as uint<8>,
> +    DW_OP_GNU_entry_value      = 0xf3 as uint<8>,
> +    DW_OP_GNU_const_type       = 0xf4 as uint<8>,
> +    DW_OP_GNU_regval_type      = 0xf5 as uint<8>,
> +    DW_OP_GNU_deref_type       = 0xf6 as uint<8>,
> +    DW_OP_GNU_convert          = 0xf7 as uint<8>,
> +    DW_OP_GNU_reinterpret      = 0xf9 as uint<8>,
> +    DW_OP_GNU_parameter_ref    = 0xfa as uint<8>,
>      /* GNU Debug Fission extensions.  */
> -    DW_OP_GNU_addr_index = 0xfb,
> -    DW_OP_GNU_const_index = 0xfc,
> -    DW_OP_GNU_variable_value = 0xfd,
> -    DW_OP_lo_user = 0xe0,
> -    DW_OP_hi_user = 0xff,
> -    DW_OP_LAST = DW_OP_hi_user;
> +    DW_OP_GNU_addr_index       = 0xfb as uint<8>,
> +    DW_OP_GNU_const_index      = 0xfc as uint<8>,
> +    DW_OP_GNU_variable_value   = 0xfd as uint<8>,
> +    DW_OP_lo_user              = 0xe0 as uint<8>,
> +    DW_OP_hi_user              = 0xff as uint<8>,
> +    DW_OP_LAST                 = DW_OP_hi_user;
>  
>  /* Each DWARF operation contains a 1-byte opcode that identifies the
>     operation; followed by a variable number of arguments.  */
> diff --git a/pickles/dwarf-frame.pk b/pickles/dwarf-frame.pk
> index e429c5a0..41618f3f 100644
> --- a/pickles/dwarf-frame.pk
> +++ b/pickles/dwarf-frame.pk
> @@ -23,39 +23,39 @@ load "dwarf-expr.pk"; /* For Dwarf_Op  */
>  
>  /* Call Frame Instructions.  */
>  
> -var DW_CFA_advance_loc = 0x40,
> -    DW_CFA_offset = 0x80,
> -    DW_CFA_restore = 0xc0,
> -    DW_CFA_extended = 0,
> -    DW_CFA_nop = 0x00,
> -    DW_CFA_set_loc = 0x01,
> -    DW_CFA_advance_loc1 = 0x02,
> -    DW_CFA_advance_loc2 = 0x03,
> -    DW_CFA_advance_loc4 = 0x04,
> -    DW_CFA_offset_extended = 0x05,
> -    DW_CFA_restore_extended = 0x06,
> -    DW_CFA_undefined = 0x07,
> -    DW_CFA_same_value = 0x08,
> -    DW_CFA_register = 0x09,
> -    DW_CFA_remember_state = 0x0a,
> -    DW_CFA_restore_state = 0x0b,
> -    DW_CFA_def_cfa = 0x0c,
> -    DW_CFA_def_cfa_register = 0x0d,
> -    DW_CFA_def_cfa_offset = 0x0e,
> -    DW_CFA_def_cfa_expression = 0x0f,
> -    DW_CFA_expression = 0x10,
> -    DW_CFA_offset_extended_sf = 0x11,
> -    DW_CFA_def_cfa_sf = 0x12,
> -    DW_CFA_def_cfa_offset_sf = 0x13,
> -    DW_CFA_val_offset = 0x14,
> -    DW_CFA_val_offset_sf = 0x15,
> -    DW_CFA_val_expression = 0x16,
> -    DW_CFA_low_user = 0x1c,
> -    DW_CFA_MIPS_advance_loc8 = 0x1d,
> -    DW_CFA_GNU_window_save = 0x2d,
> -    DW_CFA_GNU_args_size = 0x2e,
> -    DW_CFA_GNU_negative_offset_extended = 0x2f,
> -    DW_CFA_high_user = 0x3f;
> +var DW_CFA_advance_loc                  = 0x40 as uint<6>,
> +    DW_CFA_offset                       = 0x80 as uint<6>,
> +    DW_CFA_restore                      = 0xc0 as uint<6>,
> +    DW_CFA_extended                     = 0x00 as uint<6>,
> +    DW_CFA_nop                          = 0x00 as uint<6>,
> +    DW_CFA_set_loc                      = 0x01 as uint<6>,
> +    DW_CFA_advance_loc1                 = 0x02 as uint<6>,
> +    DW_CFA_advance_loc2                 = 0x03 as uint<6>,
> +    DW_CFA_advance_loc4                 = 0x04 as uint<6>,
> +    DW_CFA_offset_extended              = 0x05 as uint<6>,
> +    DW_CFA_restore_extended             = 0x06 as uint<6>,
> +    DW_CFA_undefined                    = 0x07 as uint<6>,
> +    DW_CFA_same_value                   = 0x08 as uint<6>,
> +    DW_CFA_register                     = 0x09 as uint<6>,
> +    DW_CFA_remember_state               = 0x0a as uint<6>,
> +    DW_CFA_restore_state                = 0x0b as uint<6>,
> +    DW_CFA_def_cfa                      = 0x0c as uint<6>,
> +    DW_CFA_def_cfa_register             = 0x0d as uint<6>,
> +    DW_CFA_def_cfa_offset               = 0x0e as uint<6>,
> +    DW_CFA_def_cfa_expression           = 0x0f as uint<6>,
> +    DW_CFA_expression                   = 0x10 as uint<6>,
> +    DW_CFA_offset_extended_sf           = 0x11 as uint<6>,
> +    DW_CFA_def_cfa_sf                   = 0x12 as uint<6>,
> +    DW_CFA_def_cfa_offset_sf            = 0x13 as uint<6>,
> +    DW_CFA_val_offset                   = 0x14 as uint<6>,
> +    DW_CFA_val_offset_sf                = 0x15 as uint<6>,
> +    DW_CFA_val_expression               = 0x16 as uint<6>,
> +    DW_CFA_low_user                     = 0x1c as uint<6>,
> +    DW_CFA_MIPS_advance_loc8            = 0x1d as uint<6>,
> +    DW_CFA_GNU_window_save              = 0x2d as uint<6>,
> +    DW_CFA_GNU_args_size                = 0x2e as uint<6>,
> +    DW_CFA_GNU_negative_offset_extended = 0x2f as uint<6>,
> +    DW_CFA_high_user                    = 0x3f as uint<6>;
>  
>  type Dwarf_CFI =
>    struct
> diff --git a/pickles/dwarf-info.pk b/pickles/dwarf-info.pk
> index 3b6899a3..4cb0d039 100644
> --- a/pickles/dwarf-info.pk
> +++ b/pickles/dwarf-info.pk
> @@ -374,7 +374,7 @@ type Dwarf_CU_Header =
>      Dwarf_Initial_Length unit_length;
>  
>      /* Version of the DWARF information for the compilation unit.  */
> -    uint<16> version : (version in [2, 3, 4, 5]
> +    uint<16> version : (version in [2UH, 3UH, 4UH, 5UH]
>                          && dwarf_set_version (version));
>  
>      /* Offset into the .debug_abbrev section that associates the
> diff --git a/pickles/elf-64.pk b/pickles/elf-64.pk
> index 0f0bfadf..bf534f23 100644
> --- a/pickles/elf-64.pk
> +++ b/pickles/elf-64.pk
> @@ -107,9 +107,9 @@ type Elf64_Dyn =
>           data: even entries use d_ptr while odd entries use d_val.  */
>  
>          Elf64_Addr d_ptr
> -          : (d_tag in [DT_PLTGOT, DT_HASH, DT_STRTAB, DT_SYMTAB, DT_RELA,
> -                       DT_SYMENT, DT_INIT, DT_FINI, DT_REL, DT_JMPREL,
> -                       DT_INIT_ARRAY, DT_FINI_ARRAY]
> +          : (d_tag as int<32> in [DT_PLTGOT, DT_HASH, DT_STRTAB, DT_SYMTAB,
> +                                  DT_RELA, DT_SYMENT, DT_INIT, DT_FINI, 
> DT_REL,
> +                                  DT_JMPREL, DT_INIT_ARRAY, DT_FINI_ARRAY]
>               || (d_tag >= DT_ENCODING && d_tag %2 != 0));
>  
>          Elf64_Xword d_val;
> diff --git a/pickles/jffs2.pk b/pickles/jffs2.pk
> index 76df020c..891f6bf3 100644
> --- a/pickles/jffs2.pk
> +++ b/pickles/jffs2.pk
> @@ -24,8 +24,8 @@
>   * Note: This was tested with file systems created by mkfs.jffs2 and sumtool
>   */
>  
> -var JFFS2_MAGIC = 0x1985;
> -var JFFS2_MAGIC_OLD = 0x1984;
> +var JFFS2_MAGIC = 0x1985UH;
> +var JFFS2_MAGIC_OLD = 0x1984UH;
>  
>  var JFFS2_NODE_ACCURATE = 0x2000;
>  
> @@ -61,14 +61,14 @@ var jffs2_nodetypes = [
>  ];
>  
>  // inode compression types
> -var JFFS2_COMPR_NONE = 0x00;
> -var JFFS2_COMPR_ZERO = 0x01;
> -var JFFS2_COMPR_RTIME = 0x02;
> -var JFFS2_COMPR_RUBINMIPS = 0x03;
> -var JFFS2_COMPR_COPY = 0x04;
> -var JFFS2_COMPR_DYNRUBIN = 0x05;
> -var JFFS2_COMPR_ZLIB = 0x06;
> -var JFFS2_COMPR_LZO = 0x07;
> +var JFFS2_COMPR_NONE      = 0x00UB;
> +var JFFS2_COMPR_ZERO      = 0x01UB;
> +var JFFS2_COMPR_RTIME     = 0x02UB;
> +var JFFS2_COMPR_RUBINMIPS = 0x03UB;
> +var JFFS2_COMPR_COPY      = 0x04UB;
> +var JFFS2_COMPR_DYNRUBIN  = 0x05UB;
> +var JFFS2_COMPR_ZLIB      = 0x06UB;
> +var JFFS2_COMPR_LZO       = 0x07UB;
>  
>  var jffs2_inode_comp_types = [
>      JFFS2_COMPR_NONE,
> @@ -84,15 +84,15 @@ var jffs2_inode_comp_types = [
>  // dirent types
>  // These are the same as the linux dirent values and could
>  // probably be moved to a dirent pickle someday
> -var JFFS2_DT_UNKNOWN = 0x0;
> -var JFFS2_DT_FIFO = 0x1;
> -var JFFS2_DT_CHR = 0x2;
> -var JFFS2_DT_DIR = 0x4;
> -var JFFS2_DT_BLK = 0x6;
> -var JFFS2_DT_REG = 0x8;
> -var JFFS2_DT_LNK = 0xa;
> -var JFFS2_DT_SOCK = 0xc;
> -var JFFS2_DT_WHT = 0xe;
> +var JFFS2_DT_UNKNOWN = 0x0UB;
> +var JFFS2_DT_FIFO    = 0x1UB;
> +var JFFS2_DT_CHR     = 0x2UB;
> +var JFFS2_DT_DIR     = 0x4UB;
> +var JFFS2_DT_BLK     = 0x6UB;
> +var JFFS2_DT_REG     = 0x8UB;
> +var JFFS2_DT_LNK     = 0xaUB;
> +var JFFS2_DT_SOCK    = 0xcUB;
> +var JFFS2_DT_WHT     = 0xeUB;
>  
>  var jffs2_dirent_types = [
>      JFFS2_DT_UNKNOWN,
> diff --git a/pickles/pe.pk b/pickles/pe.pk
> index ad9fef55..e4e41253 100644
> --- a/pickles/pe.pk
> +++ b/pickles/pe.pk
> @@ -176,17 +176,17 @@ var PE_IMAGE_FILE_MACHINE_UNKNOWN    = 0x0000UH,
>  
>  /* Subsystem types.  */
>  
> -var PE_SUBSYS_UNKNOWN = 0,
> -    PE_SUBSYS_NATIVE = 1,
> -    PE_SUBSYS_WINDOWS_GUI = 2,
> -    PE_SUBSYS_WINDOWS_CUI = 3,
> -    PE_SUBSYS_POSIX_CUI = 7,
> -    PE_SUBSYS_WINDOWS_CE_GUI = 9,
> -    PE_SUBSYS_EFI_APPLICATION = 10,
> -    PE_SUBSYS_EFI_BOOT_SERVICE_DRIVER = 11,
> -    PE_SUBSYS_EFI_RUNTIME_DRIVER = 12,
> -    PE_SUBSYS_SAL_RUNTIME_DRIVER = 13,
> -    PE_SUBSYS_XBOX = 14;
> +var PE_SUBSYS_UNKNOWN                 = 0UH,
> +    PE_SUBSYS_NATIVE                  = 1UH,
> +    PE_SUBSYS_WINDOWS_GUI             = 2UH,
> +    PE_SUBSYS_WINDOWS_CUI             = 3UH,
> +    PE_SUBSYS_POSIX_CUI               = 7UH,
> +    PE_SUBSYS_WINDOWS_CE_GUI          = 9UH,
> +    PE_SUBSYS_EFI_APPLICATION         = 10UH,
> +    PE_SUBSYS_EFI_BOOT_SERVICE_DRIVER = 11UH,
> +    PE_SUBSYS_EFI_RUNTIME_DRIVER      = 12UH,
> +    PE_SUBSYS_SAL_RUNTIME_DRIVER      = 13UH,
> +    PE_SUBSYS_XBOX                    = 14UH;
>  
>  var pe_subsystems =
>    [ PE_SUBSYS_UNKNOWN, PE_SUBSYS_NATIVE, PE_SUBSYS_WINDOWS_GUI,
> @@ -547,20 +547,20 @@ type PE_Delay_Import =
>     Each entry in the debug directory describes a form of debug
>     information present in the PE file.  */
>  
> -var PE_DEBUG_TYPE_UNKNOWN = 0,
> -    PE_DEBUG_TYPE_COFF = 1,
> -    PE_DEBUG_TYPE_CODEVIEW = 2,
> -    PE_DEBUG_TYPE_FPO = 3,
> -    PE_DEBUG_TYPE_MISC = 4,
> -    PE_DEBUG_TYPE_EXCEPTION = 5,
> -    PE_DEBUG_TYPE_FIXUP = 6,
> -    PE_DEBUG_TYPE_OMAP_TO_SRC = 7,
> -    PE_DEBUG_TYPE_OMAP_FROM_SRC = 8,
> -    PE_DEBUG_TYPE_BORLAND = 9,
> -    PE_DEBUG_TYPE_RESERVED10 = 10,
> -    PE_DEBUG_TYPE_CLSID = 11,
> -    PE_DEBUG_TYPE_REPRO = 16,
> -    PE_DEBUG_TYPE_EX_DLLCHARACTERISTICS = 20;
> +var PE_DEBUG_TYPE_UNKNOWN               = 0U,
> +    PE_DEBUG_TYPE_COFF                  = 1U,
> +    PE_DEBUG_TYPE_CODEVIEW              = 2U,
> +    PE_DEBUG_TYPE_FPO                   = 3U,
> +    PE_DEBUG_TYPE_MISC                  = 4U,
> +    PE_DEBUG_TYPE_EXCEPTION             = 5U,
> +    PE_DEBUG_TYPE_FIXUP                 = 6U,
> +    PE_DEBUG_TYPE_OMAP_TO_SRC           = 7U,
> +    PE_DEBUG_TYPE_OMAP_FROM_SRC         = 8U,
> +    PE_DEBUG_TYPE_BORLAND               = 9U,
> +    PE_DEBUG_TYPE_RESERVED10            = 10U,
> +    PE_DEBUG_TYPE_CLSID                 = 11U,
> +    PE_DEBUG_TYPE_REPRO                 = 16U,
> +    PE_DEBUG_TYPE_EX_DLLCHARACTERISTICS = 20U;
>  
>  type PE_Debug_Directory_Entry =
>    struct
> @@ -842,13 +842,19 @@ type PE_TLS_Directory =
>      {
>        uint<9>;
>        uint<4> alignment_info
> -        : alignment_info in [ PE_SEC_F_ALIGN_1BYTES, PE_SEC_F_ALIGN_2BYTES,
> -                              PE_SEC_F_ALIGN_4BYTES, PE_SEC_F_ALIGN_8BYTES,
> -                              PE_SEC_F_ALIGN_16BYTES, PE_SEC_F_ALIGN_32BYTES,
> -                              PE_SEC_F_ALIGN_64BYTES, 
> PE_SEC_F_ALIGN_128BYTES,
> -                              PE_SEC_F_ALIGN_512BYTES, 
> PE_SEC_F_ALIGN_1024BYTES,
> -                              PE_SEC_F_ALIGN_2048BYTES, 
> PE_SEC_F_ALIGN_4096BYTES,
> -                              PE_SEC_F_ALIGN_8192BYTES ];
> +        : alignment_info as uint<32> in [ PE_SEC_F_ALIGN_1BYTES,
> +                                          PE_SEC_F_ALIGN_2BYTES,
> +                                          PE_SEC_F_ALIGN_4BYTES,
> +                                          PE_SEC_F_ALIGN_8BYTES,
> +                                          PE_SEC_F_ALIGN_16BYTES,
> +                                          PE_SEC_F_ALIGN_32BYTES,
> +                                          PE_SEC_F_ALIGN_64BYTES,
> +                                          PE_SEC_F_ALIGN_128BYTES,
> +                                          PE_SEC_F_ALIGN_512BYTES,
> +                                          PE_SEC_F_ALIGN_1024BYTES,
> +                                          PE_SEC_F_ALIGN_2048BYTES,
> +                                          PE_SEC_F_ALIGN_4096BYTES,
> +                                          PE_SEC_F_ALIGN_8192BYTES ];
>        uint<19>;
>      } flags;
>    };
> @@ -865,13 +871,19 @@ type PE_TLS_Directory_64 =
>      {
>        uint<9>;
>        uint<4> alignment_info
> -        : alignment_info in [ PE_SEC_F_ALIGN_1BYTES, PE_SEC_F_ALIGN_2BYTES,
> -                              PE_SEC_F_ALIGN_4BYTES, PE_SEC_F_ALIGN_8BYTES,
> -                              PE_SEC_F_ALIGN_16BYTES, PE_SEC_F_ALIGN_32BYTES,
> -                              PE_SEC_F_ALIGN_64BYTES, 
> PE_SEC_F_ALIGN_128BYTES,
> -                              PE_SEC_F_ALIGN_512BYTES, 
> PE_SEC_F_ALIGN_1024BYTES,
> -                              PE_SEC_F_ALIGN_2048BYTES, 
> PE_SEC_F_ALIGN_4096BYTES,
> -                              PE_SEC_F_ALIGN_8192BYTES ];
> +        : alignment_info as uint<32> in [ PE_SEC_F_ALIGN_1BYTES,
> +                                          PE_SEC_F_ALIGN_2BYTES,
> +                                          PE_SEC_F_ALIGN_4BYTES,
> +                                          PE_SEC_F_ALIGN_8BYTES,
> +                                          PE_SEC_F_ALIGN_16BYTES,
> +                                          PE_SEC_F_ALIGN_32BYTES,
> +                                          PE_SEC_F_ALIGN_64BYTES,
> +                                          PE_SEC_F_ALIGN_128BYTES,
> +                                          PE_SEC_F_ALIGN_512BYTES,
> +                                          PE_SEC_F_ALIGN_1024BYTES,
> +                                          PE_SEC_F_ALIGN_2048BYTES,
> +                                          PE_SEC_F_ALIGN_4096BYTES,
> +                                          PE_SEC_F_ALIGN_8192BYTES ];
>        uint<19>;
>      } flags;
>    };



reply via email to

[Prev in Thread] Current Thread [Next in Thread]