!25 Sync LoongArch with glibc 2.36
From: @FreeFlyingSheep Reviewed-by: @caodongxia Signed-off-by: @caodongxia
This commit is contained in:
commit
530e4f25e2
75
valgrind-Sync-LoongArch-with-glibc-2.36.patch
Normal file
75
valgrind-Sync-LoongArch-with-glibc-2.36.patch
Normal file
@ -0,0 +1,75 @@
|
||||
From c8c53b2ea49142f4e764520e0af71c0d48bbf00a Mon Sep 17 00:00:00 2001
|
||||
From: Feiyang Chen <chenfeiyang@loongson.cn>
|
||||
Date: Tue, 3 Jan 2023 11:17:29 +0800
|
||||
Subject: [PATCH] valgrind: Sync LoongArch with glibc 2.36
|
||||
|
||||
---
|
||||
coregrind/vgdb-invoker-ptrace.c | 20 ++++----------------
|
||||
1 file changed, 4 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/coregrind/vgdb-invoker-ptrace.c b/coregrind/vgdb-invoker-ptrace.c
|
||||
index 7865c53..d930589 100644
|
||||
--- a/coregrind/vgdb-invoker-ptrace.c
|
||||
+++ b/coregrind/vgdb-invoker-ptrace.c
|
||||
@@ -759,11 +759,7 @@ void restore_and_detach (pid_t pid)
|
||||
}
|
||||
|
||||
DEBUG(1, "setregs restore registers pid %d\n", pid_of_save_regs);
|
||||
-#if defined(VGP_loongarch64_linux)
|
||||
- if (!setregs(pid_of_save_regs, &user_save.gpr, sizeof(user_save.gpr))) {
|
||||
-#else
|
||||
if (!setregs(pid_of_save_regs, &user_save.regs, sizeof(user_save.regs))) {
|
||||
-#endif
|
||||
ERROR(errno, "setregs restore registers pid %d after cont\n",
|
||||
pid_of_save_regs);
|
||||
}
|
||||
@@ -845,11 +841,7 @@ Bool invoker_invoke_gdbserver (pid_t pid)
|
||||
return False;
|
||||
}
|
||||
|
||||
-#if defined(VGP_loongarch64_linux)
|
||||
- if (!getregs(pid, &user_mod.gpr, sizeof(user_mod.gpr))) {
|
||||
-#else
|
||||
if (!getregs(pid, &user_mod.regs, sizeof(user_mod.regs))) {
|
||||
-#endif
|
||||
detach_from_all_threads(pid);
|
||||
return False;
|
||||
}
|
||||
@@ -885,7 +877,7 @@ Bool invoker_invoke_gdbserver (pid_t pid)
|
||||
#elif defined(VGA_mips64)
|
||||
sp = user_mod.regs[29];
|
||||
#elif defined(VGA_loongarch64)
|
||||
- sp = user_mod.gpr[3];
|
||||
+ sp = user_mod.regs[3];
|
||||
#else
|
||||
I_die_here : (sp) architecture missing in vgdb-invoker-ptrace.c
|
||||
#endif
|
||||
@@ -1084,10 +1076,10 @@ Bool invoker_invoke_gdbserver (pid_t pid)
|
||||
user_mod.regs[25] = shared64->invoke_gdbserver;
|
||||
#elif defined(VGA_loongarch64)
|
||||
/* put check arg in register a0 */
|
||||
- user_mod.gpr[4] = check;
|
||||
+ user_mod.regs[4] = check;
|
||||
/* put NULL return address in ra */
|
||||
- user_mod.gpr[1] = bad_return;
|
||||
- user_mod.pc = shared64->invoke_gdbserver;
|
||||
+ user_mod.regs[1] = bad_return;
|
||||
+ user_mod.csr_era = shared64->invoke_gdbserver;
|
||||
#else
|
||||
I_die_here: architecture missing in vgdb-invoker-ptrace.c
|
||||
#endif
|
||||
@@ -1096,11 +1088,7 @@ Bool invoker_invoke_gdbserver (pid_t pid)
|
||||
assert(0);
|
||||
}
|
||||
|
||||
-#if defined(VGP_loongarch64_linux)
|
||||
- if (!setregs(pid, &user_mod.gpr, sizeof(user_mod.gpr))) {
|
||||
-#else
|
||||
if (!setregs(pid, &user_mod.regs, sizeof(user_mod.regs))) {
|
||||
-#endif
|
||||
detach_from_all_threads(pid);
|
||||
return False;
|
||||
}
|
||||
--
|
||||
2.33.0
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
|
||||
Name: valgrind
|
||||
Version: 3.16.0
|
||||
Release: 5
|
||||
Release: 6
|
||||
Epoch: 1
|
||||
Summary: An instrumentation framework for building dynamic analysis tools
|
||||
License: GPLv2+
|
||||
@ -30,6 +30,7 @@ Patch3: valgrind-3.9.0-ldso-supp.patch
|
||||
Patch4: backport-Generate-a-ENOSYS-sys_ni_syscall-for-clone3-on-all-linux-arches.patch
|
||||
Patch5: valgrind-Implement-linux-rseq-syscall-as-ENOSYS.patch
|
||||
Patch6: Add-LOONGARCH64-Linux-support.patch
|
||||
Patch7: valgrind-Sync-LoongArch-with-glibc-2.36.patch
|
||||
|
||||
BuildRequires: glibc glibc-devel gdb procps gcc-c++ perl(Getopt::Long)
|
||||
|
||||
@ -107,6 +108,9 @@ popd
|
||||
%{_mandir}/man1/*
|
||||
|
||||
%changelog
|
||||
* Tue Jan 03 2023 chenfeiyang <chenfeiyang@loongson.cn> - 1:3.16.0-6
|
||||
- Sync LoongArch with glibc 2.36
|
||||
|
||||
* Fri Dec 16 2022 chenfeiyang <chenfeiyang@loongson.cn> - 1:3.16.0-5
|
||||
- Add LOONGARCH64/Linux support
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user