mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-23 16:49:10 -07:00
dev-util/valgrind: remove unused patches
Package-Manager: Portage-2.3.100, Repoman-2.3.22 Signed-off-by: Michael Mair-Keimberger <m.mairkeimberger@gmail.com> Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
This commit is contained in:
committed by
Anthony G. Basile
parent
8afa415497
commit
abbbcef198
@@ -1,95 +0,0 @@
|
||||
See https://bugs.gentoo.org/664882
|
||||
|
||||
From 64aa729bfae71561505a40c12755bd6b55bb3061 Mon Sep 17 00:00:00 2001
|
||||
From: Mark Wielaard <mark@klomp.org>
|
||||
Date: Thu, 12 Jul 2018 13:56:00 +0200
|
||||
Subject: [PATCH] Accept read-only PT_LOAD segments and .rodata.
|
||||
|
||||
The new binutils ld -z separate-code option creates multiple read-only
|
||||
PT_LOAD segments and might place .rodata in a non-executable segment.
|
||||
|
||||
Allow and keep track of separate read-only segments and allow a readonly
|
||||
page with .rodata section.
|
||||
|
||||
Based on patches from Tom Hughes <tom@compton.nu> and
|
||||
H.J. Lu <hjl.tools@gmail.com>.
|
||||
|
||||
https://bugs.kde.org/show_bug.cgi?id=395682
|
||||
---
|
||||
coregrind/m_debuginfo/debuginfo.c | 2 --
|
||||
coregrind/m_debuginfo/readelf.c | 34 +++++++++++++++++++++++--------
|
||||
3 files changed, 27 insertions(+), 10 deletions(-)
|
||||
|
||||
--- a/coregrind/m_debuginfo/debuginfo.c
|
||||
+++ b/coregrind/m_debuginfo/debuginfo.c
|
||||
@@ -957,9 +957,7 @@
|
||||
# error "Unknown platform"
|
||||
# endif
|
||||
|
||||
-# if defined(VGP_x86_darwin) && DARWIN_VERS >= DARWIN_10_7
|
||||
is_ro_map = seg->hasR && !seg->hasW && !seg->hasX;
|
||||
-# endif
|
||||
|
||||
# if defined(VGO_solaris)
|
||||
is_rx_map = seg->hasR && seg->hasX && !seg->hasW;
|
||||
--- a/coregrind/m_debuginfo/readelf.c
|
||||
+++ b/coregrind/m_debuginfo/readelf.c
|
||||
@@ -1785,7 +1785,7 @@
|
||||
Bool loaded = False;
|
||||
for (j = 0; j < VG_(sizeXA)(di->fsm.maps); j++) {
|
||||
const DebugInfoMapping* map = VG_(indexXA)(di->fsm.maps, j);
|
||||
- if ( (map->rx || map->rw)
|
||||
+ if ( (map->rx || map->rw || map->ro)
|
||||
&& map->size > 0 /* stay sane */
|
||||
&& a_phdr.p_offset >= map->foff
|
||||
&& a_phdr.p_offset < map->foff + map->size
|
||||
@@ -1816,6 +1816,16 @@
|
||||
i, (UWord)item.bias);
|
||||
loaded = True;
|
||||
}
|
||||
+ if (map->ro
|
||||
+ && (a_phdr.p_flags & (PF_R | PF_W | PF_X))
|
||||
+ == PF_R) {
|
||||
+ item.exec = False;
|
||||
+ VG_(addToXA)(svma_ranges, &item);
|
||||
+ TRACE_SYMTAB(
|
||||
+ "PT_LOAD[%ld]: acquired as ro, bias 0x%lx\n",
|
||||
+ i, (UWord)item.bias);
|
||||
+ loaded = True;
|
||||
+ }
|
||||
}
|
||||
}
|
||||
if (!loaded) {
|
||||
@@ -2083,17 +2093,25 @@
|
||||
}
|
||||
}
|
||||
|
||||
- /* Accept .rodata where mapped as rx (data), even if zero-sized */
|
||||
+ /* Accept .rodata where mapped as rx or rw (data), even if zero-sized */
|
||||
if (0 == VG_(strcmp)(name, ".rodata")) {
|
||||
- if (inrx && !di->rodata_present) {
|
||||
- di->rodata_present = True;
|
||||
+ if (!di->rodata_present) {
|
||||
di->rodata_svma = svma;
|
||||
- di->rodata_avma = svma + inrx->bias;
|
||||
+ di->rodata_avma = svma;
|
||||
di->rodata_size = size;
|
||||
- di->rodata_bias = inrx->bias;
|
||||
di->rodata_debug_svma = svma;
|
||||
- di->rodata_debug_bias = inrx->bias;
|
||||
- /* NB was 'inrw' prior to r11794 */
|
||||
+ if (inrx) {
|
||||
+ di->rodata_avma += inrx->bias;
|
||||
+ di->rodata_bias = inrx->bias;
|
||||
+ di->rodata_debug_bias = inrx->bias;
|
||||
+ } else if (inrw) {
|
||||
+ di->rodata_avma += inrw->bias;
|
||||
+ di->rodata_bias = inrw->bias;
|
||||
+ di->rodata_debug_bias = inrw->bias;
|
||||
+ } else {
|
||||
+ BAD(".rodata");
|
||||
+ }
|
||||
+ di->rodata_present = True;
|
||||
TRACE_SYMTAB("acquiring .rodata svma = %#lx .. %#lx\n",
|
||||
di->rodata_svma,
|
||||
di->rodata_svma + di->rodata_size - 1);
|
||||
@@ -1,70 +0,0 @@
|
||||
Follow up for valgrind-3.13.0-accept-read-only-PT_LOAD-segments-and-rodata.patch.
|
||||
|
||||
From e752326cc050803c3bcfde1f8606bead66ff9642 Mon Sep 17 00:00:00 2001
|
||||
From: Julian Seward <jseward@acm.org>
|
||||
Date: Tue, 14 Aug 2018 10:13:46 +0200
|
||||
Subject: [PATCH] VG_(di_notify_mmap): once we've read debuginfo for an object,
|
||||
ignore all further mappings. n-i-bz.
|
||||
|
||||
Once we've read debuginfo for an object, ignore all further mappings. If we
|
||||
don't do that, applications that mmap in their own objects to inspect them for
|
||||
whatever reason, will cause "irrelevant" mappings to be recorded in the
|
||||
object's fsm.maps table. This can lead to serious problems later on.
|
||||
|
||||
This has become necessary because 64aa729bfae71561505a40c12755bd6b55bb3061 of
|
||||
Thu Jul 12 2018 (the fix for bug 395682) started recording readonly segments
|
||||
in the fsm.maps table, where before they were ignored.
|
||||
---
|
||||
coregrind/m_debuginfo/debuginfo.c | 29 ++++++++++++++++++++++++++++-
|
||||
1 file changed, 28 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/coregrind/m_debuginfo/debuginfo.c b/coregrind/m_debuginfo/debuginfo.c
|
||||
index c36d498..55c05cb 100644
|
||||
--- a/coregrind/m_debuginfo/debuginfo.c
|
||||
+++ b/coregrind/m_debuginfo/debuginfo.c
|
||||
@@ -1200,6 +1200,32 @@ ULong VG_(di_notify_mmap)( Addr a, Bool allow_SkFileV, Int use_fd )
|
||||
di = find_or_create_DebugInfo_for( filename );
|
||||
vg_assert(di);
|
||||
|
||||
+ /* Ignore all mappings for this filename once we've read debuginfo for it.
|
||||
+ This avoids the confusion of picking up "irrelevant" mappings in
|
||||
+ applications which mmap their objects outside of ld.so, for example
|
||||
+ Firefox's Gecko profiler.
|
||||
+
|
||||
+ What happens in that case is: the application maps the object "ro" for
|
||||
+ whatever reason. We record the mapping di->fsm.maps. The application
|
||||
+ later unmaps the object. However, the mapping is not removed from
|
||||
+ di->fsm.maps. Later, when some other (unrelated) object is mapped (via
|
||||
+ ld.so) into that address space, we first unload any debuginfo that has a
|
||||
+ mapping intersecting that area. That means we will end up incorrectly
|
||||
+ unloading debuginfo for the object with the "irrelevant" mappings. This
|
||||
+ causes various problems, not least because it can unload the debuginfo
|
||||
+ for libc.so and so cause malloc intercepts to become un-intercepted.
|
||||
+
|
||||
+ This fix assumes that all mappings made once we've read debuginfo for
|
||||
+ an object are irrelevant. I think that's OK, but need to check with
|
||||
+ mjw/thh. */
|
||||
+ if (di->have_dinfo) {
|
||||
+ if (debug)
|
||||
+ VG_(printf)("di_notify_mmap-4x: "
|
||||
+ "ignoring mapping because we already read debuginfo "
|
||||
+ "for DebugInfo* %p\n", di);
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
if (debug)
|
||||
VG_(printf)("di_notify_mmap-4: "
|
||||
"noting details in DebugInfo* at %p\n", di);
|
||||
@@ -1220,7 +1246,8 @@ ULong VG_(di_notify_mmap)( Addr a, Bool allow_SkFileV, Int use_fd )
|
||||
di->fsm.have_ro_map |= is_ro_map;
|
||||
|
||||
/* So, finally, are we in an accept state? */
|
||||
- if (di->fsm.have_rx_map && di->fsm.have_rw_map && !di->have_dinfo) {
|
||||
+ vg_assert(!di->have_dinfo);
|
||||
+ if (di->fsm.have_rx_map && di->fsm.have_rw_map) {
|
||||
/* Ok, so, finally, we found what we need, and we haven't
|
||||
already read debuginfo for this object. So let's do so now.
|
||||
Yee-ha! */
|
||||
--
|
||||
2.9.3
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
See:
|
||||
https://bugs.gentoo.org/637488
|
||||
https://bugs.kde.org/show_bug.cgi?id=387686
|
||||
|
||||
commit 2b5eab6a8db1b0487a3ad7fc4e7eeda6d3513626
|
||||
Author: Mark Wielaard <mark@klomp.org>
|
||||
Date: Thu Jun 29 15:26:30 2017 +0000
|
||||
|
||||
memcheck/tests: Use ucontext_t instead of struct ucontext
|
||||
|
||||
glibc 2.26 does not expose struct ucontext anymore.
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@16457
|
||||
|
||||
diff --git a/memcheck/tests/linux/stack_changes.c b/memcheck/tests/linux/stack_changes.c
|
||||
index a978fc2b0..7f97b90a5 100644
|
||||
--- a/memcheck/tests/linux/stack_changes.c
|
||||
+++ b/memcheck/tests/linux/stack_changes.c
|
||||
@@ -10,7 +10,7 @@
|
||||
// This test is checking the libc context calls (setcontext, etc.) and
|
||||
// checks that Valgrind notices their stack changes properly.
|
||||
|
||||
-typedef struct ucontext mycontext;
|
||||
+typedef ucontext_t mycontext;
|
||||
|
||||
mycontext ctx1, ctx2, oldc;
|
||||
int count;
|
||||
@@ -1,27 +0,0 @@
|
||||
From: Ivo Raisr <ivosh@ivosh.net>
|
||||
Date: Thu, 3 Aug 2017 05:22:01 +0000 (+0000)
|
||||
Subject: Fix handling command line option --xml-socket.
|
||||
X-Git-Url: https://sourceware.org/git/?p=valgrind.git;a=commitdiff_plain;h=34dd8493de39314033509bb7ad62673f33dcf3db
|
||||
|
||||
Fix handling command line option --xml-socket.
|
||||
Fixes BZ#382998
|
||||
Patch by: Orgad Shaneh <orgads@gmail.com>
|
||||
|
||||
|
||||
|
||||
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@16467
|
||||
---
|
||||
|
||||
diff --git a/coregrind/m_libcprint.c b/coregrind/m_libcprint.c
|
||||
index d66c67d..f6ba202 100644
|
||||
--- a/coregrind/m_libcprint.c
|
||||
+++ b/coregrind/m_libcprint.c
|
||||
@@ -526,7 +526,7 @@ void VG_(init_log_xml_sinks)(VgLogTo log_to, VgLogTo xml_to,
|
||||
break;
|
||||
|
||||
case VgLogTo_Socket:
|
||||
- log_fd = prepare_sink_socket(VG_(clo_xml_fname_unexpanded),
|
||||
+ xml_fd = prepare_sink_socket(VG_(clo_xml_fname_unexpanded),
|
||||
&VG_(xml_output_sink), True);
|
||||
break;
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
diff -Naur valgrind-3.7.0.orig//Makefile.all.am valgrind-3.7.0/Makefile.all.am
|
||||
--- valgrind-3.7.0.orig//Makefile.all.am 2011-10-26 17:24:45.000000000 -0400
|
||||
+++ valgrind-3.7.0/Makefile.all.am 2011-11-10 16:18:18.000000000 -0500
|
||||
@@ -82,7 +82,7 @@
|
||||
# performance and get whatever useful warnings we can out of gcc.
|
||||
# -fno-builtin is important for defeating LLVM's idiom recognition
|
||||
# that somehow causes VG_(memset) to get into infinite recursion.
|
||||
-AM_CFLAGS_BASE = \
|
||||
+AM_CFLAGS_BASE = -fno-stack-protector \
|
||||
-O2 -g \
|
||||
-Wall \
|
||||
-Wmissing-prototypes \
|
||||
Reference in New Issue
Block a user