From: Jan Rękorajski Date: Thu, 23 May 2019 23:51:55 +0000 (+0200) Subject: - fix userspace build on x32 X-Git-Tag: auto/th/sysdig-0.24.2-3 X-Git-Url: http://git.pld-linux.org/gitweb.cgi?a=commitdiff_plain;h=c100093c7796ada69511b535cf7950e2ce4f2349;p=packages%2Fsysdig.git - fix userspace build on x32 - rel 3 --- diff --git a/sysdig.spec b/sysdig.spec index f456290..72814e4 100644 --- a/sysdig.spec +++ b/sysdig.spec @@ -22,7 +22,7 @@ exit 1 %undefine with_luajit %endif -%define rel 2 +%define rel 3 %define pname sysdig Summary: sysdig, a system-level exploration and troubleshooting tool Summary(pl.UTF-8): sysdig - narzędzie do przeglądu i rozwiązywania problemów na poziomie systemowym @@ -36,6 +36,7 @@ Source0: https://github.com/draios/sysdig/archive/%{version}/%{pname}-%{version} # Source0-md5: ea98fc19fea18f02651a7955d069dcf1 Patch0: kernel-5.0.patch Patch1: kernel-5.1.patch +Patch2: x32.patch URL: http://www.sysdig.org/ BuildRequires: rpmbuild(macros) >= 1.701 BuildRequires: cmake >= 2.8.2 @@ -164,6 +165,7 @@ Ten pakiet zawiera moduł sysdig-probe for jądra Linuksa.\ %setup -q -n %{pname}-%{version} %patch0 -p1 %patch1 -p1 +%patch2 -p1 %build install -d build diff --git a/x32.patch b/x32.patch new file mode 100644 index 0000000..1f7b242 --- /dev/null +++ b/x32.patch @@ -0,0 +1,47 @@ +diff -ur sysdig-0.24.2/driver/ppm_events_public.h sysdig-0.24.2.x32/driver/ppm_events_public.h +--- sysdig-0.24.2/driver/ppm_events_public.h 2018-12-21 21:38:44.000000000 +0100 ++++ sysdig-0.24.2.x32/driver/ppm_events_public.h 2019-05-24 01:33:30.717535404 +0200 +@@ -1528,7 +1528,7 @@ + enum ppm_event_type exit_event_type; + } _packed; + +-#define SYSCALL_TABLE_SIZE 512 ++#define SYSCALL_TABLE_SIZE 1024 + + /* + * Filler table-related definitions +diff -ur sysdig-0.24.2/driver/syscall_table.c sysdig-0.24.2.x32/driver/syscall_table.c +--- sysdig-0.24.2/driver/syscall_table.c 2018-12-21 21:38:44.000000000 +0100 ++++ sysdig-0.24.2.x32/driver/syscall_table.c 2019-05-24 01:36:03.747789226 +0200 +@@ -27,7 +27,11 @@ + #endif + #else /* __KERNEL__ */ + #include ++#ifdef __ILP32__ ++#define SYSCALL_TABLE_ID0 __X32_SYSCALL_BIT ++#else + #define SYSCALL_TABLE_ID0 0 ++#endif + #endif /* __KERNEL__ */ + + #include "ppm_events_public.h" +@@ -114,7 +115,9 @@ + [__NR_pselect6 - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X}, + [__NR_epoll_create - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X}, + [__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}, +@@ -360,7 +363,9 @@ + [__NR_symlink - SYSCALL_TABLE_ID0] = PPM_SC_SYMLINK, + [__NR_lstat - SYSCALL_TABLE_ID0] = PPM_SC_LSTAT, + [__NR_readlink - SYSCALL_TABLE_ID0] = PPM_SC_READLINK, ++#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, */