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
(34) |
2
(28) |
3
(22) |
4
(24) |
5
(32) |
6
(26) |
|
7
(21) |
8
(30) |
9
(15) |
10
(20) |
11
(23) |
12
(27) |
13
(17) |
|
14
(16) |
15
(16) |
16
(15) |
17
(14) |
18
(20) |
19
(18) |
20
(11) |
|
21
(1) |
22
(18) |
23
(12) |
24
(17) |
25
(16) |
26
(15) |
27
(18) |
|
28
(19) |
29
(17) |
30
(17) |
|
|
|
|
|
From: <sv...@va...> - 2014-09-05 23:58:07
|
Author: philippe
Date: Fri Sep 5 23:57:57 2014
New Revision: 14475
Log:
Fix 338698 race condition between gdbsrv and vgdb on startup
Modified:
trunk/NEWS
trunk/coregrind/m_gdbserver/remote-utils.c
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Fri Sep 5 23:57:57 2014
@@ -309,6 +309,7 @@
338499 --sim-hints parsing broken due to wrong order in tokens
338615 suppress glibc 2.20 optimized strcmp implementation for ARMv7
338681 Unable to unwind through clone thread created on i386-linux
+338698 race condition between gdbsrv and vgdb on startup
338703 helgrind on arm-linux gets false positives in dynamic loader
n-i-bz Fix KVM_CREATE_IRQCHIP ioctl handling
n-i-bz s390x: Fix memory corruption for multithreaded applications
Modified: trunk/coregrind/m_gdbserver/remote-utils.c
==============================================================================
--- trunk/coregrind/m_gdbserver/remote-utils.c (original)
+++ trunk/coregrind/m_gdbserver/remote-utils.c Fri Sep 5 23:57:57 2014
@@ -390,11 +390,6 @@
VG_(unlink)(to_gdb);
VG_(unlink)(shared_mem);
- safe_mknod(from_gdb);
- safe_mknod(to_gdb);
-
- pid_from_to_creator = pid;
-
o = VG_(open) (shared_mem, VKI_O_CREAT|VKI_O_RDWR, 0600);
if (sr_isError (o)) {
sr_perror(o, "cannot create shared_mem file %s\n", shared_mem);
@@ -421,6 +416,15 @@
}
shared = (VgdbShared*) addr_shared;
VG_(close) (shared_mem_fd);
+
+ safe_mknod(to_gdb);
+ safe_mknod(from_gdb);
+ /* from_gdb is the last resource created: vgdb searches such FIFOs
+ to detect the presence of a valgrind process.
+ So, we better create this resource when all the rest needed by
+ vgdb is ready : the other FIFO and the shared memory. */
+
+ pid_from_to_creator = pid;
}
setup_remote_desc_for_reading ();
|
|
From: Mark W. <mj...@re...> - 2014-09-05 23:22:01
|
On Fri, Sep 05, 2014 at 08:34:16PM +0200, Florian Krohm wrote: > On 05.09.2014 20:27, Mark Wielaard wrote: > > > BTW. Do you need to have libc6-dbg installed on Ubuntu before valgrind > > works? If not could you also post the output before/after without > > libc6-dbg installed? > > I need to have it installed. When I remove it I get the same message as > before. So, yes, it needs to be present. That is unfortunate. I double checked on a Debian wheezy setup and my commit does seem to fix it. But I had some trouble with 32-on-64 programs, since I couldn't find the corresponding libc6-dbg-i386 package. What is the correct package to install to make i386 programs work under valgrind on a amd64 setup? Thanks, Mark |
|
From: Mark W. <mj...@re...> - 2014-09-05 22:57:26
|
On Fri, Sep 05, 2014 at 08:27:30PM +0200, Mark Wielaard wrote:
> Thanks, I think I see what is going wrong. The search tries the file
> itself first (maybe debug info is in the file itself). Before it checked
> the debug CRC, which didn't match, and so it tries a separate debug
> file. But after it just checks the build-id, which does match and so
> doesn't consider any more separate debug files.
I contemplated various "smart tricks" for avoiding having to do a full
CRC check. But decided just before the release that was too risky and
I might break something yet again... So the following simple patch
was pushed as r14474 which should fix the issue and make things as
they were (always checking the crc if we have one).
After the release we can try to come up with something more clever.
Also note that if we have a buildid we will always try and search
for a debug file even if the main file already has a full symtab
and debug sections. That is also inefficient. Another thing to clean
up after the release.
Cheers,
Mark
diff --git a/coregrind/m_debuginfo/readelf.c b/coregrind/m_debuginfo/readelf.c
index 86186d3..75fa469 100644
--- a/coregrind/m_debuginfo/readelf.c
+++ b/coregrind/m_debuginfo/readelf.c
@@ -1180,7 +1180,12 @@ DiImage* open_debug_file( const HChar* name, const HChar* buildid, UInt crc,
VG_(message)(Vg_DebugMsg, " Considering %s ..\n", name);
}
- if (buildid) {
+ /* We will always check the crc if we have one (altfiles don't have one)
+ for now because we might be opening the main file again by any other
+ name, and that obviously also has the same buildid. More efficient
+ would be an fstat bases check or a check that the file actually
+ contains .debug* sections. */
+ if (buildid && crc == 0) {
HChar* debug_buildid = find_buildid(dimg, rel_ok, True);
if (debug_buildid == NULL || VG_(strcmp)(buildid, debug_buildid) != 0) {
ML_(img_done)(dimg);
|
|
From: <sv...@va...> - 2014-09-05 22:51:02
|
Author: mjw
Date: Fri Sep 5 22:50:51 2014
New Revision: 14474
Log:
Always check crc in open_debug_file for now. Bug #338791 followup.
Revision r14464 made it so that debug alt files could be found by their
build-id or their (relative) file path. Debug alt files are matched using
the given build-id, but by crc. Calculating the full CRC is costly, but
currently still needed to avoid misidentifying the main file as debug
file. Slightly more efficient would be to use fstat to check we aren't
actually opening the main file under any other name (but that only works
for local DiImages). Or we could check that the file being opened actually
has at least one .debug* section. But this change was the minimal patch
to make things work as before.
Modified:
trunk/coregrind/m_debuginfo/readelf.c
Modified: trunk/coregrind/m_debuginfo/readelf.c
==============================================================================
--- trunk/coregrind/m_debuginfo/readelf.c (original)
+++ trunk/coregrind/m_debuginfo/readelf.c Fri Sep 5 22:50:51 2014
@@ -1180,7 +1180,12 @@
VG_(message)(Vg_DebugMsg, " Considering %s ..\n", name);
}
- if (buildid) {
+ /* We will always check the crc if we have one (altfiles don't have one)
+ for now because we might be opening the main file again by any other
+ name, and that obviously also has the same buildid. More efficient
+ would be an fstat bases check or a check that the file actually
+ contains .debug* sections. */
+ if (buildid && crc == 0) {
HChar* debug_buildid = find_buildid(dimg, rel_ok, True);
if (debug_buildid == NULL || VG_(strcmp)(buildid, debug_buildid) != 0) {
ML_(img_done)(dimg);
|
|
From: <sv...@va...> - 2014-09-05 21:52:37
|
Author: florian
Date: Fri Sep 5 21:52:29 2014
New Revision: 2946
Log:
Use const instead of a comment.
Modified:
trunk/priv/main_main.c
trunk/pub/libvex.h
Modified: trunk/priv/main_main.c
==============================================================================
--- trunk/priv/main_main.c (original)
+++ trunk/priv/main_main.c Fri Sep 5 21:52:29 2014
@@ -116,7 +116,7 @@
/* Are we supporting valgrind checking? */
Bool valgrind_support,
/* Control ... */
- /*READONLY*/VexControl* vcon
+ const VexControl* vcon
)
{
/* First off, do enough minimal setup so that the following
Modified: trunk/pub/libvex.h
==============================================================================
--- trunk/pub/libvex.h (original)
+++ trunk/pub/libvex.h Fri Sep 5 21:52:29 2014
@@ -583,7 +583,7 @@
Bool valgrind_support,
/* Control ... */
- /*READONLY*/VexControl* vcon
+ const VexControl* vcon
);
|
|
From: <sv...@va...> - 2014-09-05 21:11:28
|
Author: sewardj
Date: Fri Sep 5 21:11:18 2014
New Revision: 14473
Log:
Improved argument checking for sys_kcmp. Derived from patch from
Christian Borntraeger. Followup to r14451. Pertains to #338106.
Modified:
trunk/coregrind/m_syswrap/syswrap-linux.c
trunk/include/vki/vki-linux.h
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c Fri Sep 5 21:11:18 2014
@@ -10103,10 +10103,22 @@
PRE(sys_kcmp)
{
- PRINT("kcmp ( %ld, %ld, %ld, %lu, %lu )", ARG1, ARG1, ARG3, ARG4, ARG5);
- PRE_REG_READ5(long, "kcmp",
- vki_pid_t, pid1, vki_pid_t, pid2, int, type,
- unsigned long, idx1, unsigned long, idx2);
+ PRINT("kcmp ( %ld, %ld, %ld, %lu, %lu )", ARG1, ARG2, ARG3, ARG4, ARG5);
+ switch (ARG3) {
+ case VKI_KCMP_VM: case VKI_KCMP_FILES: case VKI_KCMP_FS:
+ case VKI_KCMP_SIGHAND: case VKI_KCMP_IO: case VKI_KCMP_SYSVSEM:
+ /* Most of the comparison types don't look at |idx1| or
+ |idx2|. */
+ PRE_REG_READ3(long, "kcmp",
+ vki_pid_t, pid1, vki_pid_t, pid2, int, type);
+ break;
+ case VKI_KCMP_FILE:
+ default:
+ PRE_REG_READ5(long, "kcmp",
+ vki_pid_t, pid1, vki_pid_t, pid2, int, type,
+ unsigned long, idx1, unsigned long, idx2);
+ break;
+ }
}
#undef PRE
Modified: trunk/include/vki/vki-linux.h
==============================================================================
--- trunk/include/vki/vki-linux.h (original)
+++ trunk/include/vki/vki-linux.h Fri Sep 5 21:11:18 2014
@@ -4502,6 +4502,19 @@
#define VKI_MEDIA_IOC_ENUM_LINKS _VKI_IOWR('|', 0x02, struct vki_media_links_enum)
#define VKI_MEDIA_IOC_SETUP_LINK _VKI_IOWR('|', 0x03, struct vki_media_link_desc)
+/* Comparison type */
+enum vki_kcmp_type {
+ VKI_KCMP_FILE,
+ VKI_KCMP_VM,
+ VKI_KCMP_FILES,
+ VKI_KCMP_FS,
+ VKI_KCMP_SIGHAND,
+ VKI_KCMP_IO,
+ VKI_KCMP_SYSVSEM,
+
+ VKI_KCMP_TYPES
+};
+
#endif // __VKI_LINUX_H
/*--------------------------------------------------------------------*/
|
|
From: <sv...@va...> - 2014-09-05 20:38:41
|
Author: sewardj
Date: Fri Sep 5 20:38:34 2014
New Revision: 2945
Log:
iselStmt, case Ist_Dirty: remove pointless conditional. Spotted by
Coverity and Florian Krohm.
Modified:
trunk/priv/host_ppc_isel.c
Modified: trunk/priv/host_ppc_isel.c
==============================================================================
--- trunk/priv/host_ppc_isel.c (original)
+++ trunk/priv/host_ppc_isel.c Fri Sep 5 20:38:34 2014
@@ -5761,26 +5761,18 @@
if (d->tmp != IRTemp_INVALID)
retty = typeOfIRTemp(env->type_env, d->tmp);
- /* Throw out any return types we don't know about. */
+ /* Throw out any return types we don't know about. The set of
+ acceptable return types is the same in both 32- and 64-bit
+ mode, so we don't need to inspect mode64 to make a
+ decision. */
Bool retty_ok = False;
- if (mode64) {
- switch (retty) {
- case Ity_INVALID: /* function doesn't return anything */
- case Ity_V128:
- case Ity_I64: case Ity_I32: case Ity_I16: case Ity_I8:
- retty_ok = True; break;
- default:
- break;
- }
- } else {
- switch (retty) {
- case Ity_INVALID: /* function doesn't return anything */
- case Ity_V128:
- case Ity_I64: case Ity_I32: case Ity_I16: case Ity_I8:
- retty_ok = True; break;
- default:
- break;
- }
+ switch (retty) {
+ case Ity_INVALID: /* function doesn't return anything */
+ case Ity_V128:
+ case Ity_I64: case Ity_I32: case Ity_I16: case Ity_I8:
+ retty_ok = True; break;
+ default:
+ break;
}
if (!retty_ok)
break; /* will go to stmt_fail: */
|
|
From: <sv...@va...> - 2014-09-05 20:29:18
|
Author: sewardj
Date: Fri Sep 5 20:29:10 2014
New Revision: 14472
Log:
evh__new_mem_heap: get rid of pointless conditional. Spotted by
Coverity and Florian Krohm.
Modified:
trunk/helgrind/hg_main.c
Modified: trunk/helgrind/hg_main.c
==============================================================================
--- trunk/helgrind/hg_main.c (original)
+++ trunk/helgrind/hg_main.c Fri Sep 5 20:29:10 2014
@@ -1794,12 +1794,8 @@
if (SHOW_EVENTS >= 1)
VG_(printf)("evh__new_mem_heap(%p, %lu, inited=%d)\n",
(void*)a, len, (Int)is_inited );
- // FIXME: this is kinda stupid
- if (is_inited) {
- shadow_mem_make_New(get_current_Thread(), a, len);
- } else {
- shadow_mem_make_New(get_current_Thread(), a, len);
- }
+ // We ignore the initialisation state (is_inited); that's ok.
+ shadow_mem_make_New(get_current_Thread(), a, len);
if (len >= SCE_BIGRANGE_T && (HG_(clo_sanity_flags) & SCE_BIGRANGE))
all__sanity_check("evh__pre_mem_read-post");
}
|
|
From: <sv...@va...> - 2014-09-05 20:00:33
|
Author: sewardj
Date: Fri Sep 5 20:00:22 2014
New Revision: 14471
Log:
Be more careful to separate build flags for the preload shared objects
as opposed to the valgrind code proper. In particular, make sure that
-mpreferred-stack-boundary=2 does not get used for the preload shared
objects, since that can cause the stack to become misaligned and leads
to segfaults. Modified version of a patch from Matthias Schwarzott
(zz...@ge...). Fixes #324050.
Also, fix the configure check in configure.ac for
-mpreferred-stack-boundary=2 so that it checks whether this is
allowable for 32-bit code generation even on 64-bit (x86) hosts. This
check was wrong before now and led to 32-bit builds on 64-bit hosts
generating poorer code for speed critical helper functions (eg
helperc_LOADV32le) than on 32-bit builds on 32-bit hosts.
Modified:
trunk/Makefile.all.am
trunk/configure.ac
trunk/coregrind/Makefile.am
trunk/docs/internals/porting-to-ARM.txt
trunk/drd/Makefile.am
trunk/exp-dhat/Makefile.am
trunk/exp-sgcheck/Makefile.am
trunk/helgrind/Makefile.am
trunk/massif/Makefile.am
trunk/memcheck/Makefile.am
Modified: trunk/Makefile.all.am
==============================================================================
--- trunk/Makefile.all.am (original)
+++ trunk/Makefile.all.am Fri Sep 5 20:00:22 2014
@@ -109,17 +109,20 @@
-fno-strict-aliasing \
-fno-builtin
-# These flags are used for building the preload shared objects.
+# These flags are used for building the preload shared objects (PSOs).
# The aim is to give reasonable performance but also to have good
# stack traces, since users often see stack traces extending
-# into (and through) the preloads.
+# into (and through) the preloads. Also, we must use any
+# -mpreferred-stack-boundary flag to build the preload shared
+# objects, since that risks misaligning the client's stack and
+# results in segfaults like (eg) #324050.
if VGCONF_OS_IS_DARWIN
-AM_CFLAGS_PIC = -dynamic -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
- -fpic -fPIC \
- -fno-builtin
+AM_CFLAGS_PSO_BASE = -dynamic \
+ -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
+ -fpic -fPIC -fno-builtin
else
-AM_CFLAGS_PIC = -fpic -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
- -fno-builtin
+AM_CFLAGS_PSO_BASE = -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
+ -fpic -fno-builtin
endif
@@ -150,35 +153,43 @@
endif
AM_FLAG_M3264_X86_LINUX = @FLAG_M32@
-AM_CFLAGS_X86_LINUX = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY@ \
+AM_CFLAGS_X86_LINUX = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY_2@ \
$(AM_CFLAGS_BASE) -fomit-frame-pointer
+AM_CFLAGS_PSO_X86_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_X86_LINUX = @FLAG_M32@ -g
AM_FLAG_M3264_AMD64_LINUX = @FLAG_M64@
-AM_CFLAGS_AMD64_LINUX = @FLAG_M64@ @PREFERRED_STACK_BOUNDARY@ \
+AM_CFLAGS_AMD64_LINUX = @FLAG_M64@ \
$(AM_CFLAGS_BASE) -fomit-frame-pointer
+AM_CFLAGS_PSO_AMD64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_AMD64_LINUX = @FLAG_M64@ -g
AM_FLAG_M3264_PPC32_LINUX = @FLAG_M32@
AM_CFLAGS_PPC32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE)
+AM_CFLAGS_PSO_PPC32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_PPC32_LINUX = @FLAG_M32@ -g
AM_FLAG_M3264_PPC64BE_LINUX = @FLAG_M64@
AM_CFLAGS_PPC64BE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
+AM_CFLAGS_PSO_PPC64BE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_PPC64BE_LINUX = @FLAG_M64@ -g
AM_FLAG_M3264_PPC64LE_LINUX = @FLAG_M64@
AM_CFLAGS_PPC64LE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
+AM_CFLAGS_PSO_PPC64LE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_PPC64LE_LINUX = @FLAG_M64@ -g
AM_FLAG_M3264_ARM_LINUX = @FLAG_M32@
-AM_CFLAGS_ARM_LINUX = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY@ \
+AM_CFLAGS_ARM_LINUX = @FLAG_M32@ \
$(AM_CFLAGS_BASE) -marm -mcpu=cortex-a8
+AM_CFLAGS_PSO_ARM_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) \
+ -marm -mcpu=cortex-a8 $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_ARM_LINUX = @FLAG_M32@ \
-marm -mcpu=cortex-a8 -g
AM_FLAG_M3264_ARM64_LINUX = @FLAG_M64@
AM_CFLAGS_ARM64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
+AM_CFLAGS_PSO_ARM64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_ARM64_LINUX = @FLAG_M64@ -g
AM_FLAG_M3264_X86_DARWIN = -arch i386
@@ -186,23 +197,30 @@
-mmacosx-version-min=10.5 \
-fno-stack-protector -fno-pic -fno-PIC
+AM_CFLAGS_PSO_X86_DARWIN = $(AM_CFLAGS_X86_DARWIN) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_X86_DARWIN = -arch i386 -g
AM_FLAG_M3264_AMD64_DARWIN = -arch x86_64
AM_CFLAGS_AMD64_DARWIN = $(WERROR) -arch x86_64 $(AM_CFLAGS_BASE) \
-mmacosx-version-min=10.5 -fno-stack-protector
+AM_CFLAGS_PSO_AMD64_DARWIN = $(AM_CFLAGS_AMD64_DARWIN) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_AMD64_DARWIN = -arch x86_64 -g
AM_FLAG_M3264_S390X_LINUX = @FLAG_M64@
AM_CFLAGS_S390X_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) -fomit-frame-pointer
+AM_CFLAGS_PSO_S390X_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_S390X_LINUX = @FLAG_M64@ -g -mzarch -march=z900
AM_FLAG_M3264_MIPS32_LINUX = @FLAG_M32@
AM_CFLAGS_MIPS32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) @FLAG_MIPS32@
+AM_CFLAGS_PSO_MIPS32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) @FLAG_MIPS32@ \
+ $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_MIPS32_LINUX = @FLAG_M32@ -g @FLAG_MIPS32@
AM_FLAG_M3264_MIPS64_LINUX = @FLAG_M64@
AM_CFLAGS_MIPS64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) @FLAG_MIPS64@
+AM_CFLAGS_PSO_MIPS64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) @FLAG_MIPS64@ \
+ $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_MIPS64_LINUX = @FLAG_M64@ -g @FLAG_MIPS64@
# Flags for the primary target. These must be used to build the
Modified: trunk/configure.ac
==============================================================================
--- trunk/configure.ac (original)
+++ trunk/configure.ac Fri Sep 5 20:00:22 2014
@@ -1707,24 +1707,29 @@
AC_SUBST(FLAG_MSSE)
-# does this compiler support -mpreferred-stack-boundary=2 ?
-AC_MSG_CHECKING([if gcc accepts -mpreferred-stack-boundary=2])
+# does this compiler support -mpreferred-stack-boundary=2 when
+# generating code for a 32-bit target? Note that we only care about
+# this when generating code for (32-bit) x86, so if the compiler
+# doesn't recognise -m32 it's no big deal. We'll just get code for
+# the Memcheck and other helper functions, that is a bit slower than
+# it could be, on x86; and no difference at all on any other platform.
+AC_MSG_CHECKING([if gcc accepts -mpreferred-stack-boundary=2 -m32])
safe_CFLAGS=$CFLAGS
-CFLAGS="-mpreferred-stack-boundary=2"
+CFLAGS="-mpreferred-stack-boundary=2 -m32"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
return 0;
]])], [
-PREFERRED_STACK_BOUNDARY="-mpreferred-stack-boundary=2"
+PREFERRED_STACK_BOUNDARY_2="-mpreferred-stack-boundary=2"
AC_MSG_RESULT([yes])
], [
-PREFERRED_STACK_BOUNDARY=""
+PREFERRED_STACK_BOUNDARY_2=""
AC_MSG_RESULT([no])
])
CFLAGS=$safe_CFLAGS
-AC_SUBST(PREFERRED_STACK_BOUNDARY)
+AC_SUBST(PREFERRED_STACK_BOUNDARY_2)
# Convenience function to check whether GCC supports a particular
Modified: trunk/coregrind/Makefile.am
==============================================================================
--- trunk/coregrind/Makefile.am (original)
+++ trunk/coregrind/Makefile.am Fri Sep 5 20:00:22 2014
@@ -470,14 +470,14 @@
libreplacemalloc_toolpreload_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CPPFLAGS = \
$(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
libreplacemalloc_toolpreload_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS = \
- $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) $(AM_CFLAGS_PIC)
+ $(AM_CFLAGS_PSO_@VGCONF_PLATFORM_PRI_CAPS@)
if VGCONF_HAVE_PLATFORM_SEC
libreplacemalloc_toolpreload_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_SOURCES = \
m_replacemalloc/vg_replace_malloc.c
libreplacemalloc_toolpreload_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CPPFLAGS = \
$(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
libreplacemalloc_toolpreload_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS = \
- $(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) $(AM_CFLAGS_PIC)
+ $(AM_CFLAGS_PSO_@VGCONF_PLATFORM_SEC_CAPS@)
endif
#----------------------------------------------------------------------------
@@ -497,7 +497,7 @@
vgpreload_core_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CPPFLAGS = \
$(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
vgpreload_core_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CFLAGS = \
- $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) $(AM_CFLAGS_PIC)
+ $(AM_CFLAGS_PSO_@VGCONF_PLATFORM_PRI_CAPS@)
vgpreload_core_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_LDFLAGS = \
$(PRELOAD_LDFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
if VGCONF_HAVE_PLATFORM_SEC
@@ -505,7 +505,7 @@
vgpreload_core_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CPPFLAGS = \
$(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
vgpreload_core_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CFLAGS = \
- $(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) $(AM_CFLAGS_PIC)
+ $(AM_CFLAGS_PSO_@VGCONF_PLATFORM_SEC_CAPS@)
vgpreload_core_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_LDFLAGS = \
$(PRELOAD_LDFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
endif
Modified: trunk/docs/internals/porting-to-ARM.txt
==============================================================================
--- trunk/docs/internals/porting-to-ARM.txt (original)
+++ trunk/docs/internals/porting-to-ARM.txt Fri Sep 5 20:00:22 2014
@@ -40,8 +40,8 @@
AC_MSG_RESULT([ok (${host_cpu})])
VG_ARCH="arm"
KICKSTART_BASE="0xb0000000"
- ARCH_CORE_AM_CFLAGS="-fomit-frame-pointer @PREFERRED_STACK_BOUNDARY@"
- ARCH_TOOL_AM_CFLAGS="-fomit-frame-pointer @PREFERRED_STACK_BOUNDARY@"
+ ARCH_CORE_AM_CFLAGS="-fomit-frame-pointer"
+ ARCH_TOOL_AM_CFLAGS="-fomit-frame-pointer"
ARCH_CORE_AM_CCASFLAGS=""
;;
Modified: trunk/drd/Makefile.am
==============================================================================
--- trunk/drd/Makefile.am (original)
+++ trunk/drd/Makefile.am Fri Sep 5 20:00:22 2014
@@ -136,7 +136,7 @@
vgpreload_drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CPPFLAGS = \
$(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
vgpreload_drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CFLAGS = \
- $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) $(AM_CFLAGS_PIC) $(DRD_CFLAGS)
+ $(AM_CFLAGS_PSO_@VGCONF_PLATFORM_PRI_CAPS@) $(DRD_CFLAGS)
vgpreload_drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_DEPENDENCIES = \
$(LIBREPLACEMALLOC_@VGCONF_PLATFORM_PRI_CAPS@)
vgpreload_drd_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_LDFLAGS = \
@@ -149,7 +149,7 @@
vgpreload_drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CPPFLAGS = \
$(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
vgpreload_drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CFLAGS = \
- $(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) $(AM_CFLAGS_PIC) $(DRD_CFLAGS)
+ $(AM_CFLAGS_PSO_@VGCONF_PLATFORM_SEC_CAPS@) $(DRD_CFLAGS)
vgpreload_drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_DEPENDENCIES = \
$(LIBREPLACEMALLOC_@VGCONF_PLATFORM_SEC_CAPS@)
vgpreload_drd_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_LDFLAGS = \
Modified: trunk/exp-dhat/Makefile.am
==============================================================================
--- trunk/exp-dhat/Makefile.am (original)
+++ trunk/exp-dhat/Makefile.am Fri Sep 5 20:00:22 2014
@@ -78,7 +78,7 @@
vgpreload_exp_dhat_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CPPFLAGS = \
$(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
vgpreload_exp_dhat_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CFLAGS = \
- $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) $(AM_CFLAGS_PIC)
+ $(AM_CFLAGS_PSO_@VGCONF_PLATFORM_PRI_CAPS@)
vgpreload_exp_dhat_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_DEPENDENCIES = \
$(LIBREPLACEMALLOC_@VGCONF_PLATFORM_PRI_CAPS@)
vgpreload_exp_dhat_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_LDFLAGS = \
@@ -90,7 +90,7 @@
vgpreload_exp_dhat_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CPPFLAGS = \
$(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
vgpreload_exp_dhat_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CFLAGS = \
- $(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) $(AM_CFLAGS_PIC)
+ $(AM_CFLAGS_PSO_@VGCONF_PLATFORM_SEC_CAPS@)
vgpreload_exp_dhat_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_DEPENDENCIES = \
$(LIBREPLACEMALLOC_@VGCONF_PLATFORM_SEC_CAPS@)
vgpreload_exp_dhat_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_LDFLAGS = \
Modified: trunk/exp-sgcheck/Makefile.am
==============================================================================
--- trunk/exp-sgcheck/Makefile.am (original)
+++ trunk/exp-sgcheck/Makefile.am Fri Sep 5 20:00:22 2014
@@ -86,7 +86,7 @@
vgpreload_exp_sgcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CPPFLAGS = \
$(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
vgpreload_exp_sgcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CFLAGS = \
- $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) $(AM_CFLAGS_PIC) -O2
+ $(AM_CFLAGS_PSO_@VGCONF_PLATFORM_PRI_CAPS@) -O2
vgpreload_exp_sgcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_DEPENDENCIES = \
$(LIBREPLACEMALLOC_@VGCONF_PLATFORM_PRI_CAPS@)
vgpreload_exp_sgcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_LDFLAGS = \
@@ -99,7 +99,7 @@
vgpreload_exp_sgcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CPPFLAGS = \
$(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
vgpreload_exp_sgcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CFLAGS = \
- $(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) $(AM_CFLAGS_PIC) -O2
+ $(AM_CFLAGS_PSO_@VGCONF_PLATFORM_SEC_CAPS@) -O2
vgpreload_exp_sgcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_DEPENDENCIES = \
$(LIBREPLACEMALLOC_@VGCONF_PLATFORM_SEC_CAPS@)
vgpreload_exp_sgcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_LDFLAGS = \
Modified: trunk/helgrind/Makefile.am
==============================================================================
--- trunk/helgrind/Makefile.am (original)
+++ trunk/helgrind/Makefile.am Fri Sep 5 20:00:22 2014
@@ -97,7 +97,7 @@
vgpreload_helgrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CPPFLAGS = \
$(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
vgpreload_helgrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CFLAGS = \
- $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) $(AM_CFLAGS_PIC)
+ $(AM_CFLAGS_PSO_@VGCONF_PLATFORM_PRI_CAPS@)
vgpreload_helgrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_DEPENDENCIES = \
$(LIBREPLACEMALLOC_@VGCONF_PLATFORM_PRI_CAPS@)
vgpreload_helgrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_LDFLAGS = \
@@ -110,7 +110,7 @@
vgpreload_helgrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CPPFLAGS = \
$(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
vgpreload_helgrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CFLAGS = \
- $(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) $(AM_CFLAGS_PIC)
+ $(AM_CFLAGS_PSO_@VGCONF_PLATFORM_SEC_CAPS@)
vgpreload_helgrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_DEPENDENCIES = \
$(LIBREPLACEMALLOC_@VGCONF_PLATFORM_SEC_CAPS@)
vgpreload_helgrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_LDFLAGS = \
Modified: trunk/massif/Makefile.am
==============================================================================
--- trunk/massif/Makefile.am (original)
+++ trunk/massif/Makefile.am Fri Sep 5 20:00:22 2014
@@ -78,7 +78,7 @@
vgpreload_massif_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CPPFLAGS = \
$(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
vgpreload_massif_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CFLAGS = \
- $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) $(AM_CFLAGS_PIC)
+ $(AM_CFLAGS_PSO_@VGCONF_PLATFORM_PRI_CAPS@)
vgpreload_massif_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_DEPENDENCIES = \
$(LIBREPLACEMALLOC_@VGCONF_PLATFORM_PRI_CAPS@)
vgpreload_massif_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_LDFLAGS = \
@@ -90,7 +90,7 @@
vgpreload_massif_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CPPFLAGS = \
$(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
vgpreload_massif_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CFLAGS = \
- $(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) $(AM_CFLAGS_PIC)
+ $(AM_CFLAGS_PSO_@VGCONF_PLATFORM_SEC_CAPS@)
vgpreload_massif_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_DEPENDENCIES = \
$(LIBREPLACEMALLOC_@VGCONF_PLATFORM_SEC_CAPS@)
vgpreload_massif_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_LDFLAGS = \
Modified: trunk/memcheck/Makefile.am
==============================================================================
--- trunk/memcheck/Makefile.am (original)
+++ trunk/memcheck/Makefile.am Fri Sep 5 20:00:22 2014
@@ -94,7 +94,7 @@
vgpreload_memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CPPFLAGS = \
$(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
vgpreload_memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CFLAGS = \
- $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) $(AM_CFLAGS_PIC) -O2
+ $(AM_CFLAGS_PSO_@VGCONF_PLATFORM_PRI_CAPS@) -O2
vgpreload_memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_DEPENDENCIES = \
$(LIBREPLACEMALLOC_@VGCONF_PLATFORM_PRI_CAPS@)
vgpreload_memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_LDFLAGS = \
@@ -107,7 +107,7 @@
vgpreload_memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CPPFLAGS = \
$(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
vgpreload_memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CFLAGS = \
- $(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) $(AM_CFLAGS_PIC) -O2
+ $(AM_CFLAGS_PSO_@VGCONF_PLATFORM_SEC_CAPS@) -O2
vgpreload_memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_DEPENDENCIES = \
$(LIBREPLACEMALLOC_@VGCONF_PLATFORM_SEC_CAPS@)
vgpreload_memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_LDFLAGS = \
|
|
From: <sv...@va...> - 2014-09-05 19:23:28
|
Author: florian
Date: Fri Sep 5 19:23:20 2014
New Revision: 14470
Log:
Fix function prototype as pointed out by clang.
Modified:
trunk/memcheck/tests/new_override.cpp
Modified: trunk/memcheck/tests/new_override.cpp
==============================================================================
--- trunk/memcheck/tests/new_override.cpp (original)
+++ trunk/memcheck/tests/new_override.cpp Fri Sep 5 19:23:20 2014
@@ -1,12 +1,13 @@
#include <stdlib.h>
#include <stdio.h>
+#include <new>
class Test {
public:
int a, b, c, d;
};
-void *operator new[](size_t size)
+void *operator new[](size_t size) throw(std::bad_alloc)
{
void *ret = malloc(size);
printf("Here.\n");
|
|
From: <sv...@va...> - 2014-09-05 19:05:29
|
Author: sewardj
Date: Fri Sep 5 19:05:20 2014
New Revision: 14469
Log:
maybe_tweak_LLc: generalise this so that it can mash more or less any
cache size and associativity pair into something the simulator can
actually handle, by increasing the associativity whilst reducing the
number of sets, so that the number of sets becomes a power of two.
Fixes #333501.
Modified:
trunk/cachegrind/cg_arch.c
Modified: trunk/cachegrind/cg_arch.c
==============================================================================
--- trunk/cachegrind/cg_arch.c (original)
+++ trunk/cachegrind/cg_arch.c Fri Sep 5 19:05:20 2014
@@ -180,11 +180,14 @@
That sometimes gives a problem. For example, some Core iX based
Intel CPUs have T = 12MB, A = 16, L = 64, which gives 12288
- sets. The "fix" in this case is to increase the associativity
- by 50% to 24, which reduces the number of sets to 8192, making
- it a power of 2. That's what the following code does (handing
- the "3/2 rescaling case".) We might need to deal with other
- ratios later (5/4 ?).
+ sets. Some AMD cpus have T = 5MB, A = 48, L = 64, which gives
+ 1706.667 sets (!).
+
+ The "fix" is to force S down to the nearest power of two below its
+ original value, and increase A proportionately, so as to keep the
+ total cache size the same. In fact to be safe we recalculate the
+ cache size afterwards anyway, to guarantee that it divides exactly
+ between the new number of sets.
The "fix" is "justified" (cough, cough) by alleging that
increases of associativity above about 4 have very little effect
@@ -193,29 +196,78 @@
changing the associativity is a much better option.
*/
+/* (Helper function) Returns the largest power of 2 that is <= |x|.
+ Even works when |x| == 0. */
+static UInt floor_power_of_2 ( UInt x )
+{
+ x = x | (x >> 1);
+ x = x | (x >> 2);
+ x = x | (x >> 4);
+ x = x | (x >> 8);
+ x = x | (x >> 16);
+ return x - (x >> 1);
+}
+
static void
maybe_tweak_LLc(cache_t *LLc)
{
- if (LLc->size > 0 && LLc->assoc > 0 && LLc->line_size > 0) {
- Long nSets = (Long)LLc->size / (Long)(LLc->line_size * LLc->assoc);
- if (/* stay sane */
- nSets >= 4
- /* nSets is not a power of 2 */
- && VG_(log2_64)( (ULong)nSets ) == -1
- /* nSets is 50% above a power of 2 */
- && VG_(log2_64)( (ULong)((2 * nSets) / (Long)3) ) != -1
- /* associativity can be increased by exactly 50% */
- && (LLc->assoc % 2) == 0
- ) {
- /* # sets is 1.5 * a power of two, but the associativity is
- even, so we can increase that up by 50% and implicitly
- scale the # sets down accordingly. */
- Int new_assoc = LLc->assoc + (LLc->assoc / 2);
- VG_(dmsg)("warning: pretending that LL cache has associativity"
- " %d instead of actual %d\n", new_assoc, LLc->assoc);
- LLc->assoc = new_assoc;
- }
- }
+ if (LLc->size == 0 || LLc->assoc == 0 || LLc->line_size == 0)
+ return;
+
+ tl_assert(LLc->size > 0 && LLc->assoc > 0 && LLc->line_size > 0);
+
+ UInt old_size = (UInt)LLc->size;
+ UInt old_assoc = (UInt)LLc->assoc;
+ UInt old_line_size = (UInt)LLc->line_size;
+
+ UInt new_size = old_size;
+ UInt new_assoc = old_assoc;
+ UInt new_line_size = old_line_size;
+
+ UInt old_nSets = old_size / (old_assoc * old_line_size);
+ if (old_nSets == 0) {
+ /* This surely can't happen; but would cause chaos with the maths
+ * below if it did. Just give up if it does. */
+ return;
+ }
+
+ if (-1 != VG_(log2_64)(old_nSets)) {
+ /* The number of sets is already a power of 2. Make sure that
+ the size divides exactly between the sets. Almost all of the
+ time this will have no effect. */
+ new_size = old_line_size * old_assoc * old_nSets;
+ } else {
+ /* The number of sets isn't a power of two. Calculate some
+ scale-down factor which causes the number of sets to become a
+ power of two. Then, increase the associativity by that
+ factor. Finally, re-calculate the total size so as to make
+ sure it divides exactly between the sets. */
+ tl_assert(old_nSets >= 0);
+ UInt new_nSets = floor_power_of_2 ( old_nSets );
+ tl_assert(new_nSets > 0 && new_nSets < old_nSets);
+ Double factor = (Double)old_nSets / (Double)new_nSets;
+ tl_assert(factor >= 1.0);
+
+ new_assoc = (UInt)(0.5 + factor * (Double)old_assoc);
+ tl_assert(new_assoc >= old_assoc);
+
+ new_size = old_line_size * new_assoc * new_nSets;
+ }
+
+ tl_assert(new_line_size == old_line_size); /* we never change this */
+ if (new_size == old_size && new_assoc == old_assoc)
+ return;
+
+ VG_(dmsg)("warning: "
+ "specified LL cache: line_size %u assoc %u total_size %'u\n",
+ old_line_size, old_assoc, old_size);
+ VG_(dmsg)("warning: "
+ "simulated LL cache: line_size %u assoc %u total_size %'u\n",\
+ new_line_size, new_assoc, new_size);
+
+ LLc->size = new_size;
+ LLc->assoc = new_assoc;
+ LLc->line_size = new_line_size;
}
void VG_(post_clo_init_configure_caches)(cache_t* I1c,
|
|
From: <sv...@va...> - 2014-09-05 18:36:34
|
Author: florian
Date: Fri Sep 5 18:36:26 2014
New Revision: 14468
Log:
The purpose of the test is to see whether the exported header files
compile OK with gcc -ansi. Therefore, add drd.h
Modified:
trunk/none/tests/ansi.c
Modified: trunk/none/tests/ansi.c
==============================================================================
--- trunk/none/tests/ansi.c (original)
+++ trunk/none/tests/ansi.c Fri Sep 5 18:36:26 2014
@@ -7,6 +7,7 @@
#include "valgrind.h"
#include "../../memcheck/memcheck.h"
#include "../../helgrind/helgrind.h"
+#include "../../drd/drd.h"
int main(void)
{
|
|
From: Florian K. <fl...@ei...> - 2014-09-05 18:34:36
|
On 05.09.2014 20:27, Mark Wielaard wrote: > BTW. Do you need to have libc6-dbg installed on Ubuntu before valgrind > works? If not could you also post the output before/after without > libc6-dbg installed? I need to have it installed. When I remove it I get the same message as before. So, yes, it needs to be present. > > I'll try to fix it. Sorry for the breakage. no problem. Florian |
|
From: <sv...@va...> - 2014-09-05 18:30:16
|
Author: florian
Date: Fri Sep 5 18:30:05 2014
New Revision: 14467
Log:
Fix most clang warnings.
Modified:
trunk/configure.ac
trunk/drd/tests/Makefile.am
trunk/drd/tests/tsan_unittest.cpp
trunk/memcheck/tests/Makefile.am
Modified: trunk/configure.ac
==============================================================================
--- trunk/configure.ac (original)
+++ trunk/configure.ac Fri Sep 5 18:30:05 2014
@@ -1773,6 +1773,8 @@
AC_GCC_WARNING_SUBST_NO([nonnull], [FLAG_W_NO_NONNULL])
AC_GCC_WARNING_SUBST_NO([overflow], [FLAG_W_NO_OVERFLOW])
AC_GCC_WARNING_SUBST_NO([uninitialized], [FLAG_W_NO_UNINITIALIZED])
+AC_GCC_WARNING_SUBST_NO([unused-function], [FLAG_W_NO_UNUSED_FUNCTION])
+AC_GCC_WARNING_SUBST_NO([static-local-in-inline], [FLAG_W_NO_STATIC_LOCAL_IN_INLINE])
# does this compiler support -Wextra or the older -W ?
Modified: trunk/drd/tests/Makefile.am
==============================================================================
--- trunk/drd/tests/Makefile.am (original)
+++ trunk/drd/tests/Makefile.am Fri Sep 5 18:30:05 2014
@@ -468,6 +468,7 @@
endif
annotate_static_SOURCES = annotate_static.cpp
+annotate_static_CXXFLAGS = $(AM_CXXFLAGS) @FLAG_W_NO_UNUSED_FUNCTION@
local_static_SOURCES = local_static.cpp
Modified: trunk/drd/tests/tsan_unittest.cpp
==============================================================================
--- trunk/drd/tests/tsan_unittest.cpp (original)
+++ trunk/drd/tests/tsan_unittest.cpp Fri Sep 5 18:30:05 2014
@@ -7757,8 +7757,8 @@
const int N_THREADS = 2,
HG_CACHELINE_SIZE = 1 << 6,
ARRAY_SIZE = HG_CACHELINE_SIZE * 512,
- MUTEX_ID_BITS = 8,
- MUTEX_ID_MASK = (1 << MUTEX_ID_BITS) - 1;
+ MUTEX_ID_BITS = 8;
+// MUTEX_ID_MASK = (1 << MUTEX_ID_BITS) - 1;
// Each thread has its own cacheline and tackles with it intensively
const int ITERATIONS = 1024;
Modified: trunk/memcheck/tests/Makefile.am
==============================================================================
--- trunk/memcheck/tests/Makefile.am (original)
+++ trunk/memcheck/tests/Makefile.am Fri Sep 5 18:30:05 2014
@@ -422,11 +422,7 @@
inits_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@
-if COMPILER_IS_CLANG
-inlinfo_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@ -Wno-static-local-in-inline
-else
-inlinfo_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@
-endif
+inlinfo_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@ @FLAG_W_NO_STATIC_LOCAL_IN_INLINE@
inltemplate_SOURCES = inltemplate.cpp
inltemplate_CXXFLAGS = $(AM_CXXFLAGS) @FLAG_W_NO_UNINITIALIZED@
|
|
From: Mark W. <mj...@re...> - 2014-09-05 18:27:45
|
On Fri, 2014-09-05 at 20:21 +0200, Florian Krohm wrote: > On 05.09.2014 20:15, Mark Wielaard wrote: > > Would you mind posting the valgrind -v output before and after the patch > > so we can see which files are being considered before/after the patch? > > > > Here they are from: > ./vg-in-place -v date Thanks, I think I see what is going wrong. The search tries the file itself first (maybe debug info is in the file itself). Before it checked the debug CRC, which didn't match, and so it tries a separate debug file. But after it just checks the build-id, which does match and so doesn't consider any more separate debug files. BTW. Do you need to have libc6-dbg installed on Ubuntu before valgrind works? If not could you also post the output before/after without libc6-dbg installed? I'll try to fix it. Sorry for the breakage. Thanks, Mark |
|
From: Florian K. <fl...@ei...> - 2014-09-05 18:21:43
|
On 05.09.2014 20:15, Mark Wielaard wrote: > On Fri, 2014-09-05 at 19:12 +0200, Florian Krohm wrote: >> This revision breaks stuff for me (x86-64, ubuntu 14.04, gcc 4.8.2, >> EGLIBC 2.19-0ubuntu6.3). >> On a brand-new checkout I get this: >> >> ./vg-in-place date >> valgrind: Fatal error at startup: a function redirection >> valgrind: which is mandatory for this platform-tool combination >> valgrind: cannot be set up. Details of the redirection are: >> valgrind: >> valgrind: A must-be-redirected function >> valgrind: whose name matches the pattern: strlen >> valgrind: in an object with soname matching: ld-linux-x86-64.so.2 >> valgrind: was not found whilst processing >> valgrind: symbols from the object with soname: ld-linux-x86-64.so.2 >> valgrind: >> ... and so on >> >> Works fine without the revision. > > That is surprising. The patch was supposed to extend the debug > files/patchs being searched. Apparently I messed things up and instead > of finding the debug for ld-linux-x86-64.so.2 it now doesn't and so > cannot setup the redirect. But I though we required ld.so not be > stripped from the symbol table. hmmm. > > Would you mind posting the valgrind -v output before and after the patch > so we can see which files are being considered before/after the patch? > Here they are from: ./vg-in-place -v date |
|
From: Mark W. <mj...@re...> - 2014-09-05 18:15:56
|
On Fri, 2014-09-05 at 19:12 +0200, Florian Krohm wrote: > This revision breaks stuff for me (x86-64, ubuntu 14.04, gcc 4.8.2, > EGLIBC 2.19-0ubuntu6.3). > On a brand-new checkout I get this: > > ./vg-in-place date > valgrind: Fatal error at startup: a function redirection > valgrind: which is mandatory for this platform-tool combination > valgrind: cannot be set up. Details of the redirection are: > valgrind: > valgrind: A must-be-redirected function > valgrind: whose name matches the pattern: strlen > valgrind: in an object with soname matching: ld-linux-x86-64.so.2 > valgrind: was not found whilst processing > valgrind: symbols from the object with soname: ld-linux-x86-64.so.2 > valgrind: > ... and so on > > Works fine without the revision. That is surprising. The patch was supposed to extend the debug files/patchs being searched. Apparently I messed things up and instead of finding the debug for ld-linux-x86-64.so.2 it now doesn't and so cannot setup the redirect. But I though we required ld.so not be stripped from the symbol table. hmmm. Would you mind posting the valgrind -v output before and after the patch so we can see which files are being considered before/after the patch? Thanks, Mark |
Author: carll
Date: Fri Sep 5 18:05:24 2014
New Revision: 14466
Log:
The update fixes a format issue in the PPC test
none/tests/ppc32/jm-insns.c and none/tests/ppc64/jm-insns.c.
The BE and LE output expect files are updated as well.
There is no Bugzilla related to this update. The issue
was found and the initial patch and BE output update
was done by Florian Krohm <fl...@ei...>.
Carl Love <ce...@us...> added the LE output update.
Modified:
trunk/memcheck/tests/Makefile.am
trunk/none/tests/ppc32/jm-insns.c
trunk/none/tests/ppc64/jm-int.stdout.exp
trunk/none/tests/ppc64/jm-int.stdout.exp-LE
Modified: trunk/memcheck/tests/Makefile.am
==============================================================================
--- trunk/memcheck/tests/Makefile.am (original)
+++ trunk/memcheck/tests/Makefile.am Fri Sep 5 18:05:24 2014
@@ -422,7 +422,11 @@
inits_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@
+if COMPILER_IS_CLANG
+inlinfo_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@ -Wno-static-local-in-inline
+else
inlinfo_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@
+endif
inltemplate_SOURCES = inltemplate.cpp
inltemplate_CXXFLAGS = $(AM_CXXFLAGS) @FLAG_W_NO_UNINITIALIZED@
Modified: trunk/none/tests/ppc32/jm-insns.c
==============================================================================
--- trunk/none/tests/ppc32/jm-insns.c (original)
+++ trunk/none/tests/ppc32/jm-insns.c Fri Sep 5 18:05:24 2014
@@ -5586,7 +5586,7 @@
#ifndef __powerpc64__
printf("%s %2d, (%08x) => %08x, %2d (%08x %08x)\n",
#else
- printf("%s %3d, (%016x) => %016llx, %3lld (%08x %08x)\n",
+ printf("%s %3d, (%016llx) => %016llx, %3lld (%08x %08x)\n",
#endif
name, offs, iargs[nb_iargs-1 + i], res, r14-base, flags, xer);
}
Modified: trunk/none/tests/ppc64/jm-int.stdout.exp
==============================================================================
--- trunk/none/tests/ppc64/jm-int.stdout.exp (original)
+++ trunk/none/tests/ppc64/jm-int.stdout.exp Fri Sep 5 18:05:24 2014
@@ -4551,78 +4551,78 @@
lbz 0, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
lbz 7, (0000001cbe991def) => 0000000000000000, 0 (00000000 00000000)
lbz 15, (ffffffffffffffff) => 00000000000000ef, 0 (00000000 00000000)
- lbz 1, (00000000ffffffff) => 00000000000000ff, 0 (00000000 00000000)
- lbz -7, (00000000be991def) => 0000000000000000, 0 (00000000 00000000)
+ lbz 1, (ffffffffffffffff) => 00000000000000ff, 0 (00000000 00000000)
+ lbz -7, (0000001cbe991def) => 0000000000000000, 0 (00000000 00000000)
lbz -15, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
lbzu 0, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
lbzu 7, (0000001cbe991def) => 0000000000000000, 7 (00000000 00000000)
lbzu 15, (ffffffffffffffff) => 00000000000000ef, 15 (00000000 00000000)
- lbzu 1, (00000000ffffffff) => 00000000000000ff, 1 (00000000 00000000)
- lbzu -7, (00000000be991def) => 0000000000000000, -7 (00000000 00000000)
+ lbzu 1, (ffffffffffffffff) => 00000000000000ff, 1 (00000000 00000000)
+ lbzu -7, (0000001cbe991def) => 0000000000000000, -7 (00000000 00000000)
lbzu -15, (0000000000000000) => 0000000000000000, -15 (00000000 00000000)
lha 0, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
lha 7, (0000001cbe991def) => 0000000000000000, 0 (00000000 00000000)
lha 15, (ffffffffffffffff) => ffffffffffffefff, 0 (00000000 00000000)
- lha 1, (00000000ffffffff) => ffffffffffffffff, 0 (00000000 00000000)
- lha -7, (00000000be991def) => 0000000000000000, 0 (00000000 00000000)
+ lha 1, (ffffffffffffffff) => ffffffffffffffff, 0 (00000000 00000000)
+ lha -7, (0000001cbe991def) => 0000000000000000, 0 (00000000 00000000)
lha -15, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
lhau 0, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
lhau 7, (0000001cbe991def) => 0000000000000000, 7 (00000000 00000000)
lhau 15, (ffffffffffffffff) => ffffffffffffefff, 15 (00000000 00000000)
- lhau 1, (00000000ffffffff) => ffffffffffffffff, 1 (00000000 00000000)
- lhau -7, (00000000be991def) => 0000000000000000, -7 (00000000 00000000)
+ lhau 1, (ffffffffffffffff) => ffffffffffffffff, 1 (00000000 00000000)
+ lhau -7, (0000001cbe991def) => 0000000000000000, -7 (00000000 00000000)
lhau -15, (0000000000000000) => 0000000000000000, -15 (00000000 00000000)
lhz 0, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
lhz 7, (0000001cbe991def) => 0000000000000000, 0 (00000000 00000000)
lhz 15, (ffffffffffffffff) => 000000000000efff, 0 (00000000 00000000)
- lhz 1, (00000000ffffffff) => 000000000000ffff, 0 (00000000 00000000)
- lhz -7, (00000000be991def) => 0000000000000000, 0 (00000000 00000000)
+ lhz 1, (ffffffffffffffff) => 000000000000ffff, 0 (00000000 00000000)
+ lhz -7, (0000001cbe991def) => 0000000000000000, 0 (00000000 00000000)
lhz -15, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
lhzu 0, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
lhzu 7, (0000001cbe991def) => 0000000000000000, 7 (00000000 00000000)
lhzu 15, (ffffffffffffffff) => 000000000000efff, 15 (00000000 00000000)
- lhzu 1, (00000000ffffffff) => 000000000000ffff, 1 (00000000 00000000)
- lhzu -7, (00000000be991def) => 0000000000000000, -7 (00000000 00000000)
+ lhzu 1, (ffffffffffffffff) => 000000000000ffff, 1 (00000000 00000000)
+ lhzu -7, (0000001cbe991def) => 0000000000000000, -7 (00000000 00000000)
lhzu -15, (0000000000000000) => 0000000000000000, -15 (00000000 00000000)
lwz 0, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
lwz 7, (0000001cbe991def) => 0000000000000000, 0 (00000000 00000000)
lwz 15, (ffffffffffffffff) => 00000000efffffff, 0 (00000000 00000000)
- lwz 1, (00000000ffffffff) => 00000000ffffffff, 0 (00000000 00000000)
- lwz -7, (00000000be991def) => 0000000000001cbe, 0 (00000000 00000000)
+ lwz 1, (ffffffffffffffff) => 00000000ffffffff, 0 (00000000 00000000)
+ lwz -7, (0000001cbe991def) => 0000000000001cbe, 0 (00000000 00000000)
lwz -15, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
lwzu 0, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
lwzu 7, (0000001cbe991def) => 0000000000000000, 7 (00000000 00000000)
lwzu 15, (ffffffffffffffff) => 00000000efffffff, 15 (00000000 00000000)
- lwzu 1, (00000000ffffffff) => 00000000ffffffff, 1 (00000000 00000000)
- lwzu -7, (00000000be991def) => 0000000000001cbe, -7 (00000000 00000000)
+ lwzu 1, (ffffffffffffffff) => 00000000ffffffff, 1 (00000000 00000000)
+ lwzu -7, (0000001cbe991def) => 0000000000001cbe, -7 (00000000 00000000)
lwzu -15, (0000000000000000) => 0000000000000000, -15 (00000000 00000000)
ld 0, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
ld 7, (0000001cbe991def) => 000000000000001c, 0 (00000000 00000000)
ld 15, (ffffffffffffffff) => be991defffffffff, 0 (00000000 00000000)
- ld 1, (00000000ffffffff) => ffffffffffffffff, 0 (00000000 00000000)
- ld -7, (00000000be991def) => 0000001cbe991def, -8 (00000000 00000000)
+ ld 1, (ffffffffffffffff) => ffffffffffffffff, 0 (00000000 00000000)
+ ld -7, (0000001cbe991def) => 0000001cbe991def, -8 (00000000 00000000)
ld -15, (0000000000000000) => 0000000000000000, -16 (00000000 00000000)
ldu 0, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
ldu 7, (0000001cbe991def) => 000000000000001c, 4 (00000000 00000000)
ldu 15, (ffffffffffffffff) => be991defffffffff, 12 (00000000 00000000)
- ldu 1, (00000000ffffffff) => ffffffffffffffff, 0 (00000000 00000000)
- ldu -7, (00000000be991def) => 0000001cbe991def, -8 (00000000 00000000)
+ ldu 1, (ffffffffffffffff) => ffffffffffffffff, 0 (00000000 00000000)
+ ldu -7, (0000001cbe991def) => 0000001cbe991def, -8 (00000000 00000000)
ldu -15, (0000000000000000) => 0000000000000000, -16 (00000000 00000000)
lwa 0, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
lwa 7, (0000001cbe991def) => 0000000000000000, 0 (00000000 00000000)
lwa 15, (ffffffffffffffff) => ffffffffbe991def, 0 (00000000 00000000)
- lwa 1, (00000000ffffffff) => ffffffffffffffff, 0 (00000000 00000000)
- lwa -7, (00000000be991def) => 0000001cbe991def, -8 (00000000 00000000)
+ lwa 1, (ffffffffffffffff) => ffffffffffffffff, 0 (00000000 00000000)
+ lwa -7, (0000001cbe991def) => 0000001cbe991def, -8 (00000000 00000000)
lwa -15, (0000000000000000) => 0000000000000000, -16 (00000000 00000000)
PPC integer load insns with two register args:
Modified: trunk/none/tests/ppc64/jm-int.stdout.exp-LE
==============================================================================
--- trunk/none/tests/ppc64/jm-int.stdout.exp-LE (original)
+++ trunk/none/tests/ppc64/jm-int.stdout.exp-LE Fri Sep 5 18:05:24 2014
@@ -4551,78 +4551,78 @@
lbz 0, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
lbz 7, (0000001cbe991def) => 0000000000000000, 0 (00000000 00000000)
lbz 15, (ffffffffffffffff) => 0000000000000000, 0 (00000000 00000000)
- lbz 1, (00000000ffffffff) => 00000000000000ff, 0 (00000000 00000000)
- lbz -7, (00000000be991def) => 000000000000001d, 0 (00000000 00000000)
+ lbz 1, (ffffffffffffffff) => 00000000000000ff, 0 (00000000 00000000)
+ lbz -7, (0000001cbe991def) => 000000000000001d, 0 (00000000 00000000)
lbz -15, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
lbzu 0, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
lbzu 7, (0000001cbe991def) => 0000000000000000, 7 (00000000 00000000)
lbzu 15, (ffffffffffffffff) => 0000000000000000, 15 (00000000 00000000)
- lbzu 1, (00000000ffffffff) => 00000000000000ff, 1 (00000000 00000000)
- lbzu -7, (00000000be991def) => 000000000000001d, -7 (00000000 00000000)
+ lbzu 1, (ffffffffffffffff) => 00000000000000ff, 1 (00000000 00000000)
+ lbzu -7, (0000001cbe991def) => 000000000000001d, -7 (00000000 00000000)
lbzu -15, (0000000000000000) => 0000000000000000, -15 (00000000 00000000)
lha 0, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
lha 7, (0000001cbe991def) => ffffffffffffef00, 0 (00000000 00000000)
lha 15, (ffffffffffffffff) => ffffffffffffff00, 0 (00000000 00000000)
- lha 1, (00000000ffffffff) => ffffffffffffffff, 0 (00000000 00000000)
- lha -7, (00000000be991def) => ffffffffffff991d, 0 (00000000 00000000)
+ lha 1, (ffffffffffffffff) => ffffffffffffffff, 0 (00000000 00000000)
+ lha -7, (0000001cbe991def) => ffffffffffff991d, 0 (00000000 00000000)
lha -15, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
lhau 0, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
lhau 7, (0000001cbe991def) => ffffffffffffef00, 7 (00000000 00000000)
lhau 15, (ffffffffffffffff) => ffffffffffffff00, 15 (00000000 00000000)
- lhau 1, (00000000ffffffff) => ffffffffffffffff, 1 (00000000 00000000)
- lhau -7, (00000000be991def) => ffffffffffff991d, -7 (00000000 00000000)
+ lhau 1, (ffffffffffffffff) => ffffffffffffffff, 1 (00000000 00000000)
+ lhau -7, (0000001cbe991def) => ffffffffffff991d, -7 (00000000 00000000)
lhau -15, (0000000000000000) => 0000000000000000, -15 (00000000 00000000)
lhz 0, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
lhz 7, (0000001cbe991def) => 000000000000ef00, 0 (00000000 00000000)
lhz 15, (ffffffffffffffff) => 000000000000ff00, 0 (00000000 00000000)
- lhz 1, (00000000ffffffff) => 000000000000ffff, 0 (00000000 00000000)
- lhz -7, (00000000be991def) => 000000000000991d, 0 (00000000 00000000)
+ lhz 1, (ffffffffffffffff) => 000000000000ffff, 0 (00000000 00000000)
+ lhz -7, (0000001cbe991def) => 000000000000991d, 0 (00000000 00000000)
lhz -15, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
lhzu 0, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
lhzu 7, (0000001cbe991def) => 000000000000ef00, 7 (00000000 00000000)
lhzu 15, (ffffffffffffffff) => 000000000000ff00, 15 (00000000 00000000)
- lhzu 1, (00000000ffffffff) => 000000000000ffff, 1 (00000000 00000000)
- lhzu -7, (00000000be991def) => 000000000000991d, -7 (00000000 00000000)
+ lhzu 1, (ffffffffffffffff) => 000000000000ffff, 1 (00000000 00000000)
+ lhzu -7, (0000001cbe991def) => 000000000000991d, -7 (00000000 00000000)
lhzu -15, (0000000000000000) => 0000000000000000, -15 (00000000 00000000)
lwz 0, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
lwz 7, (0000001cbe991def) => 00000000991def00, 0 (00000000 00000000)
lwz 15, (ffffffffffffffff) => 00000000ffffff00, 0 (00000000 00000000)
- lwz 1, (00000000ffffffff) => 00000000ffffffff, 0 (00000000 00000000)
- lwz -7, (00000000be991def) => 000000001cbe991d, 0 (00000000 00000000)
+ lwz 1, (ffffffffffffffff) => 00000000ffffffff, 0 (00000000 00000000)
+ lwz -7, (0000001cbe991def) => 000000001cbe991d, 0 (00000000 00000000)
lwz -15, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
lwzu 0, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
lwzu 7, (0000001cbe991def) => 00000000991def00, 7 (00000000 00000000)
lwzu 15, (ffffffffffffffff) => 00000000ffffff00, 15 (00000000 00000000)
- lwzu 1, (00000000ffffffff) => 00000000ffffffff, 1 (00000000 00000000)
- lwzu -7, (00000000be991def) => 000000001cbe991d, -7 (00000000 00000000)
+ lwzu 1, (ffffffffffffffff) => 00000000ffffffff, 1 (00000000 00000000)
+ lwzu -7, (0000001cbe991def) => 000000001cbe991d, -7 (00000000 00000000)
lwzu -15, (0000000000000000) => 0000000000000000, -15 (00000000 00000000)
ld 0, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
ld 7, (0000001cbe991def) => be991def00000000, 0 (00000000 00000000)
ld 15, (ffffffffffffffff) => ffffffff0000001c, 0 (00000000 00000000)
- ld 1, (00000000ffffffff) => ffffffffffffffff, 0 (00000000 00000000)
- ld -7, (00000000be991def) => 0000001cbe991def, -8 (00000000 00000000)
+ ld 1, (ffffffffffffffff) => ffffffffffffffff, 0 (00000000 00000000)
+ ld -7, (0000001cbe991def) => 0000001cbe991def, -8 (00000000 00000000)
ld -15, (0000000000000000) => 0000000000000000, -16 (00000000 00000000)
ldu 0, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
ldu 7, (0000001cbe991def) => be991def00000000, 4 (00000000 00000000)
ldu 15, (ffffffffffffffff) => ffffffff0000001c, 12 (00000000 00000000)
- ldu 1, (00000000ffffffff) => ffffffffffffffff, 0 (00000000 00000000)
- ldu -7, (00000000be991def) => 0000001cbe991def, -8 (00000000 00000000)
+ ldu 1, (ffffffffffffffff) => ffffffffffffffff, 0 (00000000 00000000)
+ ldu -7, (0000001cbe991def) => 0000001cbe991def, -8 (00000000 00000000)
ldu -15, (0000000000000000) => 0000000000000000, -16 (00000000 00000000)
lwa 0, (0000000000000000) => 0000000000000000, 0 (00000000 00000000)
lwa 7, (0000001cbe991def) => 0000000000000000, 0 (00000000 00000000)
lwa 15, (ffffffffffffffff) => 000000000000001c, 0 (00000000 00000000)
- lwa 1, (00000000ffffffff) => ffffffffffffffff, 0 (00000000 00000000)
- lwa -7, (00000000be991def) => 0000001cbe991def, -8 (00000000 00000000)
+ lwa 1, (ffffffffffffffff) => ffffffffffffffff, 0 (00000000 00000000)
+ lwa -7, (0000001cbe991def) => 0000001cbe991def, -8 (00000000 00000000)
lwa -15, (0000000000000000) => 0000000000000000, -16 (00000000 00000000)
PPC integer load insns with two register args:
|
|
From: Florian K. <fl...@ei...> - 2014-09-05 17:12:57
|
This revision breaks stuff for me (x86-64, ubuntu 14.04, gcc 4.8.2, EGLIBC 2.19-0ubuntu6.3). On a brand-new checkout I get this: ./vg-in-place date valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strlen valgrind: in an object with soname matching: ld-linux-x86-64.so.2 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-x86-64.so.2 valgrind: ... and so on Works fine without the revision. Florian |
|
From: <sv...@va...> - 2014-09-05 14:49:25
|
Author: florian
Date: Fri Sep 5 14:49:17 2014
New Revision: 14465
Log:
Move the endianess test for ppc64 to the correct place.
Modified:
trunk/memcheck/mc_machine.c
Modified: trunk/memcheck/mc_machine.c
==============================================================================
--- trunk/memcheck/mc_machine.c (original)
+++ trunk/memcheck/mc_machine.c Fri Sep 5 14:49:17 2014
@@ -161,6 +161,12 @@
Int o = offset;
tl_assert(sz > 0);
+#if defined(VGA_ppc64be)
+ tl_assert(host_is_big_endian());
+#elif defined(VGA_ppc64le)
+ tl_assert(host_is_little_endian());
+#endif
+
if (sz == 8 || sz == 4) {
/* The point of this is to achieve
if ((o == GOF(GPRn) && sz == 8) || (o == 4+GOF(GPRn) && sz == 4))
@@ -371,11 +377,6 @@
Int o = offset;
Int sz = szB;
tl_assert(sz > 0);
-#if defined(VGA_ppc64be)
- tl_assert(host_is_big_endian());
-#elif defined(VGA_ppc64le)
- tl_assert(host_is_little_endian());
-#endif
if (o == GOF(GPR0) && sz == 4) return o;
if (o == GOF(GPR1) && sz == 4) return o;
|
|
From: <sv...@va...> - 2014-09-05 14:25:26
|
Author: mjw
Date: Fri Sep 5 14:25:17 2014
New Revision: 14464
Log:
Bug 338791 Handle debug alt dwz files that are relative to the debug file.
readdwarf3 would only look for alt dwz files using the build-id.
But alt files can be installed relative to the debug (or main) file.
Fix find_debug_file to allow searching of relative files even if
we don't want an ET_REL (rel_ok) file, and pass the build-id to
open_debug_file so it can be checked. Add the debug file path to
_DebugInfoFSM and set it in find_debug_file once opened. Pass the
dbgname or filename as relative file to resolve an altfile in
read_elf_debug_info when we ahava an debugaltlink_escn.
Modified:
trunk/coregrind/m_debuginfo/debuginfo.c
trunk/coregrind/m_debuginfo/priv_storage.h
trunk/coregrind/m_debuginfo/readelf.c
Modified: trunk/coregrind/m_debuginfo/debuginfo.c
==============================================================================
--- trunk/coregrind/m_debuginfo/debuginfo.c (original)
+++ trunk/coregrind/m_debuginfo/debuginfo.c Fri Sep 5 14:25:17 2014
@@ -216,6 +216,7 @@
vg_assert(di != NULL);
if (di->fsm.maps) VG_(deleteXA)(di->fsm.maps);
if (di->fsm.filename) ML_(dinfo_free)(di->fsm.filename);
+ if (di->fsm.dbgname) ML_(dinfo_free)(di->fsm.dbgname);
if (di->soname) ML_(dinfo_free)(di->soname);
if (di->loctab) ML_(dinfo_free)(di->loctab);
if (di->loctab_fndn_ix) ML_(dinfo_free)(di->loctab_fndn_ix);
Modified: trunk/coregrind/m_debuginfo/priv_storage.h
==============================================================================
--- trunk/coregrind/m_debuginfo/priv_storage.h (original)
+++ trunk/coregrind/m_debuginfo/priv_storage.h Fri Sep 5 14:25:17 2014
@@ -543,6 +543,7 @@
struct _DebugInfoFSM
{
HChar* filename; /* in mallocville (VG_AR_DINFO) */
+ HChar* dbgname; /* in mallocville (VG_AR_DINFO) */
XArray* maps; /* XArray of _DebugInfoMapping structs */
Bool have_rx_map; /* did we see a r?x mapping yet for the file? */
Bool have_rw_map; /* did we see a rw? mapping yet for the file? */
Modified: trunk/coregrind/m_debuginfo/readelf.c
==============================================================================
--- trunk/coregrind/m_debuginfo/readelf.c (original)
+++ trunk/coregrind/m_debuginfo/readelf.c Fri Sep 5 14:25:17 2014
@@ -1244,7 +1244,7 @@
}
}
- if (dimg == NULL && debugname != NULL && !rel_ok) {
+ if (dimg == NULL && debugname != NULL) {
HChar *objdir = ML_(dinfo_strdup)("di.fdf.2", objpath);
HChar *objdirptr;
@@ -1258,21 +1258,21 @@
+ (serverpath ? VG_(strlen)(serverpath) : 0));
VG_(sprintf)(debugpath, "%s/%s", objdir, debugname);
- dimg = open_debug_file(debugpath, NULL, crc, rel_ok, NULL);
+ dimg = open_debug_file(debugpath, buildid, crc, rel_ok, NULL);
if (dimg != NULL) goto dimg_ok;
VG_(sprintf)(debugpath, "%s/.debug/%s", objdir, debugname);
- dimg = open_debug_file(debugpath, NULL, crc, rel_ok, NULL);
+ dimg = open_debug_file(debugpath, buildid, crc, rel_ok, NULL);
if (dimg != NULL) goto dimg_ok;
VG_(sprintf)(debugpath, "/usr/lib/debug%s/%s", objdir, debugname);
- dimg = open_debug_file(debugpath, NULL, crc, rel_ok, NULL);
+ dimg = open_debug_file(debugpath, buildid, crc, rel_ok, NULL);
if (dimg != NULL) goto dimg_ok;
if (extrapath) {
VG_(sprintf)(debugpath, "%s%s/%s", extrapath,
objdir, debugname);
- dimg = open_debug_file(debugpath, NULL, crc, rel_ok, NULL);
+ dimg = open_debug_file(debugpath, buildid, crc, rel_ok, NULL);
if (dimg != NULL) goto dimg_ok;
}
@@ -1284,7 +1284,7 @@
basename = VG_(strrchr)(basename, '/') + 1;
}
VG_(sprintf)(debugpath, "%s on %s", basename, serverpath);
- dimg = open_debug_file(basename, NULL, crc, rel_ok, serverpath);
+ dimg = open_debug_file(basename, buildid, crc, rel_ok, serverpath);
if (dimg) goto dimg_ok;
}
@@ -1297,6 +1297,10 @@
vg_assert(debugpath);
TRACE_SYMTAB("\n");
TRACE_SYMTAB("------ Found a debuginfo file: %s\n", debugpath);
+
+ /* Only set once, we might be called again for opening the altfile. */
+ if (di->fsm.dbgname == NULL)
+ di->fsm.dbgname = ML_(dinfo_strdup)("di.fdf.4", debugpath);
}
if (debugpath)
@@ -2714,6 +2718,9 @@
vg_assert(aimg == NULL);
if (debugaltlink_escn.img != NULL) {
+ HChar* altfile_str_m
+ = ML_(img_strdup)(debugaltlink_escn.img,
+ "di.fbi.3", debugaltlink_escn.ioff);
UInt buildid_offset = ML_(img_strlen)(debugaltlink_escn.img,
debugaltlink_escn.ioff)+1;
@@ -2724,6 +2731,9 @@
(debugaltlink_escn.szB - buildid_offset)
* 2 + 1);
+ /* The altfile might be relative to the debug file or main file. */
+ HChar *dbgname = di->fsm.dbgname ? di->fsm.dbgname : di->fsm.filename;
+
for (j = 0; j < debugaltlink_escn.szB - buildid_offset; j++)
VG_(sprintf)(
altbuildid + 2 * j, "%02x",
@@ -2732,9 +2742,11 @@
+ buildid_offset + j));
/* See if we can find a matching debug file */
- aimg = find_debug_file( di, di->fsm.filename, altbuildid,
- NULL, 0, True );
+ aimg = find_debug_file( di, dbgname, altbuildid,
+ altfile_str_m, 0, True );
+ if (altfile_str_m)
+ ML_(dinfo_free)(altfile_str_m);
ML_(dinfo_free)(altbuildid);
}
|
|
From: <sv...@va...> - 2014-09-05 14:09:04
|
Author: florian
Date: Fri Sep 5 14:08:51 2014
New Revision: 14463
Log:
Make sure valgrind builds with clang 3.5.0
Modified:
trunk/Makefile.vex.am
trunk/memcheck/tests/amd64/Makefile.am
trunk/memcheck/tests/amd64/more_x87_fp.vgtest
Modified: trunk/Makefile.vex.am
==============================================================================
--- trunk/Makefile.vex.am (original)
+++ trunk/Makefile.vex.am Fri Sep 5 14:08:51 2014
@@ -64,6 +64,12 @@
BUILT_SOURCES = pub/libvex_guest_offsets.h
CLEANFILES = pub/libvex_guest_offsets.h
+if COMPILER_IS_CLANG
+CFLAGS_FOR_GENOFFSETS = $(CFLAGS) -no-integrated-as
+else
+CFLAGS_FOR_GENOFFSETS = $(CFLAGS)
+endif
+
# This is very uggerly. Need to sed out both "xyzzyN" and
# "xyzzy$N" since gcc on different targets emits the constants
# differently -- with a leading $ on x86/amd64 but none on ppc32/64.
@@ -80,7 +86,7 @@
pub/libvex_guest_mips64.h
rm -f auxprogs/genoffsets.s
$(mkdir_p) auxprogs pub
- $(CC) $(CFLAGS) \
+ $(CC) $(CFLAGS_FOR_GENOFFSETS) \
$(LIBVEX_CFLAGS) \
$(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) \
-O -S -o auxprogs/genoffsets.s \
Modified: trunk/memcheck/tests/amd64/Makefile.am
==============================================================================
--- trunk/memcheck/tests/amd64/Makefile.am (original)
+++ trunk/memcheck/tests/amd64/Makefile.am Fri Sep 5 14:08:51 2014
@@ -41,7 +41,6 @@
fxsave-amd64 \
insn-bsfl \
insn-pmovmskb \
- more_x87_fp \
sh-mem-vec128 \
sse_memory \
xor-undef-amd64
@@ -51,6 +50,10 @@
if HAVE_ASM_CONSTRAINT_P
check_PROGRAMS += insn-pcmpistri
endif
+# clang 3.5.0 barfs about -mfancy-math-387
+if !COMPILER_IS_CLANG
+ check_PROGRAMS += more_x87_fp
+endif
AM_CFLAGS += @FLAG_M64@
AM_CXXFLAGS += @FLAG_M64@
Modified: trunk/memcheck/tests/amd64/more_x87_fp.vgtest
==============================================================================
--- trunk/memcheck/tests/amd64/more_x87_fp.vgtest (original)
+++ trunk/memcheck/tests/amd64/more_x87_fp.vgtest Fri Sep 5 14:08:51 2014
@@ -1,2 +1,3 @@
+prereq: test -e more_x87_fp
prog: more_x87_fp
vgopts: -q
|
|
From: <sv...@va...> - 2014-09-05 07:50:18
|
Author: sewardj
Date: Fri Sep 5 07:49:54 2014
New Revision: 14462
Log:
Remove unneeded variable.
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 (original)
+++ trunk/coregrind/m_syswrap/syswrap-arm-linux.c Fri Sep 5 07:49:54 2014
@@ -170,8 +170,6 @@
Int *child_tidptr,
Addr child_tls)
{
- const Bool debug = False;
-
ThreadId ctid = VG_(alloc_ThreadState)();
ThreadState* ptst = VG_(get_ThreadState)(ptid);
ThreadState* ctst = VG_(get_ThreadState)(ctid);
|
|
From: Rich C. <rc...@wi...> - 2014-09-05 05:12:46
|
valgrind revision: 14461
VEX revision: 2944
C compiler: gcc (SUSE Linux) 4.8.1 20130909 [gcc-4_8-branch revision 202388]
GDB: GNU gdb (GDB; openSUSE Factory) 7.6.50.20130731-cvs
Assembler: GNU assembler (GNU Binutils; openSUSE Factory) 2.23.2
C library: GNU C Library (GNU libc) stable release version 2.18 (git )
uname -mrs: Linux 3.11.4-3-desktop x86_64
Vendor version: Welcome to openSUSE 13.1 "Bottle" Beta 1 - Kernel %r (%t).
Nightly build on rodan ( Linux 3.11.4-3-desktop x86_64 )
Started at 2014-09-04 19:22:01 CDT
Ended at 2014-09-05 00:12:36 CDT
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
== 612 tests, 4 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/err_disable3 (stderr)
memcheck/tests/err_disable4 (stderr)
memcheck/tests/threadname (stderr)
memcheck/tests/threadname_xml (stderr)
--tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old
+ perl perf/vg_perf --tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old perf
-- Running tests in perf ----------------------------------------------
-- bigcode1 --
bigcode1 valgrind-new:0.48s no: 7.8s (16.3x, -----) me:16.0s (33.3x, -----) ca:61.4s (128.0x, -----) he: 9.8s (20.4x, -----) ca:17.3s (36.1x, -----) dr: 8.8s (18.3x, -----) ma: 9.1s (18.9x, -----)
bigcode1 valgrind-old:0.48s no: 7.8s (16.3x, 0.3%) me:15.9s (33.2x, 0.4%) ca:61.4s (127.9x, 0.1%) he: 9.8s (20.5x, -0.5%) ca:25.6s (53.4x,-48.0%) dr: 8.8s (18.3x, -0.1%) ma: 9.1s (18.9x, 0.0%)
-- bigcode2 --
bigcode2 valgrind-new:0.49s no:18.8s (38.3x, -----) me:39.8s (81.2x, -----) ca:105.8s (215.8x, -----) he:23.2s (47.4x, -----) ca:32.7s (66.8x, -----) dr:21.3s (43.5x, -----) ma:21.4s (43.7x, -----)
bigcode2 valgrind-old:0.49s no:18.7s (38.2x, 0.2%) me:39.5s (80.7x, 0.6%) ca:105.6s (215.5x, 0.2%) he:23.4s (47.8x, -0.7%) ca:41.2s (84.0x,-25.8%) dr:21.4s (43.7x, -0.4%) ma:21.4s (43.7x, 0.1%)
-- bz2 --
bz2 valgrind-new:2.32s no:10.2s ( 4.4x, -----) me:28.2s (12.1x, -----) ca:61.3s (26.4x, -----) he:40.5s (17.5x, -----) ca:60.0s (25.9x, -----) dr:57.6s (24.8x, -----) ma: 9.8s ( 4.2x, -----)
bz2 valgrind-old:2.32s no:10.3s ( 4.5x, -1.5%) me:28.1s (12.1x, 0.1%) ca:62.5s (26.9x, -1.8%) he:40.4s (17.4x, 0.2%) ca:77.2s (33.3x,-28.7%) dr:56.7s (24.4x, 1.6%) ma: 9.7s ( 4.2x, 0.6%)
-- fbench --
fbench valgrind-new:1.44s no: 5.5s ( 3.8x, -----) me:18.4s (12.8x, -----) ca:27.0s (18.8x, -----) he:13.7s ( 9.5x, -----) ca:17.2s (12.0x, -----) dr:13.0s ( 9.0x, -----) ma: 5.6s ( 3.9x, -----)
fbench valgrind-old:1.44s no: 5.5s ( 3.8x, -0.2%) me:18.4s (12.8x, -0.2%) ca:27.2s (18.9x, -0.8%) he:13.6s ( 9.5x, 0.4%) ca:21.7s (15.0x,-25.9%) dr:13.0s ( 9.0x, 0.2%) ma: 5.6s ( 3.9x, -0.2%)
-- ffbench --
ffbench valgrind-new:0.99s no: 3.7s ( 3.8x, -----) me:13.0s (13.2x, -----) ca: 8.2s ( 8.3x, -----) he:22.2s (22.4x, -----) ca:23.4s (23.7x, -----) dr:17.2s (17.3x, -----) ma: 3.7s ( 3.7x, -----)
ffbench valgrind-old:0.99s no: 3.7s ( 3.8x, 0.5%) me:13.1s (13.2x, -0.2%) ca: 8.2s ( 8.3x, -0.4%) he:22.2s (22.4x, -0.1%) ca:27.6s (27.9x,-17.9%) dr:17.2s (17.4x, -0.1%) ma: 3.7s ( 3.7x, -1.1%)
-- heap --
heap valgrind-new:0.41s no: 3.3s ( 8.1x, -----) me:22.9s (56.0x, -----) ca:31.3s (76.4x, -----) he:30.8s (75.2x, -----) ca:17.1s (41.8x, -----) dr:19.9s (48.6x, -----) ma:22.5s (54.9x, -----)
heap valgrind-old:0.41s no: 3.4s ( 8.2x, -0.3%) me:23.0s (56.0x, -0.1%) ca:31.5s (76.9x, -0.6%) he:31.6s (77.1x, -2.5%) ca:22.8s (55.5x,-33.0%) dr:19.8s (48.4x, 0.5%) ma:21.9s (53.3x, 2.9%)
-- heap_pdb4 --
heap_pdb4 valgrind-new:0.55s no: 3.7s ( 6.7x, -----) me:42.5s (77.3x, -----) ca:34.0s (61.8x, -----) he:35.5s (64.6x, -----) ca:18.9s (34.4x, -----) dr:22.3s (40.5x, -----) ma:23.9s (43.4x, -----)
heap_pdb4 valgrind-old:0.55s no: 3.7s ( 6.7x, 0.3%) me:42.1s (76.5x, 1.0%) ca:34.0s (61.8x, 0.0%) he:36.6s (66.5x, -3.0%) ca:24.7s (45.0x,-30.8%) dr:22.1s (40.2x, 0.9%) ma:23.3s (42.3x, 2.5%)
-- many-loss-records --
many-loss-records valgrind-new:0.05s no: 1.3s (25.4x, -----) me: 6.7s (134.6x, -----) ca: 5.1s (102.6x, -----) he: 6.0s (120.2x, -----) ca: 3.5s (70.6x, -----) dr: 4.7s (93.2x, -----) ma: 4.8s (96.2x, -----)
many-loss-records valgrind-old:0.05s no: 1.3s (25.4x, 0.0%) me: 6.7s (134.8x, -0.1%) ca: 5.1s (102.0x, 0.6%) he: 6.1s (122.0x, -1.5%) ca: 4.1s (81.8x,-15.9%) dr: 4.7s (93.2x, 0.0%) ma: 4.7s (94.0x, 2.3%)
-- many-xpts --
many-xpts valgrind-new:0.15s no: 1.5s (10.3x, -----) me: 8.0s (53.0x, -----) ca:13.0s (86.9x, -----) he:10.6s (70.7x, -----) ca: 5.0s (33.0x, -----) dr: 6.1s (40.9x, -----) ma: 7.4s (49.1x, -----)
many-xpts valgrind-old:0.15s no: 1.5s (10.1x, 1.3%) me: 8.0s (53.0x, 0.0%) ca:13.1s (87.2x, -0.4%) he:10.6s (70.9x, -0.3%) ca: 5.8s (39.0x,-18.2%) dr: 6.2s (41.3x, -1.1%) ma: 7.3s (48.5x, 1.1%)
-- sarp --
sarp valgrind-new:0.10s no: 1.5s (14.9x, -----) me: 9.7s (97.3x, -----) ca: 8.2s (81.8x, -----) he:30.5s (304.9x, -----) ca: 4.8s (48.2x, -----) dr: 4.1s (40.8x, -----) ma: 1.5s (15.4x, -----)
sarp valgrind-old:0.10s no: 1.5s (14.9x, 0.0%) me: 9.6s (96.3x, 1.0%) ca: 8.2s (82.3x, -0.6%) he:31.2s (312.1x, -2.4%) ca: 5.6s (56.1x,-16.4%) dr: 4.1s (41.1x, -0.7%) ma: 1.5s (15.1x, 1.9%)
-- tinycc --
tinycc valgrind-new:0.76s no: 7.6s (10.0x, -----) me:38.6s (50.8x, -----) ca:47.8s (62.9x, -----) he:46.1s (60.7x, -----) ca:41.4s (54.5x, -----) dr:40.1s (52.7x, -----) ma:12.1s (15.9x, -----)
tinycc valgrind-old:0.76s no: 7.6s (10.0x, 0.0%) me:38.6s (50.8x, -0.0%) ca:48.4s (63.7x, -1.4%) he:46.6s (61.3x, -1.1%) ca:45.1s (59.3x, -8.8%) dr:41.2s (54.3x, -3.0%) ma:12.0s (15.8x, 0.3%)
-- Finished tests in perf ----------------------------------------------
== 11 programs, 154 timings =================
real 161m34.716s
user 159m38.038s
sys 1m50.139s
=================================================
./valgrind-new/memcheck/tests/err_disable3.stderr.diff
=================================================
--- err_disable3.stderr.exp 2014-09-04 20:26:31.712250798 -0500
+++ err_disable3.stderr.out 2014-09-04 20:46:46.317200355 -0500
@@ -10,8 +10,6 @@
Thread 2:
Invalid read of size 1
at 0x........: err (err_disable3.c:25)
- by 0x........: child_fn (err_disable3.c:31)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable3.c:42)
=================================================
./valgrind-new/memcheck/tests/err_disable4.stderr.diff
=================================================
--- err_disable4.stderr.exp 2014-09-04 20:26:32.570259890 -0500
+++ err_disable4.stderr.out 2014-09-04 20:46:51.404254890 -0500
@@ -1501,8 +1501,6 @@
Thread x:
Invalid read of size 1
at 0x........: err (err_disable4.c:41)
- by 0x........: child_fn_2 (err_disable4.c:55)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable4.c:68)
=================================================
./valgrind-new/memcheck/tests/threadname.stderr.diff
=================================================
--- threadname.stderr.exp 2014-09-04 20:26:31.450248022 -0500
+++ threadname.stderr.out 2014-09-04 20:55:24.147762797 -0500
@@ -9,36 +9,12 @@
Thread 2:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_0 (threadname.c:53)
- ...
Address 0x........ is 0 bytes after a block of size 2 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: bad_things (threadname.c:15)
by 0x........: child_fn_0 (threadname.c:53)
...
-Thread 3 try1:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_1 (threadname.c:38)
- ...
- Address 0x........ is 0 bytes after a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_1 (threadname.c:38)
- ...
-
-Thread 4 012345678901234:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_2 (threadname.c:26)
- ...
- Address 0x........ is 0 bytes after a block of size 4 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_2 (threadname.c:26)
- ...
-
Thread 1:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
=================================================
./valgrind-new/memcheck/tests/threadname_xml.stderr.diff
=================================================
--- threadname_xml.stderr.exp 2014-09-04 20:26:33.139265920 -0500
+++ threadname_xml.stderr.out 2014-09-04 20:55:27.214795807 -0500
@@ -94,14 +94,6 @@
<file>threadname.c</file>
<line>...</line>
</frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_0</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
</stack>
<auxwhat>Address 0x........ is 0 bytes after a block of size 2 alloc'd</auxwhat>
<stack>
@@ -135,112 +127,6 @@
<error>
<unique>0x........</unique>
<tid>...</tid>
- <threadname>try1</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 3 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>malloc</fn>
- <dir>...</dir>
- <file>vg_replace_malloc.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
-</error>
-
-<error>
- <unique>0x........</unique>
- <tid>...</tid>
- <threadname>012345678901234</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_2</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 4 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<truncated beyond 100 lines>
=================================================
./valgrind-old/memcheck/tests/err_disable3.stderr.diff
=================================================
--- err_disable3.stderr.exp 2014-09-04 19:22:26.336183488 -0500
+++ err_disable3.stderr.out 2014-09-04 19:42:09.479275848 -0500
@@ -10,8 +10,6 @@
Thread 2:
Invalid read of size 1
at 0x........: err (err_disable3.c:25)
- by 0x........: child_fn (err_disable3.c:31)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable3.c:42)
=================================================
./valgrind-old/memcheck/tests/err_disable4.stderr.diff
=================================================
--- err_disable4.stderr.exp 2014-09-04 19:22:27.745199100 -0500
+++ err_disable4.stderr.out 2014-09-04 19:42:14.419330518 -0500
@@ -1501,8 +1501,6 @@
Thread x:
Invalid read of size 1
at 0x........: err (err_disable4.c:41)
- by 0x........: child_fn_2 (err_disable4.c:55)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable4.c:68)
=================================================
./valgrind-old/memcheck/tests/threadname.stderr.diff
=================================================
--- threadname.stderr.exp 2014-09-04 19:22:27.828200019 -0500
+++ threadname.stderr.out 2014-09-04 19:50:44.391944011 -0500
@@ -9,36 +9,12 @@
Thread 2:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_0 (threadname.c:53)
- ...
Address 0x........ is 0 bytes after a block of size 2 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: bad_things (threadname.c:15)
by 0x........: child_fn_0 (threadname.c:53)
...
-Thread 3 try1:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_1 (threadname.c:38)
- ...
- Address 0x........ is 0 bytes after a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_1 (threadname.c:38)
- ...
-
-Thread 4 012345678901234:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_2 (threadname.c:26)
- ...
- Address 0x........ is 0 bytes after a block of size 4 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_2 (threadname.c:26)
- ...
-
Thread 1:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
=================================================
./valgrind-old/memcheck/tests/threadname_xml.stderr.diff
=================================================
--- threadname_xml.stderr.exp 2014-09-04 19:22:26.332183444 -0500
+++ threadname_xml.stderr.out 2014-09-04 19:50:47.442977475 -0500
@@ -94,14 +94,6 @@
<file>threadname.c</file>
<line>...</line>
</frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_0</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
</stack>
<auxwhat>Address 0x........ is 0 bytes after a block of size 2 alloc'd</auxwhat>
<stack>
@@ -135,112 +127,6 @@
<error>
<unique>0x........</unique>
<tid>...</tid>
- <threadname>try1</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 3 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>malloc</fn>
- <dir>...</dir>
- <file>vg_replace_malloc.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
-</error>
-
-<error>
- <unique>0x........</unique>
- <tid>...</tid>
- <threadname>012345678901234</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_2</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 4 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<truncated beyond 100 lines>
|
|
From: Christian B. <bor...@de...> - 2014-09-05 04:14:23
|
valgrind revision: 14461 VEX revision: 2944 C compiler: gcc (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973] GDB: GNU gdb (GDB) SUSE (7.5.1-0.7.29) Assembler: GNU assembler (GNU Binutils; SUSE Linux Enterprise 11) 2.23.1 C library: GNU C Library stable release version 2.11.3 (20110527) uname -mrs: Linux 3.0.101-0.35-default s390x Vendor version: Welcome to SUSE Linux Enterprise Server 11 SP3 (s390x) - Kernel %r (%t). Nightly build on sless390 ( SUSE Linux Enterprise Server 11 SP3 gcc 4.3.4 on z196 (s390x) ) Started at 2014-09-05 03:45:02 CEST Ended at 2014-09-05 06:14:09 CEST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 662 tests, 3 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) helgrind/tests/pth_cond_destroy_busy (stderr) helgrind/tests/tc20_verifywrap (stderr) --tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old -- Running tests in perf ---------------------------------------------- -- bigcode1 -- bigcode1 valgrind-new:0.23s no: 4.3s (18.8x, -----) me: 7.5s (32.4x, -----) ca:26.8s (116.5x, -----) he: 5.3s (23.1x, -----) ca: 9.1s (39.7x, -----) dr: 5.2s (22.8x, -----) ma: 4.9s (21.3x, -----) bigcode1 valgrind-old:0.23s no: 4.3s (18.8x, 0.2%) me: 7.2s (31.2x, 3.9%) ca:26.8s (116.4x, 0.1%) he: 5.3s (23.1x, -0.0%) ca: 9.1s (39.7x, 0.1%) dr: 5.2s (22.4x, 1.5%) ma: 4.7s (20.2x, 5.3%) -- bigcode2 -- bigcode2 valgrind-new:0.24s no: 7.2s (30.1x, -----) me:14.3s (59.5x, -----) ca:40.1s (167.1x, -----) he:10.4s (43.2x, -----) ca:14.3s (59.4x, -----) dr: 9.3s (38.9x, -----) ma: 8.3s (34.5x, -----) bigcode2 valgrind-old:0.24s no: 7.3s (30.3x, -0.7%) me:14.1s (58.7x, 1.3%) ca:40.1s (167.1x, 0.0%) he:10.4s (43.3x, -0.2%) ca:14.2s (59.1x, 0.5%) dr: 9.3s (38.7x, 0.5%) ma: 8.1s (33.7x, 2.3%) -- bz2 -- bz2 valgrind-new:0.70s no: 5.0s ( 7.1x, -----) me:13.0s (18.6x, -----) ca:31.4s (44.9x, -----) he:19.8s (28.2x, -----) ca:34.3s (49.0x, -----) dr:30.3s (43.3x, -----) ma: 4.8s ( 6.8x, -----) bz2 valgrind-old:0.70s no: 5.0s ( 7.1x, -0.2%) me:12.8s (18.3x, 1.3%) ca:31.1s (44.5x, 0.9%) he:19.7s (28.2x, 0.2%) ca:34.3s (49.0x, 0.1%) dr:30.3s (43.2x, 0.3%) ma: 3.8s ( 5.4x, 20.1%) -- fbench -- fbench valgrind-new:0.40s no: 1.6s ( 4.0x, -----) me: 4.5s (11.3x, -----) ca: 9.4s (23.5x, -----) he: 6.5s (16.2x, -----) ca: 7.2s (18.1x, -----) dr: 5.5s (13.8x, -----) ma: 1.7s ( 4.2x, -----) fbench valgrind-old:0.40s no: 1.6s ( 4.0x, -0.0%) me: 4.5s (11.2x, 0.4%) ca: 9.4s (23.5x, 0.2%) he: 6.5s (16.2x, -0.2%) ca: 7.3s (18.1x, -0.3%) dr: 5.5s (13.8x, 0.2%) ma: 1.7s ( 4.2x, 0.6%) -- ffbench -- ffbench valgrind-new:0.20s no: 1.1s ( 5.3x, -----) me: 3.2s (16.1x, -----) ca: 3.0s (15.2x, -----) he:44.1s (220.4x, -----) ca: 9.5s (47.4x, -----) dr: 7.0s (35.2x, -----) ma: 1.0s ( 4.9x, -----) ffbench valgrind-old:0.20s no: 1.0s ( 5.1x, 2.8%) me: 3.2s (16.1x, -0.3%) ca: 3.0s (15.2x, 0.0%) he:44.1s (220.3x, 0.0%) ca: 9.5s (47.4x, 0.1%) dr: 7.0s (35.2x, 0.1%) ma: 0.9s ( 4.7x, 3.1%) -- heap -- heap valgrind-new:0.23s no: 1.9s ( 8.2x, -----) me: 9.0s (39.1x, -----) ca:13.2s (57.6x, -----) he:13.0s (56.5x, -----) ca:11.2s (48.7x, -----) dr: 7.5s (32.7x, -----) ma: 7.9s (34.5x, -----) heap valgrind-old:0.23s no: 1.8s ( 7.7x, 5.3%) me: 9.0s (39.3x, -0.4%) ca:13.2s (57.6x, 0.0%) he:13.0s (56.6x, -0.1%) ca:11.2s (48.7x, 0.0%) dr: 7.6s (32.9x, -0.7%) ma: 8.0s (34.6x, -0.3%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.23s no: 2.0s ( 8.9x, -----) me:13.1s (57.1x, -----) ca:14.4s (62.5x, -----) he:14.2s (62.0x, -----) ca:12.3s (53.4x, -----) dr: 8.5s (37.1x, -----) ma: 8.1s (35.1x, -----) heap_pdb4 valgrind-old:0.23s no: 2.0s ( 8.5x, 4.4%) me:13.2s (57.3x, -0.2%) ca:14.4s (62.7x, -0.2%) he:14.3s (62.0x, -0.1%) ca:12.3s (53.4x, 0.0%) dr: 8.6s (37.2x, -0.2%) ma: 8.0s (34.8x, 0.9%) -- many-loss-records -- many-loss-records valgrind-new:0.03s no: 0.5s (16.0x, -----) me: 2.3s (77.7x, -----) ca: 2.0s (65.3x, -----) he: 2.4s (79.3x, -----) ca: 1.9s (63.7x, -----) dr: 1.7s (57.0x, -----) ma: 1.7s (55.7x, -----) many-loss-records valgrind-old:0.03s no: 0.5s (15.7x, 2.1%) me: 2.3s (78.0x, -0.4%) ca: 1.9s (65.0x, 0.5%) he: 2.4s (79.7x, -0.4%) ca: 1.9s (63.7x, 0.0%) dr: 1.7s (56.7x, 0.6%) ma: 1.7s (55.7x, 0.0%) -- many-xpts -- many-xpts valgrind-new:0.07s no: 0.6s ( 8.9x, -----) me: 3.4s (49.1x, -----) ca:371.7s (5310.1x, -----) he: 6.8s (96.6x, -----) ca: 2.8s (40.0x, -----) dr: 2.5s (35.1x, -----) ma: 2.6s (37.1x, -----) many-xpts valgrind-old:0.07s no: 0.6s ( 8.6x, 3.2%) me: 3.4s (49.0x, 0.3%) ca:370.2s (5288.0x, 0.4%) he: 6.8s (96.6x, 0.0%) ca: 2.8s (39.9x, 0.4%) dr: 2.5s (35.1x, 0.0%) ma: 2.6s (37.0x, 0.4%) -- sarp -- sarp valgrind-new:0.03s no: 0.6s (20.0x, -----) me: 4.1s (138.0x, -----) ca: 3.2s (107.3x, -----) he:17.6s (585.0x, -----) ca: 2.0s (68.3x, -----) dr: 1.3s (44.3x, -----) ma: 0.5s (17.7x, -----) sarp valgrind-old:0.03s no: 0.6s (19.7x, 1.7%) me: 4.1s (137.7x, 0.2%) ca: 3.2s (107.7x, -0.3%) he:17.3s (575.3x, 1.7%) ca: 2.0s (68.3x, 0.0%) dr: 1.4s (45.0x, -1.5%) ma: 0.5s (16.7x, 5.7%) -- tinycc -- tinycc valgrind-new:0.22s no: 2.7s (12.5x, -----) me:14.9s (67.9x, -----) ca:30.4s (138.1x, -----) he:28.2s (128.4x, -----) ca:21.2s (96.2x, -----) dr:20.6s (93.8x, -----) ma: 4.1s (18.8x, -----) tinycc valgrind-old:0.22s no: 2.7s (12.1x, 2.9%) me:14.9s (67.9x, 0.1%) ca:30.5s (138.5x, -0.3%) he:28.3s (128.5x, -0.1%) ca:21.1s (96.0x, 0.2%) dr:20.5s (93.3x, 0.5%) ma: 4.0s (18.2x, 3.1%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 112m15.341s user 111m29.072s sys 0m32.945s |