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
(7) |
2
|
|
3
(1) |
4
(16) |
5
(6) |
6
(17) |
7
(18) |
8
(13) |
9
(7) |
|
10
(7) |
11
(15) |
12
(14) |
13
(10) |
14
(9) |
15
(17) |
16
(6) |
|
17
|
18
(18) |
19
(7) |
20
(20) |
21
(10) |
22
(8) |
23
(5) |
|
24
(2) |
25
(2) |
26
(10) |
27
|
28
|
29
|
30
|
|
31
(1) |
|
|
|
|
|
|
|
From: <sv...@va...> - 2010-10-22 06:38:20
|
Author: sewardj Date: 2010-10-22 07:38:12 +0100 (Fri, 22 Oct 2010) New Revision: 11473 Log: Swizzle external for 3.6.0. Modified: tags/VALGRIND_3_6_0/ Property changes on: tags/VALGRIND_3_6_0 ___________________________________________________________________ Name: svn:externals - VEX svn://svn.valgrind.org/vex/branches/VEX_3_6_BRANCH + VEX svn://svn.valgrind.org/vex/tags/VEX_3_6_0 |
|
From: <sv...@va...> - 2010-10-22 06:37:00
|
Author: sewardj Date: 2010-10-22 07:36:52 +0100 (Fri, 22 Oct 2010) New Revision: 11472 Log: Create tag VALGRIND_3_6_0 as a copy of VALGRIND_3_6_BRANCH r11471. Added: tags/VALGRIND_3_6_0/ Copied: tags/VALGRIND_3_6_0 (from rev 11471, branches/VALGRIND_3_6_BRANCH) |
|
From: <sv...@va...> - 2010-10-22 06:29:23
|
Author: sewardj Date: 2010-10-22 07:29:15 +0100 (Fri, 22 Oct 2010) New Revision: 2069 Log: Create tag VEX_3_6_0 as a copy of VEX_3_6_BRANCH r2068. Added: tags/VEX_3_6_0/ Copied: tags/VEX_3_6_0 (from rev 2068, branches/VEX_3_6_BRANCH) |
|
From: Julian S. <js...@ac...> - 2010-10-21 11:51:20
|
We are pleased to announce a new release of Valgrind, version 3.6.0, available from http://www.valgrind.org. Valgrind is an open-source suite of simulation based debugging and profiling tools. With the tools that come with Valgrind, you can automatically detect many memory management and threading bugs, which avoids hours of frustrating bug-hunting, and makes your code more stable. You can also perform detailed time and space profiling to help speed up and slim down your programs. 3.6.0 is a feature release with many significant improvements and the usual collection of bug fixes. This release supports X86/Linux, AMD64/Linux, ARM/Linux, PPC32/Linux, PPC64/Linux, X86/Darwin and AMD64/Darwin. Support for recent distros and toolchain components (glibc 2.12, gcc 4.5, OSX 10.6) has been added. A new version, 2.0.0, of the Valkyrie GUI is also available. Valkyrie is a Qt4-based GUI for Valgrind's Memcheck and Helgrind tools. Our thanks to all those who contribute to Valgrind's development. This release represents a great deal of time, energy and effort on the part of many people. Happy (and productive) debugging and profiling, -- The Valgrind Developers Release 3.6.0 (21 October 2010) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.6.0 is a feature release with many significant improvements and the usual collection of bug fixes. This release supports X86/Linux, AMD64/Linux, ARM/Linux, PPC32/Linux, PPC64/Linux, X86/Darwin and AMD64/Darwin. Support for recent distros and toolchain components (glibc 2.12, gcc 4.5, OSX 10.6) has been added. ------------------------- Here are some highlights. Details are shown further down: * Support for ARM/Linux. * Support for recent Linux distros: Ubuntu 10.10 and Fedora 14. * Support for Mac OS X 10.6, both 32- and 64-bit executables. * Support for the SSE4.2 instruction set. * Enhancements to the Cachegrind and Callgrind profilers, including the ability to handle CPUs with three levels of cache. * A new experimental heap profiler, DHAT. * A huge number of bug fixes and small enhancements. ------------------------- Here are details of the above changes, together with descriptions of many other changes, and a list of fixed bugs. * ================== PLATFORM CHANGES ================= * Support for ARM/Linux. Valgrind now runs on ARMv7 capable CPUs running Linux. It is known to work on Ubuntu 10.04, Ubuntu 10.10, and Maemo 5, so you can run Valgrind on your Nokia N900 if you want. This requires a CPU capable of running the ARMv7-A instruction set (Cortex A5, A8 and A9). Valgrind provides fairly complete coverage of the user space instruction set, including ARM and Thumb integer code, VFPv3, NEON and V6 media instructions. The Memcheck, Cachegrind and Massif tools work properly; other tools work to varying degrees. * Support for recent Linux distros (Ubuntu 10.10 and Fedora 14), along with support for recent releases of the underlying toolchain components, notably gcc-4.5 and glibc-2.12. * Support for Mac OS X 10.6, both 32- and 64-bit executables. 64-bit support also works much better on OS X 10.5, and is as solid as 32-bit support now. * Support for the SSE4.2 instruction set. SSE4.2 is supported in 64-bit mode. In 32-bit mode, support is only available up to and including SSSE3. Some exceptions: SSE4.2 AES instructions are not supported in 64-bit mode, and 32-bit mode does in fact support the bare minimum SSE4 instructions to needed to run programs on Mac OS X 10.6 on 32-bit targets. * Support for IBM POWER6 cpus has been improved. The Power ISA up to and including version 2.05 is supported. * ==================== TOOL CHANGES ==================== * Cachegrind has a new processing script, cg_diff, which finds the difference between two profiles. It's very useful for evaluating the performance effects of a change in a program. Related to this change, the meaning of cg_annotate's (rarely-used) --threshold option has changed; this is unlikely to affect many people, if you do use it please see the user manual for details. * Callgrind now can do branch prediction simulation, similar to Cachegrind. In addition, it optionally can count the number of executed global bus events. Both can be used for a better approximation of a "Cycle Estimation" as derived event (you need to update the event formula in KCachegrind yourself). * Cachegrind and Callgrind now refer to the LL (last-level) cache rather than the L2 cache. This is to accommodate machines with three levels of caches -- if Cachegrind/Callgrind auto-detects the cache configuration of such a machine it will run the simulation as if the L2 cache isn't present. This means the results are less likely to match the true result for the machine, but Cachegrind/Callgrind's results are already only approximate, and should not be considered authoritative. The results are still useful for giving a general idea about a program's locality. * Massif has a new option, --pages-as-heap, which is disabled by default. When enabled, instead of tracking allocations at the level of heap blocks (as allocated with malloc/new/new[]), it instead tracks memory allocations at the level of memory pages (as mapped by mmap, brk, etc). Each mapped page is treated as its own block. Interpreting the page-level output is harder than the heap-level output, but this option is useful if you want to account for every byte of memory used by a program. * DRD has two new command-line options: --free-is-write and --trace-alloc. The former allows to detect reading from already freed memory, and the latter allows tracing of all memory allocations and deallocations. * DRD has several new annotations. Custom barrier implementations can now be annotated, as well as benign races on static variables. * DRD's happens before / happens after annotations have been made more powerful, so that they can now also be used to annotate e.g. a smart pointer implementation. * Helgrind's annotation set has also been drastically improved, so as to provide to users a general set of annotations to describe locks, semaphores, barriers and condition variables. Annotations to describe thread-safe reference counted heap objects have also been added. * Memcheck has a new command-line option, --show-possibly-lost, which is enabled by default. When disabled, the leak detector will not show possibly-lost blocks. * A new experimental heap profiler, DHAT (Dynamic Heap Analysis Tool), has been added. DHAT keeps track of allocated heap blocks, and also inspects every memory reference to see which block (if any) is being accessed. This gives a lot of insight into block lifetimes, utilisation, turnover, liveness, and the location of hot and cold fields. You can use DHAT to do hot-field profiling. * ==================== OTHER CHANGES ==================== * Improved support for unfriendly self-modifying code: the extra overhead incurred by --smc-check=all has been reduced by approximately a factor of 5 as compared with 3.5.0. * Ability to show directory names for source files in error messages. This is combined with a flexible mechanism for specifying which parts of the paths should be shown. This is enabled by the new flag --fullpath-after. * A new flag, --require-text-symbol, which will stop the run if a specified symbol is not found it a given shared object when it is loaded into the process. This makes advanced working with function intercepting and wrapping safer and more reliable. * Improved support for the Valkyrie GUI, version 2.0.0. GUI output and control of Valgrind is now available for the tools Memcheck and Helgrind. XML output from Valgrind is available for Memcheck, Helgrind and exp-Ptrcheck. * More reliable stack unwinding on amd64-linux, particularly in the presence of function wrappers, and with gcc-4.5 compiled code. * Modest scalability (performance improvements) for massive long-running applications, particularly for those with huge amounts of code. * Support for analyzing programs running under Wine with has been improved. The header files <valgrind/valgrind.h>, <valgrind/memcheck.h> and <valgrind/drd.h> can now be used in Windows-programs compiled with MinGW or one of the Microsoft Visual Studio compilers. * A rare but serious error in the 64-bit x86 CPU simulation was fixed. The 32-bit simulator was not affected. This did not occur often, but when it did would usually crash the program under test. Bug 245925. * A large number of bugs were fixed. These are shown below. * A number of bugs were investigated, and were candidates for fixing, but are not fixed in 3.6.0, due to lack of developer time. They may get fixed in later releases. They are: 194402 vex amd64->IR: 0x48 0xF 0xAE 0x4 0x24 0x49 (FXSAVE64) 212419 false positive "lock order violated" (A+B vs A) 213685 Undefined value propagates past dependency breaking instruction 216837 Incorrect instrumentation of NSOperationQueue on Darwin 237920 valgrind segfault on fork failure 242137 support for code compiled by LLVM-2.8 242423 Another unknown Intel cache config value 243232 Inconsistent Lock Orderings report with trylock 243483 ppc: callgrind triggers VEX assertion failure 243935 Helgrind: implementation of ANNOTATE_HAPPENS_BEFORE() is wrong 244677 Helgrind crash hg_main.c:616 (map_threads_lookup): Assertion 'thr' failed. 246152 callgrind internal error after pthread_cancel on 32 Bit Linux 249435 Analyzing wine programs with callgrind triggers a crash 250038 ppc64: Altivec lvsr and lvsl instructions fail their regtest 250065 Handling large allocations 250101 huge "free" memory usage due to m_mallocfree.c "superblocks fragmentation" 251569 vex amd64->IR: 0xF 0x1 0xF9 0x8B 0x4C 0x24 (RDTSCP) 252091 Callgrind on ARM does not detect function returns correctly 252600 [PATCH] Allow lhs to be a pointer for shl/shr 254420 memory pool tracking broken n-i-bz support for adding symbols for JIT generated code The following bugs have been fixed or resolved. Note that "n-i-bz" stands for "not in bugzilla" -- that is, a bug that was reported to us but never got a bugzilla entry. We encourage you to file bugs in bugzilla (http://bugs.kde.org/enter_valgrind_bug.cgi) rather than mailing the developers (or mailing lists) directly -- bugs that are not entered into bugzilla tend to get forgotten about or ignored. To see details of a given bug, visit https://bugs.kde.org/show_bug.cgi?id=XXXXXX where XXXXXX is the bug number as listed below. 135264 dcbzl instruction missing 142688 == 250799 153699 Valgrind should report unaligned reads with movdqa 180217 == 212335 190429 Valgrind reports lost of errors in ld.so with x86_64 2.9.90 glibc 197266 valgrind appears to choke on the xmms instruction "roundsd" on x86_64 197988 Crash when demangling very large symbol names 202315 unhandled syscall: 332 (inotify_init1) 203256 Add page-level profiling to Massif 205093 dsymutil=yes needs quotes, locking (partial fix) 205241 Snow Leopard 10.6 support (partial fix) 206600 Leak checker fails to upgrade indirect blocks when their parent becomes reachable 210935 port valgrind.h (not valgrind) to win32 so apps run under wine can make client requests 211410 vex amd64->IR: 0x15 0xFF 0xFF 0x0 0x0 0x89 within Linux ip-stack checksum functions 212335 unhandled instruction bytes: 0xF3 0xF 0xBD 0xC0 (lzcnt %eax,%eax) 213685 Undefined value propagates past dependency breaking instruction (partial fix) 215914 Valgrind inserts bogus empty environment variable 217863 == 197988 219538 adjtimex syscall wrapper wrong in readonly adjtime mode 222545 shmat fails under valgind on some arm targets 222560 ARM NEON support 230407 == 202315 231076 == 202315 232509 Docs build fails with formatting inside <title></title> elements 232793 == 202315 235642 [PATCH] syswrap-linux.c: support evdev EVIOCG* ioctls 236546 vex x86->IR: 0x66 0xF 0x3A 0xA 237202 vex amd64->IR: 0xF3 0xF 0xB8 0xC0 0x49 0x3B 237371 better support for VALGRIND_MALLOCLIKE_BLOCK 237485 symlink (syscall 57) is not supported on Mac OS 237723 sysno == 101 exp-ptrcheck: the 'impossible' happened: unhandled syscall 238208 is_just_below_ESP doesn't take into account red-zone 238345 valgrind passes wrong $0 when executing a shell script 238679 mq_timedreceive syscall doesn't flag the reception buffer as "defined" 238696 fcntl command F_DUPFD_CLOEXEC not supported 238713 unhandled instruction bytes: 0x66 0xF 0x29 0xC6 238713 unhandled instruction bytes: 0x66 0xF 0x29 0xC6 238745 3.5.0 Make fails on PPC Altivec opcodes, though configure says "Altivec off" 239992 vex amd64->IR: 0x48 0xF 0xC4 0xC1 0x0 0x48 240488 == 197988 240639 == 212335 241377 == 236546 241903 == 202315 241920 == 212335 242606 unhandled syscall: setegid (in Ptrcheck) 242814 Helgrind "Impossible has happened" during QApplication::initInstance(); 243064 Valgrind attempting to read debug information from iso 243270 Make stack unwinding in Valgrind wrappers more reliable 243884 exp-ptrcheck: the 'impossible happened: unhandled syscall sysno = 277 (mq_open) 244009 exp-ptrcheck unknown syscalls in analyzing lighttpd 244493 ARM VFP d16-d31 registers support 244670 add support for audit_session_self syscall on Mac OS 10.6 244921 The xml report of helgrind tool is not well format 244923 In the xml report file, the <preamble> not escape the xml char, eg '<','&','>' 245535 print full path names in plain text reports 245925 x86-64 red zone handling problem 246258 Valgrind not catching integer underruns + new [] s 246311 reg/reg cmpxchg doesn't work on amd64 246549 unhandled syscall unix:277 while testing 32-bit Darwin app 246888 Improve Makefile.vex.am 247510 [OS X 10.6] Memcheck reports unaddressable bytes passed to [f]chmod_extended 247526 IBM POWER6 (ISA 2.05) support is incomplete 247561 Some leak testcases fails due to reachable addresses in caller save regs 247875 sizeofIRType to handle Ity_I128 247894 [PATCH] unhandled syscall sys_readahead 247980 Doesn't honor CFLAGS passed to configure 248373 darwin10.supp is empty in the trunk 248822 Linux FIBMAP ioctl has int parameter instead of long 248893 [PATCH] make readdwarf.c big endianess safe to enable unwinding on big endian systems 249224 Syscall 336 not supported (SYS_proc_info) 249359 == 245535 249775 Incorrect scheme for detecting NEON capabilities of host CPU 249943 jni JVM init fails when using valgrind 249991 Valgrind incorrectly declares AESKEYGENASSIST support since VEX r2011 249996 linux/arm: unhandled syscall: 181 (__NR_pwrite64) 250799 frexp$fenv_access_off function generates SIGILL 250998 vex x86->IR: unhandled instruction bytes: 0x66 0x66 0x66 0x2E 251251 support pclmulqdq insn 251362 valgrind: ARM: attach to debugger either fails or provokes kernel oops 251674 Unhandled syscall 294 251818 == 254550 254257 Add support for debugfiles found by build-id 254550 [PATCH] Implement DW_ATE_UTF (DWARF4) 254646 Wrapped functions cause stack misalignment on OS X (and possibly Linux) 254556 ARM: valgrinding anything fails with SIGSEGV for 0xFFFF0FA0 (3.6.0: 21 October 2010, vex r2068, valgrind r11471). |
|
From: <sv...@va...> - 2010-10-21 11:33:56
|
Author: sewardj Date: 2010-10-21 12:33:48 +0100 (Thu, 21 Oct 2010) New Revision: 433 Log: Update Vk details. Modified: trunk/downloads/guis.html Modified: trunk/downloads/guis.html =================================================================== --- trunk/downloads/guis.html 2010-10-21 11:19:28 UTC (rev 432) +++ trunk/downloads/guis.html 2010-10-21 11:33:48 UTC (rev 433) @@ -31,8 +31,8 @@ <li><p><a href="http://www.open-works.net/projects/valkyrie.html">Valkyrie</a> -is a Qt-based GUI for the Valgrind 3.3.X line. -You can download the latest version (1.3.0, for use with Valgrind 3.3.0 +is a Qt4-based GUI for the Memcheck and Helgrind tools in the Valgrind 3.6.X line. +You can download the latest version (2.0.0, for use with Valgrind 3.6.0 and later) from the <a href="/downloads/current.html">Valgrind download page</a>. Valkyrie also includes an auxiliary tool which merges XML output from multiple Memcheck runs into a single XML file, and optionally displays |
|
From: <sv...@va...> - 2010-10-21 11:19:37
|
Author: sewardj Date: 2010-10-21 12:19:28 +0100 (Thu, 21 Oct 2010) New Revision: 432 Log: Update for 3.6.0. Added: trunk/docs/manual/dh-manual.html Modified: trunk/docs/manual/FAQ.html trunk/docs/manual/QuickStart.html trunk/docs/manual/bbv-manual.html trunk/docs/manual/cg-manual.html trunk/docs/manual/cl-format.html trunk/docs/manual/cl-manual.html trunk/docs/manual/design-impl.html trunk/docs/manual/dist.authors.html trunk/docs/manual/dist.html trunk/docs/manual/dist.news.html trunk/docs/manual/dist.readme-developers.html trunk/docs/manual/dist.readme-missing.html trunk/docs/manual/dist.readme-packagers.html trunk/docs/manual/dist.readme.html trunk/docs/manual/drd-manual.html trunk/docs/manual/faq.html trunk/docs/manual/hg-manual.html trunk/docs/manual/index.html trunk/docs/manual/license.gfdl.html trunk/docs/manual/license.gpl.html trunk/docs/manual/licenses.html trunk/docs/manual/lk-manual.html trunk/docs/manual/manual-core-adv.html trunk/docs/manual/manual-core.html trunk/docs/manual/manual-intro.html trunk/docs/manual/manual-writing-tools.html trunk/docs/manual/manual.html trunk/docs/manual/mc-manual.html trunk/docs/manual/ms-manual.html trunk/docs/manual/nl-manual.html trunk/docs/manual/pc-manual.html trunk/docs/manual/quick-start.html trunk/docs/manual/tech-docs.html trunk/docs/manual/valgrind_manual.html.tar.bz2 trunk/docs/manual/valgrind_manual.pdf trunk/docs/manual/valgrind_manual.ps.bz2 trunk/downloads/current.html trunk/index.html trunk/php/.htconfx [... diff too large to include ...] |
|
From: Nicholas N. <n.n...@gm...> - 2010-10-21 09:36:09
|
Nightly build on ocean ( Ubuntu 10.04.1 LTS, x86_64 )
Started at 2010-10-21 02:00:01 PDT
Ended at 2010-10-21 02:35:54 PDT
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
== 557 tests, 5 stderr failures, 0 stdout failures, 0 post failures ==
memcheck/tests/linux/stack_switch (stderr)
helgrind/tests/pth_barrier3 (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
drd/tests/pth_barrier3 (stderr)
exp-ptrcheck/tests/bad_percentify (stderr)
=================================================
./valgrind-new/drd/tests/pth_barrier3.stderr.diff
=================================================
--- pth_barrier3.stderr.exp 2010-10-21 02:18:59.000000000 -0700
+++ pth_barrier3.stderr.out 2010-10-21 02:32:25.000000000 -0700
@@ -1 +1 @@
-ERROR SUMMARY: 31 errors from 1 contexts
+ERROR SUMMARY: 31 errors from 31 contexts
=================================================
./valgrind-new/exp-ptrcheck/tests/bad_percentify.stderr.diff-glibc28-amd64
=================================================
--- bad_percentify.stderr.exp-glibc28-amd64 2010-10-21 02:18:07.000000000 -0700
+++ bad_percentify.stderr.out 2010-10-21 02:34:26.000000000 -0700
@@ -1,32 +1,29 @@
Invalid read of size 1
- at 0x........: strlen (h_intercepts.c:...)
- by 0x........: ...
+ at 0x........: ...
by 0x........: ...
by 0x........: VG_print_translation_stats (bad_percentify.c:88)
by 0x........: main (bad_percentify.c:107)
Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 3 back from here
+ Expected: stack array "buf" in frame 2 back from here
Actual: unknown
Invalid read of size 1
- at 0x........: strlen (h_intercepts.c:...)
- by 0x........: ...
+ at 0x........: ...
by 0x........: ...
by 0x........: VG_print_translation_stats (bad_percentify.c:93)
by 0x........: main (bad_percentify.c:107)
Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 3 back from here
+ Expected: stack array "buf" in frame 2 back from here
Actual: unknown
Invalid read of size 1
- at 0x........: strlen (h_intercepts.c:...)
- by 0x........: ...
+ at 0x........: ...
by 0x........: ...
by 0x........: VG_print_translation_stats (bad_percentify.c:98)
by 0x........: main (bad_percentify.c:107)
Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 3 back from here
+ Expected: stack array "buf" in frame 2 back from here
Actual: unknown
=================================================
./valgrind-new/helgrind/tests/pth_barrier3.stderr.diff
=================================================
--- pth_barrier3.stderr.exp 2010-10-21 02:18:04.000000000 -0700
+++ pth_barrier3.stderr.out 2010-10-21 02:29:23.000000000 -0700
@@ -23,3 +23,573 @@
by 0x........: barriers_and_races (pth_barrier.c:72)
by 0x........: main (pth_barrier.c:107)
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:84)
+ by 0x........: main (pth_barrier.c:107)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Address 0x........ is 0 bytes inside a block of size 4 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:72)
+ by 0x........: main (pth_barrier.c:107)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:84)
+ by 0x........: main (pth_barrier.c:107)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Address 0x........ is 0 bytes inside a block of size 4 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:72)
+ by 0x........: main (pth_barrier.c:107)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:84)
+ by 0x........: main (pth_barrier.c:107)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Address 0x........ is 0 bytes inside a block of size 4 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:72)
+ by 0x........: main (pth_barrier.c:107)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:84)
+ by 0x........: main (pth_barrier.c:107)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Address 0x........ is 0 bytes inside a block of size 4 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:72)
+ by 0x........: main (pth_barrier.c:107)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:84)
+ by 0x........: main (pth_barrier.c:107)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Address 0x........ is 0 bytes inside a block of size 4 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:72)
+ by 0x........: main (pth_barrier.c:107)
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2010-10-21 02:18:04.000000000 -0700
+++ tc06_two_races_xml.stderr.out 2010-10-21 02:29:44.000000000 -0700
@@ -40,16 +40,17 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>clone</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>do_clone</fn>
+ <dir>...</dir>
+ <file>clone.S</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
<fn>pthread_create@@GLIBC_2.2.5</fn>
+ <dir>...</dir>
+ <file>createthread.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
@@ -121,11 +122,12 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
- <obj>...</obj>
- <fn>clone</fn>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
@@ -175,11 +177,12 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
- <obj>...</obj>
- <fn>clone</fn>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
@@ -229,11 +232,12 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
- <obj>...</obj>
- <fn>clone</fn>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot2"</auxwhat>
@@ -283,11 +287,12 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
- <obj>...</obj>
- <fn>clone</fn>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot2"</auxwhat>
=================================================
./valgrind-new/memcheck/tests/linux/stack_switch.stderr.diff
=================================================
--- stack_switch.stderr.exp 2010-10-21 02:18:22.000000000 -0700
+++ stack_switch.stderr.out 2010-10-21 02:24:52.000000000 -0700
@@ -0,0 +1,3 @@
+Syscall param clone(child_tidptr) contains uninitialised byte(s)
+ ...
+
=================================================
./valgrind-old/drd/tests/pth_barrier3.stderr.diff
=================================================
--- pth_barrier3.stderr.exp 2010-10-21 02:01:36.000000000 -0700
+++ pth_barrier3.stderr.out 2010-10-21 02:14:37.000000000 -0700
@@ -1 +1 @@
-ERROR SUMMARY: 31 errors from 1 contexts
+ERROR SUMMARY: 31 errors from 31 contexts
=================================================
./valgrind-old/exp-ptrcheck/tests/bad_percentify.stderr.diff-glibc28-amd64
=================================================
--- bad_percentify.stderr.exp-glibc28-amd64 2010-10-21 02:00:42.000000000 -0700
+++ bad_percentify.stderr.out 2010-10-21 02:16:35.000000000 -0700
@@ -1,32 +1,29 @@
Invalid read of size 1
- at 0x........: strlen (h_intercepts.c:...)
- by 0x........: ...
+ at 0x........: ...
by 0x........: ...
by 0x........: VG_print_translation_stats (bad_percentify.c:88)
by 0x........: main (bad_percentify.c:107)
Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 3 back from here
+ Expected: stack array "buf" in frame 2 back from here
Actual: unknown
Invalid read of size 1
- at 0x........: strlen (h_intercepts.c:...)
- by 0x........: ...
+ at 0x........: ...
by 0x........: ...
by 0x........: VG_print_translation_stats (bad_percentify.c:93)
by 0x........: main (bad_percentify.c:107)
Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 3 back from here
+ Expected: stack array "buf" in frame 2 back from here
Actual: unknown
Invalid read of size 1
- at 0x........: strlen (h_intercepts.c:...)
- by 0x........: ...
+ at 0x........: ...
by 0x........: ...
by 0x........: VG_print_translation_stats (bad_percentify.c:98)
by 0x........: main (bad_percentify.c:107)
Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 3 back from here
+ Expected: stack array "buf" in frame 2 back from here
Actual: unknown
=================================================
./valgrind-old/helgrind/tests/pth_barrier3.stderr.diff
=================================================
--- pth_barrier3.stderr.exp 2010-10-21 02:00:40.000000000 -0700
+++ pth_barrier3.stderr.out 2010-10-21 02:11:50.000000000 -0700
@@ -23,3 +23,573 @@
by 0x........: barriers_and_races (pth_barrier.c:72)
by 0x........: main (pth_barrier.c:107)
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:84)
+ by 0x........: main (pth_barrier.c:107)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Address 0x........ is 0 bytes inside a block of size 4 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:72)
+ by 0x........: main (pth_barrier.c:107)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:84)
+ by 0x........: main (pth_barrier.c:107)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Address 0x........ is 0 bytes inside a block of size 4 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:72)
+ by 0x........: main (pth_barrier.c:107)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:84)
+ by 0x........: main (pth_barrier.c:107)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Address 0x........ is 0 bytes inside a block of size 4 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:72)
+ by 0x........: main (pth_barrier.c:107)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:84)
+ by 0x........: main (pth_barrier.c:107)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Address 0x........ is 0 bytes inside a block of size 4 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:72)
+ by 0x........: main (pth_barrier.c:107)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:84)
+ by 0x........: main (pth_barrier.c:107)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Address 0x........ is 0 bytes inside a block of size 4 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:72)
+ by 0x........: main (pth_barrier.c:107)
<truncated beyond 100 lines>
=================================================
./valgrind-old/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2010-10-21 02:00:40.000000000 -0700
+++ tc06_two_races_xml.stderr.out 2010-10-21 02:12:10.000000000 -0700
@@ -40,16 +40,17 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>clone</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>do_clone</fn>
+ <dir>...</dir>
+ <file>clone.S</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
<fn>pthread_create@@GLIBC_2.2.5</fn>
+ <dir>...</dir>
+ <file>createthread.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
@@ -121,11 +122,12 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
- <obj>...</obj>
- <fn>clone</fn>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
@@ -175,11 +177,12 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
- <obj>...</obj>
- <fn>clone</fn>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
@@ -229,11 +232,12 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
- <obj>...</obj>
- <fn>clone</fn>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot2"</auxwhat>
@@ -283,11 +287,12 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
- <obj>...</obj>
- <fn>clone</fn>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot2"</auxwhat>
=================================================
./valgrind-old/memcheck/tests/linux/stack_switch.stderr.diff
=================================================
--- stack_switch.stderr.exp 2010-10-21 02:00:57.000000000 -0700
+++ stack_switch.stderr.out 2010-10-21 02:07:27.000000000 -0700
@@ -0,0 +1,3 @@
+Syscall param clone(child_tidptr) contains uninitialised byte(s)
+ ...
+
|
|
From: Bart V. A. <bva...@ac...> - 2010-10-21 08:05:31
|
Nightly build on cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) Started at 2010-10-21 02:31:30 EDT Ended at 2010-10-21 04:05:16 EDT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 449 tests, 13 stderr failures, 11 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) memcheck/tests/linux-syscalls-2007 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) callgrind/tests/simwork-both (stdout) callgrind/tests/simwork-both (stderr) callgrind/tests/simwork-branch (stdout) callgrind/tests/simwork-branch (stderr) none/tests/empty-exe (stderr) none/tests/linux/mremap (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc32/testVMX (stdout) none/tests/ppc32/testVMX (stderr) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) none/tests/shell_zerolength (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc23_bogus_condwait (stderr) |
|
From: Rich C. <rc...@wi...> - 2010-10-21 05:38:44
|
Nightly build on ppc32 ( Linux 2.6.27.45-0.1-default ppc )
Started at 2010-10-20 23:26:01 CDT
Ended at 2010-10-21 00:38:28 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
== 439 tests, 18 stderr failures, 6 stdout failures, 2 post failures ==
memcheck/tests/badjump (stderr)
memcheck/tests/badjump2 (stderr)
memcheck/tests/linux/capget (stderr)
memcheck/tests/linux/stack_changes (stderr)
memcheck/tests/linux-syscalls-2007 (stderr)
memcheck/tests/origin5-bz2 (stderr)
memcheck/tests/supp_unknown (stderr)
memcheck/tests/varinfo6 (stderr)
massif/tests/deep-D (post)
massif/tests/overloaded-new (post)
none/tests/linux/mremap (stderr)
none/tests/ppc32/jm-fp (stdout)
none/tests/ppc32/jm-fp (stderr)
none/tests/ppc32/power5+_round (stdout)
none/tests/ppc32/power5+_round (stderr)
none/tests/ppc32/round (stdout)
none/tests/ppc32/round (stderr)
none/tests/ppc32/test_fx (stdout)
none/tests/ppc32/test_fx (stderr)
none/tests/ppc32/test_gx (stdout)
none/tests/ppc32/testVMX (stdout)
none/tests/ppc32/testVMX (stderr)
helgrind/tests/hg05_race2 (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
helgrind/tests/tc23_bogus_condwait (stderr)
drd/tests/tc23_bogus_condwait (stderr)
=================================================
./valgrind-new/drd/tests/tc23_bogus_condwait.stderr.diff-darwin
=================================================
--- tc23_bogus_condwait.stderr.exp-darwin 2010-10-21 00:02:46.000000000 -0500
+++ tc23_bogus_condwait.stderr.out 2010-10-21 00:38:11.000000000 -0500
@@ -3,61 +3,11 @@
at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
by 0x........: main (tc23_bogus_condwait.c:69)
-Mutex not locked: mutex 0x........, recursion count 0, owner 0.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:72)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:51)
-
-Thread 3:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: rescue_me (tc23_bogus_condwait.c:20)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:56)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:51)
-
-Thread 1:
-The object at address 0x........ is not a mutex.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:75)
-rwlock 0x........ was first observed at:
- at 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:57)
-
-Mutex not locked by calling thread: mutex 0x........, recursion count 1, owner 2.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:78)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:53)
-
-Thread 3:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: rescue_me (tc23_bogus_condwait.c:24)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:56)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:53)
-
-The impossible happened: mutex 0x........ is locked simultaneously by two threads (recursion count 1, owners 2 and 1) !
-Thread 2:
-Mutex not locked by calling thread: mutex 0x........, recursion count 2, owner 1.
- at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?)
- by 0x........: grab_the_lock (tc23_bogus_condwait.c:42)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:53)
+Process terminating with default action of signal 7 (SIGBUS)
+ Invalid address alignment at address 0x........
+ at 0x........: __pthread_mutex_unlock_usercnt (pthread_mutex_unlock.c:?)
+ by 0x........: pthread_cond_wait@@GLIBC_2.3.2 (pthread_cond_wait.c:?)
+ by 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
-ERROR SUMMARY: 9 errors from 7 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 2 errors from 1 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/tc23_bogus_condwait.stderr.diff-linux-ppc
=================================================
--- tc23_bogus_condwait.stderr.exp-linux-ppc 2010-10-21 00:02:46.000000000 -0500
+++ tc23_bogus_condwait.stderr.out 2010-10-21 00:38:11.000000000 -0500
@@ -6,8 +6,8 @@
Process terminating with default action of signal 7 (SIGBUS)
Invalid address alignment at address 0x........
- at 0x........: (within libpthread-?.?.so)
- by 0x........: pthread_cond_wait@@GLIBC_2.3.2(within libpthread-?.?.so)
+ at 0x........: __pthread_mutex_unlock_usercnt (pthread_mutex_unlock.c:?)
+ by 0x........: pthread_cond_wait@@GLIBC_2.3.2 (pthread_cond_wait.c:?)
by 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
ERROR SUMMARY: 2 errors from 1 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/tc23_bogus_condwait.stderr.diff-linux-x86
=================================================
--- tc23_bogus_condwait.stderr.exp-linux-x86 2010-10-21 00:02:46.000000000 -0500
+++ tc23_bogus_condwait.stderr.out 2010-10-21 00:38:11.000000000 -0500
@@ -3,84 +3,11 @@
at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
by 0x........: main (tc23_bogus_condwait.c:69)
-Thread 3:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: rescue_me (tc23_bogus_condwait.c:20)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:56)
-
-Thread 1:
-Mutex not locked: mutex 0x........, recursion count 0, owner 0.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:72)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:51)
-
-Thread 3:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: rescue_me (tc23_bogus_condwait.c:24)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:56)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:51)
-
-Thread 1:
-The object at address 0x........ is not a mutex.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:75)
-rwlock 0x........ was first observed at:
- at 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:57)
-
-Thread 3:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: rescue_me (tc23_bogus_condwait.c:28)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:56)
-rwlock 0x........ was first observed at:
- at 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:57)
-
-Thread 1:
-Mutex not locked by calling thread: mutex 0x........, recursion count 1, owner 2.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:78)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:53)
-
-Thread 3:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: rescue_me (tc23_bogus_condwait.c:32)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:56)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:53)
-
-The impossible happened: mutex 0x........ is locked simultaneously by two threads (recursion count 1, owners 2 and 1) !
-Thread 2:
-Mutex not locked by calling thread: mutex 0x........, recursion count 2, owner 1.
- at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?)
- by 0x........: grab_the_lock (tc23_bogus_condwait.c:42)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:53)
+Process terminating with default action of signal 7 (SIGBUS)
+ Invalid address alignment at address 0x........
+ at 0x........: __pthread_mutex_unlock_usercnt (pthread_mutex_unlock.c:?)
+ by 0x........: pthread_cond_wait@@GLIBC_2.3.2 (pthread_cond_wait.c:?)
+ by 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
-ERROR SUMMARY: 11 errors from 9 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 2 errors from 1 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/hg05_race2.stderr.diff
=================================================
--- hg05_race2.stderr.exp 2010-10-21 00:02:18.000000000 -0500
+++ hg05_race2.stderr.out 2010-10-21 00:28:54.000000000 -0500
@@ -17,8 +17,6 @@
at 0x........: th (hg05_race2.c:17)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
- Location 0x........ is 0 bytes inside foo.poot[5].plop[11],
- declared at hg05_race2.c:24, in frame #x of thread x
Possible data race during write of size 4 at 0x........ by thread #x
at 0x........: th (hg05_race2.c:17)
@@ -28,8 +26,6 @@
at 0x........: th (hg05_race2.c:17)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
- Location 0x........ is 0 bytes inside foo.poot[5].plop[11],
- declared at hg05_race2.c:24, in frame #x of thread x
ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2010-10-21 00:02:19.000000000 -0500
+++ tc06_two_races_xml.stderr.out 2010-10-21 00:29:35.000000000 -0500
@@ -45,11 +45,17 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>do_clone</fn>
+ <dir>...</dir>
+ <file>createthread.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>pthread_create@@GLIBC_2.2.5</fn>
+ <fn>pthread_create@@GLIBC_2.1</fn>
+ <dir>...</dir>
+ <file>createthread.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
@@ -121,6 +127,9 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
@@ -175,6 +184,9 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
@@ -229,6 +241,9 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
@@ -283,6 +298,9 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
=================================================
./valgrind-new/helgrind/tests/tc23_bogus_condwait.stderr.diff
=================================================
--- tc23_bogus_condwait.stderr.exp 2010-10-21 00:02:18.000000000 -0500
+++ tc23_bogus_condwait.stderr.out 2010-10-21 00:30:56.000000000 -0500
@@ -2,39 +2,24 @@
Thread #x is the program's root thread
Thread #x: pthread_cond_{timed}wait called with invalid mutex
- at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
- by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:69)
-Thread #x: pthread_cond_{timed}wait called with un-held mutex
- at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
- by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:72)
-
-Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
- by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:72)
-
-Thread #x: pthread_cond_{timed}wait called with mutex of type pthread_rwlock_t*
- at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
- by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:75)
-
-Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
- by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:75)
-Thread #x: pthread_cond_{timed}wait called with mutex held by a different thread
- at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+Process terminating with default action of signal 7 (SIGBUS)
+ Invalid address alignment at address 0x........
+ at 0x........: __pthread_mutex_unlock_usercnt (pthread_mutex_unlock.c:64)
+ by 0x........: pthread_cond_wait@@GLIBC_2.3.2 (pthread_cond_wait.c:108)
by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:78)
+ by 0x........: main (tc23_bogus_condwait.c:69)
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc23_bogus_condwait.c:61)
-Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
- by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:78)
+Thread #x: Exiting thread still holds 1 lock
+ ...
+ ...
-ERROR SUMMARY: 7 errors from 7 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/massif/tests/deep-D.post.diff
=================================================
--- deep-D.post.exp 2010-10-21 00:02:30.000000000 -0500
+++ deep-D.post.out 2010-10-21 00:25:24.000000000 -0500
@@ -46,8 +46,9 @@
8 3,264 3,264 3,200 64 0
9 3,672 3,672 3,600 72 0
98.04% (3,600B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-->98.04% (3,600B) 0x........: (below main)
-
+->98.04% (3,600B) 0x........: ??? (in /...libc...)
+ ->98.04% (3,600B) 0x........: (below main)
+
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
=================================================
./valgrind-new/massif/tests/overloaded-new.post.diff
=================================================
--- overloaded-new.post.exp 2010-10-21 00:02:30.000000000 -0500
+++ overloaded-new.post.out 2010-10-21 00:25:35.000000000 -0500
@@ -42,14 +42,18 @@
4 12,032 12,032 12,000 32 0
5 12,032 12,032 12,000 32 0
99.73% (12,000B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-->33.24% (4,000B) 0x........: main (overloaded-new.cpp:49)
-|
-->33.24% (4,000B) 0x........: main (overloaded-new.cpp:50)
-|
-->16.62% (2,000B) 0x........: main (overloaded-new.cpp:51)
-|
-->16.62% (2,000B) 0x........: main (overloaded-new.cpp:52)
-
+->33.24% (4,000B) 0x........: operator new(unsigned int) (overloaded-new.cpp:19)
+| ->33.24% (4,000B) 0x........: main (overloaded-new.cpp:49)
+|
+->33.24% (4,000B) 0x........: operator new(unsigned int, std::nothrow_t const&) (overloaded-new.cpp:24)
+| ->33.24% (4,000B) 0x........: main (overloaded-new.cpp:50)
+|
+->16.62% (2,000B) 0x........: operator new[](unsigned int) (overloaded-new.cpp:29)
+| ->16.62% (2,000B) 0x........: main (overloaded-new.cpp:51)
+|
+->16.62% (2,000B) 0x........: operator new[](unsigned int, std::nothrow_t const&) (overloaded-new.cpp:34)
+ ->16.62% (2,000B) 0x........: main (overloaded-new.cpp:52)
+
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
=================================================
./valgrind-new/memcheck/tests/badjump.stderr.diff
=================================================
--- badjump.stderr.exp 2010-10-21 00:02:29.000000000 -0500
+++ badjump.stderr.out 2010-10-21 00:18:31.000000000 -0500
@@ -1,6 +1,7 @@
Jump to the invalid address stated on the next line
at 0x........: ???
+ by 0x........: ??? (in /...libc...)
by 0x........: (below main)
Address 0x........ is not stack'd, malloc'd or (recently) free'd
@@ -8,6 +9,7 @@
Process terminating with default action of signal 11 (SIGSEGV)
Access not within mapped region at address 0x........
at 0x........: ???
+ by 0x........: ??? (in /...libc...)
by 0x........: (below main)
If you believe this happened as a result of a stack
overflow in your program's main thread (unlikely but
=================================================
./valgrind-new/memcheck/tests/badjump2.stderr.diff
=================================================
--- badjump2.stderr.exp 2010-10-21 00:02:28.000000000 -0500
+++ badjump2.stderr.out 2010-10-21 00:18:32.000000000 -0500
@@ -1,5 +1,6 @@
Jump to the invalid address stated on the next line
at 0x........: ???
+ by 0x........: ??? (in /...libc...)
by 0x........: (below main)
Address 0x........ is not stack'd, malloc'd or (recently) free'd
=================================================
./valgrind-new/memcheck/tests/linux-syscalls-2007.stderr.diff
=================================================
--- linux-syscalls-2007.stderr.exp 2010-10-21 00:02:28.000000000 -0500
+++ linux-syscalls-2007.stderr.out 2010-10-21 00:20:09.000000000 -0500
@@ -1,4 +1,9 @@
+WARNING: unhandled syscall: 281
+You may be able to write your own handler.
+Read the file README_MISSING_SYSCALL_OR_IOCTL.
+Nevertheless we consider this a bug. Please report
+it at http://valgrind.org/support/bug_reports.html.
HEAP SUMMARY:
in use at exit: ... bytes in ... blocks
=================================================
./valgrind-new/memcheck/tests/linux/capget.stderr.diff
=================================================
--- capget.stderr.exp 2010-10-21 00:02:27.000000000 -0500
+++ capget.stderr.out 2010-10-21 00:19:34.000000000 -0500
@@ -1,7 +1,7 @@
capget result:
-effective 0
-permitted 0
+effective 0x........
+permitted 0x........
inheritable 0
HEAP SUMMARY:
=================================================
./valgrind-new/memcheck/tests/linux/stack_changes.stderr.diff
=================================================
--- stack_changes.stderr.exp 2010-10-21 00:02:27.000000000 -0500
+++ stack_changes.stderr.out 2010-10-21 00:19:55.000000000 -0500
@@ -0,0 +1,5 @@
+WARNING: unhandled syscall: 249
+You may be able to write your own handler.
+Read the file README_MISSING_SYSCALL_OR_IOCTL.
+Nevertheless we consider this a bug. Please report
+it at http://valgrind.org/support/bug_reports.html.
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2010-10-21 00:02:28.000000000 -0500
+++ origin5-bz2.stderr.out 2010-10-21 00:21:16.000000000 -0500
@@ -11,7 +11,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -19,7 +19,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -27,7 +27,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2820)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -38,7 +38,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2823)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -49,7 +49,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2854)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -60,7 +60,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2858)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -71,7 +71,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -82,7 +82,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2964)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -93,7 +93,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2269)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -104,7 +104,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2275)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2010-10-21 00:02:29.000000000 -0500
+++ origin5-bz2.stderr.out 2010-10-21 00:21:16.000000000 -0500
@@ -28,7 +28,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2820)
+ at 0x........: mainSort (origin5-bz2.c:2820)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -38,7 +39,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2823)
+ at 0x........: mainSort (origin5-bz2.c:2823)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -48,7 +50,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2855)
+ at 0x........: mainSort (origin5-bz2.c:2854)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -58,7 +61,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2859)
+ at 0x........: mainSort (origin5-bz2.c:2858)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -68,7 +72,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2963)
+ at 0x........: mainSort (origin5-bz2.c:2963)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -78,7 +83,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2964)
+ at 0x........: mainSort (origin5-bz2.c:2964)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2010-10-21 00:02:28.000000000 -0500
+++ origin5-bz2.stderr.out 2010-10-21 00:21:16.000000000 -0500
@@ -1,7 +1,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6481)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Conditional jump or move depends on uninitialised value(s)
at 0x........: handle_compress (origin5-bz2.c:4686)
@@ -9,25 +9,25 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2820)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -36,9 +36,9 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2823)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -47,9 +47,9 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2854)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -58,9 +58,9 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2858)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -69,9 +69,9 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -80,9 +80,9 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/supp_unknown.stderr.diff
=================================================
--- supp_unknown.stderr.exp 2010-10-21 00:02:28.000000000 -0500
+++ supp_unknown.stderr.out 2010-10-21 00:23:06.000000000 -0500
@@ -1,7 +1,14 @@
+Jump to the invalid address stated on the next line
+ at 0x........: ???
+ by 0x........: ??? (in /...libc...)
+ by 0x........: (below main)
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
+
Process terminating with default action of signal 11 (SIGSEGV)
Access not within mapped region at address 0x........
at 0x........: ???
+ by 0x........: ??? (in /...libc...)
by 0x........: (below main)
If you believe this happened as a result of a stack
overflow in your program's main thread (unlikely but
=================================================
./valgrind-new/memcheck/tests/varinfo6.stderr.diff
=================================================
--- varinfo6.stderr.exp 2010-10-21 00:02:28.000000000 -0500
+++ varinfo6.stderr.out 2010-10-21 00:23:44.000000000 -0500
@@ -7,8 +7,7 @@
by 0x........: BZ2_bzCompress (varinfo6.c:4860)
by 0x........: BZ2_bzBuffToBuffCompress (varinfo6.c:5667)
by 0x........: main (varinfo6.c:6517)
- Location 0x........ is 2 bytes inside local var "budget"
- declared at varinfo6.c:3115, in frame #2 of thread 1
+ Address 0x........ is on thread 1's stack
Uninitialised byte(s) found during client check request
at 0x........: croak (varinfo6.c:34)
=================================================
./valgrind-new/memcheck/tests/varinfo6.stderr.diff-ppc64
=================================================
--- varinfo6.stderr.exp-ppc64 2010-10-21 00:02:28.000000000 -0500
+++ varinfo6.stderr.out 2010-10-21 00:23:44.000000000 -0500
@@ -1,5 +1,5 @@
Uninitialised byte(s) found during client check request
- at 0x........: croak (varinfo6.c:35)
+ at 0x........: croak (varinfo6.c:34)
by 0x........: mainSort (varinfo6.c:2999)
by 0x........: BZ2_blockSort (varinfo6.c:3143)
by 0x........: BZ2_compressBlock (varinfo6.c:4072)
@@ -10,7 +10,7 @@
Address 0x........ is on thread 1's stack
Uninitialised byte(s) found during client check request
- at 0x........: croak (varinfo6.c:35)
+ at 0x........: croak (varinfo6.c:34)
by 0x........: BZ2_decompress (varinfo6.c:1699)
by 0x........: BZ2_bzDecompress (varinfo6.c:5230)
by 0x........: BZ2_bzBuffToBuffDecompress (varinfo6.c:5715)
=================================================
./valgrind-new/none/tests/linux/mremap.stderr.diff
=================================================
--- mremap.stderr.exp 2010-10-21 00:02:39.000000000 -0500
+++ mremap.stderr.out 2010-10-21 00:26:33.000000000 -0500
@@ -1,3 +1,12 @@
-mremap(grow, nomove, constrained): Cannot allocate memory
+mremap(shrink, fixed): Invalid argument
+shrink, nomove: p=0x........ np=0x........: shrink moved?!
+mremap(shrink, maymove): Invalid argument
+shrink, maymove: p=0x........ np=0x........: shrink moved?!
+mremap(grow, fixed): Invalid argument
+grow, nomove: p=0x........ np=0x........: shrink moved?!
+mremap(grow, maymove): Invalid argument
+grow, maymove: p=0x........ np=0x........: shrink moved?!
+mremap(grow, nomove, constrained): Invalid argument
+mremap(grow, maymove, constrained): Invalid argument
=================================================
./valgrind-new/none/tests/linux/mremap.stderr.diff-glibc27
=================================================
--- mremap.stderr.exp-glibc27 2010-10-21 00:02:39.000000000 -0500
+++ mremap.stderr.out 2010-10-21 00:26:33.000000000 -0500
@@ -1,6 +1,12 @@
-mremap(grow, fixed): Cannot allocate memory
+mremap(shrink, fixed): Invalid argument
+shrink, nomove: p=0x........ np=0x........: shrink moved?!
+mremap(shrink, maymove): Invalid argument
+shrink, maymove: p=0x........ np=0x........: shrink moved?!
+mremap(grow, fixed): Invalid argument
grow, nomove: p=0x........ np=0x........: shrink moved?!
+mremap(grow, maymove): Invalid argument
grow, maymove: p=0x........ np=0x........: shrink moved?!
-mremap(grow, nomove, constrained): Cannot allocate memory
+mremap(grow, nomove, constrained): Invalid argument
+mremap(grow, maymove, constrained): Invalid argument
=================================================
./valgrind-new/none/tests/ppc32/jm-fp.stderr.diff
=================================================
--- jm-fp.stderr.exp 2010-10-21 00:02:38.000000000 -0500
+++ jm-fp.stderr.out 2010-10-21 00:27:06.000000000 -0500
@@ -1,2 +1,23 @@
+disInstr(ppc): declined to decode a GeneralPurpose-Optional insn.
+disInstr(ppc): unhandled instruction: 0x........
+ primary 63(0x........), secondary 44(0x........)
+valgrind: Unrecognised instruction at address 0x.........
+Your program just tried to execute an instruction that Valgrind
+did not recognise. There are two possible reasons for this.
+1. Your program has a bug and erroneously jumped to a non-code
+ location. If you are running Memcheck and you just saw a
+ warning about a bad jump, it's probably your program's fault.
+2. The instruction is legitimate but Valgrind doesn't handle it,
+ i.e. it's Valgrind's fault. If you think this is the case or
+ you are not sure, please let us know and we'll try to fix it.
+Either way, Valgrind will now raise a SIGILL signal which will
+probably kill your program.
+
+Process terminating with default action of signal 4 (SIGILL)
+ Illegal opcode at address 0x........
+ at 0x........: test_fsqrt (jm-insns.c:1986)
+ by 0x........: test_float_one_arg (jm-insns.c:5738)
+ by 0x........: ??? (in /...libc...)
+ by 0x........: (below main)
=================================================
./valgrind-new/none/tests/ppc32/jm-fp.stdout.diff
=================================================
--- jm-fp.stdout.exp 2010-10-21 00:02:38.000000000 -0500
+++ jm-fp.stdout.out 2010-10-21 00:27:06.000000000 -0500
@@ -794,570 +794,4 @@
fnabs 0010000000000001 => 8010000000000001
fnabs 00100094e0000359 => 80100094e0000359
- fnabs 3fe0000000000001 => bfe0000000000001
- fnabs 3fe00094e0000359 => bfe00094e0000359
- fnabs 8010000000000001 => 8010000000000001
- fnabs 80100094e0000359 => 80100094e0000359
- fnabs bfe0000000000001 => bfe0000000000001
- fnabs bfe00094e0000359 => bfe00094e0000359
- fnabs 0000000000000000 => 8000000000000000
- fnabs 8000000000000000 => 8000000000000000
- fnabs 7ff0000000000000 => fff0000000000000
- fnabs fff0000000000000 => fff0000000000000
- fnabs 7ff7ffffffffffff => fff7ffffffffffff
- fnabs fff7ffffffffffff => fff7ffffffffffff
- fnabs 7ff8000000000000 => fff8000000000000
- fnabs fff8000000000000 => fff8000000000000
-
- fsqrt 0010000000000001 => 2000000000000000
- fsqrt 00100094e0000359 => 2000004a6f52dd4a
- fsqrt 3fe0000000000001 => 3fe6a09e667f3bcd
- fsqrt 3fe00094e0000359 => 3fe6a107aacb50df
- fsqrt 8010000000000001 => 7ff8000000000000
- fsqrt 80100094e0000359 => 7ff8000000000000
- fsqrt bfe0000000000001 => 7ff8000000000000
- fsqrt bfe00094e0000359 => 7ff8000000000000
- fsqrt 0000000000000000 => 0000000000000000
- fsqrt 8000000000000000 => 8000000000000000
- fsqrt 7ff0000000000000 => 7ff0000000000000
- fsqrt fff0000000000000 => 7ff8000000000000
- fsqrt 7ff7ffffffffffff => 7fffffffffffffff
- fsqrt fff7ffffffffffff => ffffffffffffffff
- fsqrt 7ff8000000000000 => 7ff8000000000000
- fsqrt fff8000000000000 => fff8000000000000
-
-PPC floating point arith insns
- with one arg with flags update:
- frsp. 0010000000000001 => 0000000000000000
- frsp. 00100094e0000359 => 0000000000000000
- frsp. 3fe0000000000001 => 3fe0000000000000
- frsp. 3fe00094e0000359 => 3fe00094e0000000
- frsp. 8010000000000001 => 8000000000000000
- frsp. 80100094e0000359 => 8000000000000000
- frsp. bfe0000000000001 => bfe0000000000000
- frsp. bfe00094e0000359 => bfe00094e0000000
- frsp. 0000000000000000 => 0000000000000000
- frsp. 8000000000000000 => 8000000000000000
- frsp. 7ff0000000000000 => 7ff0000000000000
- frsp. fff0000000000000 => fff0000000000000
- frsp. 7ff7ffffffffffff => 7fffffffe0000000
- frsp. fff7ffffffffffff => ffffffffe0000000
- frsp. 7ff8000000000000 => 7ff8000000000000
- frsp. fff8000000000000 => fff8000000000000
-
- fctiw. 0010000000000001 => 0000000000000000
- fctiw. 00100094e0000359 => 0000000000000000
- fctiw. 3fe0000000000001 => 0000000000000001
- fctiw. 3fe00094e0000359 => 0000000000000001
- fctiw. 8010000000000001 => 0000000000000000
- fctiw. 80100094e0000359 => 0000000000000000
- fctiw. bfe0000000000001 => 00000000ffffffff
- fctiw. bfe00094e0000359 => 00000000ffffffff
- fctiw. 0000000000000000 => 0000000000000000
- fctiw. 8000000000000000 => 0000000000000000
- fctiw. 7ff0000000000000 => 000000007fffffff
- fctiw. fff0000000000000 => 0000000080000000
- fctiw. 7ff7ffffffffffff => 0000000080000000
- fctiw. fff7ffffffffffff => 0000000080000000
- fctiw. 7ff8000000000000 => 0000000080000000
- fctiw. fff8000000000000 => 0000000080000000
-
- fctiwz. 0010000000000001 => 0000000000000000
- fctiwz. 00100094e0000359 => 0000000000000000
- fctiwz. 3fe0000000000001 => 0000000000000000
- fctiwz. 3fe00094e0000359 => 0000000000000000
- fctiwz. 8010000000000001 => 0000000000000000
- fctiwz. 80100094e0000359 => 0000000000000000
- fctiwz. bfe0000000000001 => 0000000000000000
- fctiwz. bfe00094e0000359 => 0000000000000000
- fctiwz. 0000000000000000 => 0000000000000000
- fctiwz. 8000000000000000 => 0000000000000000
- fctiwz. 7ff0000000000000 => 000000007fffffff
- fctiwz. fff0000000000000 => 0000000080000000
- fctiwz. 7ff7ffffffffffff => 0000000080000000
- fctiwz. fff7ffffffffffff => 0000000080000000
- fctiwz. 7ff8000000000000 => 0000000080000000
- fctiwz. fff8000000000000 => 0000000080000000
-
- fmr. 0010000000000001 => 0010000000000001
- fmr. 00100094e0000359 => 00100094e0000359
- fmr. 3fe0000000000001 => 3fe0000000000001
- fmr. 3fe00094e0000359 => 3fe00094e0000359
- fmr. 8010000000000001 => 8010000000000001
- fmr. 80100094e0000359 => 80100094e0000359
- fmr. bfe0000000000001 => bfe0000000000001
- fmr. bfe00094e0000359 => bfe00094e0000359
- fmr. 0000000000000000 => 0000000000000000
<truncated beyond 100 lines>
=================================================
./valgrind-new/none/tests/ppc32/power5+_round.stderr.diff
=================================================
--- power5+_round.stderr.exp 2010-10-21 00:02:38.000000000 -0500
+++ power5+_round.stderr.out 2010-10-21 00:27:13.000000000 -0500
@@ -1,2 +1,19 @@
+disInstr(ppc): unhandled instruction: 0x........
+ primary 63(0x........), secondary 784(0x........)
+valgrind: Unrecognised instruction at address 0x.........
+Your program just tried to execute an instruction that Valgrind
+did not recognise. There are two possible reasons for this.
+1. Your program has a bug and erroneously jumped to a non-code
+ location. If you are running Memcheck and you just saw a
+ warning about a bad jump, it's probably your program's fault.
+2. The instruction is legitimate but Valgrind doesn't handle it,
+ i.e. it's Valgrind's fault. If you think this is the case or
+ you are not sure, please let us know and we'll try to fix it.
+Either way, Valgrind will now raise a SIGILL signal which will
+probably kill your program.
+
+Process terminating with default action of signal 4 (SIGILL)
+ Illegal opcode at address 0x........
+ at 0x........: main (power5+_round.c:124)
=================================================
./valgrind-new/none/tests/ppc32/power5+_round.stdout.diff
=================================================
--- power5+_round.stdout.exp 2010-10-21 00:02:38.000000000 -0500
+++ power5+_round.stdout.out 2010-10-21 00:27:12.000000000 -0500
@@ -1,60 +0,0 @@
-frin inf inf 0 PASS
-frin 1.9 2 0 PASS
-frin 1.1 1 0 PASS
-frin 0 0 0 PASS
-frin -0 -0 0 PASS
-frin -1.1 -1 0 PASS
-frin -1.9 -2 0 PASS
-frin -inf -inf 0 PASS
-frin nan nan 0 PASS
-frin 0.9 1 0 PASS
-frin 0.1 0 0 PASS
-frin -0.1 -0 0 PASS
-frin -0.9 -1 0 PASS
-frin 1e-40 0 0 PASS
-frin -1e-40 -0 0 PASS
-friz inf inf 0 PASS
-friz 1.9 1 0 PASS
-friz 1.1 1 0 PASS
-friz 0 0 0 PASS
-friz -0 -0 0 PASS
-friz -1.1 -1 0 PASS
-friz -1.9 -1 0 PASS
-friz -inf -inf 0 PASS
-friz nan nan 0 PASS
-friz 0.9 0 0 PASS
-friz 0.1 0 0 PASS
-friz -0.1 -0 0 PASS
-friz -0.9 -0 0 PASS
-friz 1e-40 0 0 PASS
-friz -1e-40 -0 0 PASS
-frip inf inf 0 PASS
-frip 1.9 2 0 PASS
-frip 1.1 2 0 PASS
-frip 0 0 0 PASS
-frip -0 -0 0 PASS
-frip -1.1 -1 0 PASS
-frip -1.9 -1 0 PASS
-frip -inf -inf 0 PASS
-frip nan nan 0 PASS
-frip 0.9 1 0 PASS
-frip 0.1 1 0 PASS
-frip -0.1 -0 0 PASS
-frip -0.9 -0 0 PASS
-frip 1e-40 1 0 PASS
-frip -1e-40 -0 0 PASS
-frim inf inf 0 PASS
-frim 1.9 1 0 PASS
-frim 1.1 1 0 PASS
-frim 0 0 0 PASS
-frim -0 -0 0 PASS
-frim -1.1 -2 0 PASS
-frim -1.9 -2 0 PASS
-frim -inf -inf 0 PASS
-frim nan nan 0 PASS
-frim 0.9 0 0 PASS
-frim 0.1 0 0 PASS
-frim -0.1 -1 0 PASS
-frim -0.9 -1 0 PASS
-frim 1e-40 0 0 PASS
-frim -1e-40 -1 0 PASS
=================================================
./valgrind-new/none/tests/ppc32/round.stderr.diff
=================================================
--- round.stderr.exp 2010-10-21 00:02:38.000000000 -0500
+++ round.stderr.out 2010-10-21 00:27:15.000000000 -0500
@@ -1,2 +1,22 @@
+disInstr(ppc): declined to decode a GeneralPurpose-Optional insn.
+disInstr(ppc): unhandled instruction: 0x........
+ primary 63(0x........), secondary 44(0x........)
+valgrind: Unrecognised instruction at address 0x.........
+Your program just tried to execute an instruction that Valgrind
+did not recognise. There are two possible reasons for this.
+1. Your program has a bug and erroneously jumped to a non-code
+ location. If you are running Memcheck and you just saw a
+ warning about a bad jump, it's probably your program's fault.
+2. The instruction is legitimate but Valgrind doesn't handle it,
+ i.e. it's Valgrind's fault. If you think this is the case or
+ you are not sure, please let us know and we'll try to fix it.
+Either way, Valgrind will now raise a SIGILL signal which will
+probably kill your program.
+
+Process terminating with default action of signal 4 (SIGILL)
+ Illegal opcode at address 0x........
+ at 0x........: check_double_guarded_arithmetic_op (round.c:1116)
+ by 0x........: test_float_arithmetic_ops (round.c:1185)
+ by 0x........: main (round.c:1206)
=================================================
./valgrind-new/none/tests/ppc32/round.stdout.diff
=================================================
--- round.stdout.exp 2010-10-21 00:02:38.000000000 -0500
+++ round.stdout.out 2010-10-21 00:27:15.000000000 -0500
@@ -2259,77 +2259,4 @@
-inf:PASSED:fnmsub(-0x1.000000000000bp+0, 0x1.2p+0 , 0x1.0000000000001p-1) = 0x1.a00000000000dp+0
-inf:PASSED:fnmsub(-0x1.000000000000cp+0, 0x1.2p+0 , 0x1.0000000000001p-1) = 0x1.a00000000000ep+0
-inf:PASSED:fnmsub(-0x1.000000000000dp+0, 0x1.2p+0 , 0x1.0000000000001p-1) = 0x1.a00000000001p+0
--inf:PASSED:fnmsub(-0x1.000000000000ep+0, 0x1.2p+0 , 0x1.0000000000001p-1) = 0x1.a000000000011p+0
--inf:PASSED:fnmsub(-0x1.000000000000fp+0, 0x1.2p+0 , 0x1.0000000000001p-1) = 0x1.a000000000012p+0
--inf:PASSED:fnmsub(0x1p+0 , 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.ap+0
--inf:PASSED:fnmsub(0x1.0000000000001p+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a000000000001p+0
--inf:PASSED:fnmsub(0x1.0000000000002p+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a000000000002p+0
--inf:PASSED:fnmsub(0x1.0000000000003p+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a000000000003p+0
--inf:PASSED:fnmsub(0x1.0000000000004p+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a000000000005p+0
--inf:PASSED:fnmsub(0x1.0000000000005p+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a000000000006p+0
--inf:PASSED:fnmsub(0x1.0000000000006p+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a000000000007p+0
--inf:PASSED:fnmsub(0x1.0000000000007p+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a000000000008p+0
--inf:PASSED:fnmsub(0x1.0000000000008p+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a000000000009p+0
--inf:PASSED:fnmsub(0x1.0000000000009p+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a00000000000ap+0
--inf:PASSED:fnmsub(0x1.000000000000ap+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a00000000000bp+0
--inf:PASSED:fnmsub(0x1.000000000000bp+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a00000000000cp+0
--inf:PASSED:fnmsub(0x1.000000000000cp+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a00000000000ep+0
--inf:PASSED:fnmsub(0x1.000000000000dp+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a00000000000fp+0
--inf:PASSED:fnmsub(0x1.000000000000ep+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a00000000001p+0
--inf:PASSED:fnmsub(0x1.000000000000fp+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a000000000011p+0
-near:PASSED:fsqrt(0x1.a44p-1 ) = 0x1.cfdcaf353049ep-1
-near:PASSED:fsqrt(0x1.a822p+0 ) = 0x1.498302b49cd6dp+0
-near:PASSED:fsqrt(0x1.05a2p+0 ) = 0x1.02cd13b44f3bfp+0
-near:PASSED:fsqrt(0x1.9504p-1 ) = 0x1.c76073cec0937p-1
-near:PASSED:fsqrt(0x1.dca2p+0 ) = 0x1.5d4f8d4e4c2b2p+0
-near:PASSED:fsqrt(0x1.02c8p+0 ) = 0x1.016309cde7483p+0
-near:PASSED:fsqrt(0x1.b9p-1 ) = 0x1.db2cfe686fe7cp-1
-near:PASSED:fsqrt(0x1.1d02p+0 ) = 0x1.0e1d62e78ed9ep+0
-near:PASSED:fsqrt(0x1.c39p-1 ) = 0x1.e0d526020fb6cp-1
-near:PASSED:fsqrt(0x1.9p-1 ) = 0x1.c48c6001f0acp-1
-near:PASSED:fsqrt(0x1.4852p+0 ) = 0x1.21e9ed813e2e3p+0
-near:PASSED:fsqrt(0x1.e984p-1 ) = 0x1.f4a1b09bbf0b1p-1
-near:PASSED:fsqrt(0x1.9a1p-1 ) = 0x1.ca34879b907afp-1
-near:PASSED:fsqrt(0x1.76b2p+0 ) = 0x1.35b6781aed828p+0
-zero:PASSED:fsqrt(0x1.a44p-1 ) = 0x1.cfdcaf353049ep-1
-zero:PASSED:fsqrt(0x1.a822p+0 ) = 0x1.498302b49cd6dp+0
-zero:PASSED:fsqrt(0x1.05a2p+0 ) = 0x1.02cd13b44f3bfp+0
-zero:PASSED:fsqrt(0x1.9504p-1 ) = 0x1.c76073cec0937p-1
-zero:PASSED:fsqrt(0x1.dca2p+0 ) = 0x1.5d4f8d4e4c2b2p+0
-zero:PASSED:fsqrt(0x1.02c8p+0 ) = 0x1.016309cde7483p+0
-zero:PASSED:fsqrt(0x1.b9p-1 ) = 0x1.db2cfe686fe7cp-1
-zero:PASSED:fsqrt(0x1.1d02p+0 ) = 0x1.0e1d62e78ed9dp+0
-zero:PASSED:fsqrt(0x1.c39p-1 ) = 0x1.e0d526020fb6bp-1
-zero:PASSED:fsqrt(0x1.9p-1 ) = 0x1.c48c6001f0abfp-1
-zero:PASSED:fsqrt(0x1.4852p+0 ) = 0x1.21e9ed813e2e2p+0
-zero:PASSED:fsqrt(0x1.e984p-1 ) = 0x1.f4a1b09bbf0bp-1
-zero:PASSED:fsqrt(0x1.9a1p-1 ) = 0x1.ca34879b907aep-1
-zero:PASSED:fsqrt(0x1.76b2p+0 ) = 0x1.35b6781aed827p+0
-+inf:PASSED:fsqrt(0x1.a44p-1 ) = 0x1.cfdcaf353049fp-1
-+inf:PASSED:fsqrt(0x1.a822p+0 ) = 0x1.498302b49cd6ep+0
-+inf:PASSED:fsqrt(0x1.05a2p+0 ) = 0x1.02cd13b44f3cp+0
-+inf:PASSED:fsqrt(0x1.9504p-1 ) = 0x1.c76073cec0938p-1
-+inf:PASSED:fsqrt(0x1.dca2p+0 ) = 0x1.5d4f8d4e4c2b3p+0
-+inf:PASSED:fsqrt(0x1.02c8p+0 ) = 0x1.016309cde7484p+0
-+inf:PASSED:fsqrt(0x1.b9p-1 ) = 0x1.db2cfe686fe7dp-1
-+inf:PASSED:fsqrt(0x1.1d02p+0 ) = 0x1.0e1d62e78ed9ep+0
-+inf:PASSED:fsqrt(0x1.c39p-1 ) = 0x1.e0d526020fb6cp-1
-+inf:PASSED:fsqrt(0x1.9p-1 ) = 0x1.c48c6001f0acp-1
-+inf:PASSED:fsqrt(0x1.4852p+0 ) = 0x1.21e9ed813e2e3p+0
-+inf:PASSED:fsqrt(0x1.e984p-1 ) = 0x1.f4a1b09bbf0b1p-1
-+inf:PASSED:fsqrt(0x1.9a1p-1 ) = 0x1.ca34879b907afp-1
-+inf:PASSED:fsqrt(0x1.76b2p+0 ) = 0x1.35b6781aed828p+0
--inf:PASSED:fsqrt(0x1.a44p-1 ) = 0x1.cfdcaf353049ep-1
--inf:PASSED:fsqrt(0x1.a822p+0 ) = 0x1.498302b49cd6dp+0
--inf:PASSED:fsqrt(0x1.05a2p+0 ) = 0x1.02cd13b44f3bfp+0
--inf:PASSED:fsqrt(0x1.9504p-1 ) = 0x1.c76073cec0937p-1
--inf:PASSED:fsqrt(0x1.dca2p+0 ) = 0x1.5d4f8d4e4c2b2p+0
--inf:PASSED:fsqrt(0x1.02c8p+0 ) = 0x1.016309cde7483p+0
--inf:PASSED:fsqrt(0x1.b9p-1 ) = 0x1.db2cfe686fe7cp-1
--inf:PASSED:fsqrt(0x1.1d02p+0 ) = 0x1.0e1d62e78ed9dp+0
--inf:PASSED:fsqrt(0x1.c39p-1 ) = 0x1.e0d526020fb6bp-1
--inf:PASSED:fsqrt(0x1.9p-1 ) = 0x1.c48c6001f0abfp-1
--inf:PASSED:fsqrt(0x1.4852p+0 ) = 0x1.21e9ed813e2e2p+0
--inf:PASSED:fsqrt(0x1.e984p-1 ) = 0x1.f4a1b09bbf0bp-1
--inf:PASSED:fsqrt(0x1.9a1p-1 ) = 0x1.ca34879b907aep-1
--inf:PASSED:fsqrt(0x1.76b2p+0 ) = 0x1.35b6781aed827p+0
+-inf:PASSED:fnmsub(-0x1.000000000000ep+0, 0x1.2p+0 , 0x1.0000000000001p-1) = 0x1.a000000000
\ No newline at end of file
=================================================
./valgrind-new/none/tests/ppc32/testVMX.stderr.diff
=================================================
--- testVMX.stderr.exp 2010-10-21 00:02:38.000000000 -0500
+++ testVMX.stderr.out 2010-10-21 00:27:18.000000000 -0500
@@ -1,2 +1,43 @@
+iselVecExpr(ppc) (subarch = ppc32-int-flt-vmx-GX): can't reduce
+V128{0x........}
+vex: the `impossible' happened:
+ iselVecExpr_wrk(ppc)
+vex storage: T total 67437656 bytes allocated
+vex storage: P total 144 bytes allocated
+
+valgrind: the 'impossible' happened:
+ LibVEX called failure_exit().
+ at 0x........: report_and_quit (m_libcassert.c:193)
+ by 0x........: panic (m_libcassert.c:277)
+ by 0x........: vgPlain_core_panic_at (m_libcassert.c:282)
+ by 0x........: vgPlain_core_panic (m_libcassert.c:287)
+ by 0x........: failure_exit (m_translate.c:674)
+ by 0x........: vpanic (main_util.c:226)
+ by 0x........: iselVecExpr (host_ppc_isel.c:3720)
+ by 0x........: iselSB_PPC (host_ppc_isel.c:3830)
+ by 0x........: LibVEX_Translate (main_main.c:591)
+ by 0x........: vgPlain_translate (m_translate.c:1518)
+ by 0x........: vgPlain_scheduler (scheduler.c:867)
+ by 0x........: run_a_thread_NORETURN (syswrap-linux.c:94)
+
+sched status:
+ running_tid=1
+
+Thread 1: status = VgTs_Runnable
+ at 0x........: part5 (testVMX.c:6525)
+ by 0x........: main (testVMX.c:1661)
+
+
+Note: see also the FAQ in the source distribution.
+It contains workarounds to several common problems.
+In particular, if Valgrind aborted or crashed after
+identifying problems in your program, there's a good chance
+that fixing those problems will prevent Valgrind aborting or
+crashing, especially if it happened in m_mallocfree.c.
+
+If that doesn't help, please report this bug to: www.valgrind.org
+
+In the bug report, send all the above text, the valgrind
+version, and what OS and version you are using. Thanks.
=================================================
./valgrind-new/none/tests/ppc32/testVMX.stdout.diff
=================================================
--- testVMX.stdout.exp 2010-10-21 00:02:38.000000000 -0500
+++ testVMX.stdout.out 2010-10-21 00:27:18.000000000 -0500
@@ -317,191 +317,3 @@
Function vec_splat_u32 [type unsig. int] ===> OK
:::::::::::::::::::::::::::::::::::::::
-Function vec_sr [type char] ===> OK
-Function vec_sr [type unsigned char] ===> OK
-Function vec_sr [type short] ===> OK
-Function vec_sr [type unsigned short] ===> OK
-Function vec_sr [type integer] ===> OK
-Function vec_sr [type unsigned int] ===> OK
-
-:::::::::::::::::::::::::::::::::::::::
-Function vec_sra [type char] ===> OK
-Function vec_sra [type unsigned char] ===> OK
-Function vec_sra [type short] ===> OK
-Function vec_sra [type unsigned short] ===> OK
-Function vec_sra [type integer] ===> OK
-Function vec_sra [type unsigned int] ===> OK
-
-:::::::::::::::::::::::::::::::::::::::
-Function vec_srl [type char] ===> OK
-Function vec_srl [type unsigned char] ===> OK
-Function vec_srl [type short] ===> OK
-Function vec_srl [type unsigned short] ===> OK
-Function vec_srl [type integer] ===> OK
-Function vec_srl [type unsigned int] ===> OK
-
-:::::::::::::::::::::::::::::::::::::::
-Function vec_sro [type char] ===> OK
-Function vec_sro [type unsigned char] ===> OK
-Function vec_sro [type short] ===> OK
-Function vec_sro [type unsigned short] ===> OK
-Function vec_sro [type integer] ===> OK
-Function vec_sro [type unsigned int] ===> OK
-
-:::::::::::::::::::::::::::::::::::::::
-Function vec_st [type unsigned char] ===> OK
-Function vec_st [type char] ===> OK
-Function vec_st [type unsigned short] ===> OK
-Function vec_st [type short] ===> OK
-Function vec_st [type unsigned int] ===> OK
-Function vec_st [type int] ===> OK
-
-:::::::::::::::::::::::::::::::::::::::
-Function vec_ste [type unsigned char] ===> OK
-Function vec_ste [type char] ===> OK
-Function vec_ste [type unsigned short] ===> OK
-Function vec_ste [type short] ===> OK
-Function vec_ste [type unsigned int] ===> OK
-Function vec_ste [type int] ===> OK
-
-:::::::::::::::::::::::::::::::::::::::
-Function vec_sub [type char] ===> OK
-Function vec_sub [type unsigned char] ===> OK
-Function vec_sub [type short] ===> OK
-Function vec_sub [type unsigned short] ===> OK
-Function vec_sub [type integer] ===> OK
-Function vec_sub [type unsigned int] ===> OK
-
-:::::::::::::::::::::::::::::::::::::::
-Function vec_subc [type unsigned int] ===> OK
-
-:::::::::::::::::::::::::::::::::::::::
-Function vec_subs [type char] ===> OK
-Function vec_subs [type unsigned char] ===> OK
-Function vec_subs [type short] ===> OK
-Function vec_subs [type unsigned short] ===> OK
-Function vec_subs [type integer] ===> OK
-Function vec_subs [type unsigned int] ===> OK
-
-:::::::::::::::::::::::::::::::::::::::
-Function vec_sum4s [type char] ===> OK
-Function vec_sum4s [type unsigned char] ===> OK
-Function vec_sum4s [type short] ===> OK
-
-:::::::::::::::::::::::::::::::::::::::
-Function vec_sum2s [type integer] ===> OK
-
-:::::::::::::::::::::::::::::::::::::::
-Function vec_sums [type integer] ===> OK
-
-:::::::::::::::::::::::::::::::::::::::
-Function vec_unpackh [type short-char] ===> OK
-Function vec_unpackh [type int-short] ===> OK
-
-:::::::::::::::::::::::::::::::::::::::
-Function vec_unpackl [type short-char] ===> OK
-Function vec_unpackl [type int-short] ===> OK
-
-:::::::::::::::::::::::::::::::::::::::
-Function vec_xor [type unsigned char] ===> OK
-Function vec_xor [type char] ===> OK
-Function vec_xor [type unsigned short] ===> OK
-Function vec_xor [type short] ===> OK
-Function vec_xor [type unsigned int] ===> OK
-Function vec_xor [type int] ===> OK
-
-:::::::::::::::::::::::::::::::::::::::
<truncated beyond ...
[truncated message content] |
|
From: Tom H. <th...@cy...> - 2010-10-21 02:54:54
|
Nightly build on vauxhall ( x86_64, Fedora 13 ) Started at 2010-10-21 03:20:05 BST Ended at 2010-10-21 03:54:36 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 543 tests, 3 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/linux/stack_switch (stderr) helgrind/tests/tc06_two_races_xml (stderr) exp-ptrcheck/tests/bad_percentify (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 543 tests, 4 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/linux/stack_switch (stderr) memcheck/tests/linux/timerfd-syscall (stderr) helgrind/tests/tc06_two_races_xml (stderr) exp-ptrcheck/tests/bad_percentify (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Oct 21 03:38:07 2010 --- new.short Thu Oct 21 03:54:36 2010 *************** *** 8,12 **** ! == 543 tests, 4 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/linux/stack_switch (stderr) - memcheck/tests/linux/timerfd-syscall (stderr) helgrind/tests/tc06_two_races_xml (stderr) --- 8,11 ---- ! == 543 tests, 3 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/linux/stack_switch (stderr) helgrind/tests/tc06_two_races_xml (stderr) |
|
From: Tom H. <th...@cy...> - 2010-10-21 02:43:37
|
Nightly build on mg ( x86_64, Fedora 9 ) Started at 2010-10-21 03:10:06 BST Ended at 2010-10-21 03:43:18 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 558 tests, 3 stderr failures, 4 stdout failures, 0 post failures == none/tests/amd64/bug132918 (stdout) none/tests/amd64/fxtract (stdout) none/tests/x86/fxtract (stdout) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc23_bogus_condwait (stderr) drd/tests/pth_detached2 (stdout) ================================================= == 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 == 558 tests, 3 stderr failures, 3 stdout failures, 0 post failures == none/tests/amd64/bug132918 (stdout) none/tests/amd64/fxtract (stdout) none/tests/x86/fxtract (stdout) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc23_bogus_condwait (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Oct 21 03:27:55 2010 --- new.short Thu Oct 21 03:43:18 2010 *************** *** 8,10 **** ! == 558 tests, 3 stderr failures, 3 stdout failures, 0 post failures == none/tests/amd64/bug132918 (stdout) --- 8,10 ---- ! == 558 tests, 3 stderr failures, 4 stdout failures, 0 post failures == none/tests/amd64/bug132918 (stdout) *************** *** 15,16 **** --- 15,17 ---- helgrind/tests/tc23_bogus_condwait (stderr) + drd/tests/pth_detached2 (stdout) |
|
From: Ed M. <em...@fr...> - 2010-10-21 02:34:26
|
On Mon, Sep 27, 2010 at 11:18:37AM +0200, Julian Seward wrote: > > Greetings. > > It's time to do a new release -- in fact, it's well overdue. We'll get started on updating the FreeBSD port to 3.6 soon, and reference the patch set from the Bugzilla entry for FreeBSD support once it's ready. http://bugs.kde.org/show_bug.cgi?id=208531 -Ed |
|
From: <sv...@va...> - 2010-10-21 01:19:16
|
Author: sewardj
Date: 2010-10-21 02:19:07 +0100 (Thu, 21 Oct 2010)
New Revision: 11471
Log:
--> 3.6.0 final.
Modified:
branches/VALGRIND_3_6_BRANCH/NEWS
branches/VALGRIND_3_6_BRANCH/configure.in
Modified: branches/VALGRIND_3_6_BRANCH/NEWS
===================================================================
--- branches/VALGRIND_3_6_BRANCH/NEWS 2010-10-20 21:40:29 UTC (rev 11470)
+++ branches/VALGRIND_3_6_BRANCH/NEWS 2010-10-21 01:19:07 UTC (rev 11471)
@@ -314,7 +314,7 @@
(and possibly Linux)
254556 ARM: valgrinding anything fails with SIGSEGV for 0xFFFF0FA0
-(3.6.0: 21 October 2010, vex rXXXX, valgrind rXXXXX).
+(3.6.0: 21 October 2010, vex r2068, valgrind r11471).
Modified: branches/VALGRIND_3_6_BRANCH/configure.in
===================================================================
--- branches/VALGRIND_3_6_BRANCH/configure.in 2010-10-20 21:40:29 UTC (rev 11470)
+++ branches/VALGRIND_3_6_BRANCH/configure.in 2010-10-21 01:19:07 UTC (rev 11471)
@@ -8,7 +8,7 @@
##------------------------------------------------------------##
# Process this file with autoconf to produce a configure script.
-AC_INIT(Valgrind, 3.6.0.SVN, val...@li...)
+AC_INIT(Valgrind, 3.6.0, val...@li...)
AC_CONFIG_SRCDIR(coregrind/m_main.c)
AM_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE([foreign])
|
|
From: <sv...@va...> - 2010-10-20 21:40:41
|
Author: sewardj
Date: 2010-10-20 22:40:29 +0100 (Wed, 20 Oct 2010)
New Revision: 11470
Log:
Merge from trunk, r11455 (dd test cases for SMSAD{X}, SMLSD{X}, USAD{A}8.)
Modified:
branches/VALGRIND_3_6_BRANCH/none/tests/arm/v6media.c
branches/VALGRIND_3_6_BRANCH/none/tests/arm/v6media.stdout.exp
Modified: branches/VALGRIND_3_6_BRANCH/none/tests/arm/v6media.c
===================================================================
--- branches/VALGRIND_3_6_BRANCH/none/tests/arm/v6media.c 2010-10-20 21:39:30 UTC (rev 11469)
+++ branches/VALGRIND_3_6_BRANCH/none/tests/arm/v6media.c 2010-10-20 21:40:29 UTC (rev 11470)
@@ -1,6 +1,8 @@
/* How to compile:
- gcc -marm -O -g -Wall -mcpu=cortex-a8 -o test_arm_v6int v6int.c
+ gcc -g -Wall -mcpu=cortex-a8 -o v6mediaA -marm none/tests/arm/v6media.c
+ or
+ gcc -g -Wall -mcpu=cortex-a8 -o v6mediaT -mthumb none/tests/arm/v6media.c
*/
#include <stdio.h>
@@ -1836,6 +1838,8 @@
printf("----------------- SMLAD ----------------- \n");
TESTINST4("smlad r0, r1, r2, r3",
+ 0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0);
+ TESTINST4("smlad r0, r1, r2, r3",
0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0);
TESTINST4("smlad r0, r1, r2, r3",
0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0);
@@ -1950,6 +1954,28 @@
TESTINST4("smlad r0, r1, r2, r3",
0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0);
+ printf("----------------- SMLADX ----------------- \n");
+ TESTINST4("smladx r0, r1, r2, r3",
+ 0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0);
+ TESTINST4("smladx r0, r1, r2, r3",
+ 0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0);
+ TESTINST4("smladx r0, r1, r2, r3",
+ 0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0);
+ TESTINST4("smladx r0, r1, r2, r3",
+ 0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0);
+ TESTINST4("smladx r0, r1, r2, r3",
+ 0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0);
+ TESTINST4("smladx r0, r1, r2, r3",
+ 0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0);
+ TESTINST4("smladx r0, r1, r2, r3",
+ 0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0);
+TESTINST4("smladx r0, r1, r2, r3",
+ 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0);
+TESTINST4("smladx r0, r1, r2, r3",
+ 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0);
+TESTINST4("smladx r0, r1, r2, r3",
+ 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0);
+
printf("------------ SMLABB, SMLATT, SMLATB, SMLABT ------------\n");
/* smlabb rD, rN, rM, rA */
TESTINST4("smlabb r0, r1, r2, r3",
@@ -3611,6 +3637,445 @@
TESTINST4("smlawt r0, r1, r2, r3",
0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0);
+
+ printf("----------------- SMLSD ----------------- \n");
+ TESTINST4("smlsd r0, r1, r2, r3",
+ 0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0);
+ TESTINST4("smlsd r0, r1, r2, r3",
+ 0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0);
+ TESTINST4("smlsd r0, r1, r2, r3",
+ 0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0);
+ TESTINST4("smlsd r0, r1, r2, r3",
+ 0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0);
+ TESTINST4("smlsd r0, r1, r2, r3",
+ 0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0);
+ TESTINST4("smlsd r0, r1, r2, r3",
+ 0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0);
+ TESTINST4("smlsd r0, r1, r2, r3",
+ 0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0);
+TESTINST4("smlsd r0, r1, r2, r3",
+ 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0);
+
+ printf("----------------- SMLSDX ----------------- \n");
+ TESTINST4("smlsdx r0, r1, r2, r3",
+ 0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0);
+ TESTINST4("smlsdx r0, r1, r2, r3",
+ 0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0);
+ TESTINST4("smlsdx r0, r1, r2, r3",
+ 0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0);
+ TESTINST4("smlsdx r0, r1, r2, r3",
+ 0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0);
+ TESTINST4("smlsdx r0, r1, r2, r3",
+ 0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0);
+ TESTINST4("smlsdx r0, r1, r2, r3",
+ 0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0);
+ TESTINST4("smlsdx r0, r1, r2, r3",
+ 0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0);
+TESTINST4("smlsdx r0, r1, r2, r3",
+ 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0);
+TESTINST4("smlsdx r0, r1, r2, r3",
+ 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0);
+TESTINST4("smlsdx r0, r1, r2, r3",
+ 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0);
+
+
+ printf("----------------- SMUSD ----------------- \n");
+ TESTINST3("smusd r0, r1, r2", 0x80008000, 0x80008000, r0, r1, r2, 0);
+ TESTINST3("smusd r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("smusd r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0);
+ TESTINST3("smusd r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
+ TESTINST3("smusd r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0);
+ TESTINST3("smusd r0, r1, r2", 0xffffffff, 0xfffc0001, r0, r1, r2, 0);
+ TESTINST3("smusd r0, r1, r2", 0xfff70fff, 0x00030003, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
+TESTINST3("smusd r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
+ printf("----------------- SMUSDX ---------------- \n");
+ TESTINST3("smusdx r0, r1, r2", 0x80008000, 0x80008000, r0, r1, r2, 0);
+ TESTINST3("smusdx r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("smusdx r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0);
+ TESTINST3("smusdx r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
+ TESTINST3("smusdx r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0);
+ TESTINST3("smusdx r0, r1, r2", 0xffffffff, 0xfffc0001, r0, r1, r2, 0);
+ TESTINST3("smusdx r0, r1, r2", 0xfff70fff, 0x00030003, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
+TESTINST3("smusdx r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
+
+ printf("----------------- USAD8 ---------------- \n");
+ TESTINST3("usad8 r0, r1, r2", 0x80008000, 0x80008000, r0, r1, r2, 0);
+ TESTINST3("usad8 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("usad8 r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0);
+ TESTINST3("usad8 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
+ TESTINST3("usad8 r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0);
+ TESTINST3("usad8 r0, r1, r2", 0xffffffff, 0xfffc0001, r0, r1, r2, 0);
+ TESTINST3("usad8 r0, r1, r2", 0xfff70fff, 0x00030003, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
+TESTINST3("usad8 r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
+
+ printf("----------------- USADA8 ----------------- \n");
+ TESTINST4("usada8 r0, r1, r2, r3",
+ 0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0);
+ TESTINST4("usada8 r0, r1, r2, r3",
+ 0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0);
+ TESTINST4("usada8 r0, r1, r2, r3",
+ 0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0);
+ TESTINST4("usada8 r0, r1, r2, r3",
+ 0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0);
+ TESTINST4("usada8 r0, r1, r2, r3",
+ 0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0);
+ TESTINST4("usada8 r0, r1, r2, r3",
+ 0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0);
+ TESTINST4("usada8 r0, r1, r2, r3",
+ 0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0);
+TESTINST4("usada8 r0, r1, r2, r3",
+ 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0);
+
+
+
+
/*
TESTINST3("theinsn", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
TESTINST3("theinsn", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
Modified: branches/VALGRIND_3_6_BRANCH/none/tests/arm/v6media.stdout.exp
===================================================================
--- branches/VALGRIND_3_6_BRANCH/none/tests/arm/v6media.stdout.exp 2010-10-20 21:39:30 UTC (rev 11469)
+++ branches/VALGRIND_3_6_BRANCH/none/tests/arm/v6media.stdout.exp 2010-10-20 21:40:29 UTC (rev 11470)
@@ -1551,6 +1551,7 @@
smuadx r0, r1, r2 :: rd 0x04e080e7 rm 0xf91d5f56, rn 0x088bc0f9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
smuadx r0, r1, r2 :: rd 0xfe0168fc rm 0xf808434e, rn 0xefeab836, carryin 0, cpsr 0x00000000 ge[3:0]=0000
----------------- SMLAD -----------------
+smlad r0, r1, r2, r3 :: rd 0x80000000 rm 0x80008000, rn 0x80008000 rs 0x00000000, carryin 0, cpsr 0x08000000 Q ge[3:0]=0000
smlad r0, r1, r2, r3 :: rd 0x00000000 rm 0x7fff7fff, rn 0x00000000 rs 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
smlad r0, r1, r2, r3 :: rd 0x0000ffff rm 0x7fff7fff, rn 0x00010001 rs 0x00000001, carryin 0, cpsr 0x00000000 ge[3:0]=0000
smlad r0, r1, r2, r3 :: rd 0x0001001f rm 0x80008000, rn 0xffffffff rs 0x0000001f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
@@ -1608,6 +1609,17 @@
smlad r0, r1, r2, r3 :: rd 0x00b7b139 rm 0x4e5e0760, rn 0x8f6d3264 rs 0x21ba2fb3, carryin 0, cpsr 0x00000000 ge[3:0]=0000
smlad r0, r1, r2, r3 :: rd 0xc79bbb47 rm 0xde99ac2f, rn 0x0be36f70 rs 0xeda5110c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
smlad r0, r1, r2, r3 :: rd 0x0f5e5bec rm 0xc57243b7, rn 0xcf1e4487 rs 0xf20fb90f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+----------------- SMLADX -----------------
+smladx r0, r1, r2, r3 :: rd 0x80000000 rm 0x80008000, rn 0x80008000 rs 0x00000000, carryin 0, cpsr 0x08000000 Q ge[3:0]=0000
+smladx r0, r1, r2, r3 :: rd 0x00000000 rm 0x7fff7fff, rn 0x00000000 rs 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smladx r0, r1, r2, r3 :: rd 0x0000ffff rm 0x7fff7fff, rn 0x00010001 rs 0x00000001, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smladx r0, r1, r2, r3 :: rd 0x0001001f rm 0x80008000, rn 0xffffffff rs 0x0000001f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smladx r0, r1, r2, r3 :: rd 0x00000278 rm 0x00640064, rn 0x00030003 rs 0x00000020, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smladx r0, r1, r2, r3 :: rd 0x00000102 rm 0xffffffff, rn 0xfffc0001 rs 0x000000ff, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smladx r0, r1, r2, r3 :: rd 0x000030e2 rm 0xfff70fff, rn 0x00030003 rs 0x00000100, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smladx r0, r1, r2, r3 :: rd 0x5639ee73 rm 0xb8035b5b, rn 0xce0ce1ed rs 0x5f986e68, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smladx r0, r1, r2, r3 :: rd 0xc5eafef5 rm 0x35232047, rn 0x146275d8 rs 0xaae3433f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smladx r0, r1, r2, r3 :: rd 0x39ba1d8c rm 0xe7aa57b4, rn 0x1584bd74 rs 0x2c07a5b4, carryin 0, cpsr 0x00000000 ge[3:0]=0000
------------ SMLABB, SMLATT, SMLATB, SMLABT ------------
smlabb r0, r1, r2, r3 :: rd 0x00000000 rm 0x00030000, rn 0x00040000 rs 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
smlabb r0, r1, r2, r3 :: rd 0x00008001 rm 0x00030001, rn 0x00040002 rs 0x00007fff, carryin 0, cpsr 0x00000000 ge[3:0]=0000
@@ -2856,3 +2868,306 @@
smlawt r0, r1, r2, r3 :: rd 0xff440c7a rm 0x4e5e0760, rn 0x8f6d3264 rs 0x21ba2fb3, carryin 0, cpsr 0x00000000 ge[3:0]=0000
smlawt r0, r1, r2, r3 :: rd 0xec180db5 rm 0xde99ac2f, rn 0x0be36f70 rs 0xeda5110c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
smlawt r0, r1, r2, r3 :: rd 0xfd3dfd7c rm 0xc57243b7, rn 0xcf1e4487 rs 0xf20fb90f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+----------------- SMLSD -----------------
+smlsd r0, r1, r2, r3 :: rd 0x00000000 rm 0x80008000, rn 0x80008000 rs 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x00000000 rm 0x7fff7fff, rn 0x00000000 rs 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x00000001 rm 0x7fff7fff, rn 0x00010001 rs 0x00000001, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x0000001f rm 0x80008000, rn 0xffffffff rs 0x0000001f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x00000020 rm 0x00640064, rn 0x00030003 rs 0x00000020, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x000000fa rm 0xffffffff, rn 0xfffc0001 rs 0x000000ff, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x00003118 rm 0xfff70fff, rn 0x00030003 rs 0x00000100, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x46d0f283 rm 0xb8035b5b, rn 0xce0ce1ed rs 0x5f986e68, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0xb583dec1 rm 0x35232047, rn 0x146275d8 rs 0xaae3433f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x1746e19c rm 0xe7aa57b4, rn 0x1584bd74 rs 0x2c07a5b4, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x7f1b45a7 rm 0x32fa0095, rn 0x36f26261 rs 0x89d2ef86, carryin 0, cpsr 0x08000000 Q ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0xd61f013c rm 0x8ed8287c, rn 0x02c90120 rs 0xd4b64d54, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x11c2a9f9 rm 0xc53aaba9, rn 0x29300837 rs 0x0b02c58a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0xa8dcd3bd rm 0x216158cb, rn 0x57a50a01 rs 0xb0d20777, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x69f4e270 rm 0x3e2e1bd7, rn 0x3cd6cd94 rs 0x7e376198, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0xddca6d45 rm 0xd5fe2dc4, rn 0xdd914bf7 rs 0xd5dc5407, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x255d66d5 rm 0xf87b961e, rn 0x1d66879f rs 0xf2b64835, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x9751e12e rm 0xd65db979, rn 0xc61b323b rs 0xae930a1a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x4883e0ce rm 0x5ef1f1a8, rn 0xbf73f0a5 rs 0x2fb714c9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x9b2f1a97 rm 0x1ffe53d9, rn 0x815bb75b rs 0xa3268abe, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x00aca055 rm 0xed2cbf78, rn 0xc6ffabb6 rs 0xef9e9fd9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x54ad18e6 rm 0xeaa652c7, rn 0x137741f4 rs 0x3dba1164, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0xc11e2ae7 rm 0x3ada0280, rn 0x71fbde8b rs 0xdba5bd25, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0xa68e4e94 rm 0xda4ba05b, rn 0x90f9833d rs 0x884c0ad8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0xcf06b4a9 rm 0xc00b821a, rn 0x7fa1d5a6 rs 0x9a4ff1b8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x70734c96 rm 0xe1bb8606, rn 0x58293969 rs 0x81616d13, carryin 0, cpsr 0x08000000 Q ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x7924b596 rm 0x51f31d95, rn 0xa3cfd624 rs 0x6077fb1f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x457e8494 rm 0x0849a0c2, rn 0x0872f25a rs 0x40b094e2, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x9f7ce5ab rm 0x17913309, rn 0xf1e03d7e rs 0x91edc21d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x7e9142d7 rm 0x5388b5cd, rn 0x86582032 rs 0x6034078d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0xc9c16b56 rm 0x181c436b, rn 0x5de41558 rs 0xccfa1c7e, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x343d44bb rm 0x23ba1b46, rn 0x4437983c rs 0x48d06549, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x829f63d9 rm 0xa9085781, rn 0xc6b4ac58 rs 0xb2aead21, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x7e0be811 rm 0xc2bdf597, rn 0xdde1e6a4 rs 0x852e3a72, carryin 0, cpsr 0x08000000 Q ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0xe8f8702a rm 0x157b0dea, rn 0xf0d5ff94 rs 0xe7b87e39, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x276c3d40 rm 0x3edad6b6, rn 0x82aceb7a rs 0x0557c6fc, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x687bc74a rm 0x6cc9bfa8, rn 0x7f808c15 rs 0x81874a02, carryin 0, cpsr 0x08000000 Q ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x2ae3c38f rm 0x6b1422c7, rn 0x33921b00 rs 0x3ccad3f7, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x9844bab5 rm 0xd7ce1909, rn 0x3e435701 rs 0x85fbf196, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0xd5393721 rm 0xb4e16b6e, rn 0x6e13680a rs 0x89436f88, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x74f6b265 rm 0x44858efc, rn 0x9002bc30 rs 0x390d2c2f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x63f13945 rm 0xbea121ab, rn 0x953ff6ec rs 0x80657c40, carryin 0, cpsr 0x08000000 Q ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0xeb097592 rm 0x6ffed89f, rn 0x3e8c49b7 rs 0x11bd07d1, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0xcc3b7535 rm 0x7795635d, rn 0x5e6e32dd rs 0xe4999bf2, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x266bc158 rm 0xec0c2f30, rn 0x5736ed46 rs 0x231348c0, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x84bbcf7f rm 0x4f9ddd1b, rn 0x95bca5d8 rs 0x5765b203, carryin 0, cpsr 0x08000000 Q ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x59a38672 rm 0xc1553709, rn 0x0112b30a rs 0x69ec0212, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x86f70dbf rm 0x74bd0223, rn 0x03fa9bb5 rs 0x899d9192, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x765b06dc rm 0xf52e9fbf, rn 0xb4c510a7 rs 0x7fcbe5a9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0xed67a008 rm 0x64a365ef, rn 0x2dd01366 rs 0xf7b0b13e, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x37540ed9 rm 0x5e4b1cbf, rn 0x44de5ca9 rs 0x464a21cc, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x1f9219fb rm 0x299da970, rn 0xe8108f1b rs 0xf5818cfb, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x82e3c60f rm 0xcd90d604, rn 0xaa5e9444 rs 0x8217b7df, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x94d58fbc rm 0xe60743c3, rn 0x7acb4de3 rs 0x73c29060, carryin 0, cpsr 0x08000000 Q ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x72cfe4b1 rm 0x868e7c7d, rn 0x5f77532e rs 0x1d133d3d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0x45a3f12d rm 0x4e5e0760, rn 0x8f6d3264 rs 0x21ba2fb3, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0xcab5d1f1 rm 0xde99ac2f, rn 0x0be36f70 rs 0xeda5110c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsd r0, r1, r2, r3 :: rd 0xf901b934 rm 0xc57243b7, rn 0xcf1e4487 rs 0xf20fb90f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+----------------- SMLSDX -----------------
+smlsdx r0, r1, r2, r3 :: rd 0x00000000 rm 0x80008000, rn 0x80008000 rs 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsdx r0, r1, r2, r3 :: rd 0x00000000 rm 0x7fff7fff, rn 0x00000000 rs 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsdx r0, r1, r2, r3 :: rd 0x00000001 rm 0x7fff7fff, rn 0x00010001 rs 0x00000001, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsdx r0, r1, r2, r3 :: rd 0x0000001f rm 0x80008000, rn 0xffffffff rs 0x0000001f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsdx r0, r1, r2, r3 :: rd 0x00000020 rm 0x00640064, rn 0x00030003 rs 0x00000020, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsdx r0, r1, r2, r3 :: rd 0x00000104 rm 0xffffffff, rn 0xfffc0001 rs 0x000000ff, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsdx r0, r1, r2, r3 :: rd 0x00003118 rm 0xfff70fff, rn 0x00030003 rs 0x00000100, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsdx r0, r1, r2, r3 :: rd 0x454ff2e5 rm 0xb8035b5b, rn 0xce0ce1ed rs 0x5f986e68, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsdx r0, r1, r2, r3 :: rd 0x94ff55e5 rm 0x35232047, rn 0x146275d8 rs 0xaae3433f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smlsdx r0, r1, r2, r3 :: rd 0x2d13277c rm 0xe7aa57b4, rn 0x1584bd74 rs 0x2c07a5b4, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+----------------- SMUSD -----------------
+smusd r0, r1, r2 :: rd 0x00000000 rm 0x80008000, rn 0x80008000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x00000000 rm 0x7fff7fff, rn 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x00000000 rm 0x7fff7fff, rn 0x00010001, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x00000000 rm 0x80008000, rn 0xffffffff, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x00000000 rm 0x00640064, rn 0x00030003, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0xfffffffb rm 0xffffffff, rn 0xfffc0001, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x00003018 rm 0xfff70fff, rn 0x00030003, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0xce34b55d rm 0xd83b849b, rn 0xca5e5605, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0xfa4adabc rm 0x0cdafabe, rn 0x50865114, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0xf6979877 rm 0x2738f0ff, rn 0x6a228b19, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x15ee447f rm 0xfaceab39, rn 0x2973c051, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x1a9387ea rm 0xa3e6f759, rn 0x557c7ba2, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x1fea1186 rm 0x72f33509, rn 0x9b41bfb1, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x080346b8 rm 0xa5ec1aa8, rn 0x2b62ba5a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0xdc040e5c rm 0x6ebd04d9, rn 0x55ea3e4e, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x13e77b1e rm 0x2eaea305, rn 0xe79fd570, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0xffe387a7 rm 0x22b65db1, rn 0xcdb7ed11, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0xca9b1438 rm 0x776c41c7, rn 0x2eb68500, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x09d4b1fb rm 0xe50dd77c, rn 0xd6f9a698, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x0845d8f1 rm 0x0be36f70, rn 0xeda5110c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0xfd699dbf rm 0xebbff82b, rn 0xd759eb72, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x32ee1760 rm 0x50c28082, rn 0xd9c4b1f4, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0xfa9f544c rm 0x17962e8f, rn 0xa29eb320, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x06f20025 rm 0xc57243b7, rn 0xcf1e4487, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0xfc2edfa6 rm 0x7eb226ac, rn 0xf20fb90f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0xeceafe3e rm 0xbce0f026, rn 0xbb151055, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0xf7433540 rm 0xa5757252, rn 0x957440d2, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x3cf4b625 rm 0xf4a477c1, rn 0x728b7771, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x0e50389b rm 0x76723a21, rn 0xf13c20f3, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x2f492fe5 rm 0x74d01105, rn 0x86398371, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0xffd5e3f0 rm 0xc1273e2c, rn 0x03d0fb78, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0xcb341cd8 rm 0xdd9b7653, rn 0xd0d49b7c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x1da1e53a rm 0xdde62fd1, rn 0x76354a58, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x054b896e rm 0xc3fb4a96, rn 0x9fa45fb7, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x27561296 rm 0xa1a10f56, rn 0x7572bdec, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0xe20e04b5 rm 0x4b7d4fd9, rn 0xfea59eb6, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x08ade092 rm 0x9d0ddffc, rn 0xf2669090, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x16ffadf6 rm 0x4f82d17c, rn 0xbc1ff573, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x23eeaf4d rm 0x08215ca2, rn 0x345f67e6, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x14357393 rm 0xf23595d0, rn 0x3f39d77e, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x1202b054 rm 0xf244c158, rn 0xfb2db55b, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0xfdac91b0 rm 0x256bfdd6, rn 0x13aebedf, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x18f241d6 rm 0xc02a0c05, rn 0x5b013000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x19740601 rm 0xee2fa46e, rn 0xed95b542, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x19630603 rm 0x97a7da20, rn 0x60bb5ee8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0xf00000d8 rm 0xa231d5e6, rn 0xd9000a64, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x25d80217 rm 0x10e1968a, rn 0x624f9467, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0xe3943e90 rm 0x0e089270, rn 0xa8c64d94, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x296fe090 rm 0x9e8e0185, rn 0x6b4f637a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0xfd3eacb0 rm 0x3096f12e, rn 0x11f5f4b9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0xfbaee4f2 rm 0xffc134df, rn 0x0b02eb0c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0xfcd34768 rm 0xe444dc25, rn 0xd5eef620, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x3271444a rm 0x06ea9b2a, rn 0xa2108661, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0xee903517 rm 0x448f3a5f, rn 0x17aecf57, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0x088d586c rm 0x4b0c2337, rn 0xffa63d6c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0xe8c20fe7 rm 0xf91d5f56, rn 0x088bc0f9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusd r0, r1, r2 :: rd 0xeca01324 rm 0xf808434e, rn 0xefeab836, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+----------------- SMUSDX ----------------
+smusdx r0, r1, r2 :: rd 0x00000000 rm 0x80008000, rn 0x80008000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x00000000 rm 0x7fff7fff, rn 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x00000000 rm 0x7fff7fff, rn 0x00010001, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x00000000 rm 0x80008000, rn 0xffffffff, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x00000000 rm 0x00640064, rn 0x00030003, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x00000005 rm 0xffffffff, rn 0xfffc0001, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x00003018 rm 0xfff70fff, rn 0x00030003, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x2736f3c3 rm 0xd83b849b, rn 0xca5e5605, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0xfa46a46c rm 0x0cdafabe, rn 0x50865114, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x0bb05b66 rm 0x2738f0ff, rn 0x6a228b19, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0xf0fb306d rm 0xfaceab39, rn 0x2973c051, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x29972290 rm 0xa3e6f759, rn 0x557c7ba2, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x08012346 rm 0x72f33509, rn 0x9b41bfb1, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0xec029f58 rm 0xa5ec1aa8, rn 0x2b62ba5a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0xe6acf7c4 rm 0x6ebd04d9, rn 0x55ea3e4e, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x109d90fb rm 0x2eaea305, rn 0xe79fd570, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0xf029ea71 rm 0x22b65db1, rn 0xcdb7ed11, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x4561697a rm 0x776c41c7, rn 0x2eb68500, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0xfd14d1e4 rm 0xe50dd77c, rn 0xd6f9a698, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0xf737e18c rm 0x0be36f70, rn 0xeda5110c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0xff9e13e5 rm 0xebbff82b, rn 0xd759eb72, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x2ba97aa0 rm 0x50c28082, rn 0xd9c4b1f4, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0xf6196582 rm 0x17962e8f, rn 0xa29eb320, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x02be8154 rm 0xc57243b7, rn 0xcf1e4487, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x2100cda6 rm 0x7eb226ac, rn 0xf20fb90f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x088cbebe rm 0xbce0f026, rn 0xbb151055, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0xe7588d2e rm 0xa5757252, rn 0x957440d2, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x3ae1bf67 rm 0xf4a477c1, rn 0x728b7771, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0xed670286 rm 0x76723a21, rn 0xf13c20f3, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x30bd684d rm 0x74d01105, rn 0x86398371, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0xffd04078 rm 0xc1273e2c, rn 0x03d0fb78, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0xdcb13ca8 rm 0xdd9b7653, rn 0xd0d49b7c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x1ffb7935 rm 0xdde62fd1, rn 0x76354a58, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0xfa5db4ab rm 0xc3fb4a96, rn 0x9fa45fb7, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0xeead44e0 rm 0xa1a10f56, rn 0x7572bdec, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x1c43f3ff rm 0x4b7d4fd9, rn 0xfea59eb6, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0xd6a0cf18 rm 0x9d0ddffc, rn 0xf2669090, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x0f9c4c9e rm 0x4f82d17c, rn 0xbc1ff573, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x0fa6b378 rm 0x08215ca2, rn 0x345f67e6, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0xe397d23a rm 0xf23595d0, rn 0x3f39d77e, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0xfd2d124c rm 0xf244c158, rn 0xfb2db55b, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x095a673f rm 0x256bfdd6, rn 0x13aebedf, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x103df305 rm 0xc02a0c05, rn 0x5b013000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x0162e6e8 rm 0xee2fa46e, rn 0xed95b542, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x185f9408 rm 0x97a7da20, rn 0x60bb5ee8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x0a38b0dc rm 0xa231d5e6, rn 0xd9000a64, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0xde986a0f rm 0x10e1968a, rn 0x624f9467, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x21143e00 rm 0x0e089270, rn 0xa8c64d94, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x2680955f rm 0x9e8e0185, rn 0x6b4f637a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x0119caa0 rm 0x3096f12e, rn 0x11f5f4b9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x0240d6b2 rm 0xffc134df, rn 0x0b02eb0c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x04d292e6 rm 0xe444dc25, rn 0xd5eef620, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x28492bf6 rm 0x06ea9b2a, rn 0xa2108661, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x126e47f9 rm 0x448f3a5f, rn 0x17aecf57, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0xedf2199a rm 0x4b0c2337, rn 0xffa63d6c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0x017c667d rm 0xf91d5f56, rn 0x088bc0f9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+smusdx r0, r1, r2 :: rd 0xf989459c rm 0xf808434e, rn 0xefeab836, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+----------------- USAD8 ----------------
+usad8 r0, r1, r2 :: rd 0x00000000 rm 0x80008000, rn 0x80008000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x000002fc rm 0x7fff7fff, rn 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x000002fa rm 0x7fff7fff, rn 0x00010001, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x000002fc rm 0x80008000, rn 0xffffffff, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x000000c2 rm 0x00640064, rn 0x00030003, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x00000200 rm 0xffffffff, rn 0xfffc0001, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x000002fe rm 0xfff70fff, rn 0x00030003, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x000000f5 rm 0xd83b849b, rn 0xca5e5605, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x000001eb rm 0x0cdafabe, rn 0x50865114, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x000001a4 rm 0x2738f0ff, rn 0x6a228b19, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x00000159 rm 0xfaceab39, rn 0x2973c051, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x0000017d rm 0xa3e6f759, rn 0x557c7ba2, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x0000020d rm 0x72f33509, rn 0x9b41bfb1, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x000001f2 rm 0xa5ec1aa8, rn 0x2b62ba5a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x0000010b rm 0x6ebd04d9, rn 0x55ea3e4e, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x00000165 rm 0x2eaea305, rn 0xe79fd570, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x000001dc rm 0x22b65db1, rn 0xcdb7ed11, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x0000019e rm 0x776c41c7, rn 0x2eb68500, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x00000148 rm 0xe50dd77c, rn 0xd6f9a698, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x000001e2 rm 0x0be36f70, rn 0xeda5110c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x000000ce rm 0xebbff82b, rn 0xd759eb72, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x0000012e rm 0x50c28082, rn 0xd9c4b1f4, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x00000187 rm 0x17962e8f, rn 0xa29eb320, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x0000008f rm 0xc57243b7, rn 0xcf1e4487, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x00000247 rm 0x7eb226ac, rn 0xf20fb90f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x000001db rm 0xbce0f026, rn 0xbb151055, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x000000c3 rm 0xa5757252, rn 0x957440d2, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x000000eb rm 0xf4a477c1, rn 0x728b7771, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x0000019d rm 0x76723a21, rn 0xf13c20f3, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x00000187 rm 0x74d01105, rn 0x86398371, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x00000270 rm 0xc1273e2c, rn 0x03d0fb78, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x00000094 rm 0xdd9b7653, rn 0xd0d49b7c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x000001ac rm 0xdde62fd1, rn 0x76354a58, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x000000b1 rm 0xc3fb4a96, rn 0x9fa45fb7, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x0000019f rm 0xa1a10f56, rn 0x7572bdec, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x0000014d rm 0x4b7d4fd9, rn 0xfea59eb6, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x00000169 rm 0x9d0ddffc, rn 0xf2669090, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x000000fd rm 0x4f82d17c, rn 0xbc1ff573, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x000000b9 rm 0x08215ca2, rn 0x345f67e6, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x0000014b rm 0xf23595d0, rn 0x3f39d77e, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x0000002f rm 0xf244c158, rn 0xfb2db55b, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x0000009d rm 0x256bfdd6, rn 0x13aebedf, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x000000b7 rm 0xc02a0c05, rn 0x5b013000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x000000a4 rm 0xee2fa46e, rn 0xed95b542, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x0000018f rm 0x97a7da20, rn 0x60bb5ee8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x000001b5 rm 0xa231d5e6, rn 0xd9000a64, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x00000109 rm 0x10e1968a, rn 0x624f9467, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x000001c1 rm 0x0e089270, rn 0xa8c64d94, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x000000df rm 0x9e8e0185, rn 0x6b4f637a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x0000010c rm 0x3096f12e, rn 0x11f5f4b9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x0000033d rm 0xffc134df, rn 0x0b02eb0c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x000000d8 rm 0xe444dc25, rn 0xd5eef620, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x000001c2 rm 0x06ea9b2a, rn 0xa2108661, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x000000e9 rm 0x448f3a5f, rn 0x17aecf57, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x0000019d rm 0x4b0c2337, rn 0xffa63d6c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0, r1, r2 :: rd 0x00000263 rm 0xf91d5f56, rn 0x088bc0f9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usad8 r0...
[truncated message content] |
|
From: <sv...@va...> - 2010-10-20 21:39:38
|
Author: sewardj
Date: 2010-10-20 22:39:30 +0100 (Wed, 20 Oct 2010)
New Revision: 11469
Log:
Merge from trunk, r11452 (Handle new Iop_Sad8Ux4 introduced in vex r2067.)
Modified:
branches/VALGRIND_3_6_BRANCH/memcheck/mc_translate.c
Modified: branches/VALGRIND_3_6_BRANCH/memcheck/mc_translate.c
===================================================================
--- branches/VALGRIND_3_6_BRANCH/memcheck/mc_translate.c 2010-10-20 21:29:57 UTC (rev 11468)
+++ branches/VALGRIND_3_6_BRANCH/memcheck/mc_translate.c 2010-10-20 21:39:30 UTC (rev 11469)
@@ -2920,6 +2920,7 @@
return assignNew('V', mce, Ity_I16, binop(Iop_8HLto16, vHi8, vLo8));
}
+ case Iop_Sad8Ux4: /* maybe we could do better? ftm, do mkLazy2. */
case Iop_DivS32:
case Iop_DivU32:
return mkLazy2(mce, Ity_I32, vatom1, vatom2);
|
|
From: <sv...@va...> - 2010-10-20 21:38:53
|
Author: sewardj
Date: 2010-10-20 22:38:42 +0100 (Wed, 20 Oct 2010)
New Revision: 2068
Log:
Merge from trunk, r2067 (Add support for SMSAD{X}, SMLSD{X}, USAD{A}8.)
Modified:
branches/VEX_3_6_BRANCH/priv/guest_arm_toIR.c
branches/VEX_3_6_BRANCH/priv/host_arm_isel.c
branches/VEX_3_6_BRANCH/priv/host_generic_simd64.c
branches/VEX_3_6_BRANCH/priv/host_generic_simd64.h
branches/VEX_3_6_BRANCH/priv/ir_defs.c
branches/VEX_3_6_BRANCH/pub/libvex_ir.h
Modified: branches/VEX_3_6_BRANCH/priv/guest_arm_toIR.c
===================================================================
--- branches/VEX_3_6_BRANCH/priv/guest_arm_toIR.c 2010-10-18 16:29:40 UTC (rev 2067)
+++ branches/VEX_3_6_BRANCH/priv/guest_arm_toIR.c 2010-10-20 21:38:42 UTC (rev 2068)
@@ -1667,6 +1667,24 @@
}
+/* Compute a value 0 :: I32 or 1 :: I32, indicating whether signed
+ overflow occurred for 32-bit addition. Needs both args and the
+ result. HD p27. */
+static
+IRExpr* signed_overflow_after_Add32 ( IRExpr* resE,
+ IRTemp argL, IRTemp argR )
+{
+ IRTemp res = newTemp(Ity_I32);
+ assign(res, resE);
+ return
+ binop( Iop_Shr32,
+ binop( Iop_And32,
+ binop( Iop_Xor32, mkexpr(res), mkexpr(argL) ),
+ binop( Iop_Xor32, mkexpr(res), mkexpr(argR) )),
+ mkU8(31) );
+}
+
+
/*------------------------------------------------------------*/
/*--- Larger helpers ---*/
/*------------------------------------------------------------*/
@@ -9651,27 +9669,31 @@
}
/* --------------- smuad, smuadx<c><Rd>,<Rn>,<Rm> --------------- */
+ /* --------------- smsad, smsadx<c><Rd>,<Rn>,<Rm> --------------- */
{
UInt regD = 99, regN = 99, regM = 99, bitM = 99;
- Bool gate = False;
+ Bool gate = False, isAD = False;
if (isT) {
- if (INSNT0(15,4) == 0xFB2 && (INSNT1(15,0) & 0xF0E0) == 0xF000) {
+ if ((INSNT0(15,4) == 0xFB2 || INSNT0(15,4) == 0xFB4)
+ && (INSNT1(15,0) & 0xF0E0) == 0xF000) {
regN = INSNT0(3,0);
regD = INSNT1(11,8);
regM = INSNT1(3,0);
bitM = INSNT1(4,4);
+ isAD = INSNT0(15,4) == 0xFB2;
if (!isBadRegT(regD) && !isBadRegT(regN) && !isBadRegT(regM))
gate = True;
}
} else {
if (INSNA(27,20) == BITS8(0,1,1,1,0,0,0,0) &&
INSNA(15,12) == BITS4(1,1,1,1) &&
- (INSNA(7,4) & BITS4(1,1,0,1)) == BITS4(0,0,0,1) ) {
+ (INSNA(7,4) & BITS4(1,0,0,1)) == BITS4(0,0,0,1) ) {
regD = INSNA(19,16);
regN = INSNA(3,0);
regM = INSNA(11,8);
bitM = INSNA(5,5);
+ isAD = INSNA(6,6) == 0;
if (regD != 15 && regN != 15 && regM != 15)
gate = True;
}
@@ -9701,22 +9723,24 @@
binop(Iop_Sar32, mkexpr(irt_regN), mkU8(16)),
binop(Iop_Sar32, mkexpr(irt_regM), mkU8(16))) );
IRExpr* ire_result
- = binop( Iop_Add32, mkexpr(irt_prod_lo), mkexpr(irt_prod_hi) );
+ = binop( isAD ? Iop_Add32 : Iop_Sub32,
+ mkexpr(irt_prod_lo), mkexpr(irt_prod_hi) );
if (isT)
putIRegT( regD, ire_result, condT );
else
putIRegA( regD, ire_result, condT, Ijk_Boring );
- or_into_QFLAG32( binop( Iop_Shr32,
- binop( Iop_And32,
- binop( Iop_Xor32, ire_result,
- mkexpr(irt_prod_hi) ),
- binop( Iop_Xor32, ire_result,
- mkexpr(irt_prod_lo) ) ),
- mkU8(31)), condT );
+ if (isAD) {
+ or_into_QFLAG32(
+ signed_overflow_after_Add32( ire_result,
+ irt_prod_lo, irt_prod_hi ),
+ condT
+ );
+ }
- DIP("smuad%s%s r%u, r%u, r%u\n",
+ DIP("smu%cd%s%s r%u, r%u, r%u\n",
+ isAD ? 'a' : 's',
bitM ? "x" : "", nCC(conq), regD, regN, regM);
return True;
}
@@ -9724,29 +9748,33 @@
}
/* --------------- smlad{X}<c> <Rd>,<Rn>,<Rm>,<Ra> -------------- */
+ /* --------------- smlsd{X}<c> <Rd>,<Rn>,<Rm>,<Ra> -------------- */
{
UInt regD = 99, regN = 99, regM = 99, regA = 99, bitM = 99;
- Bool gate = False;
+ Bool gate = False, isAD = False;
if (isT) {
- if (INSNT0(15,4) == 0xFB2 && INSNT1(7,5) == BITS3(0,0,0)) {
+ if ((INSNT0(15,4) == 0xFB2 || INSNT0(15,4) == 0xFB4)
+ && INSNT1(7,5) == BITS3(0,0,0)) {
regN = INSNT0(3,0);
regD = INSNT1(11,8);
regM = INSNT1(3,0);
regA = INSNT1(15,12);
bitM = INSNT1(4,4);
+ isAD = INSNT0(15,4) == 0xFB2;
if (!isBadRegT(regD) && !isBadRegT(regN) && !isBadRegT(regM)
&& !isBadRegT(regA))
gate = True;
}
} else {
if (INSNA(27,20) == BITS8(0,1,1,1,0,0,0,0) &&
- (INSNA(7,4) & BITS4(1,1,0,1)) == BITS4(0,0,0,1)) {
+ (INSNA(7,4) & BITS4(1,0,0,1)) == BITS4(0,0,0,1)) {
regD = INSNA(19,16);
regA = INSNA(15,12);
regN = INSNA(3,0);
regM = INSNA(11,8);
bitM = INSNA(5,5);
+ isAD = INSNA(6,6) == 0;
if (regD != 15 && regN != 15 && regM != 15 && regA != 15)
gate = True;
}
@@ -9779,7 +9807,7 @@
binop( Iop_Mul32,
binop( Iop_Sar32, mkexpr(irt_regN), mkU8(16) ),
binop( Iop_Sar32, mkexpr(irt_regM), mkU8(16) ) ) );
- assign( irt_sum, binop( Iop_Add32,
+ assign( irt_sum, binop( isAD ? Iop_Add32 : Iop_Sub32,
mkexpr(irt_prod_lo), mkexpr(irt_prod_hi) ) );
IRExpr* ire_result = binop(Iop_Add32, mkexpr(irt_sum), mkexpr(irt_regA));
@@ -9789,22 +9817,21 @@
else
putIRegA( regD, ire_result, condT, Ijk_Boring );
- or_into_QFLAG32( binop( Iop_Shr32,
- binop( Iop_And32,
- binop( Iop_Xor32, mkexpr(irt_sum),
- mkexpr(irt_prod_lo) ),
- binop( Iop_Xor32, mkexpr(irt_sum),
- mkexpr(irt_prod_hi) ) ),
- mkU8(31)), condT );
- or_into_QFLAG32( binop( Iop_Shr32,
- binop( Iop_And32,
- binop( Iop_Xor32, ire_result,
- mkexpr(irt_sum) ),
- binop( Iop_Xor32, ire_result,
- mkexpr(irt_regA) ) ),
- mkU8(31)), condT );
+ if (isAD) {
+ or_into_QFLAG32(
+ signed_overflow_after_Add32( mkexpr(irt_sum),
+ irt_prod_lo, irt_prod_hi ),
+ condT
+ );
+ }
- DIP("smlad%s%s r%u, r%u, r%u, r%u\n",
+ or_into_QFLAG32(
+ signed_overflow_after_Add32( ire_result, irt_sum, irt_regA ),
+ condT
+ );
+
+ DIP("sml%cd%s%s r%u, r%u, r%u, r%u\n",
+ isAD ? 'a' : 's',
bitM ? "x" : "", nCC(conq), regD, regN, regM, regA);
return True;
}
@@ -9868,14 +9895,10 @@
else
putIRegA( regD, ire_result, condT, Ijk_Boring );
- or_into_QFLAG32( binop( Iop_Shr32,
- binop( Iop_And32,
- binop(Iop_Xor32,
- ire_result, mkexpr(irt_prod)),
- binop(Iop_Xor32,
- ire_result, mkexpr(irt_regA)) ),
- mkU8(31)),
- condT );
+ or_into_QFLAG32(
+ signed_overflow_after_Add32( ire_result, irt_prod, irt_regA ),
+ condT
+ );
DIP( "smla%c%c%s r%u, r%u, r%u, r%u\n",
bitN ? 't' : 'b', bitM ? 't' : 'b',
@@ -9943,14 +9966,10 @@
else
putIRegA( regD, ire_result, condT, Ijk_Boring );
- or_into_QFLAG32( binop( Iop_Shr32,
- binop( Iop_And32,
- binop(Iop_Xor32,
- ire_result, mkexpr(prod32)),
- binop(Iop_Xor32,
- ire_result, mkexpr(irt_regA)) ),
- mkU8(31)),
- condT );
+ or_into_QFLAG32(
+ signed_overflow_after_Add32( ire_result, prod32, irt_regA ),
+ condT
+ );
DIP( "smlaw%c%s r%u, r%u, r%u, r%u\n",
bitM ? 't' : 'b',
@@ -10111,6 +10130,59 @@
/* fall through */
}
+ /* --------------- usad8 Rd,Rn,Rm ---------------- */
+ /* --------------- usada8 Rd,Rn,Rm,Ra ---------------- */
+ {
+ UInt rD = 99, rN = 99, rM = 99, rA = 99;
+ Bool gate = False;
+
+ if (isT) {
+ if (INSNT0(15,4) == 0xFB7 && INSNT1(7,4) == BITS4(0,0,0,0)) {
+ rN = INSNT0(3,0);
+ rA = INSNT1(15,12);
+ rD = INSNT1(11,8);
+ rM = INSNT1(3,0);
+ if (!isBadRegT(rD) && !isBadRegT(rN) && !isBadRegT(rM) && rA != 13)
+ gate = True;
+ }
+ } else {
+ if (INSNA(27,20) == BITS8(0,1,1,1,1,0,0,0) &&
+ INSNA(7,4) == BITS4(0,0,0,1) ) {
+ rD = INSNA(19,16);
+ rA = INSNA(15,12);
+ rM = INSNA(11,8);
+ rN = INSNA(3,0);
+ if (rD != 15 && rN != 15 && rM != 15 /* but rA can be 15 */)
+ gate = True;
+ }
+ }
+ /* We allow rA == 15, to denote the usad8 (no accumulator) case. */
+
+ if (gate) {
+ IRExpr* rNe = isT ? getIRegT(rN) : getIRegA(rN);
+ IRExpr* rMe = isT ? getIRegT(rM) : getIRegA(rM);
+ IRExpr* rAe = rA == 15 ? mkU32(0)
+ : (isT ? getIRegT(rA) : getIRegA(rA));
+ IRExpr* res = binop(Iop_Add32,
+ binop(Iop_Sad8Ux4, rNe, rMe),
+ rAe);
+ if (isT)
+ putIRegT( rD, res, condT );
+ else
+ putIRegA( rD, res, condT, Ijk_Boring );
+
+ if (rA == 15) {
+ DIP( "usad8%s r%u, r%u, r%u\n",
+ nCC(conq), rD, rN, rM );
+ } else {
+ DIP( "usada8%s r%u, r%u, r%u, r%u\n",
+ nCC(conq), rD, rN, rM, rA );
+ }
+ return True;
+ }
+ /* fall through */
+ }
+
/* ---------- Doesn't match anything. ---------- */
return False;
Modified: branches/VEX_3_6_BRANCH/priv/host_arm_isel.c
===================================================================
--- branches/VEX_3_6_BRANCH/priv/host_arm_isel.c 2010-10-18 16:29:40 UTC (rev 2067)
+++ branches/VEX_3_6_BRANCH/priv/host_arm_isel.c 2010-10-20 21:38:42 UTC (rev 2068)
@@ -1347,6 +1347,8 @@
fn = &h_generic_calc_QSub8Sx4; break;
case Iop_QSub8Ux4:
fn = &h_generic_calc_QSub8Ux4; break;
+ case Iop_Sad8Ux4:
+ fn = &h_generic_calc_Sad8Ux4; break;
default:
break;
}
Modified: branches/VEX_3_6_BRANCH/priv/host_generic_simd64.c
===================================================================
--- branches/VEX_3_6_BRANCH/priv/host_generic_simd64.c 2010-10-18 16:29:40 UTC (rev 2067)
+++ branches/VEX_3_6_BRANCH/priv/host_generic_simd64.c 2010-10-20 21:38:42 UTC (rev 2068)
@@ -439,6 +439,12 @@
return (Char)r;
}
+static inline UInt absdiff8U ( UChar xx, UChar yy )
+{
+ UInt xxu = (UChar)xx;
+ UInt yyu = (UChar)yy;
+ return xxu >= yyu ? xxu - yyu : yyu - xxu;
+}
/* ----------------------------------------------------- */
/* Start of the externally visible functions. These simply
@@ -1317,6 +1323,15 @@
);
}
+UInt h_generic_calc_Sad8Ux4 ( UInt xx, UInt yy )
+{
+ return absdiff8U( sel8x4_3(xx), sel8x4_3(yy) )
+ + absdiff8U( sel8x4_2(xx), sel8x4_2(yy) )
+ + absdiff8U( sel8x4_1(xx), sel8x4_1(yy) )
+ + absdiff8U( sel8x4_0(xx), sel8x4_0(yy) );
+}
+
+
/*---------------------------------------------------------------*/
/*--- end host_generic_simd64.c ---*/
/*---------------------------------------------------------------*/
Modified: branches/VEX_3_6_BRANCH/priv/host_generic_simd64.h
===================================================================
--- branches/VEX_3_6_BRANCH/priv/host_generic_simd64.h 2010-10-18 16:29:40 UTC (rev 2067)
+++ branches/VEX_3_6_BRANCH/priv/host_generic_simd64.h 2010-10-20 21:38:42 UTC (rev 2068)
@@ -149,6 +149,8 @@
extern UInt h_generic_calc_QSub8Ux4 ( UInt, UInt );
extern UInt h_generic_calc_QSub8Sx4 ( UInt, UInt );
+extern UInt h_generic_calc_Sad8Ux4 ( UInt, UInt );
+
extern UInt h_generic_calc_CmpNEZ16x2 ( UInt );
extern UInt h_generic_calc_CmpNEZ8x4 ( UInt );
Modified: branches/VEX_3_6_BRANCH/priv/ir_defs.c
===================================================================
--- branches/VEX_3_6_BRANCH/priv/ir_defs.c 2010-10-18 16:29:40 UTC (rev 2067)
+++ branches/VEX_3_6_BRANCH/priv/ir_defs.c 2010-10-20 21:38:42 UTC (rev 2068)
@@ -305,6 +305,7 @@
case Iop_HAdd8Sx4: vex_printf("HAdd8Sx4"); return;
case Iop_HSub8Ux4: vex_printf("HSub8Ux4"); return;
case Iop_HSub8Sx4: vex_printf("HSub8Sx4"); return;
+ case Iop_Sad8Ux4: vex_printf("Sad8Ux4"); return;
case Iop_CmpNEZ16x2: vex_printf("CmpNEZ16x2"); return;
case Iop_CmpNEZ8x4: vex_printf("CmpNEZ8x4"); return;
@@ -1944,6 +1945,7 @@
case Iop_QSub8Sx4: case Iop_QSub8Ux4:
case Iop_HAdd8Ux4: case Iop_HAdd8Sx4:
case Iop_HSub8Ux4: case Iop_HSub8Sx4:
+ case Iop_Sad8Ux4:
BINARY(Ity_I32,Ity_I32, Ity_I32);
case Iop_Add64: case Iop_Sub64: case Iop_Mul64:
Modified: branches/VEX_3_6_BRANCH/pub/libvex_ir.h
===================================================================
--- branches/VEX_3_6_BRANCH/pub/libvex_ir.h 2010-10-18 16:29:40 UTC (rev 2067)
+++ branches/VEX_3_6_BRANCH/pub/libvex_ir.h 2010-10-20 21:38:42 UTC (rev 2068)
@@ -699,6 +699,9 @@
Iop_HAdd8Ux4, Iop_HAdd8Sx4,
Iop_HSub8Ux4, Iop_HSub8Sx4,
+ /* 8x4 sum of absolute unsigned differences. */
+ Iop_Sad8Ux4,
+
/* MISC (vector integer cmp != 0) */
Iop_CmpNEZ16x2, Iop_CmpNEZ8x4,
|
|
From: <sv...@va...> - 2010-10-20 21:30:05
|
Author: sewardj
Date: 2010-10-20 22:29:57 +0100 (Wed, 20 Oct 2010)
New Revision: 11468
Log:
Merge from trunk, r11462 (Finalise doc stuff for 3.6.0)
Modified:
branches/VALGRIND_3_6_BRANCH/NEWS
branches/VALGRIND_3_6_BRANCH/docs/xml/vg-entities.xml
Modified: branches/VALGRIND_3_6_BRANCH/NEWS
===================================================================
--- branches/VALGRIND_3_6_BRANCH/NEWS 2010-10-20 21:28:02 UTC (rev 11467)
+++ branches/VALGRIND_3_6_BRANCH/NEWS 2010-10-20 21:29:57 UTC (rev 11468)
@@ -1,5 +1,5 @@
-Release 3.6.0 (18 October 2010)
+Release 3.6.0 (21 October 2010)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3.6.0 is a feature release with many significant improvements and the
usual collection of bug fixes.
@@ -25,7 +25,7 @@
* A new experimental heap profiler, DHAT.
-* A huge number of bug fixes.
+* A huge number of bug fixes and small enhancements.
-------------------------
@@ -57,7 +57,7 @@
64-bit mode. In 32-bit mode, support is only available up to and
including SSSE3. Some exceptions: SSE4.2 AES instructions are not
supported in 64-bit mode, and 32-bit mode does in fact support the
- bare minimum SSE4 instructions to needed to run programs on MacOSX
+ bare minimum SSE4 instructions to needed to run programs on Mac OS X
10.6 on 32-bit targets.
* Support for IBM POWER6 cpus has been improved. The Power ISA up to
@@ -89,7 +89,7 @@
should not be considered authoritative. The results are still
useful for giving a general idea about a program's locality.
-- Massif has a new option, --pages-as-heap, which is disabled by
+* Massif has a new option, --pages-as-heap, which is disabled by
default. When enabled, instead of tracking allocations at the level
of heap blocks (as allocated with malloc/new/new[]), it instead
tracks memory allocations at the level of memory pages (as mapped by
@@ -111,7 +111,7 @@
pointer implementation.
* Helgrind's annotation set has also been drastically improved, so as
- to provide to users, a general set of annotations to describe locks,
+ to provide to users a general set of annotations to describe locks,
semaphores, barriers and condition variables. Annotations to
describe thread-safe reference counted heap objects have also been
added.
@@ -134,18 +134,19 @@
approximately a factor of 5 as compared with 3.5.0.
* Ability to show directory names for source files in error messages.
- This is combined with a flexible mechanism
- for specifying which parts of the paths should be shown.
- This is enabled by the new flag --fullpath-after.
+ This is combined with a flexible mechanism for specifying which
+ parts of the paths should be shown. This is enabled by the new flag
+ --fullpath-after.
* A new flag, --require-text-symbol, which will stop the run if a
specified symbol is not found it a given shared object when it is
- loaded into the process. This makes some advanced working with
- function intercepting and wrapping safer and more reliable.
+ loaded into the process. This makes advanced working with function
+ intercepting and wrapping safer and more reliable.
-* Improved support for the Valkyrie GUI, version 1.6.0. GUI output
- and control of Valgrind is now available for the tools Memcheck,
- Helgrind and Ptrcheck.
+* Improved support for the Valkyrie GUI, version 2.0.0. GUI output
+ and control of Valgrind is now available for the tools Memcheck and
+ Helgrind. XML output from Valgrind is available for Memcheck,
+ Helgrind and exp-Ptrcheck.
* More reliable stack unwinding on amd64-linux, particularly in the
presence of function wrappers, and with gcc-4.5 compiled code.
@@ -190,7 +191,9 @@
250101 huge "free" memory usage due to m_mallocfree.c
"superblocks fragmentation"
251569 vex amd64->IR: 0xF 0x1 0xF9 0x8B 0x4C 0x24 (RDTSCP)
- 252600 [PATCH] Allow lhs to be a pointer for shl/shr
+ 252091 Callgrind on ARM does not detect function returns correctly
+ 252600 [PATCH] Allow lhs to be a pointer for shl/shr
+ 254420 memory pool tracking broken
n-i-bz support for adding symbols for JIT generated code
@@ -303,11 +306,18 @@
251362 valgrind: ARM: attach to debugger either fails or provokes
kernel oops
251674 Unhandled syscall 294
+251818 == 254550
-(3.6.0: 18 October 2010, vex rXXXX, valgrind rXXXXX).
+254257 Add support for debugfiles found by build-id
+254550 [PATCH] Implement DW_ATE_UTF (DWARF4)
+254646 Wrapped functions cause stack misalignment on OS X
+ (and possibly Linux)
+254556 ARM: valgrinding anything fails with SIGSEGV for 0xFFFF0FA0
+(3.6.0: 21 October 2010, vex rXXXX, valgrind rXXXXX).
+
Release 3.5.0 (19 August 2009)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3.5.0 is a feature release with many significant improvements and the
Modified: branches/VALGRIND_3_6_BRANCH/docs/xml/vg-entities.xml
===================================================================
--- branches/VALGRIND_3_6_BRANCH/docs/xml/vg-entities.xml 2010-10-20 21:28:02 UTC (rev 11467)
+++ branches/VALGRIND_3_6_BRANCH/docs/xml/vg-entities.xml 2010-10-20 21:29:57 UTC (rev 11468)
@@ -7,7 +7,7 @@
<!-- valgrind release + version stuff -->
<!ENTITY rel-type "Release">
<!ENTITY rel-version "3.6.0">
-<!ENTITY rel-date "18 October 2010">
+<!ENTITY rel-date "21 October 2010">
<!-- where the docs are installed -->
<!ENTITY vg-docs-path "$INSTALL/share/doc/valgrind/html/index.html">
|
|
From: <sv...@va...> - 2010-10-20 21:28:10
|
Author: sewardj
Date: 2010-10-20 22:28:02 +0100 (Wed, 20 Oct 2010)
New Revision: 11467
Log:
Merge from trunk, r11460 (size the ARM_LINUX_FAKE_COMMPAGE correctly)
Modified:
branches/VALGRIND_3_6_BRANCH/coregrind/m_aspacemgr/aspacemgr-linux.c
Modified: branches/VALGRIND_3_6_BRANCH/coregrind/m_aspacemgr/aspacemgr-linux.c
===================================================================
--- branches/VALGRIND_3_6_BRANCH/coregrind/m_aspacemgr/aspacemgr-linux.c 2010-10-20 21:26:39 UTC (rev 11466)
+++ branches/VALGRIND_3_6_BRANCH/coregrind/m_aspacemgr/aspacemgr-linux.c 2010-10-20 21:28:02 UTC (rev 11467)
@@ -341,10 +341,17 @@
/* ----- Hacks to do with the "commpage" on arm-linux ----- */
/* Not that I have anything against the commpage per se. It's just
that it's not listed in /proc/self/maps, which is a royal PITA --
- we have to fake it up, in parse_procselfmaps. */
+ we have to fake it up, in parse_procselfmaps.
+
+ But note also bug 254556 comment #2: this is now fixed in newer
+ kernels -- it is listed as a "[vectors]" entry. Presumably the
+ fake entry made here duplicates the [vectors] entry, and so, if at
+ some point in the future, we can stop supporting buggy kernels,
+ then this kludge can be removed entirely, since the procmap parser
+ below will read that entry in the normal way. */
#if defined(VGP_arm_linux)
# define ARM_LINUX_FAKE_COMMPAGE_START 0xFFFF0000
-# define ARM_LINUX_FAKE_COMMPAGE_END1 0xFFFFF000
+# define ARM_LINUX_FAKE_COMMPAGE_END1 0xFFFF1000
#endif
|
|
From: <sv...@va...> - 2010-10-20 21:26:52
|
Author: sewardj
Date: 2010-10-20 22:26:39 +0100 (Wed, 20 Oct 2010)
New Revision: 11466
Log:
Merge from trunk, r11461 (Preserve the stack's 16-alignment in x86 and
amd64 wrappers.)
Modified:
branches/VALGRIND_3_6_BRANCH/include/valgrind.h
Modified: branches/VALGRIND_3_6_BRANCH/include/valgrind.h
===================================================================
--- branches/VALGRIND_3_6_BRANCH/include/valgrind.h 2010-10-20 21:13:08 UTC (rev 11465)
+++ branches/VALGRIND_3_6_BRANCH/include/valgrind.h 2010-10-20 21:26:39 UTC (rev 11466)
@@ -812,10 +812,11 @@
_argvec[0] = (unsigned long)_orig.nraddr; \
_argvec[1] = (unsigned long)(arg1); \
__asm__ volatile( \
+ "subl $12, %%esp\n\t" \
"pushl 4(%%eax)\n\t" \
"movl (%%eax), %%eax\n\t" /* target->%eax */ \
VALGRIND_CALL_NOREDIR_EAX \
- "addl $4, %%esp\n" \
+ "addl $16, %%esp\n" \
: /*out*/ "=a" (_res) \
: /*in*/ "a" (&_argvec[0]) \
: /*trash*/ "cc", "memory", __CALLER_SAVED_REGS \
@@ -832,11 +833,12 @@
_argvec[1] = (unsigned long)(arg1); \
_argvec[2] = (unsigned long)(arg2); \
__asm__ volatile( \
+ "subl $8, %%esp\n\t" \
"pushl 8(%%eax)\n\t" \
"pushl 4(%%eax)\n\t" \
"movl (%%eax), %%eax\n\t" /* target->%eax */ \
VALGRIND_CALL_NOREDIR_EAX \
- "addl $8, %%esp\n" \
+ "addl $16, %%esp\n" \
: /*out*/ "=a" (_res) \
: /*in*/ "a" (&_argvec[0]) \
: /*trash*/ "cc", "memory", __CALLER_SAVED_REGS \
@@ -854,12 +856,13 @@
_argvec[2] = (unsigned long)(arg2); \
_argvec[3] = (unsigned long)(arg3); \
__asm__ volatile( \
+ "subl $4, %%esp\n\t" \
"pushl 12(%%eax)\n\t" \
"pushl 8(%%eax)\n\t" \
"pushl 4(%%eax)\n\t" \
"movl (%%eax), %%eax\n\t" /* target->%eax */ \
VALGRIND_CALL_NOREDIR_EAX \
- "addl $12, %%esp\n" \
+ "addl $16, %%esp\n" \
: /*out*/ "=a" (_res) \
: /*in*/ "a" (&_argvec[0]) \
: /*trash*/ "cc", "memory", __CALLER_SAVED_REGS \
@@ -904,6 +907,7 @@
_argvec[4] = (unsigned long)(arg4); \
_argvec[5] = (unsigned long)(arg5); \
__asm__ volatile( \
+ "subl $12, %%esp\n\t" \
"pushl 20(%%eax)\n\t" \
"pushl 16(%%eax)\n\t" \
"pushl 12(%%eax)\n\t" \
@@ -911,7 +915,7 @@
"pushl 4(%%eax)\n\t" \
"movl (%%eax), %%eax\n\t" /* target->%eax */ \
VALGRIND_CALL_NOREDIR_EAX \
- "addl $20, %%esp\n" \
+ "addl $32, %%esp\n" \
: /*out*/ "=a" (_res) \
: /*in*/ "a" (&_argvec[0]) \
: /*trash*/ "cc", "memory", __CALLER_SAVED_REGS \
@@ -932,6 +936,7 @@
_argvec[5] = (unsigned long)(arg5); \
_argvec[6] = (unsigned long)(arg6); \
__asm__ volatile( \
+ "subl $8, %%esp\n\t" \
"pushl 24(%%eax)\n\t" \
"pushl 20(%%eax)\n\t" \
"pushl 16(%%eax)\n\t" \
@@ -940,7 +945,7 @@
"pushl 4(%%eax)\n\t" \
"movl (%%eax), %%eax\n\t" /* target->%eax */ \
VALGRIND_CALL_NOREDIR_EAX \
- "addl $24, %%esp\n" \
+ "addl $32, %%esp\n" \
: /*out*/ "=a" (_res) \
: /*in*/ "a" (&_argvec[0]) \
: /*trash*/ "cc", "memory", __CALLER_SAVED_REGS \
@@ -963,6 +968,7 @@
_argvec[6] = (unsigned long)(arg6); \
_argvec[7] = (unsigned long)(arg7); \
__asm__ volatile( \
+ "subl $4, %%esp\n\t" \
"pushl 28(%%eax)\n\t" \
"pushl 24(%%eax)\n\t" \
"pushl 20(%%eax)\n\t" \
@@ -972,7 +978,7 @@
"pushl 4(%%eax)\n\t" \
"movl (%%eax), %%eax\n\t" /* target->%eax */ \
VALGRIND_CALL_NOREDIR_EAX \
- "addl $28, %%esp\n" \
+ "addl $32, %%esp\n" \
: /*out*/ "=a" (_res) \
: /*in*/ "a" (&_argvec[0]) \
: /*trash*/ "cc", "memory", __CALLER_SAVED_REGS \
@@ -1031,6 +1037,7 @@
_argvec[8] = (unsigned long)(arg8); \
_argvec[9] = (unsigned long)(arg9); \
__asm__ volatile( \
+ "subl $12, %%esp\n\t" \
"pushl 36(%%eax)\n\t" \
"pushl 32(%%eax)\n\t" \
"pushl 28(%%eax)\n\t" \
@@ -1042,7 +1049,7 @@
"pushl 4(%%eax)\n\t" \
"movl (%%eax), %%eax\n\t" /* target->%eax */ \
VALGRIND_CALL_NOREDIR_EAX \
- "addl $36, %%esp\n" \
+ "addl $48, %%esp\n" \
: /*out*/ "=a" (_res) \
: /*in*/ "a" (&_argvec[0]) \
: /*trash*/ "cc", "memory", __CALLER_SAVED_REGS \
@@ -1068,6 +1075,7 @@
_argvec[9] = (unsigned long)(arg9); \
_argvec[10] = (unsigned long)(arg10); \
__asm__ volatile( \
+ "subl $8, %%esp\n\t" \
"pushl 40(%%eax)\n\t" \
"pushl 36(%%eax)\n\t" \
"pushl 32(%%eax)\n\t" \
@@ -1080,7 +1088,7 @@
"pushl 4(%%eax)\n\t" \
"movl (%%eax), %%eax\n\t" /* target->%eax */ \
VALGRIND_CALL_NOREDIR_EAX \
- "addl $40, %%esp\n" \
+ "addl $48, %%esp\n" \
: /*out*/ "=a" (_res) \
: /*in*/ "a" (&_argvec[0]) \
: /*trash*/ "cc", "memory", __CALLER_SAVED_REGS \
@@ -1108,6 +1116,7 @@
_argvec[10] = (unsigned long)(arg10); \
_argvec[11] = (unsigned long)(arg11); \
__asm__ volatile( \
+ "subl $4, %%esp\n\t" \
"pushl 44(%%eax)\n\t" \
"pushl 40(%%eax)\n\t" \
"pushl 36(%%eax)\n\t" \
@@ -1121,7 +1130,7 @@
"pushl 4(%%eax)\n\t" \
"movl (%%eax), %%eax\n\t" /* target->%eax */ \
VALGRIND_CALL_NOREDIR_EAX \
- "addl $44, %%esp\n" \
+ "addl $48, %%esp\n" \
: /*out*/ "=a" (_res) \
: /*in*/ "a" (&_argvec[0]) \
: /*trash*/ "cc", "memory", __CALLER_SAVED_REGS \
@@ -1478,7 +1487,7 @@
_argvec[7] = (unsigned long)(arg7); \
__asm__ volatile( \
VALGRIND_CFI_PROLOGUE \
- "subq $128,%%rsp\n\t" \
+ "subq $136,%%rsp\n\t" \
"pushq 56(%%rax)\n\t" \
"movq 48(%%rax), %%r9\n\t" \
"movq 40(%%rax), %%r8\n\t" \
@@ -1489,7 +1498,7 @@
"movq (%%rax), %%rax\n\t" /* target->%rax */ \
VALGRIND_CALL_NOREDIR_RAX \
"addq $8, %%rsp\n" \
- "addq $128,%%rsp\n\t" \
+ "addq $136,%%rsp\n\t" \
VALGRIND_CFI_EPILOGUE \
: /*out*/ "=a" (_res) \
: /*in*/ "a" (&_argvec[0]) __FRAME_POINTER \
@@ -1554,7 +1563,7 @@
_argvec[9] = (unsigned long)(arg9); \
__asm__ volatile( \
VALGRIND_CFI_PROLOGUE \
- "subq $128,%%rsp\n\t" \
+ "subq $136,%%rsp\n\t" \
"pushq 72(%%rax)\n\t" \
"pushq 64(%%rax)\n\t" \
"pushq 56(%%rax)\n\t" \
@@ -1567,7 +1576,7 @@
"movq (%%rax), %%rax\n\t" /* target->%rax */ \
VALGRIND_CALL_NOREDIR_RAX \
"addq $24, %%rsp\n" \
- "addq $128,%%rsp\n\t" \
+ "addq $136,%%rsp\n\t" \
VALGRIND_CFI_EPILOGUE \
: /*out*/ "=a" (_res) \
: /*in*/ "a" (&_argvec[0]) __FRAME_POINTER \
@@ -1638,7 +1647,7 @@
_argvec[11] = (unsigned long)(arg11); \
__asm__ volatile( \
VALGRIND_CFI_PROLOGUE \
- "subq $128,%%rsp\n\t" \
+ "subq $136,%%rsp\n\t" \
"pushq 88(%%rax)\n\t" \
"pushq 80(%%rax)\n\t" \
"pushq 72(%%rax)\n\t" \
@@ -1653,7 +1662,7 @@
"movq (%%rax), %%rax\n\t" /* target->%rax */ \
VALGRIND_CALL_NOREDIR_RAX \
"addq $40, %%rsp\n" \
- "addq $128,%%rsp\n\t" \
+ "addq $136,%%rsp\n\t" \
VALGRIND_CFI_EPILOGUE \
: /*out*/ "=a" (_res) \
: /*in*/ "a" (&_argvec[0]) __FRAME_POINTER \
|
|
From: <sv...@va...> - 2010-10-20 21:13:16
|
Author: sewardj Date: 2010-10-20 22:13:08 +0100 (Wed, 20 Oct 2010) New Revision: 11465 Log: Merge from trunk, r11457 (be sure to pass -marm to all compilations of arm assembly files) Modified: branches/VALGRIND_3_6_BRANCH/Makefile.all.am Modified: branches/VALGRIND_3_6_BRANCH/Makefile.all.am =================================================================== --- branches/VALGRIND_3_6_BRANCH/Makefile.all.am 2010-10-20 21:11:20 UTC (rev 11464) +++ branches/VALGRIND_3_6_BRANCH/Makefile.all.am 2010-10-20 21:13:08 UTC (rev 11465) @@ -154,7 +154,7 @@ AM_FLAG_M3264_ARM_LINUX = @FLAG_M32@ AM_CFLAGS_ARM_LINUX = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY@ \ $(AM_CFLAGS_BASE) -marm -AM_CCASFLAGS_ARM_LINUX = $(AM_CPPFLAGS_ARM_LINUX) @FLAG_M32@ -g +AM_CCASFLAGS_ARM_LINUX = $(AM_CPPFLAGS_ARM_LINUX) @FLAG_M32@ -marm -g AM_FLAG_M3264_PPC32_AIX5 = @FLAG_MAIX32@ AM_CFLAGS_PPC32_AIX5 = @FLAG_MAIX32@ -mcpu=powerpc $(AM_CFLAGS_BASE) |
|
From: <sv...@va...> - 2010-10-20 21:11:32
|
Author: sewardj
Date: 2010-10-20 22:11:20 +0100 (Wed, 20 Oct 2010)
New Revision: 11464
Log:
Merge from trunk, r11450 (support for DW_ATE_UTF from DWARF4)
Modified:
branches/VALGRIND_3_6_BRANCH/coregrind/m_debuginfo/priv_d3basics.h
branches/VALGRIND_3_6_BRANCH/coregrind/m_debuginfo/readdwarf3.c
Modified: branches/VALGRIND_3_6_BRANCH/coregrind/m_debuginfo/priv_d3basics.h
===================================================================
--- branches/VALGRIND_3_6_BRANCH/coregrind/m_debuginfo/priv_d3basics.h 2010-10-20 20:58:24 UTC (rev 11463)
+++ branches/VALGRIND_3_6_BRANCH/coregrind/m_debuginfo/priv_d3basics.h 2010-10-20 21:11:20 UTC (rev 11464)
@@ -372,6 +372,8 @@
DW_ATE_signed_fixed = 0xd,
DW_ATE_unsigned_fixed = 0xe,
DW_ATE_decimal_float = 0xf,
+ /* DWARF 4. */
+ DW_ATE_UTF = 0x10,
/* HP extensions. */
DW_ATE_HP_float80 = 0x80, /* Floating-point (80 bit). */
DW_ATE_HP_complex_float80 = 0x81, /* Complex floating-point (80 bit). */
Modified: branches/VALGRIND_3_6_BRANCH/coregrind/m_debuginfo/readdwarf3.c
===================================================================
--- branches/VALGRIND_3_6_BRANCH/coregrind/m_debuginfo/readdwarf3.c 2010-10-20 20:58:24 UTC (rev 11463)
+++ branches/VALGRIND_3_6_BRANCH/coregrind/m_debuginfo/readdwarf3.c 2010-10-20 21:11:20 UTC (rev 11464)
@@ -2149,6 +2149,7 @@
if (attr == DW_AT_encoding && ctsSzB > 0) {
switch (cts) {
case DW_ATE_unsigned: case DW_ATE_unsigned_char:
+ case DW_ATE_UTF: /* since DWARF4, e.g. char16_t from C++ */
case DW_ATE_boolean:/* FIXME - is this correct? */
typeE.Te.TyBase.enc = 'U'; break;
case DW_ATE_signed: case DW_ATE_signed_char:
|
|
From: <sv...@va...> - 2010-10-20 20:58:35
|
Author: sewardj Date: 2010-10-20 21:58:24 +0100 (Wed, 20 Oct 2010) New Revision: 11463 Log: Merge from trunk, revs 11448, 11449, 11458 (support for using build-id to find debugging information) Modified: branches/VALGRIND_3_6_BRANCH/coregrind/m_debuginfo/readelf.c Modified: branches/VALGRIND_3_6_BRANCH/coregrind/m_debuginfo/readelf.c =================================================================== --- branches/VALGRIND_3_6_BRANCH/coregrind/m_debuginfo/readelf.c 2010-10-20 17:07:01 UTC (rev 11462) +++ branches/VALGRIND_3_6_BRANCH/coregrind/m_debuginfo/readelf.c 2010-10-20 20:58:24 UTC (rev 11463) @@ -70,7 +70,9 @@ # define ElfXX_Ehdr Elf32_Ehdr # define ElfXX_Shdr Elf32_Shdr # define ElfXX_Phdr Elf32_Phdr +# define ElfXX_Nhdr Elf32_Nhdr # define ElfXX_Sym Elf32_Sym +# define ElfXX_Off Elf32_Off # define ElfXX_Word Elf32_Word # define ElfXX_Addr Elf32_Addr # define ElfXX_Dyn Elf32_Dyn @@ -81,7 +83,9 @@ # define ElfXX_Ehdr Elf64_Ehdr # define ElfXX_Shdr Elf64_Shdr # define ElfXX_Phdr Elf64_Phdr +# define ElfXX_Nhdr Elf64_Nhdr # define ElfXX_Sym Elf64_Sym +# define ElfXX_Off Elf64_Off # define ElfXX_Word Elf64_Word # define ElfXX_Addr Elf64_Addr # define ElfXX_Dyn Elf64_Dyn @@ -852,6 +856,56 @@ /* + * Look for a build-id in an ELF image. The build-id specification + * can be found here: + * + * http://fedoraproject.org/wiki/RolandMcGrath/BuildID + */ +static +Char *find_buildid(Addr image, UWord n_image) +{ + Char* buildid = NULL; + ElfXX_Ehdr* ehdr = (ElfXX_Ehdr*)image; + +#ifdef NT_GNU_BUILD_ID + if (n_image >= sizeof(ElfXX_Ehdr) && + ML_(is_elf_object_file)(ehdr, n_image)) { + Word i; + + for (i = 0; i < ehdr->e_phnum; i++) { + ElfXX_Phdr* phdr = (ElfXX_Phdr*)(image + ehdr->e_phoff + i * ehdr->e_phentsize); + + if (phdr->p_type == PT_NOTE) { + ElfXX_Off offset = phdr->p_offset; + + while (offset < phdr->p_offset + phdr->p_filesz) { + ElfXX_Nhdr* note = (ElfXX_Nhdr*)(image + offset); + Char* name = (Char *)note + sizeof(ElfXX_Nhdr); + UChar *desc = (UChar *)name + ((note->n_namesz + 3) & ~3); + Word j; + + if (VG_(strcmp)(name, ELF_NOTE_GNU) == 0 && + note->n_type == NT_GNU_BUILD_ID) { + buildid = ML_(dinfo_zalloc)("di.fbi.1", note->n_descsz * 2 + 1); + + for (j = 0; j < note->n_descsz; j++) { + VG_(sprintf)(buildid + VG_(strlen)(buildid), "%02x", desc[j]); + } + } + + offset = offset + sizeof(ElfXX_Nhdr) + + ((note->n_namesz + 3) & ~3) + + ((note->n_descsz + 3) & ~3); + } + } + } + } +#endif + + return buildid; +} + +/* * This routine for calculating the CRC for a separate debug file * is GPLed code borrowed from GNU binutils. */ @@ -926,7 +980,7 @@ * not match the value from the main object file. */ static -Addr open_debug_file( Char* name, UInt crc, /*OUT*/UWord* size ) +Addr open_debug_file( Char* name, Char* buildid, UInt crc, /*OUT*/UWord* size ) { SysRes fd, sres; struct vg_stat stat_buf; @@ -943,7 +997,7 @@ if (VG_(clo_verbosity) > 1) VG_(message)(Vg_DebugMsg, " Considering %s ..\n", name); - + *size = stat_buf.size; sres = VG_(am_mmap_file_float_valgrind) @@ -954,18 +1008,35 @@ if (sr_isError(sres)) return 0; - calccrc = calc_gnu_debuglink_crc32(0, (UChar*)sr_Res(sres), *size); - if (calccrc != crc) { - SysRes res = VG_(am_munmap_valgrind)(sr_Res(sres), *size); - vg_assert(!sr_isError(res)); + if (buildid) { + Char* debug_buildid = find_buildid(sr_Res(sres), *size); + if (debug_buildid == NULL || VG_(strcmp)(buildid, debug_buildid) != 0) { + SysRes res = VG_(am_munmap_valgrind)(sr_Res(sres), *size); + vg_assert(!sr_isError(res)); + if (VG_(clo_verbosity) > 1) + VG_(message)(Vg_DebugMsg, + " .. build-id mismatch (found %s wanted %s)\n", debug_buildid, buildid); + ML_(dinfo_free)(debug_buildid); + return 0; + } + ML_(dinfo_free)(debug_buildid); + if (VG_(clo_verbosity) > 1) - VG_(message)(Vg_DebugMsg, - " .. CRC mismatch (computed %08x wanted %08x)\n", calccrc, crc); - return 0; + VG_(message)(Vg_DebugMsg, " .. build-id is valid\n"); + } else { + calccrc = calc_gnu_debuglink_crc32(0, (UChar*)sr_Res(sres), *size); + if (calccrc != crc) { + SysRes res = VG_(am_munmap_valgrind)(sr_Res(sres), *size); + vg_assert(!sr_isError(res)); + if (VG_(clo_verbosity) > 1) + VG_(message)(Vg_DebugMsg, + " .. CRC mismatch (computed %08x wanted %08x)\n", calccrc, crc); + return 0; + } + + if (VG_(clo_verbosity) > 1) + VG_(message)(Vg_DebugMsg, " .. CRC is valid\n"); } - - if (VG_(clo_verbosity) > 1) - VG_(message)(Vg_DebugMsg, " .. CRC is valid\n"); return sr_Res(sres); } @@ -975,39 +1046,58 @@ */ static Addr find_debug_file( struct _DebugInfo* di, - Char* objpath, Char* debugname, - UInt crc, /*OUT*/UWord* size ) + Char* objpath, Char* buildid, + Char* debugname, UInt crc, + /*OUT*/UWord* size ) { - Char *objdir = ML_(dinfo_strdup)("di.fdf.1", objpath); - Char *objdirptr; - Char *debugpath; + Char *debugpath = NULL; Addr addr = 0; - - if ((objdirptr = VG_(strrchr)(objdir, '/')) != NULL) - *objdirptr = '\0'; - debugpath = ML_(dinfo_zalloc)( - "di.fdf.2", - VG_(strlen)(objdir) + VG_(strlen)(debugname) + 32); - - VG_(sprintf)(debugpath, "%s/%s", objdir, debugname); + if (buildid != NULL) { + debugpath = ML_(dinfo_zalloc)( + "di.fdf.1", + VG_(strlen)(buildid) + 33); - if ((addr = open_debug_file(debugpath, crc, size)) == 0) { - VG_(sprintf)(debugpath, "%s/.debug/%s", objdir, debugname); - if ((addr = open_debug_file(debugpath, crc, size)) == 0) { - VG_(sprintf)(debugpath, "/usr/lib/debug%s/%s", objdir, debugname); - addr = open_debug_file(debugpath, crc, size); + VG_(sprintf)(debugpath, "/usr/lib/debug/.build-id/%c%c/%s.debug", + buildid[0], buildid[1], buildid + 2); + + if ((addr = open_debug_file(debugpath, buildid, 0, size)) == 0) { + ML_(dinfo_free)(debugpath); + debugpath = NULL; } } + if (addr == 0 && debugname != NULL) { + Char *objdir = ML_(dinfo_strdup)("di.fdf.2", objpath); + Char *objdirptr; + + if ((objdirptr = VG_(strrchr)(objdir, '/')) != NULL) + *objdirptr = '\0'; + + debugpath = ML_(dinfo_zalloc)( + "di.fdf.3", + VG_(strlen)(objdir) + VG_(strlen)(debugname) + 32); + + VG_(sprintf)(debugpath, "%s/%s", objdir, debugname); + + if ((addr = open_debug_file(debugpath, NULL, crc, size)) == 0) { + VG_(sprintf)(debugpath, "%s/.debug/%s", objdir, debugname); + if ((addr = open_debug_file(debugpath, NULL, crc, size)) == 0) { + VG_(sprintf)(debugpath, "/usr/lib/debug%s/%s", objdir, debugname); + addr = open_debug_file(debugpath, NULL, crc, size); + } + } + + ML_(dinfo_free)(objdir); + } + if (addr) { TRACE_SYMTAB("\n"); TRACE_SYMTAB("------ Found a debuginfo file: %s\n", debugpath); } ML_(dinfo_free)(debugpath); - ML_(dinfo_free)(objdir); - + return addr; } @@ -1100,6 +1190,9 @@ Addr rw_svma_limit = 0; PtrdiffT rw_bias = 0; + /* Build ID */ + Char* buildid = NULL; + vg_assert(di); vg_assert(di->have_rx_map == True); vg_assert(di->have_rw_map == True); @@ -1849,21 +1942,32 @@ # undef FIND } - - /* Did we find a debuglink section? */ - if (debuglink_img != NULL) { - UInt crc_offset = VG_ROUNDUP(VG_(strlen)(debuglink_img)+1, 4); - UInt crc; - vg_assert(crc_offset + sizeof(UInt) <= debuglink_sz); + /* Look for a build-id */ + buildid = find_buildid(oimage, n_oimage); - /* Extract the CRC from the debuglink section */ - crc = *(UInt *)(debuglink_img + crc_offset); + /* Look for a debug image */ + if (buildid != NULL || debuglink_img != NULL) { + /* Do have a debuglink section? */ + if (debuglink_img != NULL) { + UInt crc_offset = VG_ROUNDUP(VG_(strlen)(debuglink_img)+1, 4); + UInt crc; - /* See if we can find a matching debug file */ - dimage = find_debug_file( di, di->filename, debuglink_img, - crc, &n_dimage ); + vg_assert(crc_offset + sizeof(UInt) <= debuglink_sz); + /* Extract the CRC from the debuglink section */ + crc = *(UInt *)(debuglink_img + crc_offset); + + /* See if we can find a matching debug file */ + dimage = find_debug_file( di, di->filename, buildid, + debuglink_img, crc, &n_dimage ); + } else { + /* See if we can find a matching debug file */ + dimage = find_debug_file( di, di->filename, buildid, NULL, 0, &n_dimage ); + } + + ML_(dinfo_free)(buildid); + if (dimage != 0 && n_dimage >= sizeof(ElfXX_Ehdr) && ML_(is_elf_object_file)((void*)dimage, n_dimage)) { |
|
From: <sv...@va...> - 2010-10-20 17:07:09
|
Author: sewardj
Date: 2010-10-20 18:07:01 +0100 (Wed, 20 Oct 2010)
New Revision: 11462
Log:
Finalise doc stuff for 3.6.0.
Modified:
trunk/NEWS
trunk/docs/xml/vg-entities.xml
Modified: trunk/NEWS
===================================================================
--- trunk/NEWS 2010-10-20 15:58:09 UTC (rev 11461)
+++ trunk/NEWS 2010-10-20 17:07:01 UTC (rev 11462)
@@ -1,5 +1,5 @@
-Release 3.6.0 (18 October 2010)
+Release 3.6.0 (21 October 2010)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3.6.0 is a feature release with many significant improvements and the
usual collection of bug fixes.
@@ -25,7 +25,7 @@
* A new experimental heap profiler, DHAT.
-* A huge number of bug fixes.
+* A huge number of bug fixes and small enhancements.
-------------------------
@@ -57,7 +57,7 @@
64-bit mode. In 32-bit mode, support is only available up to and
including SSSE3. Some exceptions: SSE4.2 AES instructions are not
supported in 64-bit mode, and 32-bit mode does in fact support the
- bare minimum SSE4 instructions to needed to run programs on MacOSX
+ bare minimum SSE4 instructions to needed to run programs on Mac OS X
10.6 on 32-bit targets.
* Support for IBM POWER6 cpus has been improved. The Power ISA up to
@@ -89,7 +89,7 @@
should not be considered authoritative. The results are still
useful for giving a general idea about a program's locality.
-- Massif has a new option, --pages-as-heap, which is disabled by
+* Massif has a new option, --pages-as-heap, which is disabled by
default. When enabled, instead of tracking allocations at the level
of heap blocks (as allocated with malloc/new/new[]), it instead
tracks memory allocations at the level of memory pages (as mapped by
@@ -111,7 +111,7 @@
pointer implementation.
* Helgrind's annotation set has also been drastically improved, so as
- to provide to users, a general set of annotations to describe locks,
+ to provide to users a general set of annotations to describe locks,
semaphores, barriers and condition variables. Annotations to
describe thread-safe reference counted heap objects have also been
added.
@@ -134,18 +134,19 @@
approximately a factor of 5 as compared with 3.5.0.
* Ability to show directory names for source files in error messages.
- This is combined with a flexible mechanism
- for specifying which parts of the paths should be shown.
- This is enabled by the new flag --fullpath-after.
+ This is combined with a flexible mechanism for specifying which
+ parts of the paths should be shown. This is enabled by the new flag
+ --fullpath-after.
* A new flag, --require-text-symbol, which will stop the run if a
specified symbol is not found it a given shared object when it is
- loaded into the process. This makes some advanced working with
- function intercepting and wrapping safer and more reliable.
+ loaded into the process. This makes advanced working with function
+ intercepting and wrapping safer and more reliable.
-* Improved support for the Valkyrie GUI, version 1.6.0. GUI output
- and control of Valgrind is now available for the tools Memcheck,
- Helgrind and Ptrcheck.
+* Improved support for the Valkyrie GUI, version 2.0.0. GUI output
+ and control of Valgrind is now available for the tools Memcheck and
+ Helgrind. XML output from Valgrind is available for Memcheck,
+ Helgrind and exp-Ptrcheck.
* More reliable stack unwinding on amd64-linux, particularly in the
presence of function wrappers, and with gcc-4.5 compiled code.
@@ -190,7 +191,9 @@
250101 huge "free" memory usage due to m_mallocfree.c
"superblocks fragmentation"
251569 vex amd64->IR: 0xF 0x1 0xF9 0x8B 0x4C 0x24 (RDTSCP)
- 252600 [PATCH] Allow lhs to be a pointer for shl/shr
+ 252091 Callgrind on ARM does not detect function returns correctly
+ 252600 [PATCH] Allow lhs to be a pointer for shl/shr
+ 254420 memory pool tracking broken
n-i-bz support for adding symbols for JIT generated code
@@ -303,11 +306,18 @@
251362 valgrind: ARM: attach to debugger either fails or provokes
kernel oops
251674 Unhandled syscall 294
+251818 == 254550
-(3.6.0: 18 October 2010, vex rXXXX, valgrind rXXXXX).
+254257 Add support for debugfiles found by build-id
+254550 [PATCH] Implement DW_ATE_UTF (DWARF4)
+254646 Wrapped functions cause stack misalignment on OS X
+ (and possibly Linux)
+254556 ARM: valgrinding anything fails with SIGSEGV for 0xFFFF0FA0
+(3.6.0: 21 October 2010, vex rXXXX, valgrind rXXXXX).
+
Release 3.5.0 (19 August 2009)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3.5.0 is a feature release with many significant improvements and the
Modified: trunk/docs/xml/vg-entities.xml
===================================================================
--- trunk/docs/xml/vg-entities.xml 2010-10-20 15:58:09 UTC (rev 11461)
+++ trunk/docs/xml/vg-entities.xml 2010-10-20 17:07:01 UTC (rev 11462)
@@ -7,7 +7,7 @@
<!-- valgrind release + version stuff -->
<!ENTITY rel-type "Release">
<!ENTITY rel-version "3.6.0">
-<!ENTITY rel-date "18 October 2010">
+<!ENTITY rel-date "21 October 2010">
<!-- where the docs are installed -->
<!ENTITY vg-docs-path "$INSTALL/share/doc/valgrind/html/index.html">
|
|
From: adnan i. <adn...@se...> - 2010-10-20 16:58:30
|
Dear All, We are trying to port Valgrind to MIPS/Linux Architecture. When we enable instrumentation for tools (memcheck), the programs execute properly, however, instrumentation output is not displayed. For example, our client program has a malloc and that memory is not freed. When we run this program under valgrind with memcheck, memory leaks remain zero. Our observation shows that memcheck wrapper for malloc is replaced/redirected properly. The fact that this wrapper function actually gets called depends upon the macros in valgrind.h (VALGRIND_DO_CLIENT_REQUEST). We have implemented the code relating the magic sequence in VEX but this code never appears in the IR. Therefore, scheduler never receives the return code of VEX_JMP_TRC_CLIENTREQ. We are unable to figure out how magic sequence becomes part of the client code. Any thing that we are missing in the entire process? Thank you very much Adnan |
|
From: <sv...@va...> - 2010-10-20 15:58:20
|
Author: sewardj
Date: 2010-10-20 16:58:09 +0100 (Wed, 20 Oct 2010)
New Revision: 11461
Log:
Preserve the stack's 16-alignment in x86 and amd64 wrappers.
Fixes #254646.
Modified:
trunk/include/valgrind.h
Modified: trunk/include/valgrind.h
===================================================================
--- trunk/include/valgrind.h 2010-10-20 15:43:09 UTC (rev 11460)
+++ trunk/include/valgrind.h 2010-10-20 15:58:09 UTC (rev 11461)
@@ -812,10 +812,11 @@
_argvec[0] = (unsigned long)_orig.nraddr; \
_argvec[1] = (unsigned long)(arg1); \
__asm__ volatile( \
+ "subl $12, %%esp\n\t" \
"pushl 4(%%eax)\n\t" \
"movl (%%eax), %%eax\n\t" /* target->%eax */ \
VALGRIND_CALL_NOREDIR_EAX \
- "addl $4, %%esp\n" \
+ "addl $16, %%esp\n" \
: /*out*/ "=a" (_res) \
: /*in*/ "a" (&_argvec[0]) \
: /*trash*/ "cc", "memory", __CALLER_SAVED_REGS \
@@ -832,11 +833,12 @@
_argvec[1] = (unsigned long)(arg1); \
_argvec[2] = (unsigned long)(arg2); \
__asm__ volatile( \
+ "subl $8, %%esp\n\t" \
"pushl 8(%%eax)\n\t" \
"pushl 4(%%eax)\n\t" \
"movl (%%eax), %%eax\n\t" /* target->%eax */ \
VALGRIND_CALL_NOREDIR_EAX \
- "addl $8, %%esp\n" \
+ "addl $16, %%esp\n" \
: /*out*/ "=a" (_res) \
: /*in*/ "a" (&_argvec[0]) \
: /*trash*/ "cc", "memory", __CALLER_SAVED_REGS \
@@ -854,12 +856,13 @@
_argvec[2] = (unsigned long)(arg2); \
_argvec[3] = (unsigned long)(arg3); \
__asm__ volatile( \
+ "subl $4, %%esp\n\t" \
"pushl 12(%%eax)\n\t" \
"pushl 8(%%eax)\n\t" \
"pushl 4(%%eax)\n\t" \
"movl (%%eax), %%eax\n\t" /* target->%eax */ \
VALGRIND_CALL_NOREDIR_EAX \
- "addl $12, %%esp\n" \
+ "addl $16, %%esp\n" \
: /*out*/ "=a" (_res) \
: /*in*/ "a" (&_argvec[0]) \
: /*trash*/ "cc", "memory", __CALLER_SAVED_REGS \
@@ -904,6 +907,7 @@
_argvec[4] = (unsigned long)(arg4); \
_argvec[5] = (unsigned long)(arg5); \
__asm__ volatile( \
+ "subl $12, %%esp\n\t" \
"pushl 20(%%eax)\n\t" \
"pushl 16(%%eax)\n\t" \
"pushl 12(%%eax)\n\t" \
@@ -911,7 +915,7 @@
"pushl 4(%%eax)\n\t" \
"movl (%%eax), %%eax\n\t" /* target->%eax */ \
VALGRIND_CALL_NOREDIR_EAX \
- "addl $20, %%esp\n" \
+ "addl $32, %%esp\n" \
: /*out*/ "=a" (_res) \
: /*in*/ "a" (&_argvec[0]) \
: /*trash*/ "cc", "memory", __CALLER_SAVED_REGS \
@@ -932,6 +936,7 @@
_argvec[5] = (unsigned long)(arg5); \
_argvec[6] = (unsigned long)(arg6); \
__asm__ volatile( \
+ "subl $8, %%esp\n\t" \
"pushl 24(%%eax)\n\t" \
"pushl 20(%%eax)\n\t" \
"pushl 16(%%eax)\n\t" \
@@ -940,7 +945,7 @@
"pushl 4(%%eax)\n\t" \
"movl (%%eax), %%eax\n\t" /* target->%eax */ \
VALGRIND_CALL_NOREDIR_EAX \
- "addl $24, %%esp\n" \
+ "addl $32, %%esp\n" \
: /*out*/ "=a" (_res) \
: /*in*/ "a" (&_argvec[0]) \
: /*trash*/ "cc", "memory", __CALLER_SAVED_REGS \
@@ -963,6 +968,7 @@
_argvec[6] = (unsigned long)(arg6); \
_argvec[7] = (unsigned long)(arg7); \
__asm__ volatile( \
+ "subl $4, %%esp\n\t" \
"pushl 28(%%eax)\n\t" \
"pushl 24(%%eax)\n\t" \
"pushl 20(%%eax)\n\t" \
@@ -972,7 +978,7 @@
"pushl 4(%%eax)\n\t" \
"movl (%%eax), %%eax\n\t" /* target->%eax */ \
VALGRIND_CALL_NOREDIR_EAX \
- "addl $28, %%esp\n" \
+ "addl $32, %%esp\n" \
: /*out*/ "=a" (_res) \
: /*in*/ "a" (&_argvec[0]) \
: /*trash*/ "cc", "memory", __CALLER_SAVED_REGS \
@@ -1031,6 +1037,7 @@
_argvec[8] = (unsigned long)(arg8); \
_argvec[9] = (unsigned long)(arg9); \
__asm__ volatile( \
+ "subl $12, %%esp\n\t" \
"pushl 36(%%eax)\n\t" \
"pushl 32(%%eax)\n\t" \
"pushl 28(%%eax)\n\t" \
@@ -1042,7 +1049,7 @@
"pushl 4(%%eax)\n\t" \
"movl (%%eax), %%eax\n\t" /* target->%eax */ \
VALGRIND_CALL_NOREDIR_EAX \
- "addl $36, %%esp\n" \
+ "addl $48, %%esp\n" \
: /*out*/ "=a" (_res) \
: /*in*/ "a" (&_argvec[0]) \
: /*trash*/ "cc", "memory", __CALLER_SAVED_REGS \
@@ -1068,6 +1075,7 @@
_argvec[9] = (unsigned long)(arg9); \
_argvec[10] = (unsigned long)(arg10); \
__asm__ volatile( \
+ "subl $8, %%esp\n\t" \
"pushl 40(%%eax)\n\t" \
"pushl 36(%%eax)\n\t" \
"pushl 32(%%eax)\n\t" \
@@ -1080,7 +1088,7 @@
"pushl 4(%%eax)\n\t" \
"movl (%%eax), %%eax\n\t" /* target->%eax */ \
VALGRIND_CALL_NOREDIR_EAX \
- "addl $40, %%esp\n" \
+ "addl $48, %%esp\n" \
: /*out*/ "=a" (_res) \
: /*in*/ "a" (&_argvec[0]) \
: /*trash*/ "cc", "memory", __CALLER_SAVED_REGS \
@@ -1108,6 +1116,7 @@
_argvec[10] = (unsigned long)(arg10); \
_argvec[11] = (unsigned long)(arg11); \
__asm__ volatile( \
+ "subl $4, %%esp\n\t" \
"pushl 44(%%eax)\n\t" \
"pushl 40(%%eax)\n\t" \
"pushl 36(%%eax)\n\t" \
@@ -1121,7 +1130,7 @@
"pushl 4(%%eax)\n\t" \
"movl (%%eax), %%eax\n\t" /* target->%eax */ \
VALGRIND_CALL_NOREDIR_EAX \
- "addl $44, %%esp\n" \
+ "addl $48, %%esp\n" \
: /*out*/ "=a" (_res) \
: /*in*/ "a" (&_argvec[0]) \
: /*trash*/ "cc", "memory", __CALLER_SAVED_REGS \
@@ -1478,7 +1487,7 @@
_argvec[7] = (unsigned long)(arg7); \
__asm__ volatile( \
VALGRIND_CFI_PROLOGUE \
- "subq $128,%%rsp\n\t" \
+ "subq $136,%%rsp\n\t" \
"pushq 56(%%rax)\n\t" \
"movq 48(%%rax), %%r9\n\t" \
"movq 40(%%rax), %%r8\n\t" \
@@ -1489,7 +1498,7 @@
"movq (%%rax), %%rax\n\t" /* target->%rax */ \
VALGRIND_CALL_NOREDIR_RAX \
"addq $8, %%rsp\n" \
- "addq $128,%%rsp\n\t" \
+ "addq $136,%%rsp\n\t" \
VALGRIND_CFI_EPILOGUE \
: /*out*/ "=a" (_res) \
: /*in*/ "a" (&_argvec[0]) __FRAME_POINTER \
@@ -1554,7 +1563,7 @@
_argvec[9] = (unsigned long)(arg9); \
__asm__ volatile( \
VALGRIND_CFI_PROLOGUE \
- "subq $128,%%rsp\n\t" \
+ "subq $136,%%rsp\n\t" \
"pushq 72(%%rax)\n\t" \
"pushq 64(%%rax)\n\t" \
"pushq 56(%%rax)\n\t" \
@@ -1567,7 +1576,7 @@
"movq (%%rax), %%rax\n\t" /* target->%rax */ \
VALGRIND_CALL_NOREDIR_RAX \
"addq $24, %%rsp\n" \
- "addq $128,%%rsp\n\t" \
+ "addq $136,%%rsp\n\t" \
VALGRIND_CFI_EPILOGUE \
: /*out*/ "=a" (_res) \
: /*in*/ "a" (&_argvec[0]) __FRAME_POINTER \
@@ -1638,7 +1647,7 @@
_argvec[11] = (unsigned long)(arg11); \
__asm__ volatile( \
VALGRIND_CFI_PROLOGUE \
- "subq $128,%%rsp\n\t" \
+ "subq $136,%%rsp\n\t" \
"pushq 88(%%rax)\n\t" \
"pushq 80(%%rax)\n\t" \
"pushq 72(%%rax)\n\t" \
@@ -1653,7 +1662,7 @@
"movq (%%rax), %%rax\n\t" /* target->%rax */ \
VALGRIND_CALL_NOREDIR_RAX \
"addq $40, %%rsp\n" \
- "addq $128,%%rsp\n\t" \
+ "addq $136,%%rsp\n\t" \
VALGRIND_CFI_EPILOGUE \
: /*out*/ "=a" (_res) \
: /*in*/ "a" (&_argvec[0]) __FRAME_POINTER \
|