mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-01-01 13:58:06 +00:00
ltrace: Fix mips build with kernels 5.13+
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
parent
85dc9b58e7
commit
a41e283250
|
|
@ -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
|
||||
|
||||
|
|
@ -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"
|
||||
|
|
@ -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"
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user