@@ -270,8 +270,16 @@ static void subtest_multispec_usdt(void)
270
270
*/
271
271
trigger_300_usdts ();
272
272
273
- /* we'll reuse usdt_100 BPF program for usdt_300 test */
274
273
bpf_link__destroy (skel -> links .usdt_100 );
274
+
275
+ bss -> usdt_100_called = 0 ;
276
+ bss -> usdt_100_sum = 0 ;
277
+
278
+ /* If built with arm64/clang, there will be much less number of specs
279
+ * for usdt_300 call sites.
280
+ */
281
+ #if !defined(__aarch64__ ) || !defined(__clang__ )
282
+ /* we'll reuse usdt_100 BPF program for usdt_300 test */
275
283
skel -> links .usdt_100 = bpf_program__attach_usdt (skel -> progs .usdt_100 , -1 , "/proc/self/exe" ,
276
284
"test" , "usdt_300" , NULL );
277
285
err = - errno ;
@@ -282,13 +290,11 @@ static void subtest_multispec_usdt(void)
282
290
/* let's check that there are no "dangling" BPF programs attached due
283
291
* to partial success of the above test:usdt_300 attachment
284
292
*/
285
- bss -> usdt_100_called = 0 ;
286
- bss -> usdt_100_sum = 0 ;
287
-
288
293
f300 (777 ); /* this is 301st instance of usdt_300 */
289
294
290
295
ASSERT_EQ (bss -> usdt_100_called , 0 , "usdt_301_called" );
291
296
ASSERT_EQ (bss -> usdt_100_sum , 0 , "usdt_301_sum" );
297
+ #endif
292
298
293
299
/* This time we have USDT with 400 inlined invocations, but arg specs
294
300
* should be the same across all sites, so libbpf will only need to
0 commit comments