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
(6) |
2
(7) |
3
(7) |
4
(5) |
5
|
|
6
|
7
|
8
|
9
(5) |
10
(4) |
11
(5) |
12
(1) |
|
13
(2) |
14
(1) |
15
(2) |
16
(5) |
17
|
18
|
19
|
|
20
|
21
(1) |
22
(8) |
23
(1) |
24
|
25
|
26
(1) |
|
27
(5) |
28
|
29
(15) |
30
(9) |
31
(12) |
|
|
|
From: Greg P. <gp...@ap...> - 2009-12-09 20:49:51
|
On Dec 9, 2009, at 9:13 AM, Alexander Potapenko wrote: > Hi everyone, > > Debugging ThreadSanitizer for Mac OS > (http://code.google.com/p/data-race-test) I've came up with a small > piece of code that makes Valgrind-based threading tools act in a weird > manner. > > The attached code exploits NSOperationQueue from the Foundation > library. > > But neither DRD nor Helgrind cannot cope with this binary: > > drd: drd_thread.c:584 (vgDrd_thread_set_vg_running_tid): Assertion > 'vg_tid != VG_INVALID_THREADID' failed. > ==68403== at 0xF009DCBD: ??? > ==68403== by 0xF009DF71: ??? > ... > > sched status: > running_tid=0 > > Thread 1: status = VgTs_WaitSys > ==68403== at 0x7DDC62: ioctl (in /usr/lib/libSystem.B.dylib) > ==68403== by 0x7EB00A: __smakebuf (in /usr/lib/libSystem.B.dylib) > ==68403== by 0x7EAF0C: __swsetup (in /usr/lib/libSystem.B.dylib) > ==68403== by 0x7BAF8D: __sfvwrite (in /usr/lib/libSystem.B.dylib) > ==68403== by 0x82618F: puts (in /usr/lib/libSystem.B.dylib) > ==68403== by 0x1D0E: Printer::Print() (in > /Users/glider/src/worker_vex_test/nsop) > ==68403== by 0x1BAD: main (in /Users/glider/src/worker_vex_test/nsop) > > Thread 2: status = VgTs_Init > ==68403== at 0x81E2A4: start_wqthread (in /usr/lib/libSystem.B.dylib) > > > Looks like Valgrind tries to execute code in a previously unknown > thread without calling the pre_thread_ll_create method for this > thread. > > Does anyone know whether this is a real bug in VEX or just a > NSOperationQueue misuse? First guess: either Valgrind or those tools aren't correctly handling the thread-creation mechanisms used by NSOperationQueue. Work queues don't go through the normal thread entry points. -- Greg Parker gp...@ap... Runtime Wrangler |
|
From: Alexander P. <gl...@go...> - 2009-12-09 17:13:45
|
Hi everyone, Debugging ThreadSanitizer for Mac OS (http://code.google.com/p/data-race-test) I've came up with a small piece of code that makes Valgrind-based threading tools act in a weird manner. The attached code exploits NSOperationQueue from the Foundation library. To build it, just run: $ g++ nsop.mm -o nsop -framework Foundation If I run ./nsop natively, I get something like: 2009-12-09 19:58:33.021 nsop[64614:10b] *** _NSAutoreleaseNoPool(): Object 0x106580 of class __NSFastEnumerationEnumerator autoreleased with no pool in place - just leaking Stack: (0x92a01f0f 0x9290e442 0x929a41d2 0x929a4597) 2009-12-09 19:58:33.022 nsop[64614:10b] *** _NSAutoreleaseNoPool(): Object 0x10c490 of class NSCFSet autoreleased with no pool in place - just leaking Stack: (0x92a01f0f 0x9290e442 0x92926e63 0x92926b3c 0x929267b8 0x92926493 0x92926242 0x92925e3e 0x929a420f 0x929a4597) 2009-12-09 19:58:33.022 nsop[64614:10b] *** _NSAutoreleaseNoPool(): Object 0x10ce40 of class NSCFSet autoreleased with no pool in place - just leaking Stack: (0x92a01f0f 0x9290e442 0x92926e63 0x92926b3c 0x929267b8 0x92926493 0x92926242 0x92925e3e 0x929a420f 0x929a4597) Printer::Print() BYE Task::Run() But neither DRD nor Helgrind cannot cope with this binary: $ inst/bin/valgrind --tool=drd /Users/glider/src/worker_vex_test/nsop 2>&1 ==68403== drd, a thread error detector ... --68403-- /Users/glider/src/worker_vex_test/nsop: --68403-- dSYM directory is missing; consider using --dsymutil=yes 2009-12-09 20:02:14.368 nsop[68403:50b] *** _NSAutoreleaseNoPool(): Object 0x1cb4d40 of class __NSFastEnumerationEnumerator autoreleased with no pool in place - just leaking Stack: (0x4d1f0f 0x3de442 0x4741d2 0x474597) 2009-12-09 20:02:14.617 nsop[68403:50b] *** _NSAutoreleaseNoPool(): Object 0x1cbcff0 of class NSCFSet autoreleased with no pool in place - just leaking Stack: (0x4d1f0f 0x3de442 0x3f6e63 0x3f6b3c 0x3f67b8 0x3f6493 0x3f6242 0x3f5e3e 0x47420f 0x474597) 2009-12-09 20:02:14.659 nsop[68403:50b] *** _NSAutoreleaseNoPool(): Object 0x1cc12e0 of class NSCFSet autoreleased with no pool in place - just leaking Stack: (0x4d1f0f 0x3de442 0x3f6e63 0x3f6b3c 0x3f67b8 0x3f6493 0x3f6242 0x3f5e3e 0x47420f 0x474597) drd: drd_thread.c:584 (vgDrd_thread_set_vg_running_tid): Assertion 'vg_tid != VG_INVALID_THREADID' failed. ==68403== at 0xF009DCBD: ??? ==68403== by 0xF009DF71: ??? ... sched status: running_tid=0 Thread 1: status = VgTs_WaitSys ==68403== at 0x7DDC62: ioctl (in /usr/lib/libSystem.B.dylib) ==68403== by 0x7EB00A: __smakebuf (in /usr/lib/libSystem.B.dylib) ==68403== by 0x7EAF0C: __swsetup (in /usr/lib/libSystem.B.dylib) ==68403== by 0x7BAF8D: __sfvwrite (in /usr/lib/libSystem.B.dylib) ==68403== by 0x82618F: puts (in /usr/lib/libSystem.B.dylib) ==68403== by 0x1D0E: Printer::Print() (in /Users/glider/src/worker_vex_test/nsop) ==68403== by 0x1BAD: main (in /Users/glider/src/worker_vex_test/nsop) Thread 2: status = VgTs_Init ==68403== at 0x81E2A4: start_wqthread (in /usr/lib/libSystem.B.dylib) Looks like Valgrind tries to execute code in a previously unknown thread without calling the pre_thread_ll_create method for this thread. Does anyone know whether this is a real bug in VEX or just a NSOperationQueue misuse? Thanks, Alexander Potapenko Software Engineer Google Moscow PS. I've filed https://bugs.kde.org/show_bug.cgi?id=216837 some time ago. There is a more practical example of NSOperationQueue use that crashes Helgrind/DRD/TSan as well. |
|
From: Bart V. A. <bar...@gm...> - 2009-12-04 08:52:12
|
Nightly build on cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) Started at 2009-12-04 02:23:19 EST Ended at 2009-12-04 03:51:46 EST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 449 tests, 45 stderr failures, 10 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cases-full (stderr) memcheck/tests/leak-cases-summary (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/linux/timerfd-syscall (stdout) memcheck/tests/linux-syscalls-2007 (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/partiallydefinedeq (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) none/tests/empty-exe (stderr) none/tests/linux/mremap (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) none/tests/shell_zerolength (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) drd/tests/tc23_bogus_condwait (stderr) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/hsg (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) |
|
From: Karsten D. <mny...@tp...> - 2009-12-04 08:24:26
|
Hi! I'm trying to use Valgrind 3.5.0 under SuSE 8.0, but that wasn't as easy as the build requirements suggest: | On Linux, you must be running kernel 2.4.X or later, | and glibc 2.2.X or later. SuSE 8.0 uses Kernel 2.4.18 and glibc 2.2.5, so it should work. But 'configure' complains about the gcc version: | checking for a supported version of gcc... no (2.95.3) | configure: error: please use a recent (>= gcc-3.0) version of gcc I think this should be mentioned in the build requirements! You can install gcc 3.0.4 via gcc30-3.0.4-25.i386.rpm, but this will install itself to /opt/experimental. Tweaking the environment, at least 'configure' is happy: | CC=/opt/experimental/bin/cc LDFLAGS=-L/opt/experimental/lib \ | CPP=/opt/experimental/bin/cpp CPPFLAGS=-I/opt/experimental/include \ | CXX=/opt/experimental/bin/g++ ./configure But 'make' isn't. SuSE 8.0 is using 'GNU bash, version 2.05.0(1)' which in theory supports empty lists in a for..in construct, but in practice fails if you don't give a in-list at all: | make[3]: Entering directory `/nsrc/kddev/tools/valgrind- | 3.5.0/coregrind' | mkdir -p ../.in_place; \ | for f in vgpreload_core-x86-linux.so ; do \ | rm -f ../.in_place/$f; \ | ln -f -s ../coregrind/$f ../.in_place; \ | done | for f in ; do \ | if [ ! -e $f.dSYM -o $f -nt $f.dSYM ] ; then \ | echo "dsymutil $f"; \ | dsymutil $f; \ | fi; \ | done | /bin/sh: -c: line 1: syntax error near unexpected token `;' | /bin/sh: -c: line 1: `for f in ; do if [ ! -e $f.dSYM -o $f -nt | $f.dSYM ] ; then echo "dsymutil $f"; dsymutil $f; fi; done' The culprit with this bash version is: for i in $() ; do echo 23 ; done will work as expected (i.e. no output, but no error) while for i in ; do echo 23 ; done won't (syntax error). The actual problem in the Valgrind makefiles are these constructs: | for f in $(noinst_DSYMS); do \ because noinst_DSYMS isn't defined. I tried various presettings of noinst_DSYMS, but to no avail. Any suggestions except hacking all makefiles? Karsten |
|
From: Alexander P. <gl...@go...> - 2009-12-04 06:28:27
|
Nightly build on mcgrind ( Darwin 9.7.0 i386 ) Started at 2009-12-04 09:06:00 MSK Ended at 2009-12-04 09:24:59 MSK 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 == 433 tests, 22 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/null_socket (stdout) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) none/tests/async-sigs (stderr) none/tests/faultstatus (stderr) none/tests/pth_blockedsig (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/rwlock_race (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc23_bogus_condwait (stderr) -- Alexander Potapenko Software Engineer Google Moscow |
|
From: Tom H. <th...@cy...> - 2009-12-04 03:49:40
|
Nightly build on lloyd ( x86_64, Fedora 7 ) Started at 2009-12-04 03:05:06 GMT Ended at 2009-12-04 03:49:14 GMT 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 == 531 tests, 2 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) helgrind/tests/tc06_two_races_xml (stderr) |
|
From: Tom H. <th...@cy...> - 2009-12-04 03:36:41
|
Nightly build on mg ( x86_64, Fedora 9 ) Started at 2009-12-04 03:10:06 GMT Ended at 2009-12-04 03:36:15 GMT 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 == 538 tests, 2 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) helgrind/tests/tc06_two_races_xml (stderr) |
|
From: <sv...@va...> - 2009-12-03 14:35:29
|
Author: sewardj
Date: 2009-12-03 14:35:15 +0000 (Thu, 03 Dec 2009)
New Revision: 10964
Log:
Double the size of some table to do with reading CIEs.
Modified:
trunk/coregrind/m_debuginfo/readdwarf.c
Modified: trunk/coregrind/m_debuginfo/readdwarf.c
===================================================================
--- trunk/coregrind/m_debuginfo/readdwarf.c 2009-12-03 09:50:32 UTC (rev 10963)
+++ trunk/coregrind/m_debuginfo/readdwarf.c 2009-12-03 14:35:15 UTC (rev 10964)
@@ -3446,7 +3446,7 @@
cie->saw_z_augmentation = False;
}
-#define N_CIEs 2000
+#define N_CIEs 4000
static CIE the_CIEs[N_CIEs];
|
|
From: <sv...@va...> - 2009-12-03 09:50:51
|
Author: sewardj
Date: 2009-12-03 09:50:38 +0000 (Thu, 03 Dec 2009)
New Revision: 1938
Log:
Testing hacklet, to fill the vex tmp allocation area before each
translation, with 0x00 or 0xFF or whatever.
Modified:
trunk/priv/main_util.c
Modified: trunk/priv/main_util.c
===================================================================
--- trunk/priv/main_util.c 2009-12-02 01:27:22 UTC (rev 1937)
+++ trunk/priv/main_util.c 2009-12-03 09:50:38 UTC (rev 1938)
@@ -192,6 +192,16 @@
mode = VexAllocModeTEMP;
temporary_curr = &temporary[0];
private_LibVEX_alloc_curr = &temporary[0];
+
+ /* Set to (1) and change the fill byte to 0x00 or 0xFF to test for
+ any potential bugs due to using uninitialised memory in the main
+ VEX storage area. */
+ if (0) {
+ Int i;
+ for (i = 0; i < N_TEMPORARY_BYTES; i++)
+ temporary[i] = 0x00;
+ }
+
vexAllocSanityCheck();
}
|
|
From: <sv...@va...> - 2009-12-03 09:50:48
|
Author: tom
Date: 2009-12-03 09:50:32 +0000 (Thu, 03 Dec 2009)
New Revision: 10963
Log:
Cope with prelink splitting the bss section of an ELF file into separate
dynbss and bss sections by merging them back together again.
This means that (a) we will find variables in the bss and (b) we won't
assert when there is a debuginfo file present where the bss is still
in one piece.
Patch from Jakub Jelinek, closes #217084.
Modified:
trunk/coregrind/m_debuginfo/readelf.c
Modified: trunk/coregrind/m_debuginfo/readelf.c
===================================================================
--- trunk/coregrind/m_debuginfo/readelf.c 2009-12-02 16:19:12 UTC (rev 10962)
+++ trunk/coregrind/m_debuginfo/readelf.c 2009-12-03 09:50:32 UTC (rev 10963)
@@ -1062,6 +1062,8 @@
Bool res, ok;
SysRes fd, sres;
Word i;
+ Bool dynbss_present = False;
+ Bool sdynbss_present = False;
/* Image addresses for the ELF file we're working with. */
Addr oimage = 0;
@@ -1476,8 +1478,40 @@
}
}
+ if (0 == VG_(strcmp)(name, ".dynbss")) {
+ if (inrw && size > 0 && !di->bss_present) {
+ dynbss_present = True;
+ di->bss_present = True;
+ di->bss_svma = svma;
+ di->bss_avma = svma + rw_bias;
+ di->bss_size = size;
+ di->bss_bias = rw_bias;
+ di->bss_debug_svma = svma;
+ di->bss_debug_bias = rw_bias;
+ TRACE_SYMTAB("acquiring .dynbss svma = %#lx .. %#lx\n",
+ di->bss_svma,
+ di->bss_svma + di->bss_size - 1);
+ TRACE_SYMTAB("acquiring .dynbss avma = %#lx .. %#lx\n",
+ di->bss_avma,
+ di->bss_avma + di->bss_size - 1);
+ TRACE_SYMTAB("acquiring .dynbss bias = %#lx\n", di->bss_bias);
+ }
+ }
+
/* Accept .bss where mapped as rw (data), even if zero-sized */
if (0 == VG_(strcmp)(name, ".bss")) {
+ if (inrw && size > 0 && dynbss_present) {
+ vg_assert(di->bss_present);
+ dynbss_present = False;
+ vg_assert(di->bss_svma + di->bss_size == svma);
+ di->bss_size += size;
+ TRACE_SYMTAB("acquiring .bss svma = %#lx .. %#lx\n",
+ svma, svma + size - 1);
+ TRACE_SYMTAB("acquiring .bss avma = %#lx .. %#lx\n",
+ svma + rw_bias, svma + rw_bias + size - 1);
+ TRACE_SYMTAB("acquiring .bss bias = %#lx\n", di->bss_bias);
+ } else
+
if (inrw && size >= 0 && !di->bss_present) {
di->bss_present = True;
di->bss_svma = svma;
@@ -1529,8 +1563,40 @@
}
}
+ if (0 == VG_(strcmp)(name, ".sdynbss")) {
+ if (inrw && size >= 0 && !di->sbss_present) {
+ sdynbss_present = True;
+ di->sbss_present = True;
+ di->sbss_svma = svma;
+ di->sbss_avma = svma + rw_bias;
+ di->sbss_size = size;
+ di->sbss_bias = rw_bias;
+ di->sbss_debug_svma = svma;
+ di->sbss_debug_bias = rw_bias;
+ TRACE_SYMTAB("acquiring .sdynbss svma = %#lx .. %#lx\n",
+ di->sbss_svma,
+ di->sbss_svma + di->sbss_size - 1);
+ TRACE_SYMTAB("acquiring .sdynbss avma = %#lx .. %#lx\n",
+ di->sbss_avma,
+ di->sbss_avma + di->sbss_size - 1);
+ TRACE_SYMTAB("acquiring .sdynbss bias = %#lx\n", di->sbss_bias);
+ }
+ }
+
/* Accept .sbss where mapped as rw (data) */
if (0 == VG_(strcmp)(name, ".sbss")) {
+ if (inrw && size > 0 && sdynbss_present) {
+ vg_assert(di->sbss_present);
+ sdynbss_present = False;
+ vg_assert(di->sbss_svma + di->sbss_size == svma);
+ di->sbss_size += size;
+ TRACE_SYMTAB("acquiring .sbss svma = %#lx .. %#lx\n",
+ svma, svma + size - 1);
+ TRACE_SYMTAB("acquiring .sbss avma = %#lx .. %#lx\n",
+ svma + rw_bias, svma + rw_bias + size - 1);
+ TRACE_SYMTAB("acquiring .sbss bias = %#lx\n", di->sbss_bias);
+ } else
+
if (inrw && size > 0 && !di->sbss_present) {
di->sbss_present = True;
di->sbss_svma = svma;
|
|
From: Alexander P. <gl...@go...> - 2009-12-03 08:38:02
|
Nightly build on mcgrind ( Darwin 9.7.0 i386 ) Started at 2009-12-03 09:06:00 MSK Ended at 2009-12-03 09:24:55 MSK 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 == 433 tests, 22 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/null_socket (stdout) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) none/tests/async-sigs (stderr) none/tests/faultstatus (stderr) none/tests/pth_blockedsig (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/rwlock_race (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc23_bogus_condwait (stderr) -- Alexander Potapenko Software Engineer Google Moscow |
|
From: Bart V. A. <bar...@gm...> - 2009-12-03 08:28:43
|
Nightly build on cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) Started at 2009-12-03 02:00:05 EST Ended at 2009-12-03 03:28:23 EST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 449 tests, 45 stderr failures, 10 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cases-full (stderr) memcheck/tests/leak-cases-summary (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/linux/timerfd-syscall (stdout) memcheck/tests/linux-syscalls-2007 (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/partiallydefinedeq (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) none/tests/empty-exe (stderr) none/tests/linux/mremap (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) none/tests/shell_zerolength (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) drd/tests/tc23_bogus_condwait (stderr) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/hsg (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) |
|
From: Tom H. <th...@cy...> - 2009-12-03 03:50:12
|
Nightly build on lloyd ( x86_64, Fedora 7 ) Started at 2009-12-03 03:05:05 GMT Ended at 2009-12-03 03:49:45 GMT 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 == 531 tests, 2 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) helgrind/tests/tc06_two_races_xml (stderr) |
|
From: Tom H. <th...@cy...> - 2009-12-03 03:38:20
|
Nightly build on mg ( x86_64, Fedora 9 ) Started at 2009-12-03 03:10:09 GMT Ended at 2009-12-03 03:37:50 GMT 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 == 538 tests, 2 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) helgrind/tests/tc06_two_races_xml (stderr) |
|
From: <sv...@va...> - 2009-12-02 16:19:28
|
Author: tom
Date: 2009-12-02 16:19:12 +0000 (Wed, 02 Dec 2009)
New Revision: 10962
Log:
It seems whoever wrote the preadv and pwritev system calls in the
kernel decided it would be fun to make them always take the low word
of the offset argument before the high word regardless of the
endianism of the system... Consistency - they've heard of it...
Modified:
trunk/coregrind/m_syswrap/syswrap-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c 2009-12-01 18:10:49 UTC (rev 10961)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c 2009-12-02 16:19:12 UTC (rev 10962)
@@ -379,6 +379,7 @@
#define POST(name) DEFN_POST_TEMPLATE(linux, name)
// Macros to support 64-bit syscall args split into two 32 bit values
+#define LOHI64(lo,hi) ( ((ULong)(lo)) | (((ULong)(hi)) << 32) )
#if defined(VG_LITTLEENDIAN)
#define MERGE64(lo,hi) ( ((ULong)(lo)) | (((ULong)(hi)) << 32) )
#define MERGE64_FIRST(name) name##_low
@@ -3161,11 +3162,13 @@
struct vki_iovec * vec;
*flags |= SfMayBlock;
#if VG_WORDSIZE == 4
- PRINT("sys_preadv ( %ld, %#lx, %llu, %lld )",ARG1,ARG2,(ULong)ARG3,MERGE64(ARG4,ARG5));
+ /* Note that the offset argument here is in lo+hi order on both
+ big and little endian platforms... */
+ PRINT("sys_preadv ( %ld, %#lx, %llu, %lld )",ARG1,ARG2,(ULong)ARG3,LOHI64(ARG4,ARG5));
PRE_REG_READ5(ssize_t, "preadv",
unsigned long, fd, const struct iovec *, vector,
- unsigned long, count, vki_u32, MERGE64_FIRST(offset),
- vki_u32, MERGE64_SECOND(offset));
+ unsigned long, count, vki_u32, offset_low,
+ vki_u32, offset_high);
#elif VG_WORDSIZE == 8
PRINT("sys_preadv ( %ld, %#lx, %llu, %lld )",ARG1,ARG2,(ULong)ARG3,(Long)ARG4);
PRE_REG_READ4(ssize_t, "preadv",
@@ -3214,11 +3217,13 @@
struct vki_iovec * vec;
*flags |= SfMayBlock;
#if VG_WORDSIZE == 4
- PRINT("sys_pwritev ( %ld, %#lx, %llu, %lld )",ARG1,ARG2,(ULong)ARG3,MERGE64(ARG4,ARG5));
+ /* Note that the offset argument here is in lo+hi order on both
+ big and little endian platforms... */
+ PRINT("sys_pwritev ( %ld, %#lx, %llu, %lld )",ARG1,ARG2,(ULong)ARG3,LOHI64(ARG4,ARG5));
PRE_REG_READ5(ssize_t, "pwritev",
unsigned long, fd, const struct iovec *, vector,
- unsigned long, count, vki_u32, MERGE64_FIRST(offset),
- vki_u32, MERGE64_SECOND(offset));
+ unsigned long, count, vki_u32, offset_low,
+ vki_u32, offset_high);
#elif VG_WORDSIZE == 8
PRINT("sys_pwritev ( %ld, %#lx, %llu, %lld )",ARG1,ARG2,(ULong)ARG3,(Long)ARG4);
PRE_REG_READ4(ssize_t, "pwritev",
|
|
From: Muhammad M. J. <man...@gm...> - 2009-12-02 15:39:33
|
Hi guys, I am compiling trunk on AIX 5 and have hit a #error in include/pub_tool_basics.h: # error "need to define SysRes accessors on AIX5 (copy from 3.4.1 sources)" I grabbed a bunch of older revisions of the file, and cannot find any definitions that I can “copy from 3.4.1 sources”. The #error was added when the Linux accessor functions were added. Given that the AIX SysRes struct is not defined the same way as its Linux counterpart, I cannot do a simple copy/paste of the Linux accessor functions into the AIX section. Any help to get this compiled would be greatly appreciated. Thanks, Mansoor |
|
From: Alexander P. <gl...@go...> - 2009-12-02 08:54:10
|
Nightly build on mcgrind ( Darwin 9.7.0 i386 ) Started at 2009-12-02 09:06:00 MSK Ended at 2009-12-02 09:24:57 MSK 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 == 433 tests, 22 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/null_socket (stdout) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) none/tests/async-sigs (stderr) none/tests/faultstatus (stderr) none/tests/pth_blockedsig (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/rwlock_race (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc23_bogus_condwait (stderr) -- Alexander Potapenko Software Engineer Google Moscow |
|
From: Bart V. A. <bar...@gm...> - 2009-12-02 08:27:16
|
Nightly build on cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) Started at 2009-12-02 02:00:08 EST Ended at 2009-12-02 03:26:56 EST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Last 20 lines of verbose log follow echo Checking out valgrind source tree ... svn co svn://svn.valgrind.org/valgrind/trunk -r {2009-12-02T02:00:08} valgrind-new Job ID = 23613.cell-user.cell.buzz svn: Can't connect to host 'svn.valgrind.org': No route to host Configuring valgrind ... cd valgrind-new && ./autogen.sh && ./configure --prefix=/home/bart/software/valgrind/nightly/valgrind-new/Inst Job ID = 23614.cell-user.cell.buzz /var/spool/PBS/mom_priv/jobs/23614.cell-user.cell.buzz.SC: line 1: cd: valgrind-new: No such file or directory Building valgrind ... cd valgrind-new && make -j 2 && make -j 2 check && make install Job ID = 23615.cell-user.cell.buzz /var/spool/PBS/mom_priv/jobs/23615.cell-user.cell.buzz.SC: line 1: cd: valgrind-new: No such file or directory Running regression tests ... cd valgrind-new && make regtest Job ID = 23616.cell-user.cell.buzz /var/spool/PBS/mom_priv/jobs/23616.cell-user.cell.buzz.SC: line 1: cd: valgrind-new: No such file or directory ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 449 tests, 45 stderr failures, 10 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cases-full (stderr) memcheck/tests/leak-cases-summary (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/linux/timerfd-syscall (stdout) memcheck/tests/linux-syscalls-2007 (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/partiallydefinedeq (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) none/tests/empty-exe (stderr) none/tests/linux/mremap (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) none/tests/shell_zerolength (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) drd/tests/tc23_bogus_condwait (stderr) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/hsg (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Wed Dec 2 03:05:24 2009 --- new.short Wed Dec 2 03:26:56 2009 *************** *** 6,65 **** ! Regression test results follow ! ! == 449 tests, 45 stderr failures, 10 stdout failures, 0 post failures == ! memcheck/tests/deep_templates (stdout) ! memcheck/tests/leak-cases-full (stderr) ! memcheck/tests/leak-cases-summary (stderr) ! memcheck/tests/leak-cycle (stderr) ! memcheck/tests/linux/timerfd-syscall (stdout) ! memcheck/tests/linux-syscalls-2007 (stderr) ! memcheck/tests/origin5-bz2 (stderr) ! memcheck/tests/partiallydefinedeq (stderr) ! memcheck/tests/varinfo1 (stderr) ! memcheck/tests/varinfo2 (stderr) ! memcheck/tests/varinfo3 (stderr) ! memcheck/tests/varinfo4 (stderr) ! memcheck/tests/varinfo5 (stderr) ! memcheck/tests/varinfo6 (stderr) ! memcheck/tests/wrap8 (stdout) ! memcheck/tests/wrap8 (stderr) ! none/tests/empty-exe (stderr) ! none/tests/linux/mremap (stderr) ! none/tests/ppc32/jm-fp (stdout) ! none/tests/ppc32/jm-vmx (stdout) ! none/tests/ppc32/round (stdout) ! none/tests/ppc32/test_gx (stdout) ! none/tests/ppc64/jm-fp (stdout) ! none/tests/ppc64/jm-vmx (stdout) ! none/tests/ppc64/round (stdout) ! none/tests/shell_valid2 (stderr) ! none/tests/shell_valid3 (stderr) ! none/tests/shell_zerolength (stderr) ! helgrind/tests/hg05_race2 (stderr) ! helgrind/tests/tc06_two_races_xml (stderr) ! helgrind/tests/tc22_exit_w_lock (stderr) ! helgrind/tests/tc23_bogus_condwait (stderr) ! drd/tests/tc23_bogus_condwait (stderr) ! exp-ptrcheck/tests/bad_percentify (stderr) ! exp-ptrcheck/tests/base (stderr) ! exp-ptrcheck/tests/ccc (stderr) ! exp-ptrcheck/tests/fp (stderr) ! exp-ptrcheck/tests/globalerr (stderr) ! exp-ptrcheck/tests/hackedbz2 (stderr) ! exp-ptrcheck/tests/hp_bounds (stderr) ! exp-ptrcheck/tests/hp_dangle (stderr) ! exp-ptrcheck/tests/hsg (stderr) ! exp-ptrcheck/tests/justify (stderr) ! exp-ptrcheck/tests/partial_bad (stderr) ! exp-ptrcheck/tests/partial_good (stderr) ! exp-ptrcheck/tests/preen_invars (stderr) ! exp-ptrcheck/tests/pth_create (stderr) ! exp-ptrcheck/tests/pth_specific (stderr) ! exp-ptrcheck/tests/realloc (stderr) ! exp-ptrcheck/tests/stackerr (stderr) ! exp-ptrcheck/tests/strcpy (stderr) ! exp-ptrcheck/tests/supp (stderr) ! exp-ptrcheck/tests/tricky (stderr) ! exp-ptrcheck/tests/unaligned (stderr) ! exp-ptrcheck/tests/zero (stderr) --- 6,20 ---- ! Last 20 lines of verbose log follow echo + Checking out valgrind source tree ... svn co svn://svn.valgrind.org/valgrind/trunk -r {2009-12-02T02:00:08} valgrind-new + Job ID = 23613.cell-user.cell.buzz + svn: Can't connect to host 'svn.valgrind.org': No route to host + Configuring valgrind ... cd valgrind-new && ./autogen.sh && ./configure --prefix=/home/bart/software/valgrind/nightly/valgrind-new/Inst + Job ID = 23614.cell-user.cell.buzz + /var/spool/PBS/mom_priv/jobs/23614.cell-user.cell.buzz.SC: line 1: cd: valgrind-new: No such file or directory + Building valgrind ... cd valgrind-new && make -j 2 && make -j 2 check && make install + Job ID = 23615.cell-user.cell.buzz + /var/spool/PBS/mom_priv/jobs/23615.cell-user.cell.buzz.SC: line 1: cd: valgrind-new: No such file or directory + Running regression tests ... cd valgrind-new && make regtest + Job ID = 23616.cell-user.cell.buzz + /var/spool/PBS/mom_priv/jobs/23616.cell-user.cell.buzz.SC: line 1: cd: valgrind-new: No such file or directory |
|
From: Tom H. <th...@cy...> - 2009-12-02 03:49:35
|
Nightly build on lloyd ( x86_64, Fedora 7 ) Started at 2009-12-02 03:05:04 GMT Ended at 2009-12-02 03:49:13 GMT 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 == 531 tests, 2 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) helgrind/tests/tc06_two_races_xml (stderr) |
|
From: Tom H. <th...@cy...> - 2009-12-02 03:36:04
|
Nightly build on mg ( x86_64, Fedora 9 ) Started at 2009-12-02 03:10:04 GMT Ended at 2009-12-02 03:35:44 GMT 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 == 538 tests, 2 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) helgrind/tests/tc06_two_races_xml (stderr) |
|
From: <sv...@va...> - 2009-12-02 01:27:35
|
Author: sewardj
Date: 2009-12-02 01:27:22 +0000 (Wed, 02 Dec 2009)
New Revision: 1937
Log:
Implement ARMv6 SBFX and UBFX instructions.
Modified:
branches/ARM/priv/guest_arm_toIR.c
Modified: branches/ARM/priv/guest_arm_toIR.c
===================================================================
--- branches/ARM/priv/guest_arm_toIR.c 2009-11-29 21:16:07 UTC (rev 1936)
+++ branches/ARM/priv/guest_arm_toIR.c 2009-12-02 01:27:22 UTC (rev 1937)
@@ -4273,6 +4273,43 @@
/* fall through */
}
+ /* ------------------- {u,s}bfx ------------------- */
+ if (BITS8(0,1,1,1,1,0,1,0) == (insn_27_20 & BITS8(1,1,1,1,1,0,1,0))
+ && BITS4(0,1,0,1) == (insn_7_4 & BITS4(0,1,1,1))) {
+ UInt rD = insn_15_12;
+ UInt rN = insn_3_0;
+ UInt wm1 = (insn >> 16) & 0x1F; /* 20:16 */
+ UInt lsb = (insn >> 7) & 0x1F; /* 11:7 */
+ UInt msb = lsb + wm1;
+ UInt isU = (insn >> 22) & 1; /* 22:22 */
+ if (rD == 15 || rN == 15 || msb >= 32) {
+ /* undecodable; fall through */
+ } else {
+ IRTemp src = newTemp(Ity_I32);
+ IRTemp tmp = newTemp(Ity_I32);
+ IRTemp res = newTemp(Ity_I32);
+ UInt mask = ((1 << wm1) - 1) + (1 << wm1);
+ vassert(msb >= 0 && msb <= 31);
+ vassert(mask != 0); // guaranteed by msb being in 0 .. 31 inclusive
+
+ assign(src, getIReg(rN));
+ assign(tmp, binop(Iop_And32,
+ binop(Iop_Shr32, mkexpr(src), mkU8(lsb)),
+ mkU32(mask)));
+ assign(res, binop(isU ? Iop_Shr32 : Iop_Sar32,
+ binop(Iop_Shl32, mkexpr(tmp), mkU8(31-wm1)),
+ mkU8(31-wm1)));
+
+ putIReg(rD, mkexpr(res), condT, Ijk_Boring);
+
+ DIP("%s%s r%u, r%u, #%u, #%u\n",
+ isU ? "ubfx" : "sbfx",
+ nCC(insn_cond), rD, rN, lsb, wm1 + 1);
+ goto decode_success;
+ }
+ /* fall through */
+ }
+
/* ----------------------------------------------------------- */
/* -- Undecodable -- */
/* ----------------------------------------------------------- */
|
|
From: <sv...@va...> - 2009-12-01 18:11:03
|
Author: sewardj
Date: 2009-12-01 18:10:49 +0000 (Tue, 01 Dec 2009)
New Revision: 10961
Log:
Avoid use of integer division in the overflow test for calloc, for
reasons explained at length in comments (in short, to avoid runtime
link failures on arm-linux)
Modified:
branches/ARM/coregrind/m_replacemalloc/vg_replace_malloc.c
Modified: branches/ARM/coregrind/m_replacemalloc/vg_replace_malloc.c
===================================================================
--- branches/ARM/coregrind/m_replacemalloc/vg_replace_malloc.c 2009-12-01 10:25:12 UTC (rev 10960)
+++ branches/ARM/coregrind/m_replacemalloc/vg_replace_malloc.c 2009-12-01 18:10:49 UTC (rev 10961)
@@ -42,6 +42,23 @@
It is called vg_replace_malloc.c because this filename appears in stack
traces, so we want the name to be (hopefully!) meaningful to users.
+
+ IMPORTANT: this file must not contain any floating point code, nor
+ any integer division. This is because on ARM these can cause calls
+ to helper functions, which will be unresolved within this .so.
+ Although it is usually the case that the client's ld.so instance
+ can bind them at runtime to the relevant functions in the client
+ executable, there is no guarantee of this; and so the client may
+ die via a runtime link failure. Hence the only safe approach is to
+ avoid such function calls in the first place. See "#define CALLOC"
+ below for a specific example.
+
+ A useful command is
+ for f in `find . -name "*preload*.so*"` ; \
+ do nm -A $f | grep " U " ; \
+ done
+
+ to see all the undefined symbols in all the preload shared objects.
------------------------------------------------------------------ */
#include "pub_core_basics.h"
@@ -94,6 +111,30 @@
#endif
+/* Compute the high word of the double-length unsigned product of U
+ and V. This is for calloc argument overflow checking; see comments
+ below. Algorithm as described in Hacker's Delight, chapter 8. */
+static UWord umulHW ( UWord u, UWord v )
+{
+ UWord u0, v0, w0, rHi;
+ UWord u1, v1, w1,w2,t;
+ UWord halfMask = sizeof(UWord)==4 ? (UWord)0xFFFF
+ : (UWord)0xFFFFFFFFULL;
+ UWord halfShift = sizeof(UWord)==4 ? 16 : 32;
+ u0 = u & halfMask;
+ u1 = u >> halfShift;
+ v0 = v & halfMask;
+ v1 = v >> halfShift;
+ w0 = u0 * v0;
+ t = u1 * v0 + (w0 >> halfShift);
+ w1 = t & halfMask;
+ w2 = t >> halfShift;
+ w1 = u0 * v1 + w1;
+ rHi = u1 * v1 + w2 + (w1 >> halfShift);
+ return rHi;
+}
+
+
/*------------------------------------------------------------*/
/*--- Replacing malloc() et al ---*/
/*------------------------------------------------------------*/
@@ -408,8 +449,16 @@
if (!init_done) init(); \
MALLOC_TRACE("calloc(%llu,%llu)", (ULong)nmemb, (ULong)size ); \
\
- /* Protect against overflow. See bug 24078. */ \
- if (size && nmemb > (SizeT)-1 / size) return NULL; \
+ /* Protect against overflow. See bug 24078. (that bug number is
+ invalid. Which one really?) */ \
+ /* But don't use division, since that produces an external symbol
+ reference on ARM, in the form of a call to __aeabi_uidiv. It's
+ normally OK, because ld.so manages to resolve it to something in the
+ executable, or one of its shared objects. But that isn't guaranteed
+ to be the case, and it has been observed to fail in rare cases, eg:
+ echo x | valgrind /bin/sed -n "s/.*-\>\ //p"
+ So instead compute the high word of the product and check it is zero. */ \
+ if (umulHW(size, nmemb) != 0) return NULL; \
v = (void*)VALGRIND_NON_SIMD_CALL2( info.tl_calloc, nmemb, size ); \
MALLOC_TRACE(" = %p\n", v ); \
return v; \
|
|
From: <sv...@va...> - 2009-12-01 10:25:22
|
Author: tom
Date: 2009-12-01 10:25:12 +0000 (Tue, 01 Dec 2009)
New Revision: 10960
Log:
Add some newlines to make signal debugging messages more readable.
Modified:
trunk/coregrind/m_syswrap/syswrap-main.c
Modified: trunk/coregrind/m_syswrap/syswrap-main.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-main.c 2009-11-30 09:05:50 UTC (rev 10959)
+++ trunk/coregrind/m_syswrap/syswrap-main.c 2009-12-01 10:25:12 UTC (rev 10960)
@@ -1971,7 +1971,7 @@
if (VG_(clo_trace_signals))
VG_(message)( Vg_DebugMsg,
"interrupted_syscall: tid=%d, ip=0x%llx, "
- "restart=%s, sres.isErr=%s, sres.val=%lld",
+ "restart=%s, sres.isErr=%s, sres.val=%lld\n",
(Int)tid,
(ULong)ip,
restart ? "True" : "False",
@@ -1991,7 +1991,7 @@
if (outside_range) {
if (VG_(clo_trace_signals))
VG_(message)( Vg_DebugMsg,
- " not in syscall at all: hmm, very suspicious" );
+ " not in syscall at all: hmm, very suspicious\n" );
/* Looks like we weren't in a syscall at all. Hmm. */
vg_assert(sci->status.what != SsIdle);
return;
@@ -2008,7 +2008,7 @@
if (in_setup_to_restart) {
/* syscall hasn't even started; go around again */
if (VG_(clo_trace_signals))
- VG_(message)( Vg_DebugMsg, " not started: restarting");
+ VG_(message)( Vg_DebugMsg, " not started: restarting\n");
vg_assert(sci->status.what == SsHandToKernel);
ML_(fixup_guest_state_to_restart_syscall)(th_regs);
}
@@ -2020,11 +2020,11 @@
EINTR it. */
if (restart) {
if (VG_(clo_trace_signals))
- VG_(message)( Vg_DebugMsg, " at syscall instr: restarting");
+ VG_(message)( Vg_DebugMsg, " at syscall instr: restarting\n");
ML_(fixup_guest_state_to_restart_syscall)(th_regs);
} else {
if (VG_(clo_trace_signals))
- VG_(message)( Vg_DebugMsg, " at syscall instr: returning EINTR");
+ VG_(message)( Vg_DebugMsg, " at syscall instr: returning EINTR\n");
canonical = convert_SysRes_to_SyscallStatus(
VG_(mk_SysRes_Error)( VKI_EINTR )
);
@@ -2042,7 +2042,7 @@
state. */
if (VG_(clo_trace_signals))
VG_(message)( Vg_DebugMsg,
- " completed, but uncommitted: committing");
+ " completed, but uncommitted: committing\n");
canonical = convert_SysRes_to_SyscallStatus( sres );
if (!(sci->flags & SfNoWriteResult))
putSyscallStatusIntoGuestState( tid, &canonical, &th_regs->vex );
@@ -2057,7 +2057,7 @@
this up. */
if (VG_(clo_trace_signals))
VG_(message)( Vg_DebugMsg,
- " completed and committed: nothing to do");
+ " completed and committed: nothing to do\n");
getSyscallStatusFromGuestState( &sci->status, &th_regs->vex );
vg_assert(sci->status.what == SsComplete);
VG_(post_syscall)(tid);
|
|
From: Alexander P. <gl...@go...> - 2009-12-01 09:17:03
|
Nightly build on mcgrind ( Darwin 9.7.0 i386 ) Started at 2009-12-01 09:06:00 MSK Ended at 2009-12-01 09:25:25 MSK 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 == 433 tests, 22 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/null_socket (stdout) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) none/tests/async-sigs (stderr) none/tests/faultstatus (stderr) none/tests/pth_blockedsig (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/rwlock_race (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc23_bogus_condwait (stderr) -- Alexander Potapenko Software Engineer Google Moscow |
|
From: Bart V. A. <bar...@gm...> - 2009-12-01 08:50:49
|
Nightly build on cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) Started at 2009-12-01 02:23:30 EST Ended at 2009-12-01 03:50:29 EST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 449 tests, 45 stderr failures, 10 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cases-full (stderr) memcheck/tests/leak-cases-summary (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/linux/timerfd-syscall (stdout) memcheck/tests/linux-syscalls-2007 (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/partiallydefinedeq (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) none/tests/empty-exe (stderr) none/tests/linux/mremap (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) none/tests/shell_zerolength (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) drd/tests/tc23_bogus_condwait (stderr) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/hsg (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) |