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
(16) |
2
(22) |
3
(23) |
4
(12) |
5
(24) |
6
(28) |
7
(16) |
|
8
(3) |
9
(2) |
10
(9) |
11
(22) |
12
(19) |
13
(19) |
14
(15) |
|
15
(10) |
16
(23) |
17
(27) |
18
(31) |
19
(26) |
20
(19) |
21
(17) |
|
22
(6) |
23
(4) |
24
(3) |
25
(14) |
26
(1) |
27
(20) |
28
(14) |
|
29
(10) |
30
(26) |
|
|
|
|
|
|
From: <sv...@va...> - 2013-09-19 23:04:25
|
Author: sewardj
Date: Thu Sep 19 23:04:03 2013
New Revision: 13572
Log:
More bug triage.
Modified:
trunk/NEWS
trunk/docs/internals/3_8_BUGSTATUS.txt
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Thu Sep 19 23:04:03 2013
@@ -56,6 +56,15 @@
'v.do expensive_sanity_check_general' that checks the sanity
of various Valgrind aspects, including the Valgrind heap.
+ - remote debuginfo server + overhaul of debuginfo reading
+
+ - some fixes for OSX 10.8
+
+ - partial-loads-ok now works for 16 and 32 byte loads
+ and in general improved handling of vectorised code
+
+
+
* ==================== FIXED BUGS ====================
The following bugs have been fixed or resolved. Note that "n-i-bz"
@@ -230,6 +239,8 @@
FIXED 13294
315545 [390] (find_TTEntry_from_hcode): Assertion '(UChar*)sec->tt[tteNo].tcptr <= (UChar*)hcode' failed
+321814 == 315545
+
316535 [390] Use of |signed int| instead of (unsigned) |size_t| in valgrind messages...
315959 [390] valgrind man page has bogus SGCHECK (and no BBV) OPTIONS section
316144 [390] valgrind.1 manpage contains unknown ??? strings for some core option references
@@ -512,6 +523,43 @@
322294 Add initial support for IBM Power ISA 2.07
FIXED 2740 13494, but needs close
+324816 Incorrect VEX implementation for xscvspdp/xvcvspdp regarding SNaN inputs
+ FIXED 2760 13544
+
+324765 ppc64: illegal instruction when executing none/tests/ppc64/jm-misc
+ FIXED 13562
+
+323893 SSE3 not available on amd cpus in valgrind
+ No action so far; maybe MJW can look at it
+ FIXED 2761
+
+320895 add fanotify support (patch included)
+ FIXED 13460
+
+320057 We have problems when we try to mmap more than 12 memory pages
+ on MIPS32 when we are using Valgrind
+ FIXED 13450
+
+319505 [MIPSEL] Crash: unhandled UNRAY operator.
+ FIXED 2729
+
+319494 VEX Makefile-gcc standalone build update after r2702
+ FIXED 2702
+
+318929 Crash with: disInstr(thumb): 0xF321 0x0001 (ssat16)
+ FIXED 2721 13396
+
+318773 unhandled instruction bytes: 0xF3 0x48 0x0F 0xBC 0xC2 0xC3 0x66 0x0F
+ tzcnt? == 295808, but not closed
+ FIXED 2478
+
+318203 setsockopt handling needs to handle SOL_SOCKET/SO_ATTACH_FILTER
+ FIXED 13461
+
+316761 syscall open_by_handle_at (304 on amd64, 342 on x86) not handled
+ FIXED 13459
+
+
Release 3.8.1 (19 September 2012)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Modified: trunk/docs/internals/3_8_BUGSTATUS.txt
==============================================================================
--- trunk/docs/internals/3_8_BUGSTATUS.txt (original)
+++ trunk/docs/internals/3_8_BUGSTATUS.txt Thu Sep 19 23:04:03 2013
@@ -327,98 +327,83 @@
316034 Building valgrind with gcc (4.7, trunk) fails on MacOS X 10.8
-- Mon Mar 4 11:36:17 CET 2013
+XXX 20 Sept 2013: triaged back to here
-!! 294285 LoPresti 16-byte helper returns
+294285 --partial-loads-ok does not work for 16-byte SSE loads
+ FIXED (multiple commits)
+ Requires regtest hookup on ppc
316382 Support for AMDs FMA4 instructions seem to be missing
No action so far
+ Severity: high Audience: low
316528 Dump for cachegrind
Wishlist
316612 A -Wunused-value warning from Clang when including memcheck.h
Probably needs doc update
-
-316613 valgrind seg-faults in get_StackTrace_wrk under 32-bit
- x86 app using makecontext
- WONTFIX (is that the correct resolution?)
+ Severity: low Audience: med
316696 fluidanimate program of parsec 2.1 stuck (do not finish
for more than 5 hours)
No action so far (DRD specific)
-
-316761 syscall open_by_handle_at (304 on amd64, 342 on x86) not handled
- Has patch; looks plausible; no action so far
+ NEEDINFO
+ Severity: high Audience: low
316874 amd64->IR: 0xC4 0xE2 0xF8 0xF2 0x85 0x30 0xFF 0xFF
Probably some AMD FMA insn?
- QUERIED
+ Severity: high Audience: low
316903 memcheck/tests/origin5-bz2 FAIL with gcc-4.5+
Possibly a real bug
+ Severity: med Audience: med
317078 _mm_madd_epi16, undefined * 0 should not give uninitialised result
True, but probably difficult to fix without perf hit
+ Prio: low
317127 Fedora18/x86_64 --sanity-level=3 : aspacem segment mismatch
Diagnosed (BTRFS specific); unclear what to do, if anything
317208 vex x86->IR: unhandled instruction bytes: 0xC8 0x0 0x0 0x0
"enter $0,$0" created by D language compiler
-
-317311 Helgrind shouldn't report errors for memories allocated
- inside pthread/mutex methods
- FreeBSD+Helgrind weirdness
+ Severity: high Audience: low
317381 helgrind warns about xchg vs suppressed store
No action so far. Not sure there's an easy fix for this.
+ Severity: med Audience: low
317390 Patch for FBLD/FBSTP/FTST
Needs cleanup+test cases. Queried.
+ Severity: high Audience: low
317441 Add support for AMD's LWP (LightWeight Profiling) architecture
extension
Contains plausible infrastructure patch; no insns so far tho
+ This is going to need some working through. Probably OK.
+ Not sure if can make 3.9.
+ Severity: high Audience: low
317698 parse_var_DIE: confused by: DW_TAG_compile_unit using
Intel 13.0 update 3 compiler
Reporter has queried Intel since this might be an ICC bug
+ NEEDINFO
+ Severity: med Audience: low
317893 massif terminates without any message
- Probably just a memory limit thing. Close as a dup, but
- of what?
+ Probably just a memory limit thing. Close as a dup, but of what?
+ NEEDINFO
318030 addHRegUse takes a lot of CPU time; band-aid speedup
patch within
No action so far
+ Needs review; would be nice to redo this with a more robust API
318050 libmpiwrap fails to compile with out-of-source build
- Has simple-sounding fix; should commit.
+ FIX 3.9 (commit)
Thu Apr 11 18:16:04 CEST 2013
-318203 setsockopt handling needs to handle SOL_SOCKET/SO_ATTACH_FILTER
- Has patch, looks plausible
-
-318505 Valgrind (callgrind) cannot handle recvmmsg system call
- INVALID (old version)
-
-318575 Does not running. CRC mismatch wanted 0fcc7297
- Probably invalid -- inability to find ld.so symbols at startup
-
-318656 (dpps) vex x86->IR: 0x66 0xf 0x3a 0x40 0xc1 0xf1
- WONTFIX (SSE4 on 32-bit x86)
-
-318773 unhandled instruction bytes: 0xF3 0x48 0x0F 0xBC 0xC2 0xC3 0x66 0x0F
- tzcnt? == 295808, but not closed
-
-318929 Crash with: disInstr(thumb): 0xF321 0x0001 (ssat16)
- FIXED 2721 13396
-
-319225 QA Notice: Package triggers severe warnings which indicate
- that it may exhibit random runtime failures.
- We should close as WONTFIX
-
319237 [PATCH] Added support for ELF injection
FreeBSD-specific
@@ -430,59 +415,54 @@
319307 Patches to let test suite run in parallel
Looks plausible
+ Wishlist, effectively (has patch)
319393 bad rounding in cvtsi2ss instruction
Not started. Looks valid. (double rounding)
+ Severity: med Audience: low
319419 unhandled syscall: unix:369
- OSX specific
-
-319494 VEX Makefile-gcc standalone build update after r2702
- Has patch; should land it.
-
-319505 [MIPSEL] Crash: unhandled UNRAY operator.
- --> petarj
+ OSX108-specific
319547 helgrind gives false positives on rwlocks
- Needs investigation
+ Needs investigation. Quite possibly a real bug.
+ Severity: med Audience: med
319896 vex amd64->IR: 0x8C 0xE0
Probably requires proper segment support, but need to check.
-
-319968 disInstr(arm): 0x69746E65 (valgrind_v3.81, cortex-A9)
- INVALID (needs closing)
-
-320058 We have problems when we try to mmap more than 12 memory pages
- on MIPS32 when we are using Valgrind
- --> petarj
+ Severity: high Audience: low
320082 disInstr(thumb): unhandled instruction on instruction LDRB
Has patch
LDRB; surely already supported? Queried.
+ MMhmh, untestable?
+ Severity: high Audience: low
320100 Add nanosecond timer support
A bigger patch depends on it, but that has not appeared yet
+ Wishlist, + as yet incomplete
320131 WARNING: unhandled syscall: 369 on ARM (prlimit64)
- Has patch
+ FIX 3.9 (the simple patch)
320546 valgrind exits with "Assertion 'in_rx' failed"
for /system/lib/libva-android.so on Android 4.0.4
Need more info (the .so); queried.
+ MAYBE FIX 3.9 (potentially serious)
320661 vgModuleLocal_read_elf_debug_info(): "Assertion '!di->soname'
failed" on weird files
- Has patch; needs resync (Queried)
-
-320895 add fanotify support (patch included)
- Has patches but need more work; queried
+ Has patch;
+ FIX 3.9 (commit); looks very simple
320965 Unrecognised instruction __ieee754_pow_sse2
Not sure what this is. Queried.
+ Severity: high Audience: low (??)
320998 vex amd64->IR pcmpestri and pcmpestrm SSE4.2 instructions are
unsupported (by version 3.8.1)
PCMPxSTRx $0x30, $0x40
+ Severity: high Audience: low
321396 Add Support for Freescale e500v2 SPE Architecture.
Is metabug? -- no patch, no details
@@ -493,14 +473,8 @@
321401 Add Support for Freescale e6500 Architecture.
No patch, no details
-321444 Multi-byte fill options
- Wishlist
-
321681 printf false positive
- Probably WONTFIX
-
-321814 stepping through breakpoints in attached gdb process crashes valgrind
- OSX specific; queried
+ Severity: med Audience: low
321836 valgrind cross compilation failure on Ubuntu machine
MIPS specific?
@@ -509,185 +483,176 @@
321888 Unhandled instruction: LDRH (Thumb)
Has patch; plausible (needs checking)
+ FIX 3.9 (commit)
321891 Unhandled instruction: LDRHT (Thumb)
Has patch; plausible (needs checking)
+ FIX 3.9 (commit)
321892 Unhandled instruction: LDRSH (Thumb)
Has patch; plausible (needs checking)
+ FIX 3.9 (commit)
321902 disInstr(ARM): 0xECECA102
321903 == 321902
-
-322064 Instruction not recognized on i7 with gcc -march=native
- INVALID (AVX)
-
-322131 unhandled instruction bytes: 0xC5 0xFB 0x10 0x8D 0xC8 0xFB 0xFF 0xFF
- INVALID (AVX)
+ MAYBE 3.9 (query vgolubev)
322150 Add Support for Cavium Octeon Instructions
MIPS64; has patch; assigned to Petar
+ MAYBE 3.9 (query Petar)
322254 Show threadname together with tid if set by application
Contains plausible looking patch (what's with XML output??)
+ FIX 3.9 (commit)
322256 Provide more callstacks on memory pool related errors
Contains plausible patch; needs looking at
+ Severity: low Audience: low
322258 No thread notification is printed if new thread reused tid of
old thread that triggered last error
Contains plausible patch. Is bug fix. (should take)
-
-322279 vgdb fails on OSX Mountain Lion
- WONTFIX
-
-322499 False positive 'uninitialized bytes' error with fwrite
- INVALID
+ FIX 3.9 (commit)
322563 vex mips->IR: unhandled instruction bytes: 0x70 0x83 0xF0 0x3A
MIPS; assigned to Petar
-
-322566 Compilation failed on MAC OSX Darwin 10.8.0: option "-arch x86_64"
- not recognized by gcc 4.6.0
- QUERIED. Maybe use of FSF gcc instead of XCode variant?
+ MAYBE 3.9 (query Petar)
322586 Unknown instruction (bextr) in ld-2.15.so with --march=native on AMD FX-8350
AMD specific. Uninvestigated.
+ Severity: high Audience: low (??)
322593 Power 8 code to implement Transactional support
Implements pass-to-host scheme; not intended to land.
+ Severity: low (right now) Audience: low
322621 False positives with pthread_barrier_wait / helgrind
- Uninvestigated.
-
-322691 chainXDirect_ARM: Assertion is_imm32_to_iregNo_EXACTLY2 fails
- QUERIED
-
-322780 false positive due to use of red zone in openssl
- QUERIED, but is essentially an openssl problem. Probable wontfix.
-
-322818 disInstr(thumb): unhandled instruction: 0xEEBB 0x0BC8
- INVALID (is already fixed?)
-
-322935 disInstr(arm): unhandled instruction: 0xF1010200 (SETEND BE)
- Probably WONTFIX
+ Severity: med Audience: low
323020 more mysteries in valgrind thread stack handling
QUERIED
+ Severity: med Audience: low
323035 Unhandled instruction: LDRSHT(Thumb)
Has patch; plausible (needs checking)
+ FIX 3.9 (commit)
323036 Unhandled instruction: SMMLS (ARM and Thumb)
Has patch; plausible (needs checking) (duplication?)
+ FIX 3.9 (commit)
323046 Implement ANNOTATE_THREAD_NAME() Hellgrind annotation
Request for implementation
QUERIED .. is 322254 good enough?
+ Severity: low Audience: med
323175 Unhandled instruction: SMLALD (ARM + Thumb)
Has patch; plausible (needs checking) (duplication?)
+ FIX 3.9 (commit)
323177 Unhandled instruction: SMLSLD (ARM + Thumb)
Has patch; plausible (needs checking) (duplication?)
+ FIX 3.9 (commit)
323178 Unhandled instruction: PLDW register (ARM)
Has patch; plausible (needs checking)
+ FIX 3.9 (commit)
323179 Unhandled instruction: PLDW immediate (ARM)
Has patch; plausible (needs checking)
+ FIX 3.9 (commit)
323268 New calls for custom memory allocators
Obscure; needs investigation
+ Severity: low Audience: low
-323431 vex amd64->IR: 0x8F 0xE8 0x78 0xA2 0xC1 0x40 0xC5 0xFB
+323431 vex amd64->IR: 0x8F 0xE8 0x78 0xA2 0xC1 0x40 0xC5 0xFB
AMD-specific?
+ Severity: high Audience: low (??)
+ FIX 3.9 if can do it at no risk and no CPUID hassle
+ -- ask mjw
323432 Calling pthread_cond_destroy() or pthread_mutex_destroy()
with PTHREAD_COND_INITIALIZER/PTHREAD_MUTEX_INITIALIZER
triggers false positive
Has patch from pbos
+ FIX 3.9
323448 Check for memory overlap in sprintf()-like functions
- Wishlist
+ Severity: low Wishlist
323464 VALGRIND_MEMPOOL_ALLOC problems with size >= 2^32
64-bit uncleanness; no action so far; QUERIED
-
-323495 Detect when declared buffer size is too big
- WONTFIX
+ Severity: med Audience: low
323777 Documentation does not warn of sgcheck+darwin incompatibility
- True; should fix.
+ FIX 3.9
323803 Transactional memory instructions are not supported for Power
This is TM scheme 1 (immediate fail). Needs landing.
-
-323893 SSE3 not available on amd cpus in valgrind
- No action so far; maybe MJW can look at it
+ FIX 3.9 (?? queried Carl)
324047 Valgrind doesn't support [LDR,ST]{S}[B,H]T ARM instructions
Has patch; plausible (needs checking) (aren't these done already?)
+ FIX 3.9 (commit)
324050 Helgrind: SEGV because of unaligned stack when using movdqa
Needs to be looked at. Is this real, or some Gentoo-caused
breakage?
+ Severity: high (hg crash) Audience: low
324078 Track and show in logs which thread allocated memory
Probably sync-event-loss in Helgrind
+ Severity: high (hg correctness bug?) Audience: low
324081 3.8.1 Valgrind periodically hangs in long-running application
- NEEDINFO
+ NEEDINFO (requested)
324149 helgrind: When pthread_cond_timedwait returns ETIMEDOUT, helgrind
thinks the condvar is still waited on
- Has patches; needs looking at
-
-324156 memcheck probably reports false memory leak in pciutils library
- INVALID
-
-324179 massif crashes on exit, valgrind --tool=memcheck is fine
- PROBABLE INVALID; QUERIED
+ Has patches; needs looking at (LOOKS OK)
+ FIX 3.9 (commit)
324181 mmap does not handle MAP_32BIT
Should at least detect and fail this case
+ FIX 3.9 (to fail MAP_32BIT; should be easy)
324227 memcheck false positive leak when a thread calls exit+block only
reachable via other thread live register
Inconclusive, after discussions with Philippe
+ Severity: low Audience: med
324261 errorcount in xml output remains empty (no error pairs mentioned)
Hmm, looks like a real bug.
+ Severity: med Audience: low
324421 Support for fanotify API on ARM architecture
Has simple patch; should apply.
-
-324472 Documentation incorrect:
- valgrind: --track-origins no longer accepted in 3.8.1
- INVALID
+ FIX 3.9 (trivial patch)
324486 WARNING: unhandled syscall: 310
+ == 166355
Hmm, tricky, sys_unshare.
+ Severity: high Audience: low
324525 valgrind can not detect any leak
PROBABLE INVALID; needs closing.
-
-324765 ppc64: illegal instruction when executing none/tests/ppc64/jm-misc
+ Severity: med Audience: low
324809 show nightly regression tests results (and later performance) in a
nice html page on valgrind.org
In progress
-
-324816 Incorrect VEX implementation for xscvspdp/xvcvspdp regarding SNaN inputs
- Has patch; seems plausible. Carl to review?
+ Severity: low Audience: low
324834 Unhandled instructions in Microsoft C run-time (msvcrt.dll) for x86_64
- Should be easy to fix
+ Should be easy to fix; queried
+ Severity: high Audience: low
324882 CPUID should depend on VEX capabilities, not on underlying CPU
Middle-term cleanup; not urgent
324894 Phase 3 support for IBM Power ISA 2.07
Waiting for review (but by who?)
+ MAYBE 3.9
Thu Sep 19 10:34:49 CEST 2013
|
|
From: <sv...@va...> - 2013-09-19 14:55:33
|
Author: florian
Date: Thu Sep 19 14:55:27 2013
New Revision: 13571
Log:
Fix two issues found by check_headers_and_includes.
Modified:
trunk/coregrind/pub_core_sigframe.h
trunk/coregrind/pub_core_signals.h
Modified: trunk/coregrind/pub_core_sigframe.h
==============================================================================
--- trunk/coregrind/pub_core_sigframe.h (original)
+++ trunk/coregrind/pub_core_sigframe.h Thu Sep 19 14:55:27 2013
@@ -33,7 +33,7 @@
#define __PUB_CORE_SIGFRAME_H
#include "pub_core_basics.h" // VG_ macro
-#include "pub_tool_vki.h" // vki_sigset_t et al.
+#include "pub_core_vki.h" // vki_sigset_t et al.
//--------------------------------------------------------------------
// PURPOSE: This module creates and destroys signal delivery frames
Modified: trunk/coregrind/pub_core_signals.h
==============================================================================
--- trunk/coregrind/pub_core_signals.h (original)
+++ trunk/coregrind/pub_core_signals.h Thu Sep 19 14:55:27 2013
@@ -36,7 +36,7 @@
//--------------------------------------------------------------------
#include "pub_tool_signals.h" // I want to get rid of this header...
-#include "pub_tool_vki.h" // vki_sigset_t et al.
+#include "pub_core_vki.h" // vki_sigset_t et al.
/* Highest signal the kernel will let us use */
extern Int VG_(max_signal);
|
|
From: <sv...@va...> - 2013-09-19 14:55:20
|
Author: florian
Date: Thu Sep 19 14:55:09 2013
New Revision: 13570
Log:
Add a script 'check_headers_and_includes' to check that #include directives
are not against the grain.
Wrap this script together with 'check_makefile_consistency' into
'post_regtest_checks' and invoke that from the toplevel Makefile. So we can
easily add new checkers in the future.
Add a new make target 'post-regtest-checks' to just run those checks
and nothing else.
Added:
trunk/tests/check_headers_and_includes (with props)
trunk/tests/post_regtest_checks (with props)
Modified:
trunk/Makefile.am
Modified: trunk/Makefile.am
==============================================================================
--- trunk/Makefile.am (original)
+++ trunk/Makefile.am Thu Sep 19 14:55:09 2013
@@ -67,15 +67,17 @@
cat $(DEFAULT_SUPP_FILES) >> default.supp
## Preprend @PERL@ because tests/vg_regtest isn't executable
-## Ensure make exits with error if PERL fails or check_makefile_consistency fails.
+## Ensure make exits with error if PERL fails or post_regtest_checks fails.
regtest: check
gdbserver_tests/make_local_links $(GDB)
if @PERL@ tests/vg_regtest gdbserver_tests $(TOOLS) $(EXP_TOOLS) ; then \
- tests/check_makefile_consistency gdbserver_tests $(TOOLS) $(EXP_TOOLS); \
+ tests/post_regtest_checks $(abs_top_srcdir) gdbserver_tests $(TOOLS) $(EXP_TOOLS); \
else \
- tests/check_makefile_consistency gdbserver_tests $(TOOLS) $(EXP_TOOLS); \
+ tests/post_regtest_checks $(abs_top_srcdir) gdbserver_tests $(TOOLS) $(EXP_TOOLS); \
false; \
fi
+post-regtest-checks:
+ tests/post_regtest_checks $(abs_top_srcdir) gdbserver_tests $(TOOLS) $(EXP_TOOLS)
nonexp-regtest: check
@PERL@ tests/vg_regtest $(TOOLS)
exp-regtest: check
Added: trunk/tests/check_headers_and_includes
==============================================================================
--- trunk/tests/check_headers_and_includes (added)
+++ trunk/tests/check_headers_and_includes Thu Sep 19 14:55:09 2013
@@ -0,0 +1,292 @@
+#!/usr/bin/env perl
+
+#-------------------------------------------------------------------
+# Check header files and #include directives
+#
+# (1) include/*.h must not include pub_core_...h
+# (2) coregrind/pub_core_xyzzy.h may include pub_tool_xyzzy.h
+# other coregrind headers may not include pub_tool_xyzzy.h
+# (3) coregrind/ *.c must not include pub_tool_xyzzy.h
+# (4) tool *.[ch] files must not include pub_core_...h
+# (5) include pub_core/tool_clreq.h instead of valgrind.h except in tools'
+# export headers
+#-------------------------------------------------------------------
+
+use strict;
+use warnings;
+use Getopt::Long;
+
+my $this_script = "check_headers_and_includes";
+
+# The list of top-level directories is divided into three sets:
+#
+# (1) coregrind directories
+# (2) tool directories
+# (3) directories to ignore
+#
+# If a directory is found that does not belong to any of those sets, the
+# script will terminate unsuccessfully.
+
+my %coregrind_dirs = (
+ "include" => 1,
+ "coregrind" => 1,
+ );
+
+my %tool_dirs = (
+ "none" => 1,
+ "lackey" => 1,
+ "massif" => 1,
+ "memcheck" => 1,
+ "drd" => 1,
+ "helgrind", => 1,
+ "callgrind" => 1,
+ "cachegrind" => 1,
+ "exp-bbv" => 1,
+ "exp-dhat" => 1,
+ "exp-sgcheck" => 1
+ );
+
+my %dirs_to_ignore = (
+ ".deps" => 1,
+ ".svn" => 1,
+ ".in_place" => 1,
+ "VEX" => 1,
+ "docs" => 1,
+ "auxprogs" => 1,
+ "autom4te.cache" => 1,
+ "nightly" => 1,
+ "perf" => 1,
+ "tests" => 1,
+ "gdbserver_tests" => 1,
+ "mpi" => 1
+ );
+
+my %tool_export_header = (
+ "drd/drd.h" => 1,
+ "helgrind/helgrind.h" => 1,
+ "memcheck/memcheck.h" => 1,
+ "callgrind/callgrind.h" => 1
+ );
+
+my $usage=<<EOF;
+USAGE
+
+ $this_script
+
+ [--debug] Debugging output
+
+ dir ... Directories to process
+EOF
+
+my $debug = 0;
+my $num_errors = 0;
+
+&main;
+
+sub main {
+ GetOptions( "debug" => \$debug ) || die $usage;
+
+ my $argc = $#ARGV + 1;
+
+ if ($argc < 1) {
+ die $usage;
+ }
+
+ foreach my $dir (@ARGV) {
+ process_dir(undef, $dir, 0);
+ }
+
+ my $rc = ($num_errors == 0) ? 0 : 1;
+ exit $rc;
+}
+
+sub process_dir {
+ my ($path, $dir, $depth) = @_;
+ my $hdir;
+
+ if ($depth == 0) {
+# The root directory is always processed
+ } elsif ($depth == 1) {
+# Toplevel directories
+ return if ($dirs_to_ignore{$dir});
+
+ if (! $tool_dirs{$dir} && ! $coregrind_dirs{$dir}) {
+ die "Unknown directory '$dir'. Please update $this_script\n";
+ }
+ } else {
+# Subdirectories
+ return if ($dirs_to_ignore{$dir});
+ }
+
+ print "DIR = $dir DEPTH = $depth\n" if ($debug);
+
+ chdir($dir) || die "Cannot chdir '$dir'\n";
+
+ opendir($hdir, ".") || die "cannot open directory '.'";
+
+ while (my $file = readdir($hdir)) {
+ next if ($file eq ".");
+ next if ($file eq "..");
+
+# Subdirectories
+ if (-d $file) {
+ my $full_path = defined $path ? "$path/$file" : $file;
+ process_dir($full_path, $file, $depth + 1);
+ next;
+ }
+
+# Regular files; only interested in *.c and *.h
+ next if (! ($file =~ /\.[ch]$/));
+ my $path_name = defined $path ? "$path/$file" : $file;
+ process_file($path_name);
+ }
+ close($hdir);
+ chdir("..") || die "Cannot chdir '..'\n";
+}
+
+#---------------------------------------------------------------------
+# Given a path name strip leading directories.
+#---------------------------------------------------------------------
+sub basename {
+ my ($path_name) = @_;
+ my $file = $path_name;
+
+ $file =~ s/^.*\///;
+
+ return $file;
+}
+
+#---------------------------------------------------------------------
+# Return 1, if file is located in <valgrind>/include
+#---------------------------------------------------------------------
+sub is_coregrind_export_header {
+ my ($path_name) = @_;
+
+ return ($path_name =~ /^include\//) ? 1 : 0;
+}
+
+#---------------------------------------------------------------------
+# Return 1, if file is located underneath <valgrind>/coregrind
+#---------------------------------------------------------------------
+sub is_coregrind_file {
+ my ($path_name) = @_;
+
+ return ($path_name =~ /^coregrind\//) ? 1 : 0;
+}
+
+#---------------------------------------------------------------------
+# Return 1, if file is located underneath <valgrind>/<tool>
+#---------------------------------------------------------------------
+sub is_tool_file {
+ my ($path_name) = @_;
+
+ for my $tool (keys %tool_dirs) {
+ return 1 if ($path_name =~ /^$tool\//);
+ }
+ return 0
+}
+
+#---------------------------------------------------------------------
+# Return array of files #include'd by file.
+#---------------------------------------------------------------------
+sub get_included_files {
+ my ($path_name) = @_;
+ my @includes = ();
+ my $file = basename($path_name);
+
+ open(FILE, "<$file") || die "Cannot open file '$file'";
+
+ while (my $line = <FILE>) {
+ if ($line =~ /^\s*#\s*include "([^"]*)"/) {
+ push @includes, $1;
+ }
+ if ($line =~ /^\s*#\s*include <([^>]*)>/) {
+ push @includes, $1;
+ }
+ }
+ close FILE;
+ return @includes;
+}
+
+#---------------------------------------------------------------------
+# Check a file from <valgrind>/include
+#---------------------------------------------------------------------
+sub check_coregrind_export_header {
+ my ($path_name) = @_;
+
+ foreach my $inc (get_included_files($path_name)) {
+ $inc = basename($inc);
+# Must not include pub_core_....
+ if ($inc =~ /pub_core_/) {
+ error("File $path_name must not include $inc\n");
+ }
+# Only pub_tool_clreq.h may include valgrind.h
+ if (($inc eq "valgrind.h") && ($path_name ne "include/pub_tool_clreq.h")) {
+ error("File $path_name should include pub_tool_clreq.h instead of $inc\n");
+ }
+ }
+}
+
+#---------------------------------------------------------------------
+# Check a file from <valgrind>/coregrind
+#---------------------------------------------------------------------
+sub check_coregrind_file {
+ my ($path_name) = @_;
+ my $file = basename($path_name);
+
+ foreach my $inc (get_included_files($path_name)) {
+ print "\tINCLUDE $inc\n" if ($debug);
+# Only pub_tool_xyzzy.h may include pub_core_xyzzy.h
+ if ($inc =~ /pub_tool_/) {
+ my $buddy = $inc;
+ $buddy =~ s/pub_tool/pub_core/;
+ if ($file ne $buddy) {
+ error("File $path_name must not include $inc\n");
+ }
+ }
+# Must not include valgrind.h
+ if ($inc eq "valgrind.h") {
+ error("File $path_name should include pub_core_clreq.h instead of $inc\n");
+ }
+ }
+}
+
+#---------------------------------------------------------------------
+# Check a file from <valgrind>/<tool>
+#---------------------------------------------------------------------
+sub check_tool_file {
+ my ($path_name) = @_;
+ my $file = basename($path_name);
+
+ foreach my $inc (get_included_files($path_name)) {
+ print "\tINCLUDE $inc\n" if ($debug);
+# Must not include pub_core_...
+ if ($inc =~ /pub_core_/) {
+ error("File $path_name must not include $inc\n");
+ }
+# Must not include valgrind.h unless this is an export header
+ if ($inc eq "valgrind.h" && ! $tool_export_header{$path_name}) {
+ error("File $path_name should include pub_tool_clreq.h instead of $inc\n");
+ }
+ }
+}
+
+sub process_file {
+ my ($path_name) = @_;
+
+ print "FILE = $path_name\n" if ($debug);
+
+ if (is_coregrind_export_header($path_name)) {
+ check_coregrind_export_header($path_name);
+ } elsif (is_coregrind_file($path_name)) {
+ check_coregrind_file($path_name);
+ } elsif (is_tool_file($path_name)) {
+ check_tool_file($path_name);
+ }
+}
+
+sub error {
+ my ($message) = @_;
+ print STDERR "*** $message";
+ ++$num_errors;
+}
Added: trunk/tests/post_regtest_checks
==============================================================================
--- trunk/tests/post_regtest_checks (added)
+++ trunk/tests/post_regtest_checks Thu Sep 19 14:55:09 2013
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+#-------------------------------------------------------------------
+#
+# This script is invoked after regression testing has finished
+# It performs various consistency checks.
+#
+# Arguments passed to this script are (from left to right)
+# - absolute path name of valgrind's root directory
+# - list of directories being passed to check_makefile_consistency
+#
+#-------------------------------------------------------------------
+
+# echo "$@"
+
+abs_top_srcdir="$1"
+test_dir="$abs_top_srcdir/tests"
+shift
+
+errors=0
+
+#-------------------------------------------------------------------
+
+echo "...checking makefile consistency"
+$test_dir/check_makefile_consistency "$@"
+if [ $? != 0 ]; then
+ errors=1
+fi
+
+#-------------------------------------------------------------------
+
+echo "...checking header files and include directives"
+$test_dir/check_headers_and_includes "$abs_top_srcdir"
+if [ $? != 0 ]; then
+ errors=1
+fi
+
+exit $errors
|
|
From: <sv...@va...> - 2013-09-19 13:36:20
|
Author: dejanj
Date: Thu Sep 19 13:36:12 2013
New Revision: 13569
Log:
mips32/64: add extra test cases in vbit-test for mips32/64.
Modified:
trunk/memcheck/tests/vbit-test/irops.c
Modified: trunk/memcheck/tests/vbit-test/irops.c
==============================================================================
--- trunk/memcheck/tests/vbit-test/irops.c (original)
+++ trunk/memcheck/tests/vbit-test/irops.c Thu Sep 19 13:36:12 2013
@@ -54,10 +54,10 @@
{ DEFOP(Iop_CmpNE16, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
{ DEFOP(Iop_CmpNE32, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
{ DEFOP(Iop_CmpNE64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 0 }, // ppc32, mips assert
- { DEFOP(Iop_Not8, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
- { DEFOP(Iop_Not16, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
+ { DEFOP(Iop_Not8, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
+ { DEFOP(Iop_Not16, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
{ DEFOP(Iop_Not32, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
- { DEFOP(Iop_Not64, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 }, // mips asserts
+ { DEFOP(Iop_Not64, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 },
{ DEFOP(Iop_CasCmpEQ8, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
{ DEFOP(Iop_CasCmpEQ16, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
{ DEFOP(Iop_CasCmpEQ32, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
@@ -81,7 +81,7 @@
{ DEFOP(Iop_MullU16, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
{ DEFOP(Iop_MullU32, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 }, // mips asserts
{ DEFOP(Iop_MullU64, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 0 }, // ppc32, mips assert
- { DEFOP(Iop_Clz64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 0 }, // ppc32 asserts
+ { DEFOP(Iop_Clz64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 1 }, // ppc32 asserts
{ DEFOP(Iop_Clz32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
{ DEFOP(Iop_Ctz64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
{ DEFOP(Iop_Ctz32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
@@ -123,11 +123,11 @@
{ DEFOP(Iop_DivModU128to64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 }, // mips asserts
{ DEFOP(Iop_DivModS128to64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 }, // mips asserts
{ DEFOP(Iop_DivModS64to64, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 }, // mips asserts
- { DEFOP(Iop_8Uto16, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 }, // mips asserts
+ { DEFOP(Iop_8Uto16, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
{ DEFOP(Iop_8Uto32, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
- { DEFOP(Iop_8Uto64, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 0 }, // ppc32, mips assert
+ { DEFOP(Iop_8Uto64, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 1 }, // ppc32 assert
{ DEFOP(Iop_16Uto32, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
- { DEFOP(Iop_16Uto64, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 0 }, // ppc32, mips assert
+ { DEFOP(Iop_16Uto64, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 1 }, // ppc32 assert
{ DEFOP(Iop_32Uto64, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 }, // mips asserts
{ DEFOP(Iop_8Sto16, UNDEF_SEXT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 }, // mips asserts
{ DEFOP(Iop_8Sto32, UNDEF_SEXT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
@@ -140,26 +140,26 @@
{ DEFOP(Iop_64to16, UNDEF_TRUNC), .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 0 }, // ppc32, mips assert
{ DEFOP(Iop_16to8, UNDEF_TRUNC), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 }, // mips asserts
{ DEFOP(Iop_16HIto8, UNDEF_UPPER), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
- { DEFOP(Iop_8HLto16, UNDEF_CONCAT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 }, // ppc isel
+ { DEFOP(Iop_8HLto16, UNDEF_CONCAT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1, .mips64 = 1 }, // ppc isel
{ DEFOP(Iop_32to16, UNDEF_TRUNC), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
{ DEFOP(Iop_32HIto16, UNDEF_UPPER), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
- { DEFOP(Iop_16HLto32, UNDEF_CONCAT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 }, // ppc isel
+ { DEFOP(Iop_16HLto32, UNDEF_CONCAT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1, .mips64 = 1 }, // ppc isel
{ DEFOP(Iop_64to32, UNDEF_TRUNC), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 }, // mips asserts
{ DEFOP(Iop_64HIto32, UNDEF_UPPER), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
{ DEFOP(Iop_32HLto64, UNDEF_CONCAT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 }, // mips asserts
- { DEFOP(Iop_128to64, UNDEF_TRUNC), .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 }, // mips asserts
- { DEFOP(Iop_128HIto64, UNDEF_UPPER), .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 }, // mips asserts
+ { DEFOP(Iop_128to64, UNDEF_TRUNC), .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 }, // mips asserts
+ { DEFOP(Iop_128HIto64, UNDEF_UPPER), .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 }, // mips asserts
{ DEFOP(Iop_64HLto128, UNDEF_CONCAT), .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 }, // mips asserts
- { DEFOP(Iop_Not1, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 }, // mips asserts
+ { DEFOP(Iop_Not1, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
{ DEFOP(Iop_32to1, UNDEF_TRUNC), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 }, // mips asserts
{ DEFOP(Iop_64to1, UNDEF_TRUNC), .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 0 }, // ppc32, mips assert
{ DEFOP(Iop_1Uto8, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 }, // mips asserts
- { DEFOP(Iop_1Uto32, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 }, // mips asserts
- { DEFOP(Iop_1Uto64, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 1 }, // ppc32, mips assert
+ { DEFOP(Iop_1Uto32, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
+ { DEFOP(Iop_1Uto64, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 1 }, // ppc32 assert
{ DEFOP(Iop_1Sto8, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 }, // mips asserts
{ DEFOP(Iop_1Sto16, UNDEF_ALL), }, // not handled by mc_translate
{ DEFOP(Iop_1Sto32, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 }, // mips asserts
- { DEFOP(Iop_1Sto64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 }, // mips asserts
+ { DEFOP(Iop_1Sto64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 }, // mips asserts
{ DEFOP(Iop_AddF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 }, // mips asserts
{ DEFOP(Iop_SubF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 }, // mips asserts
{ DEFOP(Iop_MulF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 }, // mips asserts
@@ -172,8 +172,8 @@
{ DEFOP(Iop_SubF64r32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
{ DEFOP(Iop_MulF64r32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
{ DEFOP(Iop_DivF64r32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
- { DEFOP(Iop_NegF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 }, // mips asserts
- { DEFOP(Iop_AbsF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 }, // mips asserts
+ { DEFOP(Iop_NegF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
+ { DEFOP(Iop_AbsF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
{ DEFOP(Iop_NegF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 1, .mips64 = 1 },
{ DEFOP(Iop_AbsF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 1, .mips64 = 1 },
{ DEFOP(Iop_SqrtF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 }, // mips asserts
@@ -186,7 +186,7 @@
{ DEFOP(Iop_F64toI64S, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
{ DEFOP(Iop_F64toI64U, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
{ DEFOP(Iop_F64toI32U, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
- { DEFOP(Iop_I32StoF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 }, // mips asserts
+ { DEFOP(Iop_I32StoF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 1, .mips64 = 1 },
{ DEFOP(Iop_I64StoF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
{ DEFOP(Iop_I64UtoF64, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 }, // mips asserts
{ DEFOP(Iop_I64UtoF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
@@ -198,10 +198,10 @@
{ DEFOP(Iop_F32toI64U, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
{ DEFOP(Iop_I32StoF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1, .mips64 = 1 },
{ DEFOP(Iop_I64StoF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
- { DEFOP(Iop_F32toF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 }, // mips asserts
+ { DEFOP(Iop_F32toF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
{ DEFOP(Iop_F64toF32, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 }, // mips asserts
{ DEFOP(Iop_ReinterpF64asI64, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 }, // mips asserts
- { DEFOP(Iop_ReinterpI64asF64, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 }, // mips asserts
+ { DEFOP(Iop_ReinterpI64asF64, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 }, // mips asserts
{ DEFOP(Iop_ReinterpF32asI32, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
// ppc requires this op to show up in a specific context. So it cannot be
// tested standalone on that platform.
|
|
From: <sv...@va...> - 2013-09-19 13:35:57
|
Author: dejanj
Date: Thu Sep 19 13:35:45 2013
New Revision: 2771
Log:
mips32/64: Code cleanup and VEX optimizations. No functional changes.
Modified:
trunk/priv/host_mips_defs.c
trunk/priv/host_mips_defs.h
trunk/priv/host_mips_isel.c
Modified: trunk/priv/host_mips_defs.c
==============================================================================
--- trunk/priv/host_mips_defs.c (original)
+++ trunk/priv/host_mips_defs.c Thu Sep 19 13:35:45 2013
@@ -743,6 +743,9 @@
case Mfp_ROUNDWD:
ret = "round.w.d";
break;
+ case Mfp_ROUNDLD:
+ ret = "round.l.d";
+ break;
case Mfp_FLOORWS:
ret = "floor.w.s";
break;
@@ -2552,31 +2555,19 @@
}
if (mode64) {
- /* addiu sp, sp, -8
- sd rA, 0(sp)
- daddu rA, rA, rB
- sd/ld r_dst, 0(rA)
- ld rA, 0(sp)
- daddiu sp, sp, 8 */
- p = mkFormI(p, 25, 29, 29, 0xFFF8);
- p = mkFormI(p, 63, 29, rA, 0);
+ /* daddu rA, rA, rB$
+ sd/ld r_dst, 0(rA)$
+ dsubu rA, rA, rB */
p = mkFormR(p, 0, rA, rB, rA, 0, 45);
p = mkFormI(p, opc1, rA, r_dst, 0);
- p = mkFormI(p, 55, 29, rA, 0);
- p = mkFormI(p, 25, 29, 29, 8);
+ p = mkFormR(p, 0, rA, rB, rA, 0, 47);
} else {
- /* addiu sp, sp, -4
- sw rA, 0(sp)
- addu rA, rA, rB
- sw/lw r_dst, 0(rA)
- lw rA, 0(sp)
- addiu sp, sp, 4 */
- p = mkFormI(p, 9, 29, 29, 0xFFFC);
- p = mkFormI(p, 43, 29, rA, 0);
+ /* addu rA, rA, rB
+ sw/lw r_dst, 0(rA)
+ subu rA, rA, rB */
p = mkFormR(p, 0, rA, rB, rA, 0, 33);
p = mkFormI(p, opc1, rA, r_dst, 0);
- p = mkFormI(p, 35, 29, rA, 0);
- p = mkFormI(p, 9, 29, 29, 4);
+ p = mkFormR(p, 0, rA, rB, rA, 0, 35);
}
if (opc1 >= 40) {
/* store */
@@ -3096,26 +3087,16 @@
switch (i->Min.Cmp.cond) {
case MIPScc_EQ:
- /* addiu r_dst, r0, 1
- beq r_srcL, r_srcR, 2
- nop
- addiu r_dst, r0, 0
- */
- p = mkFormI(p, 9, 0, r_dst, 1);
- p = mkFormI(p, 4, r_srcL, r_srcR, 2);
- p = mkFormR(p, 0, 0, 0, 0, 0, 0);
- p = mkFormI(p, 9, 0, r_dst, 0);
+ /* xor r_dst, r_srcL, r_srcR
+ sltiu r_dst, r_dst, 1 */
+ p = mkFormR(p, 0, r_srcL, r_srcR, r_dst, 0, 38);
+ p = mkFormI(p, 11, r_dst, r_dst, 1);
break;
case MIPScc_NE:
- /* addiu r_dst, r0, 1
- bne r_srcL, r_srcR, 2
- nop
- addiu r_dst, r0, 0
- */
- p = mkFormI(p, 9, 0, r_dst, 1);
- p = mkFormI(p, 5, r_srcL, r_srcR, 2);
- p = mkFormR(p, 0, 0, 0, 0, 0, 0);
- p = mkFormI(p, 9, 0, r_dst, 0);
+ /* xor r_dst, r_srcL, r_srcR
+ sltu r_dst, zero, r_dst */
+ p = mkFormR(p, 0, r_srcL, r_srcR, r_dst, 0, 38);
+ p = mkFormR(p, 0, 0, r_dst, r_dst, 0, 43);
break;
case MIPScc_LT:
/* slt r_dst, r_srcL, r_srcR */
@@ -3126,24 +3107,16 @@
p = mkFormR(p, 0, r_srcL, r_srcR, r_dst, 0, 43);
break;
case MIPScc_LE:
- /* addiu r_dst, r0, 1
- beq r_srcL, r_srcR, 2
- nop
- slt r_dst, r_srcL, r_srcR */
- p = mkFormI(p, 9, 0, r_dst, 1);
- p = mkFormI(p, 4, r_srcL, r_srcR, 2);
- p = mkFormR(p, 0, 0, 0, 0, 0, 0);
- p = mkFormR(p, 0, r_srcL, r_srcR, r_dst, 0, 42);
+ /* slt r_dst, r_srcR, r_srcL
+ xori r_dst, r_dst, 1 */
+ p = mkFormR(p, 0, r_srcR, r_srcL, r_dst, 0, 42);
+ p = mkFormI(p, 14, r_dst, r_dst, 1);
break;
case MIPScc_LS:
- /* addiu r_dst, r0, 1
- beq r_srcL, r_srcR, 2
- nop
- sltu r_dst, r_srcL, r_srcR */
- p = mkFormI(p, 9, 0, r_dst, 1);
- p = mkFormI(p, 4, r_srcL, r_srcR, 2);
- p = mkFormR(p, 0, 0, 0, 0, 0, 0);
- p = mkFormR(p, 0, r_srcL, r_srcR, r_dst, 0, 43);
+ /* sltu r_dst, rsrcR, r_srcL
+ xori r_dsr, r_dst, 1 */
+ p = mkFormR(p, 0, r_srcR, r_srcL, r_dst, 0, 43);
+ p = mkFormI(p, 14, r_dst, r_dst, 1);
break;
default:
goto bad;
@@ -3972,6 +3945,11 @@
fr_src = dregNo(i->Min.FpConvert.src);
p = mkFormR(p, 0x11, 0x11, 0, fr_src, fr_dst, 0x0C);
break;
+ case Mfp_ROUNDLD:
+ fr_dst = dregNo(i->Min.FpConvert.dst);
+ fr_src = dregNo(i->Min.FpConvert.src);
+ p = mkFormR(p, 0x11, 0x11, 0, fr_src, fr_dst, 0x08);
+ break;
case Mfp_FLOORWS:
fr_dst = fregNo(i->Min.FpConvert.dst, mode64);
fr_src = fregNo(i->Min.FpConvert.src, mode64);
Modified: trunk/priv/host_mips_defs.h
==============================================================================
--- trunk/priv/host_mips_defs.h (original)
+++ trunk/priv/host_mips_defs.h Thu Sep 19 13:35:45 2013
@@ -366,7 +366,8 @@
Mfp_CVTSD, Mfp_CVTSW, Mfp_CVTWD,
Mfp_CVTWS, Mfp_CVTDL, Mfp_CVTSL, Mfp_CVTLS, Mfp_CVTLD, Mfp_TRULS, Mfp_TRULD,
Mfp_TRUWS, Mfp_TRUWD, Mfp_FLOORWS, Mfp_FLOORWD, Mfp_ROUNDWS, Mfp_ROUNDWD,
- Mfp_CVTDW, Mfp_CMP, Mfp_CEILWS, Mfp_CEILWD, Mfp_CEILLS, Mfp_CEILLD, Mfp_CVTDS
+ Mfp_CVTDW, Mfp_CMP, Mfp_CEILWS, Mfp_CEILWD, Mfp_CEILLS, Mfp_CEILLD,
+ Mfp_CVTDS, Mfp_ROUNDLD
} MIPSFpOp;
Modified: trunk/priv/host_mips_isel.c
==============================================================================
--- trunk/priv/host_mips_isel.c (original)
+++ trunk/priv/host_mips_isel.c Thu Sep 19 13:35:45 2013
@@ -1216,43 +1216,37 @@
return r_dst;
}
- if (e->Iex.Binop.op == Iop_8HLto16) {
- HReg tHi = iselWordExpr_R(env, e->Iex.Binop.arg1);
- HReg tLo = iselWordExpr_R(env, e->Iex.Binop.arg2);
- HReg tLo_1 = newVRegI(env);
- HReg tHi_1 = newVRegI(env);
- HReg r_dst = newVRegI(env);
- HReg mask = newVRegI(env);
-
- addInstr(env, MIPSInstr_Shft(Mshft_SLL, True, tHi_1, tHi,
- MIPSRH_Imm(False, 8)));
-
- addInstr(env, MIPSInstr_LI(mask, 0xff));
- addInstr(env, MIPSInstr_Alu(Malu_AND, tLo_1, tLo,
- MIPSRH_Reg(mask)));
- addInstr(env, MIPSInstr_Alu(Malu_OR, r_dst, tHi_1,
- MIPSRH_Reg(tLo_1)));
-
- return r_dst;
- }
-
- if (e->Iex.Binop.op == Iop_16HLto32) {
- HReg tHi = iselWordExpr_R(env, e->Iex.Binop.arg1);
- HReg tLo = iselWordExpr_R(env, e->Iex.Binop.arg2);
+ if (e->Iex.Binop.op == Iop_8HLto16
+ || e->Iex.Binop.op == Iop_16HLto32) {
+ HReg tHi = iselWordExpr_R(env, e->Iex.Binop.arg1);
+ HReg tLo = iselWordExpr_R(env, e->Iex.Binop.arg2);
HReg tLo_1 = newVRegI(env);
HReg tHi_1 = newVRegI(env);
HReg r_dst = newVRegI(env);
- HReg mask = newVRegI(env);
+ UInt shift = 0;
+ UInt mask = 0;
+ switch (e->Iex.Binop.op) {
+ case Iop_8HLto16:
+ shift = 8;
+ mask = 0xff;
+ break;
+ case Iop_16HLto32:
+ shift = 16;
+ mask = 0xffff;
+ break;
+ default:
+ break;
+ }
+ /* sll tHi_1, tHi, shift
+ and tLo_1, tLo, mask
+ or r_dst, tHi_1, tLo_1 */
addInstr(env, MIPSInstr_Shft(Mshft_SLL, True, tHi_1, tHi,
- MIPSRH_Imm(False, 16)));
-
- addInstr(env, MIPSInstr_LI(mask, 0xffff));
+ MIPSRH_Imm(False, shift)));
addInstr(env, MIPSInstr_Alu(Malu_AND, tLo_1, tLo,
- MIPSRH_Reg(mask)));
+ MIPSRH_Imm(False, mask)));
addInstr(env, MIPSInstr_Alu(Malu_OR, r_dst, tHi_1,
MIPSRH_Reg(tLo_1)));
-
return r_dst;
}
@@ -1523,41 +1517,36 @@
}
case Iop_1Uto32:
+ case Iop_1Uto64:
+ case Iop_8Uto16:
case Iop_8Uto32:
- case Iop_16Uto32: {
+ case Iop_8Uto64:
+ case Iop_16Uto32:
+ case Iop_16Uto64: {
HReg r_dst = newVRegI(env);
HReg r_src = iselWordExpr_R(env, e->Iex.Unop.arg);
- UShort amt;
+ UShort mask = 0;
switch (op_unop) {
+ case Iop_1Uto64:
+ vassert(mode64);
case Iop_1Uto32:
- amt = 31;
+ mask = toUShort(0x1);
break;
+ case Iop_8Uto64:
+ vassert(mode64);
+ case Iop_8Uto16:
case Iop_8Uto32:
- amt = 24;
+ mask = toUShort(0xFF);
break;
+ case Iop_16Uto64:
+ vassert(mode64);
case Iop_16Uto32:
- amt = 16;
+ mask = toUShort(0xFFFF);
break;
default:
vassert(0);
break;
}
-
- addInstr(env, MIPSInstr_Shft(Mshft_SLL, True, r_dst, r_src,
- MIPSRH_Imm(False, amt)));
- addInstr(env, MIPSInstr_Shft(Mshft_SRL, True, r_dst, r_dst,
- MIPSRH_Imm(False, amt)));
- return r_dst;
- }
-
- case Iop_1Uto64:
- case Iop_8Uto16:
- case Iop_8Uto64:
- case Iop_16Uto64: {
- vassert(mode64);
- HReg r_dst = newVRegI(env);
- HReg r_src = iselWordExpr_R(env, e->Iex.Unop.arg);
- UShort mask = toUShort(op_unop == Iop_16Uto64 ? 0xFFFF : 0xFF);
addInstr(env, MIPSInstr_Alu(Malu_AND, r_dst, r_src,
MIPSRH_Imm(False, mask)));
return r_dst;
@@ -1616,33 +1605,17 @@
return r_dst;
}
- case Iop_CmpNEZ8: {
- HReg r_dst = newVRegI(env);
- HReg tmp = newVRegI(env);
- HReg r_src = iselWordExpr_R(env, e->Iex.Unop.arg);
-
- MIPSCondCode cc;
-
- cc = MIPScc_NE;
- addInstr(env, MIPSInstr_Alu(Malu_AND, tmp, r_src,
- MIPSRH_Imm(False, 0xFF)));
- addInstr(env, MIPSInstr_Cmp(False, True, r_dst, tmp,
- hregMIPS_GPR0(mode64), cc));
- return r_dst;
- }
-
+ case Iop_CmpNEZ8:
case Iop_CmpNEZ16: {
HReg r_dst = newVRegI(env);
HReg tmp = newVRegI(env);
HReg r_src = iselWordExpr_R(env, e->Iex.Unop.arg);
+ UShort mask = (op_unop == Iop_CmpNEZ8) ? 0xFF : 0xFFFF;
- MIPSCondCode cc;
-
- cc = MIPScc_NE;
addInstr(env, MIPSInstr_Alu(Malu_AND, tmp, r_src,
- MIPSRH_Imm(False, 0xFFFF)));
+ MIPSRH_Imm(False, mask)));
addInstr(env, MIPSInstr_Cmp(False, True, r_dst, tmp,
- hregMIPS_GPR0(mode64), cc));
+ hregMIPS_GPR0(mode64), MIPScc_NE));
return r_dst;
}
@@ -1650,12 +1623,8 @@
HReg r_dst = newVRegI(env);
HReg r_src = iselWordExpr_R(env, e->Iex.Unop.arg);
- MIPSCondCode cc;
-
- cc = MIPScc_NE;
-
addInstr(env, MIPSInstr_Cmp(False, True, r_dst, r_src,
- hregMIPS_GPR0(mode64), cc));
+ hregMIPS_GPR0(mode64), MIPScc_NE));
return r_dst;
}
@@ -1681,30 +1650,22 @@
goto irreducible;
HReg r_dst = newVRegI(env);
HReg r_src = iselWordExpr_R(env, e->Iex.Unop.arg);
- if (op_unop == Iop_Left64) {
- addInstr(env, MIPSInstr_Alu(Malu_DSUB, r_dst, hregMIPS_GPR0(mode64),
- MIPSRH_Reg(r_src)));
- } else {
- addInstr(env, MIPSInstr_Alu(Malu_SUB, r_dst, hregMIPS_GPR0(mode64),
- MIPSRH_Reg(r_src)));
- }
+ MIPSAluOp op = (op_unop == Iop_Left64) ? Malu_DSUB : Malu_SUB;
+ addInstr(env, MIPSInstr_Alu(op, r_dst,
+ hregMIPS_GPR0(mode64),
+ MIPSRH_Reg(r_src)));
addInstr(env, MIPSInstr_Alu(Malu_OR, r_dst, r_dst,
MIPSRH_Reg(r_src)));
return r_dst;
}
- case Iop_Clz32: {
- HReg r_dst = newVRegI(env);
- HReg r_src = iselWordExpr_R(env, e->Iex.Unop.arg);
- addInstr(env, MIPSInstr_Unary(Mun_CLZ, r_dst, r_src));
- return r_dst;
- }
-
- case Iop_Clz64: {
+ case Iop_Clz64:
vassert(mode64);
+ case Iop_Clz32: {
HReg r_dst = newVRegI(env);
HReg r_src = iselWordExpr_R(env, e->Iex.Unop.arg);
- addInstr(env, MIPSInstr_Unary(Mun_DCLZ, r_dst, r_src));
+ MIPSUnaryOp op = (op_unop == Iop_Clz64) ? Mun_DCLZ : Mun_CLZ;
+ addInstr(env, MIPSInstr_Unary(op, r_dst, r_src));
return r_dst;
}
@@ -1719,12 +1680,8 @@
iselInt64Expr(&hi, &lo, env, e->Iex.Unop.arg);
addInstr(env, MIPSInstr_Alu(Malu_OR, r_src, lo, MIPSRH_Reg(hi)));
}
- MIPSCondCode cc;
-
- cc = MIPScc_NE;
-
addInstr(env, MIPSInstr_Cmp(False, !(env->mode64), r_dst, r_src,
- hregMIPS_GPR0(mode64), cc));
+ hregMIPS_GPR0(mode64), MIPScc_NE));
return r_dst;
}
@@ -2159,8 +2116,8 @@
size32 = False;
break;
default:
- vpanic
- ("iselCondCode(mips): CmpXX32 or CmpXX64");
+ vpanic("iselCondCode(mips): CmpXX32 or CmpXX64");
+ break;
}
addInstr(env, MIPSInstr_Cmp(syned, size32, dst, r1, r2, cc));
@@ -2220,11 +2177,6 @@
{
vassert(env->mode64);
iselInt128Expr_wrk(rHi, rLo, env, e);
-# if 0
- vex_printf("\n");
- ppIRExpr(e);
- vex_printf("\n");
-# endif
vassert(hregClass(*rHi) == HRcGPR(env->mode64));
vassert(hregIsVirtual(*rHi));
vassert(hregClass(*rLo) == HRcGPR(env->mode64));
@@ -2398,48 +2350,24 @@
vassert(typeOfIRExpr(env->type_env, e->Iex.ITE.cond) == Ity_I1);
HReg expr0Lo, expr0Hi;
HReg expr1Lo, expr1Hi;
- HReg carryBit;
- HReg tmpHi = newVRegI(env);
- HReg tmpLo = newVRegI(env);
- HReg tmp1Hi = newVRegI(env);
- HReg tmp1Lo = newVRegI(env);
- HReg r_cond_1 = iselWordExpr_R(env, e->Iex.ITE.cond);
- HReg r_cond = newVRegI(env);
- HReg r_cond_neg = newVRegI(env);
- HReg mask = newVRegI(env);
- HReg desLo = newVRegI(env);
- HReg desHi = newVRegI(env);
- carryBit = newVRegI(env);
-
- /* r_cond = 0 - r_cond_1 */
- addInstr(env, MIPSInstr_LI(mask, 0x0));
- addInstr(env, MIPSInstr_Alu(Malu_SUB, r_cond,
- mask, MIPSRH_Reg(r_cond_1)));
+ HReg desLo = newVRegI(env);
+ HReg desHi = newVRegI(env);
+ HReg cond = iselWordExpr_R(env, e->Iex.ITE.cond);
/* expr0Hi:expr0Lo = iffalse */
/* expr1Hi:expr1Lo = iftrue */
iselInt64Expr(&expr0Hi, &expr0Lo, env, e->Iex.ITE.iffalse);
iselInt64Expr(&expr1Hi, &expr1Lo, env, e->Iex.ITE.iftrue);
- addInstr(env, MIPSInstr_Alu(Malu_AND, tmpLo, r_cond,
- MIPSRH_Reg(expr1Lo)));
- addInstr(env, MIPSInstr_Alu(Malu_AND, tmpHi, r_cond,
- MIPSRH_Reg(expr1Hi)));
- addInstr(env, MIPSInstr_Alu(Malu_NOR, r_cond_neg, r_cond,
- MIPSRH_Reg(r_cond)));
- addInstr(env, MIPSInstr_Alu(Malu_AND, tmp1Lo, r_cond_neg,
- MIPSRH_Reg(expr0Lo)));
- addInstr(env, MIPSInstr_Alu(Malu_AND, tmp1Hi, r_cond_neg,
- MIPSRH_Reg(expr0Hi)));
-
- addInstr(env, MIPSInstr_Alu(Malu_ADD, desLo, tmpLo,
- MIPSRH_Reg(tmp1Lo)));
- addInstr(env, MIPSInstr_Cmp(False, True, carryBit, desLo,
- tmpLo, MIPScc_LO));
- addInstr(env, MIPSInstr_Alu(Malu_ADD, tmpHi, tmpHi,
- MIPSRH_Reg(carryBit)));
- addInstr(env, MIPSInstr_Alu(Malu_ADD, desHi, tmpHi,
- MIPSRH_Reg(tmp1Hi)));
+ /* move desLo, expr0Lo
+ * move desHi, expr0Hi
+ * movn desLo, expr1Lo, cond
+ * movn desHi, expr1Hi, cond */
+ addInstr(env, mk_iMOVds_RR(desLo, expr0Lo));
+ addInstr(env, mk_iMOVds_RR(desHi, expr0Hi));
+ addInstr(env, MIPSInstr_MoveCond(MMoveCond_movn, desLo, expr1Lo, cond));
+ addInstr(env, MIPSInstr_MoveCond(MMoveCond_movn, desHi, expr1Hi, cond));
+
*rHi = desHi;
*rLo = desLo;
return;
@@ -2746,7 +2674,6 @@
/* --------- UNARY ops --------- */
if (e->tag == Iex_Unop) {
-
switch (e->Iex.Unop.op) {
case Iop_1Sto64: {
HReg tLo = newVRegI(env);
@@ -2969,87 +2896,36 @@
return r_dst;
}
case Iop_F32toF64: {
- if (mode64) {
- HReg src = iselFltExpr(env, e->Iex.Unop.arg);
- HReg dst = newVRegD(env);
-
- addInstr(env, MIPSInstr_FpConvert(Mfp_CVTDS, dst, src));
- return dst;
- } else {
- MIPSAMode *am_addr;
- HReg src = iselFltExpr(env, e->Iex.Unop.arg);
- HReg dst = newVRegF(env);
-
- sub_from_sp(env, 16); /* Move SP down 16 bytes */
- am_addr = MIPSAMode_IR(0, StackPointer(mode64));
-
- addInstr(env, MIPSInstr_Store(4,
- MIPSAMode_IR(am_addr->Mam.IR.index +4,
- am_addr->Mam.IR.base),
- hregMIPS_GPR0(mode64), mode64));
- addInstr(env, MIPSInstr_FpLdSt(False /* store */, 4, src, am_addr));
-
- /* load as Ity_F64 */
- addInstr(env, MIPSInstr_FpLdSt(True /* load */, 8, dst, am_addr));
- /* Reset SP */
- add_to_sp(env, 16);
+ vassert(mode64);
+ HReg src = iselFltExpr(env, e->Iex.Unop.arg);
+ HReg dst = newVRegD(env);
- return dst;
- }
+ addInstr(env, MIPSInstr_FpConvert(Mfp_CVTDS, dst, src));
+ return dst;
}
case Iop_ReinterpI64asF64: {
- vassert(mode64);
- HReg fr_src = iselWordExpr_R(env, e->Iex.Unop.arg);
- HReg r_dst = newVRegF(env);
+ vassert(mode64);
+ HReg fr_src = iselWordExpr_R(env, e->Iex.Unop.arg);
+ HReg r_dst = newVRegF(env);
- /* Move Doubleword to Floating Point
- dmtc1 r_dst, fr_src */
- addInstr(env, MIPSInstr_FpGpMove(MFpGpMove_dmtc1, r_dst, fr_src));
+ /* Move Doubleword to Floating Point
+ dmtc1 r_dst, fr_src */
+ addInstr(env, MIPSInstr_FpGpMove(MFpGpMove_dmtc1, r_dst, fr_src));
- return r_dst;
- }
+ return r_dst;
+ }
case Iop_I32StoF64: {
vassert(mode64);
HReg dst = newVRegF(env);
- HReg tmp1 = newVRegF(env);
+ HReg tmp = newVRegF(env);
HReg r_src = iselWordExpr_R(env, e->Iex.Unop.arg);
- MIPSAMode *am_addr;
/* Move Word to Floating Point
mtc1 tmp1, r_src */
- addInstr(env, MIPSInstr_FpGpMove(MFpGpMove_mtc1, tmp1, r_src));
-
- HReg irrm = newVRegI(env);
-
- MIPSAMode *am_addr1 = MIPSAMode_IR(552, GuestStatePointer(mode64));
-
- addInstr(env, MIPSInstr_Load(4, irrm, am_addr1, mode64));
-
- /* set rounding mode */
- HReg tmp = newVRegI(env);
- HReg fcsr_old = newVRegI(env);
-
- addInstr(env, MIPSInstr_Shft(Mshft_SLL, True, tmp,
- irrm, MIPSRH_Imm(False, 1)));
- addInstr(env, MIPSInstr_Alu(Malu_XOR, tmp, irrm, MIPSRH_Reg(tmp)));
- addInstr(env, MIPSInstr_Alu(Malu_AND, irrm, tmp,
- MIPSRH_Imm(False, 3)));
- /* save old value of FCSR */
- addInstr(env, MIPSInstr_MfFCSR(fcsr_old));
- /* Move SP down 8 bytes */
- sub_from_sp(env, 8);
- am_addr = MIPSAMode_IR(0, StackPointer(mode64));
-
- /* store old FCSR to stack */
- addInstr(env, MIPSInstr_Store(4, am_addr, fcsr_old, mode64));
-
- /* set new value of FCSR */
- addInstr(env, MIPSInstr_MtFCSR(irrm));
+ addInstr(env, MIPSInstr_FpGpMove(MFpGpMove_mtc1, tmp, r_src));
/* and do convert */
- addInstr(env, MIPSInstr_FpConvert(Mfp_CVTDW, dst, tmp1));
- /* set MIPS roundig mode to default and reset sp */
- set_MIPS_rounding_default(env);
+ addInstr(env, MIPSInstr_FpConvert(Mfp_CVTDW, dst, tmp));
return dst;
}
@@ -3092,7 +2968,7 @@
case Iop_SubF32:
case Iop_SubF64: {
MIPSFpOp op = 0;
- /*INVALID*/ HReg argL = iselFltExpr(env, e->Iex.Triop.details->arg2);
+ HReg argL = iselFltExpr(env, e->Iex.Triop.details->arg2);
HReg argR = iselFltExpr(env, e->Iex.Triop.details->arg3);
HReg dst = newVRegF(env);
switch (e->Iex.Triop.details->op) {
@@ -3420,8 +3296,7 @@
return dst;
}
case Iop_ReinterpI64asF64: {
- HReg Hi;
- HReg Lo;
+ HReg Hi, Lo;
HReg dst = newVRegD(env);
iselInt64Expr(&Hi, &Lo, env, e->Iex.Unop.arg);
@@ -3432,46 +3307,15 @@
case Iop_I32StoF64: {
vassert(!mode64);
HReg dst = newVRegD(env);
- HReg tmp1 = newVRegF(env);
+ HReg tmp = newVRegF(env);
HReg r_src = iselWordExpr_R(env, e->Iex.Unop.arg);
- MIPSAMode *am_addr;
/* Move Word to Floating Point
- mtc1 tmp1, r_src */
- addInstr(env, MIPSInstr_FpGpMove(MFpGpMove_mtc1, tmp1, r_src));
-
- HReg irrm = newVRegI(env);
-
- MIPSAMode *am_addr1 = MIPSAMode_IR(284, GuestStatePointer(mode64));
-
- addInstr(env, MIPSInstr_Load(4, irrm, am_addr1, mode64));
-
- /* set rounding mode */
- HReg tmp = newVRegI(env);
- HReg fcsr_old = newVRegI(env);
-
- addInstr(env, MIPSInstr_Shft(Mshft_SLL, True, tmp, irrm,
- MIPSRH_Imm(False, 1)));
- addInstr(env, MIPSInstr_Alu(Malu_XOR, tmp, irrm, MIPSRH_Reg(tmp)));
- addInstr(env, MIPSInstr_Alu(Malu_AND, irrm, tmp,
- MIPSRH_Imm(False, 3)));
- /* save old value of FCSR */
- addInstr(env, MIPSInstr_MfFCSR(fcsr_old));
- /* Move SP down 8 bytes */
- sub_from_sp(env, 8);
- am_addr = MIPSAMode_IR(0, StackPointer(mode64));
-
- /* store old FCSR to stack */
- addInstr(env, MIPSInstr_Store(4, am_addr, fcsr_old, mode64));
-
- /* set new value of FCSR */
- addInstr(env, MIPSInstr_MtFCSR(irrm));
+ mtc1 tmp, r_src */
+ addInstr(env, MIPSInstr_FpGpMove(MFpGpMove_mtc1, tmp, r_src));
/* and do convert */
- addInstr(env, MIPSInstr_FpConvert(Mfp_CVTDW, dst, tmp1));
-
- /* set MIPS roundinf mode to default and reset sp */
- set_MIPS_rounding_default(env);
+ addInstr(env, MIPSInstr_FpConvert(Mfp_CVTDW, dst, tmp));
return dst;
}
@@ -3498,6 +3342,8 @@
addInstr(env, MIPSInstr_FpConvert(Mfp_TRULD, valD1, valD));
else if (fmt->Mrh.Imm.imm16 == 0x2)
addInstr(env, MIPSInstr_FpConvert(Mfp_CEILLD, valD1, valD));
+ else if (fmt->Mrh.Imm.imm16 == 0x0)
+ addInstr(env, MIPSInstr_FpConvert(Mfp_ROUNDLD, valD1, valD));
else
vassert(0);
return valD1;
@@ -3525,7 +3371,7 @@
case Iop_AddF64:
case Iop_SubF64: {
MIPSFpOp op = 0;
- /*INVALID*/ HReg argL = iselDblExpr(env, e->Iex.Triop.details->arg2);
+ HReg argL = iselDblExpr(env, e->Iex.Triop.details->arg2);
HReg argR = iselDblExpr(env, e->Iex.Triop.details->arg3);
HReg dst = newVRegD(env);
switch (e->Iex.Triop.details->op) {
@@ -3714,12 +3560,7 @@
}
if (ty == Ity_F64) {
- HReg fr_src;
- if (mode64) {
- fr_src = iselFltExpr(env, stmt->Ist.Put.data);
- } else {
- fr_src = iselDblExpr(env, stmt->Ist.Put.data);
- }
+ HReg fr_src = iselFltExpr(env, stmt->Ist.Put.data);
MIPSAMode *am_addr = MIPSAMode_IR(stmt->Ist.Put.offset,
GuestStatePointer(mode64));
addInstr(env, MIPSInstr_FpLdSt(False /*store */ , 8, fr_src,
@@ -3907,7 +3748,6 @@
addInstr(env, MIPSInstr_LoadL(8, r_dst, r_addr, mode64));
return;
}
- /* fallthru */ ;
} else {
/* SC */
MIPSAMode *r_addr;
@@ -3926,7 +3766,6 @@
addInstr(env, MIPSInstr_StoreC(8, r_addr, r_dst, mode64));
return;
}
- /* fallthru */
}
goto stmt_fail;
/* NOTREACHED */}
@@ -4074,14 +3913,14 @@
/* Case: call/return (==boring) transfer to any address */
switch (jk) {
case Ijk_Boring: case Ijk_Ret: case Ijk_Call: {
-
HReg r = iselWordExpr_R(env, next);
- MIPSAMode* amPC = MIPSAMode_IR(offsIP, GuestStatePointer(env->mode64));
+ MIPSAMode* amPC = MIPSAMode_IR(offsIP,
+ GuestStatePointer(env->mode64));
if (env->chainingAllowed) {
addInstr(env, MIPSInstr_XIndir(r, amPC, MIPScc_AL));
} else {
addInstr(env, MIPSInstr_XAssisted(r, amPC, MIPScc_AL,
- Ijk_Boring));
+ Ijk_Boring));
}
return;
}
|
|
From: <sv...@va...> - 2013-09-19 10:22:58
|
Author: dejanj
Date: Thu Sep 19 10:22:42 2013
New Revision: 2770
Log:
mips32/64: Fix the problem with dirty helper when the
__mips_isa_rev is not 2 on higher.
Modified:
trunk/priv/guest_mips_helpers.c
Modified: trunk/priv/guest_mips_helpers.c
==============================================================================
--- trunk/priv/guest_mips_helpers.c (original)
+++ trunk/priv/guest_mips_helpers.c Thu Sep 19 10:22:42 2013
@@ -1118,7 +1118,7 @@
extern UInt mips_dirtyhelper_calculate_FCSR ( void* gs, UInt fs, flt_op inst )
{
UInt ret = 0;
-#if defined(__mips__) && ((defined(__mips_isa_rev) && __mips_isa_rev >= 2))
+#if defined(__mips__)
#if defined(VGA_mips32)
VexGuestMIPS32State* guest_state = (VexGuestMIPS32State*)gs;
UInt *addr = (UInt *)&guest_state->guest_f0;
|
|
From: <sv...@va...> - 2013-09-19 10:15:37
|
Author: sewardj
Date: Thu Sep 19 10:15:22 2013
New Revision: 13568
Log:
Double the size of the (already huge) translation cache on all
non-phone/tablet targets. The previous apparently-huge sizing is
evidently not huge enough for recent apps, eg, recent Firefox requires
circa 350k translations to get started and almost fills an 8-sector
cache merely starting up and then idling.
On Android targets, fall back to 6 sectors; space is critical.
Modified:
trunk/coregrind/m_transtab.c
Modified: trunk/coregrind/m_transtab.c
==============================================================================
--- trunk/coregrind/m_transtab.c (original)
+++ trunk/coregrind/m_transtab.c Thu Sep 19 10:15:22 2013
@@ -56,8 +56,16 @@
/*------------------ CONSTANTS ------------------*/
/* Number of sectors the TC is divided into. If you need a larger
- overall translation cache, increase this value. */
-#define N_SECTORS 8
+ overall translation cache, increase this value. On Android, space
+ is limited, so try to get by with fewer sectors. On other
+ platforms we can go to town. 16 sectors gives theoretical capacity
+ of about 440MB of JITted code in 1.05 million translations
+ (realistically, about 2/3 of that) for Memcheck. */
+#if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
+# define N_SECTORS 6
+#else
+# define N_SECTORS 16
+#endif
/* Number of TC entries in each sector. This needs to be a prime
number to work properly, it must be <= 65535 (so that a TT index
|
|
From: <sv...@va...> - 2013-09-19 10:05:09
|
Author: sewardj
Date: Thu Sep 19 10:04:59 2013
New Revision: 13567
Log:
Increase VG_N_SEGMENTS and VG_N_SEGNAMES by a factor of 6 on all
non-{phone/tablet} platforms. Possibly fixes #164485.
Modified:
trunk/coregrind/m_aspacemgr/aspacemgr-linux.c
Modified: trunk/coregrind/m_aspacemgr/aspacemgr-linux.c
==============================================================================
--- trunk/coregrind/m_aspacemgr/aspacemgr-linux.c (original)
+++ trunk/coregrind/m_aspacemgr/aspacemgr-linux.c Thu Sep 19 10:04:59 2013
@@ -264,11 +264,22 @@
/* ------ start of STATE for the address-space manager ------ */
-/* Max number of segments we can track. */
-#define VG_N_SEGMENTS 5000
+/* Max number of segments we can track. On Android, virtual address
+ space is limited, so keep a low limit -- 5000 x sizef(NSegment) is
+ 360KB. */
+#if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
+# define VG_N_SEGMENTS 5000
+#else
+# define VG_N_SEGMENTS 30000
+#endif
-/* Max number of segment file names we can track. */
-#define VG_N_SEGNAMES 1000
+/* Max number of segment file names we can track. These are big (1002
+ bytes) so on Android limit the space usage to ~1MB. */
+#if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
+# define VG_N_SEGNAMES 1000
+#else
+# define VG_N_SEGNAMES 6000
+#endif
/* Max length of a segment file name. */
#define VG_MAX_SEGNAMELEN 1000
|
|
From: <sv...@va...> - 2013-09-19 09:27:16
|
Author: sewardj
Date: Thu Sep 19 09:27:05 2013
New Revision: 13566
Log:
Comment-only change.
Modified:
trunk/coregrind/m_aspacemgr/aspacemgr-linux.c
Modified: trunk/coregrind/m_aspacemgr/aspacemgr-linux.c
==============================================================================
--- trunk/coregrind/m_aspacemgr/aspacemgr-linux.c (original)
+++ trunk/coregrind/m_aspacemgr/aspacemgr-linux.c Thu Sep 19 09:27:05 2013
@@ -107,16 +107,16 @@
reliable way to establish the initial boundaries.
64-bit Linux is similar except for the important detail that the
- upper boundary is set to 32G. The reason is so that all
+ upper boundary is set to 64G. The reason is so that all
anonymous mappings (basically all client data areas) are kept
- below 32G, since that is the maximum range that memcheck can
+ below 64G, since that is the maximum range that memcheck can
track shadow memory using a fast 2-level sparse array. It can go
- beyond that but runs much more slowly. The 32G limit is
+ beyond that but runs much more slowly. The 64G limit is
arbitrary and is trivially changed. So, with the current
settings, programs on 64-bit Linux will appear to run out of
- address space and presumably fail at the 32G limit. Given the
- 9/8 space overhead of Memcheck, that means you should be able to
- memcheckify programs that use up to about 14G natively.
+ address space and presumably fail at the 64G limit. Given the
+ considerable space overhead of Memcheck, that means you should be
+ able to memcheckify programs that use up to about 32G natively.
Note that the aspacem_minAddr/aspacem_maxAddr limits apply only to
anonymous mappings. The client can still do fixed and hinted maps
@@ -1637,7 +1637,7 @@
suggested_clstack_top = -1; // ignored; Mach-O specifies its stack
-#else
+#else /* !defined(VGO_darwin) */
/* Establish address limits and block out unusable parts
accordingly. */
@@ -1670,7 +1670,7 @@
suggested_clstack_top = aspacem_maxAddr - 16*1024*1024ULL
+ VKI_PAGE_SIZE;
-#endif
+#endif /* #else of 'defined(VGO_darwin)' */
aspacem_assert(VG_IS_PAGE_ALIGNED(aspacem_minAddr));
aspacem_assert(VG_IS_PAGE_ALIGNED(aspacem_maxAddr + 1));
|
|
From: <sv...@va...> - 2013-09-19 09:15:06
|
Author: sewardj
Date: Thu Sep 19 09:14:56 2013
New Revision: 13565
Log:
Recent libxul.so on ARM has more than 5000 CIEs. Increase N_CIEs,
therefore.
Modified:
trunk/coregrind/m_debuginfo/readdwarf.c
Modified: trunk/coregrind/m_debuginfo/readdwarf.c
==============================================================================
--- trunk/coregrind/m_debuginfo/readdwarf.c (original)
+++ trunk/coregrind/m_debuginfo/readdwarf.c Thu Sep 19 09:14:56 2013
@@ -3666,7 +3666,7 @@
cie->saw_z_augmentation = False;
}
-#define N_CIEs 5000
+#define N_CIEs 8000
static CIE the_CIEs[N_CIEs];
|
|
From: <sv...@va...> - 2013-09-19 08:55:46
|
Author: sewardj
Date: Thu Sep 19 08:55:36 2013
New Revision: 13564
Log:
Move some now-closed bugs into NEWS.
Modified:
trunk/NEWS
trunk/docs/internals/3_8_BUGSTATUS.txt
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Thu Sep 19 08:55:36 2013
@@ -499,6 +499,19 @@
and freeing callstack
FIXED 13223
+324594 Fix overflow computation and add test-cases for Power ISA 2.06
+ insns: mulldo/mulldo.
+ FIXED 2754 13537; needs closing.
+
+324518 ppc64: Emulation of dcbt instructions does not handle non-zero hint fields
+ FIXED 2753; needs closing though.
+
+323437 Phase 2 support for IBM Power ISA 2.07
+ FIXED 2753 13539
+
+322294 Add initial support for IBM Power ISA 2.07
+ FIXED 2740 13494, but needs close
+
Release 3.8.1 (19 September 2012)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Modified: trunk/docs/internals/3_8_BUGSTATUS.txt
==============================================================================
--- trunk/docs/internals/3_8_BUGSTATUS.txt (original)
+++ trunk/docs/internals/3_8_BUGSTATUS.txt Thu Sep 19 08:55:36 2013
@@ -541,9 +541,6 @@
322279 vgdb fails on OSX Mountain Lion
WONTFIX
-322294 Add initial support for IBM Power ISA 2.07
- FIXED 2740 13494, but needs close
-
322499 False positive 'uninitialized bytes' error with fwrite
INVALID
@@ -611,9 +608,6 @@
triggers false positive
Has patch from pbos
-323437 Phase 2 support for IBM Power ISA 2.07
- Has patch; unclear why not landed
-
323448 Check for memory overlap in sprintf()-like functions
Wishlist
@@ -675,16 +669,9 @@
324486 WARNING: unhandled syscall: 310
Hmm, tricky, sys_unshare.
-324518 ppc64: Emulation of dcbt instructions does not handle non-zero hint fields
- FIXED 2753; needs closing though.
-
324525 valgrind can not detect any leak
PROBABLE INVALID; needs closing.
-324594 Fix overflow computation and add test-cases for Power ISA 2.06
- insns: mulldo/mulldo.
- FIXED 2754 13537; needs closing.
-
324765 ppc64: illegal instruction when executing none/tests/ppc64/jm-misc
324809 show nightly regression tests results (and later performance) in a
@@ -697,4 +684,10 @@
324834 Unhandled instructions in Microsoft C run-time (msvcrt.dll) for x86_64
Should be easy to fix
-Thu Sep 12 13:55:05 CEST 2013
+324882 CPUID should depend on VEX capabilities, not on underlying CPU
+ Middle-term cleanup; not urgent
+
+324894 Phase 3 support for IBM Power ISA 2.07
+ Waiting for review (but by who?)
+
+Thu Sep 19 10:34:49 CEST 2013
|
|
From: Tom H. <to...@co...> - 2013-09-19 04:09:24
|
valgrind revision: 13563 VEX revision: 2769 C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) GDB: GNU gdb (GDB) Fedora (7.3.1-48.fc15) Assembler: GNU assembler version 2.21.51.0.6-6.fc15 20110118 C library: GNU C Library stable release version 2.14.1 uname -mrs: Linux 3.9.5-301.fc19.x86_64 x86_64 Vendor version: Fedora release 15 (Lovelock) Nightly build on bristol ( x86_64, Fedora 15 ) Started at 2013-09-19 03:13:46 BST Ended at 2013-09-19 05:09:08 BST 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 == 667 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) |
|
From: Tom H. <to...@co...> - 2013-09-19 04:09:04
|
valgrind revision: 13563 VEX revision: 2769 C compiler: gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4) GDB: GNU gdb (GDB) Fedora (7.2-52.fc14) Assembler: GNU assembler version 2.20.51.0.7-8.fc14 20100318 C library: GNU C Library stable release version 2.13 uname -mrs: Linux 3.9.5-301.fc19.x86_64 x86_64 Vendor version: Fedora release 14 (Laughlin) Nightly build on bristol ( x86_64, Fedora 14 ) Started at 2013-09-19 03:24:09 BST Ended at 2013-09-19 05:08:46 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 == 665 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (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 == 665 tests, 2 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) none/tests/fdleak_ipv4 (stdout) none/tests/fdleak_ipv4 (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2013-09-19 04:49:33.134064979 +0100 --- new.short 2013-09-19 05:08:46.749553469 +0100 *************** *** 8,13 **** ! == 665 tests, 2 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) - none/tests/fdleak_ipv4 (stdout) - none/tests/fdleak_ipv4 (stderr) --- 8,11 ---- ! == 665 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) |
|
From: Tom H. <to...@co...> - 2013-09-19 04:08:14
|
valgrind revision: 13563 VEX revision: 2769 C compiler: gcc (GCC) 4.4.5 20101112 (Red Hat 4.4.5-2) GDB: Assembler: GNU assembler version 2.20.51.0.2-20.fc13 20091009 C library: GNU C Library stable release version 2.12.2 uname -mrs: Linux 3.9.5-301.fc19.x86_64 x86_64 Vendor version: Fedora release 13 (Goddard) Nightly build on bristol ( x86_64, Fedora 13 ) Started at 2013-09-19 03:35:14 BST Ended at 2013-09-19 05:08:00 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 == 646 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == helgrind/tests/pth_barrier3 (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 == 646 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/threadname_xml (stderr) helgrind/tests/pth_barrier3 (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2013-09-19 04:49:20.174321534 +0100 --- new.short 2013-09-19 05:08:00.920458315 +0100 *************** *** 8,11 **** ! == 646 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == ! memcheck/tests/threadname_xml (stderr) helgrind/tests/pth_barrier3 (stderr) --- 8,10 ---- ! == 646 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == helgrind/tests/pth_barrier3 (stderr) |
|
From: Tom H. <to...@co...> - 2013-09-19 04:07:50
|
valgrind revision: 13563 VEX revision: 2769 C compiler: gcc (GCC) 4.3.0 20080428 (Red Hat 4.3.0-8) GDB: Assembler: GNU assembler version 2.18.50.0.6-2 20080403 C library: GNU C Library stable release version 2.8 uname -mrs: Linux 3.9.5-301.fc19.x86_64 x86_64 Vendor version: Fedora release 9 (Sulphur) Nightly build on bristol ( x86_64, Fedora 9 ) Started at 2013-09-19 03:52:58 BST Ended at 2013-09-19 05:07:33 BST 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 == 642 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/amd64/insn-pcmpistri (stderr) none/tests/amd64/sse4-64 (stdout) |
|
From: Tom H. <to...@co...> - 2013-09-19 04:07:25
|
valgrind revision: 13563 VEX revision: 2769 C compiler: gcc (GCC) 4.4.1 20090725 (Red Hat 4.4.1-2) GDB: Assembler: GNU assembler version 2.19.51.0.14-3.fc11 20090722 C library: GNU C Library stable release version 2.10.2 uname -mrs: Linux 3.9.5-301.fc19.x86_64 x86_64 Vendor version: Fedora release 11 (Leonidas) Nightly build on bristol ( x86_64, Fedora 11 ) Started at 2013-09-19 03:43:01 BST Ended at 2013-09-19 05:07:07 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 == 644 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/long_namespace_xml (stderr) none/tests/amd64/sse4-64 (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 == 644 tests, 2 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/long_namespace_xml (stderr) none/tests/amd64/sse4-64 (stdout) none/tests/fdleak_ipv4 (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2013-09-19 04:48:48.662945351 +0100 --- new.short 2013-09-19 05:07:07.591512220 +0100 *************** *** 8,13 **** ! == 644 tests, 2 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/long_namespace_xml (stderr) none/tests/amd64/sse4-64 (stdout) - none/tests/fdleak_ipv4 (stderr) --- 8,12 ---- ! == 644 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/long_namespace_xml (stderr) none/tests/amd64/sse4-64 (stdout) |
|
From: Tom H. <to...@co...> - 2013-09-19 03:50:34
|
valgrind revision: 13563 VEX revision: 2769 C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) GDB: GNU gdb (GDB) Fedora (7.3.50.20110722-16.fc16) Assembler: GNU assembler version 2.21.53.0.1-6.fc16 20110716 C library: GNU C Library development release version 2.14.90 uname -mrs: Linux 3.9.5-301.fc19.x86_64 x86_64 Vendor version: Fedora release 16 (Verne) Nightly build on bristol ( x86_64, Fedora 16 ) Started at 2013-09-19 03:02:31 BST Ended at 2013-09-19 04:50:00 BST 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 == 667 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) |
|
From: Philippe W. <phi...@sk...> - 2013-09-19 03:46:16
|
valgrind revision: 13563 VEX revision: 2769 C compiler: gcc (GCC) 4.7.2 20121109 (Red Hat 4.7.2-8) GDB: GNU gdb (GDB) Fedora (7.5.1-37.fc18) Assembler: GNU assembler version 2.23.51.0.1-7.fc18 20120806 C library: GNU C Library stable release version 2.16 uname -mrs: Linux 3.7.2-204.fc18.ppc64 ppc64 Vendor version: Fedora release 18 (Spherical Cow) Nightly build on gcc110 ( Fedora release 18 (Spherical Cow), ppc64 ) Started at 2013-09-18 20:00:09 PDT Ended at 2013-09-18 20:45:38 PDT 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 == 565 tests, 31 stderr failures, 3 stdout failures, 0 stderrB failures, 0 stdoutB failures, 2 post failures == memcheck/tests/linux/getregset (stdout) memcheck/tests/linux/getregset (stderr) memcheck/tests/ppc64/power_ISA2_05 (stdout) memcheck/tests/supp_unknown (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) massif/tests/big-alloc (post) massif/tests/deep-D (post) helgrind/tests/annotate_rwlock (stderr) helgrind/tests/free_is_write (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/locked_vs_unlocked1_fwd (stderr) helgrind/tests/locked_vs_unlocked1_rev (stderr) helgrind/tests/locked_vs_unlocked2 (stderr) helgrind/tests/locked_vs_unlocked3 (stderr) helgrind/tests/pth_barrier1 (stderr) helgrind/tests/pth_barrier2 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/pth_destroy_cond (stderr) helgrind/tests/rwlock_race (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) ================================================= == 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 == 565 tests, 33 stderr failures, 5 stdout failures, 0 stderrB failures, 0 stdoutB failures, 2 post failures == memcheck/tests/linux/getregset (stdout) memcheck/tests/linux/getregset (stderr) memcheck/tests/ppc64/power_ISA2_05 (stdout) memcheck/tests/supp_unknown (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) massif/tests/big-alloc (post) massif/tests/deep-D (post) none/tests/ppc32/jm-misc (stdout) none/tests/ppc32/jm-misc (stderr) none/tests/ppc64/jm-misc (stdout) none/tests/ppc64/jm-misc (stderr) helgrind/tests/annotate_rwlock (stderr) helgrind/tests/free_is_write (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/locked_vs_unlocked1_fwd (stderr) helgrind/tests/locked_vs_unlocked1_rev (stderr) helgrind/tests/locked_vs_unlocked2 (stderr) helgrind/tests/locked_vs_unlocked3 (stderr) helgrind/tests/pth_barrier1 (stderr) helgrind/tests/pth_barrier2 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/pth_destroy_cond (stderr) helgrind/tests/rwlock_race (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Wed Sep 18 20:22:05 2013 --- new.short Wed Sep 18 20:45:38 2013 *************** *** 8,10 **** ! == 565 tests, 33 stderr failures, 5 stdout failures, 0 stderrB failures, 0 stdoutB failures, 2 post failures == memcheck/tests/linux/getregset (stdout) --- 8,10 ---- ! == 565 tests, 31 stderr failures, 3 stdout failures, 0 stderrB failures, 0 stdoutB failures, 2 post failures == memcheck/tests/linux/getregset (stdout) *************** *** 18,23 **** massif/tests/deep-D (post) - none/tests/ppc32/jm-misc (stdout) - none/tests/ppc32/jm-misc (stderr) - none/tests/ppc64/jm-misc (stdout) - none/tests/ppc64/jm-misc (stderr) helgrind/tests/annotate_rwlock (stderr) --- 18,19 ---- |
|
From: Tom H. <to...@co...> - 2013-09-19 03:16:42
|
valgrind revision: 13563 VEX revision: 2769 C compiler: gcc (GCC) 4.7.2 20120921 (Red Hat 4.7.2-2) GDB: GNU gdb (GDB) Fedora (7.4.50.20120120-54.fc17) Assembler: GNU assembler version 2.22.52.0.1-10.fc17 20120131 C library: GNU C Library stable release version 2.15 uname -mrs: Linux 3.9.5-301.fc19.x86_64 x86_64 Vendor version: Fedora release 17 (Beefy Miracle) Nightly build on bristol ( x86_64, Fedora 17 (Beefy Miracle) ) Started at 2013-09-19 02:51:30 BST Ended at 2013-09-19 04:16:01 BST 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 == 667 tests, 5 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) gdbserver_tests/mcinfcallWSRU (stderr) gdbserver_tests/mcmain_pic (stderr) memcheck/tests/origin5-bz2 (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) |
|
From: Rich C. <rc...@wi...> - 2013-09-19 03:00:19
|
valgrind revision: 13563
VEX revision: 2769
C compiler: gcc (SUSE Linux) 4.7.2 20130108 [gcc-4_7-branch revision 195012]
GDB: GNU gdb (GDB) SUSE (7.5.1-2.1.1)
Assembler: GNU assembler (GNU Binutils; openSUSE 12.3) 2.23.1
C library: GNU C Library (GNU libc) stable release version 2.17 (git c758a6861537)
uname -mrs: Linux 3.7.9-1.1-desktop x86_64
Vendor version: Welcome to openSUSE 12.3 "Dartmouth" Beta 1 - Kernel %r (%t).
Nightly build on ultra ( gcc 4.5.1 Linux 3.7.9-1.1-desktop x86_64 )
Started at 2013-09-18 21:30:01 CDT
Ended at 2013-09-18 22:00:07 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
== 660 tests, 1 stderr failure, 0 stdout failures, 1 stderrB failure, 0 stdoutB failures, 0 post failures ==
gdbserver_tests/mssnapshot (stderrB)
memcheck/tests/origin5-bz2 (stderr)
=================================================
./valgrind-new/gdbserver_tests/mssnapshot.stderrB.diff
=================================================
--- mssnapshot.stderrB.exp 2013-09-18 21:45:52.553961383 -0500
+++ mssnapshot.stderrB.out 2013-09-18 21:50:09.781894891 -0500
@@ -1,5 +1,11 @@
relaying data between gdb and process ....
+Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2
+Try: zypper install -C "debuginfo(build-id)=ecb8ef1a6904a2a3ec60a527f415f520c8636158"
vgdb-error value changed from 0 to 999999
+Missing separate debuginfo for /lib64/libpthread.so.0
+Try: zypper install -C "debuginfo(build-id)=ef5f5dbcb2398c608fef7884e1bfb65be3b5f0ef"
+Missing separate debuginfo for /lib64/libc.so.6
+Try: zypper install -C "debuginfo(build-id)=bd1473e8e6a4c10a14731b5be4b35b4e87db2af7"
general valgrind monitor commands:
help [debug] : monitor command help. With debug: + debugging commands
v.wait [<ms>] : sleep <ms> (default 0) then continue
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc212-s390x
=================================================
--- origin5-bz2.stderr.exp-glibc212-s390x 2013-09-18 21:45:53.390938403 -0500
+++ origin5-bz2.stderr.out 2013-09-18 21:51:52.793062948 -0500
@@ -75,17 +75,6 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
- at 0x........: mainSort (origin5-bz2.c:2859)
- 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)
- 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:6479)
-
-Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -131,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc234-s390x
=================================================
--- origin5-bz2.stderr.exp-glibc234-s390x 2013-09-18 21:45:56.638849224 -0500
+++ origin5-bz2.stderr.out 2013-09-18 21:51:52.793062948 -0500
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2013-09-18 21:45:53.465936345 -0500
+++ origin5-bz2.stderr.out 2013-09-18 21:51:52.793062948 -0500
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2013-09-18 21:45:53.416937690 -0500
+++ origin5-bz2.stderr.out 2013-09-18 21:51:52.793062948 -0500
@@ -12,7 +12,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
by 0x........: handle_compress (origin5-bz2.c:4750)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -21,7 +21,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
by 0x........: handle_compress (origin5-bz2.c:4750)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -30,7 +30,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2820)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -41,7 +41,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2823)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -52,7 +52,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2854)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -63,7 +63,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2858)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -74,7 +74,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -85,7 +85,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2964)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -96,7 +96,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2269)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -107,7 +107,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2275)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2013-09-18 21:45:52.949950512 -0500
+++ origin5-bz2.stderr.out 2013-09-18 21:51:52.793062948 -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........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -10,7 +10,7 @@
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
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -19,7 +19,7 @@
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
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -28,7 +28,7 @@
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
at 0x........: mainSort (origin5-bz2.c:2820)
@@ -39,7 +39,7 @@
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
at 0x........: mainSort (origin5-bz2.c:2823)
@@ -50,7 +50,7 @@
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
at 0x........: mainSort (origin5-bz2.c:2854)
@@ -61,7 +61,7 @@
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
at 0x........: mainSort (origin5-bz2.c:2858)
@@ -72,7 +72,7 @@
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
at 0x........: mainSort (origin5-bz2.c:2963)
@@ -83,7 +83,7 @@
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
at 0x........: mainSort (origin5-bz2.c:2964)
@@ -94,7 +94,7 @@
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
at 0x........: fallbackSort (origin5-bz2.c:2269)
@@ -105,7 +105,7 @@
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
<truncated beyond 100 lines>
=================================================
./valgrind-old/gdbserver_tests/mssnapshot.stderrB.diff
=================================================
--- mssnapshot.stderrB.exp 2013-09-18 21:31:37.055405258 -0500
+++ mssnapshot.stderrB.out 2013-09-18 21:35:46.868569345 -0500
@@ -1,5 +1,11 @@
relaying data between gdb and process ....
+Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2
+Try: zypper install -C "debuginfo(build-id)=ecb8ef1a6904a2a3ec60a527f415f520c8636158"
vgdb-error value changed from 0 to 999999
+Missing separate debuginfo for /lib64/libpthread.so.0
+Try: zypper install -C "debuginfo(build-id)=ef5f5dbcb2398c608fef7884e1bfb65be3b5f0ef"
+Missing separate debuginfo for /lib64/libc.so.6
+Try: zypper install -C "debuginfo(build-id)=bd1473e8e6a4c10a14731b5be4b35b4e87db2af7"
general valgrind monitor commands:
help [debug] : monitor command help. With debug: + debugging commands
v.wait [<ms>] : sleep <ms> (default 0) then continue
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc212-s390x
=================================================
--- origin5-bz2.stderr.exp-glibc212-s390x 2013-09-18 21:31:05.130278245 -0500
+++ origin5-bz2.stderr.out 2013-09-18 21:37:29.719752443 -0500
@@ -75,17 +75,6 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
- at 0x........: mainSort (origin5-bz2.c:2859)
- 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)
- 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:6479)
-
-Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -131,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc234-s390x
=================================================
--- origin5-bz2.stderr.exp-glibc234-s390x 2013-09-18 21:31:01.425379525 -0500
+++ origin5-bz2.stderr.out 2013-09-18 21:37:29.719752443 -0500
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2013-09-18 21:30:56.655509939 -0500
+++ origin5-bz2.stderr.out 2013-09-18 21:37:29.719752443 -0500
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2013-09-18 21:31:03.450324161 -0500
+++ origin5-bz2.stderr.out 2013-09-18 21:37:29.719752443 -0500
@@ -12,7 +12,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
by 0x........: handle_compress (origin5-bz2.c:4750)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -21,7 +21,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
by 0x........: handle_compress (origin5-bz2.c:4750)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -30,7 +30,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2820)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -41,7 +41,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2823)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -52,7 +52,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2854)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -63,7 +63,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2858)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -74,7 +74,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -85,7 +85,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2964)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -96,7 +96,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2269)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -107,7 +107,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2275)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
<truncated beyond 100 lines>
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2013-09-18 21:31:00.949392540 -0500
+++ origin5-bz2.stderr.out 2013-09-18 21:37:29.719752443 -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........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -10,7 +10,7 @@
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
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -19,7 +19,7 @@
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
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -28,7 +28,7 @@
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
at 0x........: mainSort (origin5-bz2.c:2820)
@@ -39,7 +39,7 @@
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
at 0x........: mainSort (origin5-bz2.c:2823)
@@ -50,7 +50,7 @@
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
at 0x........: mainSort (origin5-bz2.c:2854)
@@ -61,7 +61,7 @@
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
at 0x........: mainSort (origin5-bz2.c:2858)
@@ -72,7 +72,7 @@
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
at 0x........: mainSort (origin5-bz2.c:2963)
@@ -83,7 +83,7 @@
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
at 0x........: mainSort (origin5-bz2.c:2964)
@@ -94,7 +94,7 @@
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
at 0x........: fallbackSort (origin5-bz2.c:2269)
@@ -105,7 +105,7 @@
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
<truncated beyond 100 lines>
|
|
From: Tom H. <to...@co...> - 2013-09-19 02:47:01
|
valgrind revision: 13563 VEX revision: 2769 C compiler: gcc (GCC) 4.7.2 20121109 (Red Hat 4.7.2-8) GDB: GNU gdb (GDB) Fedora (7.5.1-38.fc18) Assembler: GNU assembler version 2.23.51.0.1-10.fc18 20120806 C library: GNU C Library stable release version 2.16 uname -mrs: Linux 3.9.5-301.fc19.x86_64 x86_64 Vendor version: Fedora release 18 (Spherical Cow) Nightly build on bristol ( x86_64, Fedora 18 (Spherical Cow) ) Started at 2013-09-19 02:42:40 BST Ended at 2013-09-19 03:46:28 BST 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 == 667 tests, 2 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) |
|
From: Maran P. <ma...@li...> - 2013-09-19 02:21:50
|
valgrind revision: 13563 VEX revision: 2769 C compiler: gcc (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973] GDB: GNU gdb (GDB) SUSE (7.3-0.6.1) Assembler: GNU assembler (GNU Binutils; SUSE Linux Enterprise 11) 2.21.1 C library: GNU C Library stable release version 2.11.3 (20110527) uname -mrs: Linux 3.0.80-0.7-default s390x Vendor version: Welcome to SUSE Linux Enterprise Server 11 SP2 (s390x) - Kernel %r (%t). Nightly build on sless390 ( SUSE Linux Enterprise Server 11 SP1 gcc 4.3.4 on z196 (s390x) ) Started at 2013-09-19 03:45:01 CEST Ended at 2013-09-19 04:21:38 CEST 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 == 639 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == |
|
From: Maran P. <ma...@li...> - 2013-09-19 02:13:51
|
valgrind revision: 13563 VEX revision: 2769 C compiler: gcc (GCC) 4.7.0 20120604 (Red Hat 4.7.0-7) GDB: GNU gdb (GDB) Fedora (7.4.50.20120120-42.fc17) Assembler: GNU assembler version 2.22.52.0.1-10.fc17 20120131 C library: unknown uname -mrs: Linux 3.3.4-5.fc17.s390x s390x Vendor version: Fedora release 17 (Beefy Miracle) Nightly build on fedoras390 ( Fedora 17 with gcc 4.7.0 on z196 (s390x) ) Started at 2013-09-19 03:45:25 CEST Ended at 2013-09-19 04:14:00 CEST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 641 tests, 3 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == none/tests/s390x/test_clone (stdout) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) drd/tests/tc04_free_lock (stderr) |
|
From: Tom H. <to...@co...> - 2013-09-19 02:11:30
|
valgrind revision: 13563 VEX revision: 2769 C compiler: gcc (GCC) 4.8.1 20130603 (Red Hat 4.8.1-1) GDB: GNU gdb (GDB) Fedora (7.6-34.fc19) Assembler: GNU assembler version 2.23.52.0.1-9.fc19 20130226 C library: GNU C Library (GNU libc) stable release version 2.17 uname -mrs: Linux 3.9.5-301.fc19.x86_64 x86_64 Vendor version: Fedora release 19 (Schrödingerâs Cat) Nightly build on bristol ( x86_64, Fedora 19 (Schrödingerâs Cat) ) Started at 2013-09-19 02:32:29 BST Ended at 2013-09-19 03:11:13 BST 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 == 667 tests, 3 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/dw4 (stderr) memcheck/tests/origin5-bz2 (stderr) exp-sgcheck/tests/hackedbz2 (stderr) |
|
From: Maran P. <ma...@li...> - 2013-09-19 01:56:47
|
valgrind revision: 13563 VEX revision: 2769 C compiler: gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3) GDB: GNU gdb (GDB) Red Hat Enterprise Linux (7.2-60.el6) Assembler: GNU assembler version 2.20.51.0.2-5.36.el6 20100205 C library: GNU C Library stable release version 2.12 uname -mrs: Linux 2.6.32-358.el6.s390x s390x Vendor version: Red Hat Enterprise Linux Server release 6.4 (Santiago) Nightly build on rhels390 ( RHEL 6.4 with gcc 4.4.7 on zEC12 (s390x) ) Started at 2013-09-19 03:45:25 CEST Ended at 2013-09-19 03:56:58 CEST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 638 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... failed Last 20 lines of verbose log follow echo mv -f priv/.deps/libvex_s390x_linux_a-s390_disasm.Tpo priv/.deps/libvex_s390x_linux_a-s390_disasm.Po gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../include -I../VEX/pub -DVGA_s390x=1 -DVGO_linux=1 -DVGP_s390x_linux=1 -DVGPV_s390x_linux_vanilla=1 -Ipriv -m64 -O2 -g -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wno-format-zero-length -fno-strict-aliasing -fno-builtin -fomit-frame-pointer -Wbad-function-cast -Wcast-qual -Wcast-align -fstrict-aliasing -Wno-long-long -Wwrite-strings -fno-stack-protector -MT priv/libvex_s390x_linux_a-host_mips_defs.o -MD -MP -MF priv/.deps/libvex_s390x_linux_a-host_mips_defs.Tpo -c -o priv/libvex_s390x_linux_a-host_mips_defs.o `test -f 'priv/host_mips_defs.c' || echo './'`priv/host_mips_defs.c gcc: Internal error: Killed (program cc1) Please submit a full bug report. See <http://bugzilla.redhat.com/bugzilla> for instructions. make[3]: *** [priv/libvex_s390x_linux_a-guest_amd64_toIR.o] Error 1 make[3]: *** Waiting for unfinished jobs.... mv -f priv/.deps/libvex_s390x_linux_a-guest_x86_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_x86_toIR.Po mv -f priv/.deps/libvex_s390x_linux_a-host_s390_isel.Tpo priv/.deps/libvex_s390x_linux_a-host_s390_isel.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_ppc_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_ppc_toIR.Po mv -f priv/.deps/libvex_s390x_linux_a-host_mips_defs.Tpo priv/.deps/libvex_s390x_linux_a-host_mips_defs.Po mv -f priv/.deps/libvex_s390x_linux_a-host_s390_defs.Tpo priv/.deps/libvex_s390x_linux_a-host_s390_defs.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_s390_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_s390_toIR.Po mv -f priv/.deps/libvex_s390x_linux_a-guest_arm_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_arm_toIR.Po make[3]: Leaving directory `/root/nightly/valgrind-old/VEX' make[2]: *** [all] Error 2 make[2]: Leaving directory `/root/nightly/valgrind-old/VEX' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/root/nightly/valgrind-old' make: *** [all] Error 2 ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2013-09-19 03:46:30.000000000 +0200 --- new.short 2013-09-19 03:56:58.000000000 +0200 *************** *** 3,26 **** Configuring valgrind ... done ! Building valgrind ... failed - Last 20 lines of verbose log follow echo - mv -f priv/.deps/libvex_s390x_linux_a-s390_disasm.Tpo priv/.deps/libvex_s390x_linux_a-s390_disasm.Po - gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../include -I../VEX/pub -DVGA_s390x=1 -DVGO_linux=1 -DVGP_s390x_linux=1 -DVGPV_s390x_linux_vanilla=1 -Ipriv -m64 -O2 -g -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wno-format-zero-length -fno-strict-aliasing -fno-builtin -fomit-frame-pointer -Wbad-function-cast -Wcast-qual -Wcast-align -fstrict-aliasing -Wno-long-long -Wwrite-strings -fno-stack-protector -MT priv/libvex_s390x_linux_a-host_mips_defs.o -MD -MP -MF priv/.deps/libvex_s390x_linux_a-host_mips_defs.Tpo -c -o priv/libvex_s390x_linux_a-host_mips_defs.o `test -f 'priv/host_mips_defs.c' || echo './'`priv/host_mips_defs.c - gcc: Internal error: Killed (program cc1) - Please submit a full bug report. - See <http://bugzilla.redhat.com/bugzilla> for instructions. - make[3]: *** [priv/libvex_s390x_linux_a-guest_amd64_toIR.o] Error 1 - make[3]: *** Waiting for unfinished jobs.... - mv -f priv/.deps/libvex_s390x_linux_a-guest_x86_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_x86_toIR.Po - mv -f priv/.deps/libvex_s390x_linux_a-host_s390_isel.Tpo priv/.deps/libvex_s390x_linux_a-host_s390_isel.Po - mv -f priv/.deps/libvex_s390x_linux_a-guest_ppc_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_ppc_toIR.Po - mv -f priv/.deps/libvex_s390x_linux_a-host_mips_defs.Tpo priv/.deps/libvex_s390x_linux_a-host_mips_defs.Po - mv -f priv/.deps/libvex_s390x_linux_a-host_s390_defs.Tpo priv/.deps/libvex_s390x_linux_a-host_s390_defs.Po - mv -f priv/.deps/libvex_s390x_linux_a-guest_s390_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_s390_toIR.Po - mv -f priv/.deps/libvex_s390x_linux_a-guest_arm_toIR.Tpo priv/.deps/libvex_s390x_linux_a-guest_arm_toIR.Po - make[3]: Leaving directory `/root/nightly/valgrind-old/VEX' - make[2]: *** [all] Error 2 - make[2]: Leaving directory `/root/nightly/valgrind-old/VEX' - make[1]: *** [all-recursive] Error 1 - make[1]: Leaving directory `/root/nightly/valgrind-old' - make: *** [all] Error 2 --- 3,10 ---- Configuring valgrind ... done ! Building valgrind ... done ! Running regression tests ... done ! ! Regression test results follow ! ! == 638 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == |