You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
1
|
2
(2) |
3
(7) |
|
4
|
5
(11) |
6
(13) |
7
(7) |
8
(5) |
9
(12) |
10
(19) |
|
11
(12) |
12
(7) |
13
(14) |
14
(8) |
15
(5) |
16
(5) |
17
(7) |
|
18
(12) |
19
(14) |
20
(12) |
21
(8) |
22
(4) |
23
(4) |
24
|
|
25
(11) |
26
(17) |
27
(15) |
28
(10) |
29
(19) |
30
(18) |
|
|
From: Maynard J. <may...@us...> - 2011-09-27 23:26:25
|
Julian Seward wrote: > >>> Getting back to this issue after being pulled away last week on another >>> project. I bisected as you suggested and found that r11755 is the >>> culprit (committed on May 15). Any thoughts? >> >> I've reviewed the changes in that patch but couldn't find anything >> obvious that would break stack walking. > > Yeah, I also looked at 11755 and came to the same conclusion as Bart. > Are you 110% it was 11755 that caused the change? Well, maybe my bisecting method was flawed. The two sets of revision tags (one for vex and one for valgrind) is a bit confusing to me. There's probably a more clever way of doing a checkout than the way I did it. I tried using a data spec, but that didn't work. svn checked out the valgrind base from that date (evidenced by the rev #), but the vex part checked out was the most current rev #! So rather than beat my head against a wall, I just did sort of a brute force method. Here are the steps I performed: svn co -r2151 svn://svn.valgrind.org/vex/trunk VEX svn co -r11754 svn://svn.valgrind.org/valgrind/trunk valg_svn_r11754 rm -rf valg_svn_r11754/VEX cp -r VEX valg_svn_r11754/ svn co -r11755 svn://svn.valgrind.org/valgrind/trunk valg_svn_r11755 rm -rf valg_svn_r11755/VEX cp -r VEX valg_svn_r11755/ -Maynard > > J |
|
From: Christian B. <bor...@de...> - 2011-09-27 20:34:33
|
Nightly build on sless390 ( SUSE Linux Enterprise Server 11 SP1 gcc 4.3.4 on z196 (s390x) ) Started at 2011-09-27 22:05:01 CEST Ended at 2011-09-27 22:34:23 CEST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 499 tests, 8 stderr failures, 0 stdout failures, 8 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcbreak (stderrB) gdbserver_tests/mcclean_after_fork (stderrB) gdbserver_tests/mcleak (stderrB) gdbserver_tests/mcmain_pic (stderrB) gdbserver_tests/mcvabits (stderrB) gdbserver_tests/mssnapshot (stderrB) gdbserver_tests/nlpasssigalrm (stderrB) gdbserver_tests/nlsigvgdb (stderrB) memcheck/tests/err_disable3 (stderr) memcheck/tests/err_disable4 (stderr) memcheck/tests/linux/timerfd-syscall (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) drd/tests/tc04_free_lock (stderr) drd/tests/tc09_bad_unlock (stderr) |
|
From: Christian B. <bor...@de...> - 2011-09-27 20:15:19
|
Nightly build on fedora390 ( Fedora 13/14/15 mix with gcc 3.5.3 on z196 (s390x) ) Started at 2011-09-27 21:45:01 CEST Ended at 2011-09-27 22:15:34 CEST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 498 tests, 8 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable3 (stderr) memcheck/tests/err_disable4 (stderr) memcheck/tests/linux/timerfd-syscall (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) drd/tests/tc04_free_lock (stderr) drd/tests/tc09_bad_unlock (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 498 tests, 8 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable3 (stderr) memcheck/tests/err_disable4 (stderr) memcheck/tests/linux/timerfd-syscall (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) drd/tests/tc04_free_lock (stderr) drd/tests/tc08_hbl2 (stdout) drd/tests/tc09_bad_unlock (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Tue Sep 27 22:00:03 2011 --- new.short Tue Sep 27 22:15:34 2011 *************** *** 8,10 **** ! == 498 tests, 8 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable3 (stderr) --- 8,10 ---- ! == 498 tests, 8 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable3 (stderr) *************** *** 16,18 **** drd/tests/tc04_free_lock (stderr) - drd/tests/tc08_hbl2 (stdout) drd/tests/tc09_bad_unlock (stderr) --- 16,17 ---- |
|
From: <sv...@va...> - 2011-09-27 11:58:50
|
Author: sewardj
Date: 2011-09-27 12:54:01 +0100 (Tue, 27 Sep 2011)
New Revision: 12061
Log:
Update how-to-build documentation.
Modified:
trunk/README.android
Modified: trunk/README.android
===================================================================
--- trunk/README.android 2011-09-27 11:40:24 UTC (rev 12060)
+++ trunk/README.android 2011-09-27 11:54:01 UTC (rev 12061)
@@ -1,5 +1,6 @@
-How to cross-compile for Android.
+How to cross-compile for Android. These notes were last updated on
+27 Sept 2011, for Valgrind SVN revision 12060/2209.
This is known to work at least for Android 2.3.4 running on a (rooted,
AOSP build) Nexus S. It has also worked in the past on a
@@ -8,21 +9,25 @@
tested. Feedback is welcome.
You need the android-ndk-r6 native development kit. Install it
-somewhere. Then do this:
+somewhere. Doesn't matter where. Then do this:
-# Modify this (obviously).
+# Modify this (obviously). Note, this "export" command is only done
+# so as to reduce the amount of typing required. None of the commands
+# below read it as part of their operation.
#
export NDKROOT=/path/to/android-ndk-r6
-# And then (unmodified)
+# Modify this too. Tell the build system which Android hardware you
+# are building for. It needs to know this so it can compile in
+# support for the right Android-hw-specific ioctls. (sigh.) As with
+# NDKROOT above, this is merely to avoid repeated typing; none of the
+# commands read it.
#
-export AR=$NDKROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-ar
-export CPP=$NDKROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-cpp
-export LD=$NDKROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-ld
-export CXX=$NDKROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-g++
-export CC=$NDKROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc
+# Currently the only supported value is: nexus_s
+#
+export HWKIND=nexus_t # Samsung Nexus S
# Then cd to the root of your Valgrind source tree.
@@ -30,12 +35,26 @@
cd /path/to/valgrind/source/tree
+# After this point, you don't need to modify anything; just copy and
+# paste the commands below.
+
+
+# Set up toolchain paths.
+#
+export AR=$NDKROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-ar
+export LD=$NDKROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-ld
+export CC=$NDKROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc
+
+
# Do configuration stuff. Don't mess with the --prefix in the
# configure command below, even if you think it's wrong.
+# You may need to set the --with-tmpdir path to something
+# different if /sdcard doesn't works on the device -- this is
+# a known cause of difficulties.
./autogen.sh
-CPPFLAGS="--sysroot=$NDKROOT/platforms/android-3/arch-arm" \
+CPPFLAGS="--sysroot=$NDKROOT/platforms/android-3/arch-arm -DANDROID_HARDWARE_$HWKIND" \
CFLAGS="--sysroot=$NDKROOT/platforms/android-3/arch-arm" \
./configure --prefix=/data/local/Inst \
--host=armv7-unknown-linux --target=armv7-unknown-linux \
|
|
From: <sv...@va...> - 2011-09-27 11:45:15
|
Author: sewardj
Date: 2011-09-27 12:40:24 +0100 (Tue, 27 Sep 2011)
New Revision: 12060
Log:
Add support for hardware-specific ioctl wrappers on Android,
starting with those required for the graphics hardware on
Nexus S.
Modified:
trunk/coregrind/m_syswrap/syswrap-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c 2011-09-27 10:26:52 UTC (rev 12059)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c 2011-09-27 11:40:24 UTC (rev 12060)
@@ -5135,6 +5135,88 @@
POST(sys_ioctl)
{
vg_assert(SUCCESS);
+
+ /* --- BEGIN special IOCTL handlers for specific Android hardware --- */
+
+# if defined(VGPV_arm_linux_android)
+
+# if defined(ANDROID_HARDWARE_nexus_s)
+
+ /* BEGIN undocumented ioctls for the graphics hardware (??)
+ (libpvr) on Nexus S */
+ if (ARG2 >= 0xC01C6700 && ARG2 <= 0xC01C67FF && ARG3 >= 0x1000) {
+ /* What's going on here: there appear to be a bunch of ioctls of
+ the form 0xC01C67xx which are undocumented, and if unhandled
+ give rise to a vast number of false positives in Memcheck.
+
+ The "normal" intrepretation of an ioctl of this form would be
+ that the 3rd arg is a pointer to an area of size 0x1C (28
+ bytes) which is filled in by the kernel. Hence you might
+ think that "POST_MEM_WRITE(ARG3, 28)" would fix it. But it
+ doesn't.
+
+ It requires POST_MEM_WRITE(ARG3, 256) to silence them. One
+ interpretation of this is that ARG3 really does point to a 28
+ byte struct, but inside that are pointers to other areas also
+ filled in by the kernel. If these happen to be allocated
+ just back up the stack then the 256 byte paint might cover
+ them too, somewhat indiscriminately.
+
+ By printing out ARG3 and also the 28 bytes that it points at,
+ it's possible to guess that the 7 word structure has this form
+
+ 0 1 2 3 4 5 6
+ ioctl-number 0x1C ptr1 ptr1size ptr2 ptr2size aBitMask
+
+ Unfortunately that doesn't seem to work for some reason, so
+ stay with the blunt-instrument approach for the time being.
+ */
+ if (1) {
+ /* blunt-instrument approach */
+ if (0) VG_(printf)("QQQQQQQQQQ c01c quick hack actioned (%08lx, %08lx)\n", ARG2, ARG3);
+ POST_MEM_WRITE(ARG3, 256);
+ } else {
+ /* be a bit more sophisticated */
+ if (0) VG_(printf)("QQQQQQQQQQ c01c quick hack actioned (%08lx, %08lx) (fancy)\n", ARG2, ARG3);
+ POST_MEM_WRITE(ARG3, 28);
+ UInt* word = (UInt*)ARG3;
+ if (word && word[2] && word[3] < 0x200/*stay sane*/)
+ POST_MEM_WRITE(word[2], word[3]); // "ptr1"
+ if (word && word[4] && word[5] < 0x200/*stay sane*/)
+ POST_MEM_WRITE(word[4], word[5]); // "ptr2"
+ }
+ if (0) {
+ Int i;
+ VG_(printf)("QQQQQQQQQQ ");
+ for (i = 0; i < (0x1C/4); i++) {
+ VG_(printf)("%08x ", ((UInt*)(ARG3))[i]);
+ }
+ VG_(printf)("\n");
+ }
+ return;
+ }
+ /* END Nexus S specific ioctls */
+
+# else /* no ANDROID_HARDWARE_anything defined */
+
+# warning ""
+# warning "You need to define one the CPP symbols ANDROID_HARDWARE_blah"
+# warning "at configure time, to tell Valgrind what hardware you are"
+# warning "building for. Currently known values are"
+# warning ""
+# warning " ANDROID_HARDWARE_nexus_s Samsung Nexus S"
+# warning ""
+# warning "Make sure you exactly follow the steps in README.android."
+# warning ""
+# error "No CPP symbol ANDROID_HARDWARE_blah defined. Giving up."
+
+# endif /* cases for ANDROID_HARDWARE_blah */
+
+# endif /* defined(VGPV_arm_linux_android) */
+
+ /* --- END special IOCTL handlers for specific Android hardware --- */
+
+ /* --- normal handling --- */
switch (ARG2 /* request */) {
case VKI_TCSETS:
case VKI_TCSETSW:
|
|
From: <sv...@va...> - 2011-09-27 10:31:39
|
Author: sewardj
Date: 2011-09-27 11:26:52 +0100 (Tue, 27 Sep 2011)
New Revision: 12059
Log:
Android: add wrappers for ashmem and binder ioctls. From the AOSP
port of Valgrind.
Modified:
trunk/coregrind/m_syswrap/syswrap-linux.c
trunk/include/vki/vki-linux.h
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c 2011-09-27 10:24:52 UTC (rev 12058)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c 2011-09-27 10:26:52 UTC (rev 12059)
@@ -5032,6 +5032,74 @@
}
break;
+# if defined(VGPV_arm_linux_android)
+ /* ashmem */
+ case VKI_ASHMEM_GET_SIZE:
+ case VKI_ASHMEM_SET_SIZE:
+ case VKI_ASHMEM_GET_PROT_MASK:
+ case VKI_ASHMEM_SET_PROT_MASK:
+ case VKI_ASHMEM_GET_PIN_STATUS:
+ case VKI_ASHMEM_PURGE_ALL_CACHES:
+ break;
+ case VKI_ASHMEM_GET_NAME:
+ PRE_MEM_WRITE( "ioctl(ASHMEM_SET_NAME)", ARG3, VKI_ASHMEM_NAME_LEN );
+ break;
+ case VKI_ASHMEM_SET_NAME:
+ PRE_MEM_RASCIIZ( "ioctl(ASHMEM_SET_NAME)", ARG3);
+ break;
+ case VKI_ASHMEM_PIN:
+ case VKI_ASHMEM_UNPIN:
+ PRE_MEM_READ( "ioctl(ASHMEM_PIN|ASHMEM_UNPIN)",
+ ARG3, sizeof(struct vki_ashmem_pin) );
+ break;
+
+ /* binder */
+ case VKI_BINDER_WRITE_READ:
+ if (ARG3) {
+ struct vki_binder_write_read* bwr
+ = (struct vki_binder_write_read*)ARG3;
+
+ PRE_FIELD_READ("ioctl(BINDER_WRITE_READ).write_buffer",
+ bwr->write_buffer);
+ PRE_FIELD_READ("ioctl(BINDER_WRITE_READ).write_size",
+ bwr->write_size);
+ PRE_FIELD_READ("ioctl(BINDER_WRITE_READ).write_consumed",
+ bwr->write_consumed);
+ PRE_FIELD_READ("ioctl(BINDER_WRITE_READ).read_buffer",
+ bwr->read_buffer);
+ PRE_FIELD_READ("ioctl(BINDER_WRITE_READ).read_size",
+ bwr->read_size);
+ PRE_FIELD_READ("ioctl(BINDER_WRITE_READ).read_consumed",
+ bwr->read_consumed);
+
+ PRE_FIELD_WRITE("ioctl(BINDER_WRITE_READ).write_consumed",
+ bwr->write_consumed);
+ PRE_FIELD_WRITE("ioctl(BINDER_WRITE_READ).read_consumed",
+ bwr->read_consumed);
+
+ if (bwr->read_size)
+ PRE_MEM_WRITE("ioctl(BINDER_WRITE_READ).read_buffer[]",
+ (Addr)bwr->read_buffer, bwr->read_size);
+ if (bwr->write_size)
+ PRE_MEM_READ("ioctl(BINDER_WRITE_READ).write_buffer[]",
+ (Addr)bwr->write_buffer, bwr->write_size);
+ }
+ break;
+
+ case VKI_BINDER_SET_IDLE_TIMEOUT:
+ case VKI_BINDER_SET_MAX_THREADS:
+ case VKI_BINDER_SET_IDLE_PRIORITY:
+ case VKI_BINDER_SET_CONTEXT_MGR:
+ case VKI_BINDER_THREAD_EXIT:
+ break;
+ case VKI_BINDER_VERSION:
+ if (ARG3) {
+ struct vki_binder_version* bv = (struct vki_binder_version*)ARG3;
+ PRE_FIELD_WRITE("ioctl(BINDER_VERSION)", bv->protocol_version);
+ }
+ break;
+# endif /* defined(VGPV_arm_linux_android) */
+
default:
/* EVIOC* are variable length and return size written on success */
switch (ARG2 & ~(_VKI_IOC_SIZEMASK << _VKI_IOC_SIZESHIFT)) {
@@ -5847,6 +5915,49 @@
}
break;
+# if defined(VGPV_arm_linux_android)
+ /* ashmem */
+ case VKI_ASHMEM_GET_SIZE:
+ case VKI_ASHMEM_SET_SIZE:
+ case VKI_ASHMEM_GET_PROT_MASK:
+ case VKI_ASHMEM_SET_PROT_MASK:
+ case VKI_ASHMEM_GET_PIN_STATUS:
+ case VKI_ASHMEM_PURGE_ALL_CACHES:
+ case VKI_ASHMEM_SET_NAME:
+ case VKI_ASHMEM_PIN:
+ case VKI_ASHMEM_UNPIN:
+ break;
+ case VKI_ASHMEM_GET_NAME:
+ POST_MEM_WRITE( ARG3, VKI_ASHMEM_NAME_LEN );
+ break;
+
+ /* binder */
+ case VKI_BINDER_WRITE_READ:
+ if (ARG3) {
+ struct vki_binder_write_read* bwr
+ = (struct vki_binder_write_read*)ARG3;
+ POST_FIELD_WRITE(bwr->write_consumed);
+ POST_FIELD_WRITE(bwr->read_consumed);
+
+ if (bwr->read_size)
+ POST_MEM_WRITE((Addr)bwr->read_buffer, bwr->read_consumed);
+ }
+ break;
+
+ case VKI_BINDER_SET_IDLE_TIMEOUT:
+ case VKI_BINDER_SET_MAX_THREADS:
+ case VKI_BINDER_SET_IDLE_PRIORITY:
+ case VKI_BINDER_SET_CONTEXT_MGR:
+ case VKI_BINDER_THREAD_EXIT:
+ break;
+ case VKI_BINDER_VERSION:
+ if (ARG3) {
+ struct vki_binder_version* bv = (struct vki_binder_version*)ARG3;
+ POST_FIELD_WRITE(bv->protocol_version);
+ }
+ break;
+# endif /* defined(VGPV_arm_linux_android) */
+
default:
/* EVIOC* are variable length and return size written on success */
switch (ARG2 & ~(_VKI_IOC_SIZEMASK << _VKI_IOC_SIZESHIFT)) {
Modified: trunk/include/vki/vki-linux.h
===================================================================
--- trunk/include/vki/vki-linux.h 2011-09-27 10:24:52 UTC (rev 12058)
+++ trunk/include/vki/vki-linux.h 2011-09-27 10:26:52 UTC (rev 12059)
@@ -214,6 +214,7 @@
//----------------------------------------------------------------------
typedef __vki_s32 vki_int32_t;
+typedef __vki_s64 vki_int64_t;
typedef __vki_u8 vki_uint8_t;
typedef __vki_u16 vki_uint16_t;
@@ -2761,6 +2762,67 @@
#define VKI_FIOQSIZE 0x5460 /* Value differs on some platforms */
#endif
+//----------------------------------------------------------------------
+// From kernel/common/include/linux/ashmem.h
+//----------------------------------------------------------------------
+
+#if defined(VGPV_arm_linux_android)
+
+#define VKI_ASHMEM_NAME_LEN 256
+
+#define VKI_ASHMEM_NAME_DEF "dev/ashmem"
+
+#define VKI_ASHMEM_NOT_PURGED 0
+#define VKI_ASHMEM_WAS_PURGED 1
+
+#define VKI_ASHMEM_IS_UNPINNED 0
+#define VKI_ASHMEM_IS_PINNED 1
+
+struct vki_ashmem_pin {
+ vki_uint32_t offset;
+ vki_uint32_t len;
+};
+
+#define __VKI_ASHMEMIOC 0x77
+
+#define VKI_ASHMEM_SET_NAME _VKI_IOW(__VKI_ASHMEMIOC, 1, char[VKI_ASHMEM_NAME_LEN])
+#define VKI_ASHMEM_GET_NAME _VKI_IOR(__VKI_ASHMEMIOC, 2, char[VKI_ASHMEM_NAME_LEN])
+#define VKI_ASHMEM_SET_SIZE _VKI_IOW(__VKI_ASHMEMIOC, 3, vki_size_t)
+#define VKI_ASHMEM_GET_SIZE _VKI_IO(__VKI_ASHMEMIOC, 4)
+#define VKI_ASHMEM_SET_PROT_MASK _VKI_IOW(__VKI_ASHMEMIOC, 5, unsigned long)
+#define VKI_ASHMEM_GET_PROT_MASK _VKI_IO(__VKI_ASHMEMIOC, 6)
+#define VKI_ASHMEM_PIN _VKI_IOW(__VKI_ASHMEMIOC, 7, struct vki_ashmem_pin)
+#define VKI_ASHMEM_UNPIN _VKI_IOW(__VKI_ASHMEMIOC, 8, struct vki_ashmem_pin)
+#define VKI_ASHMEM_GET_PIN_STATUS _VKI_IO(__VKI_ASHMEMIOC, 9)
+#define VKI_ASHMEM_PURGE_ALL_CACHES _VKI_IO(__VKI_ASHMEMIOC, 10)
+
+//----------------------------------------------------------------------
+// From kernel/common/include/linux/binder.h
+//----------------------------------------------------------------------
+
+struct vki_binder_write_read {
+ signed long write_size;
+ signed long write_consumed;
+ unsigned long write_buffer;
+ signed long read_size;
+ signed long read_consumed;
+ unsigned long read_buffer;
+};
+
+struct vki_binder_version {
+ signed long protocol_version;
+};
+
+#define VKI_BINDER_WRITE_READ _VKI_IOWR('b', 1, struct vki_binder_write_read)
+#define VKI_BINDER_SET_IDLE_TIMEOUT _VKI_IOW('b', 3, vki_int64_t)
+#define VKI_BINDER_SET_MAX_THREADS _VKI_IOW('b', 5, vki_size_t)
+#define VKI_BINDER_SET_IDLE_PRIORITY _VKI_IOW('b', 6, int)
+#define VKI_BINDER_SET_CONTEXT_MGR _VKI_IOW('b', 7, int)
+#define VKI_BINDER_THREAD_EXIT _VKI_IOW('b', 8, int)
+#define VKI_BINDER_VERSION _VKI_IOWR('b', 9, struct vki_binder_version)
+
+#endif /* defined(VGPV_arm_linux_android) */
+
#endif // __VKI_LINUX_H
/*--------------------------------------------------------------------*/
|
|
From: <sv...@va...> - 2011-09-27 10:29:41
|
Author: sewardj
Date: 2011-09-27 11:24:52 +0100 (Tue, 27 Sep 2011)
New Revision: 12058
Log:
Un-break debuginfo image finding on non-Android Linuxes following
r12057, duh.
Modified:
trunk/coregrind/m_debuginfo/readelf.c
Modified: trunk/coregrind/m_debuginfo/readelf.c
===================================================================
--- trunk/coregrind/m_debuginfo/readelf.c 2011-09-27 09:26:39 UTC (rev 12057)
+++ trunk/coregrind/m_debuginfo/readelf.c 2011-09-27 10:24:52 UTC (rev 12058)
@@ -1082,6 +1082,8 @@
/*OUT*/Addr* dimage,
/*OUT*/SizeT* n_dimage )
{
+ vg_assert(*dimage == 0 && *n_dimage == 0);
+
# if !defined(VGPV_arm_linux_android)
return False; /* we don't know narfink */
@@ -1148,18 +1150,23 @@
}
-/*
- * Try to find a separate debug file for a given object file.
- */
+/* Try to find a separate debug file for a given object file. If
+ found, it will be mapped in and the address and size returned in
+ *dimage and *n_dimage. If not, *dimage and *n_dimage will be
+ unchanged. The caller should set them to zero before the call. */
static
-Addr find_debug_file( struct _DebugInfo* di,
+void find_debug_file( struct _DebugInfo* di,
Char* objpath, Char* buildid,
Char* debugname, UInt crc,
- /*OUT*/UWord* size )
+ /*OUT*/Addr* dimage,
+ /*OUT*/SizeT* n_dimage )
{
- Char *debugpath = NULL;
- Addr addr = 0;
+ Char* debugpath = NULL;
+ Addr addr = 0;
+ UWord size = 0;
+ vg_assert(*dimage == 0 && *n_dimage == 0);
+
if (buildid != NULL) {
debugpath = ML_(dinfo_zalloc)(
"di.fdf.1",
@@ -1168,7 +1175,7 @@
VG_(sprintf)(debugpath, "/usr/lib/debug/.build-id/%c%c/%s.debug",
buildid[0], buildid[1], buildid + 2);
- if ((addr = open_debug_file(debugpath, buildid, 0, size)) == 0) {
+ if ((addr = open_debug_file(debugpath, buildid, 0, &size)) == 0) {
ML_(dinfo_free)(debugpath);
debugpath = NULL;
}
@@ -1187,25 +1194,25 @@
VG_(sprintf)(debugpath, "%s/%s", objdir, debugname);
- if ((addr = open_debug_file(debugpath, NULL, crc, size)) == 0) {
+ if ((addr = open_debug_file(debugpath, NULL, crc, &size)) == 0) {
VG_(sprintf)(debugpath, "%s/.debug/%s", objdir, debugname);
- if ((addr = open_debug_file(debugpath, NULL, crc, size)) == 0) {
+ if ((addr = open_debug_file(debugpath, NULL, crc, &size)) == 0) {
VG_(sprintf)(debugpath, "/usr/lib/debug%s/%s", objdir, debugname);
- addr = open_debug_file(debugpath, NULL, crc, size);
+ addr = open_debug_file(debugpath, NULL, crc, &size);
}
}
ML_(dinfo_free)(objdir);
}
- if (addr) {
+ if (addr > 0 && size > 0) {
TRACE_SYMTAB("\n");
TRACE_SYMTAB("------ Found a debuginfo file: %s\n", debugpath);
+ *dimage = addr;
+ *n_dimage = size;
}
ML_(dinfo_free)(debugpath);
-
- return addr;
}
@@ -2214,12 +2221,12 @@
crc = *(UInt *)(debuglink_img + crc_offset);
/* See if we can find a matching debug file */
- dimage = find_debug_file( di, di->fsm.filename, buildid,
- debuglink_img, crc, &n_dimage );
+ find_debug_file( di, di->fsm.filename, buildid,
+ debuglink_img, crc, &dimage, &n_dimage );
} else {
/* See if we can find a matching debug file */
- dimage = find_debug_file( di, di->fsm.filename, buildid,
- NULL, 0, &n_dimage );
+ find_debug_file( di, di->fsm.filename, buildid,
+ NULL, 0, &dimage, &n_dimage );
}
}
|
|
From: <sv...@va...> - 2011-09-27 09:31:29
|
Author: sewardj
Date: 2011-09-27 10:26:39 +0100 (Tue, 27 Sep 2011)
New Revision: 12057
Log:
Add a facility for ad-hoc location of debuginfo files on Android.
All other platforms are unaffected.
Modified:
trunk/coregrind/m_debuginfo/readelf.c
Modified: trunk/coregrind/m_debuginfo/readelf.c
===================================================================
--- trunk/coregrind/m_debuginfo/readelf.c 2011-09-27 08:57:41 UTC (rev 12056)
+++ trunk/coregrind/m_debuginfo/readelf.c 2011-09-27 09:26:39 UTC (rev 12057)
@@ -1071,6 +1071,83 @@
return sr_Res(sres);
}
+
+/* Try to find and map in a debuginfo file by some totally ad-hoc
+ scheme. If successful, set *dimage and *n_dimage to point to the
+ image, and return True, else return False. A temporary hack for
+ Android; does nothing on any other platform. */
+static
+Bool find_ad_hoc_debug_image( struct _DebugInfo* di,
+ Char* filename,
+ /*OUT*/Addr* dimage,
+ /*OUT*/SizeT* n_dimage )
+{
+# if !defined(VGPV_arm_linux_android)
+ return False; /* we don't know narfink */
+
+# else /* android specific hacks; look away now. */
+
+ /* The deal is: if we're looking for for a debuginfo file for some
+ object /system/blah (where blah can be any path), see if we can
+ find the file /sdcard/symbols/system/blah. So for example it
+ produces the following mappings, both of which are important for
+ Memcheck:
+
+ /system/bin/linker --> /sdcard/symbols/system/bin/linker
+ /system/lib/libc.so --> /sdcard/symbols/system/lib/libc.so
+
+ These /symbols files come from the AOSP build tree for your
+ device, for example out/target/product/crespo/symbols/system
+ (for a Nexus S), so one simple thing you can do is take the tree
+ rooted at out/target/product/crespo/symbols/system on the host
+ and park it at /sdcard/symbols/system on the device. Then,
+ assuming it matches what's actually running on the device,
+ you'll have full debuginfo for all the libraries on the device.
+
+ But beware: there is no checking that the debuginfo file, if
+ found, matches the main file in any way.
+ */
+ if (0 != VG_(strncmp)(filename, "/system/", 8))
+ return False;
+
+ HChar* nm = ML_(dinfo_zalloc)("di.fahdi.1",
+ 50 + VG_(strlen)(filename));
+ VG_(sprintf)(nm, "/sdcard/symbols%s", filename);
+
+ SysRes fd = VG_(open)(nm, VKI_O_RDONLY, 0);
+ if (sr_isError(fd)) goto fail;
+
+ struct vg_stat stat_buf;
+ if (VG_(fstat)(sr_Res(fd), &stat_buf) != 0) {
+ VG_(close)(sr_Res(fd));
+ goto fail;
+ }
+
+ *n_dimage = stat_buf.size;
+
+ SysRes sres = VG_(am_mmap_file_float_valgrind)
+ ( *n_dimage, VKI_PROT_READ, sr_Res(fd), 0 );
+
+ VG_(close)(sr_Res(fd));
+ if (sr_isError(sres))
+ goto fail;
+
+ *dimage = sr_Res(sres);
+
+ if (VG_(clo_verbosity) > 1)
+ VG_(dmsg)(" Using debuginfo from %s\n", nm);
+
+ ML_(dinfo_free)(nm);
+ return True;
+
+ fail:
+ if (nm) ML_(dinfo_free)(nm);
+ return False;
+
+# endif
+}
+
+
/*
* Try to find a separate debug file for a given object file.
*/
@@ -2151,6 +2228,15 @@
buildid = NULL; /* paranoia */
}
+ /* Still no luck? Let's have one last roll of the dice. */
+ if (dimage == 0) {
+ vg_assert(n_dimage == 0);
+ Bool found = find_ad_hoc_debug_image( di, di->fsm.filename,
+ &dimage, &n_dimage );
+ if (found)
+ vg_assert(dimage != 0);
+ }
+
/* TOPLEVEL */
/* If we were successful in finding a debug image, pull various
SVMA/bias/size and image addresses out of it. */
|
|
From: <sv...@va...> - 2011-09-27 09:02:28
|
Author: sewardj
Date: 2011-09-27 09:57:41 +0100 (Tue, 27 Sep 2011)
New Revision: 12056
Log:
ML_(read_elf_debug_info): (no functional change, I hope): fix up
confusing control flow, by separating the logic for "is there a
debuginfo file to be found?" from that of "if a debuginfo file was
found, let's record certain facts (section offsets etc) about it."
This makes it possible to add arbitrary other schemes for finding
debuginfo files without further complicating the existing control flow.
Modified:
trunk/coregrind/m_debuginfo/readelf.c
Modified: trunk/coregrind/m_debuginfo/readelf.c
===================================================================
--- trunk/coregrind/m_debuginfo/readelf.c 2011-09-27 08:06:14 UTC (rev 12055)
+++ trunk/coregrind/m_debuginfo/readelf.c 2011-09-27 08:57:41 UTC (rev 12056)
@@ -1174,6 +1174,7 @@
return 0;
}
+
/* The central function for reading ELF debug info. For the
object/exe specified by the DebugInfo, find ELF sections, then read
the symbols, line number info, file name info, CFA (stack-unwind
@@ -1189,6 +1190,13 @@
Bool ML_(read_elf_debug_info) ( struct _DebugInfo* di )
{
+ /* This function is long and complex. That, and the presence of
+ nested scopes, means it's not always easy to see which parts are
+ in loops/conditionals and which aren't. To make it easier to
+ follow, points executed exactly once -- that is, those which are
+ the top level of the function -- are marked TOPLEVEL.
+ */
+ /* TOPLEVEL */
Bool res, ok;
SysRes fd, sres;
Word i;
@@ -1386,6 +1394,7 @@
TRACE_SYMTAB("shdr: string table at %p\n", shdr_strtab_img );
+ /* TOPLEVEL */
/* Look through the program header table, and:
- copy information from suitable PT_LOAD entries into rx[] or
rw[]
@@ -1395,6 +1404,7 @@
TRACE_SYMTAB("------ Examining the program headers ------\n");
vg_assert(di->soname == NULL);
{
+ /* TOPLEVEL */
ElfXX_Addr prev_svma = 0;
for (i = 0; i < phdr_nent; i++) {
@@ -1501,8 +1511,12 @@
}
}
} /* for (i = 0; i < phdr_nent; i++) ... */
- } /* look for the soname */
+ /* TOPLEVEL */
+ } /* examine the program headers (local scope) */
+
+ /* TOPLEVEL */
+
/* If, after looking at all the program headers, we still didn't
find a soname, add a fake one. */
if (di->soname == NULL) {
@@ -1539,6 +1553,7 @@
i, rw[i].svma_base, rw[i].svma_limit - 1, rw[i].bias );
}
+ /* TOPLEVEL */
/* Iterate over section headers */
for (i = 0; i < shdr_nent; i++) {
ElfXX_Shdr* shdr = INDEX_BIS( shdr_img, i, shdr_ent_szB );
@@ -1941,8 +1956,9 @@
# undef BAD
- }
+ } /* iterate over the section headers */
+ /* TOPLEVEL */
if (0) VG_(printf)("YYYY text_: avma %#lx size %ld bias %#lx\n",
di->text_avma, di->text_size, di->text_bias);
@@ -1955,12 +1971,14 @@
TRACE_SYMTAB("------ Finding image addresses "
"for debug-info sections ------\n");
+ /* TOPLEVEL */
/* Find interesting sections, read the symbol table(s), read any debug
information */
{
/* IMAGE addresses: pointers to start of sections in the
transiently loaded oimage, not in the fragments of the file
mapped in by the guest's dynamic linker. */
+ /* TOPLEVEL */
UChar* strtab_img = NULL; /* .strtab */
ElfXX_Sym* symtab_img = NULL; /* .symtab */
UChar* dynstr_img = NULL; /* .dynstr */
@@ -2022,6 +2040,7 @@
the entire object file is transiently mapped aboard for
inspection, it's always safe to inspect that area. */
+ /* TOPLEVEL */
/* Iterate over section headers (again) */
for (i = 0; i < ehdr_img->e_shnum; i++) {
@@ -2095,8 +2114,13 @@
# undef FINDX
# undef FIND
- }
+ } /* Iterate over section headers (again) */
+ /* TOPLEVEL */
+ /* Now, see if we can find a debuginfo object, and if so map it in, and
+ put the mapping address and size in dimage and n_dimage. */
+ vg_assert(dimage == 0 && n_dimage == 0);
+
/* Look for a build-id */
buildid = find_buildid(oimage, n_oimage);
@@ -2120,202 +2144,209 @@
dimage = find_debug_file( di, di->fsm.filename, buildid,
NULL, 0, &n_dimage );
}
+ }
+ if (buildid) {
ML_(dinfo_free)(buildid);
+ buildid = NULL; /* paranoia */
+ }
- if (dimage != 0
- && n_dimage >= sizeof(ElfXX_Ehdr)
- && ML_(is_elf_object_file)((void*)dimage, n_dimage)) {
+ /* TOPLEVEL */
+ /* If we were successful in finding a debug image, pull various
+ SVMA/bias/size and image addresses out of it. */
+ if (dimage != 0
+ && n_dimage >= sizeof(ElfXX_Ehdr)
+ && ML_(is_elf_object_file)((void*)dimage, n_dimage)) {
- /* Pull out and validate program header and section header info */
- ElfXX_Ehdr* ehdr_dimg = (ElfXX_Ehdr*)dimage;
- ElfXX_Phdr* phdr_dimg = (ElfXX_Phdr*)( ((UChar*)ehdr_dimg)
+ /* Pull out and validate program header and section header info */
+ ElfXX_Ehdr* ehdr_dimg = (ElfXX_Ehdr*)dimage;
+ ElfXX_Phdr* phdr_dimg = (ElfXX_Phdr*)( ((UChar*)ehdr_dimg)
+ ehdr_dimg->e_phoff );
- UWord phdr_dnent = ehdr_dimg->e_phnum;
- UWord phdr_dent_szB = ehdr_dimg->e_phentsize;
- ElfXX_Shdr* shdr_dimg = (ElfXX_Shdr*)( ((UChar*)ehdr_dimg)
+ UWord phdr_dnent = ehdr_dimg->e_phnum;
+ UWord phdr_dent_szB = ehdr_dimg->e_phentsize;
+ ElfXX_Shdr* shdr_dimg = (ElfXX_Shdr*)( ((UChar*)ehdr_dimg)
+ ehdr_dimg->e_shoff );
- UWord shdr_dnent = ehdr_dimg->e_shnum;
- UWord shdr_dent_szB = ehdr_dimg->e_shentsize;
- UChar* shdr_strtab_dimg = NULL;
+ UWord shdr_dnent = ehdr_dimg->e_shnum;
+ UWord shdr_dent_szB = ehdr_dimg->e_shentsize;
+ UChar* shdr_strtab_dimg = NULL;
- /* SVMAs covered by rx and rw segments and corresponding bias. */
- /* Addr rx_dsvma_base = 0; */ /* UNUSED */
- Addr rx_dsvma_limit = 0;
- PtrdiffT rx_dbias = 0;
- /* Addr rw_dsvma_base = 0; */ /* UNUSED */
- Addr rw_dsvma_limit = 0;
- PtrdiffT rw_dbias = 0;
+ /* SVMAs covered by rx and rw segments and corresponding bias. */
+ /* Addr rx_dsvma_base = 0; */ /* UNUSED */
+ Addr rx_dsvma_limit = 0;
+ PtrdiffT rx_dbias = 0;
+ /* Addr rw_dsvma_base = 0; */ /* UNUSED */
+ Addr rw_dsvma_limit = 0;
+ PtrdiffT rw_dbias = 0;
- Bool need_symtab, need_stabs, need_dwarf2, need_dwarf1;
+ Bool need_symtab, need_stabs, need_dwarf2, need_dwarf1;
- if (phdr_dnent == 0
- || !contained_within(
- dimage, n_dimage,
- (Addr)phdr_dimg, phdr_dnent * phdr_dent_szB)) {
- ML_(symerr)(di, True,
- "Missing or invalid ELF Program Header Table"
- " (debuginfo file)");
- goto out;
- }
+ if (phdr_dnent == 0
+ || !contained_within(
+ dimage, n_dimage,
+ (Addr)phdr_dimg, phdr_dnent * phdr_dent_szB)) {
+ ML_(symerr)(di, True,
+ "Missing or invalid ELF Program Header Table"
+ " (debuginfo file)");
+ goto out;
+ }
- if (shdr_dnent == 0
- || !contained_within(
- dimage, n_dimage,
- (Addr)shdr_dimg, shdr_dnent * shdr_dent_szB)) {
- ML_(symerr)(di, True,
- "Missing or invalid ELF Section Header Table"
- " (debuginfo file)");
- goto out;
- }
+ if (shdr_dnent == 0
+ || !contained_within(
+ dimage, n_dimage,
+ (Addr)shdr_dimg, shdr_dnent * shdr_dent_szB)) {
+ ML_(symerr)(di, True,
+ "Missing or invalid ELF Section Header Table"
+ " (debuginfo file)");
+ goto out;
+ }
- /* Also find the section header's string table, and validate. */
- /* checked previously by is_elf_object_file: */
- vg_assert( ehdr_dimg->e_shstrndx != SHN_UNDEF );
+ /* Also find the section header's string table, and validate. */
+ /* checked previously by is_elf_object_file: */
+ vg_assert( ehdr_dimg->e_shstrndx != SHN_UNDEF );
- shdr_strtab_dimg
- = (UChar*)( ((UChar*)ehdr_dimg)
- + shdr_dimg[ehdr_dimg->e_shstrndx].sh_offset);
- if (!contained_within(
- dimage, n_dimage,
- (Addr)shdr_strtab_dimg,
- 1/*bogus, but we don't know the real size*/ )) {
- ML_(symerr)(di, True,
- "Invalid ELF Section Header String Table"
- " (debuginfo file)");
- goto out;
- }
+ shdr_strtab_dimg
+ = (UChar*)( ((UChar*)ehdr_dimg)
+ + shdr_dimg[ehdr_dimg->e_shstrndx].sh_offset);
+ if (!contained_within(
+ dimage, n_dimage,
+ (Addr)shdr_strtab_dimg,
+ 1/*bogus, but we don't know the real size*/ )) {
+ ML_(symerr)(di, True,
+ "Invalid ELF Section Header String Table"
+ " (debuginfo file)");
+ goto out;
+ }
- need_symtab = (NULL == symtab_img);
- need_stabs = (NULL == stab_img);
- need_dwarf2 = (NULL == debug_info_img);
- need_dwarf1 = (NULL == dwarf1d_img);
+ need_symtab = (NULL == symtab_img);
+ need_stabs = (NULL == stab_img);
+ need_dwarf2 = (NULL == debug_info_img);
+ need_dwarf1 = (NULL == dwarf1d_img);
- for (i = 0; i < ehdr_dimg->e_phnum; i++) {
- ElfXX_Phdr* phdr
- = INDEX_BIS( (void*)(dimage + ehdr_dimg->e_phoff),
- i, phdr_ent_szB );
- if (phdr->p_type == PT_LOAD) {
- if (rx_dsvma_limit == 0
- && phdr->p_offset >= di->fsm.rx_map_foff
- && phdr->p_offset
- < di->fsm.rx_map_foff + di->fsm.rx_map_size
- && phdr->p_offset + phdr->p_filesz
- <= di->fsm.rx_map_foff + di->fsm.rx_map_size) {
- /* rx_dsvma_base = phdr->p_vaddr; */ /* UNUSED */
- rx_dsvma_limit = phdr->p_vaddr + phdr->p_memsz;
- rx_dbias = di->fsm.rx_map_avma - di->fsm.rx_map_foff
- + phdr->p_offset - phdr->p_vaddr;
- }
- else
- if (rw_dsvma_limit == 0
- && phdr->p_offset >= di->fsm.rw_map_foff
- && phdr->p_offset
- < di->fsm.rw_map_foff + di->fsm.rw_map_size
- && phdr->p_offset + phdr->p_filesz
- <= di->fsm.rw_map_foff + di->fsm.rw_map_size) {
- /* rw_dsvma_base = phdr->p_vaddr; */ /* UNUSED */
- rw_dsvma_limit = phdr->p_vaddr + phdr->p_memsz;
- rw_dbias = di->fsm.rw_map_avma - di->fsm.rw_map_foff
- + phdr->p_offset - phdr->p_vaddr;
- }
+ for (i = 0; i < ehdr_dimg->e_phnum; i++) {
+ ElfXX_Phdr* phdr
+ = INDEX_BIS( (void*)(dimage + ehdr_dimg->e_phoff),
+ i, phdr_ent_szB );
+ if (phdr->p_type == PT_LOAD) {
+ if (rx_dsvma_limit == 0
+ && phdr->p_offset >= di->fsm.rx_map_foff
+ && phdr->p_offset
+ < di->fsm.rx_map_foff + di->fsm.rx_map_size
+ && phdr->p_offset + phdr->p_filesz
+ <= di->fsm.rx_map_foff + di->fsm.rx_map_size) {
+ /* rx_dsvma_base = phdr->p_vaddr; */ /* UNUSED */
+ rx_dsvma_limit = phdr->p_vaddr + phdr->p_memsz;
+ rx_dbias = di->fsm.rx_map_avma - di->fsm.rx_map_foff
+ + phdr->p_offset - phdr->p_vaddr;
}
+ else
+ if (rw_dsvma_limit == 0
+ && phdr->p_offset >= di->fsm.rw_map_foff
+ && phdr->p_offset
+ < di->fsm.rw_map_foff + di->fsm.rw_map_size
+ && phdr->p_offset + phdr->p_filesz
+ <= di->fsm.rw_map_foff + di->fsm.rw_map_size) {
+ /* rw_dsvma_base = phdr->p_vaddr; */ /* UNUSED */
+ rw_dsvma_limit = phdr->p_vaddr + phdr->p_memsz;
+ rw_dbias = di->fsm.rw_map_avma - di->fsm.rw_map_foff
+ + phdr->p_offset - phdr->p_vaddr;
+ }
}
+ }
- /* Find all interesting sections */
- for (i = 0; i < ehdr_dimg->e_shnum; i++) {
+ /* Find all interesting sections */
+ for (i = 0; i < ehdr_dimg->e_shnum; i++) {
- /* Find debug svma and bias information for sections
- we found in the main file. */
+ /* Find debug svma and bias information for sections
+ we found in the main file. */
-# define FIND(sec, seg) \
- do { ElfXX_Shdr* shdr \
- = INDEX_BIS( shdr_dimg, i, shdr_dent_szB ); \
- if (di->sec##_present \
- && 0 == VG_(strcmp)("." #sec, \
- shdr_strtab_dimg + shdr->sh_name)) { \
- vg_assert(di->sec##_size == shdr->sh_size); \
- vg_assert(di->sec##_avma + shdr->sh_addr + seg##_dbias); \
- /* Assume we have a correct value for the main */ \
- /* object's bias. Use that to derive the debuginfo */ \
- /* object's bias, by adding the difference in SVMAs */ \
- /* for the corresponding sections in the two files. */ \
- /* That should take care of all prelinking effects. */ \
- di->sec##_debug_svma = shdr->sh_addr; \
- di->sec##_debug_bias \
- = di->sec##_bias + \
- di->sec##_svma - di->sec##_debug_svma; \
- TRACE_SYMTAB("acquiring ." #sec \
- " debug svma = %#lx .. %#lx\n", \
- di->sec##_debug_svma, \
- di->sec##_debug_svma + di->sec##_size - 1); \
- TRACE_SYMTAB("acquiring ." #sec " debug bias = %#lx\n", \
- di->sec##_debug_bias); \
- } \
- } while (0);
+# define FIND(sec, seg) \
+ do { ElfXX_Shdr* shdr \
+ = INDEX_BIS( shdr_dimg, i, shdr_dent_szB ); \
+ if (di->sec##_present \
+ && 0 == VG_(strcmp)("." #sec, \
+ shdr_strtab_dimg + shdr->sh_name)) { \
+ vg_assert(di->sec##_size == shdr->sh_size); \
+ vg_assert(di->sec##_avma + shdr->sh_addr + seg##_dbias); \
+ /* Assume we have a correct value for the main */ \
+ /* object's bias. Use that to derive the debuginfo */ \
+ /* object's bias, by adding the difference in SVMAs */ \
+ /* for the corresponding sections in the two files. */ \
+ /* That should take care of all prelinking effects. */ \
+ di->sec##_debug_svma = shdr->sh_addr; \
+ di->sec##_debug_bias \
+ = di->sec##_bias + \
+ di->sec##_svma - di->sec##_debug_svma; \
+ TRACE_SYMTAB("acquiring ." #sec \
+ " debug svma = %#lx .. %#lx\n", \
+ di->sec##_debug_svma, \
+ di->sec##_debug_svma + di->sec##_size - 1); \
+ TRACE_SYMTAB("acquiring ." #sec " debug bias = %#lx\n", \
+ di->sec##_debug_bias); \
+ } \
+ } while (0);
- /* SECTION SEGMENT */
- FIND(text, rx)
- FIND(data, rw)
- FIND(sdata, rw)
- FIND(rodata, rw)
- FIND(bss, rw)
- FIND(sbss, rw)
+ /* SECTION SEGMENT */
+ FIND(text, rx)
+ FIND(data, rw)
+ FIND(sdata, rw)
+ FIND(rodata, rw)
+ FIND(bss, rw)
+ FIND(sbss, rw)
-# undef FIND
+# undef FIND
- /* Same deal as previous FIND, except only do it for those
- sections for which we didn't find anything useful in
- the main file. */
+ /* Same deal as previous FIND, except only do it for those
+ sections for which we didn't find anything useful in
+ the main file. */
-# define FIND(condition, sec_name, sec_size, sec_img) \
- do { ElfXX_Shdr* shdr \
- = INDEX_BIS( shdr_dimg, i, shdr_dent_szB ); \
- if (condition \
- && 0 == VG_(strcmp)(sec_name, \
- shdr_strtab_dimg + shdr->sh_name)) { \
- Bool nobits; \
- if (0 != sec_img) \
- VG_(core_panic)("repeated section!\n"); \
- sec_img = (void*)(dimage + shdr->sh_offset); \
- sec_size = shdr->sh_size; \
- nobits = shdr->sh_type == SHT_NOBITS; \
- TRACE_SYMTAB( "%18s: dimg %p .. %p\n", \
- sec_name, \
- (UChar*)sec_img, \
- ((UChar*)sec_img) + sec_size - 1); \
- /* SHT_NOBITS sections have zero size in the file. */ \
- if ( shdr->sh_offset \
- + (nobits ? 0 : sec_size) > n_dimage ) { \
- ML_(symerr)(di, True, \
- " section beyond image end?!"); \
- goto out; \
- } \
+# define FIND(condition, sec_name, sec_size, sec_img) \
+ do { ElfXX_Shdr* shdr \
+ = INDEX_BIS( shdr_dimg, i, shdr_dent_szB ); \
+ if (condition \
+ && 0 == VG_(strcmp)(sec_name, \
+ shdr_strtab_dimg + shdr->sh_name)) { \
+ Bool nobits; \
+ if (0 != sec_img) \
+ VG_(core_panic)("repeated section!\n"); \
+ sec_img = (void*)(dimage + shdr->sh_offset); \
+ sec_size = shdr->sh_size; \
+ nobits = shdr->sh_type == SHT_NOBITS; \
+ TRACE_SYMTAB( "%18s: dimg %p .. %p\n", \
+ sec_name, \
+ (UChar*)sec_img, \
+ ((UChar*)sec_img) + sec_size - 1); \
+ /* SHT_NOBITS sections have zero size in the file. */ \
+ if ( shdr->sh_offset \
+ + (nobits ? 0 : sec_size) > n_dimage ) { \
+ ML_(symerr)(di, True, \
+ " section beyond image end?!"); \
+ goto out; \
} \
- } while (0);
+ } \
+ } while (0);
- /* NEEDED? NAME SIZE IMAGE addr */
- FIND(need_symtab, ".symtab", symtab_sz, symtab_img)
- FIND(need_symtab, ".strtab", strtab_sz, strtab_img)
- FIND(need_stabs, ".stab", stab_sz, stab_img)
- FIND(need_stabs, ".stabstr", stabstr_sz, stabstr_img)
- FIND(need_dwarf2, ".debug_line", debug_line_sz, debug_line_img)
- FIND(need_dwarf2, ".debug_info", debug_info_sz, debug_info_img)
- FIND(need_dwarf2, ".debug_abbrev", debug_abbv_sz, debug_abbv_img)
- FIND(need_dwarf2, ".debug_str", debug_str_sz, debug_str_img)
- FIND(need_dwarf2, ".debug_ranges", debug_ranges_sz,
- debug_ranges_img)
- FIND(need_dwarf2, ".debug_loc", debug_loc_sz, debug_loc_img)
- FIND(need_dwarf2, ".debug_frame", debug_frame_sz,
- debug_frame_img)
- FIND(need_dwarf1, ".debug", dwarf1d_sz, dwarf1d_img)
- FIND(need_dwarf1, ".line", dwarf1l_sz, dwarf1l_img)
+ /* NEEDED? NAME SIZE IMAGE addr */
+ FIND(need_symtab, ".symtab", symtab_sz, symtab_img)
+ FIND(need_symtab, ".strtab", strtab_sz, strtab_img)
+ FIND(need_stabs, ".stab", stab_sz, stab_img)
+ FIND(need_stabs, ".stabstr", stabstr_sz, stabstr_img)
+ FIND(need_dwarf2, ".debug_line", debug_line_sz, debug_line_img)
+ FIND(need_dwarf2, ".debug_info", debug_info_sz, debug_info_img)
+ FIND(need_dwarf2, ".debug_abbrev", debug_abbv_sz, debug_abbv_img)
+ FIND(need_dwarf2, ".debug_str", debug_str_sz, debug_str_img)
+ FIND(need_dwarf2, ".debug_ranges", debug_ranges_sz,
+ debug_ranges_img)
+ FIND(need_dwarf2, ".debug_loc", debug_loc_sz, debug_loc_img)
+ FIND(need_dwarf2, ".debug_frame", debug_frame_sz,
+ debug_frame_img)
+ FIND(need_dwarf1, ".debug", dwarf1d_sz, dwarf1d_img)
+ FIND(need_dwarf1, ".line", dwarf1l_sz, dwarf1l_img)
-# undef FIND
- }
- }
- }
+# undef FIND
+ } /* Find all interesting sections */
+ } /* do we have a debug image? */
+ /* TOPLEVEL */
/* Check some sizes */
vg_assert((dynsym_sz % sizeof(ElfXX_Sym)) == 0);
vg_assert((symtab_sz % sizeof(ElfXX_Sym)) == 0);
@@ -2343,8 +2374,9 @@
dynsym_img, dynsym_sz,
dynstr_img, dynstr_sz,
False, opd_img);
- }
+ } /* Read symbols */
+ /* TOPLEVEL */
/* Read .eh_frame and .debug_frame (call-frame-info) if any. Do
the .eh_frame section(s) first. */
vg_assert(di->n_ehframe >= 0 && di->n_ehframe <= N_EHFRAME_SECTS);
@@ -2415,7 +2447,12 @@
ML_(read_debuginfo_dwarf1) ( di, dwarf1d_img, dwarf1d_sz,
dwarf1l_img, dwarf1l_sz );
}
- }
+ /* TOPLEVEL */
+
+ } /* "Find interesting sections, read the symbol table(s), read any debug
+ information" (a local scope) */
+
+ /* TOPLEVEL */
res = True;
/* If reading Dwarf3 variable type/location info, print a line
@@ -2446,19 +2483,22 @@
VG_(umsg)("VARINFO: %7lu vars %7ld text_size %s\n",
nVars, di->text_size, di->fsm.filename);
}
+ /* TOPLEVEL */
- out: {
- SysRes m_res;
+ out:
+ {
+ SysRes m_res;
+ /* Last, but not least, heave the image(s) back overboard. */
+ if (dimage) {
+ m_res = VG_(am_munmap_valgrind) ( dimage, n_dimage );
+ vg_assert(!sr_isError(m_res));
+ }
+ m_res = VG_(am_munmap_valgrind) ( oimage, n_oimage );
+ vg_assert(!sr_isError(m_res));
+ return res;
+ } /* out: */
- /* Last, but not least, heave the image(s) back overboard. */
- if (dimage) {
- m_res = VG_(am_munmap_valgrind) ( dimage, n_dimage );
- vg_assert(!sr_isError(m_res));
- }
- m_res = VG_(am_munmap_valgrind) ( oimage, n_oimage );
- vg_assert(!sr_isError(m_res));
- return res;
- }
+ /* NOTREACHED */
}
#endif // defined(VGO_linux)
|
|
From: <br...@ac...> - 2011-09-27 08:20:29
|
valgrind revision: 12054 VEX revision: 2209 GCC version: gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-3) GLIBC version: GNU C Library stable release version 2.3.4, by Roland McGrath et al. uname -mrs: Linux 2.6.9-42.EL s390x Vendor version: Red Hat Enterprise Linux AS release 4 (Nahant Update 4) Nightly build on z900 ( s390x build on z900 ) Started at 2011-09-27 01:42:22 EDT Ended at 2011-09-27 04:26:52 EDT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 465 tests, 14 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable3 (stderr) memcheck/tests/err_disable4 (stderr) memcheck/tests/manuel3 (stderr) memcheck/tests/partial_load_ok (stderr) memcheck/tests/varinfo6 (stderr) helgrind/tests/pth_barrier2 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) drd/tests/tc04_free_lock (stderr) drd/tests/tc09_bad_unlock (stderr) |
|
From: <sv...@va...> - 2011-09-27 08:11:01
|
Author: sewardj
Date: 2011-09-27 09:06:14 +0100 (Tue, 27 Sep 2011)
New Revision: 12055
Log:
Android only: don't ignore zero-sized symbols, since some of them
are ones that m_redir really needs to see.
Modified:
trunk/coregrind/m_debuginfo/readelf.c
Modified: trunk/coregrind/m_debuginfo/readelf.c
===================================================================
--- trunk/coregrind/m_debuginfo/readelf.c 2011-09-26 20:20:19 UTC (rev 12054)
+++ trunk/coregrind/m_debuginfo/readelf.c 2011-09-27 08:06:14 UTC (rev 12055)
@@ -360,14 +360,35 @@
if (!plausible)
return False;
- /* Ignore if nameless, or zero-sized. */
- if (sym->st_name == (ElfXX_Word)0
+ /* Ignore if nameless. */
+ if (sym_name == (ElfXX_Word)0
|| /* VG_(strlen)(sym_name) == 0 */
/* equivalent but cheaper ... */
- sym_name[0] == 0
- || sym->st_size == 0) {
+ sym_name[0] == 0) {
+ TRACE_SYMTAB(" ignore -- nameless: %s\n", sym_name);
+ return False;
+ }
+
+ /* Ignore if zero-sized. Except on Android:
+
+ On Android 2.3.5, some of the symbols that Memcheck needs to
+ intercept (for noise reduction purposes) have zero size, due to
+ lack of .size directives in handwritten assembly sources. So we
+ can't reject them out of hand -- instead give them a bogusly
+ large size and let canonicaliseSymtab trim them so they don't
+ overlap any following symbols. At least the following symbols
+ are known to be affected:
+
+ in /system/lib/libc.so: strlen strcmp strcpy memcmp memcpy
+ in /system/bin/linker: __dl_strcmp __dl_strlen
+ */
+ if (sym->st_size == 0) {
+# if defined(VGPV_arm_linux_android)
+ *sym_size_out = 1024;
+# else
TRACE_SYMTAB(" ignore -- size=0: %s\n", sym_name);
return False;
+# endif
}
/* This seems to significantly reduce the number of junk
|
|
From: Julian S. <js...@ac...> - 2011-09-27 07:24:02
|
> > Getting back to this issue after being pulled away last week on another > > project. I bisected as you suggested and found that r11755 is the > > culprit (committed on May 15). Any thoughts? > > I've reviewed the changes in that patch but couldn't find anything > obvious that would break stack walking. Yeah, I also looked at 11755 and came to the same conclusion as Bart. Are you 110% it was 11755 that caused the change? J |
|
From: Bart V. A. <bva...@ac...> - 2011-09-27 06:11:55
|
On Tue, Sep 27, 2011 at 12:32 AM, Maynard Johnson <may...@us...> wrote: > Bart Van Assche wrote: > > On Sat, Sep 17, 2011 at 12:40 AM, Maynard Johnson <may...@us...> wrote: > >> I am doing some validation of the latest valgrind code on some ppc64 systems. > >> One problem I've run into is that a number of memcheck/tests are failing because > >> the stderr output shows some line numbers that are off by 1-3 lines compared to > >> what's expected. I'm not seeing this on x86 -- just ppc64. For example, > >> memcheck/tests/addressable fails as follows: > >> > >> ---------------------------------- > >> --- addressable.stderr.exp 2011-09-14 12:08:53.000000000 -0500 > >> +++ addressable.stderr.out 2011-09-14 12:47:35.000000000 -0500 > >> @@ -9,7 +9,7 @@ > >> For counts of detected and suppressed errors, rerun with: -v > >> ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) > >> Unaddressable byte(s) found during client check request > >> - at 0x........: test2 (addressable.c:48) > >> + at 0x........: test2 (addressable.c:51) > >> by 0x........: main (addressable.c:125) > >> Address 0x........ is not stack'd, malloc'd or (recently) free'd > >> > >> ---------------------------------- > >> > >> Notably, the same testcase runs fine in valgrind 3.6.1. And I see no changes to > >> the testcase or expected output between 3.6.1 and current SVN code. I see this > >> problem on both ppc64 systems I've tested on so far, one being a POWER7/SLES 11 > >> SP1 and the other a POWER5/SLES 10 SP3. Does anyone have any idea what may have > >> changed in regards to debuginfo collection between 3.6.1 and present? I'll > >> continue to dig, but hoping someone can short-circuit the search by pointing me > >> in the right direction. > > > > This might be caused by changes in the stack walking code. One way to > > find out which source code changes caused the above behavior changes > > is by bisecting the trunk. At least those changes are worth a closer > > Getting back to this issue after being pulled away last week on another project. I bisected as you suggested and found that r11755 is the culprit (committed on May 15). Any thoughts? I've reviewed the changes in that patch but couldn't find anything obvious that would break stack walking. So IMHO the only way forward is to make sure that we understand completely why the stack traces are not as we expect. By the way, for some distros stack traces were already incorrect on x86_64 before r11755 (see also https://bugs.kde.org/show_bug.cgi?id=204441). Bart. |
|
From: Rich C. <rc...@wi...> - 2011-09-27 03:00:57
|
Nightly build on ultra ( gcc 4.5.1 Linux 2.6.37.1-1.2-desktop x86_64 )
Started at 2011-09-26 21:30:01 CDT
Ended at 2011-09-26 22:00:46 CDT
Results differ from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 584 tests, 6 stderr failures, 0 stdout failures, 1 stderrB failure, 0 stdoutB failures, 0 post failures ==
gdbserver_tests/mssnapshot (stderrB)
memcheck/tests/err_disable3 (stderr)
memcheck/tests/err_disable4 (stderr)
memcheck/tests/linux/stack_switch (stderr)
memcheck/tests/origin5-bz2 (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
exp-sgcheck/tests/bad_percentify (stderr)
=================================================
== Results from 24 hours ago ==
=================================================
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 584 tests, 49 stderr failures, 0 stdout failures, 1 stderrB failure, 0 stdoutB failures, 0 post failures ==
gdbserver_tests/mssnapshot (stderrB)
memcheck/tests/err_disable3 (stderr)
memcheck/tests/err_disable4 (stderr)
memcheck/tests/linux/stack_switch (stderr)
memcheck/tests/origin5-bz2 (stderr)
helgrind/tests/annotate_rwlock (stderr)
helgrind/tests/annotate_smart_pointer (stderr)
helgrind/tests/bar_bad (stderr)
helgrind/tests/free_is_write (stderr)
helgrind/tests/hg01_all_ok (stderr)
helgrind/tests/hg02_deadlock (stderr)
helgrind/tests/hg03_inherit (stderr)
helgrind/tests/hg04_race (stderr)
helgrind/tests/hg05_race2 (stderr)
helgrind/tests/hg06_readshared (stderr)
helgrind/tests/locked_vs_unlocked1_fwd (stderr)
helgrind/tests/locked_vs_unlocked1_rev (stderr)
helgrind/tests/locked_vs_unlocked2 (stderr)
helgrind/tests/locked_vs_unlocked3 (stderr)
helgrind/tests/pth_barrier1 (stderr)
helgrind/tests/pth_barrier2 (stderr)
helgrind/tests/pth_barrier3 (stderr)
helgrind/tests/rwlock_race (stderr)
helgrind/tests/rwlock_test (stderr)
helgrind/tests/tc01_simple_race (stderr)
helgrind/tests/tc02_simple_tls (stderr)
helgrind/tests/tc03_re_excl (stderr)
helgrind/tests/tc04_free_lock (stderr)
helgrind/tests/tc05_simple_race (stderr)
helgrind/tests/tc06_two_races (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
helgrind/tests/tc07_hbl1 (stderr)
helgrind/tests/tc08_hbl2 (stderr)
helgrind/tests/tc09_bad_unlock (stderr)
helgrind/tests/tc10_rec_lock (stderr)
helgrind/tests/tc11_XCHG (stderr)
helgrind/tests/tc12_rwl_trivial (stderr)
helgrind/tests/tc13_laog1 (stderr)
helgrind/tests/tc14_laog_dinphils (stderr)
helgrind/tests/tc15_laog_lockdel (stderr)
helgrind/tests/tc16_byterace (stderr)
helgrind/tests/tc17_sembar (stderr)
helgrind/tests/tc18_semabuse (stderr)
helgrind/tests/tc19_shadowmem (stderr)
helgrind/tests/tc20_verifywrap (stderr)
helgrind/tests/tc21_pthonce (stderr)
helgrind/tests/tc22_exit_w_lock (stderr)
helgrind/tests/tc23_bogus_condwait (stderr)
helgrind/tests/tc24_nonzero_sem (stderr)
exp-sgcheck/tests/bad_percentify (stderr)
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Mon Sep 26 21:47:08 2011
--- new.short Mon Sep 26 22:00:46 2011
***************
*** 8,10 ****
! == 584 tests, 49 stderr failures, 0 stdout failures, 1 stderrB failure, 0 stdoutB failures, 0 post failures ==
gdbserver_tests/mssnapshot (stderrB)
--- 8,10 ----
! == 584 tests, 6 stderr failures, 0 stdout failures, 1 stderrB failure, 0 stdoutB failures, 0 post failures ==
gdbserver_tests/mssnapshot (stderrB)
***************
*** 14,59 ****
memcheck/tests/origin5-bz2 (stderr)
- helgrind/tests/annotate_rwlock (stderr)
- helgrind/tests/annotate_smart_pointer (stderr)
- helgrind/tests/bar_bad (stderr)
- helgrind/tests/free_is_write (stderr)
- helgrind/tests/hg01_all_ok (stderr)
- helgrind/tests/hg02_deadlock (stderr)
- helgrind/tests/hg03_inherit (stderr)
- helgrind/tests/hg04_race (stderr)
- helgrind/tests/hg05_race2 (stderr)
- helgrind/tests/hg06_readshared (stderr)
- helgrind/tests/locked_vs_unlocked1_fwd (stderr)
- helgrind/tests/locked_vs_unlocked1_rev (stderr)
- helgrind/tests/locked_vs_unlocked2 (stderr)
- helgrind/tests/locked_vs_unlocked3 (stderr)
- helgrind/tests/pth_barrier1 (stderr)
- helgrind/tests/pth_barrier2 (stderr)
- helgrind/tests/pth_barrier3 (stderr)
- helgrind/tests/rwlock_race (stderr)
- helgrind/tests/rwlock_test (stderr)
- helgrind/tests/tc01_simple_race (stderr)
- helgrind/tests/tc02_simple_tls (stderr)
- helgrind/tests/tc03_re_excl (stderr)
- helgrind/tests/tc04_free_lock (stderr)
- helgrind/tests/tc05_simple_race (stderr)
- helgrind/tests/tc06_two_races (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
- helgrind/tests/tc07_hbl1 (stderr)
- helgrind/tests/tc08_hbl2 (stderr)
- helgrind/tests/tc09_bad_unlock (stderr)
- helgrind/tests/tc10_rec_lock (stderr)
- helgrind/tests/tc11_XCHG (stderr)
- helgrind/tests/tc12_rwl_trivial (stderr)
- helgrind/tests/tc13_laog1 (stderr)
- helgrind/tests/tc14_laog_dinphils (stderr)
- helgrind/tests/tc15_laog_lockdel (stderr)
- helgrind/tests/tc16_byterace (stderr)
- helgrind/tests/tc17_sembar (stderr)
- helgrind/tests/tc18_semabuse (stderr)
- helgrind/tests/tc19_shadowmem (stderr)
- helgrind/tests/tc20_verifywrap (stderr)
- helgrind/tests/tc21_pthonce (stderr)
- helgrind/tests/tc22_exit_w_lock (stderr)
- helgrind/tests/tc23_bogus_condwait (stderr)
- helgrind/tests/tc24_nonzero_sem (stderr)
exp-sgcheck/tests/bad_percentify (stderr)
--- 14,16 ----
=================================================
./valgrind-new/exp-sgcheck/tests/bad_percentify.stderr.diff-glibc28-amd64
=================================================
--- bad_percentify.stderr.exp-glibc28-amd64 2011-09-26 21:47:44.043702772 -0500
+++ bad_percentify.stderr.out 2011-09-26 22:00:36.618324438 -0500
@@ -16,7 +16,7 @@
by 0x........: myvprintf_str (bad_percentify.c:187)
by 0x........: VG_debugLog_vprintf (bad_percentify.c:479)
by 0x........: vprintf_to_buf (bad_percentify.c:89)
- by 0x........: vprintf_WRK (bad_percentify.c:102)
+ by 0x........: vprintf_WRK (bad_percentify.c:101)
by 0x........: VG_vprintf (bad_percentify.c:115)
by 0x........: VG_printf (bad_percentify.c:124)
by 0x........: VG_print_translation_stats (bad_percentify.c:622)
=================================================
./valgrind-new/gdbserver_tests/mssnapshot.stderrB.diff
=================================================
--- mssnapshot.stderrB.exp 2011-09-26 21:47:20.648896446 -0500
+++ mssnapshot.stderrB.out 2011-09-26 21:53:26.721512265 -0500
@@ -1,5 +1,11 @@
relaying data between gdb and process ....
+Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2
+Try: zypper install -C "debuginfo(build-id)=b1d398a5cb1609e7ac1c51a26588e87fc20f753c"
vgdb-error value changed from 0 to 999999
+Missing separate debuginfo for /lib64/libpthread.so.0
+Try: zypper install -C "debuginfo(build-id)=e23cbc772e670af00bea9874f925e2e61afda713"
+Missing separate debuginfo for /lib64/libc.so.6
+Try: zypper install -C "debuginfo(build-id)=1493bf69b1d671cbad9be1d1b0284fbd9138444b"
general valgrind monitor commands:
help [debug] : monitor command help. With debug: + debugging commands
v.wait [<ms>] : sleep <ms> (default 0) then continue
=================================================
./valgrind-new/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2011-09-26 21:47:18.426819860 -0500
+++ tc06_two_races_xml.stderr.out 2011-09-26 21:58:02.516015190 -0500
@@ -40,17 +40,16 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>clone</fn>
- <dir>...</dir>
- <file>clone.S</file>
- <line>...</line>
+ </frame>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>do_clone.clone.0</fn>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
<fn>pthread_create@@GLIBC_2.2.5</fn>
- <dir>...</dir>
- <file>createthread.c</file>
- <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
@@ -122,12 +121,6 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
- <dir>...</dir>
- <file>pthread_create.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
@@ -177,12 +170,6 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
- <dir>...</dir>
- <file>pthread_create.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
@@ -232,12 +219,6 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
- <dir>...</dir>
- <file>pthread_create.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot2"</auxwhat>
@@ -287,12 +268,6 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
- <dir>...</dir>
- <file>pthread_create.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot2"</auxwhat>
=================================================
./valgrind-new/memcheck/tests/err_disable3.stderr.diff
=================================================
--- err_disable3.stderr.exp 2011-09-26 21:47:30.443234020 -0500
+++ err_disable3.stderr.out 2011-09-26 21:54:03.645784628 -0500
@@ -11,8 +11,7 @@
Invalid read of size 1
at 0x........: err (err_disable3.c:25)
by 0x........: child_fn (err_disable3.c:31)
- by 0x........: start_thread (pthread_create.c:300)
- by 0x........: ???
+ by 0x........: start_thread (in /lib64/libpthread-2.11.3.so)
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable3.c:42)
=================================================
./valgrind-new/memcheck/tests/err_disable4.stderr.diff
=================================================
--- err_disable4.stderr.exp 2011-09-26 21:47:30.414233021 -0500
+++ err_disable4.stderr.out 2011-09-26 21:54:05.097834664 -0500
@@ -1502,1002 +1502,8 @@
Invalid read of size 1
at 0x........: err (err_disable4.c:41)
by 0x........: child_fn_2 (err_disable4.c:55)
- by 0x........: start_thread (in /...libpthread...)
- by 0x........: ???
+ ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable4.c:68)
-Thread x:
-Invalid read of size 1
- at 0x........: err (err_disable4.c:41)
- by 0x........: child_fn_2 (err_disable4.c:55)
- by 0x........: start_thread (in /...libpthread...)
- by 0x........: ???
- Address 0x........ is 5 bytes inside a block of size 10 free'd
- at 0x........: free (vg_replace_malloc.c:...)
- by 0x........: main (err_disable4.c:68)
-
-Thread x:
-Invalid read of size 1
- at 0x........: err (err_disable4.c:41)
- by 0x........: child_fn_2 (err_disable4.c:55)
- by 0x........: start_thread (in /...libpthread...)
- by 0x........: ???
- Address 0x........ is 5 bytes inside a block of size 10 free'd
- at 0x........: free (vg_replace_malloc.c:...)
- by 0x........: main (err_disable4.c:68)
-
-Thread x:
-Invalid read of size 1
- at 0x........: err (err_disable4.c:41)
- by 0x........: child_fn_2 (err_disable4.c:55)
- by 0x........: start_thread (in /...libpthread...)
- by 0x........: ???
- Address 0x........ is 5 bytes inside a block of size 10 free'd
- at 0x........: free (vg_replace_malloc.c:...)
- by 0x........: main (err_disable4.c:68)
-
-Thread x:
-Invalid read of size 1
- at 0x........: err (err_disable4.c:41)
- by 0x........: child_fn_2 (err_disable4.c:55)
- by 0x........: start_thread (in /...libpthread...)
- by 0x........: ???
- Address 0x........ is 5 bytes inside a block of size 10 free'd
- at 0x........: free (vg_replace_malloc.c:...)
- by 0x........: main (err_disable4.c:68)
-
-Thread x:
-Invalid read of size 1
- at 0x........: err (err_disable4.c:41)
- by 0x........: child_fn_2 (err_disable4.c:55)
- by 0x........: start_thread (in /...libpthread...)
- by 0x........: ???
- Address 0x........ is 5 bytes inside a block of size 10 free'd
- at 0x........: free (vg_replace_malloc.c:...)
- by 0x........: main (err_disable4.c:68)
-
-Thread x:
-Invalid read of size 1
- at 0x........: err (err_disable4.c:41)
- by 0x........: child_fn_2 (err_disable4.c:55)
- by 0x........: start_thread (in /...libpthread...)
- by 0x........: ???
- Address 0x........ is 5 bytes inside a block of size 10 free'd
- at 0x........: free (vg_replace_malloc.c:...)
- by 0x........: main (err_disable4.c:68)
-
-Thread x:
-Invalid read of size 1
- at 0x........: err (err_disable4.c:41)
- by 0x........: child_fn_2 (err_disable4.c:55)
- by 0x........: start_thread (in /...libpthread...)
- by 0x........: ???
- Address 0x........ is 5 bytes inside a block of size 10 free'd
- at 0x........: free (vg_replace_malloc.c:...)
- by 0x........: main (err_disable4.c:68)
-
-Thread x:
-Invalid read of size 1
- at 0x........: err (err_disable4.c:41)
- by 0x........: child_fn_2 (err_disable4.c:55)
- by 0x........: start_thread (in /...libpthread...)
- by 0x........: ???
- Address 0x........ is 5 bytes inside a block of size 10 free'd
- at 0x........: free (vg_replace_malloc.c:...)
- by 0x........: main (err_disable4.c:68)
-
-Thread x:
-Invalid read of size 1
- at 0x........: err (err_disable4.c:41)
- by 0x........: child_fn_2 (err_disable4.c:55)
- by 0x........: start_thread (in /...libpthread...)
- by 0x........: ???
- Address 0x........ is 5 bytes inside a block of size 10 free'd
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/linux/stack_switch.stderr.diff
=================================================
--- stack_switch.stderr.exp 2011-09-26 21:47:28.923181629 -0500
+++ stack_switch.stderr.out 2011-09-26 21:54:21.497399763 -0500
@@ -0,0 +1,3 @@
+Syscall param clone(child_tidptr) contains uninitialised byte(s)
+ ...
+
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc212-s390x
=================================================
--- origin5-bz2.stderr.exp-glibc212-s390x 2011-09-26 21:47:30.456234468 -0500
+++ origin5-bz2.stderr.out 2011-09-26 21:54:44.892205898 -0500
@@ -72,17 +72,6 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
- at 0x........: mainSort (origin5-bz2.c:2859)
- by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
- by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
- by 0x........: handle_compress (origin5-bz2.c:4753)
- by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
- by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
- by 0x........: main (origin5-bz2.c:6484)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
-
-Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -128,6 +117,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc234-s390x
=================================================
--- origin5-bz2.stderr.exp-glibc234-s390x 2011-09-26 21:47:30.427233468 -0500
+++ origin5-bz2.stderr.out 2011-09-26 21:54:44.892205898 -0500
@@ -4,8 +4,7 @@
at 0x........: main (origin5-bz2.c:6479)
Conditional jump or move depends on uninitialised value(s)
- at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
- by 0x........: handle_compress (origin5-bz2.c:4750)
+ at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
@@ -13,8 +12,7 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
- at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
- by 0x........: handle_compress (origin5-bz2.c:4750)
+ at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
@@ -22,8 +20,7 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
- at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
- by 0x........: handle_compress (origin5-bz2.c:4750)
+ at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
@@ -120,6 +117,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2011-09-26 21:47:30.410232882 -0500
+++ origin5-bz2.stderr.out 2011-09-26 21:54:44.892205898 -0500
@@ -117,6 +117,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2011-09-26 21:47:30.469234915 -0500
+++ origin5-bz2.stderr.out 2011-09-26 21:54:44.892205898 -0500
@@ -11,7 +11,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -19,7 +19,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -27,8 +27,9 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2820)
+Use of uninitialised value of size 8
+ at 0x........: mainSort (origin5-bz2.c:2820)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -37,8 +38,9 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2823)
+Use of uninitialised value of size 8
+ at 0x........: mainSort (origin5-bz2.c:2823)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -47,8 +49,9 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2855)
+Use of uninitialised value of size 8
+ at 0x........: mainSort (origin5-bz2.c:2854)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -57,8 +60,9 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2859)
+Use of uninitialised value of size 8
+ at 0x........: mainSort (origin5-bz2.c:2858)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -67,8 +71,9 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2963)
+Use of uninitialised value of size 8
+ at 0x........: mainSort (origin5-bz2.c:2963)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -77,8 +82,9 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2964)
+Use of uninitialised value of size 8
+ at 0x........: mainSort (origin5-bz2.c:2964)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -87,7 +93,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2269)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2011-09-26 21:47:30.408232814 -0500
+++ origin5-bz2.stderr.out 2011-09-26 21:54:44.892205898 -0500
@@ -1,7 +1,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6481)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Conditional jump or move depends on uninitialised value(s)
at 0x........: handle_compress (origin5-bz2.c:4686)
@@ -9,7 +9,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: handle_compress (origin5-bz2.c:4686)
@@ -17,7 +17,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: handle_compress (origin5-bz2.c:4686)
@@ -25,7 +25,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2820)
@@ -36,7 +36,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2823)
@@ -47,7 +47,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2854)
@@ -58,7 +58,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2858)
@@ -69,7 +69,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
@@ -80,7 +80,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2964)
@@ -91,7 +91,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2269)
@@ -102,7 +102,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
<truncated beyond 100 lines>
=================================================
./valgrind-old/exp-sgcheck/tests/bad_percentify.stderr.diff-glibc28-amd64
=================================================
--- bad_percentify.stderr.exp-glibc28-amd64 2011-09-26 21:32:52.863904732 -0500
+++ bad_percentify.stderr.out 2011-09-26 21:46:58.531134124 -0500
@@ -16,7 +16,7 @@
by 0x........: myvprintf_str (bad_percentify.c:187)
by 0x........: VG_debugLog_vprintf (bad_percentify.c:479)
by 0x........: vprintf_to_buf (bad_percentify.c:89)
- by 0x........: vprintf_WRK (bad_percentify.c:102)
+ by 0x........: vprintf_WRK (bad_percentify.c:101)
by 0x........: VG_vprintf (bad_percentify.c:115)
by 0x........: VG_printf (bad_percentify.c:124)
by 0x........: VG_print_translation_stats (bad_percentify.c:622)
=================================================
./valgrind-old/gdbserver_tests/mssnapshot.stderrB.diff
=================================================
--- mssnapshot.stderrB.exp 2011-09-26 21:30:47.253557656 -0500
+++ mssnapshot.stderrB.out 2011-09-26 21:39:49.765326671 -0500
@@ -1,5 +1,11 @@
relaying data between gdb and process ....
+Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2
+Try: zypper install -C "debuginfo(build-id)=b1d398a5cb1609e7ac1c51a26588e87fc20f753c"
vgdb-error value changed from 0 to 999999
+Missing separate debuginfo for /lib64/libpthread.so.0
+Try: zypper install -C "debuginfo(build-id)=e23cbc772e670af00bea9874f925e2e61afda713"
+Missing separate debuginfo for /lib64/libc.so.6
+Try: zypper install -C "debuginfo(build-id)=1493bf69b1d671cbad9be1d1b0284fbd9138444b"
general valgrind monitor commands:
help [debug] : monitor command help. With debug: + debugging commands
v.wait [<ms>] : sleep <ms> (default 0) then continue
=================================================
./valgrind-old/helgrind/tests/annotate_rwlock.stderr.diff
=================================================
--- annotate_rwlock.stderr.exp 2011-09-26 21:30:29.399939714 -0500
+++ annotate_rwlock.stderr.out 2011-09-26 21:43:53.497754123 -0500
@@ -1,117 +0,0 @@
----Thread-Announcement------------------------------------------
-
-Thread #x was created
- ...
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (annotate_rwlock.c:164)
-
----Thread-Announcement------------------------------------------
-
-Thread #x was created
- ...
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (annotate_rwlock.c:164)
-
-----------------------------------------------------------------
-
-Possible data race during read of size 4 at 0x........ by thread #x
-Locks held: none
- at 0x........: rwlock_rdlock (annotate_rwlock.c:71)
- by 0x........: thread_func (annotate_rwlock.c:144)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-This conflicts with a previous write of size 4 by thread #x
-Locks held: none
- at 0x........: rwlock_wrlock (annotate_rwlock.c:106)
- by 0x........: thread_func (annotate_rwlock.c:147)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-----------------------------------------------------------------
-
-Possible data race during read of size 4 at 0x........ by thread #x
-Locks held: none
- at 0x........: rwlock_rdlock (annotate_rwlock.c:81)
- by 0x........: thread_func (annotate_rwlock.c:144)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-This conflicts with a previous write of size 4 by thread #x
-Locks held: none
- at 0x........: rwlock_rdlock (annotate_rwlock.c:81)
- by 0x........: thread_func (annotate_rwlock.c:144)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-----------------------------------------------------------------
-
-Possible data race during write of size 4 at 0x........ by thread #x
-Locks held: none
- at 0x........: rwlock_rdlock (annotate_rwlock.c:81)
- by 0x........: thread_func (annotate_rwlock.c:144)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-This conflicts with a previous read of size 4 by thread #x
-Locks held: none
- at 0x........: rwlock_unlock (annotate_rwlock.c:131)
- by 0x........: thread_func (annotate_rwlock.c:149)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-----------------------------------------------------------------
-
-Possible data race during write of size 4 at 0x........ by thread #x
-Locks held: none
- at 0x........: rwlock_unlock (annotate_rwlock.c:121)
- by 0x........: thread_func (annotate_rwlock.c:146)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-This conflicts with a previous read of size 4 by thread #x
-Locks held: none
- at 0x........: rwlock_unlock (annotate_rwlock.c:131)
- by 0x........: thread_func (annotate_rwlock.c:149)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-----------------------------------------------------------------
-
-Possible data race during write of size 4 at 0x........ by thread #x
-Locks held: none
- at 0x........: rwlock_wrlock (annotate_rwlock.c:106)
- by 0x........: thread_func (annotate_rwlock.c:147)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-This conflicts with a previous read of size 4 by thread #x
-Locks held: none
- at 0x........: rwlock_unlock (annotate_rwlock.c:132)
- by 0x........: thread_func (annotate_rwlock.c:149)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-----------------------------------------------------------------
<truncated beyond 100 lines>
=================================================
./valgrind-old/helgrind/tests/annotate_smart_pointer.stderr.diff
=================================================
--- annotate_smart_pointer.stderr.exp 2011-09-26 21:30:29.401939784 -0500
+++ annotate_smart_pointer.stderr.out 2011-09-26 21:43:54.507789041 -0500
@@ -1,4 +0,0 @@
-
-Done.
-
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/bar_bad.stderr.diff
=================================================
--- bar_bad.stderr.exp 2011-09-26 21:30:29.389939368 -0500
+++ bar_bad.stderr.out 2011-09-26 21:43:56.847869939 -0500
@@ -1,64 +0,0 @@
-
-initialise a barrier with zero count
----Thread-Announcement------------------------------------------
-
-Thread #x is the program's root thread
-
-----------------------------------------------------------------
-
-Thread #x: pthread_barrier_init: 'count' argument is zero
- at 0x........: pthread_barrier_init (hg_intercepts.c:...)
- by 0x........: main (bar_bad.c:39)
-
-----------------------------------------------------------------
-
-Thread #x's call to pthread_barrier_init failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_barrier_init (hg_intercepts.c:...)
- by 0x........: main (bar_bad.c:39)
-
-
-initialise a barrier twice
-----------------------------------------------------------------
-
-Thread #x: pthread_barrier_init: barrier is already initialised
- at 0x........: pthread_barrier_init (hg_intercepts.c:...)
- by 0x........: main (bar_bad.c:45)
-
-
-initialise a barrier which has threads waiting on it
-----------------------------------------------------------------
-
-Thread #x: pthread_barrier_init: barrier is already initialised
- at 0x........: pthread_barrier_init (hg_intercepts.c:...)
- by 0x........: main (bar_bad.c:57)
-
-----------------------------------------------------------------
-
-Thread #x: pthread_barrier_init: threads are waiting at barrier
- at 0x........: pthread_barrier_init (hg_intercepts.c:...)
- by 0x........: main (bar_bad.c:57)
-
-
-destroy a barrier that has waiting threads
-----------------------------------------------------------------
-
-Thread #x: pthread_barrier_destroy: threads are waiting at barrier
- at 0x........: pthread_barrier_destroy (hg_intercepts.c:...)
- by 0x........: main (bar_bad.c:69)
-
-----------------------------------------------------------------
-
-Thread #x's call to pthread_barrier_destroy failed
- with error code 16 (EBUSY: Device or resource busy)
- at 0x........: pthread_barrier_destroy (hg_intercepts.c:...)
- by 0x........: main (bar_bad.c:69)
-
-
-destroy a barrier that was never initialised
-----------------------------------------------------------------
-
-Thread #x: pthread_barrier_destroy: barrier was never initialised
- at 0x........: pthread_barrier_destroy (hg_intercepts.c:...)
- by 0x........: main (bar_bad.c:80)
-
=================================================
./valgrind-old/helgrind/tests/free_is_write.stderr.diff
=================================================
--- free_is_write.stderr.exp 2011-09-26 21:30:29.387939297 -0500
+++ free_is_write.stderr.out 2011-09-26 21:43:59.488961244 -0500
@@ -1,30 +0,0 @@
-
-Start.
----Thread-Announcement------------------------------------------
-
-Thread #x was created
- ...
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (free_is_write.c:32)
-
----Thread-Announcement------------------------------------------
-
-Thread #x is the program's root thread
-
-----------------------------------------------------------------
-
-Possible data race during write of size 1 at 0x........ by thread #x
-Locks held: none
- at 0x........: free (vg_replace_malloc.c:...)
- by 0x........: thread_func (free_is_write.c:15)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-This conflicts with a previous read of size 1 by thread #x
-Locks held: none
- at 0x........: main (free_is_write.c:36)
-
-Done.
-
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/hg01_all_ok.stderr.diff
=================================================
--- hg01_all_ok.stderr.exp 2011-09-26 21:30:29.386939262 -0500
+++ hg01_all_ok.stderr.out 2011-09-26 21:43:59.801972065 -0500
@@ -1,3 +0,0 @@
-
-
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/hg02_deadlock.stderr.diff
=================================================
--- hg02_deadlock.stderr.exp 2011-09-26 21:30:29.402939818 -0500
+++ hg02_deadlock.stderr.out 2011-09-26 21:44:00.112982816 -0500
@@ -1,39 +0,0 @@
-
----Thread-Announcement------------------------------------------
-
-Thread #x was created
- ...
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (hg02_deadlock.c:36)
-
-----------------------------------------------------------------
-
-Thread #x: lock order "0x........ before 0x........" violated
-
-Observed (incorrect) order is: acquisition of lock at 0x........
- at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
- by 0x........: t2 (hg02_deadlock.c:19)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
- followed by a later acquisition of lock at 0x........
- at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
- by 0x........: t2 (hg02_deadlock.c:20)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-Required order was established by acquisition of lock at 0x........
- at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
- by 0x........: t1 (hg02_deadlock.c:9)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
- followed by a later acquisition of lock at 0x........
- at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
- by 0x........: t1 (hg02_deadlock.c:10)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/hg03_inherit.stderr.diff
=================================================
--- hg03_inherit.stderr.exp 2011-09-26 21:30:29.380939056 -0500
+++ hg03_inherit.stderr.out 2011-09-26 21:44:04.164122866 -0500
@@ -1,30 +0,0 @@
-
----Thread-Announcement------------------------------------------
-
-Thread #x was created
- ...
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (hg03_inherit.c:46)
-
----Thread-Announcement------------------------------------------
-
-Thread #x is the program's root thread
-
-----------------------------------------------------------------
-
-Possible data race during write of size 4 at 0x........ by thread #x
-Locks held: none
- at 0x........: t2 (hg03_inherit.c:28)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-This conflicts with a previous read of size 4 by thread #x
-Locks held: none
- at 0x........: main (hg03_inherit.c:60)
-
-Location 0x........ is 0 bytes inside shared[1],
-declared at hg03_inherit.c:11, in frame #x of thread x
-
-
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/hg04_race.stderr.diff
=================================================
--- hg04_race.stderr.exp 2011-09-26 21:30:29.396939609 -0500
+++ hg04_race.stderr.out 2011-09-26 21:44:06.217193841 -0500
@@ -1,53 +0,0 @@
-
----Thread-Announcement------------------------------------------
-
-Thread #x was created
- ...
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (hg04_race.c:21)
-
----Thread-Announcement------------------------------------------
-
-Thread #x was created
- ...
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (hg04_race.c:19)
-
-----------------------------------------------------------------
-
-Possible data race during read of size 4 at 0x........ by thread #x
-Locks held: none
- at 0x........: th (hg04_race.c:10)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-This conflicts with a previous write of size 4 by thread #x
-Locks held: none
- at 0x........: th (hg04_race.c:10)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-Location 0x........ is 0 bytes inside local var "shared"
-declared at hg04_race.c:6, in frame #x of thread x
-
-----------------------------------------------------------------
-
-Possible data race during write of size 4 at 0x........ by thread #x
-Locks held: none
- at 0x........: th (hg04_race.c:10)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-This conflicts with a previous write of size 4 by thread #x
-Locks held: none
- at 0x........: th (hg04_race.c:10)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-Location 0x........ is 0 bytes inside local var "shared"
-declared at hg04_race.c:6, in frame #x of thread x
-
-
-ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/hg05_race2.stderr.diff
=================================================
--- hg05_race2.stderr.exp 2011-09-26 21:30:29.390939403 -0500
+++ hg05_race2.stderr.out 2011-09-26 21:44:08.271264852 -0500
@@ -1,53 +0,0 @@
-
----Thread-Announcement------------------------------------------
-
-Thread #x was created
- ...
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (hg05_race2.c:29)
-
----Thread-Announcement------------------------------------------
-
-Thread #x was created
- ...
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (hg05_race2.c:27)
-
-----------------------------------------------------------------
-
-Possible data race during read of size 4 at 0x........ by thread #x
-Locks held: none
- at 0x........: th (hg05_race2.c:17)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-This conflicts with a previous write of size 4 by thread #x
-Locks held: none
- at 0x........: th (hg05_race2.c:17)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-Location 0x........ is 0 bytes inside foo.poot[5].plop[11],
-declared at hg05_race2.c:24, in frame #x of thread x
-
-----------------------------------------------------------------
-
-Possible data race during write of size 4 at 0x........ by thread #x
-Locks held: none
- at 0x........: th (hg05_race2.c:17)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-This conflicts with a previous write of size 4 by thread #x
-Locks held: none
- at 0x........: th (hg05_race2.c:17)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-Location 0x........ is 0 bytes inside foo.poot[5].plop[11],
-declared at hg05_race2.c:24, in frame #x of thread x
-
-
-ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/hg06_readshared.stderr.diff
=================================================
--- hg06_readshared.stderr.exp 2011-09-26 21:30:29.387939297 -0500
+++ hg06_readshared.stderr.out 2011-09-26 21:44:08.582275603 -0500
@@ -1,3 +0,0 @@
-
-
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/locked_vs_unlocked1_fwd.stderr.diff
=================================================
--- locked_vs_unlocked1_fwd.stderr.exp 2011-09-26 21:30:29.395939574 -0500
+++ locked_vs_unlocked1_fwd.stderr.out 2011-09-26 21:44:09.896321030 -0500
@@ -1,36 +0,0 @@
----Thread-Announcement------------------------------------------
-
-Thread #x was created
- ...
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (locked_vs_unlocked1.c:34)
-
----Thread-Announcement------------------------------------------
-
-Thread #x was created
- ...
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (locked_vs_unlocked1.c:29)
-
-----------------------------------------------------------------
-
-Lock at 0x........ was first observed
- at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
- by 0x........: child_fn (locked_vs_unlocked1.c:18)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-Possible data race during write of size 4 at 0x........ by thread #x
-Locks held: none
- at 0x........: child_fn (locked_vs_unlocked1.c:19)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-This conflicts with a previous write of size 4 by thread #x
-Locks held: 1, at address 0x........
- at 0x........: child_fn (locked_vs_unlocked1.c:19)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
=================================================
./valgrind-old/helgrind/tests/locked_vs_unlocked1_rev.stderr.diff
=================================================
--- locked_vs_unlocked1_rev.stderr.exp 2011-09-26 21:30:29.402939818 -0500
+++ locked_vs_unlocked1_rev.stderr.out 2011-09-26 21:44:11.209366423 -0500
@@ -1,36 +0,0 @@
----Thread-Announcement------------------------------------------
-
-Thread #x was created
- ...
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (locked_vs_unlocked1.c:34)
-
----Thread-Announcement------------------------------------------
-
-Thread #x was created
- ...
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (locked_vs_unlocked1.c:29)
-
-----------------------------------------------------------------
-
-Lock at 0x........ was first observed
- at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
- by 0x........: child_fn (locked_vs_unlocked1.c:18)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-Possible data race during write of size 4 at 0x........ by thread #x
-Locks held: 1, at address 0x........
- at 0x........: child_fn (locked_vs_unlocked1.c:19)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-This conflicts with a previous write of size 4 by thread #x
-Locks held: none
- at 0x........: child_fn (locked_vs_unlocked1.c:19)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
=================================================
./valgrind-old/helgrind/tests/locked_vs_unlocked2.stderr.diff
=================================================
--- locked_vs_unlocked2.stderr.exp 2011-09-26 21:30:29.402939818 -0500
+++ locked_vs_unlocked2.stderr.out 2011-09-26 21:44:12.522411815 -0500
@@ -1,42 +0,0 @@
----Thread-Announcement------------------------------------------
-
-Thread #x was created
- ...
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (locked_vs_unlocked2.c:61)
-
----Thread-Announcement------------------------------------------
-
-Thread #x was created
- ...
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (locked_vs_unlocked2.c:62)
-
-----------------------------------------------------------------
-
-Lock at 0x........ was first observed
- at 0x........: pthread_mutex_init (hg_intercepts.c:...)
- by 0x........: main (locked_vs_unlocked2.c:58)
-
-Lock at 0x........ was first observed
- at 0x........: pthread_mutex_init (hg_intercepts.c:...)
- by 0x........: main (locked_vs_unlocked2.c:59)
-
-Lock at 0x........ was first observed
- at 0x........: pthread_mutex_init (hg_intercepts.c:...)
- by 0x........: main (locked_vs_unlocked2.c:57)
-
-Possible data race during write of size 4 at 0x........ by thread #x
-Locks held: 2, at addresses 0x........ 0x........
- at 0x........: child_fn2 (locked_vs_unlocked2.c:45)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-This conflicts with a previous write of size 4 by thread #x
-Locks held: 2, at address 0x........ (and 1 that can't be shown)
- at 0x........: child_fn1 (locked_vs_unlocked2.c:29)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
=================================================
./valgrind-old/helgrind/tests/locked_vs_unlocked3.stderr.diff
=================================================
--- locked_vs_unlocked3.stderr.exp 2011-09-26 21:30:29.386939262 -0500
+++ locked_vs_unlocked3.stderr.out 2011-09-26 21:44:13.838457310 -0500
@@ -1,34 +0,0 @@
----Thread-Announcement------------------------------------------
-
-Thread #x was created
- ...
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (locked_vs_unlocked3.c:53)
-
----Thread-Announcement------------------------------------------
-
-Thread #x was created
- ...
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (locked_vs_unlocked3.c:54)
-
-----------------------------------------------------------------
-
-Lock at 0x........ was first observed
- at 0x........: pthread_mutex_init (hg_intercepts.c:...)
- by 0x........: main (locked_vs_unlocked3.c:51)
-
-Possible data race during write of size 4 at 0x........ by thread #x
-Locks held: none
- at 0x........: child_fn2 (locked_vs_unlocked3.c:38)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-This conflicts with a previous write of size 4 by thread #x
-Locks held: 1, at address 0x........
- at 0x........: child_fn1 (locked_vs_unlocked3.c:28)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
=================================================
./valgrind-old/helgrind/tests/pth_barrier1.stderr.diff
=================================================
--- pth_barrier1.stderr.exp 2011-09-26 21:30:29.396939609 -0500
+++ pth_barrier1.stderr.out 2011-09-26 21:44:14.131467440 -0500
@@ -1,37 +0,0 @@
----Thread-Announcement------------------------------------------
-
-Thread #x was created
- ...
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: barriers_and_races (pth_barrier.c:91)
- by 0x........: main (pth_barrier.c:121)
-
----Thread-Announcement------------------------------------------
-
-Thread #x was created
- ...
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: barriers_and_races (pth_barrier.c:91)
- by 0x........: main (pth_barrier.c:121)
-
-----------------------------------------------------------------
-
-Possible data race during write of size 4 at 0x........ by thread #x
-Locks held: none
- at 0x........: threadfunc (pth_barrier.c:59)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-This conflicts with a previous write of size 4 by thread #x
-Locks held: none
- at 0x........: threadfunc (pth_barrier.c:59)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-Address 0x........ is 0 bytes inside a block of size 4 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: barriers_and_races (pth_barrier.c:75)
- by 0x........: main (pth_barrier.c:121)
-
=================================================
./valgrind-old/helgrind/tests/pth_barrier1.stderr.diff-s390x-mvc
=================================================
--- pth_barrier1.stderr.exp-s390x-mvc 2011-09-26 21:30:29.396939609 -0500
+++ pth_barrier1.stderr.out 2011-09-26 21:44:14.131467440 -0500
@@ -1,37 +0,0 @@
----Thread-Announcement------------------------------------------
-
-Thread #x was created
- ...
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: barriers_and_races (pth_barrier.c:91)
- by 0x........: main (pth_barrier.c:121)
-
----Thread-Announcement------------------------------------------
-
-Thread #x was created
- ...
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: barriers_and_races (pth_barrier.c:91)
- by 0x........: main (pth_barrier.c:121)
-
-----------------------------------------------------------------
-
-Possible data race during write of size 1 at 0x........ by thread #x
-Locks held: none
- at 0x........: threadfunc (pth_barrier.c:59)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-This conflicts with a previous write of size 1 by thread #x
-Locks held: none
- at 0x........: threadfunc (pth_barrier.c:59)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-Address 0x........ is 0 bytes inside a block of size 4 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: barriers_and_races (pth_barrier.c:75)
- by 0x........: main (pth_barrier.c:121)
-
=================================================
./valgrind-old/helgrind/tests/pth_barrier2.stderr.diff
=================================================
--- pth_barrier2.stderr.exp 2011-09-26 21:30:29.380939056 -0500
+++ pth_barrier2.stderr.out 2011-09-26 21:44:14.430477775 -0500
@@ -1,626 +0,0 @@
----Thread-Announcement------------------------------------------
-
-Thread #x was created
- ...
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: barriers_and_races (pth_barrier.c:91)
- by 0x........: main (pth_barrier.c:121)
-
----Thread-Announcement------------------------------------------
-
-Thread #x was created
- ...
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: barriers_and_races (pth_barrier.c:91)
- by 0x........: main (pth_barrier.c:121)
-
-----------------------------------------------------------------
-
-Possible data race during write of size 4 at 0x........ by thread #x
-Locks held: none
- at 0x........: threadfunc (pth_barrier.c:59)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-This conflicts with a previous write of size 4 by thread #x
-Locks held: none
- at 0x........: threadfunc (pth_barrier.c:59)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-Address 0x........ is 0 bytes inside a block of size 128 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: barriers_and_races (pth_barrier.c:75)
- by 0x........: main (pth_barrier.c:121)
-
-----------------------------------------------------------------
-
-Possible data race during write of size 4 at 0x........ by thread #x
-Locks held: none
- at 0x........: threadfunc (pth_barrier.c:59)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-This conflicts with a previous write of size 4 by thread #x
-Locks held: none
- at 0x........: threadfunc (pth_barrier.c:59)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-Address 0x........ is 4 bytes inside a block of size 128 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: barriers_and_races (pth_barrier.c:75)
- by 0x........: main (pth_barrier.c:121)
-
-----------------------------------------------------------------
-
-Possible data race during write of size 4 at 0x........ by thread #x
-Locks held: none
- at 0x........: threadfunc (pth_barrier.c:59)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-This conflicts with a previous write of size 4 by thread #x
-Locks held: none
- at 0x........: threadfunc (pth_barrier.c:59)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-Address 0x........ is 8 bytes inside a block of size 128 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: barriers_and_races (pth_barrier.c:75)
- by 0x........: main (pth_barrier.c:121)
-
-----------------------------------------------------------------
-
-Possible data race during write of size 4 at 0x........ by thread #x
-Locks held: none
- at 0x........: threadfunc (pth_barrier.c:59)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-This conflicts with a previous write of size 4 by thread #x
-Locks held: none
- at 0x........: threadfunc (pth_barrier.c:59)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
-
-Address 0x.......
[truncated message content] |
|
From: Tom H. <th...@cy...> - 2011-09-27 02:43:48
|
Nightly build on bristol ( x86_64, Fedora 13 ) Started at 2011-09-27 03:21:25 BST Ended at 2011-09-27 03:43:24 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 574 tests, 5 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable3 (stderr) memcheck/tests/err_disable4 (stderr) memcheck/tests/linux/stack_switch (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/tc06_two_races_xml (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 574 tests, 47 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable3 (stderr) memcheck/tests/err_disable4 (stderr) memcheck/tests/linux/stack_switch (stderr) helgrind/tests/annotate_rwlock (stderr) helgrind/tests/annotate_smart_pointer (stderr) helgrind/tests/bar_bad (stderr) helgrind/tests/free_is_write (stderr) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/hg06_readshared (stderr) helgrind/tests/locked_vs_unlocked1_fwd (stderr) helgrind/tests/locked_vs_unlocked1_rev (stderr) helgrind/tests/locked_vs_unlocked2 (stderr) helgrind/tests/locked_vs_unlocked3 (stderr) helgrind/tests/pth_barrier1 (stderr) helgrind/tests/pth_barrier2 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/rwlock_race (stderr) helgrind/tests/rwlock_test (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc02_simple_tls (stderr) helgrind/tests/tc03_re_excl (stderr) helgrind/tests/tc04_free_lock (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc07_hbl1 (stderr) helgrind/tests/tc08_hbl2 (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc10_rec_lock (stderr) helgrind/tests/tc11_XCHG (stderr) helgrind/tests/tc12_rwl_trivial (stderr) helgrind/tests/tc13_laog1 (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc15_laog_lockdel (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) helgrind/tests/tc24_nonzero_sem (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Tue Sep 27 03:32:37 2011 --- new.short Tue Sep 27 03:43:24 2011 *************** *** 8,10 **** ! == 574 tests, 47 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable3 (stderr) --- 8,10 ---- ! == 574 tests, 5 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable3 (stderr) *************** *** 12,57 **** memcheck/tests/linux/stack_switch (stderr) - helgrind/tests/annotate_rwlock (stderr) - helgrind/tests/annotate_smart_pointer (stderr) - helgrind/tests/bar_bad (stderr) - helgrind/tests/free_is_write (stderr) - helgrind/tests/hg01_all_ok (stderr) - helgrind/tests/hg02_deadlock (stderr) - helgrind/tests/hg03_inherit (stderr) - helgrind/tests/hg04_race (stderr) - helgrind/tests/hg05_race2 (stderr) - helgrind/tests/hg06_readshared (stderr) - helgrind/tests/locked_vs_unlocked1_fwd (stderr) - helgrind/tests/locked_vs_unlocked1_rev (stderr) - helgrind/tests/locked_vs_unlocked2 (stderr) - helgrind/tests/locked_vs_unlocked3 (stderr) - helgrind/tests/pth_barrier1 (stderr) - helgrind/tests/pth_barrier2 (stderr) helgrind/tests/pth_barrier3 (stderr) - helgrind/tests/rwlock_race (stderr) - helgrind/tests/rwlock_test (stderr) - helgrind/tests/tc01_simple_race (stderr) - helgrind/tests/tc02_simple_tls (stderr) - helgrind/tests/tc03_re_excl (stderr) - helgrind/tests/tc04_free_lock (stderr) - helgrind/tests/tc05_simple_race (stderr) - helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc06_two_races_xml (stderr) - helgrind/tests/tc07_hbl1 (stderr) - helgrind/tests/tc08_hbl2 (stderr) - helgrind/tests/tc09_bad_unlock (stderr) - helgrind/tests/tc10_rec_lock (stderr) - helgrind/tests/tc11_XCHG (stderr) - helgrind/tests/tc12_rwl_trivial (stderr) - helgrind/tests/tc13_laog1 (stderr) - helgrind/tests/tc14_laog_dinphils (stderr) - helgrind/tests/tc15_laog_lockdel (stderr) - helgrind/tests/tc16_byterace (stderr) - helgrind/tests/tc17_sembar (stderr) - helgrind/tests/tc18_semabuse (stderr) - helgrind/tests/tc19_shadowmem (stderr) - helgrind/tests/tc20_verifywrap (stderr) - helgrind/tests/tc21_pthonce (stderr) - helgrind/tests/tc22_exit_w_lock (stderr) - helgrind/tests/tc23_bogus_condwait (stderr) - helgrind/tests/tc24_nonzero_sem (stderr) --- 12,15 ---- |