mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-02 13:59:59 +00:00
ltrace: Fix mips build with kernels 5.13+
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
+50
@@ -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-mips-plt.c-Delete-include-error.h.patch \
|
||||||
file://0001-move-fprintf-into-same-block-where-modname-and-symna.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://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-Bug-fix-for-data-type-length-judgment.patch \
|
||||||
file://0001-ensure-the-struct-pointers-are-null-initilized.patch \
|
file://0001-ensure-the-struct-pointers-are-null-initilized.patch \
|
||||||
file://0001-ppc-Remove-unused-host_powerpc64-function.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"
|
SRC_URI_append_libc-musl = " file://add_ppc64le.patch"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user