From: Damjan Marion Date: Mon, 18 Mar 2019 16:06:51 +0000 (+0100) Subject: Fix build with newer linux headers X-Git-Tag: v19.04-rc1~196 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=1ee346a0a61b454a1ce879f97cb9c06267d1e107;p=vpp.git Fix build with newer linux headers Change-Id: Ibfdcec60567ec357205fa137257f2d8cba44b01c Signed-off-by: Damjan Marion --- diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 161e3c57c44..d467da7549a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -84,7 +84,7 @@ set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "vpp") set(THREADS_PREFER_PTHREAD_FLAG ON) find_package(Threads REQUIRED) -include(cmake/memfd.cmake) +include(cmake/syscall.cmake) include(cmake/api.cmake) include(cmake/library.cmake) include(cmake/exec.cmake) diff --git a/src/cmake/memfd.cmake b/src/cmake/syscall.cmake similarity index 84% rename from src/cmake/memfd.cmake rename to src/cmake/syscall.cmake index ca499c459ab..1e0a559b5df 100644 --- a/src/cmake/memfd.cmake +++ b/src/cmake/syscall.cmake @@ -24,3 +24,13 @@ if (HAVE_MEMFD_CREATE) add_definitions(-DHAVE_MEMFD_CREATE) endif() +check_c_source_compiles(" + #define _GNU_SOURCE + #include + int main() { return getcpu (0, 0); } +" HAVE_GETCPU) + +if (HAVE_GETCPU) + add_definitions(-DHAVE_GETCPU) +endif() + diff --git a/src/vppinfra/linux/syscall.h b/src/vppinfra/linux/syscall.h index 1ae029d5802..c07cad631bd 100644 --- a/src/vppinfra/linux/syscall.h +++ b/src/vppinfra/linux/syscall.h @@ -19,11 +19,13 @@ #include #include +#ifndef HAVE_GETCPU static inline int -getcpu (unsigned *cpu, unsigned *node, void *tcache) +getcpu (unsigned *cpu, unsigned *node) { - return syscall (__NR_getcpu, cpu, node, tcache); + return syscall (__NR_getcpu, cpu, node, 0); } +#endif static inline long set_mempolicy (int mode, const unsigned long *nodemask, unsigned long maxnode) diff --git a/src/vppinfra/pmalloc.c b/src/vppinfra/pmalloc.c index 9f908f40cc9..d9e50d15733 100644 --- a/src/vppinfra/pmalloc.c +++ b/src/vppinfra/pmalloc.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -53,7 +54,7 @@ pmalloc_validate_numa_node (u32 * numa_node) if (*numa_node == CLIB_PMALLOC_NUMA_LOCAL) { u32 cpu; - if (getcpu (&cpu, numa_node, 0) != 0) + if (getcpu (&cpu, numa_node) != 0) return 1; } return 0;