You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
1
|
2
|
3
|
4
|
|
5
|
6
|
7
(2) |
8
(16) |
9
|
10
|
11
(1) |
|
12
(19) |
13
(12) |
14
(15) |
15
(5) |
16
(15) |
17
(1) |
18
(15) |
|
19
|
20
(3) |
21
(1) |
22
(12) |
23
(4) |
24
(5) |
25
(15) |
|
26
(4) |
27
(12) |
28
|
29
(2) |
30
(13) |
31
(13) |
|
|
From: Mark W. <mj...@re...> - 2014-01-13 17:25:57
|
On Mon, 2014-01-13 at 16:04 +0100, Mark Wielaard wrote: > Hi Valgrind hackers, developers and users, > > Valgrind will have a devroom at FOSDEM 2014 on Sunday 2 February with > the follow talks: Apologies for messing up the formatting. Here it is again, hopefully better readable. If not, please just see: https://fosdem.org/2014/schedule/track/valgrind/ 10:00 - 10:25 Valgrind Support in the Eclipse IDE An Overview of the Eclipse Valgrind plugin provided by the Linux Tools Project Roland Grunberg 10:30 - 10:55 Testing of valgrind RPMs in RHEL Miroslav Franc 11:00 - 11:50 SimuVEX Using VEX in Symbolic Analysis Yan Shoshitaishvili 13:00 - 13:50 Helgrind: a constraint-based data race detector Julian Seward 14:00 - 14:25 Porting Valgrind on Solaris Ivo Raisr, Petr Pavlu 15:00 - 15:25 GDB, so where are we now? Status of GDB's ongoing target and run control projects Pedro Alves 15:30 - 15:55 Combining the power of Valgrind and GDB Philippe Waroquiers 16:00 - 16:25 BoF: Valgrind and GDB integration Crazy and fun ways to make the Valgrind/GDB combo more powerful Tom Tromey 16:30 - 17:45 BoF: Ideas, new features and directions for Valgrind Open discussion about small (or big) ideas to improve or change Valgrind. Mark Wielaard > More background information about the talks can be found at: > https://fosdem.org/2014/schedule/track/valgrind/ > > For the last session we are still looking for ideas to discuss. It will > be an open discussion, so anything you like can be discussed. The > current list of discussion topics is: > > * Release/bugfixing strategy/policy. > * Valgrind and transactional memory. > * Making Valgrind really multi-threaded, parallelising Memcheck, > parallelising the rest of the framework, and tools. > * Better support compiled/JITted code. Allowing the JIT compiler to > indicate to Valgrind the link between the JITted code and the source > code. > * Modify memcheck to report the last leaked pointer to a block integrate > "omega" as a memcheck option or omega as a separate tool. > http://www.brainmurders.eclipse.co.uk/omega.html > * Should we continue to support MacOS? > What about Valgrind on MS-Windows? > * Make Callgrind work sanely on ARM. > * Redo the JIT framework to reduce baseline overheads. > * Packaging valgrind for distros, handling patches, suppressions, etc. > * Flexible heuristic possibly leaked support. i.e. let the user specific > an "expression" in a suppression file that if true would transform a > possibly leaked into a reachable. > * An interactive SQL relational interface to Valgrind data structures > https://github.com/mfragkoulis/PiCO_QL/tree/master/src/Valgrind-mod > > I'll update the abstract of the BoF with the above and any other topics > people will bring up: > https://fosdem.org/2014/schedule/event/valgrind_bof/ > > If you want to put something on the Valgrind BoF agenda please send a > small description (one or two paragraphs) to the the moderator Mark > Wielaard mj...@re... with in the subject: "FOSDEM devroom > discuss: ..." If you want to discuss a somewhat larger topic please do > feel free to send two or three slides in advance. Mark will collect > ideas/suggestions/... and present these and coordinate the discussion > (and keep track of the time, so every idea will be discussed). > > Call For Video Volunteers > > The FOSDEM organization can provide us with equipment to record some or > all of the talks in our devroom. But we need at volunteers to do the > actual recordings. An ideal candidate for this job would be someone who > is going to be watching talks in the Valgrind devroom most (or all) of > the time anyway, and who doesn't mind watching after a camera and/or an > audio mixer while watching the talk. > > While some A/V experience is obviously useful for the volunteer, it is > absolutely not required; FOSDEM will provide the right gear and help set > it up, and FOSDEM organizers will also provide enough information so the > volunteers know what to do. This will include a live training session > during the opening talk (in Janson) for those who want it. > > If you can and want to help record talks/discussions in the Valgrind > devroom that would be really appreciated. |
|
From: Mark W. <mj...@re...> - 2014-01-13 15:05:31
|
Hi Valgrind hackers, developers and users, Valgrind will have a devroom at FOSDEM 2014 on Sunday 2 February with the follow talks: Valgrind Support in the Eclipse IDE Roland Grunberg 10:00 10:25 Testing of valgrind RPMs in RHEL Miroslav Franc 10:30 10:55 SimuVEX Yan Shoshitaishvili 11:00 11:50 Helgrind: a constraint-based data race detector Julian Seward 13:00 13:50 Porting Valgrind on Solaris Ivo Raisr, Petr Pavlu 14:00 14:25 GDB, so where are we now? Pedro Alves 15:00 15:25 Combining the power of Valgrind and GDB Philippe Waroquiers 15:30 15:55 BoF: Valgrind and GDB integration Tom Tromey 16:00 16:25 BoF: Ideas, new features and directions for Valgrind Mark Wielaard 16:30 17:45 More background information about the talks can be found at: https://fosdem.org/2014/schedule/track/valgrind/ For the last session we are still looking for ideas to discuss. It will be an open discussion, so anything you like can be discussed. The current list of discussion topics is: * Release/bugfixing strategy/policy. * Valgrind and transactional memory. * Making Valgrind really multi-threaded, parallelising Memcheck, parallelising the rest of the framework, and tools. * Better support compiled/JITted code. Allowing the JIT compiler to indicate to Valgrind the link between the JITted code and the source code. * Modify memcheck to report the last leaked pointer to a block integrate "omega" as a memcheck option or omega as a separate tool. http://www.brainmurders.eclipse.co.uk/omega.html * Should we continue to support MacOS? What about Valgrind on MS-Windows? * Make Callgrind work sanely on ARM. * Redo the JIT framework to reduce baseline overheads. * Packaging valgrind for distros, handling patches, suppressions, etc. * Flexible heuristic possibly leaked support. i.e. let the user specific an "expression" in a suppression file that if true would transform a possibly leaked into a reachable. * An interactive SQL relational interface to Valgrind data structures https://github.com/mfragkoulis/PiCO_QL/tree/master/src/Valgrind-mod I'll update the abstract of the BoF with the above and any other topics people will bring up: https://fosdem.org/2014/schedule/event/valgrind_bof/ If you want to put something on the Valgrind BoF agenda please send a small description (one or two paragraphs) to the the moderator Mark Wielaard mj...@re... with in the subject: "FOSDEM devroom discuss: ..." If you want to discuss a somewhat larger topic please do feel free to send two or three slides in advance. Mark will collect ideas/suggestions/... and present these and coordinate the discussion (and keep track of the time, so every idea will be discussed). Call For Video Volunteers The FOSDEM organization can provide us with equipment to record some or all of the talks in our devroom. But we need at volunteers to do the actual recordings. An ideal candidate for this job would be someone who is going to be watching talks in the Valgrind devroom most (or all) of the time anyway, and who doesn't mind watching after a camera and/or an audio mixer while watching the talk. While some A/V experience is obviously useful for the volunteer, it is absolutely not required; FOSDEM will provide the right gear and help set it up, and FOSDEM organizers will also provide enough information so the volunteers know what to do. This will include a live training session during the opening talk (in Janson) for those who want it. If you can and want to help record talks/discussions in the Valgrind devroom that would be really appreciated. |
|
From: <sv...@va...> - 2014-01-13 11:50:39
|
Author: sewardj
Date: Mon Jan 13 11:50:17 2014
New Revision: 13775
Log:
Update implementation notes for the arm64-linux port.
Added:
trunk/README.aarch64
- copied, changed from r13774, trunk/ARM64_TIDYUPS.txt
Modified:
trunk/ARM64_TIDYUPS.txt
trunk/Makefile.am
Modified: trunk/Makefile.am
==============================================================================
--- trunk/Makefile.am (original)
+++ trunk/Makefile.am Mon Jan 13 11:50:17 2014
@@ -104,6 +104,7 @@
README.android \
README.android_emulator \
README.mips \
+ README.aarch64 \
NEWS.old \
valgrind.pc.in \
valgrind.spec.in \
Copied: trunk/README.aarch64 (from r13774, trunk/ARM64_TIDYUPS.txt)
==============================================================================
--- trunk/ARM64_TIDYUPS.txt (original)
+++ trunk/README.aarch64 Mon Jan 13 11:50:17 2014
@@ -1,21 +1,67 @@
-## HOW TO Cross-CONFIGURE
+Status
+~~~~~~
-export CC=aarch64-linux-gnu-gcc
-export LD=aarch64-linux-gnu-ld
-export AR=aarch64-linux-gnu-ar
+As of Jan 2014 the trunk contains a port to AArch64 ARMv8 -- loosely,
+the 64-bit ARM architecture. Currently it supports integer and FP
+instructions and can run almost anything generated by gcc-4.7.2 -O2.
+The port is under active development.
-./autogen.sh
-./configure --prefix=`pwd`/Inst --host=aarch64-unknown-linux --enable-only64bit
+Current limitations, as of mid-Jan 2014.
-##############################################################
+* threaded apps won't work, due to inadequate sys_clone() support.
-UnwindStartRegs -- what should that contain?
+* almost no support of vector (SIMD) instructions
+* Integration with the built in GDB server doesn't work yet.
+There has been extensive testing of the baseline simulation of integer
+and FP instructions. Memcheck is also believed to work, at least for
+small examples. Other tools appear to at least not crash when running
+/bin/date.
+
+
+Building
+~~~~~~~~
+
+You could probably build it directly on a target OS, using the normal
+non-cross scheme
+
+ ./autogen.sh ; ./configure --prefix=.. ; make ; make install
+
+Development so far was however done by cross compiling, viz:
+
+ export CC=aarch64-linux-gnu-gcc
+ export LD=aarch64-linux-gnu-ld
+ export AR=aarch64-linux-gnu-ar
+
+ ./autogen.sh
+ ./configure --prefix=`pwd`/Inst --host=aarch64-unknown-linux \
+ --enable-only64bit
+ make -j4
+ make -j4 install
+
+Doing this assumes that the install path (`pwd`/Inst) is valid on
+both host and target, which isn't normally the case. To avoid
+this limitation, do instead:
+
+ ./configure --prefix=/install/path/on/target \
+ --host=aarch64-unknown-linux \
+ --enable-only64bit
+ make -j4
+ make -j4 install DESTDIR=/a/temp/dir/on/host
+ # and then copy the contents of DESTDIR to the target.
+
+See README.android for more examples of cross-compile building.
-vki-arm64-linux.h: vki_sigaction_base
+Implementation tidying-up/TODO notes
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+UnwindStartRegs -- what should that contain?
+
+
+vki-arm64-linux.h: vki_sigaction_base
I really don't think that __vki_sigrestore_t sa_restorer
should be present. Adding it surely puts sa_mask at a wrong
offset compared to (kernel) reality. But not having it causes
@@ -32,7 +78,6 @@
it to __vki_uint128_t, but what's the defn of that?
-
m_debuginfo/priv_storage.h: need proper defn of DiCfSI
@@ -48,32 +93,28 @@
I'd say the amd64 version has padding it shouldn't have. Check?
-
syswrap-linux.c run_a_thread_NORETURN assembly sections
seems like tst->os_state.exitcode has word type
in which case the ppc64_linux use of lwz to read it, is wrong
-
syswrap-linux.c ML_(do_fork_clone)
assuming that VGP_arm64_linux is the same as VGP_arm_linux here
-
dispatch-arm64-linux.S: FIXME: set up FP control state before
entering generated code. Also fix screwy indentation.
+
dispatcher-ery general: what's a good (predictor-friendly) way to
branch to a register?
-
in vki-arm64-scnums.h
//#if __BITS_PER_LONG == 64 && !defined(__SYSCALL_COMPAT)
Probably want to reenable that and clean up accordingly
-
putIRegXXorZR: figure out a way that the computed value is actually
used, so as to keep any memory reads that might generate it, alive.
(else the simulation can lose exceptions). At least, for writes to
@@ -81,42 +122,32 @@
integer instructions, that write to a register, cause exceptions?
-
loads/stores: generate stack alignment checks as necessary
-
fix barrier insns: ISB, DMB
-
fix atomic loads/stores
-
FMADD/FMSUB/FNMADD/FNMSUB: generate and use the relevant fused
IROps so as to avoid double rounding
-
ARM64Instr_Call getRegUsage: re-check relative to what
getAllocableRegs_ARM64 makes available
-
Make dispatch-arm64-linux.S save any callee-saved Q regs
I think what is required is to save D8-D15 and nothing more than that.
-
wrapper for __NR3264_fstat -- correct?
-
-PRE(sys_clone): get rid of references to vki_modify_ldt_t
-and the definition of it in vki-arm64-linux.h. Ditto for
-32 bit arm.
-
+PRE(sys_clone): get rid of references to vki_modify_ldt_t and the
+definition of it in vki-arm64-linux.h. Ditto for 32 bit arm.
sigframe-arm64-linux.c: build_sigframe: references to nonexistent
@@ -124,60 +155,54 @@
replaced by zero. Also in synth_ucontext.
-
m_debugger.c:
uregs.pstate = LibVEX_GuestARM64_get_nzcv(vex); /* is this correct? */
Is that remotely correct?
-
host_arm64_defs.c: emit_ARM64INstr:
ARM64in_VDfromX and ARM64in_VQfromXX: use simple top-half zeroing
MOVs to vector registers instead of INS Vd.D[0], Xreg, to avoid false
dependencies on the top half of the register. (Or at least check
-the semantocs of INS Vd.D[0] to see if it zeroes out the top.)
-
+the semantics of INS Vd.D[0] to see if it zeroes out the top.)
preferredVectorSubTypeFromSize: review perf effects and decide
on a types-for-subparts policy
-
fold_IRExpr_Unop: add a reduction rule for this
1Sto64(CmpNEZ64( Or64(GET:I64(1192),GET:I64(1184)) ))
vis 1Sto64(CmpNEZ64(x)) --> CmpwNEZ64(x)
-
check insn selection for memcheck-only primops:
Left64 CmpwNEZ64 V128to64 V128HIto64 1Sto64 CmpNEZ64 CmpNEZ32
widen_z_8_to_64 1Sto32 Left32 32HLto64 CmpwNEZ32 CmpNEZ8
-
isel: get rid of various cases where zero is put into a register
and just use xzr instead. Especially for CmpNEZ64/32. And for
writing zeroes into the CC thunk fields.
-
/* Keep this list in sync with that in iselNext below */
/* Keep this list in sync with that for Ist_Exit above */
uh .. they are not in sync
-
very stupid:
imm64 x23, 0xFFFFFFFFFFFFFFA0
17 F4 9F D2 F7 FF BF F2 F7 FF DF F2 F7 FF FF F2
-
valgrind.h: fix VALGRIND_ALIGN_STACK/VALGRIND_RESTORE_STACK,
also add CFI annotations
-
could possibly bring r29 into use, which be useful as it is
callee saved
+
+
+ubfm/sbfm etc: special case cases that are simple shifts, as iropt
+can't always simplify the general-case IR to a shift in such cases.
|
|
From: Philippe W. <phi...@sk...> - 2014-01-13 06:25:09
|
valgrind revision: 13774 VEX revision: 2804 C compiler: gcc (GCC) 4.7.2 20121109 (Red Hat 4.7.2-8) GDB: GNU gdb (GDB) Fedora (7.5.1-37.fc18) Assembler: GNU assembler version 2.23.51.0.1-7.fc18 20120806 C library: GNU C Library stable release version 2.16 uname -mrs: Linux 3.8.8-202.fc18.ppc64p7 ppc64 Vendor version: Fedora release 18 (Spherical Cow) Nightly build on gcc110 ( Fedora release 18 (Spherical Cow), ppc64 ) Started at 2014-01-12 20:00:17 PST Ended at 2014-01-12 22:22:09 PST 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 == 571 tests, 32 stderr failures, 3 stdout failures, 0 stderrB failures, 0 stdoutB failures, 2 post failures == memcheck/tests/linux/getregset (stdout) memcheck/tests/linux/getregset (stderr) memcheck/tests/ppc64/power_ISA2_05 (stdout) memcheck/tests/supp_unknown (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) massif/tests/big-alloc (post) massif/tests/deep-D (post) helgrind/tests/annotate_rwlock (stderr) helgrind/tests/free_is_write (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/locked_vs_unlocked1_fwd (stderr) helgrind/tests/locked_vs_unlocked1_rev (stderr) helgrind/tests/locked_vs_unlocked2 (stderr) helgrind/tests/locked_vs_unlocked3 (stderr) helgrind/tests/pth_barrier1 (stderr) helgrind/tests/pth_barrier2 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/pth_cond_destroy_busy (stderr) helgrind/tests/pth_destroy_cond (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/tc09_bad_unlock (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) --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: 1.5s ( 6.6x, -----) me: 2.8s (12.3x, -----) ca:18.5s (80.5x, -----) he: 1.7s ( 7.5x, -----) ca: 5.4s (23.4x, -----) dr: 1.7s ( 7.3x, -----) ma: 2.1s ( 9.1x, -----) bigcode1 valgrind-old:0.23s no: 1.5s ( 6.7x, -2.0%) me: 2.9s (12.5x, -2.1%) ca:18.8s (81.5x, -1.3%) he: 1.7s ( 7.5x, 0.0%) ca: 5.3s (23.1x, 1.3%) dr: 1.7s ( 7.2x, 1.8%) ma: 2.1s ( 9.3x, -1.4%) -- bigcode2 -- bigcode2 valgrind-new:0.23s no: 1.5s ( 6.7x, -----) me: 2.9s (12.7x, -----) ca:18.7s (81.5x, -----) he: 2.1s ( 9.1x, -----) ca: 5.5s (23.8x, -----) dr: 1.8s ( 8.0x, -----) ma: 2.1s ( 9.2x, -----) bigcode2 valgrind-old:0.23s no: 1.5s ( 6.6x, 0.7%) me: 3.0s (13.1x, -3.1%) ca:18.6s (81.0x, 0.5%) he: 2.1s ( 9.1x, 0.0%) ca: 5.5s (23.8x, 0.2%) dr: 1.8s ( 8.0x, 0.5%) ma: 2.1s ( 9.2x, 0.0%) -- bz2 -- bz2 valgrind-new:0.73s no: 4.6s ( 6.2x, -----) me:11.7s (16.1x, -----) ca:26.6s (36.5x, -----) he:14.6s (20.0x, -----) ca:24.4s (33.5x, -----) dr:20.3s (27.8x, -----) ma: 4.7s ( 6.4x, -----) bz2 valgrind-old:0.73s no: 4.5s ( 6.2x, 0.4%) me:11.8s (16.2x, -0.9%) ca:26.6s (36.5x, -0.0%) he:14.6s (20.0x, -0.1%) ca:24.4s (33.4x, 0.2%) dr:19.2s (26.3x, 5.4%) ma: 4.7s ( 6.4x, 0.0%) -- fbench -- fbench valgrind-new:0.34s no: 2.1s ( 6.2x, -----) me: 5.3s (15.5x, -----) ca: 8.5s (25.1x, -----) he: 5.3s (15.5x, -----) ca: 7.4s (21.8x, -----) dr: 5.0s (14.6x, -----) ma: 2.1s ( 6.3x, -----) fbench valgrind-old:0.34s no: 2.1s ( 6.3x, -1.9%) me: 5.3s (15.6x, -0.6%) ca: 8.6s (25.4x, -0.9%) he: 5.2s (15.4x, 0.8%) ca: 7.5s (22.1x, -1.1%) dr: 5.0s (14.7x, -0.6%) ma: 2.1s ( 6.3x, -0.5%) -- ffbench -- ffbench valgrind-new:0.44s no: 1.3s ( 3.0x, -----) me: 2.6s ( 5.9x, -----) ca: 2.5s ( 5.8x, -----) he: 7.1s (16.2x, -----) ca: 6.9s (15.7x, -----) dr: 5.0s (11.4x, -----) ma: 1.0s ( 2.3x, -----) ffbench valgrind-old:0.44s no: 1.3s ( 3.0x, 1.5%) me: 2.6s ( 5.8x, 1.2%) ca: 2.5s ( 5.8x, 0.4%) he: 6.9s (15.7x, 3.1%) ca: 7.0s (15.9x, -1.6%) dr: 5.1s (11.5x, -0.6%) ma: 1.0s ( 2.3x, -1.0%) -- heap -- heap valgrind-new:0.41s no: 2.4s ( 5.8x, -----) me: 9.9s (24.3x, -----) ca:13.3s (32.6x, -----) he:12.0s (29.3x, -----) ca:12.7s (30.9x, -----) dr: 8.3s (20.3x, -----) ma: 8.6s (20.9x, -----) heap valgrind-old:0.41s no: 2.4s ( 5.8x, 0.4%) me:10.0s (24.3x, -0.2%) ca:13.4s (32.6x, -0.1%) he:11.7s (28.5x, 2.5%) ca:12.1s (29.4x, 4.8%) dr: 8.2s (20.1x, 0.8%) ma: 8.9s (21.8x, -4.1%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.42s no: 2.6s ( 6.1x, -----) me:14.0s (33.4x, -----) ca:14.4s (34.2x, -----) he:13.0s (30.9x, -----) ca:13.2s (31.3x, -----) dr: 9.2s (22.0x, -----) ma: 8.7s (20.8x, -----) heap_pdb4 valgrind-old:0.42s no: 2.6s ( 6.1x, 0.8%) me:14.2s (33.7x, -1.1%) ca:14.3s (34.1x, 0.2%) he:13.1s (31.3x, -1.2%) ca:13.1s (31.2x, 0.5%) dr: 9.1s (21.7x, 1.6%) ma: 9.2s (21.9x, -5.2%) -- many-loss-records -- many-loss-records valgrind-new:0.03s no: 0.5s (17.3x, -----) me: 2.2s (74.0x, -----) ca: 1.9s (63.7x, -----) he: 1.8s (60.3x, -----) ca: 1.9s (61.7x, -----) dr: 1.5s (51.0x, -----) ma: 1.6s (53.0x, -----) many-loss-records valgrind-old:0.03s no: 0.5s (17.3x, 0.0%) me: 2.2s (74.0x, 0.0%) ca: 1.9s (63.3x, 0.5%) he: 1.8s (60.0x, 0.6%) ca: 1.9s (61.7x, 0.0%) dr: 1.5s (50.7x, 0.7%) ma: 1.7s (55.7x, -5.0%) -- many-xpts -- many-xpts valgrind-new:0.07s no: 0.7s (10.6x, -----) me: 3.4s (49.0x, -----) ca: 4.7s (67.3x, -----) he: 4.8s (68.9x, -----) ca: 2.9s (41.4x, -----) dr: 2.3s (32.7x, -----) ma: 2.3s (32.3x, -----) many-xpts valgrind-old:0.07s no: 0.7s (10.4x, 1.4%) me: 3.4s (48.9x, 0.3%) ca: 4.7s (67.7x, -0.6%) he: 4.8s (69.0x, -0.2%) ca: 2.9s (41.0x, 1.0%) dr: 2.3s (32.4x, 0.9%) ma: 2.4s (34.1x, -5.8%) -- sarp -- sarp valgrind-new:0.02s no: 0.4s (19.5x, -----) me: 3.1s (157.5x, -----) ca: 2.9s (146.0x, -----) he:11.0s (551.0x, -----) ca: 1.7s (85.0x, -----) dr: 1.1s (53.0x, -----) ma: 0.4s (21.0x, -----) sarp valgrind-old:0.02s no: 0.4s (20.0x, -2.6%) me: 3.2s (159.0x, -1.0%) ca: 3.0s (147.5x, -1.0%) he:11.1s (554.0x, -0.5%) ca: 1.7s (84.5x, 0.6%) dr: 1.1s (54.0x, -1.9%) ma: 0.4s (22.0x, -4.8%) -- tinycc -- tinycc valgrind-new:0.28s no: 3.0s (10.7x, -----) me:14.1s (50.4x, -----) ca:17.6s (62.7x, -----) he:19.0s (67.9x, -----) ca:15.9s (56.8x, -----) dr:12.4s (44.2x, -----) ma: 3.8s (13.6x, -----) tinycc valgrind-old:0.28s no: 3.0s (10.7x, 0.0%) me:14.2s (50.5x, -0.2%) ca:17.9s (64.0x, -2.1%) he:19.2s (68.5x, -0.8%) ca:15.6s (55.7x, 1.8%) dr:12.1s (43.1x, 2.5%) ma: 3.8s (13.6x, -0.3%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 54m24.805s user 52m51.003s sys 0m20.104s |
|
From: Rich C. <rc...@wi...> - 2014-01-13 04:52:34
|
valgrind revision: 13774 VEX revision: 2804 C compiler: gcc (SUSE Linux) 4.7.2 20130108 [gcc-4_7-branch revision 195012] GDB: GNU gdb (GDB) SUSE (7.5.1-2.1.1) Assembler: GNU assembler (GNU Binutils; openSUSE 12.3) 2.23.1 C library: GNU C Library (GNU libc) stable release version 2.17 (git c758a6861537) uname -mrs: Linux 3.7.9-1.1-desktop x86_64 Vendor version: Welcome to openSUSE 12.3 "Dartmouth" Beta 1 - Kernel %r (%t). Nightly build on ultra ( gcc (SUSE Linux) 4.7.2 20130108 [gcc-4_7-branch revision 195012] Linux 3.7.9-1.1-desktop x86_64 ) Started at 2014-01-12 21:30:01 CST Ended at 2014-01-12 22:52:22 CST 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 == 666 tests, 0 stderr failures, 0 stdout failures, 1 stderrB failure, 0 stdoutB failures, 0 post failures == gdbserver_tests/mssnapshot (stderrB) ================================================= ./valgrind-new/gdbserver_tests/mssnapshot.stderrB.diff ================================================= --- mssnapshot.stderrB.exp 2014-01-12 22:35:46.791268829 -0600 +++ mssnapshot.stderrB.out 2014-01-12 22:41:31.942610178 -0600 @@ -1,5 +1,11 @@ relaying data between gdb and process .... +Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2 +Try: zypper install -C "debuginfo(build-id)=ecb8ef1a6904a2a3ec60a527f415f520c8636158" vgdb-error value changed from 0 to 999999 +Missing separate debuginfo for /lib64/libpthread.so.0 +Try: zypper install -C "debuginfo(build-id)=ef5f5dbcb2398c608fef7884e1bfb65be3b5f0ef" +Missing separate debuginfo for /lib64/libc.so.6 +Try: zypper install -C "debuginfo(build-id)=bd1473e8e6a4c10a14731b5be4b35b4e87db2af7" general valgrind monitor commands: help [debug] : monitor command help. With debug: + debugging commands v.wait [<ms>] : sleep <ms> (default 0) then continue ================================================= ./valgrind-old/gdbserver_tests/mssnapshot.stderrB.diff ================================================= --- mssnapshot.stderrB.exp 2014-01-12 21:45:44.607536458 -0600 +++ mssnapshot.stderrB.out 2014-01-12 21:59:07.123994439 -0600 @@ -1,5 +1,11 @@ relaying data between gdb and process .... +Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2 +Try: zypper install -C "debuginfo(build-id)=ecb8ef1a6904a2a3ec60a527f415f520c8636158" vgdb-error value changed from 0 to 999999 +Missing separate debuginfo for /lib64/libpthread.so.0 +Try: zypper install -C "debuginfo(build-id)=ef5f5dbcb2398c608fef7884e1bfb65be3b5f0ef" +Missing separate debuginfo for /lib64/libc.so.6 +Try: zypper install -C "debuginfo(build-id)=bd1473e8e6a4c10a14731b5be4b35b4e87db2af7" general valgrind monitor commands: help [debug] : monitor command help. With debug: + debugging commands v.wait [<ms>] : sleep <ms> (default 0) then continue |
|
From: Maran P. <ma...@li...> - 2014-01-13 03:33:15
|
valgrind revision: 13774
VEX revision: 2804
C compiler: gcc (GCC) 4.7.0 20120604 (Red Hat 4.7.0-7)
GDB: GNU gdb (GDB) Fedora (7.4.50.20120120-42.fc17)
Assembler: GNU assembler version 2.22.52.0.1-10.fc17 20120131
C library: unknown
uname -mrs: Linux 3.3.4-5.fc17.s390x s390x
Vendor version: Fedora release 17 (Beefy Miracle)
Nightly build on fedoras390 ( Fedora 17 with gcc 4.7.0 on z196 (s390x) )
Started at 2014-01-13 03:45:25 CET
Ended at 2014-01-13 04:33:26 CET
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
m_machine.c: In function ‘vgPlain_set_SP’:
m_machine.c:63:4: error: ‘VexGuestArchState’ has no member named ‘guest_SP’
m_machine.c: In function ‘vgPlain_get_UnwindStartRegs’:
m_machine.c:107:50: error: ‘VexGuestArchState’ has no member named ‘guest_SP’
m_machine.c: In function ‘vgPlain_get_FP’:
m_machine.c:57:1: warning: control reaches end of non-void function [-Wreturn-type]
m_machine.c: In function ‘vgPlain_get_SP’:
m_machine.c:54:1: warning: control reaches end of non-void function [-Wreturn-type]
make[3]: *** [libcoregrind_s390x_linux_a-m_machine.o] Error 1
make[3]: *** Waiting for unfinished jobs....
mv -f .deps/libcoregrind_s390x_linux_a-m_libcproc.Tpo .deps/libcoregrind_s390x_linux_a-m_libcproc.Po
mv -f .deps/libcoregrind_s390x_linux_a-m_options.Tpo .deps/libcoregrind_s390x_linux_a-m_options.Po
mv -f .deps/libcoregrind_s390x_linux_a-m_mallocfree.Tpo .deps/libcoregrind_s390x_linux_a-m_mallocfree.Po
mv -f .deps/libcoregrind_s390x_linux_a-m_main.Tpo .deps/libcoregrind_s390x_linux_a-m_main.Po
make[3]: Leaving directory `/root/nightly/valgrind-new/coregrind'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/root/nightly/valgrind-new/coregrind'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/nightly/valgrind-new'
make: *** [all] 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
== 647 tests, 3 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
helgrind/tests/pth_cond_destroy_busy (stderr)
helgrind/tests/tc18_semabuse (stderr)
helgrind/tests/tc20_verifywrap (stderr)
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short 2014-01-13 04:01:59.678433025 +0100
--- new.short 2014-01-13 04:33:26.418431946 +0100
***************
*** 3,13 ****
Configuring valgrind ... done
! Building valgrind ... done
! Running regression tests ... failed
!
! Regression test results follow
!
! == 647 tests, 3 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
! helgrind/tests/pth_cond_destroy_busy (stderr)
! helgrind/tests/tc18_semabuse (stderr)
! helgrind/tests/tc20_verifywrap (stderr)
--- 3,26 ----
Configuring valgrind ... done
! Building valgrind ... failed
+ Last 20 lines of verbose log follow echo
+ m_machine.c: In function ‘vgPlain_set_SP’:
+ m_machine.c:63:4: error: ‘VexGuestArchState’ has no member named ‘guest_SP’
+ m_machine.c: In function ‘vgPlain_get_UnwindStartRegs’:
+ m_machine.c:107:50: error: ‘VexGuestArchState’ has no member named ‘guest_SP’
+ m_machine.c: In function ‘vgPlain_get_FP’:
+ m_machine.c:57:1: warning: control reaches end of non-void function [-Wreturn-type]
+ m_machine.c: In function ‘vgPlain_get_SP’:
+ m_machine.c:54:1: warning: control reaches end of non-void function [-Wreturn-type]
+ make[3]: *** [libcoregrind_s390x_linux_a-m_machine.o] Error 1
+ make[3]: *** Waiting for unfinished jobs....
+ mv -f .deps/libcoregrind_s390x_linux_a-m_libcproc.Tpo .deps/libcoregrind_s390x_linux_a-m_libcproc.Po
+ mv -f .deps/libcoregrind_s390x_linux_a-m_options.Tpo .deps/libcoregrind_s390x_linux_a-m_options.Po
+ mv -f .deps/libcoregrind_s390x_linux_a-m_mallocfree.Tpo .deps/libcoregrind_s390x_linux_a-m_mallocfree.Po
+ mv -f .deps/libcoregrind_s390x_linux_a-m_main.Tpo .deps/libcoregrind_s390x_linux_a-m_main.Po
+ make[3]: Leaving directory `/root/nightly/valgrind-new/coregrind'
+ make[2]: *** [all] Error 2
+ make[2]: Leaving directory `/root/nightly/valgrind-new/coregrind'
+ make[1]: *** [all-recursive] Error 1
+ make[1]: Leaving directory `/root/nightly/valgrind-new'
+ make: *** [all] Error 2
--tools=none,memcheck --reps=5 --vg=../valgrind-new --vg=../valgrind-old
vg_perf: './bigcode' not found or not a file (.)
-- Running tests in perf ----------------------------------------------
real 0m0.041s
user 0m0.006s
sys 0m0.005s
|
|
From: Maran P. <ma...@li...> - 2014-01-13 03:18:58
|
valgrind revision: 13774
VEX revision: 2804
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.8-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 SP1 gcc 4.3.4 on z196 (s390x) )
Started at 2014-01-13 03:45:01 CET
Ended at 2014-01-13 04:18:46 CET
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
m_machine.c:56: error: 'VexGuestArchState' has no member named 'guest_FP'
m_machine.c: In function 'vgPlain_set_SP':
m_machine.c:63: error: 'VexGuestArchState' has no member named 'guest_SP'
m_machine.c: In function 'vgPlain_get_UnwindStartRegs':
m_machine.c:107: error: 'VexGuestArchState' has no member named 'guest_SP'
make[3]: *** [libcoregrind_s390x_linux_a-m_machine.o] Error 1
make[3]: *** Waiting for unfinished jobs....
mv -f .deps/libcoregrind_s390x_linux_a-m_libcprint.Tpo .deps/libcoregrind_s390x_linux_a-m_libcprint.Po
mv -f .deps/libcoregrind_s390x_linux_a-m_libcsignal.Tpo .deps/libcoregrind_s390x_linux_a-m_libcsignal.Po
mv -f .deps/libcoregrind_s390x_linux_a-m_libcproc.Tpo .deps/libcoregrind_s390x_linux_a-m_libcproc.Po
mv -f .deps/libcoregrind_s390x_linux_a-m_libcfile.Tpo .deps/libcoregrind_s390x_linux_a-m_libcfile.Po
mv -f .deps/libcoregrind_s390x_linux_a-m_errormgr.Tpo .deps/libcoregrind_s390x_linux_a-m_errormgr.Po
mv -f .deps/libcoregrind_s390x_linux_a-m_libcbase.Tpo .deps/libcoregrind_s390x_linux_a-m_libcbase.Po
mv -f .deps/libcoregrind_s390x_linux_a-m_main.Tpo .deps/libcoregrind_s390x_linux_a-m_main.Po
make[3]: Leaving directory `/home4/maranpsamy/valgrind/nightly/valgrind-new/coregrind'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home4/maranpsamy/valgrind/nightly/valgrind-new/coregrind'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home4/maranpsamy/valgrind/nightly/valgrind-new'
make: *** [all] 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
== 642 tests, 1 stderr failure, 0 stdout failures, 6 stderrB failures, 0 stdoutB failures, 0 post failures ==
gdbserver_tests/mcbreak (stderrB)
gdbserver_tests/mcclean_after_fork (stderrB)
gdbserver_tests/mcleak (stderrB)
gdbserver_tests/mcmain_pic (stderrB)
gdbserver_tests/mcvabits (stderrB)
gdbserver_tests/mssnapshot (stderrB)
helgrind/tests/pth_cond_destroy_busy (stderr)
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Mon Jan 13 03:59:35 2014
--- new.short Mon Jan 13 04:18:46 2014
***************
*** 3,17 ****
Configuring valgrind ... done
! Building valgrind ... done
! Running regression tests ... failed
!
! Regression test results follow
!
! == 642 tests, 1 stderr failure, 0 stdout failures, 6 stderrB failures, 0 stdoutB failures, 0 post failures ==
! gdbserver_tests/mcbreak (stderrB)
! gdbserver_tests/mcclean_after_fork (stderrB)
! gdbserver_tests/mcleak (stderrB)
! gdbserver_tests/mcmain_pic (stderrB)
! gdbserver_tests/mcvabits (stderrB)
! gdbserver_tests/mssnapshot (stderrB)
! helgrind/tests/pth_cond_destroy_busy (stderr)
--- 3,26 ----
Configuring valgrind ... done
! Building valgrind ... failed
+ Last 20 lines of verbose log follow echo
+ m_machine.c:56: error: 'VexGuestArchState' has no member named 'guest_FP'
+ m_machine.c: In function 'vgPlain_set_SP':
+ m_machine.c:63: error: 'VexGuestArchState' has no member named 'guest_SP'
+ m_machine.c: In function 'vgPlain_get_UnwindStartRegs':
+ m_machine.c:107: error: 'VexGuestArchState' has no member named 'guest_SP'
+ make[3]: *** [libcoregrind_s390x_linux_a-m_machine.o] Error 1
+ make[3]: *** Waiting for unfinished jobs....
+ mv -f .deps/libcoregrind_s390x_linux_a-m_libcprint.Tpo .deps/libcoregrind_s390x_linux_a-m_libcprint.Po
+ mv -f .deps/libcoregrind_s390x_linux_a-m_libcsignal.Tpo .deps/libcoregrind_s390x_linux_a-m_libcsignal.Po
+ mv -f .deps/libcoregrind_s390x_linux_a-m_libcproc.Tpo .deps/libcoregrind_s390x_linux_a-m_libcproc.Po
+ mv -f .deps/libcoregrind_s390x_linux_a-m_libcfile.Tpo .deps/libcoregrind_s390x_linux_a-m_libcfile.Po
+ mv -f .deps/libcoregrind_s390x_linux_a-m_errormgr.Tpo .deps/libcoregrind_s390x_linux_a-m_errormgr.Po
+ mv -f .deps/libcoregrind_s390x_linux_a-m_libcbase.Tpo .deps/libcoregrind_s390x_linux_a-m_libcbase.Po
+ mv -f .deps/libcoregrind_s390x_linux_a-m_main.Tpo .deps/libcoregrind_s390x_linux_a-m_main.Po
+ make[3]: Leaving directory `/home4/maranpsamy/valgrind/nightly/valgrind-new/coregrind'
+ make[2]: *** [all] Error 2
+ make[2]: Leaving directory `/home4/maranpsamy/valgrind/nightly/valgrind-new/coregrind'
+ make[1]: *** [all-recursive] Error 1
+ make[1]: Leaving directory `/home4/maranpsamy/valgrind/nightly/valgrind-new'
+ make: *** [all] Error 2
--tools=none,memcheck --reps=5 --vg=../valgrind-new --vg=../valgrind-old
vg_perf: './bigcode' not found or not a file (.)
-- Running tests in perf ----------------------------------------------
real 0m0.008s
user 0m0.005s
sys 0m0.001s
|
|
From: Maran P. <ma...@li...> - 2014-01-13 02:50:54
|
valgrind revision: 13774 VEX revision: 2804 C compiler: gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3) GDB: GNU gdb (GDB) Red Hat Enterprise Linux (7.2-60.el6) Assembler: GNU assembler version 2.20.51.0.2-5.36.el6 20100205 C library: GNU C Library stable release version 2.12 uname -mrs: Linux 2.6.32-358.el6.s390x s390x Vendor version: Red Hat Enterprise Linux Server release 6.4 (Santiago) Nightly build on rhels390 ( RHEL 6.4 with gcc 4.4.7 on zEC12 (s390x) ) Started at 2014-01-13 03:45:25 CET Ended at 2014-01-13 03:51:04 CET 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 mv -f priv/.deps/libvex_s390x_linux_a-host_amd64_isel.Tpo priv/.deps/libvex_s390x_linux_a-host_amd64_isel.Po gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../include -I../VEX/pub -DVGA_s390x=1 -DVGO_linux=1 -DVGP_s390x_linux=1 -DVGPV_s390x_linux_vanilla=1 -Ipriv -m64 -O2 -g -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wno-format-zero-length -fno-strict-aliasing -fno-builtin -fomit-frame-pointer -Wbad-function-cast -Wcast-qual -Wcast-align -fstrict-aliasing -Wno-long-long -Wwrite-strings -fno-stack-protector -MT priv/libvex_s390x_linux_a-host_arm_defs.o -MD -MP -MF priv/.deps/libvex_s390x_linux_a-host_arm_defs.Tpo -c -o priv/libvex_s390x_linux_a-host_arm_defs.o `test -f 'priv/host_arm_defs.c' || echo './'`priv/host_arm_defs.c gcc: Internal error: Killed (program cc1) Please submit a full bug report. See <http://bugzilla.redhat.com/bugzilla> for instructions. make[3]: *** [priv/libvex_s390x_linux_a-guest_amd64_toIR.o] Error 1 make[3]: *** Waiting for unfinished jobs.... mv -f priv/.deps/libvex_s390x_linux_a-host_ppc_defs.Tpo priv/.deps/libvex_s390x_linux_a-host_ppc_defs.Po mv -f priv/.deps/libvex_s390x_linux_a-host_ppc_isel.Tpo priv/.deps/libvex_s390x_linux_a-host_ppc_isel.Po mv -f priv/.deps/libvex_s390x_linux_a-host_arm_defs.Tpo priv/.deps/libvex_s390x_linux_a-host_arm_defs.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_ppc_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_ppc_toIR.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_x86_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_x86_toIR.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_s390_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_s390_toIR.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_arm_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_arm_toIR.Po make[3]: Leaving directory `/root/nightly/valgrind-new/VEX' make[2]: *** [all] Error 2 make[2]: Leaving directory `/root/nightly/valgrind-new/VEX' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/root/nightly/valgrind-new' make: *** [all] Error 2 ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... failed Last 20 lines of verbose log follow echo mv -f priv/.deps/libvex_s390x_linux_a-host_ppc_defs.Tpo priv/.deps/libvex_s390x_linux_a-host_ppc_defs.Po gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../include -I../VEX/pub -DVGA_s390x=1 -DVGO_linux=1 -DVGP_s390x_linux=1 -DVGPV_s390x_linux_vanilla=1 -Ipriv -m64 -O2 -g -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wno-format-zero-length -fno-strict-aliasing -fno-builtin -fomit-frame-pointer -Wbad-function-cast -Wcast-qual -Wcast-align -fstrict-aliasing -Wno-long-long -Wwrite-strings -fno-stack-protector -MT priv/libvex_s390x_linux_a-host_s390_isel.o -MD -MP -MF priv/.deps/libvex_s390x_linux_a-host_s390_isel.Tpo -c -o priv/libvex_s390x_linux_a-host_s390_isel.o `test -f 'priv/host_s390_isel.c' || echo './'`priv/host_s390_isel.c gcc: Internal error: Killed (program cc1) Please submit a full bug report. See <http://bugzilla.redhat.com/bugzilla> for instructions. make[3]: *** [priv/libvex_s390x_linux_a-guest_amd64_toIR.o] Error 1 make[3]: *** Waiting for unfinished jobs.... mv -f priv/.deps/libvex_s390x_linux_a-host_arm_defs.Tpo priv/.deps/libvex_s390x_linux_a-host_arm_defs.Po mv -f priv/.deps/libvex_s390x_linux_a-host_s390_isel.Tpo priv/.deps/libvex_s390x_linux_a-host_s390_isel.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_ppc_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_ppc_toIR.Po mv -f priv/.deps/libvex_s390x_linux_a-host_s390_defs.Tpo priv/.deps/libvex_s390x_linux_a-host_s390_defs.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_s390_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_s390_toIR.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_x86_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_x86_toIR.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_arm_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_arm_toIR.Po make[3]: Leaving directory `/root/nightly/valgrind-old/VEX' make[2]: *** [all] Error 2 make[2]: Leaving directory `/root/nightly/valgrind-old/VEX' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/root/nightly/valgrind-old' make: *** [all] Error 2 ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2014-01-13 03:48:37.000000000 +0100 --- new.short 2014-01-13 03:51:04.000000000 +0100 *************** *** 6,9 **** Last 20 lines of verbose log follow echo ! mv -f priv/.deps/libvex_s390x_linux_a-host_ppc_defs.Tpo priv/.deps/libvex_s390x_linux_a-host_ppc_defs.Po ! gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../include -I../VEX/pub -DVGA_s390x=1 -DVGO_linux=1 -DVGP_s390x_linux=1 -DVGPV_s390x_linux_vanilla=1 -Ipriv -m64 -O2 -g -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wno-format-zero-length -fno-strict-aliasing -fno-builtin -fomit-frame-pointer -Wbad-function-cast -Wcast-qual -Wcast-align -fstrict-aliasing -Wno-long-long -Wwrite-strings -fno-stack-protector -MT priv/libvex_s390x_linux_a-host_s390_isel.o -MD -MP -MF priv/.deps/libvex_s390x_linux_a-host_s390_isel.Tpo -c -o priv/libvex_s390x_linux_a-host_s390_isel.o `test -f 'priv/host_s390_isel.c' || echo './'`priv/host_s390_isel.c gcc: Internal error: Killed (program cc1) --- 6,9 ---- Last 20 lines of verbose log follow echo ! mv -f priv/.deps/libvex_s390x_linux_a-host_amd64_isel.Tpo priv/.deps/libvex_s390x_linux_a-host_amd64_isel.Po ! gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../include -I../VEX/pub -DVGA_s390x=1 -DVGO_linux=1 -DVGP_s390x_linux=1 -DVGPV_s390x_linux_vanilla=1 -Ipriv -m64 -O2 -g -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wno-format-zero-length -fno-strict-aliasing -fno-builtin -fomit-frame-pointer -Wbad-function-cast -Wcast-qual -Wcast-align -fstrict-aliasing -Wno-long-long -Wwrite-strings -fno-stack-protector -MT priv/libvex_s390x_linux_a-host_arm_defs.o -MD -MP -MF priv/.deps/libvex_s390x_linux_a-host_arm_defs.Tpo -c -o priv/libvex_s390x_linux_a-host_arm_defs.o `test -f 'priv/host_arm_defs.c' || echo './'`priv/host_arm_defs.c gcc: Internal error: Killed (program cc1) *************** *** 13,26 **** make[3]: *** Waiting for unfinished jobs.... mv -f priv/.deps/libvex_s390x_linux_a-host_arm_defs.Tpo priv/.deps/libvex_s390x_linux_a-host_arm_defs.Po - mv -f priv/.deps/libvex_s390x_linux_a-host_s390_isel.Tpo priv/.deps/libvex_s390x_linux_a-host_s390_isel.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_ppc_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_ppc_toIR.Po - mv -f priv/.deps/libvex_s390x_linux_a-host_s390_defs.Tpo priv/.deps/libvex_s390x_linux_a-host_s390_defs.Po - mv -f priv/.deps/libvex_s390x_linux_a-guest_s390_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_s390_toIR.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_x86_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_x86_toIR.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_arm_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_arm_toIR.Po ! make[3]: Leaving directory `/root/nightly/valgrind-old/VEX' make[2]: *** [all] Error 2 ! make[2]: Leaving directory `/root/nightly/valgrind-old/VEX' make[1]: *** [all-recursive] Error 1 ! make[1]: Leaving directory `/root/nightly/valgrind-old' make: *** [all] Error 2 --- 13,26 ---- make[3]: *** Waiting for unfinished jobs.... + mv -f priv/.deps/libvex_s390x_linux_a-host_ppc_defs.Tpo priv/.deps/libvex_s390x_linux_a-host_ppc_defs.Po + mv -f priv/.deps/libvex_s390x_linux_a-host_ppc_isel.Tpo priv/.deps/libvex_s390x_linux_a-host_ppc_isel.Po mv -f priv/.deps/libvex_s390x_linux_a-host_arm_defs.Tpo priv/.deps/libvex_s390x_linux_a-host_arm_defs.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_ppc_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_ppc_toIR.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_x86_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_x86_toIR.Po + mv -f priv/.deps/libvex_s390x_linux_a-guest_s390_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_s390_toIR.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_arm_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_arm_toIR.Po ! make[3]: Leaving directory `/root/nightly/valgrind-new/VEX' make[2]: *** [all] Error 2 ! make[2]: Leaving directory `/root/nightly/valgrind-new/VEX' make[1]: *** [all-recursive] Error 1 ! make[1]: Leaving directory `/root/nightly/valgrind-new' make: *** [all] Error 2 --tools=none,memcheck --reps=5 --vg=../valgrind-new --vg=../valgrind-old vg_perf: './bigcode' not found or not a file (.) -- Running tests in perf ---------------------------------------------- real 0m0.044s user 0m0.004s sys 0m0.003s |
|
From: Rich C. <rc...@wi...> - 2014-01-13 02:43:37
|
valgrind revision: 13774
VEX revision: 2804
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-01-12 19:22:01 CST
Ended at 2014-01-12 20:43:23 CST
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
== 588 tests, 7 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/dw4 (stderr)
memcheck/tests/err_disable3 (stderr)
memcheck/tests/err_disable4 (stderr)
memcheck/tests/threadname (stderr)
memcheck/tests/threadname_xml (stderr)
drd/tests/pth_mutex_reinit (stderr)
exp-sgcheck/tests/hackedbz2 (stderr)
=================================================
./valgrind-new/drd/tests/pth_mutex_reinit.stderr.diff
=================================================
--- pth_mutex_reinit.stderr.exp 2014-01-12 20:02:29.756093111 -0600
+++ pth_mutex_reinit.stderr.out 2014-01-12 20:36:10.501529128 -0600
@@ -1,11 +1,15 @@
+The object at address 0x........ is not a mutex.
+ at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
+ by 0x........: main (pth_mutex_reinit.c:?)
+
Mutex reinitialization: mutex 0x........, recursion count 0, owner 1.
at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
by 0x........: main (pth_mutex_reinit.c:?)
mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
+ at 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
by 0x........: main (pth_mutex_reinit.c:?)
Done.
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/exp-sgcheck/tests/hackedbz2.stderr.diff-glibc28-amd64
=================================================
--- hackedbz2.stderr.exp-glibc28-amd64 2014-01-12 20:02:00.201779599 -0600
+++ hackedbz2.stderr.out 2014-01-12 20:42:33.557592577 -0600
@@ -1,7 +1,6 @@
Invalid read of size 1
- at 0x........: vex_strlen (hackedbz2.c:1006)
- by 0x........: add_to_myprintf_buf (hackedbz2.c:1284)
+ at 0x........: add_to_myprintf_buf (hackedbz2.c:1006)
by 0x........: vex_printf (hackedbz2.c:1155)
by 0x........: BZ2_compressBlock (hackedbz2.c:4039)
by 0x........: handle_compress (hackedbz2.c:4761)
=================================================
./valgrind-new/memcheck/tests/dw4.stderr.diff
=================================================
--- dw4.stderr.exp 2014-01-12 20:02:44.384248286 -0600
+++ dw4.stderr.out 2014-01-12 20:14:41.087851060 -0600
@@ -1,3 +1,11 @@
+
+parse_type_DIE: confused by:
+ <1><492>: DW_TAG_structure_type
+ DW_AT_signature : 8 byte signature: 9b d0 55 13 bb 1e e9 37
+
+WARNING: Serious error when reading debug info
+When reading debug info from /usr/local/src/valgrind/nightly/valgrind-new/memcheck/tests/dw4:
+parse_type_DIE: confused by the above DIE
Uninitialised byte(s) found during client check request
at 0x........: croak (dw4.c:27)
by 0x........: main (dw4.c:49)
@@ -8,12 +16,10 @@
Uninitialised byte(s) found during client check request
at 0x........: croak (dw4.c:27)
by 0x........: main (dw4.c:51)
- Location 0x........ is 0 bytes inside S2[0].i,
- a global variable declared at dw4.c:42
+ Address 0x........ is 4 bytes inside data symbol "S2"
Uninitialised byte(s) found during client check request
at 0x........: croak (dw4.c:27)
by 0x........: main (dw4.c:52)
- Location 0x........ is 0 bytes inside local.i,
- declared at dw4.c:46, in frame #1 of thread 1
+ Address 0x........ is on thread 1's stack
=================================================
./valgrind-new/memcheck/tests/err_disable3.stderr.diff
=================================================
--- err_disable3.stderr.exp 2014-01-12 20:02:44.357247999 -0600
+++ err_disable3.stderr.out 2014-01-12 20:14:45.700899995 -0600
@@ -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-01-12 20:02:46.550271263 -0600
+++ err_disable4.stderr.out 2014-01-12 20:14:48.176926261 -0600
@@ -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-01-12 20:02:45.835263678 -0600
+++ threadname.stderr.out 2014-01-12 20:18:32.305303809 -0600
@@ -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-01-12 20:02:45.433259414 -0600
+++ threadname_xml.stderr.out 2014-01-12 20:18:33.610317652 -0600
@@ -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/drd/tests/pth_mutex_reinit.stderr.diff
=================================================
--- pth_mutex_reinit.stderr.exp 2014-01-12 19:22:39.728739760 -0600
+++ pth_mutex_reinit.stderr.out 2014-01-12 19:54:34.352050037 -0600
@@ -1,11 +1,15 @@
+The object at address 0x........ is not a mutex.
+ at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
+ by 0x........: main (pth_mutex_reinit.c:?)
+
Mutex reinitialization: mutex 0x........, recursion count 0, owner 1.
at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
by 0x........: main (pth_mutex_reinit.c:?)
mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
+ at 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
by 0x........: main (pth_mutex_reinit.c:?)
Done.
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/exp-sgcheck/tests/hackedbz2.stderr.diff-glibc28-amd64
=================================================
--- hackedbz2.stderr.exp-glibc28-amd64 2014-01-12 19:23:19.228158769 -0600
+++ hackedbz2.stderr.out 2014-01-12 20:00:48.055014268 -0600
@@ -1,7 +1,6 @@
Invalid read of size 1
- at 0x........: vex_strlen (hackedbz2.c:1006)
- by 0x........: add_to_myprintf_buf (hackedbz2.c:1284)
+ at 0x........: add_to_myprintf_buf (hackedbz2.c:1006)
by 0x........: vex_printf (hackedbz2.c:1155)
by 0x........: BZ2_compressBlock (hackedbz2.c:4039)
by 0x........: handle_compress (hackedbz2.c:4761)
=================================================
./valgrind-old/memcheck/tests/dw4.stderr.diff
=================================================
--- dw4.stderr.exp 2014-01-12 19:23:25.777228241 -0600
+++ dw4.stderr.out 2014-01-12 19:33:43.195777802 -0600
@@ -1,3 +1,11 @@
+
+parse_type_DIE: confused by:
+ <1><492>: DW_TAG_structure_type
+ DW_AT_signature : 8 byte signature: 9b d0 55 13 bb 1e e9 37
+
+WARNING: Serious error when reading debug info
+When reading debug info from /usr/local/src/valgrind/nightly/valgrind-old/memcheck/tests/dw4:
+parse_type_DIE: confused by the above DIE
Uninitialised byte(s) found during client check request
at 0x........: croak (dw4.c:27)
by 0x........: main (dw4.c:49)
@@ -8,12 +16,10 @@
Uninitialised byte(s) found during client check request
at 0x........: croak (dw4.c:27)
by 0x........: main (dw4.c:51)
- Location 0x........ is 0 bytes inside S2[0].i,
- a global variable declared at dw4.c:42
+ Address 0x........ is 4 bytes inside data symbol "S2"
Uninitialised byte(s) found during client check request
at 0x........: croak (dw4.c:27)
by 0x........: main (dw4.c:52)
- Location 0x........ is 0 bytes inside local.i,
- declared at dw4.c:46, in frame #1 of thread 1
+ Address 0x........ is on thread 1's stack
=================================================
./valgrind-old/memcheck/tests/err_disable3.stderr.diff
=================================================
--- err_disable3.stderr.exp 2014-01-12 19:23:26.053231169 -0600
+++ err_disable3.stderr.out 2014-01-12 19:33:47.763826260 -0600
@@ -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-01-12 19:23:25.728227722 -0600
+++ err_disable4.stderr.out 2014-01-12 19:33:50.221852334 -0600
@@ -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-01-12 19:23:25.788228358 -0600
+++ threadname.stderr.out 2014-01-12 19:37:26.816149961 -0600
@@ -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-01-12 19:23:25.832228825 -0600
+++ threadname_xml.stderr.out 2014-01-12 19:37:28.105163635 -0600
@@ -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>
|
Author: sewardj
Date: Mon Jan 13 00:21:09 2014
New Revision: 13774
Log:
Initial implementation of CFI based stack unwinding for arm64-linux.
Modified:
trunk/coregrind/m_debuginfo/debuginfo.c
trunk/coregrind/m_debuginfo/priv_storage.h
trunk/coregrind/m_debuginfo/readdwarf.c
trunk/coregrind/m_debuginfo/storage.c
trunk/coregrind/m_stacktrace.c
trunk/coregrind/pub_core_basics.h
trunk/coregrind/pub_core_debuginfo.h
Modified: trunk/coregrind/m_debuginfo/debuginfo.c
==============================================================================
--- trunk/coregrind/m_debuginfo/debuginfo.c (original)
+++ trunk/coregrind/m_debuginfo/debuginfo.c Mon Jan 13 00:21:09 2014
@@ -2115,7 +2115,7 @@
case Creg_MIPS_RA: return eec->uregs->ra;
# elif defined(VGA_ppc32) || defined(VGA_ppc64)
# elif defined(VGP_arm64_linux)
- I_die_here;
+ case Creg_ARM64_X30: return eec->uregs->x30;
# else
# error "Unsupported arch"
# endif
@@ -2361,7 +2361,12 @@
break;
# elif defined(VGA_ppc32) || defined(VGA_ppc64)
# elif defined(VGP_arm64_linux)
- I_die_here;
+ case CFIC_ARM64_SPREL:
+ cfa = cfsi->cfa_off + uregs->sp;
+ break;
+ case CFIC_ARM64_X29REL:
+ cfa = cfsi->cfa_off + uregs->x29;
+ break;
# else
# error "Unsupported arch"
# endif
@@ -2437,6 +2442,8 @@
{E,R}SP, {E,R}BP.
For arm, the unwound registers are: R7 R11 R12 R13 R14 R15.
+
+ For arm64, the unwound registers are: X29(FP) X30(LR) SP PC.
*/
Bool VG_(use_CF_info) ( /*MOD*/D3UnwindRegs* uregsHere,
Addr min_accessible,
@@ -2459,7 +2466,7 @@
ipHere = uregsHere->pc;
# elif defined(VGA_ppc32) || defined(VGA_ppc64)
# elif defined(VGP_arm64_linux)
- I_die_here;
+ ipHere = uregsHere->pc;
# else
# error "Unknown arch"
# endif
@@ -2541,7 +2548,10 @@
COMPUTE(uregsPrev.fp, uregsHere->fp, cfsi->fp_how, cfsi->fp_off);
# elif defined(VGA_ppc32) || defined(VGA_ppc64)
# elif defined(VGP_arm64_linux)
- I_die_here;
+ COMPUTE(uregsPrev.pc, uregsHere->pc, cfsi->ra_how, cfsi->ra_off);
+ COMPUTE(uregsPrev.sp, uregsHere->sp, cfsi->sp_how, cfsi->sp_off);
+ COMPUTE(uregsPrev.x30, uregsHere->x30, cfsi->x30_how, cfsi->x30_off);
+ COMPUTE(uregsPrev.x29, uregsHere->x29, cfsi->x29_how, cfsi->x29_off);
# else
# error "Unknown arch"
# endif
Modified: trunk/coregrind/m_debuginfo/priv_storage.h
==============================================================================
--- trunk/coregrind/m_debuginfo/priv_storage.h (original)
+++ trunk/coregrind/m_debuginfo/priv_storage.h Mon Jan 13 00:21:09 2014
@@ -133,7 +133,7 @@
cfa = case cfa_how of
CFIC_IA_SPREL -> {e,r}sp + cfa_off
CFIC_IA_BPREL -> {e,r}bp + cfa_off
- CFIR_IA_EXPR -> expr whose index is in cfa_off
+ CFIC_EXPR -> expr whose index is in cfa_off
Once that is done, the previous frame's {e,r}sp/{e,r}bp values and
this frame's {e,r}ra value can be calculated like this:
@@ -150,11 +150,11 @@
keep track of:
cfa = case cfa_how of
- CFIC_R13REL -> r13 + cfa_off
- CFIC_R12REL -> r12 + cfa_off
- CFIC_R11REL -> r11 + cfa_off
- CFIC_R7REL -> r7 + cfa_off
- CFIR_EXPR -> expr whose index is in cfa_off
+ CFIC_ARM_R13REL -> r13 + cfa_off
+ CFIC_ARM_R12REL -> r12 + cfa_off
+ CFIC_ARM_R11REL -> r11 + cfa_off
+ CFIC_ARM_R7REL -> r7 + cfa_off
+ CFIR_EXPR -> expr whose index is in cfa_off
old_r14/r13/r12/r11/r7/ra
= case r14/r13/r12/r11/r7/ra_how of
@@ -164,13 +164,28 @@
CFIR_MEMCFAREL -> *( cfa + r14/r13/r12/r11/r7/ra_off )
CFIR_EXPR -> expr whose index is in r14/r13/r12/r11/r7/ra_off
+ On ARM64:
+
+ cfa = case cfa_how of
+ CFIC_ARM64_SPREL -> sp + cfa_off
+ CFIC_ARM64_X29REL -> x29 + cfa_off
+ CFIC_EXPR -> expr whose index is in cfa_off
+
+ old_sp/x30/x29/ra
+ = case sp/x30/x29/ra_how of
+ CFIR_UNKNOWN -> we don't know, sorry
+ CFIR_SAME -> same as it was before
+ CFIR_CFAREL -> cfa + sp/x30/x29/ra_how
+ CFIR_MEMCFAREL -> *( cfa + sp/x30/x29/ra_how )
+ CFIR_EXPR -> expr whose index is in sp/x30/x29/ra_off
+
On s390x we have a similar logic as x86 or amd64. We need the stack pointer
(r15), the frame pointer r11 (like BP) and together with the instruction
address in the PSW we can calculate the previous values:
cfa = case cfa_how of
CFIC_IA_SPREL -> r15 + cfa_off
CFIC_IA_BPREL -> r11 + cfa_off
- CFIR_IA_EXPR -> expr whose index is in cfa_off
+ CFIC_EXPR -> expr whose index is in cfa_off
old_sp/fp/ra
= case sp/fp/ra_how of
@@ -183,12 +198,13 @@
#define CFIC_IA_SPREL ((UChar)1)
#define CFIC_IA_BPREL ((UChar)2)
-#define CFIC_IA_EXPR ((UChar)3)
-#define CFIC_ARM_R13REL ((UChar)4)
-#define CFIC_ARM_R12REL ((UChar)5)
-#define CFIC_ARM_R11REL ((UChar)6)
-#define CFIC_ARM_R7REL ((UChar)7)
-#define CFIC_EXPR ((UChar)8) /* all targets */
+#define CFIC_ARM_R13REL ((UChar)3)
+#define CFIC_ARM_R12REL ((UChar)4)
+#define CFIC_ARM_R11REL ((UChar)5)
+#define CFIC_ARM_R7REL ((UChar)6)
+#define CFIC_ARM64_SPREL ((UChar)7)
+#define CFIC_ARM64_X29REL ((UChar)8)
+#define CFIC_EXPR ((UChar)9) /* all targets */
#define CFIR_UNKNOWN ((UChar)64)
#define CFIR_SAME ((UChar)65)
@@ -232,6 +248,23 @@
Int r7_off;
}
DiCfSI;
+#elif defined(VGA_arm64)
+typedef
+ struct {
+ Addr base;
+ UInt len;
+ UChar cfa_how; /* a CFIC_ value */
+ UChar ra_how; /* a CFIR_ value */
+ UChar sp_how; /* a CFIR_ value */ /*dw31=SP*/
+ UChar x30_how; /* a CFIR_ value */ /*dw30=LR*/
+ UChar x29_how; /* a CFIR_ value */ /*dw29=FP*/
+ Int cfa_off;
+ Int ra_off;
+ Int sp_off;
+ Int x30_off;
+ Int x29_off;
+ }
+ DiCfSI;
#elif defined(VGA_ppc32) || defined(VGA_ppc64)
/* Just have a struct with the common fields in, so that code that
processes the common fields doesn't have to be ifdef'd against
@@ -277,18 +310,6 @@
Int fp_off;
}
DiCfSI;
-#elif defined(VGA_arm64)
-/* Be generic until we know more about what's needed. */
-typedef
- struct {
- Addr base;
- UInt len;
- UChar cfa_how; /* a CFIC_ value */
- UChar ra_how; /* a CFIR_ value */
- Int cfa_off;
- Int ra_off;
- }
- DiCfSI;
#else
# error "Unknown arch"
#endif
@@ -328,6 +349,7 @@
Creg_ARM_R12,
Creg_ARM_R15,
Creg_ARM_R14,
+ Creg_ARM64_X30,
Creg_S390_R14,
Creg_MIPS_RA
}
Modified: trunk/coregrind/m_debuginfo/readdwarf.c
==============================================================================
--- trunk/coregrind/m_debuginfo/readdwarf.c (original)
+++ trunk/coregrind/m_debuginfo/readdwarf.c Mon Jan 13 00:21:09 2014
@@ -1840,11 +1840,11 @@
#elif defined(VGP_arm_linux)
# define FP_REG 12
# define SP_REG 13
-# define RA_REG_DEFAULT 14 //???
+# define RA_REG_DEFAULT 14
#elif defined(VGP_arm64_linux)
-# define FP_REG 29 //???
-# define SP_REG 31 //???
-# define RA_REG_DEFAULT 30 //???
+# define FP_REG 29
+# define SP_REG 31
+# define RA_REG_DEFAULT 30
#elif defined(VGP_x86_darwin)
# define FP_REG 5
# define SP_REG 4
@@ -1878,6 +1878,8 @@
# define N_CFI_REGS 72
#elif defined(VGP_arm_linux)
# define N_CFI_REGS 320
+#elif defined(VGP_arm64_linux)
+# define N_CFI_REGS 128
#else
# define N_CFI_REGS 20
#endif
@@ -2100,6 +2102,11 @@
ctx->state[j].reg[12].tag = RR_Same;
ctx->state[j].reg[7].tag = RR_Same;
/* this can't be right though: R12 (IP) isn't callee saved. */
+# elif defined(VGA_arm64)
+ /* Callee-saved registers (that we are interested in) should
+ start out as RR_Same. */
+ ctx->state[j].reg[29/*FP*/].tag = RR_Same;
+ ctx->state[j].reg[30/*LR*/].tag = RR_Same;
# endif
}
}
@@ -2121,7 +2128,7 @@
static void initCfiSI ( DiCfSI* si )
{
- VG_(memset)(si, 0, sizeof(*si));
+ VG_(bzero_inline)(si, sizeof(*si));
}
@@ -2184,7 +2191,7 @@
# elif defined(VGA_arm)
si->cfa_how = CFIC_ARM_R13REL;
# elif defined(VGA_arm64)
- I_die_here;
+ si->cfa_how = CFIC_ARM64_SPREL;
# else
si->cfa_how = 0; /* invalid */
# endif
@@ -2197,6 +2204,8 @@
si->cfa_how = CFIC_IA_BPREL;
# elif defined(VGA_arm)
si->cfa_how = CFIC_ARM_R12REL;
+# elif defined(VGA_arm64)
+ si->cfa_how = CFIC_ARM64_X29REL;
# else
si->cfa_how = 0; /* invalid */
# endif
@@ -2213,7 +2222,7 @@
si->cfa_off = ctxs->cfa_off;
}
# elif defined(VGA_arm64)
- if (1) { I_die_here; } // do we need any arm64 specifics here?
+ // do we need any arm64 specifics here?
# endif
else {
why = 1;
@@ -2348,6 +2357,48 @@
return True;
+# elif defined(VGA_arm64)
+
+ /* --- entire tail of this fn specialised for arm64 --- */
+
+ SUMMARISE_HOW(si->x30_how, si->x30_off, ctxs->reg[30/*LR*/]);
+ SUMMARISE_HOW(si->x29_how, si->x29_off, ctxs->reg[29/*FP*/]);
+
+ if (ctxs->reg[30/*LR*/].tag == RR_Same
+ && ctx->ra_reg == 30/*as we expect it always to be*/) {
+ /* Generate a trivial CfiExpr, which merely says "x30". First
+ ensure this DebugInfo has a cfsi_expr array in which to park
+ it. */
+ if (!debuginfo->cfsi_exprs)
+ debuginfo->cfsi_exprs = VG_(newXA)( ML_(dinfo_zalloc),
+ "di.ccCt.2a-arm64",
+ ML_(dinfo_free),
+ sizeof(CfiExpr) );
+ si->ra_off = ML_(CfiExpr_CfiReg)( debuginfo->cfsi_exprs,
+ Creg_ARM64_X30);
+ si->ra_how = CFIR_EXPR;
+ } else {
+ /* Just summarise it in the normal way */
+ SUMMARISE_HOW(si->ra_how, si->ra_off, ctxs->reg[ctx->ra_reg]);
+ }
+
+ /* on arm64, it seems the old SP value before the call is always
+ the same as the CFA. Therefore ... */
+ si->sp_how = CFIR_CFAREL;
+ si->sp_off = 0;
+
+ /* bogus looking range? Note, we require that the difference is
+ representable in 32 bits. */
+ if (loc_start >= ctx->loc)
+ { why = 4; goto failed; }
+ if (ctx->loc - loc_start > 10000000 /* let's say */)
+ { why = 5; goto failed; }
+
+ si->base = loc_start + ctx->initloc;
+ si->len = (UInt)(ctx->loc - loc_start);
+
+ return True;
+
# elif defined(VGA_s390x)
/* --- entire tail of this fn specialised for s390 --- */
@@ -2440,9 +2491,6 @@
return True;
-# elif defined(VGA_arm64)
- I_die_here;
-
# elif defined(VGA_ppc32) || defined(VGA_ppc64)
/* These don't use CFI based unwinding (is that really true?) */
@@ -2450,6 +2498,8 @@
# error "Unknown arch"
# endif
+ /* --- non-specialised code after this point --- */
+
# undef SUMMARISE_HOW
failed:
Modified: trunk/coregrind/m_debuginfo/storage.c
==============================================================================
--- trunk/coregrind/m_debuginfo/storage.c (original)
+++ trunk/coregrind/m_debuginfo/storage.c Mon Jan 13 00:21:09 2014
@@ -162,6 +162,12 @@
case CFIC_ARM_R7REL:
VG_(printf)("let cfa=oldR7+%d", si->cfa_off);
break;
+ case CFIC_ARM64_SPREL:
+ VG_(printf)("let cfa=oldSP+%d", si->cfa_off);
+ break;
+ case CFIC_ARM64_X29REL:
+ VG_(printf)("let cfa=oldX29+%d", si->cfa_off);
+ break;
case CFIC_EXPR:
VG_(printf)("let cfa={");
ML_(ppCfiExpr)(exprs, si->cfa_off);
@@ -196,7 +202,12 @@
VG_(printf)(" FP=");
SHOW_HOW(si->fp_how, si->fp_off);
# elif defined(VGA_arm64)
- I_die_here;
+ VG_(printf)(" SP=");
+ SHOW_HOW(si->sp_how, si->sp_off);
+ VG_(printf)(" X30=");
+ SHOW_HOW(si->x30_how, si->x30_off);
+ VG_(printf)(" X29=");
+ SHOW_HOW(si->x29_how, si->x29_off);
# else
# error "Unknown arch"
# endif
@@ -671,15 +682,16 @@
static void ppCfiReg ( CfiReg reg )
{
switch (reg) {
- case Creg_IA_SP: VG_(printf)("xSP"); break;
- case Creg_IA_BP: VG_(printf)("xBP"); break;
- case Creg_IA_IP: VG_(printf)("xIP"); break;
- case Creg_ARM_R13: VG_(printf)("R13"); break;
- case Creg_ARM_R12: VG_(printf)("R12"); break;
- case Creg_ARM_R15: VG_(printf)("R15"); break;
- case Creg_ARM_R14: VG_(printf)("R14"); break;
- case Creg_MIPS_RA: VG_(printf)("RA"); break;
- case Creg_S390_R14: VG_(printf)("R14"); break;
+ case Creg_IA_SP: VG_(printf)("xSP"); break;
+ case Creg_IA_BP: VG_(printf)("xBP"); break;
+ case Creg_IA_IP: VG_(printf)("xIP"); break;
+ case Creg_ARM_R13: VG_(printf)("R13"); break;
+ case Creg_ARM_R12: VG_(printf)("R12"); break;
+ case Creg_ARM_R15: VG_(printf)("R15"); break;
+ case Creg_ARM_R14: VG_(printf)("R14"); break;
+ case Creg_ARM64_X30: VG_(printf)("X30"); break;
+ case Creg_MIPS_RA: VG_(printf)("RA"); break;
+ case Creg_S390_R14: VG_(printf)("R14"); break;
default: vg_assert(0);
}
}
Modified: trunk/coregrind/m_stacktrace.c
==============================================================================
--- trunk/coregrind/m_stacktrace.c (original)
+++ trunk/coregrind/m_stacktrace.c Mon Jan 13 00:21:09 2014
@@ -1044,10 +1044,88 @@
UnwindStartRegs* startRegs,
Addr fp_max_orig )
{
- ips[0] = startRegs->r_pc;
- if (sps) sps[0] = startRegs->r_sp;
- if (fps) fps[0] = startRegs->misc.ARM64.x29;
- return 1;
+ Bool debug = False;
+ Int i;
+ Addr fp_max;
+ UInt n_found = 0;
+ const Int cmrf = VG_(clo_merge_recursive_frames);
+
+ vg_assert(sizeof(Addr) == sizeof(UWord));
+ vg_assert(sizeof(Addr) == sizeof(void*));
+
+ D3UnwindRegs uregs;
+ uregs.pc = startRegs->r_pc;
+ uregs.sp = startRegs->r_sp;
+ uregs.x30 = startRegs->misc.ARM64.x30;
+ uregs.x29 = startRegs->misc.ARM64.x29;
+ Addr fp_min = uregs.sp;
+
+ /* Snaffle IPs from the client's stack into ips[0 .. max_n_ips-1],
+ stopping when the trail goes cold, which we guess to be
+ when FP is not a reasonable stack location. */
+
+ // JRS 2002-sep-17: hack, to round up fp_max to the end of the
+ // current page, at least. Dunno if it helps.
+ // NJN 2002-sep-17: seems to -- stack traces look like 1.0.X again
+ fp_max = VG_PGROUNDUP(fp_max_orig);
+ if (fp_max >= sizeof(Addr))
+ fp_max -= sizeof(Addr);
+
+ if (debug)
+ VG_(printf)("\nmax_n_ips=%d fp_min=0x%lx fp_max_orig=0x%lx, "
+ "fp_max=0x%lx PC=0x%lx SP=0x%lx\n",
+ max_n_ips, fp_min, fp_max_orig, fp_max,
+ uregs.pc, uregs.sp);
+
+ /* Assertion broken before main() is reached in pthreaded programs; the
+ * offending stack traces only have one item. --njn, 2002-aug-16 */
+ /* vg_assert(fp_min <= fp_max);*/
+ // On Darwin, this kicks in for pthread-related stack traces, so they're
+ // only 1 entry long which is wrong.
+ if (fp_min + 512 >= fp_max) {
+ /* If the stack limits look bogus, don't poke around ... but
+ don't bomb out either. */
+ if (sps) sps[0] = uregs.sp;
+ if (fps) fps[0] = uregs.x29;
+ ips[0] = uregs.pc;
+ return 1;
+ }
+
+ /* */
+
+ if (sps) sps[0] = uregs.sp;
+ if (fps) fps[0] = uregs.x29;
+ ips[0] = uregs.pc;
+ i = 1;
+
+ /* Loop unwinding the stack, using CFI. */
+ while (True) {
+ if (debug) {
+ VG_(printf)("i: %d, pc: 0x%lx, sp: 0x%lx\n",
+ i, uregs.pc, uregs.sp);
+ }
+
+ if (i >= max_n_ips)
+ break;
+
+ if (VG_(use_CF_info)( &uregs, fp_min, fp_max )) {
+ if (sps) sps[i] = uregs.sp;
+ if (fps) fps[i] = uregs.x29;
+ ips[i++] = uregs.pc - 1;
+ if (debug)
+ VG_(printf)("USING CFI: pc: 0x%lx, sp: 0x%lx\n",
+ uregs.pc, uregs.sp);
+ uregs.pc = uregs.pc - 1;
+ if (UNLIKELY(cmrf > 0)) {RECURSIVE_MERGE(cmrf,ips,i);};
+ continue;
+ }
+
+ /* No luck. We have to give up. */
+ break;
+ }
+
+ n_found = i;
+ return n_found;
}
#endif
Modified: trunk/coregrind/pub_core_basics.h
==============================================================================
--- trunk/coregrind/pub_core_basics.h (original)
+++ trunk/coregrind/pub_core_basics.h Mon Jan 13 00:21:09 2014
@@ -111,7 +111,6 @@
UInt r7;
} ARM;
struct {
- // FIXME ARM64 is this correct?
ULong x29; /* FP */
ULong x30; /* LR */
} ARM64;
Modified: trunk/coregrind/pub_core_debuginfo.h
==============================================================================
--- trunk/coregrind/pub_core_debuginfo.h (original)
+++ trunk/coregrind/pub_core_debuginfo.h Mon Jan 13 00:21:09 2014
@@ -114,7 +114,7 @@
D3UnwindRegs;
#elif defined(VGA_arm64)
typedef
- struct { Addr pc; Addr sp; Addr lr; Addr fp; } /* PC, 31, 30, 29 */
+ struct { Addr pc; Addr sp; Addr x30; Addr x29; } /* PC, SP, LR, FP */
D3UnwindRegs;
#elif defined(VGA_ppc32) || defined(VGA_ppc64)
typedef
|
|
From: <sv...@va...> - 2014-01-13 00:18:59
|
Author: sewardj
Date: Mon Jan 13 00:18:51 2014
New Revision: 13773
Log:
Minor notes on arm64 register usages.
Modified:
trunk/ARM64_TIDYUPS.txt
trunk/docs/internals/register-uses.txt
Modified: trunk/ARM64_TIDYUPS.txt
==============================================================================
--- trunk/ARM64_TIDYUPS.txt (original)
+++ trunk/ARM64_TIDYUPS.txt Mon Jan 13 00:18:51 2014
@@ -176,3 +176,8 @@
valgrind.h: fix VALGRIND_ALIGN_STACK/VALGRIND_RESTORE_STACK,
also add CFI annotations
+
+
+
+could possibly bring r29 into use, which be useful as it is
+callee saved
Modified: trunk/docs/internals/register-uses.txt
==============================================================================
--- trunk/docs/internals/register-uses.txt (original)
+++ trunk/docs/internals/register-uses.txt Mon Jan 13 00:18:51 2014
@@ -149,7 +149,7 @@
r16(IP0)
r17(IP1)
r18 "Platform reg"
-r19-20 maybe "Temporary regs"
+r19-20 "Temporary regs"
r21 y "Callee saved" GSP
r22-28 y "Callee saved"
r29(FP) y
|
|
From: <sv...@va...> - 2014-01-13 00:18:12
|
Author: sewardj
Date: Mon Jan 13 00:17:54 2014
New Revision: 13772
Log:
VG_(bzero_inline): handle up to 12 words inline.
Modified:
trunk/include/pub_tool_libcbase.h
Modified: trunk/include/pub_tool_libcbase.h
==============================================================================
--- trunk/include/pub_tool_libcbase.h (original)
+++ trunk/include/pub_tool_libcbase.h Mon Jan 13 00:17:54 2014
@@ -124,7 +124,7 @@
extern void* VG_(memset) ( void *s, Int c, SizeT sz );
extern Int VG_(memcmp) ( const void* s1, const void* s2, SizeT n );
-/* Zero out up to 8 words quickly in-line. Do not use this for blocks
+/* Zero out up to 12 words quickly in-line. Do not use this for blocks
of size which are unknown at compile time, since the whole point is
for it to be inlined, and then for gcc to remove all code except
for the relevant 'sz' case. */
@@ -135,6 +135,18 @@
&& LIKELY(0 == (((Addr)s) & (Addr)(sizeof(UWord)-1)))) {
UWord* p = (UWord*)s;
switch (sz / (SizeT)sizeof(UWord)) {
+ case 12: p[0] = p[1] = p[2] = p[3]
+ = p[4] = p[5] = p[6] = p[7]
+ = p[8] = p[9] = p[10] = p[11] = 0UL; return;
+ case 11: p[0] = p[1] = p[2] = p[3]
+ = p[4] = p[5] = p[6] = p[7]
+ = p[8] = p[9] = p[10] = 0UL; return;
+ case 10: p[0] = p[1] = p[2] = p[3]
+ = p[4] = p[5] = p[6] = p[7]
+ = p[8] = p[9] = 0UL; return;
+ case 9: p[0] = p[1] = p[2] = p[3]
+ = p[4] = p[5] = p[6] = p[7]
+ = p[8] = 0UL; return;
case 8: p[0] = p[1] = p[2] = p[3]
= p[4] = p[5] = p[6] = p[7] = 0UL; return;
case 7: p[0] = p[1] = p[2] = p[3]
|