err, errno))
                goto disable_pmu;
  
+       stack_amap_fd = bpf_find_map(__func__, obj, "stack_amap");
+       if (CHECK(stack_amap_fd < 0, "bpf_find_map stack_amap",
+                 "err %d errno %d\n", err, errno))
+               goto disable_pmu;
+ 
        assert(system("dd if=/dev/urandom of=/dev/zero count=4 2> /dev/null")
               == 0);
 -      assert(system("./urandom_read if=/dev/urandom of=/dev/zero count=4 2> /dev/null") == 0);
 +      assert(system("./urandom_read") == 0);
        /* disable stack trace collection */
        key = 0;
        val = 1;
                previous_key = key;
        } while (bpf_map_get_next_key(stackmap_fd, &previous_key, &key) == 0);
  
-       CHECK(build_id_matches < 1, "build id match",
-             "Didn't find expected build ID from the map\n");
+       if (CHECK(build_id_matches < 1, "build id match",
 -                "Didn't find expected build ID from the map"))
++                "Didn't find expected build ID from the map\n"))
+               goto disable_pmu;
+ 
+       stack_trace_len = PERF_MAX_STACK_DEPTH
+               * sizeof(struct bpf_stack_build_id);
+       err = compare_stack_ips(stackmap_fd, stack_amap_fd, stack_trace_len);
+       CHECK(err, "compare_stack_ips stackmap vs. stack_amap",
+             "err %d errno %d\n", err, errno);
  
  disable_pmu:
        ioctl(pmu_fd, PERF_EVENT_IOC_DISABLE);