Index: t_kcov.c =================================================================== RCS file: /cvsroot/src/tests/modules/t_kcov.c,v retrieving revision 1.2 diff -u -r1.2 t_kcov.c --- t_kcov.c 23 Feb 2019 08:03:24 -0000 1.2 +++ t_kcov.c 23 Feb 2019 16:32:05 -0000 @@ -43,6 +43,14 @@ #define PAGE_SIZE sysconf(_SC_PAGESIZE) +#ifdef __HAVE_ATOMIC64_OPS +#define KCOV_STORE(x,v) __atomic_store_n((x), (v), __ATOMIC_RELAXED) +#define KCOV_LOAD(x) __atomic_load_n((x), __ATOMIC_RELAXED) +#else +#define KCOV_STORE(x,v) (x) = (y) +#define KCOV_LOAD(x) (x) +#endif + static int open_kcov(void) { @@ -254,10 +262,10 @@ ATF_REQUIRE_MSG(ioctl(fd, KCOV_IOC_ENABLE) == 0, "Unable to enable kcov "); - __atomic_store_n(&buf[0], 0 , __ATOMIC_RELAXED); + KCOV_STORE(&buf[0], 0); sleep(0); - ATF_REQUIRE_MSG(__atomic_load_n(&buf[0], __ATOMIC_RELAXED) != 0, "No records found"); + ATF_REQUIRE_MSG(KCOV_LOAD(&buf[0]) != 0, "No records found"); ATF_REQUIRE_MSG(ioctl(fd, KCOV_IOC_DISABLE) == 0, "Unable to disable kcov"); @@ -270,9 +278,9 @@ { kcov_int_t *buf = ptr; - __atomic_store_n(&buf[0], 0, __ATOMIC_RELAXED); + KCOV_STORE(&buf[0], 0); sleep(0); - ATF_REQUIRE_MSG(__atomic_load_n(&buf[0], __ATOMIC_RELAXED) == 0, + ATF_REQUIRE_MSG(KCOV_LOAD(&buf[0]) == 0, "Records changed in blocked thread"); return NULL; @@ -311,9 +319,7 @@ ATF_TP_ADD_TC(tp, kcov_enable_no_disable); ATF_TP_ADD_TC(tp, kcov_enable_no_disable_no_close); ATF_TP_ADD_TC(tp, kcov_mmap_enable_thread_close); -#ifdef __HAVE_ATOMIC64_OPS ATF_TP_ADD_TC(tp, kcov_basic); ATF_TP_ADD_TC(tp, kcov_thread); -#endif return atf_no_error(); }