@@ -45,7 +45,7 @@ static void subtest_basic_usdt(void)
45
45
LIBBPF_OPTS (bpf_usdt_opts , opts );
46
46
struct test_usdt * skel ;
47
47
struct test_usdt__bss * bss ;
48
- int err ;
48
+ int err , i ;
49
49
50
50
skel = test_usdt__open_and_load ();
51
51
if (!ASSERT_OK_PTR (skel , "skel_open" ))
@@ -75,6 +75,7 @@ static void subtest_basic_usdt(void)
75
75
ASSERT_EQ (bss -> usdt0_cookie , 0xcafedeadbeeffeed , "usdt0_cookie" );
76
76
ASSERT_EQ (bss -> usdt0_arg_cnt , 0 , "usdt0_arg_cnt" );
77
77
ASSERT_EQ (bss -> usdt0_arg_ret , - ENOENT , "usdt0_arg_ret" );
78
+ ASSERT_EQ (bss -> usdt0_arg_size , - ENOENT , "usdt0_arg_size" );
78
79
79
80
/* auto-attached usdt3 gets default zero cookie value */
80
81
ASSERT_EQ (bss -> usdt3_cookie , 0 , "usdt3_cookie" );
@@ -86,6 +87,9 @@ static void subtest_basic_usdt(void)
86
87
ASSERT_EQ (bss -> usdt3_args [0 ], 1 , "usdt3_arg1" );
87
88
ASSERT_EQ (bss -> usdt3_args [1 ], 42 , "usdt3_arg2" );
88
89
ASSERT_EQ (bss -> usdt3_args [2 ], (uintptr_t )& bla , "usdt3_arg3" );
90
+ ASSERT_EQ (bss -> usdt3_arg_sizes [0 ], 4 , "usdt3_arg1_size" );
91
+ ASSERT_EQ (bss -> usdt3_arg_sizes [1 ], 8 , "usdt3_arg2_size" );
92
+ ASSERT_EQ (bss -> usdt3_arg_sizes [2 ], 8 , "usdt3_arg3_size" );
89
93
90
94
/* auto-attached usdt12 gets default zero cookie value */
91
95
ASSERT_EQ (bss -> usdt12_cookie , 0 , "usdt12_cookie" );
@@ -104,6 +108,11 @@ static void subtest_basic_usdt(void)
104
108
ASSERT_EQ (bss -> usdt12_args [10 ], nums [idx ], "usdt12_arg11" );
105
109
ASSERT_EQ (bss -> usdt12_args [11 ], t1 .y , "usdt12_arg12" );
106
110
111
+ int usdt12_expected_arg_sizes [12 ] = { 4 , 4 , 8 , 8 , 4 , 8 , 8 , 8 , 4 , 2 , 2 , 1 };
112
+
113
+ for (i = 0 ; i < 12 ; i ++ )
114
+ ASSERT_EQ (bss -> usdt12_arg_sizes [i ], usdt12_expected_arg_sizes [i ], "usdt12_arg_size" );
115
+
107
116
/* trigger_func() is marked __always_inline, so USDT invocations will be
108
117
* inlined in two different places, meaning that each USDT will have
109
118
* at least 2 different places to be attached to. This verifies that
0 commit comments