]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/blob - m4/package_sanitizer.m4
xfs: use WRITE_ONCE to update if_seq
[thirdparty/xfsprogs-dev.git] / m4 / package_sanitizer.m4
1 AC_DEFUN([AC_PACKAGE_CHECK_UBSAN],
2 [ AC_MSG_CHECKING([if C compiler supports UBSAN])
3 OLD_CFLAGS="$CFLAGS"
4 OLD_LDFLAGS="$LDFLAGS"
5 UBSAN_FLAGS="-fsanitize=undefined"
6 CFLAGS="$CFLAGS $UBSAN_FLAGS"
7 LDFLAGS="$LDFLAGS $UBSAN_FLAGS"
8 AC_LINK_IFELSE([AC_LANG_PROGRAM([])],
9 [AC_MSG_RESULT([yes])]
10 [ubsan_cflags=$UBSAN_FLAGS]
11 [ubsan_ldflags=$UBSAN_FLAGS]
12 [have_ubsan=yes],
13 [AC_MSG_RESULT([no])])
14 CFLAGS="${OLD_CFLAGS}"
15 LDFLAGS="${OLD_LDFLAGS}"
16 AC_SUBST(have_ubsan)
17 AC_SUBST(ubsan_cflags)
18 AC_SUBST(ubsan_ldflags)
19 ])
20
21 AC_DEFUN([AC_PACKAGE_CHECK_ADDRSAN],
22 [ AC_MSG_CHECKING([if C compiler supports ADDRSAN])
23 OLD_CFLAGS="$CFLAGS"
24 OLD_LDFLAGS="$LDFLAGS"
25 ADDRSAN_FLAGS="-fsanitize=address"
26 CFLAGS="$CFLAGS $ADDRSAN_FLAGS"
27 LDFLAGS="$LDFLAGS $ADDRSAN_FLAGS"
28 AC_LINK_IFELSE([AC_LANG_PROGRAM([])],
29 [AC_MSG_RESULT([yes])]
30 [addrsan_cflags=$ADDRSAN_FLAGS]
31 [addrsan_ldflags=$ADDRSAN_FLAGS]
32 [have_addrsan=yes],
33 [AC_MSG_RESULT([no])])
34 CFLAGS="${OLD_CFLAGS}"
35 LDFLAGS="${OLD_LDFLAGS}"
36 AC_SUBST(have_addrsan)
37 AC_SUBST(addrsan_cflags)
38 AC_SUBST(addrsan_ldflags)
39 ])
40
41 AC_DEFUN([AC_PACKAGE_CHECK_THREADSAN],
42 [ AC_MSG_CHECKING([if C compiler supports THREADSAN])
43 OLD_CFLAGS="$CFLAGS"
44 OLD_LDFLAGS="$LDFLAGS"
45 THREADSAN_FLAGS="-fsanitize=thread"
46 CFLAGS="$CFLAGS $THREADSAN_FLAGS"
47 LDFLAGS="$LDFLAGS $ADRSAN_FLAGS"
48 AC_LINK_IFELSE([AC_LANG_PROGRAM([])],
49 [AC_MSG_RESULT([yes])]
50 [threadsan_cflags=$THREADSAN_FLAGS]
51 [threadsan_ldflags=$THREADSAN_FLAGS]
52 [have_threadsan=yes],
53 [AC_MSG_RESULT([no])])
54 CFLAGS="${OLD_CFLAGS}"
55 LDFLAGS="${OLD_LDFLAGS}"
56 AC_SUBST(have_threadsan)
57 AC_SUBST(threadsan_cflags)
58 AC_SUBST(threadsan_ldflags)
59 ])