summaryrefslogtreecommitdiffstats
path: root/external/meta-openembedded/meta-oe/recipes-extended/sysdig
diff options
context:
space:
mode:
Diffstat (limited to 'external/meta-openembedded/meta-oe/recipes-extended/sysdig')
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch37
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-fix-build-with-LuaJIT-2.1-betas.patch96
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-libsinsp-Port-to-build-with-lua-5.2.patch108
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/aarch64.patch359
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/fix-uint64-const.patch16
-rw-r--r--external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb51
6 files changed, 521 insertions, 146 deletions
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch b/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch
index 7d3f8a19..cb806115 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch
+++ b/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch
@@ -9,42 +9,41 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
userspace/libsinsp/utils.h | 2 +-
2 files changed, 4 insertions(+), 2 deletions(-)
-diff --git a/userspace/libsinsp/utils.cpp b/userspace/libsinsp/utils.cpp
-index 8f23f9c..c496a57 100644
--- a/userspace/libsinsp/utils.cpp
+++ b/userspace/libsinsp/utils.cpp
-@@ -21,7 +21,9 @@ along with sysdig. If not, see <http://www.gnu.org/licenses/>.
+@@ -22,7 +22,7 @@ limitations under the License.
#include <limits.h>
#include <stdlib.h>
#include <sys/time.h>
-+#ifdef __GLIBC__
+-#ifndef CYGWING_AGENT
++#if !defined(CYGWING_AGENT) || defined(__GLIBC__)
#include <execinfo.h>
-+#endif
+ #endif
#include <unistd.h>
- #include <sys/time.h>
- #include <netdb.h>
-@@ -741,7 +743,7 @@ uint64_t sinsp_utils::get_current_time_ns()
- return tv.tv_sec * (uint64_t) 1000000000 + tv.tv_usec * 1000;
- }
+@@ -780,6 +780,7 @@ bool sinsp_utils::glob_match(const char
--#ifndef _WIN32
-+#if defined(_WIN32) && defined(__GLIBC__)
+ #ifndef CYGWING_AGENT
+ #ifndef _WIN32
++#ifdef __GLIBC__
void sinsp_utils::bt(void)
{
static const char start[] = "BACKTRACE ------------";
-diff --git a/userspace/libsinsp/utils.h b/userspace/libsinsp/utils.h
-index 600d00b..4ab4650 100644
+@@ -801,6 +802,7 @@ void sinsp_utils::bt(void)
+
+ free(bt_syms);
+ }
++#endif // Glibc
+ #endif // _WIN32
+ #endif // CYGWING_AGENT
+
--- a/userspace/libsinsp/utils.h
+++ b/userspace/libsinsp/utils.h
-@@ -79,7 +79,7 @@ public:
+@@ -104,7 +104,7 @@ public:
- static uint64_t get_current_time_ns();
+ static bool glob_match(const char *pattern, const char *string);
-#ifndef _WIN32
+#if not defined(_WIN32) && defined(__GLIBC__)
//
// Print the call stack
//
---
-2.6.2
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-fix-build-with-LuaJIT-2.1-betas.patch b/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-fix-build-with-LuaJIT-2.1-betas.patch
new file mode 100644
index 00000000..71b0b8c8
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-fix-build-with-LuaJIT-2.1-betas.patch
@@ -0,0 +1,96 @@
+From ae82de664a6ba6ab2654adf9bed81f22b6fdc19d Mon Sep 17 00:00:00 2001
+From: Evgeni Golov <evgeni@golov.de>
+Date: Sun, 27 Aug 2017 13:51:19 +0200
+Subject: [PATCH] fix build with LuaJIT 2.1 betas
+
+LuaJIT 2.1 drops some compat symbols [1]. And while I think that this is
+wrong, as it breaks compatibility with Lua 5.1 [2], it is quite easy to
+adopt the code to work with both versions (2.0 and 2.1) of LuaJIT and
+remain Lua 5.1 compatible.
+
+[1] https://github.com/LuaJIT/LuaJIT/commit/dc320ca70f2c5bb3977b82853bcee6dad2523d01
+[2] https://github.com/LuaJIT/LuaJIT/issues/325
+
+Upstream-Status: Submitted [https://github.com/LuaJIT/LuaJIT/issues/325]
+Signed-off-by: Evgeni Golov <evgeni@golov.de>
+sysdig-CLA-1.0-signed-off-by: Evgeni Golov <evgeni@golov.de>
+---
+ CMakeLists.txt | 2 +-
+ userspace/libsinsp/chisel.cpp | 6 +++---
+ userspace/libsinsp/lua_parser.cpp | 2 +-
+ userspace/libsinsp/lua_parser_api.cpp | 2 +-
+ 4 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d7020493..33e524f5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -140,7 +140,7 @@ option(USE_BUNDLED_DEPS "Enable bundled dependencies instead of using the system
+ option(USE_BUNDLED_LUAJIT "Enable building of the bundled LuaJIT" ${USE_BUNDLED_DEPS})
+
+ if(NOT USE_BUNDLED_LUAJIT)
+- find_path(LUAJIT_INCLUDE luajit.h PATH_SUFFIXES luajit-2.0 luajit)
++ find_path(LUAJIT_INCLUDE luajit.h PATH_SUFFIXES luajit-2.1 luajit-2.0 luajit)
+ find_library(LUAJIT_LIB NAMES luajit luajit-5.1)
+ if(LUAJIT_INCLUDE AND LUAJIT_LIB)
+ message(STATUS "Found LuaJIT: include: ${LUAJIT_INCLUDE}, lib: ${LUAJIT_LIB}")
+diff --git a/userspace/libsinsp/chisel.cpp b/userspace/libsinsp/chisel.cpp
+index 0a6e3cf8..0c2e255a 100644
+--- a/userspace/libsinsp/chisel.cpp
++++ b/userspace/libsinsp/chisel.cpp
+@@ -98,7 +98,7 @@ void lua_stackdump(lua_State *L)
+ // Lua callbacks
+ ///////////////////////////////////////////////////////////////////////////////
+ #ifdef HAS_LUA_CHISELS
+-const static struct luaL_reg ll_sysdig [] =
++const static struct luaL_Reg ll_sysdig [] =
+ {
+ {"set_filter", &lua_cbacks::set_global_filter},
+ {"set_snaplen", &lua_cbacks::set_snaplen},
+@@ -134,7 +134,7 @@ const static struct luaL_reg ll_sysdig [] =
+ {NULL,NULL}
+ };
+
+-const static struct luaL_reg ll_chisel [] =
++const static struct luaL_Reg ll_chisel [] =
+ {
+ {"request_field", &lua_cbacks::request_field},
+ {"set_filter", &lua_cbacks::set_filter},
+@@ -146,7 +146,7 @@ const static struct luaL_reg ll_chisel [] =
+ {NULL,NULL}
+ };
+
+-const static struct luaL_reg ll_evt [] =
++const static struct luaL_Reg ll_evt [] =
+ {
+ {"field", &lua_cbacks::field},
+ {"get_num", &lua_cbacks::get_num},
+diff --git a/userspace/libsinsp/lua_parser.cpp b/userspace/libsinsp/lua_parser.cpp
+index 0e26617d..78810d96 100644
+--- a/userspace/libsinsp/lua_parser.cpp
++++ b/userspace/libsinsp/lua_parser.cpp
+@@ -32,7 +32,7 @@ extern "C" {
+ #include "lauxlib.h"
+ }
+
+-const static struct luaL_reg ll_filter [] =
++const static struct luaL_Reg ll_filter [] =
+ {
+ {"rel_expr", &lua_parser_cbacks::rel_expr},
+ {"bool_op", &lua_parser_cbacks::bool_op},
+diff --git a/userspace/libsinsp/lua_parser_api.cpp b/userspace/libsinsp/lua_parser_api.cpp
+index c89e9126..e0169fe1 100644
+--- a/userspace/libsinsp/lua_parser_api.cpp
++++ b/userspace/libsinsp/lua_parser_api.cpp
+@@ -266,7 +266,7 @@ int lua_parser_cbacks::rel_expr(lua_State *ls)
+ string err = "Got non-table as in-expression operand\n";
+ throw sinsp_exception("parser API error");
+ }
+- int n = luaL_getn(ls, 4); /* get size of table */
++ int n = (int)lua_objlen(ls, 4); /* get size of table */
+ for (i=1; i<=n; i++)
+ {
+ lua_rawgeti(ls, 4, i);
+--
+2.25.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-libsinsp-Port-to-build-with-lua-5.2.patch b/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-libsinsp-Port-to-build-with-lua-5.2.patch
deleted file mode 100644
index 8fec0ca5..00000000
--- a/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-libsinsp-Port-to-build-with-lua-5.2.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-From c2782a6ca968190e221c25b0890600ba8cd43798 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 23 Oct 2015 00:23:15 -0700
-Subject: [PATCH] libsinsp: Port to build with lua >= 5.2
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- userspace/libsinsp/chisel.cpp | 40 +++++++++++++++++++++++++++++-----------
- 1 file changed, 29 insertions(+), 11 deletions(-)
-
-diff --git a/userspace/libsinsp/chisel.cpp b/userspace/libsinsp/chisel.cpp
-index 3cfbd8d..2db9348 100644
---- a/userspace/libsinsp/chisel.cpp
-+++ b/userspace/libsinsp/chisel.cpp
-@@ -94,7 +94,7 @@ void lua_stackdump(lua_State *L)
- // Lua callbacks
- ///////////////////////////////////////////////////////////////////////////////
- #ifdef HAS_LUA_CHISELS
--const static struct luaL_reg ll_sysdig [] =
-+const static struct luaL_Reg ll_sysdig [] =
- {
- {"set_filter", &lua_cbacks::set_global_filter},
- {"set_snaplen", &lua_cbacks::set_snaplen},
-@@ -120,7 +120,7 @@ const static struct luaL_reg ll_sysdig [] =
- {NULL,NULL}
- };
-
--const static struct luaL_reg ll_chisel [] =
-+const static struct luaL_Reg ll_chisel [] =
- {
- {"request_field", &lua_cbacks::request_field},
- {"set_filter", &lua_cbacks::set_filter},
-@@ -131,7 +131,7 @@ const static struct luaL_reg ll_chisel [] =
- {NULL,NULL}
- };
-
--const static struct luaL_reg ll_evt [] =
-+const static struct luaL_Reg ll_evt [] =
- {
- {"field", &lua_cbacks::field},
- {"get_num", &lua_cbacks::get_num},
-@@ -853,10 +853,28 @@ bool sinsp_chisel::parse_view_info(lua_State *ls, OUT chisel_desc* cd)
-
-
- #ifdef HAS_LUA_CHISELS
-+static void chisel_lua_registerlib(lua_State *L, const char *libname,
-+ const luaL_Reg *l, int ind)
-+{
-+#if LUA_VERSION_NUM >= 502
-+ if (libname)
-+ {
-+ lua_newtable(L);
-+ luaL_setfuncs(L, l, ind);
-+ lua_pushvalue(L, -1);
-+ lua_setglobal(L, libname);
-+ }
-+ else
-+ luaL_setfuncs(L, l, ind);
-+#else
-+ luaL_register(L, libname, l);
-+#endif
-+}
-+
- // Initializes a lua chisel
- bool sinsp_chisel::init_lua_chisel(chisel_desc &cd, string const &fpath)
- {
-- lua_State* ls = lua_open();
-+ lua_State* ls = luaL_newstate();
- if(ls == NULL)
- {
- return false;
-@@ -867,9 +885,9 @@ bool sinsp_chisel::init_lua_chisel(chisel_desc &cd, string const &fpath)
- //
- // Load our own lua libs
- //
-- luaL_openlib(ls, "sysdig", ll_sysdig, 0);
-- luaL_openlib(ls, "chisel", ll_chisel, 0);
-- luaL_openlib(ls, "evt", ll_evt, 0);
-+ chisel_lua_registerlib(ls, "sysdig", ll_sysdig, 0);
-+ chisel_lua_registerlib(ls, "chisel", ll_chisel, 0);
-+ chisel_lua_registerlib(ls, "evt", ll_evt, 0);
-
- //
- // Add our chisel paths to package.path
-@@ -1111,16 +1129,16 @@ void sinsp_chisel::load(string cmdstr)
- //
- // Open the script
- //
-- m_ls = lua_open();
-+ m_ls = luaL_newstate();
-
- luaL_openlibs(m_ls);
-
- //
- // Load our own lua libs
- //
-- luaL_openlib(m_ls, "sysdig", ll_sysdig, 0);
-- luaL_openlib(m_ls, "chisel", ll_chisel, 0);
-- luaL_openlib(m_ls, "evt", ll_evt, 0);
-+ chisel_lua_registerlib(m_ls, "sysdig", ll_sysdig, 0);
-+ chisel_lua_registerlib(m_ls, "chisel", ll_chisel, 0);
-+ chisel_lua_registerlib(m_ls, "evt", ll_evt, 0);
-
- //
- // Add our chisel paths to package.path
---
-2.6.2
-
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/aarch64.patch b/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/aarch64.patch
new file mode 100644
index 00000000..f16b0eca
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/aarch64.patch
@@ -0,0 +1,359 @@
+Check if legacy syscalls exist
+
+A lot of legacy syscalls are replaced with *at and are not implemented in newer
+architectures like aarch64
+
+Upstream-Status: Submitted [https://github.com/draios/sysdig/pull/1601]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/driver/syscall_table.c
++++ b/driver/syscall_table.c
+@@ -42,26 +42,46 @@ or GPL2.txt for full copies of the licen
+ * SYSCALL TABLE
+ */
+ const struct syscall_evt_pair g_syscall_table[SYSCALL_TABLE_SIZE] = {
++#ifdef __NR_open
+ [__NR_open - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_OPEN_E, PPME_SYSCALL_OPEN_X},
++#endif
++#ifdef __NR_creat
+ [__NR_creat - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_CREAT_E, PPME_SYSCALL_CREAT_X},
++#endif
+ [__NR_close - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_CLOSE_E, PPME_SYSCALL_CLOSE_X},
+ [__NR_brk - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_BRK_4_E, PPME_SYSCALL_BRK_4_X},
+ [__NR_read - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_READ_E, PPME_SYSCALL_READ_X},
+ [__NR_write - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_WRITE_E, PPME_SYSCALL_WRITE_X},
+ [__NR_execve - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_EXECVE_19_E, PPME_SYSCALL_EXECVE_19_X},
+ [__NR_clone - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_CLONE_20_E, PPME_SYSCALL_CLONE_20_X},
++#ifdef __NR_fork
+ [__NR_fork - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_FORK_20_E, PPME_SYSCALL_FORK_20_X},
++#endif
++#ifdef __NR_vfork
+ [__NR_vfork - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_VFORK_20_E, PPME_SYSCALL_VFORK_20_X},
++#endif
++#ifdef __NR_pipe
+ [__NR_pipe - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_PIPE_E, PPME_SYSCALL_PIPE_X},
++#endif
+ [__NR_pipe2 - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_PIPE_E, PPME_SYSCALL_PIPE_X},
++#ifdef __NR_eventfd
+ [__NR_eventfd - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_EVENTFD_E, PPME_SYSCALL_EVENTFD_X},
++#endif
+ [__NR_eventfd2 - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_EVENTFD_E, PPME_SYSCALL_EVENTFD_X},
+ [__NR_futex - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_FUTEX_E, PPME_SYSCALL_FUTEX_X},
++#ifdef __NR_stat
+ [__NR_stat - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_STAT_E, PPME_SYSCALL_STAT_X},
++#endif
++#ifdef __NR_lstat
+ [__NR_lstat - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_LSTAT_E, PPME_SYSCALL_LSTAT_X},
++#endif
+ [__NR_fstat - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_FSTAT_E, PPME_SYSCALL_FSTAT_X},
++#ifdef __NR_epoll_wait
+ [__NR_epoll_wait - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_EPOLLWAIT_E, PPME_SYSCALL_EPOLLWAIT_X},
++#endif
++#ifdef __NR_poll
+ [__NR_poll - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_POLL_E, PPME_SYSCALL_POLL_X},
++#endif
+ #ifdef __NR_select
+ [__NR_select - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_SELECT_E, PPME_SYSCALL_SELECT_X},
+ #endif
+@@ -70,13 +90,21 @@ const struct syscall_evt_pair g_syscall_
+ [__NR_getcwd - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_GETCWD_E, PPME_SYSCALL_GETCWD_X},
+ [__NR_chdir - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_CHDIR_E, PPME_SYSCALL_CHDIR_X},
+ [__NR_fchdir - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_FCHDIR_E, PPME_SYSCALL_FCHDIR_X},
++#ifdef __NR_mkdir
+ [__NR_mkdir - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_MKDIR_2_E, PPME_SYSCALL_MKDIR_2_X},
++#endif
++#ifdef __NR_rmdir
+ [__NR_rmdir - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_RMDIR_2_E, PPME_SYSCALL_RMDIR_2_X},
++#endif
+ [__NR_openat - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_OPENAT_2_E, PPME_SYSCALL_OPENAT_2_X},
+ [__NR_mkdirat - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_MKDIRAT_E, PPME_SYSCALL_MKDIRAT_X},
++#ifdef __NR_link
+ [__NR_link - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_LINK_2_E, PPME_SYSCALL_LINK_2_X},
++#endif
+ [__NR_linkat - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_LINKAT_2_E, PPME_SYSCALL_LINKAT_2_X},
++#ifdef __NR_unlink
+ [__NR_unlink - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_UNLINK_2_E, PPME_SYSCALL_UNLINK_2_X},
++#endif
+ [__NR_unlinkat - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_UNLINKAT_2_E, PPME_SYSCALL_UNLINKAT_2_X},
+ [__NR_pread64 - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_PREAD_E, PPME_SYSCALL_PREAD_X},
+ [__NR_pwrite64 - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_PWRITE_E, PPME_SYSCALL_PWRITE_X},
+@@ -85,16 +113,22 @@ const struct syscall_evt_pair g_syscall_
+ [__NR_preadv - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_PREADV_E, PPME_SYSCALL_PREADV_X},
+ [__NR_pwritev - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_PWRITEV_E, PPME_SYSCALL_PWRITEV_X},
+ [__NR_dup - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_DUP_E, PPME_SYSCALL_DUP_X},
++#ifdef __NR_dup2
+ [__NR_dup2 - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_DUP_E, PPME_SYSCALL_DUP_X},
++#endif
+ [__NR_dup3 - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_DUP_E, PPME_SYSCALL_DUP_X},
++#ifdef __NR_signalfd
+ [__NR_signalfd - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_SIGNALFD_E, PPME_SYSCALL_SIGNALFD_X},
++#endif
+ [__NR_signalfd4 - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_SIGNALFD_E, PPME_SYSCALL_SIGNALFD_X},
+ [__NR_kill - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_KILL_E, PPME_SYSCALL_KILL_X},
+ [__NR_tkill - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_TKILL_E, PPME_SYSCALL_TKILL_X},
+ [__NR_tgkill - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_TGKILL_E, PPME_SYSCALL_TGKILL_X},
+ [__NR_nanosleep - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_NANOSLEEP_E, PPME_SYSCALL_NANOSLEEP_X},
+ [__NR_timerfd_create - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_TIMERFD_CREATE_E, PPME_SYSCALL_TIMERFD_CREATE_X},
++#ifdef __NR_inotify_init
+ [__NR_inotify_init - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_INOTIFY_INIT_E, PPME_SYSCALL_INOTIFY_INIT_X},
++#endif
+ [__NR_inotify_init1 - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_INOTIFY_INIT_E, PPME_SYSCALL_INOTIFY_INIT_X},
+ [__NR_fchmodat - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_FCHMODAT_E, PPME_SYSCALL_FCHMODAT_X},
+ [__NR_fchmod - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_FCHMOD_E, PPME_SYSCALL_FCHMOD_X},
+@@ -114,14 +148,22 @@ const struct syscall_evt_pair g_syscall_
+ #endif
+ /* [__NR_old_select - SYSCALL_TABLE_ID0] = {UF_USED, PPME_GENERIC_E, PPME_GENERIC_X}, */
+ [__NR_pselect6 - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
++#ifdef __NR_epoll_create
+ [__NR_epoll_create - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
++#endif
+ [__NR_epoll_ctl - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
++#ifdef __NR_uselib
+ [__NR_uselib - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
++#endif
+ [__NR_sched_setparam - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
+ [__NR_sched_getparam - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
+ [__NR_syslog - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
++#ifdef __NR_chmod
+ [__NR_chmod - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_CHMOD_E, PPME_SYSCALL_CHMOD_X},
++#endif
++#ifdef __NR_lchown
+ [__NR_lchown - SYSCALL_TABLE_ID0] = {UF_USED, PPME_GENERIC_E, PPME_GENERIC_X},
++#endif
+ #ifdef __NR_utime
+ [__NR_utime - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
+ #endif
+@@ -131,8 +173,9 @@ const struct syscall_evt_pair g_syscall_
+ #ifdef __NR_alarm
+ [__NR_alarm - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
+ #endif
++#ifdef __NR_pause
+ [__NR_pause - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
+-
++#endif
+ #ifndef __NR_socketcall
+ [__NR_socket - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SOCKET_SOCKET_E, PPME_SOCKET_SOCKET_X},
+ [__NR_bind - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SOCKET_BIND_E, PPME_SOCKET_BIND_X},
+@@ -184,9 +227,13 @@ const struct syscall_evt_pair g_syscall_
+ [__NR_process_vm_writev - SYSCALL_TABLE_ID0] = {UF_USED, PPME_GENERIC_E, PPME_GENERIC_X},
+ #endif
+
++#ifdef __NR_rename
+ [__NR_rename - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_RENAME_E, PPME_SYSCALL_RENAME_X},
++#endif
+ [__NR_renameat - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_RENAMEAT_E, PPME_SYSCALL_RENAMEAT_X},
++#ifdef __NR_symlink
+ [__NR_symlink - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_SYMLINK_E, PPME_SYSCALL_SYMLINK_X},
++#endif
+ [__NR_symlinkat - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_SYMLINKAT_E, PPME_SYSCALL_SYMLINKAT_X},
+ [__NR_sendfile - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_SENDFILE_E, PPME_SYSCALL_SENDFILE_X},
+ #ifdef __NR_sendfile64
+@@ -255,7 +302,9 @@ const struct syscall_evt_pair g_syscall_
+ #ifdef __NR_getresgid32
+ [__NR_getresgid32 - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_GETRESGID_E, PPME_SYSCALL_GETRESGID_X },
+ #endif
++#ifdef __NR_getdents
+ [__NR_getdents - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_GETDENTS_E, PPME_SYSCALL_GETDENTS_X},
++#endif
+ [__NR_getdents64 - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_GETDENTS64_E, PPME_SYSCALL_GETDENTS64_X},
+ #ifdef __NR_setns
+ [__NR_setns - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_SETNS_E, PPME_SYSCALL_SETNS_X},
+@@ -298,19 +347,33 @@ const enum ppm_syscall_code g_syscall_co
+ [__NR_exit - SYSCALL_TABLE_ID0] = PPM_SC_EXIT,
+ [__NR_read - SYSCALL_TABLE_ID0] = PPM_SC_READ,
+ [__NR_write - SYSCALL_TABLE_ID0] = PPM_SC_WRITE,
++#ifdef __NR_open
+ [__NR_open - SYSCALL_TABLE_ID0] = PPM_SC_OPEN,
++#endif
+ [__NR_close - SYSCALL_TABLE_ID0] = PPM_SC_CLOSE,
++#ifdef __NR_creat
+ [__NR_creat - SYSCALL_TABLE_ID0] = PPM_SC_CREAT,
++#endif
++#ifdef __NR_link
+ [__NR_link - SYSCALL_TABLE_ID0] = PPM_SC_LINK,
++#endif
++#ifdef __NR_unlink
+ [__NR_unlink - SYSCALL_TABLE_ID0] = PPM_SC_UNLINK,
++#endif
+ [__NR_chdir - SYSCALL_TABLE_ID0] = PPM_SC_CHDIR,
+ #ifdef __NR_time
+ [__NR_time - SYSCALL_TABLE_ID0] = PPM_SC_TIME,
+ #endif
++#ifdef __NR_mknod
+ [__NR_mknod - SYSCALL_TABLE_ID0] = PPM_SC_MKNOD,
++#endif
++#ifdef __NR_chmod
+ [__NR_chmod - SYSCALL_TABLE_ID0] = PPM_SC_CHMOD,
++#endif
+ /* [__NR_lchown16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_LCHOWN16, */
++#ifdef __NR_stat
+ [__NR_stat - SYSCALL_TABLE_ID0] = PPM_SC_STAT,
++#endif
+ [__NR_lseek - SYSCALL_TABLE_ID0] = PPM_SC_LSEEK,
+ [__NR_getpid - SYSCALL_TABLE_ID0] = PPM_SC_GETPID,
+ [__NR_mount - SYSCALL_TABLE_ID0] = PPM_SC_MOUNT,
+@@ -322,17 +385,27 @@ const enum ppm_syscall_code g_syscall_co
+ [__NR_alarm - SYSCALL_TABLE_ID0] = PPM_SC_ALARM,
+ #endif
+ [__NR_fstat - SYSCALL_TABLE_ID0] = PPM_SC_FSTAT,
++#ifdef __NR_pause
+ [__NR_pause - SYSCALL_TABLE_ID0] = PPM_SC_PAUSE,
++#endif
+ #ifdef __NR_utime
+ [__NR_utime - SYSCALL_TABLE_ID0] = PPM_SC_UTIME,
+ #endif
+ [__NR_sync - SYSCALL_TABLE_ID0] = PPM_SC_SYNC,
+ [__NR_kill - SYSCALL_TABLE_ID0] = PPM_SC_KILL,
++#ifdef __NR_rename
+ [__NR_rename - SYSCALL_TABLE_ID0] = PPM_SC_RENAME,
++#endif
++#ifdef __NR_mkdir
+ [__NR_mkdir - SYSCALL_TABLE_ID0] = PPM_SC_MKDIR,
++#endif
++#ifdef __NR_rmdir
+ [__NR_rmdir - SYSCALL_TABLE_ID0] = PPM_SC_RMDIR,
++#endif
+ [__NR_dup - SYSCALL_TABLE_ID0] = PPM_SC_DUP,
++#ifdef __NR_pipe
+ [__NR_pipe - SYSCALL_TABLE_ID0] = PPM_SC_PIPE,
++#endif
+ [__NR_times - SYSCALL_TABLE_ID0] = PPM_SC_TIMES,
+ [__NR_brk - SYSCALL_TABLE_ID0] = PPM_SC_BRK,
+ /* [__NR_setgid16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_SETGID16, */
+@@ -345,10 +418,16 @@ const enum ppm_syscall_code g_syscall_co
+ [__NR_setpgid - SYSCALL_TABLE_ID0] = PPM_SC_SETPGID,
+ [__NR_umask - SYSCALL_TABLE_ID0] = PPM_SC_UMASK,
+ [__NR_chroot - SYSCALL_TABLE_ID0] = PPM_SC_CHROOT,
++#ifdef __NR_ustat
+ [__NR_ustat - SYSCALL_TABLE_ID0] = PPM_SC_USTAT,
++#endif
++#ifdef __NR_dup2
+ [__NR_dup2 - SYSCALL_TABLE_ID0] = PPM_SC_DUP2,
++#endif
+ [__NR_getppid - SYSCALL_TABLE_ID0] = PPM_SC_GETPPID,
++#ifdef __NR_getpgrp
+ [__NR_getpgrp - SYSCALL_TABLE_ID0] = PPM_SC_GETPGRP,
++#endif
+ [__NR_setsid - SYSCALL_TABLE_ID0] = PPM_SC_SETSID,
+ [__NR_sethostname - SYSCALL_TABLE_ID0] = PPM_SC_SETHOSTNAME,
+ [__NR_setrlimit - SYSCALL_TABLE_ID0] = PPM_SC_SETRLIMIT,
+@@ -359,10 +438,18 @@ const enum ppm_syscall_code g_syscall_co
+ /* [__NR_getgroups16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_GETGROUPS16, */
+ /* [__NR_setgroups16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_SETGROUPS16, */
+ /* [__NR_old_select - SYSCALL_TABLE_ID0] = PPM_SC_NR_OLD_SELECT, */
++#ifdef __NR_symlink
+ [__NR_symlink - SYSCALL_TABLE_ID0] = PPM_SC_SYMLINK,
++#endif
++#ifdef __NR_lstat
+ [__NR_lstat - SYSCALL_TABLE_ID0] = PPM_SC_LSTAT,
++#endif
++#ifdef __NR_readlink
+ [__NR_readlink - SYSCALL_TABLE_ID0] = PPM_SC_READLINK,
++#endif
++#ifdef __NR_uselib
+ [__NR_uselib - SYSCALL_TABLE_ID0] = PPM_SC_USELIB,
++#endif
+ [__NR_swapon - SYSCALL_TABLE_ID0] = PPM_SC_SWAPON,
+ [__NR_reboot - SYSCALL_TABLE_ID0] = PPM_SC_REBOOT,
+ /* [__NR_old_readdir - SYSCALL_TABLE_ID0] = PPM_SC_NR_OLD_READDIR, */
+@@ -399,12 +486,16 @@ const enum ppm_syscall_code g_syscall_co
+ [__NR_delete_module - SYSCALL_TABLE_ID0] = PPM_SC_DELETE_MODULE,
+ [__NR_getpgid - SYSCALL_TABLE_ID0] = PPM_SC_GETPGID,
+ [__NR_fchdir - SYSCALL_TABLE_ID0] = PPM_SC_FCHDIR,
++#ifdef __NR_sysfs
+ [__NR_sysfs - SYSCALL_TABLE_ID0] = PPM_SC_SYSFS,
++#endif
+ [__NR_personality - SYSCALL_TABLE_ID0] = PPM_SC_PERSONALITY,
+ /* [__NR_setfsuid16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_SETFSUID16, */
+ /* [__NR_setfsgid16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_SETFSGID16, */
+ /* [__NR_llseek - SYSCALL_TABLE_ID0] = PPM_SC_NR_LLSEEK, */
++#ifdef __NR_getdents
+ [__NR_getdents - SYSCALL_TABLE_ID0] = PPM_SC_GETDENTS,
++#endif
+ #ifdef __NR_select
+ [__NR_select - SYSCALL_TABLE_ID0] = PPM_SC_SELECT,
+ #endif
+@@ -431,7 +522,9 @@ const enum ppm_syscall_code g_syscall_co
+ [__NR_mremap - SYSCALL_TABLE_ID0] = PPM_SC_MREMAP,
+ /* [__NR_setresuid16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_SETRESUID16, */
+ /* [__NR_getresuid16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_GETRESUID16, */
++#ifdef __NR_poll
+ [__NR_poll - SYSCALL_TABLE_ID0] = PPM_SC_POLL,
++#endif
+ /* [__NR_setresgid16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_SETRESGID16, */
+ /* [__NR_getresgid16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_GETRESGID16, */
+ [__NR_prctl - SYSCALL_TABLE_ID0] = PPM_SC_PRCTL,
+@@ -453,13 +546,17 @@ const enum ppm_syscall_code g_syscall_co
+ [__NR_getrlimit - SYSCALL_TABLE_ID0] = PPM_SC_GETRLIMIT,
+ #endif
+ /* [__NR_mmap_pgoff - SYSCALL_TABLE_ID0] = PPM_SC_NR_MMAP_PGOFF, */
++#ifdef __NR_lchown
+ [__NR_lchown - SYSCALL_TABLE_ID0] = PPM_SC_LCHOWN,
++#endif
+ [__NR_setreuid - SYSCALL_TABLE_ID0] = PPM_SC_SETREUID,
+ [__NR_setregid - SYSCALL_TABLE_ID0] = PPM_SC_SETREGID,
+ [__NR_getgroups - SYSCALL_TABLE_ID0] = PPM_SC_GETGROUPS,
+ [__NR_setgroups - SYSCALL_TABLE_ID0] = PPM_SC_SETGROUPS,
+ [__NR_fchown - SYSCALL_TABLE_ID0] = PPM_SC_FCHOWN,
++#ifdef __NR_chown
+ [__NR_chown - SYSCALL_TABLE_ID0] = PPM_SC_CHOWN,
++#endif
+ [__NR_setfsuid - SYSCALL_TABLE_ID0] = PPM_SC_SETFSUID,
+ [__NR_setfsgid - SYSCALL_TABLE_ID0] = PPM_SC_SETFSGID,
+ [__NR_pivot_root - SYSCALL_TABLE_ID0] = PPM_SC_PIVOT_ROOT,
+@@ -494,9 +591,13 @@ const enum ppm_syscall_code g_syscall_co
+ [__NR_io_submit - SYSCALL_TABLE_ID0] = PPM_SC_IO_SUBMIT,
+ [__NR_io_cancel - SYSCALL_TABLE_ID0] = PPM_SC_IO_CANCEL,
+ [__NR_exit_group - SYSCALL_TABLE_ID0] = PPM_SC_EXIT_GROUP,
++#ifdef __NR_epoll_create
+ [__NR_epoll_create - SYSCALL_TABLE_ID0] = PPM_SC_EPOLL_CREATE,
++#endif
+ [__NR_epoll_ctl - SYSCALL_TABLE_ID0] = PPM_SC_EPOLL_CTL,
++#ifdef __NR_epoll_wait
+ [__NR_epoll_wait - SYSCALL_TABLE_ID0] = PPM_SC_EPOLL_WAIT,
++#endif
+ [__NR_remap_file_pages - SYSCALL_TABLE_ID0] = PPM_SC_REMAP_FILE_PAGES,
+ [__NR_set_tid_address - SYSCALL_TABLE_ID0] = PPM_SC_SET_TID_ADDRESS,
+ [__NR_timer_create - SYSCALL_TABLE_ID0] = PPM_SC_TIMER_CREATE,
+@@ -509,7 +610,9 @@ const enum ppm_syscall_code g_syscall_co
+ [__NR_clock_getres - SYSCALL_TABLE_ID0] = PPM_SC_CLOCK_GETRES,
+ [__NR_clock_nanosleep - SYSCALL_TABLE_ID0] = PPM_SC_CLOCK_NANOSLEEP,
+ [__NR_tgkill - SYSCALL_TABLE_ID0] = PPM_SC_TGKILL,
++#ifdef __NR_utimes
+ [__NR_utimes - SYSCALL_TABLE_ID0] = PPM_SC_UTIMES,
++#endif
+ [__NR_mq_open - SYSCALL_TABLE_ID0] = PPM_SC_MQ_OPEN,
+ [__NR_mq_unlink - SYSCALL_TABLE_ID0] = PPM_SC_MQ_UNLINK,
+ [__NR_mq_timedsend - SYSCALL_TABLE_ID0] = PPM_SC_MQ_TIMEDSEND,
+@@ -523,14 +626,18 @@ const enum ppm_syscall_code g_syscall_co
+ [__NR_keyctl - SYSCALL_TABLE_ID0] = PPM_SC_KEYCTL,
+ [__NR_ioprio_set - SYSCALL_TABLE_ID0] = PPM_SC_IOPRIO_SET,
+ [__NR_ioprio_get - SYSCALL_TABLE_ID0] = PPM_SC_IOPRIO_GET,
++#ifdef __NR_inotify_init
+ [__NR_inotify_init - SYSCALL_TABLE_ID0] = PPM_SC_INOTIFY_INIT,
++#endif
+ [__NR_inotify_add_watch - SYSCALL_TABLE_ID0] = PPM_SC_INOTIFY_ADD_WATCH,
+ [__NR_inotify_rm_watch - SYSCALL_TABLE_ID0] = PPM_SC_INOTIFY_RM_WATCH,
+ [__NR_openat - SYSCALL_TABLE_ID0] = PPM_SC_OPENAT,
+ [__NR_mkdirat - SYSCALL_TABLE_ID0] = PPM_SC_MKDIRAT,
+ [__NR_mknodat - SYSCALL_TABLE_ID0] = PPM_SC_MKNODAT,
+ [__NR_fchownat - SYSCALL_TABLE_ID0] = PPM_SC_FCHOWNAT,
++#ifdef __NR_futimesat
+ [__NR_futimesat - SYSCALL_TABLE_ID0] = PPM_SC_FUTIMESAT,
++#endif
+ [__NR_unlinkat - SYSCALL_TABLE_ID0] = PPM_SC_UNLINKAT,
+ [__NR_renameat - SYSCALL_TABLE_ID0] = PPM_SC_RENAMEAT,
+ [__NR_linkat - SYSCALL_TABLE_ID0] = PPM_SC_LINKAT,
+@@ -551,9 +658,13 @@ const enum ppm_syscall_code g_syscall_co
+ #endif
+ [__NR_epoll_pwait - SYSCALL_TABLE_ID0] = PPM_SC_EPOLL_PWAIT,
+ [__NR_utimensat - SYSCALL_TABLE_ID0] = PPM_SC_UTIMENSAT,
++#ifdef __NR_signalfd
+ [__NR_signalfd - SYSCALL_TABLE_ID0] = PPM_SC_SIGNALFD,
++#endif
+ [__NR_timerfd_create - SYSCALL_TABLE_ID0] = PPM_SC_TIMERFD_CREATE,
++#ifdef __NR_eventfd
+ [__NR_eventfd - SYSCALL_TABLE_ID0] = PPM_SC_EVENTFD,
++#endif
+ [__NR_timerfd_settime - SYSCALL_TABLE_ID0] = PPM_SC_TIMERFD_SETTIME,
+ [__NR_timerfd_gettime - SYSCALL_TABLE_ID0] = PPM_SC_TIMERFD_GETTIME,
+ [__NR_signalfd4 - SYSCALL_TABLE_ID0] = PPM_SC_SIGNALFD4,
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/fix-uint64-const.patch b/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/fix-uint64-const.patch
new file mode 100644
index 00000000..5c756294
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/fix-uint64-const.patch
@@ -0,0 +1,16 @@
+Fix x86 build
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/userspace/libsinsp/cgroup_limits.cpp
++++ b/userspace/libsinsp/cgroup_limits.cpp
+@@ -9,7 +9,7 @@ namespace {
+ // This reports extremely large values (e.g. almost-but-not-quite 9EiB as set by k8s) as unlimited.
+ // Note: we use the same maximum value for cpu shares/quotas as well; the typical values are much lower
+ // and so should never exceed CGROUP_VAL_MAX either
+-constexpr const int64_t CGROUP_VAL_MAX = (1UL << 42u) - 1;
++constexpr const int64_t CGROUP_VAL_MAX = (1ULL << 42u) - 1;
+
+ /**
+ * \brief Read a single int64_t value from cgroupfs
diff --git a/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb b/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb
index 4f58281f..04a022af 100644
--- a/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb
+++ b/external/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb
@@ -3,39 +3,52 @@ DESCRIPTION = "Sysdig is open source, system-level exploration: capture \
system state and activity from a running Linux instance, then save, \
filter and analyze."
HOMEPAGE = "http://www.sysdig.org/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+LICENSE = "Apache-2.0 & (MIT | GPL-2.0)"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f8fee3d59797546cffab04f3b88b2d44"
inherit cmake pkgconfig
-OECMAKE_GENERATOR = "Unix Makefiles"
+#OECMAKE_GENERATOR = "Unix Makefiles"
+JIT ?= "jit"
+JIT_mipsarchn32 = ""
+JIT_mipsarchn64 = ""
+JIT_riscv64 = ""
+JIT_riscv32 = ""
-DEPENDS = "luajit zlib ncurses"
+DEPENDS += "lua${JIT} zlib c-ares grpc-native grpc curl ncurses jsoncpp tbb jq openssl elfutils protobuf protobuf-native jq-native"
RDEPENDS_${PN} = "bash"
-SRC_URI = "git://github.com/draios/sysdig.git;branch=master \
- file://0001-libsinsp-Port-to-build-with-lua-5.2.patch \
+SRC_URI = "git://github.com/draios/sysdig.git;branch=dev \
+ file://0001-fix-build-with-LuaJIT-2.1-betas.patch \
file://0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch \
+ file://fix-uint64-const.patch \
+ file://aarch64.patch \
"
-SRCREV = "85d16f33a82a17f87ccdbc088749271c71d87013"
-PV = "0.1.102+git${SRCPV}"
+SRCREV = "8daeef8da752c5f07f439391bc20c5948eb11470"
+PV = "0.26.6"
S = "${WORKDIR}/git"
-DIR_ETC="/etc"
-EXTRA_OECMAKE = ' -DUSE_BUNDLED_LUAJIT="OFF" \
- -DUSE_BUNDLED_ZLIB="OFF" \
- -DBUILD_DRIVER="OFF" \
- -DUSE_BUNDLED_NCURSES="OFF" \
- -DDIR_ETC="${DIR_ETC}" \
- '
+EXTRA_OECMAKE = "\
+ -DBUILD_DRIVER=OFF \
+ -DUSE_BUNDLED_DEPS=OFF \
+ -DUSE_BUNDLED_B64=ON \
+ -DCREATE_TEST_TARGETS=OFF \
+ -DDIR_ETC=${sysconfdir} \
+ -DLUA_INCLUDE_DIR=${STAGING_INCDIR}/luajit-2.1 \
+ -DLUA_LIBRARY=libluajit-5.1.so \
+"
FILES_${PN} += " \
${DIR_ETC}/* \
${datadir}/zsh/* \
${prefix}/src/* \
"
-
-# luajit not supported on Aarch64
-COMPATIBLE_HOST = "^(?!aarch64).*"
-
+# Use getaddrinfo_a is a GNU extension in libsinsp
+# It should be fixed in sysdig, until then disable
+# on musl
+# Something like this https://code.videolan.org/ePirat/vlc/-/commit/01fd9fe4c7f6c5558f7345f38abf0152e17853ab is needed to fix it
+COMPATIBLE_HOST_libc-musl = "null"
+COMPATIBLE_HOST_mips = "null"
+COMPATIBLE_HOST_riscv64 = "null"
+COMPATIBLE_HOST_riscv32 = "null"