@@ -3526,6 +3526,8 @@ struct pprint_mapv {
3526
3526
ENUM_TWO ,
3527
3527
ENUM_THREE ,
3528
3528
} aenum ;
3529
+ uint32_t ui32b ;
3530
+ uint32_t bits2c :2 ;
3529
3531
};
3530
3532
3531
3533
static struct btf_raw_test pprint_test_template [] = {
@@ -3568,7 +3570,7 @@ static struct btf_raw_test pprint_test_template[] = {
3568
3570
BTF_ENUM_ENC (NAME_TBD , 2 ),
3569
3571
BTF_ENUM_ENC (NAME_TBD , 3 ),
3570
3572
/* struct pprint_mapv */ /* [16] */
3571
- BTF_TYPE_ENC (NAME_TBD , BTF_INFO_ENC (BTF_KIND_STRUCT , 0 , 8 ), 32 ),
3573
+ BTF_TYPE_ENC (NAME_TBD , BTF_INFO_ENC (BTF_KIND_STRUCT , 0 , 10 ), 40 ),
3572
3574
BTF_MEMBER_ENC (NAME_TBD , 11 , 0 ), /* uint32_t ui32 */
3573
3575
BTF_MEMBER_ENC (NAME_TBD , 10 , 32 ), /* uint16_t ui16 */
3574
3576
BTF_MEMBER_ENC (NAME_TBD , 12 , 64 ), /* int32_t si32 */
@@ -3577,9 +3579,11 @@ static struct btf_raw_test pprint_test_template[] = {
3577
3579
BTF_MEMBER_ENC (NAME_TBD , 6 , 126 ), /* unused_bits2b */
3578
3580
BTF_MEMBER_ENC (0 , 14 , 128 ), /* union (anon) */
3579
3581
BTF_MEMBER_ENC (NAME_TBD , 15 , 192 ), /* aenum */
3582
+ BTF_MEMBER_ENC (NAME_TBD , 11 , 224 ), /* uint32_t ui32b */
3583
+ BTF_MEMBER_ENC (NAME_TBD , 6 , 256 ), /* bits2c */
3580
3584
BTF_END_RAW ,
3581
3585
},
3582
- BTF_STR_SEC ("\0unsigned char\0unsigned short\0unsigned int\0int\0unsigned long long\0uint8_t\0uint16_t\0uint32_t\0int32_t\0uint64_t\0ui64\0ui8a\0ENUM_ZERO\0ENUM_ONE\0ENUM_TWO\0ENUM_THREE\0pprint_mapv\0ui32\0ui16\0si32\0unused_bits2a\0bits28\0unused_bits2b\0aenum" ),
3586
+ BTF_STR_SEC ("\0unsigned char\0unsigned short\0unsigned int\0int\0unsigned long long\0uint8_t\0uint16_t\0uint32_t\0int32_t\0uint64_t\0ui64\0ui8a\0ENUM_ZERO\0ENUM_ONE\0ENUM_TWO\0ENUM_THREE\0pprint_mapv\0ui32\0ui16\0si32\0unused_bits2a\0bits28\0unused_bits2b\0aenum\0ui32b\0bits2c " ),
3583
3587
.key_size = sizeof (unsigned int ),
3584
3588
.value_size = sizeof (struct pprint_mapv ),
3585
3589
.key_type_id = 3 , /* unsigned int */
@@ -3628,7 +3632,7 @@ static struct btf_raw_test pprint_test_template[] = {
3628
3632
BTF_ENUM_ENC (NAME_TBD , 2 ),
3629
3633
BTF_ENUM_ENC (NAME_TBD , 3 ),
3630
3634
/* struct pprint_mapv */ /* [16] */
3631
- BTF_TYPE_ENC (NAME_TBD , BTF_INFO_ENC (BTF_KIND_STRUCT , 1 , 8 ), 32 ),
3635
+ BTF_TYPE_ENC (NAME_TBD , BTF_INFO_ENC (BTF_KIND_STRUCT , 1 , 10 ), 40 ),
3632
3636
BTF_MEMBER_ENC (NAME_TBD , 11 , BTF_MEMBER_OFFSET (0 , 0 )), /* uint32_t ui32 */
3633
3637
BTF_MEMBER_ENC (NAME_TBD , 10 , BTF_MEMBER_OFFSET (0 , 32 )), /* uint16_t ui16 */
3634
3638
BTF_MEMBER_ENC (NAME_TBD , 12 , BTF_MEMBER_OFFSET (0 , 64 )), /* int32_t si32 */
@@ -3637,9 +3641,11 @@ static struct btf_raw_test pprint_test_template[] = {
3637
3641
BTF_MEMBER_ENC (NAME_TBD , 6 , BTF_MEMBER_OFFSET (2 , 126 )), /* unused_bits2b */
3638
3642
BTF_MEMBER_ENC (0 , 14 , BTF_MEMBER_OFFSET (0 , 128 )), /* union (anon) */
3639
3643
BTF_MEMBER_ENC (NAME_TBD , 15 , BTF_MEMBER_OFFSET (0 , 192 )), /* aenum */
3644
+ BTF_MEMBER_ENC (NAME_TBD , 11 , BTF_MEMBER_OFFSET (0 , 224 )), /* uint32_t ui32b */
3645
+ BTF_MEMBER_ENC (NAME_TBD , 6 , BTF_MEMBER_OFFSET (2 , 256 )), /* bits2c */
3640
3646
BTF_END_RAW ,
3641
3647
},
3642
- BTF_STR_SEC ("\0unsigned char\0unsigned short\0unsigned int\0int\0unsigned long long\0uint8_t\0uint16_t\0uint32_t\0int32_t\0uint64_t\0ui64\0ui8a\0ENUM_ZERO\0ENUM_ONE\0ENUM_TWO\0ENUM_THREE\0pprint_mapv\0ui32\0ui16\0si32\0unused_bits2a\0bits28\0unused_bits2b\0aenum" ),
3648
+ BTF_STR_SEC ("\0unsigned char\0unsigned short\0unsigned int\0int\0unsigned long long\0uint8_t\0uint16_t\0uint32_t\0int32_t\0uint64_t\0ui64\0ui8a\0ENUM_ZERO\0ENUM_ONE\0ENUM_TWO\0ENUM_THREE\0pprint_mapv\0ui32\0ui16\0si32\0unused_bits2a\0bits28\0unused_bits2b\0aenum\0ui32b\0bits2c " ),
3643
3649
.key_size = sizeof (unsigned int ),
3644
3650
.value_size = sizeof (struct pprint_mapv ),
3645
3651
.key_type_id = 3 , /* unsigned int */
@@ -3690,7 +3696,7 @@ static struct btf_raw_test pprint_test_template[] = {
3690
3696
BTF_ENUM_ENC (NAME_TBD , 2 ),
3691
3697
BTF_ENUM_ENC (NAME_TBD , 3 ),
3692
3698
/* struct pprint_mapv */ /* [16] */
3693
- BTF_TYPE_ENC (NAME_TBD , BTF_INFO_ENC (BTF_KIND_STRUCT , 1 , 8 ), 32 ),
3699
+ BTF_TYPE_ENC (NAME_TBD , BTF_INFO_ENC (BTF_KIND_STRUCT , 1 , 10 ), 40 ),
3694
3700
BTF_MEMBER_ENC (NAME_TBD , 11 , BTF_MEMBER_OFFSET (0 , 0 )), /* uint32_t ui32 */
3695
3701
BTF_MEMBER_ENC (NAME_TBD , 10 , BTF_MEMBER_OFFSET (0 , 32 )), /* uint16_t ui16 */
3696
3702
BTF_MEMBER_ENC (NAME_TBD , 12 , BTF_MEMBER_OFFSET (0 , 64 )), /* int32_t si32 */
@@ -3699,13 +3705,15 @@ static struct btf_raw_test pprint_test_template[] = {
3699
3705
BTF_MEMBER_ENC (NAME_TBD , 19 , BTF_MEMBER_OFFSET (2 , 126 )),/* unused_bits2b */
3700
3706
BTF_MEMBER_ENC (0 , 14 , BTF_MEMBER_OFFSET (0 , 128 )), /* union (anon) */
3701
3707
BTF_MEMBER_ENC (NAME_TBD , 15 , BTF_MEMBER_OFFSET (0 , 192 )), /* aenum */
3708
+ BTF_MEMBER_ENC (NAME_TBD , 11 , BTF_MEMBER_OFFSET (0 , 224 )), /* uint32_t ui32b */
3709
+ BTF_MEMBER_ENC (NAME_TBD , 17 , BTF_MEMBER_OFFSET (2 , 256 )), /* bits2c */
3702
3710
/* typedef unsigned int ___int */ /* [17] */
3703
3711
BTF_TYPEDEF_ENC (NAME_TBD , 18 ),
3704
3712
BTF_TYPE_ENC (0 , BTF_INFO_ENC (BTF_KIND_VOLATILE , 0 , 0 ), 6 ), /* [18] */
3705
3713
BTF_TYPE_ENC (0 , BTF_INFO_ENC (BTF_KIND_CONST , 0 , 0 ), 15 ), /* [19] */
3706
3714
BTF_END_RAW ,
3707
3715
},
3708
- BTF_STR_SEC ("\0unsigned char\0unsigned short\0unsigned int\0int\0unsigned long long\0uint8_t\0uint16_t\0uint32_t\0int32_t\0uint64_t\0ui64\0ui8a\0ENUM_ZERO\0ENUM_ONE\0ENUM_TWO\0ENUM_THREE\0pprint_mapv\0ui32\0ui16\0si32\0unused_bits2a\0bits28\0unused_bits2b\0aenum\0___int" ),
3716
+ BTF_STR_SEC ("\0unsigned char\0unsigned short\0unsigned int\0int\0unsigned long long\0uint8_t\0uint16_t\0uint32_t\0int32_t\0uint64_t\0ui64\0ui8a\0ENUM_ZERO\0ENUM_ONE\0ENUM_TWO\0ENUM_THREE\0pprint_mapv\0ui32\0ui16\0si32\0unused_bits2a\0bits28\0unused_bits2b\0aenum\0ui32b\0bits2c\ 0___int" ),
3709
3717
.key_size = sizeof (unsigned int ),
3710
3718
.value_size = sizeof (struct pprint_mapv ),
3711
3719
.key_type_id = 3 , /* unsigned int */
@@ -3793,6 +3801,8 @@ static void set_pprint_mapv(struct pprint_mapv *v, uint32_t i,
3793
3801
v -> unused_bits2b = 3 ;
3794
3802
v -> ui64 = i ;
3795
3803
v -> aenum = i & 0x03 ;
3804
+ v -> ui32b = 4 ;
3805
+ v -> bits2c = 1 ;
3796
3806
v = (void * )v + rounded_value_size ;
3797
3807
}
3798
3808
}
@@ -3955,7 +3965,8 @@ static int do_test_pprint(int test_num)
3955
3965
3956
3966
nexpected_line = snprintf (expected_line , sizeof (expected_line ),
3957
3967
"%s%u: {%u,0,%d,0x%x,0x%x,0x%x,"
3958
- "{%lu|[%u,%u,%u,%u,%u,%u,%u,%u]},%s}\n" ,
3968
+ "{%lu|[%u,%u,%u,%u,%u,%u,%u,%u]},%s,"
3969
+ "%u,0x%x}\n" ,
3959
3970
percpu_map ? "\tcpu" : "" ,
3960
3971
percpu_map ? cpu : next_key ,
3961
3972
cmapv -> ui32 , cmapv -> si32 ,
@@ -3967,7 +3978,9 @@ static int do_test_pprint(int test_num)
3967
3978
cmapv -> ui8a [2 ], cmapv -> ui8a [3 ],
3968
3979
cmapv -> ui8a [4 ], cmapv -> ui8a [5 ],
3969
3980
cmapv -> ui8a [6 ], cmapv -> ui8a [7 ],
3970
- pprint_enum_str [cmapv -> aenum ]);
3981
+ pprint_enum_str [cmapv -> aenum ],
3982
+ cmapv -> ui32b ,
3983
+ cmapv -> bits2c );
3971
3984
3972
3985
err = check_line (expected_line , nexpected_line ,
3973
3986
sizeof (expected_line ), line );
0 commit comments