https://github.com/openvswitch/ovs/commit/335a5deac3ff91448ca14651e92f39dfdd512fcf.patch From: Ilya Maximets Date: Thu, 18 Jan 2024 15:59:05 +0100 Subject: [PATCH] ovs-atomic: Fix inclusion of Clang header by GCC 14. GCC 14 started to advertise c_atomic extension, older versions didn't do that. Add check for __clang__, so GCC doesn't include headers designed for Clang. Another option would be to prefer stdatomic implementation instead, but some older versions of Clang are not able to use stdatomic.h supplied by GCC as described in commit: 07ece367fb5f ("ovs-atomic: Prefer Clang intrinsics over .") This change fixes OVS build with GCC on Fedora Rawhide (40). Reported-by: Jakob Meng Acked-by: Jakob Meng Acked-by: Eelco Chaudron Acked-by: Simon Horman Signed-off-by: Ilya Maximets --- a/lib/ovs-atomic.h +++ b/lib/ovs-atomic.h @@ -328,7 +328,7 @@ #if __CHECKER__ /* sparse doesn't understand some GCC extensions we use. */ #include "ovs-atomic-pthreads.h" - #elif __has_extension(c_atomic) + #elif __clang__ && __has_extension(c_atomic) #include "ovs-atomic-clang.h" #elif HAVE_ATOMIC && __cplusplus >= 201103L #include "ovs-atomic-c++.h"