mirror of
https://git.yoctoproject.org/poky
synced 2026-05-08 05:09:24 +00:00
valgrind: Add patches for glibc 2.34 support
This partially resolves ptest failures with glibc 2.34. (From OE-Core rev: 9adf897176924cad6b12d4da73a904cfbf578f46) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
+34
@@ -0,0 +1,34 @@
|
||||
From 200b6a5a0ea3e1e154663b0fc575bfe2becf177d Mon Sep 17 00:00:00 2001
|
||||
From: Mark Wielaard <mark@klomp.org>
|
||||
Date: Wed, 21 Jul 2021 17:55:40 +0200
|
||||
Subject: [PATCH] m_debuginfo/debuginfo.c VG_(get_fnname_kind) _start is below
|
||||
main
|
||||
|
||||
With glibc 2.34 we might see the _start symbol as the frame that
|
||||
called main instead of directly after __libc_start_main or
|
||||
generic_start_main.
|
||||
|
||||
Fixes memcheck/tests/badjump[2], memcheck/tests/origin4-many,
|
||||
helgrind/tests/tc04_free_lock, helgrind/tests/tc09_bad_unlock
|
||||
and helgrind/tests/tc20_verifywrap.
|
||||
|
||||
Upstream-Status: Backport
|
||||
---
|
||||
coregrind/m_debuginfo/debuginfo.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/coregrind/m_debuginfo/debuginfo.c b/coregrind/m_debuginfo/debuginfo.c
|
||||
index bc2578b377..e2218f2668 100644
|
||||
--- a/coregrind/m_debuginfo/debuginfo.c
|
||||
+++ b/coregrind/m_debuginfo/debuginfo.c
|
||||
@@ -2289,6 +2289,7 @@ Vg_FnNameKind VG_(get_fnname_kind) ( const HChar* name )
|
||||
VG_STREQN(18, "__libc_start_main.", name) || // gcc optimization
|
||||
VG_STREQ("generic_start_main", name) || // Yellow Dog doggedness
|
||||
VG_STREQN(19, "generic_start_main.", name) || // gcc optimization
|
||||
+ VG_STREQ("_start", name) ||
|
||||
# elif defined(VGO_darwin)
|
||||
// See readmacho.c for an explanation of this.
|
||||
VG_STREQ("start_according_to_valgrind", name) || // Darwin, darling
|
||||
--
|
||||
2.27.0
|
||||
|
||||
+171
@@ -0,0 +1,171 @@
|
||||
From 52ed51fc35f8a6148c2940eb46932b02dd3b9b23 Mon Sep 17 00:00:00 2001
|
||||
From: Mark Wielaard <mark@klomp.org>
|
||||
Date: Wed, 21 Jul 2021 19:53:13 +0200
|
||||
Subject: [PATCH] Generate a ENOSYS (sys_ni_syscall) for clone3 on all linux
|
||||
arches
|
||||
|
||||
glibc 2.34 will try to use clone3 first before falling back to
|
||||
the clone syscall. So implement clone3 as sys_ni_syscall which
|
||||
simply return ENOSYS without producing a warning.
|
||||
|
||||
https://bugs.kde.org/show_bug.cgi?id=439590
|
||||
|
||||
Upstream-Status: Backport
|
||||
---
|
||||
coregrind/m_syswrap/syswrap-amd64-linux.c | 2 ++
|
||||
coregrind/m_syswrap/syswrap-arm-linux.c | 2 ++
|
||||
coregrind/m_syswrap/syswrap-arm64-linux.c | 2 ++
|
||||
coregrind/m_syswrap/syswrap-mips32-linux.c | 2 ++
|
||||
coregrind/m_syswrap/syswrap-mips64-linux.c | 1 +
|
||||
coregrind/m_syswrap/syswrap-nanomips-linux.c | 1 +
|
||||
coregrind/m_syswrap/syswrap-ppc32-linux.c | 2 ++
|
||||
coregrind/m_syswrap/syswrap-ppc64-linux.c | 2 ++
|
||||
coregrind/m_syswrap/syswrap-s390x-linux.c | 2 ++
|
||||
coregrind/m_syswrap/syswrap-x86-linux.c | 2 ++
|
||||
include/vki/vki-scnums-shared-linux.h | 2 ++
|
||||
11 files changed, 20 insertions(+)
|
||||
|
||||
diff --git a/coregrind/m_syswrap/syswrap-amd64-linux.c b/coregrind/m_syswrap/syswrap-amd64-linux.c
|
||||
index 45e1f3d1bb..3b2dcb8e30 100644
|
||||
--- a/coregrind/m_syswrap/syswrap-amd64-linux.c
|
||||
+++ b/coregrind/m_syswrap/syswrap-amd64-linux.c
|
||||
@@ -874,6 +874,8 @@ static SyscallTableEntry syscall_table[] = {
|
||||
LINXY(__NR_io_uring_enter, sys_io_uring_enter), // 426
|
||||
LINXY(__NR_io_uring_register, sys_io_uring_register), // 427
|
||||
|
||||
+ GENX_(__NR_clone3, sys_ni_syscall), // 435
|
||||
+
|
||||
LINX_(__NR_faccessat2, sys_faccessat2), // 439
|
||||
};
|
||||
|
||||
diff --git a/coregrind/m_syswrap/syswrap-arm-linux.c b/coregrind/m_syswrap/syswrap-arm-linux.c
|
||||
index 428cb7c6fc..7f41b07491 100644
|
||||
--- a/coregrind/m_syswrap/syswrap-arm-linux.c
|
||||
+++ b/coregrind/m_syswrap/syswrap-arm-linux.c
|
||||
@@ -1051,6 +1051,8 @@ static SyscallTableEntry syscall_main_table[] = {
|
||||
LINXY(__NR_io_uring_enter, sys_io_uring_enter), // 426
|
||||
LINXY(__NR_io_uring_register, sys_io_uring_register), // 427
|
||||
|
||||
+ GENX_(__NR_clone3, sys_ni_syscall), // 435
|
||||
+
|
||||
LINX_(__NR_faccessat2, sys_faccessat2), // 439
|
||||
};
|
||||
|
||||
diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c
|
||||
index 024ece27f5..0d717f44be 100644
|
||||
--- a/coregrind/m_syswrap/syswrap-arm64-linux.c
|
||||
+++ b/coregrind/m_syswrap/syswrap-arm64-linux.c
|
||||
@@ -830,6 +830,8 @@ static SyscallTableEntry syscall_main_table[] = {
|
||||
LINXY(__NR_io_uring_enter, sys_io_uring_enter), // 426
|
||||
LINXY(__NR_io_uring_register, sys_io_uring_register), // 427
|
||||
|
||||
+ GENX_(__NR_clone3, sys_ni_syscall), // 435
|
||||
+
|
||||
LINX_(__NR_faccessat2, sys_faccessat2), // 439
|
||||
};
|
||||
|
||||
diff --git a/coregrind/m_syswrap/syswrap-mips32-linux.c b/coregrind/m_syswrap/syswrap-mips32-linux.c
|
||||
index 62b085ea21..b62129111b 100644
|
||||
--- a/coregrind/m_syswrap/syswrap-mips32-linux.c
|
||||
+++ b/coregrind/m_syswrap/syswrap-mips32-linux.c
|
||||
@@ -1136,6 +1136,8 @@ static SyscallTableEntry syscall_main_table[] = {
|
||||
LINXY(__NR_io_uring_enter, sys_io_uring_enter), // 426
|
||||
LINXY(__NR_io_uring_register, sys_io_uring_register), // 427
|
||||
|
||||
+ GENX_(__NR_clone3, sys_ni_syscall), // 435
|
||||
+
|
||||
LINX_ (__NR_faccessat2, sys_faccessat2), // 439
|
||||
};
|
||||
|
||||
diff --git a/coregrind/m_syswrap/syswrap-mips64-linux.c b/coregrind/m_syswrap/syswrap-mips64-linux.c
|
||||
index b73c03da16..94f38366f0 100644
|
||||
--- a/coregrind/m_syswrap/syswrap-mips64-linux.c
|
||||
+++ b/coregrind/m_syswrap/syswrap-mips64-linux.c
|
||||
@@ -815,6 +815,7 @@ static SyscallTableEntry syscall_main_table[] = {
|
||||
LINXY (__NR_io_uring_setup, sys_io_uring_setup),
|
||||
LINXY (__NR_io_uring_enter, sys_io_uring_enter),
|
||||
LINXY (__NR_io_uring_register, sys_io_uring_register),
|
||||
+ GENX_ (__NR_clone3, sys_ni_syscall),
|
||||
LINX_ (__NR_faccessat2, sys_faccessat2),
|
||||
};
|
||||
|
||||
diff --git a/coregrind/m_syswrap/syswrap-nanomips-linux.c b/coregrind/m_syswrap/syswrap-nanomips-linux.c
|
||||
index 14127b181a..102c155507 100644
|
||||
--- a/coregrind/m_syswrap/syswrap-nanomips-linux.c
|
||||
+++ b/coregrind/m_syswrap/syswrap-nanomips-linux.c
|
||||
@@ -824,6 +824,7 @@ static SyscallTableEntry syscall_main_table[] = {
|
||||
LINXY (__NR_io_uring_setup, sys_io_uring_setup),
|
||||
LINXY (__NR_io_uring_enter, sys_io_uring_enter),
|
||||
LINXY (__NR_io_uring_register, sys_io_uring_register),
|
||||
+ GENX_ (__NR_clone3, sys_ni_syscall),
|
||||
LINX_ (__NR_faccessat2, sys_faccessat2),
|
||||
};
|
||||
|
||||
diff --git a/coregrind/m_syswrap/syswrap-ppc32-linux.c b/coregrind/m_syswrap/syswrap-ppc32-linux.c
|
||||
index aad14f8ba4..1e2efc6777 100644
|
||||
--- a/coregrind/m_syswrap/syswrap-ppc32-linux.c
|
||||
+++ b/coregrind/m_syswrap/syswrap-ppc32-linux.c
|
||||
@@ -1054,6 +1054,8 @@ static SyscallTableEntry syscall_table[] = {
|
||||
LINXY(__NR_io_uring_enter, sys_io_uring_enter), // 426
|
||||
LINXY(__NR_io_uring_register, sys_io_uring_register), // 427
|
||||
|
||||
+ GENX_(__NR_clone3, sys_ni_syscall), // 435
|
||||
+
|
||||
LINX_(__NR_faccessat2, sys_faccessat2), // 439
|
||||
};
|
||||
|
||||
diff --git a/coregrind/m_syswrap/syswrap-ppc64-linux.c b/coregrind/m_syswrap/syswrap-ppc64-linux.c
|
||||
index c0e3f55491..76610e1423 100644
|
||||
--- a/coregrind/m_syswrap/syswrap-ppc64-linux.c
|
||||
+++ b/coregrind/m_syswrap/syswrap-ppc64-linux.c
|
||||
@@ -1023,6 +1023,8 @@ static SyscallTableEntry syscall_table[] = {
|
||||
LINXY(__NR_io_uring_enter, sys_io_uring_enter), // 426
|
||||
LINXY(__NR_io_uring_register, sys_io_uring_register), // 427
|
||||
|
||||
+ GENX_(__NR_clone3, sys_ni_syscall), // 435
|
||||
+
|
||||
LINX_(__NR_faccessat2, sys_faccessat2), // 439
|
||||
};
|
||||
|
||||
diff --git a/coregrind/m_syswrap/syswrap-s390x-linux.c b/coregrind/m_syswrap/syswrap-s390x-linux.c
|
||||
index af6c4eb210..5283c19fe4 100644
|
||||
--- a/coregrind/m_syswrap/syswrap-s390x-linux.c
|
||||
+++ b/coregrind/m_syswrap/syswrap-s390x-linux.c
|
||||
@@ -864,6 +864,8 @@ static SyscallTableEntry syscall_table[] = {
|
||||
LINXY(__NR_io_uring_enter, sys_io_uring_enter), // 426
|
||||
LINXY(__NR_io_uring_register, sys_io_uring_register), // 427
|
||||
|
||||
+ GENX_(__NR_clone3, sys_ni_syscall), // 435
|
||||
+
|
||||
LINX_(__NR_faccessat2, sys_faccessat2), // 439
|
||||
};
|
||||
|
||||
diff --git a/coregrind/m_syswrap/syswrap-x86-linux.c b/coregrind/m_syswrap/syswrap-x86-linux.c
|
||||
index 67d866497d..418c769750 100644
|
||||
--- a/coregrind/m_syswrap/syswrap-x86-linux.c
|
||||
+++ b/coregrind/m_syswrap/syswrap-x86-linux.c
|
||||
@@ -1645,6 +1645,8 @@ static SyscallTableEntry syscall_table[] = {
|
||||
LINXY(__NR_io_uring_enter, sys_io_uring_enter), // 426
|
||||
LINXY(__NR_io_uring_register, sys_io_uring_register),// 427
|
||||
|
||||
+ GENX_(__NR_clone3, sys_ni_syscall), // 435
|
||||
+
|
||||
LINX_(__NR_faccessat2, sys_faccessat2), // 439
|
||||
};
|
||||
|
||||
diff --git a/include/vki/vki-scnums-shared-linux.h b/include/vki/vki-scnums-shared-linux.h
|
||||
index c8bc31b4b3..6c70c9981d 100644
|
||||
--- a/include/vki/vki-scnums-shared-linux.h
|
||||
+++ b/include/vki/vki-scnums-shared-linux.h
|
||||
@@ -39,6 +39,8 @@
|
||||
#define __NR_fsmount 432
|
||||
#define __NR_fspick 433
|
||||
|
||||
+#define __NR_clone3 435
|
||||
+
|
||||
#define __NR_faccessat2 439
|
||||
|
||||
#endif
|
||||
--
|
||||
2.27.0
|
||||
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
From 6da22a4d246519cd1a638cfc7eff00cdd74413c4 Mon Sep 17 00:00:00 2001
|
||||
From: Mark Wielaard <mark@klomp.org>
|
||||
Date: Fri, 16 Jul 2021 21:37:21 +0200
|
||||
Subject: [PATCH] gdbserver_tests: update filters for newer glibc/gdb
|
||||
|
||||
With newer glibc/gdb we might see a __select call without anything
|
||||
following on the line. Also when gdb cannot find a file it might
|
||||
now print "Inappropriate ioctl for device" instead of the message
|
||||
"No such file or directory"
|
||||
|
||||
Upstream-Status: Backport
|
||||
---
|
||||
gdbserver_tests/filter_gdb | 1 +
|
||||
gdbserver_tests/filter_vgdb | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/gdbserver_tests/filter_gdb b/gdbserver_tests/filter_gdb
|
||||
index 3bcd26d86c..4a5b5d7a5b 100755
|
||||
--- a/gdbserver_tests/filter_gdb
|
||||
+++ b/gdbserver_tests/filter_gdb
|
||||
@@ -111,6 +111,7 @@ s/\(0x........\) in ?? ()$/\1 in syscall .../
|
||||
# If select.c sources are present, we can also get a line containing:
|
||||
# return SYSCALL_CANCEL....
|
||||
s/in __select .*/in syscall .../
|
||||
+s/in __select$/in syscall .../
|
||||
/exceptfds/d
|
||||
/sysv\/linux\/select\.c/d
|
||||
/return SYSCALL_CANCEL /d
|
||||
diff --git a/gdbserver_tests/filter_vgdb b/gdbserver_tests/filter_vgdb
|
||||
index f8028a39ad..679ca4b31c 100755
|
||||
--- a/gdbserver_tests/filter_vgdb
|
||||
+++ b/gdbserver_tests/filter_vgdb
|
||||
@@ -18,6 +18,7 @@ sed -e '/relaying data between gdb and process/d' \
|
||||
|
||||
# filter some debuginfo problems with ld.so and SLES11
|
||||
sed -e '/^1 rtld.c: No such file or directory\./d' |
|
||||
+sed -e '/rtld.c: Inappropriate ioctl for device\./d' |
|
||||
|
||||
# and filter out any remaining empty lines
|
||||
sed -e '/^$/d'
|
||||
--
|
||||
2.27.0
|
||||
|
||||
+1422
File diff suppressed because it is too large
Load Diff
@@ -45,6 +45,10 @@ SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \
|
||||
file://0001-memcheck-tests-Fix-timerfd-syscall-test.patch \
|
||||
file://0001-Add-missing-musl.supp.patch \
|
||||
file://0001-drd-tests-swapcontext-Add-SIGALRM-handler-to-avoid-s.patch \
|
||||
file://6da22a4d246519cd1a638cfc7eff00cdd74413c4.patch \
|
||||
file://200b6a5a0ea3e1e154663b0fc575bfe2becf177d.patch \
|
||||
file://a1364805fc74b5690f763033c0c9b43f27613572.patch \
|
||||
file://52ed51fc35f8a6148c2940eb46932b02dd3b9b23.patch \
|
||||
"
|
||||
SRC_URI[md5sum] = "afe11b5572c3121a781433b7c0ab741b"
|
||||
SRC_URI[sha256sum] = "ad3aec668e813e40f238995f60796d9590eee64a16dff88421430630e69285a2"
|
||||
|
||||
Reference in New Issue
Block a user