aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-devtools/ltrace
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2021-07-09 01:37:04 -0700
committerKhem Raj <raj.khem@gmail.com>2021-07-13 09:39:15 -0700
commita41e2832503236bf92e86a25f58889e844b3d42f (patch)
tree2a6babb3e5278a814c7a44e277ef1197ae9a6de1 /meta-oe/recipes-devtools/ltrace
parent85dc9b58e7ee15256ebd8313c0ed9a742d56d59a (diff)
downloadmeta-openembedded-contrib-a41e2832503236bf92e86a25f58889e844b3d42f.tar.gz
ltrace: Fix mips build with kernels 5.13+
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-devtools/ltrace')
-rw-r--r--meta-oe/recipes-devtools/ltrace/ltrace/0001-mips-Use-hardcodes-values-for-ABI-syscall-bases.patch50
-rw-r--r--meta-oe/recipes-devtools/ltrace/ltrace/include_unistd_nr.patch30
-rw-r--r--meta-oe/recipes-devtools/ltrace/ltrace_git.bb2
3 files changed, 51 insertions, 31 deletions
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-mips-Use-hardcodes-values-for-ABI-syscall-bases.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-mips-Use-hardcodes-values-for-ABI-syscall-bases.patch
new file mode 100644
index 0000000000..f83e0a2738
--- /dev/null
+++ b/meta-oe/recipes-devtools/ltrace/ltrace/0001-mips-Use-hardcodes-values-for-ABI-syscall-bases.patch
@@ -0,0 +1,50 @@
+From ed8dbe1c793f2f770fef61adc4390277f903cceb Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 9 Jul 2021 01:32:42 -0700
+Subject: [PATCH] mips: Use hardcodes values for ABI syscall bases
+
+mips kernels 5.13+ have stopped exposing the UAPIs which provided these
+defines, the values are more or less static so just use the hardcoded
+values for now. Use __NR_syscalls to get number of syscalls supported
+and include asm-generic/unistd.h to get this definition
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ sysdeps/linux-gnu/mips/trace.c | 13 +++++++------
+ 1 file changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/sysdeps/linux-gnu/mips/trace.c b/sysdeps/linux-gnu/mips/trace.c
+index d54818e..e72184d 100644
+--- a/sysdeps/linux-gnu/mips/trace.c
++++ b/sysdeps/linux-gnu/mips/trace.c
+@@ -33,6 +33,7 @@
+ #include <asm/unistd.h>
+ #include <assert.h>
+ #include <asm/unistd.h>
++#include <asm-generic/unistd.h>
+
+ #include "backend.h"
+ #include "common.h"
+@@ -135,12 +136,12 @@ syscall_p(struct process *proc, int status, int *sysnum)
+ int min_syscall, max_syscall, sigreturn, rt_sigreturn;
+ struct callstack_element *top = NULL;
+ int depth = proc->callstack_depth;
+- const int syscallbase[] = {__NR_O32_Linux, __NR_N32_Linux,
+- __NR_64_Linux, __NR_O32_Linux};
+- const int syscallnum[] = {__NR_O32_Linux_syscalls,
+- __NR_N32_Linux_syscalls,
+- __NR_64_Linux_syscalls,
+- __NR_O32_Linux_syscalls};
++ const int syscallbase[] = {4000, 6000,
++ 5000, 4000};
++ const int syscallnum[] = {__NR_syscalls,
++ __NR_syscalls,
++ __NR_syscalls,
++ __NR_syscalls};
+ const int rt_sigreturn_list[] = {193, 211, 211, 193};
+ const int sigreturn_list[] = {119, -1, -1, 119};
+
+--
+2.32.0
+
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/include_unistd_nr.patch b/meta-oe/recipes-devtools/ltrace/ltrace/include_unistd_nr.patch
deleted file mode 100644
index e4490bbb9e..0000000000
--- a/meta-oe/recipes-devtools/ltrace/ltrace/include_unistd_nr.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-kernel headers have restructured mips syscall generation in kernel
-in recent versions, however, ltrace still has logic to define the
-syscall numbers based on old logic, this patch includes the legacy
-UAPI headers to get these defines
-
-Fixes errors e.g.
-../../../../git/sysdeps/linux-gnu/mips/trace.c:138:29: error: '__NR_O32_Linux' undeclared (first use in this function)
- const int syscallbase[] = {__NR_O32_Linux, __NR_N32_Linux,
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
---- a/sysdeps/linux-gnu/mips/trace.c
-+++ b/sysdeps/linux-gnu/mips/trace.c
-@@ -34,6 +34,16 @@
- #include <assert.h>
- #include <asm/unistd.h>
-
-+#ifndef __NR_O32_Linux
-+#include <asm/unistd_nr_o32.h>
-+#endif
-+#ifndef __NR_N32_Linux
-+#include <asm/unistd_nr_n64.h>
-+#endif
-+#ifndef __NR_N64_Linux
-+#include <asm/unistd_nr_n32.h>
-+#endif
-+
- #include "backend.h"
- #include "common.h"
- #include "debug.h"
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
index b81093aa24..69dce851fa 100644
--- a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
+++ b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
@@ -26,10 +26,10 @@ SRC_URI = "git://github.com/sparkleholic/ltrace.git;branch=master;protocol=http
file://0001-mips-plt.c-Delete-include-error.h.patch \
file://0001-move-fprintf-into-same-block-where-modname-and-symna.patch \
file://0001-hook-Do-not-append-int-to-std-string.patch \
- file://include_unistd_nr.patch \
file://0001-Bug-fix-for-data-type-length-judgment.patch \
file://0001-ensure-the-struct-pointers-are-null-initilized.patch \
file://0001-ppc-Remove-unused-host_powerpc64-function.patch \
+ file://0001-mips-Use-hardcodes-values-for-ABI-syscall-bases.patch \
"
SRC_URI_append_libc-musl = " file://add_ppc64le.patch"