[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;
> };