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
(12) |
2
(9) |
|
3
(23) |
4
(24) |
5
(9) |
6
(7) |
7
(5) |
8
(2) |
9
(6) |
|
10
(5) |
11
(3) |
12
(11) |
13
(4) |
14
|
15
(3) |
16
(4) |
|
17
(3) |
18
(6) |
19
|
20
(1) |
21
(9) |
22
(8) |
23
(1) |
|
24
|
25
(2) |
26
(3) |
27
(16) |
28
(17) |
29
(22) |
30
(7) |
|
31
(4) |
|
|
|
|
|
|
|
From: Julian S. <js...@ac...> - 2010-01-04 01:13:45
|
Committed as r11006. Thanks. J On Wednesday 23 December 2009, Dmitry Zhurikhin wrote: > Hello. > > It seems like ARM branch can't be compiled with recent versions of GCC > (stock GCC 4.4 and CodeSourcery arm-2008q3 or even earlier). A patch is > attached that allows building of Valgrind. Probably the reason for the > failure is in the GCC version 4.4 changelog: "On ARM EABI targets, the C++ > mangling of the va_list type has been changed to conform to the current > revision of the EABI". This should mean that for ARM va_list is not > integer (but a structure it seems) anymore which is still true for other > platforms that Valgrind supports. Valgrind sources are written in such a > way that it wants va_list to be able to be casted to an integer type > implicitly. This is no longer available in current GCC for ARM. Seems > like CodeSourcery made this change a little bit earlier (as original GCC > version 4.3.2 is able to build Valgrind without errors). Please review the > patch. It only makes a cast using union. > > Following is the error log: > In file included from m_debuglog.c:57: > ../include/valgrind.h: In function 'VALGRIND_PRINTF': > ../include/valgrind.h:4186: error: aggregate value used where an integer > was expected > ../include/valgrind.h: In function 'VALGRIND_PRINTF_BACKTRACE': > ../include/valgrind.h:4201: error: aggregate value used where an integer > was expected > make[3]: *** [libcoregrind_arm_linux_a-m_debuglog.o] Error 1 > make[3]: *** Waiting for unfinished jobs.... > mv -f .deps/libcoregrind_arm_linux_a-m_debugger.Tpo > .deps/libcoregrind_arm_linux_a-m_debugger.Po > mv -f .deps/libcoregrind_arm_linux_a-m_commandline.Tpo > .deps/libcoregrind_arm_linux_a-m_commandline.Po > make[3]: Leaving directory > `/home/batuzovk/valgrind/valgrind-clean/coregrind' make[2]: *** [all] Error > 2 > make[2]: Leaving directory > `/home/batuzovk/valgrind/valgrind-clean/coregrind' make[1]: *** > [all-recursive] Error 1 > make[1]: Leaving directory `/home/batuzovk/valgrind/valgrind-clean' > make: *** [all] Error 2 > > > Regards, > Dmitry |
|
From: <sv...@va...> - 2010-01-04 01:01:12
|
Author: sewardj
Date: 2010-01-04 01:01:02 +0000 (Mon, 04 Jan 2010)
New Revision: 11006
Log:
Don't assume that va_list can be casted to an unsigned word. Fixes
the build on arm-linux with gcc-4.4 or later. Patch from Dmitry
Zhurikhin.
Modified:
trunk/coregrind/m_scheduler/scheduler.c
trunk/coregrind/pub_core_clreq.h
trunk/include/valgrind.h
Modified: trunk/coregrind/m_scheduler/scheduler.c
===================================================================
--- trunk/coregrind/m_scheduler/scheduler.c 2010-01-04 00:59:05 UTC (rev 11005)
+++ trunk/coregrind/m_scheduler/scheduler.c 2010-01-04 01:01:02 UTC (rev 11006)
@@ -1408,15 +1408,27 @@
break;
case VG_USERREQ__PRINTF: {
- Int count =
- VG_(vmessage)( Vg_ClientMsg, (char *)arg[1], (void*)arg[2] );
+ union {
+ va_list vargs;
+ unsigned long ul;
+ } args;
+ Int count;
+ args.ul = (unsigned long)arg[2];
+ count =
+ VG_(vmessage)( Vg_ClientMsg, (char *)arg[1], args.vargs );
VG_(message_flush)();
SET_CLREQ_RETVAL( tid, count );
break; }
case VG_USERREQ__INTERNAL_PRINTF: {
- Int count =
- VG_(vmessage)( Vg_DebugMsg, (char *)arg[1], (void*)arg[2] );
+ union {
+ va_list vargs;
+ unsigned long ul;
+ } args;
+ Int count;
+ args.ul = (unsigned long)arg[2];
+ count =
+ VG_(vmessage)( Vg_DebugMsg, (char *)arg[1], args.vargs );
VG_(message_flush)();
SET_CLREQ_RETVAL( tid, count );
break; }
@@ -1427,8 +1439,14 @@
break; }
case VG_USERREQ__PRINTF_BACKTRACE: {
- Int count =
- VG_(vmessage)( Vg_ClientMsg, (char *)arg[1], (void*)arg[2] );
+ union {
+ va_list vargs;
+ unsigned long ul;
+ } args;
+ Int count;
+ args.ul = (unsigned long)arg[2];
+ count =
+ VG_(vmessage)( Vg_ClientMsg, (char *)arg[1], args.vargs );
VG_(message_flush)();
VG_(get_and_pp_StackTrace)( tid, VG_(clo_backtrace_size) );
SET_CLREQ_RETVAL( tid, count );
Modified: trunk/coregrind/pub_core_clreq.h
===================================================================
--- trunk/coregrind/pub_core_clreq.h 2010-01-04 00:59:05 UTC (rev 11005)
+++ trunk/coregrind/pub_core_clreq.h 2010-01-04 01:01:02 UTC (rev 11006)
@@ -64,13 +64,16 @@
static int VALGRIND_INTERNAL_PRINTF(const char *format, ...)
{
unsigned long _qzz_res = 0;
- va_list vargs;
- va_start(vargs, format);
+ union {
+ va_list vargs;
+ unsigned long ul;
+ } args;
+ va_start(args.vargs, format);
VALGRIND_DO_CLIENT_REQUEST(
_qzz_res, 0, VG_USERREQ__INTERNAL_PRINTF,
- (unsigned long)format, (unsigned long)vargs, 0, 0, 0
+ (unsigned long)format, (unsigned long)(args.ul), 0, 0, 0
);
- va_end(vargs);
+ va_end(args.vargs);
return _qzz_res;
}
Modified: trunk/include/valgrind.h
===================================================================
--- trunk/include/valgrind.h 2010-01-04 00:59:05 UTC (rev 11005)
+++ trunk/include/valgrind.h 2010-01-04 01:01:02 UTC (rev 11006)
@@ -4183,12 +4183,16 @@
VALGRIND_PRINTF(const char *format, ...)
{
unsigned long _qzz_res;
- va_list vargs;
- va_start(vargs, format);
+ union {
+ va_list vargs;
+ unsigned long ul;
+ } args;
+ va_start(args.vargs, format);
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, VG_USERREQ__PRINTF,
- (unsigned long)format, (unsigned long)vargs,
+ (unsigned long)format,
+ (unsigned long)(args.ul),
0, 0, 0);
- va_end(vargs);
+ va_end(args.vargs);
return (int)_qzz_res;
}
@@ -4198,12 +4202,16 @@
VALGRIND_PRINTF_BACKTRACE(const char *format, ...)
{
unsigned long _qzz_res;
- va_list vargs;
- va_start(vargs, format);
+ union {
+ va_list vargs;
+ unsigned long ul;
+ } args;
+ va_start(args.vargs, format);
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, VG_USERREQ__PRINTF_BACKTRACE,
- (unsigned long)format, (unsigned long)vargs,
+ (unsigned long)format,
+ (unsigned long)(args.ul),
0, 0, 0);
- va_end(vargs);
+ va_end(args.vargs);
return (int)_qzz_res;
}
|
|
From: <sv...@va...> - 2010-01-04 00:59:15
|
Author: sewardj Date: 2010-01-04 00:59:05 +0000 (Mon, 04 Jan 2010) New Revision: 11005 Log: Include missing files in the tarball. Modified: trunk/include/Makefile.am Modified: trunk/include/Makefile.am =================================================================== --- trunk/include/Makefile.am 2010-01-03 23:58:25 UTC (rev 11004) +++ trunk/include/Makefile.am 2010-01-04 00:59:05 UTC (rev 11005) @@ -39,18 +39,21 @@ valgrind.h \ vki/vki-linux.h \ vki/vki-darwin.h \ - vki/vki-posixtypes-amd64-linux.h\ - vki/vki-posixtypes-ppc32-linux.h\ - vki/vki-posixtypes-ppc64-linux.h\ - vki/vki-posixtypes-x86-linux.h \ + vki/vki-posixtypes-amd64-linux.h \ + vki/vki-posixtypes-ppc32-linux.h \ + vki/vki-posixtypes-ppc64-linux.h \ + vki/vki-posixtypes-x86-linux.h \ + vki/vki-posixtypes-arm-linux.h \ vki/vki-amd64-linux.h \ vki/vki-ppc32-linux.h \ vki/vki-ppc64-linux.h \ vki/vki-x86-linux.h \ + vki/vki-arm-linux.h \ vki/vki-scnums-amd64-linux.h \ vki/vki-scnums-ppc32-linux.h \ vki/vki-scnums-ppc64-linux.h \ vki/vki-scnums-x86-linux.h \ + vki/vki-scnums-arm-linux.h \ vki/vki-scnums-darwin.h noinst_HEADERS = \ |
|
From: <sv...@va...> - 2010-01-03 23:58:34
|
Author: sewardj
Date: 2010-01-03 23:58:25 +0000 (Sun, 03 Jan 2010)
New Revision: 11004
Log:
Close this branch; is now redundant.
Modified:
branches/ARM/coregrind/m_main.c
Modified: branches/ARM/coregrind/m_main.c
===================================================================
--- branches/ARM/coregrind/m_main.c 2010-01-03 23:46:03 UTC (rev 11003)
+++ branches/ARM/coregrind/m_main.c 2010-01-03 23:58:25 UTC (rev 11004)
@@ -1047,6 +1047,11 @@
xpre, VERSION, xpost
);
+ VG_(printf)("\n\nSupport for ARM-Linux was merged to the trunk\n");
+ VG_(printf)("in Jan 2010. This branch is now closed. Please use\n");
+ VG_(printf)("svn://svn.valgrind.org/valgrind/trunk instead.\n\n");
+ VG_(exit)(0);
+
// Print the command line. At one point we wrapped at 80 chars and
// printed a '\' as a line joiner, but that makes it hard to cut and
// paste the command line (because of the "==pid==" prefixes), so we now
|
|
From: <sv...@va...> - 2010-01-03 23:46:15
|
Author: sewardj Date: 2010-01-03 23:46:03 +0000 (Sun, 03 Jan 2010) New Revision: 11003 Log: Add a test program for ARM v5 integer instructions, and also for some v6 instructions. (Johan Bj?\195?\182rk) Added: trunk/none/tests/arm/v6int.c trunk/none/tests/arm/v6int.stderr.exp trunk/none/tests/arm/v6int.stdout.exp trunk/none/tests/arm/v6int.vgtest Modified: trunk/none/tests/arm/Makefile.am [... diff too large to include ...] |
|
From: <sv...@va...> - 2010-01-03 23:44:47
|
Author: sewardj Date: 2010-01-03 23:44:34 +0000 (Sun, 03 Jan 2010) New Revision: 11002 Log: Add the default stderr_filter for this directory; else no tests work. Added: trunk/none/tests/arm/filter_stderr Added: trunk/none/tests/arm/filter_stderr =================================================================== --- trunk/none/tests/arm/filter_stderr (rev 0) +++ trunk/none/tests/arm/filter_stderr 2010-01-03 23:44:34 UTC (rev 11002) @@ -0,0 +1,4 @@ +#! /bin/sh + +../filter_stderr + Property changes on: trunk/none/tests/arm/filter_stderr ___________________________________________________________________ Name: svn:executable + * |
|
From: Vince W. <vi...@cs...> - 2010-01-03 22:57:01
|
On Sun, 3 Jan 2010, Julian Seward wrote:
>
> v7 is really the minimum supported target. The JIT produces mostly
> v5 instructions but some v6 (load 16-bit immediates into a lower/upper
> register half), and a few v7 (ldrex{,b,w,d} and strex{,b,w,d}) to do
> with atomic memory accesses, and it also assumes the presence of VFP.
> So it's not surprising it SIGILLd on a v5 cpu.
My test cases don't use atomic memory accesses, so changing the #if 0 in
VEX/priv/host_arm_defs.c to #if 1 ( to not generate the thumb2 16-bit
immediate instructions ) was enough to get things running on my test
system.
I also had to fix my test cases to not use the blx opcode, and to use the
new EABI syscall style. The tests seems to run correctly now.
Would it be OK to commit the exp-bbv arm test cases? The only change made
outside of the exp-bbv tree is to add the
exp-bbv/tests/arm-linux/Makefile
line to the master configure.in file. I can post the updated patch if
others want to review first.
Vince
|
|
From: Julian S. <js...@ac...> - 2010-01-03 22:47:44
|
Hi, > Giving up > -Wdeclaration-after-statement also means giving up C89 and C90 > conformance. Yes, but that's OK. The point of conforming to C89 was so that V could be build with gcc-2.96 as supplied with Red Hat 7.3, but that's really so ancient now that it's not worth thinking about. gcc-3.0 and later support C99, iiuc, and we'ver required gcc-3.0 as a minimum for a long time. So -Wdeclaration-after-statement is now just a nuisance. J |
|
From: <sv...@va...> - 2010-01-03 22:29:46
|
Author: sewardj
Date: 2010-01-03 22:29:32 +0000 (Sun, 03 Jan 2010)
New Revision: 11001
Log:
Handle Iop_SqrtF32.
Modified:
trunk/memcheck/mc_translate.c
Modified: trunk/memcheck/mc_translate.c
===================================================================
--- trunk/memcheck/mc_translate.c 2010-01-03 21:25:08 UTC (rev 11000)
+++ trunk/memcheck/mc_translate.c 2010-01-03 22:29:32 UTC (rev 11001)
@@ -2426,6 +2426,10 @@
/* I32(rm) x I64/F64 -> I64/F64 */
return mkLazy2(mce, Ity_I64, vatom1, vatom2);
+ case Iop_SqrtF32:
+ /* I32(rm) x I32/F32 -> I32/F32 */
+ return mkLazy2(mce, Ity_I32, vatom1, vatom2);
+
case Iop_F64toI32U:
case Iop_F64toI32S:
case Iop_F64toF32:
|
|
From: Julian S. <js...@ac...> - 2010-01-03 22:07:49
|
Vince,
> with the ARM work hitting the tree, I thought I'd see about getting some
> arm tests working for the exp-bbv tool.
Good, however ..
> The results files currently aren't correct; the only ARM machine I have
> access to is armv5 which doesn't seem to be supported currently. I hacked
> the configure script to allow arm5* and modified dispatch-arm-linux.S to
> not touch FPSCR but that doesn't seem to be enough; valgrind builds just
> fine but any programs run through it instantly give illegal instruction
> errrors.
v7 is really the minimum supported target. The JIT produces mostly
v5 instructions but some v6 (load 16-bit immediates into a lower/upper
register half), and a few v7 (ldrex{,b,w,d} and strex{,b,w,d}) to do
with atomic memory accesses, and it also assumes the presence of VFP.
So it's not surprising it SIGILLd on a v5 cpu.
J
|
|
From: Stefan K. <en...@ho...> - 2010-01-03 21:52:55
|
hi,
One aspect of the vcov annotated output is kind of weird. In the announcement
mail ("Experimental Valgrind coverage tool") Nicholas wrote:
"It's pretty simple. It just records, for each line of source code, how many
instructions that were derived from that line were executed."
So is that number in the first column (e.g. 7 for int main()) the number of
instruction that were executed for that line? In the coverage reports I know,
one would see the how often that line was executed.
7: 54:int main(int argc, char **argv) {
-: 55: gboolean res=FALSE;
1: 56: gboolean arg_version=FALSE;
1: 57: gboolean arg_quiet=FALSE;
How can it be that the first gboolean res=FALSE does not get executed?
3: 58: gchar *command=NULL,*input_file_name=NULL,*output_file_name=NULL;
-: 59: BtCmdApplication *app;
-: 60: GOptionContext *ctx;
-: 61: GOptionGroup *group;
1: 62: GError *err=NULL;
-: 63:
-: 64:#ifdef ENABLE_NLS
3: 65: setlocale(LC_ALL, "");
3: 66: bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR);
3: 67: bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
2: 68: textdomain(GETTEXT_PACKAGE);
-: 69:#endif /* ENABLE_NLS */
-: 70:
-: 71: GOptionEntry options[] = {
-: 72: {"version", '\0', G_OPTION_FLAG_NO_ARG,
G_OPTION_ARG_NONE, &arg_version, N_("Print application version"),
NULL },
-: 73: {"quiet", 'q', G_OPTION_FLAG_NO_ARG,
G_OPTION_ARG_NONE, &arg_quiet, N_("Be quiet"), NULL },
-: 74: {"command", '\0', 0,
G_OPTION_ARG_STRING, &command, N_("Command name"), "{info, play,
convert, encode}" },
-: 75: {"input-file", '\0', 0,
G_OPTION_ARG_FILENAME, &input_file_name, N_("Input file name"),
N_("<songfile>") },
-: 76: {"output-file", '\0', 0,
G_OPTION_ARG_FILENAME, &output_file_name, N_("Output file name"),
N_("<songfile>") },
-: 77: {NULL}
76: 78: };
-: 79:
-: 80: // initialize as soon as possible
3: 81: if(!g_thread_supported()) {
4: 82: g_thread_init(NULL);
-: 83: }
Stefan
|
|
From: Johan B. <jb...@gm...> - 2010-01-03 21:34:08
|
On Sun, Jan 3, 2010 at 1:24 PM, <sv...@va...> wrote: > Author: sewardj > Date: 2010-01-03 21:24:09 +0000 (Sun, 03 Jan 2010) > New Revision: 10999 > > Log: > Make sure the Memcheck tests are built on arm-linux using hardware > floating point, since the softfloat results are way different from the > hardware one (not to mention, V reports lots of accesses-below-the-SP > in the softfloat helper functions.) > FYI, that's a known gcc-arm bug. > > > Modified: > trunk/memcheck/tests/Makefile.am > > > Modified: trunk/memcheck/tests/Makefile.am > =================================================================== > --- trunk/memcheck/tests/Makefile.am 2010-01-03 17:40:07 UTC (rev 10998) > +++ trunk/memcheck/tests/Makefile.am 2010-01-03 21:24:09 UTC (rev 10999) > @@ -242,6 +242,11 @@ > AM_CFLAGS += $(AM_FLAG_M3264_PRI) > AM_CXXFLAGS += $(AM_FLAG_M3264_PRI) > > +if VGCONF_PLATFORMS_INCLUDE_ARM_LINUX > +AM_CFLAGS += -mfloat-abi=softfp > +AM_CXXFLAGS += -mfloat-abi=softfp > +endif > + > if VGCONF_OS_IS_DARWIN > atomic_incs_CFLAGS = $(AM_CFLAGS) -mdynamic-no-pic > else > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > Valgrind-developers mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-developers > |
|
From: <sv...@va...> - 2010-01-03 21:25:20
|
Author: sewardj Date: 2010-01-03 21:25:08 +0000 (Sun, 03 Jan 2010) New Revision: 11000 Log: Further buildsystem bashing, in order to try and get something make-dist-able. Modified: trunk/none/tests/arm/Makefile.am Modified: trunk/none/tests/arm/Makefile.am =================================================================== --- trunk/none/tests/arm/Makefile.am 2010-01-03 21:24:09 UTC (rev 10999) +++ trunk/none/tests/arm/Makefile.am 2010-01-03 21:25:08 UTC (rev 11000) @@ -1,4 +1,10 @@ +include $(top_srcdir)/Makefile.tool-tests.am + +#dist_noinst_SCRIPTS = filter_cpuid filter_stderr gen_insn_test.pl +dist_noinst_SCRIPTS = + + ### jrs: re-check this against known-good equivalents, eg x86 version EXTRA_DIST = $(noinst_SCRIPTS) |
|
From: <sv...@va...> - 2010-01-03 21:24:22
|
Author: sewardj Date: 2010-01-03 21:24:09 +0000 (Sun, 03 Jan 2010) New Revision: 10999 Log: Make sure the Memcheck tests are built on arm-linux using hardware floating point, since the softfloat results are way different from the hardware one (not to mention, V reports lots of accesses-below-the-SP in the softfloat helper functions.) Modified: trunk/memcheck/tests/Makefile.am Modified: trunk/memcheck/tests/Makefile.am =================================================================== --- trunk/memcheck/tests/Makefile.am 2010-01-03 17:40:07 UTC (rev 10998) +++ trunk/memcheck/tests/Makefile.am 2010-01-03 21:24:09 UTC (rev 10999) @@ -242,6 +242,11 @@ AM_CFLAGS += $(AM_FLAG_M3264_PRI) AM_CXXFLAGS += $(AM_FLAG_M3264_PRI) +if VGCONF_PLATFORMS_INCLUDE_ARM_LINUX +AM_CFLAGS += -mfloat-abi=softfp +AM_CXXFLAGS += -mfloat-abi=softfp +endif + if VGCONF_OS_IS_DARWIN atomic_incs_CFLAGS = $(AM_CFLAGS) -mdynamic-no-pic else |
|
From: Stefan K. <en...@ho...> - 2010-01-03 21:17:48
|
hi,
I have looked a bit into the vcov runtime error I get
/vg-in-place --tool=exp-vcov /path/to/testapp
==26250== exp-VCov, a test coverage tool.
==26250== NOTE: This is an Experimental-Class Valgrind Tool.
==26250== Copyright (C) 2002-2008, and GNU GPL'd, by Nicholas Nethercote.
==26250== Using Valgrind-3.5.0.SVN and LibVEX; rerun with -h for copyright info
==26250==
exp-VCov: vc_main.c:385 (doOneInstr): the 'impossible' happened.
exp-VCov: didn't find 43 in lineCCs
(/usr/src/debug//////////glibc-2.10.1/setjmp/../sysdeps/i386/setjmp.S)
==26250== at 0x38002AB0: report_and_quit (m_libcassert.c:145)
==26250== by 0x38002CEC: vgPlain_assert_fail (m_libcassert.c:217)
==26250== by 0x38000B83: doOneInstr (vc_main.c:384)
==26250== by 0x38000C8F: vc_instrument (vc_main.c:435)
==26250== by 0x38095912: LibVEX_Translate (main_main.c:495)
==26250== by 0x38018CE1: vgPlain_translate (m_translate.c:1517)
==26250== by 0x3803D991: vgPlain_scheduler (scheduler.c:844)
==26250== by 0x38069414: run_a_thread_NORETURN (syswrap-linux.c:91)
sched status:
running_tid=1
Thread 1: status = VgTs_Runnable
==26250== at 0x466BD80: __sigsetjmp (setjmp.S:34)
==26250== by 0x46622B8: setlocale (setlocale.c:333)
==26250== by 0x8049E3A: main (bt-cmd.c:65)
The assert thats trigger prints a pretty strange filename:
/usr/src/debug//////////glibc-2.10.1/setjmp/../sysdeps/i386/setjmp.S
I do have
/usr/src/debug/glibc-2.10.1/sysdeps/i386/setjmp.S
and if the '43' refers to a line number, that line is:
42: #ifdef PTR_MANGLE
43: PTR_MANGLE (%ecx)
44: #endif
Any ideas whats wrong here? I made a terrible hack to warn and continue instead
of error out.
Index: vc_main.c
===================================================================
--- vc_main.c (Revision 10969)
+++ vc_main.c (Arbeitskopie)
@@ -380,9 +380,13 @@
while (True) {
/* current unsearched space is from lo to hi, inclusive. */
- if (lo > hi)
- tl_assert2(0, "didn't find %d in lineCCs (%s/%s)",
+ if (lo > hi) {
+ /*tl_assert2(0, "didn't find %d in lineCCs (%s/%s)",
+ line, dirname, filename);*/
+ VG_(umsg)("warning: didn't find %d in lineCCs (%s/%s)\n",
line, dirname, filename);
+ goto no_debug;
+ }
mid = (lo + hi) / 2;
mid_line = fileCC->lineCCs[mid].line_num;
if (line < mid_line) { hi = mid-1; continue; }
@@ -400,6 +404,7 @@
n_yes_debugs++;
} else {
+no_debug:
n_no_debugs++;
}
}
Should I file a bug?
Also the vc_annotate script should have +x permissions.
Stefan
|
|
From: <sv...@va...> - 2010-01-03 17:40:21
|
Author: sewardj Date: 2010-01-03 17:40:07 +0000 (Sun, 03 Jan 2010) New Revision: 10998 Log: Try to integrate none/tests/arm properly in the build system. Modified: trunk/none/tests/Makefile.am trunk/none/tests/arm/Makefile.am Modified: trunk/none/tests/Makefile.am =================================================================== --- trunk/none/tests/Makefile.am 2010-01-03 16:10:14 UTC (rev 10997) +++ trunk/none/tests/Makefile.am 2010-01-03 17:40:07 UTC (rev 10998) @@ -16,6 +16,9 @@ if VGCONF_ARCHS_INCLUDE_PPC64 SUBDIRS += ppc64 endif +if VGCONF_ARCHS_INCLUDE_ARM +SUBDIRS += arm +endif # OS-specific tests if VGCONF_OS_IS_LINUX @@ -30,7 +33,7 @@ SUBDIRS += x86-linux endif -DIST_SUBDIRS = x86 amd64 ppc32 ppc64 linux darwin x86-linux . +DIST_SUBDIRS = x86 amd64 ppc32 ppc64 arm linux darwin x86-linux . dist_noinst_SCRIPTS = \ filter_cmdline0 \ Modified: trunk/none/tests/arm/Makefile.am =================================================================== --- trunk/none/tests/arm/Makefile.am 2010-01-03 16:10:14 UTC (rev 10997) +++ trunk/none/tests/arm/Makefile.am 2010-01-03 17:40:07 UTC (rev 10998) @@ -1,16 +1,17 @@ ### jrs: re-check this against known-good equivalents, eg x86 version -EXTRA_DIST = $(noinst_SCRIPTS) \ - instructions.stderr.exp instructions.stdout.exp +EXTRA_DIST = $(noinst_SCRIPTS) +# \ +# instructions.stderr.exp instructions.stdout.exp + # if any tests appear here, remember to include @FLAG_M32@ in the # compilation flags # -check_PROGRAMS = instructions +#check_PROGRAMS = instructions +check_PROGRAMS = -AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow \ - @FLAG_M32@ -g -I$(top_srcdir)/include \ - $(FLAG_MMMX) $(FLAG_MSSE) -AM_CXXFLAGS = $(AM_CFLAGS) -AM_CCASFLAGS = @FLAG_M32@ +AM_CFLAGS += @FLAG_M32@ +AM_CXXFLAGS += @FLAG_M32@ +AM_CCASFLAGS += @FLAG_M32@ |
|
From: <sv...@va...> - 2010-01-03 16:10:25
|
Author: sewardj
Date: 2010-01-03 16:10:14 +0000 (Sun, 03 Jan 2010)
New Revision: 10997
Log:
Disable this test (effectively) on arm-linux, since that uses
sys_rt_sigprocmask and not the Aulde Fashionede sys_sigprocmask.
Modified:
trunk/memcheck/tests/sigprocmask.c
Modified: trunk/memcheck/tests/sigprocmask.c
===================================================================
--- trunk/memcheck/tests/sigprocmask.c 2010-01-03 11:46:50 UTC (rev 10996)
+++ trunk/memcheck/tests/sigprocmask.c 2010-01-03 16:10:14 UTC (rev 10997)
@@ -11,8 +11,13 @@
int main(void)
{
-#if defined(__NR_sigprocmask) && !defined(__powerpc64__) && !defined(_AIX)
+#if defined(__NR_sigprocmask) \
+ && !defined(__powerpc64__) \
+ && !defined(_AIX) \
+ && !defined(__arm__)
+ // arm-linux uses rt_sigprocmask, so no sigset mangling takes place
+
int x[6], *s, *os, i;
x[0] = 0x11111111;
|
|
From: Alexander P. <gl...@go...> - 2010-01-03 14:41:58
|
Nightly build on mcgrind ( Darwin 9.7.0 i386 ) Started at 2010-01-03 09:06:01 MSK Ended at 2010-01-03 09:18:35 MSK Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... failed Last 20 lines of verbose log follow echo echo "dsymutil $f"; \ dsymutil $f; \ fi; \ done mkdir -p ../.in_place; \ for f in helgrind-x86-darwin vgpreload_helgrind-x86-darwin.so ; do \ rm -f ../.in_place/$f.dSYM; \ ln -f -s ../helgrind/$f.dSYM ../.in_place; \ done Making check in tests make annotate_hbefore hg01_all_ok hg02_deadlock hg03_inherit hg04_race hg05_race2 hg06_readshared tc01_simple_race tc02_simple_tls tc03_re_excl tc04_free_lock tc05_simple_race tc06_two_races tc07_hbl1 tc08_hbl2 tc09_bad_unlock tc10_rec_lock tc11_XCHG tc12_rwl_trivial tc13_laog1 tc14_laog_dinphils tc15_laog_lockdel tc16_byterace tc17_sembar tc18_semabuse tc19_shadowmem tc21_pthonce tc23_bogus_condwait tc24_nonzero_sem annotate_rwlock gcc -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../include -I../../coregrind -I../../include -I../../VEX/pub -DVGA_x86=1 -DVGO_darwin=1 -DVGP_x86_darwin=1 -Winline -Wall -Wshadow -g -arch i386 -Wno-long-long -Wno-pointer-sign -fno-stack-protector -MT annotate_hbefore-annotate_hbefore.o -MD -MP -MF .deps/annotate_hbefore-annotate_hbefore.Tpo -c -o annotate_hbefore-annotate_hbefore.o `test -f 'annotate_hbefore.c' || echo './'`annotate_hbefore.c annotate_hbefore.c: In function 'do_acasW': annotate_hbefore.c:119: error: PIC register 'ebx' clobbered in 'asm' make[5]: *** [annotate_hbefore-annotate_hbefore.o] Error 1 make[4]: *** [check-am] Error 2 make[3]: *** [check-recursive] Error 1 make[2]: *** [check] Error 2 make[1]: *** [check-recursive] Error 1 make: *** [check] Error 2 ================================================= == 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 == 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) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Sun Jan 3 09:15:41 2010 --- new.short Sun Jan 3 09:18:35 2010 *************** *** 3,33 **** 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) --- 3,26 ---- Configuring valgrind ... done ! Building valgrind ... failed + Last 20 lines of verbose log follow echo + echo "dsymutil $f"; \ + dsymutil $f; \ + fi; \ + done + mkdir -p ../.in_place; \ + for f in helgrind-x86-darwin vgpreload_helgrind-x86-darwin.so ; do \ + rm -f ../.in_place/$f.dSYM; \ + ln -f -s ../helgrind/$f.dSYM ../.in_place; \ + done + Making check in tests + make annotate_hbefore hg01_all_ok hg02_deadlock hg03_inherit hg04_race hg05_race2 hg06_readshared tc01_simple_race tc02_simple_tls tc03_re_excl tc04_free_lock tc05_simple_race tc06_two_races tc07_hbl1 tc08_hbl2 tc09_bad_unlock tc10_rec_lock tc11_XCHG tc12_rwl_trivial tc13_laog1 tc14_laog_dinphils tc15_laog_lockdel tc16_byterace tc17_sembar tc18_semabuse tc19_shadowmem tc21_pthonce tc23_bogus_condwait tc24_nonzero_sem annotate_rwlock + gcc -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../include -I../../coregrind -I../../include -I../../VEX/pub -DVGA_x86=1 -DVGO_darwin=1 -DVGP_x86_darwin=1 -Winline -Wall -Wshadow -g -arch i386 -Wno-long-long -Wno-pointer-sign -fno-stack-protector -MT annotate_hbefore-annotate_hbefore.o -MD -MP -MF .deps/annotate_hbefore-annotate_hbefore.Tpo -c -o annotate_hbefore-annotate_hbefore.o `test -f 'annotate_hbefore.c' || echo './'`annotate_hbefore.c + annotate_hbefore.c: In function 'do_acasW': + annotate_hbefore.c:119: error: PIC register 'ebx' clobbered in 'asm' + make[5]: *** [annotate_hbefore-annotate_hbefore.o] Error 1 + make[4]: *** [check-am] Error 2 + make[3]: *** [check-recursive] Error 1 + make[2]: *** [check] Error 2 + make[1]: *** [check-recursive] Error 1 + make: *** [check] Error 2 -- Alexander Potapenko Software Engineer Google Moscow |
|
From: <sv...@va...> - 2010-01-03 11:47:01
|
Author: sewardj
Date: 2010-01-03 11:46:50 +0000 (Sun, 03 Jan 2010)
New Revision: 10996
Log:
arm-linux: handle sys_signalfd4 and sys_eventfd2. Makes
memcheck/tests/linux-syscalls-2007 succeed on this platform.
Modified:
trunk/coregrind/m_syswrap/syswrap-arm-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-arm-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-arm-linux.c 2010-01-03 11:39:01 UTC (rev 10995)
+++ trunk/coregrind/m_syswrap/syswrap-arm-linux.c 2010-01-03 11:46:50 UTC (rev 10996)
@@ -1673,6 +1673,10 @@
// verbatim from syswrap-x86-linux.c and they certainly do not
// correspond to what's in include/vki/vki-scnums-arm-linux.h.
// From here onwards, please ensure the numbers are correct.
+
+ LINXY(__NR_signalfd4, sys_signalfd4), // 355
+ LINX_(__NR_eventfd2, sys_eventfd2), // 356
+
LINXY(__NR_pipe2, sys_pipe2) // 359
};
|
|
From: <sv...@va...> - 2010-01-03 11:39:10
|
Author: sewardj Date: 2010-01-03 11:39:01 +0000 (Sun, 03 Jan 2010) New Revision: 10995 Log: Portability fix for arm-linux. Modified: trunk/none/tests/faultstatus.c Modified: trunk/none/tests/faultstatus.c =================================================================== --- trunk/none/tests/faultstatus.c 2010-01-03 11:29:35 UTC (rev 10994) +++ trunk/none/tests/faultstatus.c 2010-01-03 11:39:01 UTC (rev 10995) @@ -9,16 +9,24 @@ #include "tests/sys_mman.h" #include <unistd.h> -/* - * Division by zero triggers a SIGFPE on x86 and x86_64, - * but not on the PowerPC architecture. +/* Division by zero triggers a SIGFPE on x86 and x86_64, + but not on the PowerPC architecture. + + On ARM-Linux, we do get a SIGFPE, but not from the faulting of a + division instruction (there isn't any such thing) but rather + because the process exits via tgkill, sending itself a SIGFPE. + Hence we get a SIGFPE but the SI_CODE is different from that on + x86/amd64-linux. */ #if defined(__powerpc__) -#define DIVISION_BY_ZERO_TRIGGERS_FPE 0 -#define DIVISION_BY_ZERO_SI_CODE SI_TKILL +# define DIVISION_BY_ZERO_TRIGGERS_FPE 0 +# define DIVISION_BY_ZERO_SI_CODE SI_TKILL +#elif defined(__arm__) +# define DIVISION_BY_ZERO_TRIGGERS_FPE 1 +# define DIVISION_BY_ZERO_SI_CODE SI_TKILL #else -#define DIVISION_BY_ZERO_TRIGGERS_FPE 1 -#define DIVISION_BY_ZERO_SI_CODE FPE_INTDIV +# define DIVISION_BY_ZERO_TRIGGERS_FPE 1 +# define DIVISION_BY_ZERO_SI_CODE FPE_INTDIV #endif |
|
From: <sv...@va...> - 2010-01-03 11:29:47
|
Author: sewardj
Date: 2010-01-03 11:29:35 +0000 (Sun, 03 Jan 2010)
New Revision: 10994
Log:
Handle sys_pipe2 on arm-linux; also add some missing numbers to
vki-scnums-arm-linux.h.
Modified:
trunk/coregrind/m_syswrap/syswrap-arm-linux.c
trunk/include/vki/vki-scnums-arm-linux.h
Modified: trunk/coregrind/m_syswrap/syswrap-arm-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-arm-linux.c 2010-01-03 10:14:03 UTC (rev 10993)
+++ trunk/coregrind/m_syswrap/syswrap-arm-linux.c 2010-01-03 11:29:35 UTC (rev 10994)
@@ -1663,7 +1663,17 @@
LINX_(__NR_eventfd, sys_eventfd), // 323
// LINX_(__NR_fallocate, sys_ni_syscall), // 324
LINXY(__NR_timerfd_settime, sys_timerfd_settime), // 325
- LINXY(__NR_timerfd_gettime, sys_timerfd_gettime) // 326
+ LINXY(__NR_timerfd_gettime, sys_timerfd_gettime), // 326
+
+ ///////////////
+
+ // JRS 2010-Jan-03: I believe that all the numbers listed
+ // in comments in the table prior to this point (eg "// 326",
+ // etc) are bogus since it looks to me like they are copied
+ // verbatim from syswrap-x86-linux.c and they certainly do not
+ // correspond to what's in include/vki/vki-scnums-arm-linux.h.
+ // From here onwards, please ensure the numbers are correct.
+ LINXY(__NR_pipe2, sys_pipe2) // 359
};
Modified: trunk/include/vki/vki-scnums-arm-linux.h
===================================================================
--- trunk/include/vki/vki-scnums-arm-linux.h 2010-01-03 10:14:03 UTC (rev 10993)
+++ trunk/include/vki/vki-scnums-arm-linux.h 2010-01-03 11:29:35 UTC (rev 10994)
@@ -391,8 +391,15 @@
#define __NR_fallocate 352
#define __NR_timerfd_settime 353
#define __NR_timerfd_gettime 354
+#define __NR_signalfd4 355
+#define __NR_eventfd2 356
+#define __NR_epoll_create1 357
+#define __NR_dup3 358
+#define __NR_pipe2 359
+#define __NR_inotify_init1 360
+
#define __NR_ARM_BASE (0x0f0000)
#define __NR_ARM_breakpoint (__NR_ARM_BASE+1)
#define __NR_ARM_cacheflush (__NR_ARM_BASE+2)
|
|
From: <sv...@va...> - 2010-01-03 10:14:11
|
Author: sewardj
Date: 2010-01-03 10:14:03 +0000 (Sun, 03 Jan 2010)
New Revision: 10993
Log:
arm-linux: fake up the commpage entry at a lower level (in
parse_procselfmaps) so that the sync checker still works.
Modified:
trunk/coregrind/m_aspacemgr/aspacemgr-linux.c
Modified: trunk/coregrind/m_aspacemgr/aspacemgr-linux.c
===================================================================
--- trunk/coregrind/m_aspacemgr/aspacemgr-linux.c 2010-01-02 13:24:58 UTC (rev 10992)
+++ trunk/coregrind/m_aspacemgr/aspacemgr-linux.c 2010-01-03 10:14:03 UTC (rev 10993)
@@ -338,7 +338,16 @@
void (*record_gap)( Addr addr, SizeT len )
);
+/* ----- Hacks to do with the "commpage" on arm-linux ----- */
+/* Not that I have anything against the commpage per se. It's just
+ that it's not listed in /proc/self/maps, which is a royal PITA --
+ we have to fake it up, in parse_procselfmaps. */
+#if defined(VGP_arm_linux)
+# define ARM_LINUX_FAKE_COMMPAGE_START 0xFFFF0000
+# define ARM_LINUX_FAKE_COMMPAGE_END1 0xFFFFF000
+#endif
+
/*-----------------------------------------------------------------*/
/*--- ---*/
/*--- SegName array management. ---*/
@@ -1540,11 +1549,27 @@
seg.kind = SkAnonV;
if (dev != 0 && ino != 0)
seg.kind = SkFileV;
-#if defined(VGO_darwin)
+
+# if defined(VGO_darwin)
// GrP fixme no dev/ino on darwin
if (offset != 0)
- seg.kind = SkFileV;
-#endif
+ seg.kind = SkFileV;
+# endif // defined(VGO_darwin)
+
+# if defined(VGP_arm_linux)
+ /* The standard handling of entries read from /proc/self/maps will
+ cause the faked up commpage segment to have type SkAnonV, which
+ is a problem because it contains code we want the client to
+ execute, and so later m_translate will segfault the client when
+ it tries to go in there. Hence change the ownership of it here
+ to the client (SkAnonC). The least-worst kludge I could think
+ of. */
+ if (addr == ARM_LINUX_FAKE_COMMPAGE_START
+ && addr + len == ARM_LINUX_FAKE_COMMPAGE_END1
+ && seg.kind == SkAnonV)
+ seg.kind = SkAnonC;
+# endif // defined(VGP_arm_linux)
+
if (filename)
seg.fnIdx = allocate_segname( filename );
@@ -1682,26 +1707,16 @@
VG_(debugLog)(2, "aspacem", "Reading /proc/self/maps\n");
parse_procselfmaps( read_maps_callback, NULL );
+ /* NB: on arm-linux, parse_procselfmaps automagically kludges up
+ (iow, hands to its callbacks) a description of the ARM Commpage,
+ since that's not listed in /proc/self/maps (kernel bug IMO). We
+ have to fake up its existence in parse_procselfmaps and not
+ merely add it here as an extra segment, because doing the latter
+ causes sync checking to fail: we see we have an extra segment in
+ the segments array, which isn't listed in /proc/self/maps.
+ Hence we must make it appear that /proc/self/maps contained this
+ segment all along. Sigh. */
-#if defined(VGP_arm_linux)
- /* ARM puts code at the end of memory that contains processor
- specific stuff (cmpxchg, getting the thread local storage, etc.)
- This isn't specified in /proc/self/maps, so do it here
-
- EAZG: Is this the proper place for this? Seems like this is one
- of the few contexts when we can punch holes in the map
- */
- init_nsegment( &seg );
- seg.kind = SkFileC;
- seg.start = 0xFFFF0000;
- seg.end = 0xFFFFEFFF;
- seg.hasR = toBool(1);
- seg.hasW = toBool(0);
- seg.hasX = toBool(1);
- seg.fnIdx = allocate_segname( "arm_commpage" );
- add_segment( &seg );
-#endif
-
VG_(am_show_nsegments)(2, "With contents of /proc/self/maps");
AM_SANITY_CHECK;
@@ -3017,6 +3032,8 @@
/*--- ---*/
/*-----------------------------------------------------------------*/
+/*------BEGIN-procmaps-parser-for-Linux--------------------------*/
+
/* Size of a smallish table used to read /proc/self/map entries. */
#define M_PROCMAP_BUF 100000
@@ -3301,10 +3318,37 @@
gapStart = endPlusOne;
}
+# if defined(VGP_arm_linux)
+ /* ARM puts code at the end of memory that contains processor
+ specific stuff (cmpxchg, getting the thread local storage, etc.)
+ This isn't specified in /proc/self/maps, so do it here. This
+ kludgery causes the view of memory, as presented to
+ record_gap/record_mapping, to actually reflect reality. IMO
+ (JRS, 2010-Jan-03) the fact that /proc/.../maps does not list
+ the commpage should be regarded as a bug in the kernel. */
+ { const Addr commpage_start = ARM_LINUX_FAKE_COMMPAGE_START;
+ const Addr commpage_end1 = ARM_LINUX_FAKE_COMMPAGE_END1;
+ if (gapStart < commpage_start) {
+ if (record_gap)
+ (*record_gap)( gapStart, commpage_start - gapStart );
+ if (record_mapping)
+ (*record_mapping)( commpage_start, commpage_end1 - commpage_start,
+ VKI_PROT_READ|VKI_PROT_EXEC,
+ 0/*dev*/, 0/*ino*/, 0/*foffset*/,
+ NULL);
+ gapStart = commpage_end1;
+ }
+ }
+# endif
+
if (record_gap && gapStart < Addr_MAX)
(*record_gap) ( gapStart, Addr_MAX - gapStart + 1 );
}
+/*------END-procmaps-parser-for-Linux----------------------------*/
+
+/*------BEGIN-procmaps-parser-for-Darwin-------------------------*/
+
#elif defined(VGO_darwin)
#include <mach/mach.h>
#include <mach/mach_vm.h>
@@ -3513,8 +3557,9 @@
return !css_overflowed;
}
-#endif // defined(VGO_linux)
+#endif // defined(VGO_darwin)
+/*------END-procmaps-parser-for-Darwin---------------------------*/
#endif // defined(VGO_linux) || defined(VGO_darwin)
|
|
From: Bart V. A. <bar...@gm...> - 2010-01-03 08:33:47
|
Nightly build on cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) Started at 2010-01-03 02:27:23 EST Ended at 2010-01-03 03:33:35 EST Results differ 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) ================================================= == Results 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 make[3]: Entering directory `/net/home/bart/software/valgrind/nightly/valgrind-old/VEX' make[3]: Nothing to be done for `check-am'. make[3]: Leaving directory `/net/home/bart/software/valgrind/nightly/valgrind-old/VEX' make[2]: Leaving directory `/net/home/bart/software/valgrind/nightly/valgrind-old/VEX' Making check in coregrind make[2]: Entering directory `/net/home/bart/software/valgrind/nightly/valgrind-old/coregrind' make check-am make[3]: Entering directory `/net/home/bart/software/valgrind/nightly/valgrind-old/coregrind' gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../include -I../VEX/pub -DVGA_ppc64=1 -DVGO_linux=1 -DVGP_ppc64_linux=1 -I../coregrind -DVG_LIBDIR="\"/home/bart/software/valgrind/nightly/valgrind-old/Inst/lib/valgrind"\" -DVG_PLATFORM="\"ppc64-linux\"" -m64 -O2 -g -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wno-format-zero-length -fno-strict-aliasing -Wno-long-long -Wno-pointer-sign -fno-stack-protector -MT libcoregrind_ppc64_linux_a-m_libcassert.o -MD -MP -MF .deps/libcoregrind_ppc64_linux_a-m_libcassert.Tpo -c -o libcoregrind_ppc64_linux_a-m_libcassert.o `test -f 'm_libcassert.c' || echo './'`m_libcassert.c m_libcassert.c: In function âreport_and_quitâ: m_libcassert.c:191: error: invalid type argument of â->â (have âUnwindStartRegsâ) m_libcassert.c:191: error: invalid type argument of â->â (have âUnwindStartRegsâ) m_libcassert.c:191: error: invalid type argument of â->â (have âUnwindStartRegsâ) make[3]: *** [libcoregrind_ppc64_linux_a-m_libcassert.o] Error 1 make[3]: Leaving directory `/net/home/bart/software/valgrind/nightly/valgrind-old/coregrind' make[2]: *** [check] Error 2 make[2]: Leaving directory `/net/home/bart/software/valgrind/nightly/valgrind-old/coregrind' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/net/home/bart/software/valgrind/nightly/valgrind-old' make: *** [check] Error 2 ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Sun Jan 3 02:43:36 2010 --- new.short Sun Jan 3 03:33:35 2010 *************** *** 6,27 **** ! Last 20 lines of verbose log follow echo ! make[3]: Entering directory `/net/home/bart/software/valgrind/nightly/valgrind-old/VEX' ! make[3]: Nothing to be done for `check-am'. ! make[3]: Leaving directory `/net/home/bart/software/valgrind/nightly/valgrind-old/VEX' ! make[2]: Leaving directory `/net/home/bart/software/valgrind/nightly/valgrind-old/VEX' ! Making check in coregrind ! make[2]: Entering directory `/net/home/bart/software/valgrind/nightly/valgrind-old/coregrind' ! make check-am ! make[3]: Entering directory `/net/home/bart/software/valgrind/nightly/valgrind-old/coregrind' ! gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../include -I../VEX/pub -DVGA_ppc64=1 -DVGO_linux=1 -DVGP_ppc64_linux=1 -I../coregrind -DVG_LIBDIR="\"/home/bart/software/valgrind/nightly/valgrind-old/Inst/lib/valgrind"\" -DVG_PLATFORM="\"ppc64-linux\"" -m64 -O2 -g -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wno-format-zero-length -fno-strict-aliasing -Wno-long-long -Wno-pointer-sign -fno-stack-protector -MT libcoregrind_ppc64_linux_a-m_libcassert.o -MD -MP -MF .deps/libcoregrind_ppc64_linux_a-m_libcassert.Tpo -c -o libcoregrind_ppc64_linux_a-m_libcassert.o `test -f 'm_libcassert.c' || echo './'`m_libcassert.c ! m_libcassert.c: In function âreport_and_quitâ: ! m_libcassert.c:191: error: invalid type argument of â->â (have âUnwindStartRegsâ) ! m_libcassert.c:191: error: invalid type argument of â->â (have âUnwindStartRegsâ) ! m_libcassert.c:191: error: invalid type argument of â->â (have âUnwindStartRegsâ) ! make[3]: *** [libcoregrind_ppc64_linux_a-m_libcassert.o] Error 1 ! make[3]: Leaving directory `/net/home/bart/software/valgrind/nightly/valgrind-old/coregrind' ! make[2]: *** [check] Error 2 ! make[2]: Leaving directory `/net/home/bart/software/valgrind/nightly/valgrind-old/coregrind' ! make[1]: *** [check-recursive] Error 1 ! make[1]: Leaving directory `/net/home/bart/software/valgrind/nightly/valgrind-old' ! make: *** [check] Error 2 --- 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) ! |
|
From: Tom H. <th...@cy...> - 2010-01-03 03:49:33
|
Nightly build on lloyd ( x86_64, Fedora 7 ) Started at 2010-01-03 03:05:03 GMT Ended at 2010-01-03 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...> - 2010-01-03 03:36:05
|
Nightly build on mg ( x86_64, Fedora 9 ) Started at 2010-01-03 03:10:06 GMT Ended at 2010-01-03 03:35:43 GMT 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 == 538 tests, 3 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) helgrind/tests/pth_spinlock (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 == 538 tests, 2 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) helgrind/tests/tc06_two_races_xml (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Sun Jan 3 03:23:13 2010 --- new.short Sun Jan 3 03:35:43 2010 *************** *** 8,11 **** ! == 538 tests, 2 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) helgrind/tests/tc06_two_races_xml (stderr) --- 8,12 ---- ! == 538 tests, 3 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) + helgrind/tests/pth_spinlock (stderr) helgrind/tests/tc06_two_races_xml (stderr) |