net-mgmt/netdata: Fix build on i386

Add more exact test-cases to configure.ac to prevent it assuming support of
__atomic_add/fetch/... symbols on i386 (Clang > 4).

Sponsored by:	The FreeBSD Foundation
This commit is contained in:
Mahdi Mokhtari 2019-01-02 13:06:25 +00:00
parent a21fea1adf
commit 20e2dd6da8
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=489079
2 changed files with 26 additions and 1 deletions

View File

@ -4,7 +4,7 @@
PORTNAME= netdata
PORTVERSION= 1.11.1
DISTVERSIONPREFIX=v
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= net-mgmt
MAINTAINER= mmokhi@FreeBSD.org

View File

@ -0,0 +1,25 @@
--- build/m4/ax_c___atomic.m4.orig 2018-12-26 13:22:11 UTC
+++ build/m4/ax_c___atomic.m4
@@ -6,7 +6,12 @@ AC_DEFUN([AC_C___ATOMIC],
[AC_CACHE_CHECK([for __atomic], ac_cv_c___atomic,
[AC_LINK_IFELSE(
[AC_LANG_SOURCE(
- [[int
+ [[typedef struct test {
+ volatile uint16_t a;
+ volatile uint64_t b;
+ volatile uint64_t c;
+ } test_t;
+ int
main (int argc, char **argv)
{
volatile unsigned long ul1 = 1, ul2 = 0, ul3 = 2;
@@ -23,6 +28,8 @@ AC_DEFUN([AC_C___ATOMIC],
__atomic_fetch_sub(&ull3, 1, __ATOMIC_SEQ_CST);
__atomic_or_fetch(&ull1, ull2, __ATOMIC_SEQ_CST);
__atomic_and_fetch(&ull1, ull2, __ATOMIC_SEQ_CST);
+ volatile test_t test = {.a = 0, .b = 0, .c = 1};
+ __atomic_fetch_add(&test.b, 1, __ATOMIC_SEQ_CST);
return 0;
}
]])],