Commits

Stanislav Sedov committed 06b7292 Merge

- Merge with 3.8.0 upstream.

Comments (0)

Files changed (1108)

 
 Julian Seward was the original founder, designer and author of
 Valgrind, created the dynamic translation frameworks, wrote Memcheck,
-the 3.X versions of Helgrind, Ptrcheck, DHAT, and did lots of other
+the 3.X versions of Helgrind, SGCheck, DHAT, and did lots of other
 things.
 
 Nicholas Nethercote did the core/tool generalisation, wrote
 also made a bunch of performance and memory-reduction fixes across
 diverse parts of the system.
 
-Maynard Johnson contributed IBM Power6 and Power7 support, and generally
-deals with ppc64-linux issues.
+Carl Love and Maynard Johnson contributed IBM Power6 and Power7
+support, and generally deal with ppc{32,64}-linux issues.
+
+Petar Jovanovic and Dejan Jevtic wrote and maintain the mips32-linux
+port.
+
+Dragos Tatulea modified the arm-android port so it also works on
+x86-android.
+
+Jakub Jelinek helped out with the AVX support.
 
 Many, many people sent bug reports, patches, and helpful feedback.
 
 #
 # Nb: the AM_CPPFLAGS_* values are suitable for building tools and auxprogs.
 # For building the core, coregrind/Makefile.am files add some extra things.
-#
-# Also: in newer versions of automake (1.10 onwards?) asm files ending with
-# '.S' are considered "pre-processed" (as opposed to those ending in '.s')
-# and so the CPPFLAGS are passed to the assembler.  But this is not true for
-# older automakes (e.g. 1.8.5, 1.9.6), sigh.  So we include
-# AM_CPPFLAGS_<PLATFORM> in each AM_CCASFLAGS_<PLATFORM> variable.  This
-# means some of the flags are duplicated on systems with newer versions of
-# automake, but this does not really matter and seems hard to avoid.
 
 AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@ = \
 	-I$(top_srcdir) \
 endif
 
 AM_FLAG_M3264_X86_LINUX   = @FLAG_M32@
-AM_CFLAGS_X86_LINUX       = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY@ \
-			 	$(AM_CFLAGS_BASE)
-AM_CCASFLAGS_X86_LINUX    = $(AM_CPPFLAGS_X86_LINUX) @FLAG_M32@ -g
+AM_CFLAGS_X86_LINUX       = @FLAG_M32@  @PREFERRED_STACK_BOUNDARY@ \
+				$(AM_CFLAGS_BASE) -fomit-frame-pointer
+AM_CCASFLAGS_X86_LINUX    = @FLAG_M32@ -g
 
 AM_FLAG_M3264_AMD64_LINUX = @FLAG_M64@
-AM_CFLAGS_AMD64_LINUX     = @FLAG_M64@ -fomit-frame-pointer \
-				@PREFERRED_STACK_BOUNDARY@ $(AM_CFLAGS_BASE)
-AM_CCASFLAGS_AMD64_LINUX  = $(AM_CPPFLAGS_AMD64_LINUX) @FLAG_M64@ -g
+AM_CFLAGS_AMD64_LINUX     = @FLAG_M64@ @PREFERRED_STACK_BOUNDARY@ \
+				$(AM_CFLAGS_BASE) -fomit-frame-pointer
+AM_CCASFLAGS_AMD64_LINUX  = @FLAG_M64@ -g
 
 AM_FLAG_M3264_PPC32_LINUX = @FLAG_M32@
 AM_CFLAGS_PPC32_LINUX     = @FLAG_M32@ $(AM_CFLAGS_BASE)
-AM_CCASFLAGS_PPC32_LINUX  = $(AM_CPPFLAGS_PPC32_LINUX) @FLAG_M32@ -g
+AM_CCASFLAGS_PPC32_LINUX  = @FLAG_M32@ -g
 
 AM_FLAG_M3264_PPC64_LINUX = @FLAG_M64@
 AM_CFLAGS_PPC64_LINUX     = @FLAG_M64@ $(AM_CFLAGS_BASE)
-AM_CCASFLAGS_PPC64_LINUX  = $(AM_CPPFLAGS_PPC64_LINUX) @FLAG_M64@ -g
+AM_CCASFLAGS_PPC64_LINUX  = @FLAG_M64@ -g
 
 AM_FLAG_M3264_X86_FREEBSD   = @FLAG_M32@
 AM_CFLAGS_X86_FREEBSD       = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY@ \
 AM_FLAG_M3264_ARM_LINUX   = @FLAG_M32@
 AM_CFLAGS_ARM_LINUX       = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY@ \
 			 	$(AM_CFLAGS_BASE) -marm -mcpu=cortex-a8
-AM_CCASFLAGS_ARM_LINUX    = $(AM_CPPFLAGS_ARM_LINUX) @FLAG_M32@ \
+AM_CCASFLAGS_ARM_LINUX    = @FLAG_M32@ \
 				-marm -mcpu=cortex-a8 -g
 
 AM_FLAG_M3264_AMD64_FREEBSD = @FLAG_M64@
 				-mmacosx-version-min=10.5 \
 				-fno-stack-protector -fno-pic -fno-PIC
 
-AM_CCASFLAGS_X86_DARWIN  = $(AM_CPPFLAGS_X86_DARWIN) -arch i386 -g
+AM_CCASFLAGS_X86_DARWIN  = -arch i386 -g
 
 AM_FLAG_M3264_AMD64_DARWIN = -arch x86_64
 AM_CFLAGS_AMD64_DARWIN     = $(WERROR) -arch x86_64 $(AM_CFLAGS_BASE) \
 			    -mmacosx-version-min=10.5 -fno-stack-protector
-AM_CCASFLAGS_AMD64_DARWIN  = $(AM_CPPFLAGS_AMD64_DARWIN) -arch x86_64 -g
+AM_CCASFLAGS_AMD64_DARWIN  = -arch x86_64 -g
 
 AM_FLAG_M3264_S390X_LINUX = @FLAG_M64@
-AM_CFLAGS_S390X_LINUX     = @FLAG_M64@ $(AM_CFLAGS_BASE)
-AM_CCASFLAGS_S390X_LINUX  = $(AM_CPPFLAGS_S390X_LINUX) -mzarch -march=z900 \
-                            @FLAG_M64@ -g
+AM_CFLAGS_S390X_LINUX     = @FLAG_M64@ $(AM_CFLAGS_BASE) -fomit-frame-pointer
+AM_CCASFLAGS_S390X_LINUX  = @FLAG_M64@ -g -mzarch -march=z900
+
+AM_FLAG_M3264_MIPS32_LINUX = @FLAG_M32@
+AM_CFLAGS_MIPS32_LINUX     = @FLAG_M32@ $(AM_CFLAGS_BASE) -mips32
+AM_CCASFLAGS_MIPS32_LINUX  = @FLAG_M32@ -mips32 -g
+
 
 # Flags for the primary target.  These must be used to build the
 # regtests and performance tests.  In fact, these must be used to
 PRELOAD_LDFLAGS_COMMON_FREEBSD  = -nodefaultlibs -shared -Wl,-z,interpose,-z,initfirst
 PRELOAD_LDFLAGS_COMMON_DARWIN = -dynamic -dynamiclib -all_load
 
+if VGCONF_PLATVARIANT_IS_ANDROID
+# The Android toolchain includes all kinds of stdlib helpers present in
+# bionic which is bad because we are not linking with it and the Android
+# linker will panic.
+PRELOAD_LDFLAGS_COMMON_LINUX += -nostdlib
+endif
+
 PRELOAD_LDFLAGS_X86_LINUX    = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
 PRELOAD_LDFLAGS_AMD64_LINUX  = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
 PRELOAD_LDFLAGS_PPC32_LINUX  = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
 PRELOAD_LDFLAGS_X86_DARWIN   = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch i386
 PRELOAD_LDFLAGS_AMD64_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch x86_64
 PRELOAD_LDFLAGS_S390X_LINUX  = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
+PRELOAD_LDFLAGS_MIPS32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
 
 
-AUTOMAKE_OPTIONS = foreign 1.7 dist-bzip2
+AUTOMAKE_OPTIONS = foreign 1.10 dist-bzip2
 
 include $(top_srcdir)/Makefile.all.am 
 
 		exp-bbv \
 		exp-dhat
 
-# DDD: once all tools work on Darwin, TEST_TOOLS and TEST_EXP_TOOLS can be
-# replaced with TOOLS and EXP_TOOLS.
-TEST_TOOLS = $(TOOLS)
-if !VGCONF_OS_IS_DARWIN
-  TEST_EXP_TOOLS = $(EXP_TOOLS)
-else
-  TEST_EXP_TOOLS = exp-bbv
-endif
-
-
 # Put docs last because building the HTML is slow and we want to get
 # everything else working before we try it.
 SUBDIRS = \
 	darwin9.supp darwin9-drd.supp \
 	freebsd.supp \
 	darwin10.supp darwin10-drd.supp \
-	darwin11.supp \
+	darwin11.supp darwin12.supp \
 	bionic.supp
 DEFAULT_SUPP_FILES = @DEFAULT_SUPP@
 
 # default.supp, as it is built from the base .supp files at compile-time.
 dist_noinst_DATA = $(SUPP_FILES)
 
-pkglib_DATA = default.supp
+vglibdir = $(pkglibdir)
+vglib_DATA = default.supp
 
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = valgrind.pc
 	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.
 regtest: check
-	-tests/check_makefile_consistency gdbserver_tests $(TEST_TOOLS) $(TEST_EXP_TOOLS)
 	gdbserver_tests/make_local_links $(GDB)
-	@PERL@ tests/vg_regtest gdbserver_tests $(TEST_TOOLS) $(TEST_EXP_TOOLS)
+	if @PERL@ tests/vg_regtest gdbserver_tests $(TOOLS) $(EXP_TOOLS) ; then \
+	   tests/check_makefile_consistency gdbserver_tests $(TOOLS) $(EXP_TOOLS); \
+	else \
+	   tests/check_makefile_consistency gdbserver_tests $(TOOLS) $(EXP_TOOLS); \
+	   false; \
+	fi
 nonexp-regtest: check
-	@PERL@ tests/vg_regtest $(TEST_TOOLS)
+	@PERL@ tests/vg_regtest $(TOOLS)
 exp-regtest: check
-	@PERL@ tests/vg_regtest gdbserver_tests $(TEST_EXP_TOOLS)
+	@PERL@ tests/vg_regtest gdbserver_tests $(EXP_TOOLS)
 # Nb: gdbserver_tests are put in exp-regtest rather than nonexp-regtest
 # because they are tested with various valgrind tools, so might be using
 # an experimental tool.
 	README_MISSING_SYSCALL_OR_IOCTL \
 	README.s390 \
 	README.android \
+	README.mips \
+	NEWS.old \
 	valgrind.pc.in \
 	valgrind.spec.in \
 	valgrind.spec

Makefile.tool-tests.am

 		-DVGO_@VGCONF_OS@=1 \
 		-DVGP_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1 \
 		-DVGPV_@VGCONF_ARCH_PRI@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1
+
+if VGCONF_HAVE_PLATFORM_SEC
+AM_CPPFLAGS +=	-DVGA_SEC_@VGCONF_ARCH_SEC@=1  \
+		-DVGP_SEC_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1
+endif
+
 # Nb: Tools need to augment these flags with an arch-selection option, such
 # as $(AM_FLAG_M3264_PRI).
 AM_CFLAGS   = -Winline -Wall -Wshadow -g
 TOOL_LDFLAGS_AMD64_DARWIN = \
 	$(TOOL_LDFLAGS_COMMON_DARWIN) -arch x86_64
 
+# MIPS Linux default start symbol is __start, not _start like on x86 or amd
+TOOL_LDFLAGS_MIPS32_LINUX = \
+	-static -nodefaultlibs -nostartfiles -u __start @FLAG_NO_BUILD_ID@ \
+	@FLAG_M32@
+
 # On Android we must ask for non-executable stack, not sure why.
 if VGCONF_PLATFORMS_INCLUDE_ARM_LINUX
 if VGCONF_PLATVARIANT_IS_ANDROID
 LIBREPLACEMALLOC_S390X_LINUX = \
 	$(top_builddir)/coregrind/libreplacemalloc_toolpreload-s390x-linux.a
 
+LIBREPLACEMALLOC_MIPS32_LINUX = \
+	$(top_builddir)/coregrind/libreplacemalloc_toolpreload-mips32-linux.a
 
 LIBREPLACEMALLOC_LDFLAGS_X86_LINUX = \
 	-Wl,--whole-archive \
 	$(LIBREPLACEMALLOC_S390X_LINUX) \
 	-Wl,--no-whole-archive
 
+LIBREPLACEMALLOC_LDFLAGS_MIPS32_LINUX = \
+	-Wl,--whole-archive \
+	$(LIBREPLACEMALLOC_MIPS32_LINUX) \
+	-Wl,--no-whole-archive
+
 #----------------------------------------------------------------------------
 # General stuff
 #----------------------------------------------------------------------------
 	pub/libvex_guest_ppc64.h \
 	pub/libvex_guest_arm.h \
 	pub/libvex_guest_s390x.h \
+	pub/libvex_guest_mips32.h \
 	pub/libvex_s390x_common.h \
 	pub/libvex_ir.h \
 	pub/libvex_trc_values.h
 	priv/guest_ppc_defs.h \
 	priv/guest_arm_defs.h \
 	priv/guest_s390_defs.h \
+	priv/guest_mips_defs.h \
 	priv/host_generic_regs.h \
 	priv/host_generic_simd64.h \
 	priv/host_generic_simd128.h \
 	priv/host_ppc_defs.h \
 	priv/host_arm_defs.h \
 	priv/host_s390_defs.h \
-	priv/host_s390_disasm.h
+	priv/host_s390_disasm.h \
+	priv/host_mips_defs.h
 
 BUILT_SOURCES = pub/libvex_guest_offsets.h
 CLEANFILES    = pub/libvex_guest_offsets.h
 			    pub/libvex_guest_ppc32.h \
 			    pub/libvex_guest_ppc64.h \
 			    pub/libvex_guest_arm.h \
-			    pub/libvex_guest_s390x.h
+			    pub/libvex_guest_s390x.h \
+			    pub/libvex_guest_mips32.h
 	rm -f auxprogs/genoffsets.s
 	$(CC) $(CFLAGS) \
 	      $(LIBVEX_CFLAGS) \
 	      $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) \
 				-O -S -o auxprogs/genoffsets.s \
 					 auxprogs/genoffsets.c
-	grep xyzzy auxprogs/genoffsets.s | grep define \
+	grep xyzzy auxprogs/genoffsets.s | grep "^#define" \
 	   | sed "s/xyzzy\\$$//g" \
 	   | sed "s/xyzzy#//g" \
 	   | sed "s/xyzzy//g" \
 	priv/guest_arm_toIR.c \
 	priv/guest_s390_helpers.c \
 	priv/guest_s390_toIR.c \
+	priv/guest_mips_helpers.c \
+	priv/guest_mips_toIR.c \
 	priv/host_generic_regs.c \
 	priv/host_generic_simd64.c \
 	priv/host_generic_simd128.c \
 	priv/host_arm_isel.c \
 	priv/host_s390_defs.c \
 	priv/host_s390_isel.c \
-	priv/host_s390_disasm.c
+	priv/host_s390_disasm.c \
+	priv/host_mips_defs.c \
+	priv/host_mips_isel.c
 
 LIBVEX_CFLAGS = \
 	-Wbad-function-cast \
+
+Release 3.8.0 (10 August 2012)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+3.8.0 is a feature release with many improvements and the usual
+collection of bug fixes.
+
+This release supports X86/Linux, AMD64/Linux, ARM/Linux, PPC32/Linux,
+PPC64/Linux, S390X/Linux, MIPS/Linux, ARM/Android, X86/Android,
+X86/MacOSX 10.6/10.7 and AMD64/MacOSX 10.6/10.7.  Support for recent
+distros and toolchain components (glibc 2.16, gcc 4.7) has been added.
+There is initial support for MacOSX 10.8, but it is not usable for
+serious work at present.
+
+* ================== PLATFORM CHANGES =================
+
+* Support for MIPS32 platforms running Linux.  Valgrind has been
+  tested on MIPS32 and MIPS32r2 platforms running different Debian
+  Squeeze and MeeGo distributions.  Both little-endian and big-endian
+  cores are supported.  The tools Memcheck, Massif and Lackey have
+  been tested and are known to work. See README.mips for more details.
+
+* Preliminary support for Android running on x86.
+
+* Preliminary (as-yet largely unusable) support for MacOSX 10.8.
+
+* Support for Intel AVX instructions and for AES instructions.  This
+  support is available only for 64 bit code.
+
+* Support for POWER Decimal Floating Point instructions.
+
+* ==================== TOOL CHANGES ====================
+
+* Non-libc malloc implementations are now supported.  This is useful
+  for tools that replace malloc (Memcheck, Massif, DRD, Helgrind).
+  Using the new option --soname-synonyms, such tools can be informed
+  that the malloc implementation is either linked statically into the
+  executable, or is present in some other shared library different
+  from libc.so.  This makes it possible to process statically linked
+  programs, and programs using other malloc libraries, for example
+  TCMalloc or JEMalloc.
+
+* For tools that provide their own replacement for malloc et al, the
+  option --redzone-size=<number> allows users to specify the size of
+  the padding blocks (redzones) added before and after each client
+  allocated block.  Smaller redzones decrease the memory needed by
+  Valgrind.  Bigger redzones increase the chance to detect blocks
+  overrun or underrun.  Prior to this change, the redzone size was
+  hardwired to 16 bytes in Memcheck.
+
+* Memcheck:
+
+  - The leak_check GDB server monitor command now can
+    control the maximum nr of loss records to output.
+
+  - Reduction of memory use for applications allocating
+    many blocks and/or having many partially defined bytes.
+
+  - Addition of GDB server monitor command 'block_list' that lists
+    the addresses/sizes of the blocks of a leak search loss record.
+
+  - Addition of GDB server monitor command 'who_points_at' that lists
+    the locations pointing at a block.
+
+  - If a redzone size > 0 is given, VALGRIND_MALLOCLIKE_BLOCK now will
+    detect an invalid access of these redzones, by marking them
+    noaccess.  Similarly, if a redzone size is given for a memory
+    pool, VALGRIND_MEMPOOL_ALLOC will mark the redzones no access.
+    This still allows to find some bugs if the user has forgotten to
+    mark the pool superblock noaccess.
+
+  - Performance of memory leak check has been improved, especially in
+    cases where there are many leaked blocks and/or many suppression
+    rules used to suppress leak reports.
+
+  - Reduced noise (false positive) level on MacOSX 10.6/10.7, due to
+    more precise analysis, which is important for LLVM/Clang
+    generated code.  This is at the cost of somewhat reduced
+    performance.  Note there is no change to analysis precision or
+    costs on Linux targets.
+
+* DRD:
+
+  - Added even more facilities that can help finding the cause of a data
+    race, namely the command-line option --ptrace-addr and the macro
+    DRD_STOP_TRACING_VAR(x). More information can be found in the manual.
+
+  - Fixed a subtle bug that could cause false positive data race reports.
+
+* ==================== OTHER CHANGES ====================
+
+* The C++ demangler has been updated so as to work well with C++ 
+  compiled by up to at least g++ 4.6.
+
+* Tool developers can make replacement/wrapping more flexible thanks
+  to the new option --soname-synonyms.  This was reported above, but
+  in fact is very general and applies to all function
+  replacement/wrapping, not just to malloc-family functions.
+
+* Round-robin scheduling of threads can be selected, using the new
+  option --fair-sched= yes.  Prior to this change, the pipe-based
+  thread serialisation mechanism (which is still the default) could
+  give very unfair scheduling.  --fair-sched=yes improves
+  responsiveness of interactive multithreaded applications, and
+  improves repeatability of results from the thread checkers Helgrind
+  and DRD.
+
+* For tool developers: support to run Valgrind on Valgrind has been
+  improved.  We can now routinely Valgrind on Helgrind or Memcheck.
+
+* gdbserver now shows the float shadow registers as integer
+  rather than float values, as the shadow values are mostly
+  used as bit patterns.
+
+* Increased limit for the --num-callers command line flag to 500.
+
+* Performance improvements for error matching when there are many
+  suppression records in use.
+
+* Improved support for DWARF4 debugging information (bug 284184).
+
+* Initial support for DWZ compressed Dwarf debug info.
+
+* Improved control over the IR optimiser's handling of the tradeoff
+  between performance and precision of exceptions.  Specifically,
+  --vex-iropt-precise-memory-exns has been removed and replaced by
+  --vex-iropt-register-updates, with extended functionality.  This
+  allows the Valgrind gdbserver to always show up to date register
+  values to GDB.
+
+* Modest performance gains through the use of translation chaining for
+  JIT-generated code.
+
+* ==================== FIXED BUGS ====================
+
+The following bugs have been fixed or resolved.  Note that "n-i-bz"
+stands for "not in bugzilla" -- that is, a bug that was reported to us
+but never got a bugzilla entry.  We encourage you to file bugs in
+bugzilla (https://bugs.kde.org/enter_bug.cgi?product=valgrind) rather
+than mailing the developers (or mailing lists) directly -- bugs that
+are not entered into bugzilla tend to get forgotten about or ignored.
+
+To see details of a given bug, visit
+  https://bugs.kde.org/show_bug.cgi?id=XXXXXX
+where XXXXXX is the bug number as listed below.
+
+197914  Building valgrind from svn now requires automake-1.10
+203877  increase to 16Mb maximum allowed alignment for memalign et al
+219156  Handle statically linked malloc or other malloc lib (e.g. tcmalloc) 
+247386  make perf does not run all performance tests
+270006  Valgrind scheduler unfair 
+270777  Adding MIPS/Linux port to Valgrind
+270796  s390x: Removed broken support for the TS insn
+271438  Fix configure for proper SSE4.2 detection
+273114  s390x: Support TR, TRE, TROO, TROT, TRTO, and TRTT instructions
+273475  Add support for AVX instructions
+274078  improved configure logic for mpicc
+276993  fix mremap 'no thrash checks' 
+278313  Fedora 15/x64: err read debug info with --read-var-info=yes flag
+281482  memcheck incorrect byte allocation count in realloc() for silly argument
+282230  group allocator for small fixed size, use it for MC_Chunk/SEc vbit
+283413  Fix wrong sanity check
+283671  Robustize alignment computation in LibVEX_Alloc
+283961  Adding support for some HCI IOCTLs
+284124  parse_type_DIE: confused by: DWARF 4
+284864  == 273475 (Add support for AVX instructions)
+285219  Too-restrictive constraints for Thumb2 "SP plus/minus register"
+285662  (MacOSX): Memcheck needs to replace memcpy/memmove
+285725  == 273475 (Add support for AVX instructions)
+286261  add wrapper for linux I2C_RDWR ioctl
+286270  vgpreload is not friendly to 64->32 bit execs, gives ld.so warnings
+286374  Running cachegrind with --branch-sim=yes on 64-bit PowerPC program fails
+286384  configure fails "checking for a supported version of gcc"
+286497  == 273475 (Add support for AVX instructions)
+286596  == 273475 (Add support for AVX instructions)
+286917  disInstr(arm): unhandled instruction: QADD (also QSUB)
+287175  ARM: scalar VFP fixed-point VCVT instructions not handled
+287260  Incorrect conditional jump or move depends on uninitialised value(s)
+287301  vex amd64->IR: 0x66 0xF 0x38 0x41 0xC0 0xB8 0x0 0x0 (PHMINPOSUW)
+287307  == 273475 (Add support for AVX instructions)
+287858  VG_(strerror): unknown error 
+288298  (MacOSX) unhandled syscall shm_unlink
+288995  == 273475 (Add support for AVX instructions)
+289470  Loading of large Mach-O thin binaries fails.
+289656  == 273475 (Add support for AVX instructions)
+289699  vgdb connection in relay mode erroneously closed due to buffer overrun 
+289823  ==  293754 (PCMPxSTRx not implemented for 16-bit characters)
+289839  s390x: Provide support for unicode conversion instructions
+289939  monitor cmd 'leak_check' with details about leaked or reachable blocks
+290006  memcheck doesn't mark %xmm as initialized after "pcmpeqw %xmm %xmm"
+290655  Add support for AESKEYGENASSIST instruction 
+290719  valgrind-3.7.0 fails with automake-1.11.2 due to"pkglibdir" usage
+290974  vgdb must align pages to VKI_SHMLBA (16KB) on ARM 
+291253  ES register not initialised in valgrind simulation
+291568  Fix 3DNOW-related crashes with baseline x86_64 CPU (w patch)
+291865  s390x: Support the "Compare Double and Swap" family of instructions
+292300  == 273475 (Add support for AVX instructions)
+292430  unrecognized instruction in __intel_get_new_mem_ops_cpuid
+292493  == 273475 (Add support for AVX instructions)
+292626  Missing fcntl F_SETOWN_EX and F_GETOWN_EX support
+292627  Missing support for some SCSI ioctls
+292628  none/tests/x86/bug125959-x86.c triggers undefined behavior
+292841  == 273475 (Add support for AVX instructions)
+292993  implement the getcpu syscall on amd64-linux
+292995  Implement the “cross memory attach” syscalls introduced in Linux 3.2
+293088  Add some VEX sanity checks for ppc64 unhandled instructions
+293751  == 290655 (Add support for AESKEYGENASSIST instruction)
+293754  PCMPxSTRx not implemented for 16-bit characters
+293755  == 293754 (No tests for PCMPxSTRx on 16-bit characters)
+293808  CLFLUSH not supported by latest VEX for amd64
+294047  valgrind does not correctly emulate prlimit64(..., RLIMIT_NOFILE, ...)
+294048  MPSADBW instruction not implemented
+294055  regtest none/tests/shell fails when locale is not set to C
+294185  INT 0x44 (and others) not supported on x86 guest, but used by Jikes RVM
+294190  --vgdb-error=xxx can be out of sync with errors shown to the user
+294191  amd64: fnsave/frstor and 0x66 size prefixes on FP instructions
+294260  disInstr_AMD64: disInstr miscalculated next %rip
+294523  --partial-loads-ok=yes causes false negatives
+294617  vex amd64->IR: 0x66 0xF 0x3A 0xDF 0xD1 0x1 0xE8 0x6A
+294736  vex amd64->IR: 0x48 0xF 0xD7 0xD6 0x48 0x83
+294812  patch allowing to run (on x86 at least) helgrind/drd on tool.
+295089  can not annotate source for both helgrind and drd
+295221  POWER Processor decimal floating point instruction support missing
+295427  building for i386 with clang on darwin11 requires "-new_linker linker"
+295428  coregrind/m_main.c has incorrect x86 assembly for darwin
+295590  Helgrind: Assertion 'cvi->nWaiters > 0' failed
+295617  ARM - Add some missing syscalls
+295799  Missing \n with get_vbits in gdbserver when line is % 80 [...]
+296229  Linux user input device ioctls missing wrappers
+296318  ELF Debug info improvements (more than one rx/rw mapping)
+296422  Add translation chaining support
+296457  vex amd64->IR: 0x66 0xF 0x3A 0xDF 0xD1 0x1 0xE8 0x6A (dup of AES)
+296792  valgrind 3.7.0: add SIOCSHWTSTAMP (0x89B0) ioctl wrapper
+296983  Fix build issues on x86_64/ppc64 without 32-bit toolchains
+297078  gdbserver signal handling problems [..]
+297147  drd false positives on newly allocated memory
+297329  disallow decoding of IBM Power DFP insns on some machines
+297497  POWER Processor decimal floating point instruction support missing
+297701  Another alias for strncasecmp_l in libc-2.13.so
+297911  'invalid write' not reported when using APIs for custom mem allocators.
+297976  s390x: revisit EX implementation
+297991  Valgrind interferes with mmap()+ftell() 
+297992  Support systems missing WIFCONTINUED (e.g. pre-2.6.10 Linux) 
+297993  Fix compilation of valgrind with gcc -g3.
+298080  POWER Processor DFP support missing, part 3
+298227  == 273475 (Add support for AVX instructions)
+298335  == 273475 (Add support for AVX instructions)
+298354  Unhandled ARM Thumb instruction 0xEB0D 0x0585 (streq)
+298394  s390x: Don't bail out on an unknown machine model.  [..]
+298421  accept4() syscall (366) support is missing for ARM
+298718  vex amd64->IR: 0xF 0xB1 0xCB 0x9C 0x8F 0x45
+298732  valgrind installation problem in ubuntu with kernel version 3.x
+298862  POWER Processor DFP instruction support missing, part 4
+298864  DWARF reader mis-parses DW_FORM_ref_addr
+298943  massif asserts with --pages-as-heap=yes when brk is changing [..]
+299053  Support DWARF4 DW_AT_high_pc constant form
+299104  == 273475 (Add support for AVX instructions)
+299316  Helgrind: hg_main.c:628 (map_threads_lookup): Assertion 'thr' failed.
+299629  dup3() syscall (358) support is missing for ARM
+299694  POWER Processor DFP instruction support missing, part 5
+299756  Ignore --free-fill for MEMPOOL_FREE and FREELIKE client requests
+299803  == 273475 (Add support for AVX instructions)
+299804  == 273475 (Add support for AVX instructions)
+299805  == 273475 (Add support for AVX instructions)
+300140  ARM - Missing (T1) SMMUL
+300195  == 296318 (ELF Debug info improvements (more than one rx/rw mapping))
+300389  Assertion `are_valid_hwcaps(VexArchAMD64, [..])' failed.
+300414  FCOM and FCOMP unimplemented for amd64 guest
+301204  infinite loop in canonicaliseSymtab with ifunc symbol
+301229  == 203877 (increase to 16Mb maximum allowed alignment for memalign etc)
+301265  add x86 support to Android build 
+301984  configure script doesn't detect certain versions of clang
+302205  Fix compiler warnings for POWER VEX code and POWER test cases
+302287  Unhandled movbe instruction on Atom processors
+302370  PPC: fnmadd, fnmsub, fnmadds, fnmsubs insns always negate the result
+302536  Fix for the POWER Valgrind regression test: memcheck-ISA2.0.
+302578  Unrecognized isntruction 0xc5 0x32 0xc2 0xca 0x09 vcmpngess
+302656  == 273475 (Add support for AVX instructions)
+302709  valgrind for ARM needs extra tls support for android emulator [..]
+302827  add wrapper for CDROM_GET_CAPABILITY
+302901  Valgrind crashes with dwz optimized debuginfo
+302918  Enable testing of the vmaddfp and vnsubfp instructions in the testsuite
+303116  Add support for the POWER instruction popcntb
+303127  Power test suite fixes for frsqrte, vrefp, and vrsqrtefp instructions.
+303250  Assertion `instrs_in->arr_used <= 10000' failed w/ OpenSSL code
+303466  == 273475 (Add support for AVX instructions)
+303624  segmentation fault on Android 4.1 (e.g. on Galaxy Nexus OMAP) 
+303963  strstr() function produces wrong results under valgrind callgrind
+304054  CALL_FN_xx macros need to enforce stack alignment
+304561  tee system call not supported
+715750  (MacOSX): Incorrect invalid-address errors near 0xFFFFxxxx (mozbug#)