android-m-preview to android-m-preview-1 AOSP changelog

This only includes the Android Open Source Project changes and does not include any changes in any proprietary components included by Google or any hardware manufacturer. The raw log was generated using a modified version of this script written by JBQ and improved by Al Sutton.

Please do not copy this without attribution to this site and JBQ for the original script.

+- Project: platform/art

185a558 : ART: Fix opsize in LoadArgDirect
82000b0 : Improve code generation for ARM64 VisitArrayGet/Set.
282ff2e : Make dexdump2 compile for 64bit devices.
a59032f : Build rule for dexdump regression test on host.
c2f0474 : Disable sanitization of dex2oat on device.
cfbe53c : List dependence of dexdump gtest on dexdump binary.
69ae54a : Migrated dexdump from Dalvik (libdex) into Art (libart)
57c4758 : ART: Check switch and array data better in the verifier
45b83af : Revert "Revert "Fix LSRA bug with explicit register temporaries""
a5fc140 : Revert "Fix LSRA bug with explicit register temporaries"
283b854 : Fix LSRA bug with explicit register temporaries
281a632 : ART: Fix graph for switch leaving a try block
1eca58a : Supress OsTest#test_xattr on the bots.
22bb5a2 : Add implicit null pointer and stack overflow checks for Mips.
4895ea4 : Disable static builds for mac and asan.
7d5ea03 : Do not create a HBoundType when the instruction is non-null.
9b36914 : Fix mac build: use -lrt only on linux.
dc56161 : Enable ART_BUILD_HOST_STATIC for check builds.
6d7f179 : Make oatdump work with .art files and code generated by Optimizing.
4d02711 : Implement heap poisoning in ART's Optimizing compiler.
242febb : Don't print signatures to avoid spaces.
49bace1 : Address additional comments on try-catch CL
56e1acc : ART: Changes to try-catch in GraphBuilder
9fdb31e : Do not do a type check when setting null to an array.
65e069d : Build statically linked version of dex2oat.
842acd4 : Emit method name at invokes in the graph visualizer.
06b66d0 : Fix a MOV instruction in Optimizing's x86-64 code generator.
2bcb431 : Use CompareAndBranchIf(Non)Zero when applicable.
01aaf6e : Allow for sig chain to be disabled.
468bcf6 : ART: Symbolize all oat files in /data folder.
e2142d25 : Added next condition check to branch instruction
8fec90b : ART: Remove bad FindSymbol call
b73f1f5 : ART: Unlink old file in OS::CreateEmptyFile
49a17ec : Revert "ART: Unlink target oat file before compiling"
eb19362 : Change ART_TEST_GC_STRESS to use new gcstress mode
ef9849e : ART: Fix test 036-finalizer
4591ae2 : ART: Unlink target oat file before compiling
bbcc01a : Make compiler-related gtests honor ART_USE_OPTIMIZING_COMPILER.
ef3b177 : Properly delete temp files during run-test
0b3ac8e : Explicitly link libz-host to libart.
b1f3753 : Added index type of dex byte instructions.
2738639 : ART: Fix CFI annotation for art_quick_aput_obj
4230e18 : Do not replace a live phi with a dead phi.
f9a1995 : Revert "Revert "Do not update the type of something we already know.""
63107a8 : Revert "Do not update the type of something we already know."
30eb58c : Do not update the type of something we already know.
5e6926c : Quick: Fix a DCHECK to take type conflicts into account.
f7e7327 : Quick: Disable GVN, DCE and LVN for type conflicts.
110415d : Fixed a nullptr bug in SweepAllocationRecords()
6b90d42 : ART: Fix CFI annotation in arm64, x86 and x86-64 assembly
d5ad72f : ART: Fix invalid access and DCHECK in verifier
7526d78 : ART: Fix streaming tracing issues
dd06afe : Require mutator lock for DeleteLocalRef
23682bf : ART: Ignore repeated field indexes when loading a class.
fc6a86a : Revert "Revert "ART: Implement try/catch blocks in Builder""
3e18738 : Revert "ART: Implement try/catch blocks in Builder"
cf950c2 : Revert "ART: Fix gtests after try/catch change"
b550c2e : Exercise sun.misc.Unsafe.compareAndSwapObject.
a65930d : ART: Fix gtests after try/catch change
d9d014a : List test as flaky.
046c706 : ART: Only print stripped dex2oat command line
c833299 : ART: Fix kEverything compiler filter
a06b49b : interpreter: Fix string init for soft-failed invokes
64db62d : Rename ZipEntryName to ZipString
42c3c33 : Make allocation tracker use less memory
d12e782 : ART: Reset runtime_throw_failure flag
4cc6073 : Fixed bug in debugging information in dex file
1c284f2 : ART: Set methods to preverified in verify-none
0b5c7d1 : ART: Implement try/catch blocks in Builder
9b994ea : Do not try to compile resource-only dex files.
fdaeee1 : Pass LD_USE_LOAD_BIAS to the art script.
eb10b68 : Disable test for all runs.
414000e : Hard-fail get-/put-object to a non-reference field.
335005e : Only do some checks when compiling against the core image.
c89b047 : ART: Fix arm32 instrumentation exit stub
b735bd9 : Fix force copy
a32210c : ART: Correctly hard-fail method with undefined register
7d925a9 : Adding optimizing compiler test case for String.<init>.
e34c71c : Increase alt signal stack to 32K on host.
4824c27 : Use a flag from the verifier to know if we should compile.
f652d60 : [MIPS64] JNI Compiler: Sign-extend int function arguments
a09ff9c : BCE: Narrow instead of unconditionnaly overwrite the range.
8df886b : BCE: don't assume a bounds check always gets a HArrayLength.
69ba7b7 : ART: Run GraphChecker after Builder and SsaBuilder
ea80942 : Fix codegen_test after DCE fix.
fe65946 : ART: Stop creating a fallthrough block for Goto
1efcc22 : Fix another case of un-verified dead code.
f39e064 : Minor fixes to mips64 for the arch-specific optimisation framework.
1f82ecc : Recompute dominator tree after DCE.
a52d8b5 : Revert "Use -Xno-dex-file-fallback for libcore tests."
9638b64 : Remove bogus DCHECK.
f23f33d : ART: Follow-up to 507cc6f83bf6379728f2dd20391f2ed5fbfe6371
07d7eab : Fix field ordering for String in hprof
ec96923 : Make dex file verifier check that indexes are increasing.
03ba67c : libcore tests: increase the timeout in debug mode.
9714a6e : Fix 496 test.
107b61b : ART: Improve Indenter performance.
0b58603 : Use -Xno-dex-file-fallback for libcore tests.
555b3d0 : Use GetOffsetDuringLinking instead of GetOffset.
a4f3581 : Do not overwrite an input register in shift operations.
3a690be : ART: Fix GraphVisualizer dlopen crash
d4d83b8 : Fix another miranda method moving GC bug
1ed11b9 : Restore DDMS recent allocation tracking's behavior
3552d96 : base: Fix an infinite loop in HashSet::Insert
3100080 : New experimental GC stress mode
13e0091 : Change GC to allow strings to use large object space.
b7c8c1a : Make large string use large object space.
2ee54e2 : runtime: Partially implement box-lambda and unbox-lambda experimental opcodes
68df320 : ART: Allow checking RETURN_VOID_NO_BARRIER on unresolved classes
1bb907e : ART: Avoid recursive abort in barrier
c08ab29 : ART: Don't do pre-linked calls to the interpreter bridge.
b783b40 : Revert "Revert "Use IsAssignableFrom instead of IsSubclass for robustness.""
f561aab : fault_handler : debug output sp in hex and not decimal.
eb7b739 : Opt compiler: Add disassembly to the '.cfg' output.
1e9ec05 : ART: Simplify (Not)Equal bool vs. int to true/false
463580c : Revert "Use IsAssignableFrom instead of IsSubclass for robustness."
afd0641 : Use compiling class instead of outer class for access checks.
aa91920 : Fix String Change baseline compiler errors.
8d82a0c : Fix wrong DCHECK in bounds check elimination.
183617a : Fix in ReferenceTypePropagation
507cc6f : ART: Disallow classes that are abstract and final
c9ede38 : Move LD_USE_LOAD_BIAS to run-test-jar to reduce log verbosity.
ab00b7a : Make dump-oat-target work with second architecture
1706588 : Use signed encoding when using relative CFI addresses.
ef0b1a1 : ART: Check for expected args for instance methods
46ec520 : Run an empty checkpoint before marking ends in the CC collector.
29498a2 : ART: Check var-arg count earlier in method verifier
f8da196 : Fix GC map generation edge case
dde9827 : Fix case where block has no predecessor for StringChange.
af268bb : Use IsAssignableFrom instead of IsSubclass for robustness.
8b20f88 : Be careful with predecessor/successor index.
4664889 : Opt compiler: Add a description to MIP64 slow paths.
4dda337 : MIPS: Initial version of optimizing compiler for MIPS64R6.
8958f7f : Quick: Handle total high/low register overlap on arm/mips.
f11c420 : Quick: Fix optimizations for empty if blocks.
9931f31 : Opt compiler: Add a description to slow paths.
3045174 : Use compiling class instead of referrer for access checks.
3c4ab80 : Do not expect 0 or 1 only when comparing a boolean.
f7714e6 : Make Main public to pass tests on all configurations.
66389fb : Verifier: check an aput, even if we know it will fail.
98088c4 : ART: Fix data loss when symbolizing oat files.
ea9ef4d : Use the right bug number. Spotted by vmarko.
cad6542 : Fix StringChange for optimizing compiler.
52ea33b : Fix moving GC bug in DoFilledNewArray
2371c72 : test: Fix lambda test incorrectly globbing together compiler arguments
9346ff0 : Fix moving GC bugs in proxy stub for X86/X86_64
2d1a0a4 : Quick: Don't expect move-exception in every catch block.
158f35c : interpreter: Add experimental lambda opcodes for invoke/create-lambda
33d6903 : Replace some run-time assertions with compile-time ones in ART.
69505f8 : Don't check the return type in the builder.
b2bdfce : Run a simplification pass before code generation.
015c7e6 : ART: Remove old DCHECK that trips Baseline
2e33525 : Bailout from compilation if an invoke is malformed.
07785bb : ART: Fix reporting initialized classes by CompilerDriver.
511d408 : Quick: Fix marking unused registers in DCE.
05b7226 : Fix some java_lang_Class related moving GC bugs
18e6873 : Fix a bug in optimizing when the null constant has been DCE.
82e73dc : Release dummy MemMaps corresponding to dlopen.
4d122c1 : Add missing EndAssertNoThreadSuspension
f78848f : Don't special case HCurrentMethod in DCE.
7f43791 : Forgot this change in last commit.
2ef645b : ART: Allow PackedSwitch instructions with zero targets
15875b0 : Revert "ART: Allow PackedSwitch instructions with zero targets"
241f9c4 : ART: Allow PackedSwitch instructions with zero targets
7cb499b : Fix bug in optimizing around instanceof.
41f9cc2 : ART: Compiler generated GC map should take care of temp registers.
3cde622 : Remove bogus DCHECK in BCE.
12bdb72 : More stack map dumping.
c37769b : Fix lint error.
cf93a5c : Revert "Revert "ART: Implement literal pool for arm, fix branch fixup.""
f775bab : Set default visibility on art_sigsegv_fault.
a70e5b9 : CFI test: kill the other process in native code.
aa03870 : Find the dlopened file using address rather than file path.
5dedb80 : Add more logging output for dlopen.
1baabf0 : Revert "Revert "Use dlopen to load oat files.""
ca1476f : Exercise sun.misc.Unsafe.getObject.
fbeb4ae : Revert "ART: Implement literal pool for arm, fix branch fixup."
3f64f25 : Print more diagnosis info on to-space invariant violation.
7a46b7e : Revert "Use dlopen to load oat files."
e1b6e97 : Disable -Wframe-larger-than when building SANITIZE_TARGET.
9648a63 : Update jdwp and libcore scripts for running with libartd.
f38caa6 : ART: Implement literal pool for arm, fix branch fixup.
c090301 : Fix error message description in Checker
a1924e7 : Move Level1 to its own file.
72a5eb5 : Bring ReferenceTypePropagation to ArrayGet
ae09d2d : Bring ReferenceTypePropagation to HInvoke return types
51d400d : Fix reference comparison after redundant phi elimination.
3976e5e : Fix lint error.
1f8dbf8 : Revert "art/tools: add new tests in security packages to the build bot"
88da3b0 : ART: Fix CFI test wrt/ PIC
01d4b50 : Pass reuse flag to MemMap constructor
49e1fab : Use dlopen to load oat files.
05c26b3 : JDWP: update handling of 8-bit and 16-bit fields
6c0c4f2 : Revert "Revert "Revert "Bring ReferenceTypePropagation to HInvoke return types"""
4f97c61 : Revert "Revert "Revert "Fix a checker test"""
b9610e7 : Revert "Revert "Fix a checker test""
a981f9d : Revert "Revert "Bring ReferenceTypePropagation to HInvoke return types""
32c9ea5 : Use the caller's class loader when walking inlined frames.
5736697 : tools/ Remove javalibcoretest from common targets
a04ece3 : art/tools: add new tests in security packages to the build bot
a3a3c59 : Optimizing: Move optimization objects to Arena.
befefdc : Fix a typo in the directory name.
958857d : Revert "Bring ReferenceTypePropagation to HInvoke return types"
e27dd0e : Revert "Fix a checker test"
547fa11 : Explicitly give the path of the library to build.
240d84d : Fix a checker test
78f4fa7 : Preserve class loading semantics in optimizing.
bd8c725 : Optimizing: Remove PcInfo, use the StackMapStream instead.
bd4b420 : Add to the things to build.
2b84d2b : Don't run 098-ddmc, it's flaky.
4c78ffa : Add dalvik.system to
0797e58 : Skip 098-ddmc for GC stress test
281e500 : Fix compaction bug in Class_getDeclaredMethodsUnchecked
d39645e : Move image intern table into image
3767017 : Reset GC performance stats at zygote fork.
a6d3a7e : Add hprof accounting for Class IMT, VTable
c449e8b : runtime: Minor cleanup and extra comments around interpreter
906846f : Let classloader provide correct LD_LIBRARY_PATH
688e1b6 : Revert "art/tools: add new tests in security packages to the build bot"
7904aba : art/tools: add new tests in security packages to the build bot
97dabb7 : Fix build breakage in dwarf_test.
f80ebf2 : Fix buildbot failure for 098-ddmc test
45d68f1 : ART: Fix BCE lint issue
461d72a : Generate debug info for core.oat files.
3584bce : Fix premature deoptimization if the loop body isn't entered.
05f30e1 : run-test: add --never-clean option
8c2ff64 : Add allocation stack traces for HPROF dump.
3da7608 : Revert "Revert "Test that we can unwind framework code.""
020c543 : Add more log output to the CFI test.
ddedddc : Bring ReferenceTypePropagation to HInvoke return types
454a481 : Revert "Revert "Support for inlining virtual and interface calls.""
84bc06e : [MIPS] Fix method tracing for mips64
dd1f8bd : Revert "art/tools: add new tests for the build bot"
e17c8fe : Revert "art/tools: add new tests for the build bot"
222862c : Add optimizations for instanceof/checkcast.
10ec4f9 : art/tools: add new tests for the build bot
ef20f71 : Add boilerplate code for architecture-specific HInstructions.
cbc5064 : JDWP: asynchronous invoke command handling
2c4733d : Revert "Test that we can unwind framework code."
cae2ed9 : Increase ulimit to 64MB for --no-relocate
5c40961 : Test that we can unwind framework code.
a574b0e : Make dex file verifier check for dups between direct and virtual methods.
da9badb : ART: Check long and double register pairs in invokes
f795869 : Follow up on CL 151605
69aa601 : Revert "Revert "Pass current method to HNewInstance and HNewArray.""
3507105 : Add support for inlining already sharpened interface calls.
ae71a05 : Fix a crash in optimizing compiler with the current method.
bba348e : Bring back verbosity override
7b0e353 : Revert "Pass current method to HNewInstance and HNewArray."
f50fa82 : Enable 64-bit CFI tests.
38c8221 : More LOW_4G optimizations
67c8c94 : Quick: Fix LoopRepeatingTopologicalSortIterator.
94015b9 : Revert "Revert "Use HCurrentMethod in HInvokeStaticOrDirect.""
6e47586 : Revert "Support for inlining virtual and interface calls."
4a56aca : Revert "Do a type check for knowing if we can inline."
e21aa42 : Pass current method to HNewInstance and HNewArray.
1f2d3ba : Fix nested deoptimization.
d9e2301 : ART: Reload class on miranda method in verifier
69b5d8f : Revert "Revert "Turn off duplicate-classes checking""
12768a0 : Revert "DO NOT MERGE ART: Turn off duplicate-classes checking"
fc3f39e : DO NOT MERGE ART: Turn off duplicate-classes checking
e089920 : ART: Add SetSpecialSignalHandlerFn to version-script.txt
b5de3bb : Use runFinalizationWithTimeout for native allocations
054a078 : Add atrace calls to runtime start and heap create
7889a77 : Add optimization for LOW_4G allocator
12bd721 : If heap poisoning is on, pass the relevant flag to LOCAL_ASFLAGS.
c345f14 : Revert "Use HCurrentMethod in HInvokeStaticOrDirect."
7ce4b3d : Do a type check for knowing if we can inline.
f677ebf : Cache stack map encoding
08ac922 : Fix JNI GetSuperClasss
1d5006c : Support for inlining virtual and interface calls.
38207af : Use HCurrentMethod in HInvokeStaticOrDirect.
ef48605 : Revert "Revert "Modification to the way boot classpath resources are loaded""
e918d38 : Add $noinline$ tag to make sure a method has not been inlined.
f6c2a27 : Fix valgrind large_object_space_test
449357d : ART: Refactor Thread::Init
e715811 : Add a way to determine if a large object is a zygote object
7c1f53e : Emit instance fields for java.lang.Object in hprof
8ac7595 : ART: Prune FindArrayClass cache in image writer
6afb706 : Fix typos in test/133-static-invoke-super/src/
1e27c5b : Revert "Modification to the way boot classpath resources are loaded"
682393c : Improve the performance of long-to-double conversions on ARM.
925e562 : Allow void to get in ARM64ReturnLocation.
0d1652e : Fix compilation errors with gcc.
4e40c26 : Fix lint error.
c6328be : Fix linter-related error.
fd88f16 : Factorize code for common LocationSummary of HInvoke.
5f57d2d : Fix "run-test --jvm 067-preemptive-unpark"
bf44d42 : Add a way to SuspendAll for a long duration
4d64cd4 : Fix tracing
22c1caa : Add more info for attempting to delete non-JNI local reference
bfa5eb6 : Add heap poisoning support to the entrypoints.
1d8199d : Tidy up spelling
a40c74a : Update IMT for stale miranda methods
5b3ee56 : Delegate long-to-float type conversions to the runtime on ARM.
3c829a3 : Fix run-test 458-long-to-fpu.
012a072 : Revert "Revert "Revert "Bring ReferenceTypePropagation to HInvoke return types"""
80f7a57 : [MIPS64] Fix art_quick_invoke_stub argument offsets.
82cc909 : Revert "Revert "Bring ReferenceTypePropagation to HInvoke return types""
f10a25f : ART: Fast copy stack mask
8ccf8a0 : Revert "Bring ReferenceTypePropagation to HInvoke return types"
d84b438 : Revert "ART: Fast copy stack mask"
6b10c9b : ART: Fast copy stack mask
77e48c6 : Bring ReferenceTypePropagation to HInvoke return types
81014cb : CanThrow() for HArraySet may return true.
839188b : Fix a crash due to a combination of dce/inlining.
5783a74 : Add clear cache for JIT
68c868e : Fix bogus image test assert
cf3b1a3 : Copy miranda methods before suspend point
4edd847 : Fix accidental IMT and root marking regression
30971d6 : Fix lint error.
62a46b2 : Use down_cast instead of reinterpret_cast in Optimizing codegens.
23a8188 : Fix gtest by adding fake lifetime positions.
b588f4c : ART: Fix wrong hard-failure handling in verifier
8272688 : Tweak one hint and one split in the linear scan.
415fd08 : Fix JDWP tests after ArtMethod change
6e1372f : ART: Fix casts for 64-bit pointers on 32-bit compiler.
e3b034a : Fix some ArtMethod related bugs
d0af547 : Fix test 115-native-bridge for Mips.
e401d14 : Move mirror::ArtMethod to native
400ce00 : Add unstarted runtime test for String.<init>.
67a0653 : Make some parts of ELF more (pointer) aligned.
1a146bf : Link .dynamic to .dynstr
24981a1 : Set correct size of PT_PHDR ELF segment.
f2650d1 : Show stack maps and Dex register maps in oatdump's assembly code.
d23eeef : Support for inlining methods that call/throw.
07f2bc1 : Also add run-test dependencies to build-art-*-tests.
667b99e : Fix typo in script.
fbdaa30 : Use the new HCurrentMethod in HLoadString.
12c56d6 : Update libcore failures
104fd8a : Bring Reference Type Propagation to Instance/StaticInstanceField
fbeca75 : Add a script to build exactly like the chrome buildbot.
d5e5a0e : Fix double-exception in super-class method validation.
3db3600 : ART: Fix valgrind Makefile
450c62b : Add JNI String.<init> test for global and weak global refs.
03c2cc8 : ART: Add support for special handlers in sigchainlib
8363c77 : Add --generate-debug-info flag and remove the other two flags.
a4e0e67 : ART: Add Mips o32 callee-save registers to SaveAll frame
a06d66a : ART: Distinguish Checker lines from comments
76b1e17 : Add a HCurrentMethod node.
52f5f93 : Fix single-step in native thread
0f7c06d : Fix rule: the exe must be first dependency.
58035ae : Refactor makefiles to allow just building tests.
83c8195 : Fix updating of JNI references for String.<init>.
491a7fe : Fix build - large frame size of ElfWriterQuick<ElfTypes>::Write (again).
6130f73 : Fix valgrind includes
ce0db62 : Revert "Revert "Switch to using ELF-64 for 64-bit architectures.""
08cf148 : Enable jsr166 tests
0e08b76 : Modification to the way boot classpath resources are loaded

+- Project: platform/bionic

7ea817d : Add some glibc-like #defines for libchrome.
dbb17b2 : Fix alignment after variable-length data.
eeb6b57 : Name the thread stack and signal stack guard pages.
c224747 : Improve personality initialization
b9f76dc : Update timezone data to 2015e
7271caf : Lock on dl_interate_phdr
59d5854 : Add <sysexits.h>.
a05bee5 : Fixed uchar.h for clang3.6
01e37c9 : Pass around struct android_net_context for better behaviour
3f987f5 : Fix crash when trying to load invalid ELF file.
56f40fb : Rename ZipEntryName to ZipString
fef5835 : Fix x86 gdbserver build.
bc425c7 : [MIPS] Support FR=0 emulation on FR=1 64-bit FP registers
cc83890 : Revert "[MIPS] Support FR=0 emulation on FR=1 64-bit FP registers"
e79d06b : Use gcc to build and test x86_64 long double code.
aff18fd : Replace NULL with nullptr
7d09a8c : Work around compiler optimization
e4ad91f : Remove text-relocs support for apps targeting M+
de4e27e : Remove libdl* tests from bionic-unit-tests-static
d02ec08 : [MIPS] Support FR=0 emulation on FR=1 64-bit FP registers
d1ade7c : Don't use TIMER_ABSTIME in time_test.
a970333 : Improve library lookup logic
d2c81ed : Revert "Improve library lookup logic"
455c145 : Improve library lookup logic
dee130f : Revert "[MIPS] Do not use compact branches until GDB supports them"
38f2eaa : [MIPS] Add optimized string functions
895241e : Fixes for building gdbserver (and gdb) out of the box.
11ea08c : Use new sanitizer option.
665607a : Add version to symbols
a73b2c9 : Add support for cortex-a53 in bionic.
b130493 : Hide accidentally-exposed __clock_nanosleep.
636f5dd : Add versions to symbols
0577733 : Avoid name collision with user_fpsimd_state in <asm/ptrace.h>.
469b418 : Fix two accidentally leaked mips64 symbols.
bf18c61 : Add a sys/procfs.h.
402a750 : Make path to apk compliant with jar url format
173ad0a : Always build libm with clang.
175dae9 : Fix l_addr for the linker
be57a40 : Add process_vm_readv and process_vm_writev.
bd3b961 : Fix application_sdk_versions_smoke test
6865082 : Support DT_RUNPATH in the linker.
60907c7 : Allow NULL in pthread_mutex_lock/unlock.
1801db3 : Statically linked executables should honor AT_SECURE.
8a11628 : Add flag that makes linker honor min(p_vaddr)
4900f1c : Fix Mac checkbuild.
624b8f1 : Check if strtab exists before using it
e1d0810 : Add O_PATH support for flistxattr()
f9554a1 : Export two dlmalloc functions everywhere.
19fee2c : Fix a few libc makefile mishaps.
9cf6fc3 : Hide __atexit
c062218 : Reorder DIR structure due to bad apps.
6cda074 : Strip version info when extracting symbols
1913352 : Backward compatibility for dlsym(RTLD_DEFAULT, ...)
75108f4 : Work around for libraries without dt_soname
2825f10 : libc: Add O_PATH support for fgetxattr / fsetxattr
f439b5a : Fix dlsym(handle_of_main_executable, ...)
9d476a0 : Cleanup ftruncate negative test.
d974e88 : Work around incorrect dt_needed entries
087005f : Improve some of error/warning messages
3cec6ec : [MIPS] Do not use compact branches until GDB supports them

+- Project: platform/bootable/recovery

522ea72 : Allow mounting squashfs partitions
c0f56ad : More accurate checking for overlapped ranges.
0b7dc1d : recovery: Use xxhdpi resources for 560dpi devices
f267dee : Just use fstat in sysMapFile.
9813f5b : Allow sideloading without authentication.
945548e : Split WipeData into PreWipeData and PostWipeData.
a3c75e3 : Zero blocks before BLKDISCARD
e82fa18 : Revert "Zero blocks before BLKDISCARD"
b4effb9 : Unmount sdcard if no package file is selected.
ac6aa7e : uncrypt: Write status when it reboots to factory reset
383b00d : Separate uncrypt into two modes
96392b9 : Zero blocks before BLKDISCARD
80e46e0 : recovery: Switch to clang
1eb9003 : Fix build: fprintf without modifier
b6918c7 : Log update outputs in order
b3ac676 : Really don't use TEMP_FAILURE_RETRY with close in recovery.
3b49776 : Use f_bavail to calculate free space
cc2428c : Handle BLKDISCARD failures

+- Project: platform/build

2ffb314 : fix up ota_from_target_files symlink detection.
3806c23 : Fix OTA scripts to generate incremental BBOTA with OEM property.
491fca9 : Simplify LOCAL_NO_CRT.
75011b2 : Add LOCAL_NO_LIBGCC.
d47e01a : Remove HAVE_STDINT_H namespace pollution.
bf14097 : Move sanitized vendor libraries to /data/vendor/lib(|64).
4e66343 : Retry adjusting the size computation for reserved blocks.
a897812 : Don't write empty map groups.
34b47bf : Use fstab in the source build
5adfcb1 : SANITIZE_TARGET: allow undef symbols in non-sanitized shared libraries.
2a04839 : Create userdata.img with real data when SANITIZE_TARGET=address.
9764892 : Add img2simg in host and ota packages
2cd51cc : Make sparse squashfs images
1095557 : Fix the error in
61f675b : Revert "Hide unwinder symbols in each binary."
e6e544e : Don't include static executables when SANITIZE_TARGET=address
cd5bee3 : Add variable ANDROID_NO_TEST_CHECK to not build all test modules
dc30a16 : Hide unwinder symbols in each binary.
a36223e : Clean intermediate files if SANITIZE_TARGET has changed.
4d3d414 : With SANITIZE_TARGET, move shared libraries to /data.
abf4bc9 : Add support for `LOCAL_SANITIZE := integer`.
1578c48 : Cleanup unused entry.
39b5950 : Add android.hardware.ethernet.xml for ranchu targets
3632cc3 : Enable SANITIZE_TARGET.
f054bd3 : Really include drawables for all densities.
9109128 : Revert "[MIPS] Do not use compact branches until GDB supports them"
944fc40 : Stop disallowing sanitizers.
c09eaa7 : Remove copy & paste cruft from the mips64 combo.
99d9250 : Add support for LOCAL_DETECT_INTEGER_OVERFLOWS
7508a81 : Fix libdl inclusion for default-ub.
5f50f05 : selinux: add tools to dev path
d160041 : Force some clang Werrors that *will* break things.
df06e96 : Support SELinux context label when mounting
6ca9b2b : Remove duplicate CTS tests from libcore cts packages.
0a76df5 : Remove the unnecessary full_x86_64 and full_mips64.
82a19d3 : Add to dist-tools
d0ec665 : Add missing shared libraries to dist tools
934d9b1 : Add selinux and verity support to custom image generation.
4540a85 : Support to configure and build multiple custom images.
d53cd9b : Add VeritySigner.jar to ota tools
e7b1037 : Fix the wrong error message
fd8c301 : goldfish: rename goldfish_logcat.te to logd.te
1cc7735 : goldfish: logcat -Q in logd domain
ec99604 : Strip path from verity_signer_cmd in the target-files meta data.
b518c3e : [DO NOT MERGE] Add support for RMTYPEDEF with Jack
68658c0 : Add post-install verification for BBOTAs
30127bf : Add $ORIGIN/lib[64] to host binary's rpath.
128d51e : Remove gcc 4.9 workaround.
420e341 : Do not add 'adb' to persist.sys.usb.config if already there
d8fae9a : Pass --no-generate-debug-info to dex2oat.
7607786 : Docs: Update link to new Community page location
063ef33 : [MIPS] Do not use compact branches until GDB supports them
89483b8 : Portable way to color
ab3a5f4 : Configure synci generation explicitly

+- Project: platform/cts

04678db : Fix missing socket closure in LocalSocketTest
90e66cc : More tests for LocalSocket
f053cb2 : Modify test now that LocalSocket.getSoTimeout() does something
3819496 : Fix yuv too strict bug: 21037163
b288454 : Introduce seapp_neverallow test
c9a05ce : add validation of blend functions
a1811d4 : Report errors from CtsTestServer for improved debugging
2418ffc : Avoid reusing script group names
707f4ec : Adds CTS test for Script.Closure.getGlobal()
021537c : security: fix change in SELinux for kernel threads test
b13e4d4 : security: adjust test on SELinux for kernel threads
64729df : ParcelFileDescriptor: Test that surrogate pairs in filenames are handled correctly.
78691b4 : Use abort() instead of dereferencing null.
4eefcca : Reset DateFormat.is24Hour after each test
cd96278 : Remove duplicate CTS tests from libcore cts packages.
fe2bd33 : added test so 1D alloc dimy = dimz = 0, 2d alloc dimz=0 bug: 19583531
f61864e : Fix RenderScript warning.
db43bcf : Fix CTS for new deprecated warnings.
5b52e84 : [RenderScript] Typo fix for Resize test.
05aeb39 : [RenderScript] Add ForEach test to CTS rsCpp tests.
127db1c : [RenderScript] Add ElementTest to CTS rsCpp tests.
be0c02d : [RenderScript] Add more tests to CTS rsCPP tests
a2cb21f : [RenderScript] Add IntrinsicYuvToRGB test to CTS rsCpp tests.
5b30717 : [RenderScript] Add IntrinsicResize Test for RScpp.

+- Project: platform/dalvik

6983ab8 : Dalvik: Fix mainDexClasses
67a6959 : Rename ZipEntryName to ZipString
3478ee3 : Revert "Fix dexlist build"
defd605 : Fixed compiler warnings in dexdump.
83bd754 : Remove libdexdump_static.
3c0dc49 : Fix for data type mismatch which confuses safemul.

+- Project: platform/development

91dcbe9 : Use ro.hardware property to detect the device
9e164c6 : Remove more libportable cruft.
27241e7 : Remove unnecessary clang from
eb8b46d : Add clang.exe to Windows SDK build.
dd06322 : Patch android-21 with x86 gdbserver <sys/procfs.h> and <sys/user.h> fixes.
e9dcde6 : Don't try to build libportable.
05819db : Support new systrace file structure after refactor
608e77f : Remove bogus "arch-p" directory.
e3ca8e7 : Retcon recent header fixes needed to build gdbserver.
876b092 : Development: change gdbclient GDB selection
820ca72 : Development: Mips64 stack-core test

+- Project: device/asus/fugu

bc7cd5e : sepolicy: file_contexts must end with blankline

+- Project: device/asus/grouper

a168a31 : keymaster: use size_t instead of int

+- Project: device/generic/goldfish

a96e6e1 : Checking parameters for glUniform API
0668c61 : init.ranchu.rc: Add dhcpcd_eth0 service
097f0c8 : Fix glVertexAttrib API state issue
118bf83 : Add parameters validation to glGetUniform
09396f3 : Optimize glGetIntegerv to reduce the cost of translating
2cfff05 : init.ranchu.rc: Add goldfish-logcat and goldfish-setup services
0657d89 : init.ranchu.rc: Enable goldfish audio

+- Project: device/generic/mini-emulator-mips

83f7a4b : mini-emulator-mips: Add system.prop
5fd432e : mini-emulator-mips: Set WITH_DEXPREOPT=true for linux

+- Project: device/lge/hammerhead

6761296 : hammerhead: fix typo in device.te
8d6e14f : hammerhead: update sepolicy for diag_logs
4d4ed9c : hammerhead: remove malformed chown calls
3371bab : Fix ASan/Clang build.

+- Project: device/moto/shamu

d7f18d5 : Move shamu to clang by default.
b5e1236 : shamu: Fix BOARD_MKBOOTIMG_ARGS

+- Project: device/sample

e37f3a0 : Added Happy Spain internet

+- Project: platform/docs/

c88f889 : Docs: Fixing broken links in ToC and elsewhere
9b45100 : Docs: Fixing verb disagreement
8ff7c85 : Docs: Fix discussion group reference on contributing page
e40b49c : Docs: Adding neverallow to home page, compatibility link to customize
44e4164 : Docs: Add info on creating image files from zip.
bed078d : Docs: Add entry for build numbers LYZ28E and LMY48G
9cec915 : Update build numbers for LMY48G Nexus 7 (flo)
c631d7e : Update build numbers for LYZ28E
63c45b8 : Docs: Add neverallow rules info to customize page
2557f6d : Docs: add python-networkx dependency to build documentation
96e7e5b : Docs: Fixed typo in native-memory.jd
89fc0f6 : Docs: Consolidating redirected links
9205391 : Docs: Adding Security Updates to home page
3322b06 : Docs: Replacing Updates and resources security page contents
d9b9aa6 : Docs: Adding OTA Sign Builds update to home page
d0db137 : Docs: Add 5.1 CDD to Downloads and home pages
a2959f4 : Docs: Adding final 5.1 docs (html, css, pdf) Making android-cdd.pdf be 5.1 instead of 4.4
fb126fb : Docs: Adding IDs to headers for table of contents links
60fd1eb : API reference is not online
eb80387 : Docs: Update home page description of audio changes
7f1babd : Docs: Add audio latency, MIDI, Device Admin, CTS release, and System
d49743f : Add Audio Latency for App Developers
806a68c : Add MIDI
39e2a8b : Docs: Adding Release schedule section and AOSP references
648990e : Docs: Add Device Admin contents
1667702 : Update build numbers for LYZ28E and LMY48B
80b4fac : Docs: Grouping system resources, standardizing link titles
3cda131 : Docs: Update sign_builds.jd
06c50bf : Docs: Adding new diagrams for compatibility section Tweaking text on index for better flow Removed unclear pronoun antecedents

+- Project: platform/external/apache-harmony

a7d883a : Fix flaky ObjectReference.EnableCollectionTest
237ee3c : JDWP: test invocation with thread suspension

+- Project: platform/external/boringssl

71a0705 : Add a build target to build bssl for host.
0e6bb1c : Add ECDHE-PSK-AES{128,256}-SHA cipher suites.
a4be71c : Drop ECDHE-PSK-AES-128-GCM.
cfb958c : Fix Windows SDK build again
f4e4272 : Bump revision of BoringSSL.
0d4deb2 : Disable 0xcafe cipher suite (PSK with AES-GCM).
86426f7 : s/-Wno-unused-parameters/-Wno-unused-parameter/
12addf8 : external/boringssl: fix |SSLeay|.
71cbcbe : external/boringssl: add -Wno-unused-parameters.
190eb16 : external/boringssl: fix use after free in X509.
3ca955a : Copy ecdsa_meth in EC_KEY_copy.
f5cea4e : Add |BIO_read_asn1| to read a single ASN.1 object.
dfce004 : Add for building Trusty.
a070e05 : external/boringssl: disable ChaCha20-Poly1305 cipher suites.
9eb412c : external/boringssl: update #define guards for x86_64-gcc.c.
9385cb1 : MinGW on Linux uses lowercase include files, part 2
aae4cd2 : external/boringssl: work around Clang's lack of adrl.
430091c : external/boringssl: support arbitrary elliptic curve groups.
62d0588 : external/boringssl: add P-521 back into the ClientHello.
e9ada86 : external/boringssl: bump revision.
b3106a0 : Fix doc reference to EVP_AEAD_max_overhead
cbe62cb : Rename ECDHE-PSK-WITH-AES-128-GCM-SHA256 to follow the naming conventions.
7a759c7 : Fix SSL_get0_chain_certs.
d82ab38 : Ensure BN_asc2bn, BN_dec2bn, and BN_hex2bn never give -0.
217eaab : external/boringssl: export EC_GROUP_set_point_conversion_form symbol.
830beae : external/boringssl: add dummy EC_GROUP_set_point_conversion_form.
eef60be : external/boringssl: try to fix aarch64+Clang.
53b609c : external/boringssl: update #define guards for x86_64-gcc.c.
d18b633 : Use a different arch feature indicator for clang
49977fa : external/boringssl: fix Clang build.
f186820 : external/boringssl: avoid unused argument warning.
13d393e : BoringSSL: support AES-192.
f7e890d : Add compatibility functions for OpenSSH.
f40f42d : Changes to work with OpenSSH and wpa_supplicant.
1ba8594 : Support MIPS64.
cade762 : Switch an assert back to a check.
a4fb56a : Include .extern and .hidden in x86-64 asm.
73e6114 : Fix SHA-384 and -512 in NO_ASM mode.
f4dabdd : Export the PSS padding functions.
1f6fdd5 : Use libmingwex for gmtime_s
7086cfc : Android: disable assembly for Mac and Windows
ac6c537 : MinGW on Linux uses lowercase include files
13a2c99 : Add support for reading PKCS#7 data from PEM files.
c897c7e : EC_GROUP_cmp: add back the ignored BN_CTX arg
46ba716 : Add functions to parse and generate PKCS#7 files with CRLs.
ef93571 : EC_GROUP_cmp should return zero if the groups match.
4c6611d : Add the CTX parameter back to EC_GROUP_cmp.
13066f1 : Mark OPENSSL_armcap_P as hidden in asm files.
07f07a8 : Specify a local SDK version.
d052a49 : Revert "Disable boringssl build."
54d4b12 : Disable boringssl build.
d9e397b : Initial commit of BoringSSL for Android.

+- Project: platform/external/bouncycastle

75fc341 : Register DSA OID for KeyFactory not just Signature
55fb581 : Revert "Register DSAwithSHA1 OID for KeyFactory"
36995a1 : Register DSAwithSHA1 OID for KeyFactory

+- Project: platform/external/chromium-trace

58c4955 : fix unit test for AtraceLegacyAgent
64b413d : Add unit test for AtraceLegacyAgent
c4fa5ae : add support for legacy (pre-4.3) platform
43b6fa6 : Add unit test for categories list
22a748b : fix systrace testcases
1c1f325 : Refactor systrace
51b7635 : Fix generation of UPSTREAM_REVISION
40f8da8 : Update to latest trace-viewer
e19667a : Add unit test for
68e7b80 : add missing trace-data on
21f8db7 : Fix to work on Windows.
6818713 : Fix error with --list-categories caused by wrong indentation.
53e19c7 : Refactored main().

+- Project: platform/external/chromium_org

35c302c : Add submodules.
76b0027 : Fix build with prebuilt webview
808509d : Fork: Fix gpu blacklist and blacklist ganesh on Mali-T760
520a78a : Cherry-pick "[Android WebView] Provide user-initiated provisional load detection"
1cf285d : Disable orientation locking support in WebView.
3dbfef3 : Fix the battery status API.
7699f2d : Back-port: "[Android WebView] Synthesize a fake page loading event on page source modification (Re-land)"
0fa3bbe : Cherry-pick "[Android] Cache function templates in GinJavaBridgeObject to avoid memory leak"
bf9291d : Revert "Fix problem with accents caused by race condition."
dcf1619 : Reland of "[Clank IME] Make keyCode detection sensitive to autocomplete=on|off."
4922e3c : Revert of [Clank IME] Make keyCode detection sensitive to autocomplete=on|off.
124072c : Revert use of chrome version information in android webview.
262f5c6 : Fork: Skip sharing GL_LUMINANCE textures
ae41c9e : Cherry-pick: Move detachGLFunctor call before hardware teardown.
8d271d8 : Cherry-pick: Define SK_USE_FREETYPE_EMBOLDEN on Android
cff11c9 : Cherrypick: Don't send extra text changed AX events on Android
0702753 : [WebView] Continue playback when exiting fullscreen video.
5c9fdb1 : Manual cherry-pick of "Set Autofill popup text color to dark gray"
f70fdc7 : Minimise logging in release branch.
8add5d8 : Cherrypick "Allow universal access from file if flag is set and url is file scheme."
63e12a7 : Record Chromium merge at DEPS revision 40.0.2214.114
7a77bfe : Merge from Chromium at DEPS revision 40.0.2214.114
44210e0 : Cherry pick: [WebView] Reword crash handler message.
d89562c : Record Chromium merge at DEPS revision 40.0.2214.107
4abc06a : Merge from Chromium at DEPS revision 40.0.2214.107
a8a0757 : Cherry pick: Cache viewport rect for tile priority in UpdateTiles
9c9af7e : Record Chromium merge at DEPS revision 40.0.2214.89
bb0ebdd : Merge from Chromium at DEPS revision 40.0.2214.89
aca6628 : Record Chromium merge at DEPS revision 40.0.2214.87
9b5f223 : Merge from Chromium at DEPS revision 40.0.2214.87
b670521 : Record Chromium merge at DEPS revision 40.0.2214.69
157b514 : Merge from Chromium at DEPS revision 40.0.2214.69
52d30f0 : Record Chromium merge at DEPS revision 40.0.2214.45
f98d056 : Merge from Chromium at DEPS revision 40.0.2214.45
6b5044c : m40 fork: Update volantis workaround to cover L MR0.5 (5.0.2)
90c5e8d : Record Chromium merge at DEPS revision 40.0.2214.38
499b68b : Merge from Chromium at DEPS revision 40.0.2214.38
9ee52bc : Record Chromium merge at DEPS revision 40.0.2214.27
9b7530f : Merge from Chromium at DEPS revision 40.0.2214.27
b3ba26a : Record Chromium merge at DEPS revision 40.0.2214.10
7f11db7 : Merge from Chromium at DEPS revision 40.0.2214.10

+- Project: platform/external/chromium_org/third_party/WebKit

161b702 : Carry out a resize even if no layout has been performed.
987ed41 : Record Chromium merge at DEPS revision 40.0.2214.114
3d920bb : Merge from Chromium at DEPS revision 40.0.2214.114
06454d4 : Record Chromium merge at DEPS revision 40.0.2214.107
55f6535 : Merge from Chromium at DEPS revision 40.0.2214.107
2d50636 : Record Chromium merge at DEPS revision 40.0.2214.89
ec3f91c : Merge from Chromium at DEPS revision 40.0.2214.89
9e75a9e : Record Chromium merge at DEPS revision 40.0.2214.87
2e473b9 : Merge from Chromium at DEPS revision 40.0.2214.87
097478c : Record Chromium merge at DEPS revision 40.0.2214.69
dda3e71 : Merge from Chromium at DEPS revision 40.0.2214.69
fdb9e63 : Record Chromium merge at DEPS revision 40.0.2214.45
bbc9467 : Merge from Chromium at DEPS revision 40.0.2214.45
a1c277b : Record Chromium merge at DEPS revision 40.0.2214.38
89c67dd : Merge from Chromium at DEPS revision 40.0.2214.38
db15851 : Record Chromium merge at DEPS revision 40.0.2214.27
29e85d2 : Merge from Chromium at DEPS revision 40.0.2214.27
b00cd16 : Record Chromium merge at DEPS revision 40.0.2214.10
eed44c9 : Merge from Chromium at DEPS revision 40.0.2214.10

+- Project: platform/external/chromium_org/third_party/angle

d77bd16 : Fix missing "!" in cube map render target serial check.
98c643d : Fix double delete with invariant varyings.
019fa93 : Fix memory leak with default Framebuffers.

+- Project: platform/external/chromium_org/third_party/boringssl/src

345b735 : Import RSAEphemeralKey tests from master.
3fbc298 : Only allow ephemeral RSA keys in export ciphersuites.
54e4551 : Set output EC_KEY to NULL when d2i_ECPrivateKey() fails.

+- Project: platform/external/chromium_org/third_party/icu

866ff69 : Apply a local patch to ucol.cpp
dd72764 : Apply another regex upstream patch
6242e2f : Add regex.patch file forgotten in the previous CL
3af4ce5 : Cherry-pick two upstream patches to the ICU regex engine
54a65bb : Remove Android system ICU support.

+- Project: platform/external/chromium_org/third_party/libjpeg_turbo

743fc92 : Add missing arm64-neon function declaration.

+- Project: platform/external/chromium_org/third_party/libvpx

715db78 : vp9: sync threads after a longjmp

+- Project: platform/external/chromium_org/third_party/skia

020e13c : Avoid crash on some 64b ARM NEON platforms.
0908c64 : Merge SkMatrixConvolutionImageFilter fix to M40
413a1eb : [M40 merge] Detect discarded SkPictureShader pixel refs.
cc7b849 : fix for 440671
f415326 : Work around CG assert drawing tiny glyphs.
b832532 : Skia: Track the fIsWrapped separately so that we delete correctly
f6a7f38 : Use text size on Mac.
79584c0 : Remove PDF JPEG shortcut, since it fails on grayscale JPEGs.
2e74f75 : Cherry pick 'Fix yet another convexicator issue' to M40 branch
dfe1f48 : Partial revert of 43b8b36b20ae.

+- Project: platform/external/chromium_org/third_party/webrtc

1dc4c26 : Update makefiles after merge of Chromium at 40.0.2214.27
71616db : Merge r7729 into M40 branch.
29e9d25 : Create a 40 branch from trunk@7660

+- Project: platform/external/chromium_org/v8

ba78c21 : Recover from exponent shift ubsan errors.
9d5e8c8 : Don't use C++11's std::trunc and std::round, use the traditional C functions.
9dc11c7 : Version (cherry-pick)
1bf660f : Version (cherry-pick)
87d8031 : Version (cherry-pick)
aee41f5 : Version (cherry-pick)
f4826bb : Version (cherry-pick)
e6716a3 : Version (cherry-pick)
4dececf : Version (cherry-pick)
73d1854 : Version (cherry-pick)
4293d2e : Update makefiles after merge of Chromium at 40.0.2214.27
8870058 : Version (cherry-pick)
d2f1697 : Version (cherry-pick)
26e9779 : Version (cherry-pick)
b08b4e8 : Version (cherry-pick)
fe794ea : Version (cherry-pick)
eebbf63 : Switch codereview.settings to git.
4865dad : Version (merged r25124)
37733a2 : Disable handle zapping on V8 3.30 branch
dd6b7b5 : Version (merged r25226)
79db741 : Create V8 3.30 branch for Chrome 40
016264d : Rollback to Version 3.30.33 (based on 6bee6dcebc3033d4665a8069020302ce5018522d)

+- Project: platform/external/clang

e9a54b6 : Update aosp/master Clang with patches for fp16

+- Project: platform/external/compiler-rt

b3608eb : Fix build breakage on mips64 and x86_64.
2d50464 : Use LOCAL_NO_LIBGCC to build this independently.
87ce796 : Add missing files to compiler-rt
d5a4b89 : Cherry-pick fix to FP trunctation routine
237aaa6 : Use new sanitizer option.
a1c3898 : Link libunwind_llvm to the ASan runtime library.
22e3e21 : Use new sanitizer option.
657a67e : ASan-RT does not need STL.
e4e4912 : Add liblog and liblzma as link dependencies.
a4cf3ee : Update aosp/master compiler-rt with patches for fp16

+- Project: platform/external/conscrypt

5429f72 : Update NativeCryptoTest
089b401 : Adjust Signature interface for BoringSSL
97e54bd : external/conscrypt: remove assertion SSL_OP_NO_SSLv2 is set
086dd64 : Update CryptoUpcalls documentation
c63e8fa : Documentation fixes
d47aa92 : OpenSSLCipher: remove unused variable
c0010ca : conscrypt: change test of SSL_set_cipher_lists
e981ca9 : Use the *_up_ref functions always
a001421 : Switch OpenSSLMac from EVP_PKEY_HMAC to HMAC_CTX.
922aa71 : Remove OpenSSLEngine.getSecretKeyById.
c05697c : Use SSL_CTX_set_tmp_ecdh instead of SSL_CTX_set_tmp_ecdh_callback.
3b510c7 : Consistently use ARRAY_OFFSET_*INVALID macros.
d9a48aa : Fix compilation with OpenSSL
79f05f4 : Fix error conditions in certificate/PKCS#7 reading
c590a93 : Try to get preferred external provider
edc4f27 : Fix up JNI_TRACE for AEAD
279e984 : Fix RSA upcalls from TLS/SSL into JCA.
61c66eb : Fix ECDSA upcalls from TLS/SSL into JCA.
5b6a5ec : NativeCrypto: special case for empty cipher list
a8a4643 : Add clang-format file to approximate existing style
8fa4acd : OpenSSLCipher: adjust expected length with padding in decrypt mode
d7dbb00 : Revert "OpenSSLCipher: adjust expected length with padding in decrypt mode"
ba3f063 : external/conscrypt: tweaks for next BoringSSL import.
eb3a7e3 : OpenSSLCipher: adjust expected length with padding in decrypt mode
4985487 : NativeCrypto: return of 0 is error for EVP_Sign/VerifyFinal
ed396e9 : OpenSSLKey: unsupported algorithm is an InvalidKeyException
6a1e707 : NativeCrypto: throw exception on RSA op failure

+- Project: platform/external/e2fsprogs

b2cc45f : Add f2fs to blkid.

+- Project: platform/external/f2fs-tools

3686eec : Add make_f2fs module for device.

+- Project: platform/external/freetype

fb6b5b1 : Update to freetype 2.6.0
688537f : Add ftmm.c to FreeType build.

+- Project: platform/external/gtest

aa242ae : Use new sanitizer option.
0be0cc6 : Allow to build host gtest libraries in unbundled build.

+- Project: platform/external/guava

bcc7019 : Added Closeables.closeQuietly(Closeable) back
2d40770 : Replaced usages of Unsafe in UnsignedBytes with standard Java
9a320f5 : Replace usages of Unsafe.compareAndSwap(Int|Long)
5cab40b : Upgraded Guava to unmodified jdk5-backport-v17.0-post

+- Project: platform/external/icu

019b8fb : Icu4c: Turn off deprecation warning
8896ccd : Cherry-pick: ticket:11753: Resource directory path must end with a slash
e73570d : Update timezone data to 2015e
cd57f03 : Use GCC for compiling ICU4C on MIPS64.
5d8f3a9 : Compile ICU4C with clang.
5d5fc1a : Remove tools/
09b91f3 : Add a library for initializing ICU for standalone processes
76b20d9 : Cherry-pick: ticket:11734: Bugfix: RelativeDateTimeFormatter with U_HIDE_DRAFT_API.
d778f80 : Cherry-pick: ticket:11730: Bugfix: UNumberFormatAttributeValue with U_HIDE_INTERNAL_API.
2b29e46 : Remove build-time configuration for ICU4C.

+- Project: platform/external/iptables

039584a : xt_socket: add --nowildcard flag

+- Project: platform/external/jdiff

d370cc3 : Fix an additional use of an external parsing library.
8fffa0b : Add build.gradle
a8986b1 : Removing the use of an external xml parsing lib.

+- Project: platform/external/jemalloc

c77ca40 : Remove error message for now.
30bd83f : Temporarily return for bad free.
fc0bd6b : Revert "Revert "Add aborts to catch frees of bad pointers.""
e061b10 : Revert "Temporary patch to avoid crashes."
66bb8cc : Revert "Add aborts to catch frees of bad pointers."
ad86b05 : Add aborts to catch frees of bad pointers.
53421a7 : Don't sanitize jemalloc.
c429191 : Fix chunk size check.
ff55436 : Enable clang/llvm for arm64 and mips targets.
a7ca1e4 : Fix type errors in C11 versions of atomic_*() functions.

+- Project: platform/external/libavc

cc89b12 : Remove all other thread implementations than pthread
cc87241 : Don't declare variables after statements
d78b757 : Reorder code to avoid reading uninitialized data
cd74de4 : Fix MIPS build
7c99adf : Initialize i4_non_ref_frames_in_stream before encoding SPS/PPS
a926c1d : avcenc: Make sure that "avcenc --help" works as intended
517e062 : Allow setting profile IV_PROFILE_MAIN
d2d469e : Added check for minimum output buffer size.
8588303 : Added code to handle cases with qp less than 10
6cb6772 : Reduced memory requirements.
461adb9 : Fixed QP lockups
63f40a8 : Fixed issues with forcing I and IDR frames.
d020be5 : Remove the codec level stride field
f768297 : Always copy data to a local buffer if padding is needed
90a3904 : Set the luma/chroma strides depending on source buffer
53c6878 : Use a separate field for the chroma stride
5f5a280 : armv8: Don't touch the x18 register
50738a6 : arm: Properly match /* */ comments in the arm assembly
1a6481f : Allow using the clang built-in arm assembler
a61d4e0 : armv8: Don't accidentally write 8 bytes instead of 4
ab3f812 : arm: Use vqmovun instead of vqshrun #0
d847c7f : arm: Use unified syntax, ldrsheq instead of ldreqsh
622cf7a : armv8: Use the cmn instruction instead of doing cmp with negative values
db02f57 : armv8: Remove redundant NEON element size declarations
81b0b5a : Don't include <sys/time.h> if WINDOWS_TIMER is set
584cbb6 : Remove the ithread_exit function
7cc1bad : Remove unnecessary calls to ithread_exit
1f2d012 : Improved error resilience in decoder
202a538 : Don't add -m32/-m64 to the cflags
8bf6b2c : Remove an unused and unnecessary function prototype and associated define
29fe0e2 : Remove unnecessary defines/undefines in the makefiles
134291e : Added support for Main Profile toolsets in encoder.
7313602 : Don't use static structs for rc init
afe8d03 : Force regenerating the header via i4_gen_header instead of i4_header_mode
34b8c23 : avcenc: Check that enough arguments exist before parsing
c496bf4 : Fix string handling for generating version strings
c334599 : Remove some unused source files and headers
b9404f3 : Remove a duplicate header
816974b : Handle non-mod-16 widths in the NEON version of 422i->420sp conversion
5cdb888 : Fixed an overread in YUV420 Semi-planar input usecase
6611494 : Moved check for level after check for resolution change.
413352e : SSSE3/SSE4 Intrinsics Optimizations
43bba08 : Added support for level 52
bf9cd17 : Support levels 5.0 and 5.1 in the encoder properly
329d771 : Fix a typo in gas_ih264_lvl_tbl, set proper sizes for level 1.1
fc508f2 : Fix an overread in the slice map
bc7164d : Include space for chroma in the padding allocated in ih264e_get_total_pic_buf_size
1bc6742 : Only initialize u4_deblk_prev_row if it will be used
3a1ed66 : Remove an empty source file
bd15ec1 : Fix a variable name typo in the mips64 makefiles
4691c4b : Set cflags for the right arch in the arm64 makefile
caab4fe : Multithreading changes and better error resilience
7a85475 : Remove leftover printfs in x86 encoder initialization
23461c3 : Fix a typo in gai4_ih264_max_luma_pic_size

+- Project: platform/external/libcxx

d3c7865 : Revert "Hide symbols from the unwinder."
41ab26a : Hide symbols from the unwinder.
660563f : Fix test runner following adb line ending fix.
c448007 : Make test failures fatal.

+- Project: platform/external/libcxxabi

e8cefca : Don't sanitize libcxxabi.

+- Project: platform/external/libnfc-nci

ca49e1a : Add NFC-DEP routing

+- Project: platform/external/libpng

62fc3c2 : Fixing bug causing crc error in region decoder
771583a : Avoid a harmless potential integer overflow in png_XYZ_from_xy().

+- Project: platform/external/libselinux

d1c6f38 : Revert "libselinux: Enhance spec file support"
c079852 : libselinux: Enhance spec file support
06d4551 : restorecon: only operate on canonical paths.

+- Project: platform/external/libunwind

1265e5f : Remove additional prefix for unwind symbols
408bec0 : Skip stack and empty maps when reading load base.
a7db682 : Fix Mips bug.
88693e8 : Use new sanitizer option.
849a547 : Attempt to read load_base from memory when needed.
478d002 : Change return type of get_load_offset to bool.
d79f9bb : Support x86-64 floating point registers.

+- Project: platform/external/libxml2

ac75423 : Remove no-longer necessary local hack.

+- Project: platform/external/llvm

81f9bae : Fix build break due to missing aarch64 components for x86.
a18e6af : Update aosp/master LLVM with patches for fp16
d23c904 : add aarch64 codegen for x86_64 LLVM if specified

+- Project: platform/external/lzma

ea63289 : Update the Android makefile to include most C files.
cd66d54 : Updated LZMA SDK to 9.38 beta.
b473eaa : mark lzma library as public domain
ca6776f : export include paths with libraries
0812fc7 : Add makefile for liblzma for the host.
ab49916 : Add host build.
5676202 : Add xz-embedded, for use in recovery.
6273335 : Add host build.
590a411 : Initial empty repository
0578287 : Add xz-embedded, for use in recovery.
10f238b : Add makefile for liblzma for the host.
baa3858 : Lightly modified commit of lzma sdk version 9.20.
dd8f4f7 : Initial empty repository

+- Project: platform/external/mdnsresponder

90951c4 : Lock mdnsresponder to gcc.

+- Project: platform/external/messageformat

8ffc099 : Build messageformat against the SDK and not the platform.

+- Project: platform/external/okhttp

f4a606d : Explicitly set Http(s)URLConnection timeouts
ed07861 : Apply upstream changes for timeout / pooled connection issue
b5f9076 : Fix for HttpURLConnection not always throwing SocketTimeoutException
d6ed2ae : Fix flaky test Spdy3ConnectionTest.receiveGoAway().

+- Project: platform/external/protobuf

d2195e1 : Update CodedOutputByteBufferNano to properly handle a malformed surrogate pair with a buffer too small to output a potentially well formed surrogate pair. This behavior mimics that of the ByteBuffer based methods.
6d7e42a : Update thei Protocol Buffer descriptor.proto with the new javanano_use_deprecated_package FileOption. Regenerated the descriptor.pb.{c,h} based on the new proto file.

+- Project: platform/external/selinux

7435e5a : Fix Linux-only check in prebuilt audit2allow
099223b : Fix -Wreturn-type issues.
b35fc9a : audit2allow: execute selinux tools from prebuilts
e29551a : Use prebuilt in-tree audit2allow

+- Project: platform/external/sepolicy

99fe8df : hide checkseapp command invocation
b876993 : use a general sepolicy when building general targets
3a74555 : Drop unused variable in
4ee7131 : Introduce seapp_neverallow test
da52e85 : correct colon usage on make targets
81e1f90 : check_seapp: add support for "neverallow" checks
7d65b54 : check_seapp: mac build memory leak
5328d97 : neverallow PROT_EXEC stack or heap.
9c7570e : Fix grouper build by allowing mknod in recovery
f26b6d4 : drop unused option -s
31d88a7 : Allow /dev/klog access, drop mknod and __null__ access
b335e38 : Run idmap in its own domain.
8d3a1b5 : correct all error messages
9d439d3 : neverallow read to shell- and app-writable symlinks.
d9bf7b3 : neverallow write access to /data/dalvik-cache directories.
8a22477 : Allow clatd CAP_IPC_LOCK for mmap()
9303048 : Extend sepolicy for SANITIZE_TARGET.
773d412 : check_seapp: Correct output on duplicate entries
f0f6ee2 : Allow recovery to read files with oemfs label
beadf17 : Update perfprofd rules to allow wake_unlock inspection.
96136d8 : sepolicy-analyze: use headers from common selinux project.
51b33ac : Allow system server and uncrypt to operate pipe file
53b4801 : tools: use headers from common selinux project
eab26fa : Remove service_manager_local_audit_domain.
0d22c6c : logd: logpersistd
bf0c34d : Allow system_app to find all system services.

+- Project: platform/external/smali

df6b78e : Update antlr/flex scripts and bring-up smali to tip of tree
1782856 : README link fix
abd113e : Ensure the stream is closed in DexFileFactory.loadDexFile
0a26ac2 : Upgrade to proguard 5.2.1
9838b83 : ignore .idea directory
c55bef3 : DuplicateTest FAILED fix
923f5a7 : Fix a bounds check problem in IndentingWriter
b742c40 : Comment out unused switch payload instructions
2a0e465 : Don't wrap a large (>32k) register count in a register directive
bd6385f : Duplicate a switch payload that is refered to multiple times
1aad736 : Ensure that sparse switch items are written out in the correct order
32e76b1 : Fix up the whitespace normalization in TextUtils.normalizeWhitespace
d4bce2e : Don't propagate exceptions from RoundtripTest.runTest()
1e06776 : Extract out a base RoundtripTest and IdenticalRoundtripTest class
0c982a0 : Add Member and Annotatable interfaces
bf167c2 : Make sure the elements are sorted in an encoded annotation
b76dee7 : Don't assume dx is on-path. Rather, grab it from maven central
144951a : Add lambda experimental dalvik opcodes
f70084b : Use [^] for the lexer's catch-all rule
ea4074f : Don't try to test for reserved file names
c19627e : Enable parallel gradle execution by default
f0c481a : Use single-quotes in build.gradle files when double-quotes aren't needed
3279a8c : Simplify how the accessorTest is built and run
57bd527 : Use the antlr plugin for gradle
0f6f00a : Use the jflex plugin for gradle
900ad6e : Use the proguard plugin for gradle
b3f933d : Upgrade to gradle 2.3
59e56fb : Add IDEA project files to .gitignore
5dde46b : Fix for Dalvik VM crash on parameter annotations
a922d5a : Update doedexerant makefile

+- Project: platform/external/sqlite

415715d : Regenerate Android.patch
077331f : Initialize ICU explicitly using the icuandroid_utils lib

+- Project: platform/external/strace

299ea84 : Fix mips strace build.
a0ccdac : Fix strace build post-update.
4b80f34 : Fix filtering of <unavailable> syscalls
de4a680 : Fix -qq option in conjunction with -o option
6455f0a : xtensa: wire up new syscalls
4c3ea5d : bfin: wire up new syscalls
25d729f : alpha: wire up new syscalls
68cb82e : tests: skip stat32 test if struct stat is defined incorrectly
d93c4e8 : Consistenly use #ifdef to check for AC_DEFINE'd macros
0c56195 : xattr: move fallback definitions of xattr flags to xlat/
f64a439 : link: move fallback definitions of AT_* constants to xlat/
fddeeba : net: move fallback definitions of SOL_* constants to xlat/
003cc9f : futex: move fallback definitions of futex constants to xlat/
14f4038 : clone: move definitions of cloning flags to xlat/
cf7ee30 : Update mount flags constants
a863072 : mount: update parser to match kernel behaviour
c8cf5fe : mount: robustify MS_MGC_VAL decoding
bf3f836 : Always build strace with clang.
7bee462 : net: decode setsockopt() multicast arguments
0b95590 : Update IPV6 socket options constants
ae28093 : net: factor out interface index printing code
6c8ef05 : Consistently use error_msg instead of fprintf(stderr)
df38991 : Consistently print OOM diagnostic messages
3e9d71f : Introduce memory allocation wrappers
8c20d89 : Fix ioctl entries on 32-bit architectures with 64-bit aligned structures
f95cf99 : maint: make linux/kvm.h parseable on arm
e459ba9 : v4l2: add decoding for VIDIOC_S_CROP's arg
bd8dd77 : Add support for Altera's Nios-II softcore architecture
86b4fb5 : v4l2: VIDIOC_CROPCAP: add missing braces around arg printout
7e88896 : maint: avoid effects of locale when sorting files
6779e71 : v4l2: add decoding for VIDIOC_CREATE_BUFS's arg.
f34b97f : mips o32: decode indirect syscall
71fb134 : debian: add gawk to Build-Depends
b704e8f : tests: fix bexecve.test for the case of mixed personalities

+- Project: platform/external/toybox

e3764cc : Regenerate generated files after upstream toybox sync.
137ac1f : Kylie McClain pointed out that -z affects both input and output.
671146c : Actually set time with touch -d and -t when you don't specify nanonseconds.
0ace882 : First pass on cp --preserve
6b6daec : Promote xxd to other.
9933273 : Probe for fork() instead of relying on a distro-specific #define.
82d8d7c : Added i option to use other interface on running dhcpd.
eed60d2 : Cleanup xxd.
e1ce781 : Minor cleanups on xxd.
4ab24f2 : The android guys sent in xxd. It doesn't share code with od and hexdump. Hmmm...
8a2c087 : Fix segfault with "mount -o ro,remount".
8c0d2d2 : Improve -Z error reporting.
56217bb : Fix top.c build.
5ea9167 : mkfifo -Z
e71e3ac : Add ionice and iorenice.
3b5cb96 : Add undo buffer for 'u'.
4eab65b : Simplify hexedit logic by adjusting viewport all in one place up top. (Easier to genericize logic and reuse later in less or vi...)
b20c80b : Factor out more not-curses infrastructure into lib.
325e02e : Suggestion from Elliott Hughes: tweak test infrastructure to notice if command exits with high errno and assume it segfaulted.
394094f : Fix version number in ifconfig cleanup reference.
9acbbaf : Don't segfault if none of the file arguments to ls exists.
17a94c5 : Don't depend on malloc(0) to return non-null.
28727ba : Fix ls so spacing is right for ls -l, -o, -g, -og, -ogZ, -lZ, -gZ, and -oZ.
3d5ee80 : Fluff up explanation of why 0BSD license for SPDX submission.
34434df : Use lsm_set_create() to set security blanket context before mknod, avoiding racy gap between create/label.
e2882b4 : Add nproc.
18ed9c7 : Explain why attempts to remove the libc++ dependency are futile.
324e615 : Cosmetic tweak: no need for pages of text from "make defconfig" and friends.
0e7e9a1 : Switch to toybox mount(1).
94983f2 : Last grep commit broke non -r use of grep. Oops.
204bd96 : Make "printf --" and "printf ---" work.
0bd81ca : Redo to grep pending for pending data and trust toybox defconfig output for ready command list, to reduce manual updating.
f033f86 : Move the magic list of commands needing cleanup from toys/pending/README to greppable TODO annotations in the individual files. (grep -riw TODO)
42cc29c : On testing fold command, I found w option didnt check the range of value.
7c8a2f4 : mknod: Add -Z option
6f52fbc : Add a symlink for tty(1).
8eaf5ba : Add generated/cflags to .gitignore.
a0da26d : Regenerate generated files.
2d66e6a : Attempt to fix the mkdir LSM race.
a65a7f4 : ls -lZ wasn't putting a space before the xattr output.
9bd4013 : mkdir: Fix argument of option -Z
adcbaf5 : Make "grep -r regex" work on implicit "." if no files specified.
9720e4d : Add -Z support to mkdir, based on a patch from Jose Bollo.
b031a3b : Adapted patch from José Bollo to do the "tonight we're gonna api like it's 1999 and every path ever is from cwd or root" api versions for sockets and as a fallback of the open fails.
0cb5b70 : Switch id over to new infrastructure, switch id to use FORCE_FLAGS, and make lib/lsm.h auto-include from toys.h.
821f31d : Fix "ls -Z . toys" segfaulting, because preprocessing skipped.
a8ee470 : Recent commit broke ls -R (test reversed), and "ls -R singledir" should show label: at the start (yes, even "ls -R" in an empty dir).
c565b06 : More ls -Z upgrading. Move TOYBOX_SELINUX and TOYBOX_SMACK support from portability.h to new lib/lsm.h. Update ls.c to use it.
f25d495 : stat: fix group name

+- Project: platform/external/v8

958fae7 : Update V8 to version

+- Project: platform/external/valgrind

4e88b34 : Remove legacy include files.
45dd261 : Update LOCAL_PATCHES.txt
34fb044 : Cast _zzq_default to 64-bit before assigning it to a 64bit register
d97e578 : Update LOCAL_PATCHES.txt
c42f255 : Fix x86_64 target build
226f45b : Update LOCAL_PATCHES.txt
d07e25f : Do not assume imm8 is 8 for strd rD, [sp, -#imm8]!
c015ad7 : Add file to track local patches
c3be269 : Fix Elf32_Nhdr redefinition
d447437 : Remove main/ to match upstream tree structure.
c474069 : Some platforms such as x86 and amd64 have efficient unaligned access. On these platforms, implement read_/write_<type> by doing a direct access, rather than calling a function that will read or write 'byte per byte'.
328d662 : This patch decreases significantly the memory needed for OldRef and slightly increases the performance. It also moderately improves the nr of cases where helgrind can provide the stack trace of the old access (when using the same amount of memory for the OldRef entries). The patch also provides a new helgrind monitor command to show the recorded accesses for an address+len, and adds an optional argument lock_address to the monitor command 'info locks', to show the info about just this lock.
a307f5a : Address clang compiler warnings on OS X.
07a167c : Fix regression test added in r15282.
a4286b9 : helgrind stats: show the total nr of thr_n_rcec
1e798b0 : helgrind stats: give the memory occupied by the OldRef
a4b20c0 : Add stats in helgrind for oldref history found versus not found
49af592 : Add (presently) failing test case for bz#234814.
f0c6139 : Unguard none/tests/x86/cse_fail on OS X, as the test completes. n-i-bz.
1dfa412 : Re-enable functioning none/tests/amd64/bug137714-amd64 on OS X n-i-bz
c97b61f : Properly guard none/tests/amd64/*.vgtest on OS X for tests not compiled n-i-bz
e3f6a5f : Fix a comment. Do not enumerate segment kinds as all segments have an extent ... including SkShmC segments.
0b8252d : Fix bug 345126: Incorrect handling of VIDIOC_G_AUDIO and G_AUDOUT Patch from Hans Verkuil (
9e0419c : Followup to 15270. Completely forgot about the double maintenance.
8301982 : Add procfs-non-linux.stderr.exp variants to EXTRA_DIST.
135c9f1 : Comment only change.
423b52b : Remove an incorrect assertion. Need to consider SkShmC segments as well.
6debd85 : Also compare keys before calling cmp in the hash table stats printing
6a4c682 : Follow-up bz#344936: Distinguish readlinkat tests for OS X platforms that do or do not support the readlinkat syscall.
e72941d : Fix rounding when printing floating point numbers.
e437427 : Have the hash table 'gen' functions comparing the key instead of the cmp function. Document this in the cmp function comment in pub_tool_hashtable.h
3743c91 : Improve presentation of first line of --profile-heap=yes (i.e. use -------- Arena "client": 4,194,304/4,194,304 max/cu... instead of -------- Arena "client": 4194304/4194304 max/cu....
416bb8b : Fix unhandled syscall: unix:473 (readlinkat) on OS X 10.10 bz#344936
1a6ecb2 : Improve documentation of syscall: unix: 44 profil() which was deprecated around OS X 10.6 and removed from the xnu kernel shipped with OS X 10.7. See unresolved bz#264253.
bd5ceba : Set tests/check_ppc64le_cap to executable.
3b91f17 : Fix for the HWCAP2 aux vector.
c7798d8 : Update.
43ecb9e : Silence some reachable system library reports on OS X 10.10 for simple Hello World console application. No regressions. n-i-bz.
7ab0646 : Follow up to r15253: Having a one elt free lineF cache avoids many PA calls. This seems to slightly improve (a few %) a firefox startup.
71ed3c9 : This patch reduces the memory needed for the linesF.
bc1b77c : Avoid warning about %d and long int
f618565 : When process dies due to a signal, show the signal and the stacktrace at default verbosity
8568c99 : Improve trace of pkt send by V gdbsrv: * show the len * print binary date using \octal notation (like printf, when given non printable chars)
9edbf75 : Fix unhandled syscall: unix:410 (sigsuspend_nocancel) on OS X. bz#319274.
b301469 : * Let GDB user modify the signal to send to the guest process * implement qXfer:siginfo:read: packet to allow GDB to show $_siginfo
2d61633 : Add some more cfi directives With some gcc versions, without these directives, unwind does not work or gives strange entries in stack traces.
9b40c7f : Fix Warning: noted but unhandled ioctl 0x2000747b on Mac OS X. bz#208217.
339cd37 : Followup to r15242 - as PRE() and POST() wrappers utilised, define with the *XY variant.
9069406 : Enable a few more compiler warnings.
5434227 : Cleanups to allow compilation with -Wold-style-declaration.
2b40574 : Fix unhandled syscall: unix:132 (mkfifo) on OS X. bz#212291.
320ac93 : Add (presently) failing test case for bz#212291.
64be56d : Patch 5 in a revised series of cleanup patches from Will Schmidt
3ed5c70 : Patch 6 in a revised series of cleanup patches from Will Schmidt
0fb30ac : Add statistics about the nr of used linesF
fc00a2a : This patch (re-)gains performance in helgrind, following revision 15207, that reduced memory use doing SecMap GC, but was slowing down some workloads (typically, workloads doing a lot of malloc/free).
364f0bb : micro-opt: add an UNLIKELY
93d127f : * add some comments in stack_limits * add UNLIKELY indications for unlikely conditions No functional difference.
de4a99f : Patch 4 in a revised series of cleanup patches from Will Schmidt
44d4a9c : avoid warning
026fe86 : Add the lwpid in the scheduler status information E.g. we now have: Thread 1: status = VgTs_Runnable (lwpid 15782) ==15782== at 0x8048EB5: main (sleepers.c:188) client stack range: [0xBE836000 0xBE839FFF] client SP: 0xBE838F80 valgrind stack top usage: 10264 of 1048576
5e94f05 : Implement 'qXfer:exec-file:read' packet in Valgrind gdbserver.
366cefb : bz#347233 - Fix memcheck/tests/strchr on OS X 10.10 (Haswell)
b6b5205 : Patch 2 in a revised series of cleanup patches from Will Schmidt
4ac3621 : Changes for tilegx: Use VKI_AT_FDCWD not AT_FDCWD.
962f53e : Patch 1 in a revised series of cleanup patches from Will Schmidt
acf521c : Function is_plausible_guest_addr should also consider SkShmC segments.
7a5681f : In functions VG_(am_relocate_nooverlap_client) and VG_(am_extend_map_client) need to allow SkShmC segments, too.
050c8f7 : Get prototype from system header.
c290b88 : Fix bug in do_mremap. Also need to allow SkShmC segments.
fb190ef : Allow suppression on OS X 10.10 in libSystem_initializer
b290d61 : Add back vg_assert(xa); that was removed by error in r15211
2bd2326 : VTS stats * add the missing increment to the nr of gc done * add vts pruning stat
8939e09 : Simplify shmem__invalidate_scache_range : it only has to handle cacheline aligned ranges.
1475a7f : Small optimisations in libhb_core.c
34e16e9 : Micro-optimisation following helgrind secmap gc Checking the range in indexXA can be done with one comparison.
34d1e14 : Fix typo in task_policy_set() output. n-i-bz.
c0401c8 : OS X task_info: UNKNOWN task message [id 3405, to mach_task_self(), reply 0x........] bz#254164
9252713 : Improves the way arena statistics are shown The mmap'd max/curr and max/curr nr of bytes will be shown e.g. as 11,440,408/ 4,508,968 instead of 11440656/ 4509200
f54cb66 : This patch decreases the memory used by the helgrind SecMap, by implementing a Garbage Collection for the SecMap.
9087927 : small refinement in the outer/inner doc
aa19e15 : Add (presently) failing test case for bz#254164.
a623345 : Simplify is_valid_for taking advantage of the fact that SegKinds are one-hot encoded.
dd7bf7c : testsuite: properly svn:ignore output files in none/tests/amd64. n-i-bz.
4e08a97 : Use fxsave64 and fxrstor64 mnemonics instead of old-school rex64 prefix bz#339636
4ed95fc : Add some cfi directives in the code doing syscall (by Valgrind). This allows to attach to Valgrind when VAlgrind is blocked in a syscall and have GDB producing a stacktrace, rather than being unable to unwind. I.e. instead of having: (gdb) bt #0 0x380460f2 in do_syscall_WRK () (gdb) with the directives, we obtain: (gdb) bt #0 vgPlain_mk_SysRes_x86_linux (val=1) at m_syscall.c:65 #1 vgPlain_do_syscall (sysno=168, a1=944907996, a2=1, a3=4294967295, a4=0, a5=0, a6=0, a7=0, a8=0) at m_syscall.c:791 #2 0x38031986 in vgPlain_poll (fds=0x385226dc <remote_desc_pollfdread_activity>, nfds=1, timeout=-1) at m_libcfile.c:535 #3 0x3807479f in vgPlain_poll_no_eintr (fds=0x385226dc <remote_desc_pollfdread_activity>, nfds=1, timeout=-1) at m_gdbserver/remote-utils.c:86 #4 0x380752f0 in readchar (single=4096) at m_gdbserver/remote-utils.c:938 #5 0x38075ae3 in getpkt (buf=0x61f35020 "") at m_gdbserver/remote-utils.c:997 #6 0x38076fcb in server_main () at m_gdbserver/server.
c:1048 : #7 0x38072af2 in call_gdbserver (tid=1, reason=init_reason) at m_gdbserver/m_gdbserver.c:721 #8 0x380735ba in vgPlain_gdbserver (tid=1) at m_gdbserver/m_gdbserver.c:788 #9 0x3802c6ef in do_actions_on_error (allow_db_attach=<optimized out>, err=<optimized out>) at m_errormgr.c:532 #10 pp_Error (err=0x61f580e0, allow_db_attach=1 '\001', xml=1 '\001') at m_errormgr.c:644 #11 0x3802cc34 in vgPlain_maybe_record_error (tid=1643479264, ekind=8, a=2271560481, s=0x0, extra=0x62937f1c) at m_errormgr.c:851 #12 0x38028821 in vgMemCheck_record_free_error (tid=1, a=2271560481) at mc_errors.c:836 #13 0x38007b65 in vgMemCheck_free (tid=1, p=0x87654321) at mc_malloc_wrappers.c:496 #14 0x3807e261 in do_client_request (tid=1) at m_scheduler/scheduler.c:1840 #15 vgPlain_scheduler (tid=1) at m_scheduler/scheduler.c:1406 #16 0x3808b6b2 in thread_wrapper (tidW=<optimized out>) at m_syswrap/syswrap-linux.c:102 #17 run_a_thread_NORETURN (tidW=1) at m_syswrap/syswrap-linux.c:155 #1
8 : 0x00000000 in ?? () (gdb)
420d6d5 : Update.
dcf50a3 : Do not pack relocations for valgrind binaries
c174671 : Document fix for BZ#347389.
9e2645c : Add support for the syncfs system call.
2d377e6 : valgrind --leak-check=full memleak errors from system libraries on OS X 10.8 bz#347379 == bz#217236
016f2ee : Compute total size with unsigned long long
452fe80 : Patch 8 in a series of cleanup patches from Will Schmidt
710d307 : Fix also the rm vgcore of a disabled test (also spotted by Matthias Schwarzott)
c163186 : Fix incorrect cleanup lines in 2 tests (spotted by Matthias Schwarzott)
48ca007 : Patch 3 in a series of cleanup patches from Will Schmidt
e26586b : Patch 2 in a series of cleanup patches from Will Schmidt
a6954a4 : Patch 1 in a series of cleanup patches from Will Schmidt
e787fca : Simplify. The condition on line 1223 is always true. Here's why:
28e187c : One more msg to use 'mmap-ed ANONYMOUS' wording
6e7d3d2 : Fix suppression for pthread_rwlock_init on OS X 10.8 bz#347151
ba3e863 : Add a new howto for running mips64-linux on QEMU. Rename the aarch64-linux howto accordingly.
0fe581f : * Out of memory message was using 'bytes have already been allocated.' while this nr is in fact the total anonymously mmap-ed. Change the message so as to reflect the shown number. * Show also the total anonymous mmaped in non OOM memory statistics
bf37ae8 : Reduce nr of lines produced by laog gc --stats=yes
021228c : Properly guard exp-bbv/tests/x86/ on OS X. Partial fix for BZ#344416 (at least reduces required hacks).
a1ac2f4 : This patch reduces the memory needed for a VtsTE by 25% (one word) on 32 bits platforms. No memory reduction on 64 bits platforms, due to alignment. The patch also shows the vts stats when showing the helgrind stats.
d4dc5fc : This patch adds a function that allows to directly properly size an xarray when the size is known in advance.
c29cf01 : Properly guard drd/tests/thread_name with HAVE_PTHREAD_BARRIER. Partial fix for BZ#344416 (at least reduces required hacks).
a6cece9 : Fix aspacem segment mismatch: seen with none/tests/bigcode bz#345824
76e04ec : Fix regression test compile issue on OS X platform, introduced in r15113. n-i-bz
7571271 : Remove a few embarassing comments.
71a04ea : Rename write variable to avoid a warning: memrw.c:37: warning: declaration of ‘write’ shadows a global declaration /usr/include/unistd.h:333: warning: shadowed declaration is here
4ecd483 : Fix the namespace of the functions dealing with segment names. As those are private to the address space manager they should be ML_ not VG_ prefixed.
5690824 : DW_CFA_def_cfa_expression: don't push the CFA on the stack before evaluation starts. For DW_CFA_val_expression and DW_CFA_expression doing so is correct, but not for DW_CFA_def_cfa_expression.
b69060f : Add a HOWTO on how to build and install aarch64-linux on QEMU, primarily for testing convenience.
0910203 : Fix intermittent build error on aarch64-linux caused by inadequate alignment for some data symbols.
0c4e9e8 : Improve the error messages for the PPC platform to be more clear when Valgrind detects that the underlying hardware doesn't have the needed capability. A number of the checks for DFP support were going to "decode_failure" instead of "decode_noDFP". These issues are also fixed.
981abb5 : Issue an error message if then brk segment overflows.
9dc3156 : Use error exit code when bailing out.
efa71c5 : Update.
1ee59aa : Back out most of r15145 which reports bug fixes for various altivec insns. Either those bugs have been fixed looong time ago, or the reporter ran on a host without altivec capabilities, or those insns were actually e500 insns which are not supported at all at this point.
61e63ac : Fix fallout from r15138: build error on Darwin due to renamed function. Fixes BZ #346801.
737548c : Remove magic constant. Use LibVEX_GUEST_STATE_ALIGN instead.
ca92cdf : Follow up on VEX r3144 and remove VexGuestTILEGXStateAlignment. Also fix the alignment check which should be mod 16 not mod 8. Well, actually, it should be mod LibVEX_GUEST_STATE_ALIGN but that is another patch.
80d145c : Remove VexGuestTILEGXStateAlignment as the guest state size of any architecture must satisfy the LibVEX_GUEST_STATE_ALIGN requirement. So use that instead.
e8ffbc2 : Fix an outdated comment as pointed out in BZ #211256.
c0574f1 : Update. Mostly ppc insns that appear to have been fixed
81de065 : Fix BZ #342683. Based on patch by Ivo Raisr. What this does is to make sure that the initial client data segment is marked as unaddressable. This is consistent with the behaviour of brk when the data segment is shrunk. The "freed" memory is marked as unaddressable. Special tweaks were needed for s390 which was returning early from the funtion to avoid sloppy register definedness initialisation.
7cbe068 : Fix the writev / readv wrappers. Do not read the array pointed to by the 2nd argument, if the element count is negative.
883315a : Replace adler32 by sdbm_hash in m_deduppoolalloc.c adler32 is not very good as a hash function. sdbm_hash gives more different keys that adler32, and in a large majority of the cases, shorter chains.
47124e9 : Give statistics about RCEC helgrind hash table chains. Improve statistic in coregrind hash table
a2aaa40 : Check for any client stack segment. Rule out valgrind segments.
8510d00 : Add some internal documentation for 'svn ignore' maintenance; reference it from README_DEVELOPERS_processes
7d4a28b : Fix an assertion in the address space manager. BZ #345887. The VG_(extend_stack) call needs to be properly guarded because the passed-in address is not necessarily part of an extensible stack segment. And an extensible stack segment is the only thing that function should have to deal with. Previously, the function VG_(am_addr_is_in_extensible_client_stack) was introduced to guard VG_(extend_stack) but it was not added in all places it should have been.
197af9f : Update list of ignored files.
256a6da : There is an ABI change in how the PPC64 gcc compiler handles 128 bit arguments are aligned with GCC 5.0. The compiler generates a "note" about this starting with GCC 4.9. To avoid generating the "note", the passing of the arguments were changed to a pointer to make it pass by reference rather then pass by value.
7981f42 : Update NEWS file with bix for bugzilla 346474.
7cd6d83 : Add support for the TEXASRU register. This register contains information on transactional memory instruction summary information. This register contains the upper 32-bits of the transaction information. Note, the valgrind implementation of transactional memory instructions is limited. Currently, the contents of the TEXASRU register will always return 0. The lower 64-bits of the trasnaction information in the TEXASR register will contain the failure information as setup by Valgrind.
486db12 : Add support for the TEXASRU register. This register contains information on transactional memory instruction summary information. This register contains the upper 32-bits of the transaction information. Note, the valgrind implementation of transactional memory instructions is limited. Currently, the contents of the TEXASRU register will always return 0. The lower 64-bits of the trasnaction information in the TEXASR register will contain the failure information as setup by Valgrind.
2ca1f26 : Enable rt_sigpending syscall on ppc64 linux.
8f3cd17 : Rename VG_(am_is_bogus_client_stack_pointer) to VG_(am_addr_is_in_extensible_client_stack).
d57686f : Fix a silly bug.
67422dd : NEWS: Add entry for bug #346416 / trunk r15123
3ed9236 : Announce in NEWS the optimisation done for helgrind big applications full history level
d005b2c : Add some stats to helgrind stats: * nr of client malloc-ed blocks * how many OldRef helgrind has, and the distribution of these OldRef according to the nr of accs they have
68c6293 : Move a comment useful to the caller to the .h, rather than keeping it in the .c
e0829e0 : Do RCEC_GC when approaching the max nr of RCEC, not when reaching it. Otherwise, long running applications still see the max nr of RCEC slowly growing, which increases the memory usage and makes the (fixed) contextTab hash table slower to search. Without this margin, the max could increase as the GC code is not called at exactly the moment we reach the previous max, but rather when a thread has run a bunch of basic blocks.
d407d94 : Update the NEWS file with the fixes for bugzillas 345695, 346267, and 346324.
395c2c7 : Update the expected output file none/tests/ppc64/jm_int_isa_2_07.stdout.exp for PPC64 big endian.
2010b15 : Add support for LL_IOC_PATH2FID and LL_IOC_GETPARENT Lustre ioctls
e054218 : Add spec rules for EQ, MI, PL, GT and LE after COPY. These result from floating point comparisons.
a2677f1 : increase function size even more (see r15095). On s390 this testcase might use a relative load (e.g. via load address relative long(larl) for the address) into the literal pool for some constants. 1280 seems to be enough that the r/o data is copied along the function.
d609660 : Add support for the lbarx, lharx, stbcx and sthcs instructions.
999ef56 : Fix for an error in the stq, stqcx, lqarx and lq instructions with LE.
cabdbb5 : This patch changes the policy that does the GC of OldRef and RCEC conflict cache size.
72dabf4 : Use the proper function.
9c120ae : Remove SysRes::_valEx from common code as it is specific to mips. ifdef'ed accordingly.
596b3fe : Remove function sr_ResHI from Linux specific code. Add function VG_(sr_as_string).
71e322f : Update tilegx's do_clone function adopting the stack bound changes made in r14392.
5af6658 : Ensure we print the memory statistics with the default verbosity, when giving --stats=yes
203a35d : For ppc64, use the endianess of the running program, rather than an harcoded endness. (this is because ppc64 supports 2 endness, decided at runtime)
d7aa40d : fix 346307 fuse filesystem syscall deadlocks Mark 2 additional syscalls as 'mayblock' when fuse-compatible hint is given. Patch from
faaf860 : Remove a few unneeded header files.
5b5ca27 : Fix a comment.
01fcf6a : Factor out the 'extend' function. We only need one version for Linux and one for Darwin. Down from 11. Carve out a new function 'track_frame_memory' that communicates to the tool the allocation of a new stack frame. This was slightly different on Linux and Darwin but should be the same on both platforms. New files: priv_sigframe.h and sigframe-common.c
6c1470a : Add missing header file.
0c3074e : Forgot to add the new files in memcheck/tests/ppc32 and memcheck/tests/ppc32.
a89b046 : Add support for the lbarx, lharx, stbcx and sthcs instructions.
d826889 : Add support for the lbarx, lharx, stbcx and sthcs instructions.
06bc23a : Fix statistics about ctxt_rcec : * the nr of discards was always 0 * the cur nr of values was shown as max
42a0800 : Followup to r15101. Remove pointless cast. The castee already has that type.
bc6db6e : The vbpermq for Powerpc64 big endian has the same issue as the little endian support. Bugzilla 346270 was reopened to include the BE issue.
256df59 : The following regression tests failures occur on PPC64 little endian only.
8647af7 : Fix the compiler warning about casting the arguments to the functions LibVEX_GuestPPC64_get_CR() and LibVEX_GuestPPC64_get_XER().
d0deb9d : Fix function call: 1st argument is the thread id.
cb46d25 : Following fix done in tilegx host in vex: r3130, reenable tilegx as host in libvexmultiarch_test
5f13312 : Update list of ignored files.
e27c8cd : To address memcheck/tests/leak-segv-jmp test failure for TILEGX By: Zhi-Gang Liu
f81fbe4 : Add TILEGX arch. specific syscall #245, __NR_cacheflush By:Zhi-Gang Liu
009b5fc : Add Iop_Add8, Iop_Add16 and other 8 or 16 bit ALU Iop in the host_tilegx_isel.c
261fbcb : Fix the bigcode test failure for TILEGX By: Zhi-Gang Liu
62cee7a : Address minor issues in Julian's last review. For TILEGX only. By: Zhi-Gang Liu
f2349b7 : Removed "extern"
32bf413 : Removed #if __tilegx__ ... #endif in guest_tilegx_toIR.c
b597f20 : Fix the evCheck assertion for TileGX
548863e : Add 'allexec.c' in "none/tests/tilegx"
03aba74 : Remove allecec.c from none/tests/tilegx
4465bd5 : Followup to r14974. That revision oversimplified a condition, part of which was presumed to be redundant but wasn't. This caused code to hang due to an infinite signal-delivery loop. Observed and tracked down by Austin English.
807521e : Make the version checking for Apple LLVM a bit less strict.
ac73429 : Un-break the Darwin build after r15078. Patch from Mark Pauley (
6faff00 : Remove unused function "lshift".
a8f142f : Update list of ignored files.
7e5aa0d : VEX side for revision 15084 (multi arch testing)
ffcfa7a : Add 2 tests none/tests/libvex_test and libvexmultiarch_test
40648e2 : Remove useless arguments in sparsewa, that were inheritated from WordFM These arguments are not needed for sparsewa, as they can only return the key given in input.
158404e : Have the event map GC use the same approach as the other GC done from libhb_maybe_GC, i.e. check the condition in libhb_maybe_GC, and call the (non inlined) GC only if a GC is needed.
e2fd3d2 : Update expected result for leak-segv-jmp, following TileGX addition of a few lines in leak-segv-jmp.c
112711a : Add a port to Linux/TileGx. Zhi-Gang Liu ( Valgrind aspects, to match vex r3124.
0de8019 : Add a port to Linux/TileGx. Zhi-Gang Liu ( VEX aspects.
012d5f5 : Fix a typo in the example given in the comment
5370de0 : Add missing stdout.exp file
52b284b : ADD AT_DCACHEBSIZE and AT_HWCAP2 support for POWER PC
ff4a084 : Assorted cleanups: remove magic constants and unneeded header file. Update a few comments. Exit with code 127 in bash emulation mode when file was not found.
1fe64fd : Consolidate shell script testcases without interpreter.
954d6bb : Certain kernels on s390 provide extra read permissions on executable segments. See discussion here: Making sure that rx and x compare equal.
8bb1c9e : x86 front and back ends: track vex r3120, which changed the type of Iop_Sqrt64Fx2 and Iop_Sqrt32Fx4.
7222f64 : Track vex r3120, that changed the type of Iop_Sqrt64x2 and Iop_Sqrt32x4.
cd4637e : amd64 front and back ends: track the change of type of Iop_Sqrt32Fx4 and Iop_Sqrt64Fx2 as introduced in r3120, in which they acquired a rounding-mode argument.
346ee2f : Followup to r14898 which changes the storage of segment names by putting them into a string table. This patch adds reference counting to segment names and frees them when they are no longer used. The so freed memory can be reclaimed to store future segment names. New file coregrind/m_aspacemgr/aspacemgr-segnames.c which has all the code dealing with segment names. Carved out of aspacemgr-linux.c Detailled comments in the code. Fixes BZ 344559.
677b6f5 : arm64: remove redundant comment on test cases for FSQRT 2d_2d, 4s_4s, 2s_2s (should have been included in r15071). No functional change.
251e180 : arm64: enable test cases for FSQRT 2d_2d, 4s_4s, 2s_2s
4b21c3d : arm64: implement FSQRT 2d_2d, 4s_4s, 2s_2s AFAICS this completes the AArch64 SIMD implementation, except for the crypto instructions.
1f4b1eb : Memcheck: add support for recently added IROps: Iop_F64toF16 Iop_F32toF16 Iop_F16toF64 Iop_F16toF32
a09a725 : arm64: enable test cases for
2130b34 : arm64: add support for the following insns. This completes support for conversion instructions.
695dde8 : The linux launcher showed some odd behaviour. When given a shell script named 'now' with this contents:
99da145 : Ignore generated files.
a2cdc9f : Tweak STATIC_ASSERT such that there is no warning about an unused variable when used at block scope.
ea73483 : Tweak STATIC_ASSERT such that there is no warning about an unused variable when used at block scope.
0a6d897 : New directory: none/tests/scripts Move corresponding testcases there.
8d22844 : Add testcase for BZ 231357. To do that a small enhancement to vg_regtest was needed: (1) New declaration to allow specifying an environemnt variable that is set prior to invoking valgrind. eg: env: VAR=VAL There can be more than one such declaration (2) prog-asis: program_name This is like prog: except the program name is not prefixed with the testdir.
e4a4c57 : When skipping white space after #! to find the interpreter only skip ' ' and tabs.
3815259 : Add a test that triggers sector recycling (cfr bug fix in revision 15058: without 15058, the below test loops for ever).
f886165 : Add the standard end of the file marker used elsewhere
d7065d5 : Commit the VEX makefile changes needed to have the libvexmultiarch build and installed by default
6941bc8 : Improve comments, add the copyright notice
d59d978 : Fix function sr_EQ which compares two SysRes values. On Linux it was forgotten to compare SysRes::_valEx.
aa29de2 : Fix infinite loop in sector recycling introduced by r15054 (a regression test that will exercise sector recycling will follow)
298e46f : Announce fix for 231257. A pretty old BZ. We must have fixed this in the meantime...
05be8f5 : Fix Darwin: -v does not show kernel version bz#201435
12b2b5b : This patch reduces the size of all tools by about 2MB of text (depending on the arch).
2f2c940 : Update list of ignored files.
d28615c : Further reduction of the size of the sector TTE tables For default memcheck configuration, 32 bits) this patch decreases by 13.6 MB ie. from 89945856 to 76317696.
5b684dd : Fix a typo
436b75f : Un-break the build following vex r3110. Thanks to PetarJ for the fix.
1a877fd : arm64: enable test cases for FCVT{N,M,A,P,Z}{S,U} 2d_2d, 4s_4s, 2s_2s
bc0b722 : arm64: add support for FCVT{N,M,A,P,Z}{S,U} 2d_2d, 4s_4s, 2s_2s
a840bc0 : arm64: add test cases for FCVT{N,M,A,P,Z}{S,U} d_d, s_s FCVTN 4h/8h_4s, 2s/4s_2d FCVTL 4s_4h/8h, 2d_2s/4s FCVT Sd, Hn FCVT Dd, Hn FCVT Hd, Sn FCVT Hd, Dn
400d6b9 : arm64: add support for FCVT{N,M,A,P,Z}{S,U} d_d, s_s FCVTN 4h/8h_4s, 2s/4s_2d FCVTL 4s_4h/8h, 2d_2s/4s FCVT Sd, Hn FCVT Dd, Hn FCVT Hd, Sn FCVT Hd, Dn
3738bfc : Add IR level support for 16 bit floating point types (Ity_F16) and add four new IROps that use it: Iop_F16toF64, Iop_F64toF16, Iop_F16toF32, Iop_F32toF16.
5a0e3eb : mips: update list of ignored files in auxprogs
2e5051b : Fix memcheck/tests/sendmsg on OS X bz#345637 - Support the lowercase for of libsystem* in filter_libc script
1996df0 : Add STATIC_ASSERT. Remove VG__STRING.
c13d544 : Add STATIC_ASSERT and use it.
cda0c2c : Extensible main thread stack is tricky :(.
45da632 : The hint given by Valgrind gdbserver when enabling host visibility in gdbserver was wrongly giving the file load address, instead of the text segment address start. This means that GDB was then showing wrong symbols for an address (typically, symbols slightly before the address being printed).
c350865 : Helgrind optimisation: * do VTS pruning only if new threads were declared very dead since the last pruning round. * When doing pruning, use the new list of threads very dead to do the pruning : this decreases the cost of the dichotomic search in VTS__substract
a2f370a : mips64: extract correct immediate value for Cavium SEQI and SNEI
6aacb06 : mips64: extend the test with new cases for Cavium SEQI and SNEI
d738b46 : Change the minimum allowable value of aspacem_minAddr to be VKI_PAGE_SIZE. That follows from the requirement that the address ought to be page aligned and > 0.
24f33d7 : Improve --stats=yes: * give the avg nr of IPs per execontext * use the newly introduced %f in m_transtab.c ratio and in the avg nr of execontext per list
82e7a54 : Add function VG_(am_is_valid_for_aspacem_minAddr) so that the parser for command line options does not need to know what addresses are valid for aspacem_minAddr. That information should be hidden in the address space manager.
75d8a4e : Have the very detailed gdbsrv debuglog (e.g. exchange of packets between GDB and V gdbsrv, fetching/setting registers, ...) done at debuglog level 3 instead of 1. This allows to do gdbsrv commands at debuglog level 2 without seeing too much trace.
9951323 : Further fixes for bz#345394 specifically for OS X 10.10
a5b5022 : Bug 345215 - Performance improvements for the register allocator
5775c3c : Minor updates to deal with mips32 and mips64.
514a3b9 : Add source dependencies, and improve the 'clean' target.
900c535 : * Add in helgrind stats the nr of live/exit/joined/exit and joined threads * avoid division by 0 in m_transtab.c stats before anything was done
523b5b8 : This patch further reduces the memory used by TT/TC (by about 15Mb on 32 bits memcheck default nr of sectors).
7bac7ec : Simplify expression.
017d8f5 : Add VG_(am_is_bogus_client_stack_pointer)(Addr). The function is used in VG_(client_syscall) to avoid extending the stack when it is clear that the current value of the stack pointer does not point into a segment that looks like a stack segment. See the comments in the code there. As a side effect of this we can now revert r15018 which increased the stack size of the alternate stack in memcheck/tests/sigaltstack.c. The reason is that the belief at the time: "alternate stack is too small" was not correct. What instead happened was that VG_(client_syscall) called VG_(extend_stack) without need (the syscall was tgkill) and the new stack pointer happened to be in a file segment. In other words: the current stack pointer was still within the alternate stack, i.e. the alternate stack was (barely) large enough.
e44ff79 : Include the platform name in the unhandled system call message
dd23820 : Fix leak : only strdup in SectKind.objname if a SectKind address is returned
d4c3744 : 343902 --vgdb=yes doesn't break when --xml=yes is used
f08e29d : Fix memcheck/tests/strchr on OS X bz#345394 - Support the required index and _platform_strchr alias
fc99238 : Change the GCC demangler to not use VLA. The rationale is that these VLAs are allocated on the stack and they can become quite large - in particular when the client is a C++ application using the Boost library. In combination with the demanglers recursive nature this can quickly lead to exhaustion of valgrind's per-thread stack (which cannot be dynamically grown). Additionally, due to the large VLAs (I've seen a 32k array) we could run out of stack space without issuing a prior warning and instead just segfault. Therefore this patch allocates these arrays on the heap and frees them later. Basically this is a respin of Joseph's r10385.
05d2cab : Address darwin compile issue introduced in r15013, due to _IOC_NONE
93cb28b : Fix parsing the %z format specifier. Need to advance to next character.
cac2b54 : Add ecag.stdout.exp-z13.
b6ba6d2 : Do not reuse Creg_IA_* for s390. Add dedicated entries Creg_S390_...
e56d1b5 : Remove config files for no-longer-existing s390 builds.
bece82e : Change TT/TC hashing data structure (decreases memory by 50MB for memcheck 32bits)
83b558c : Add nightly script for wildebeest[32] (debian x86), lfedora1 (fedora s390x)
e50e220 : add cache info for z13
dd1d372 : Minimal update to recognise z13 (s390).
dee60ed : Add z13 (s390).
ee470b8 : Merge the contents of docs/internals/howto_build_documentation into docs/README. Remove the section about the XML Toolchain as it is outdated.
37dd64d : Increase the size of the alternate stack. It was too small. This was found by accident and there is no known way to detect an overflow of an alternate stack in the general case.
83e6948 : Add a howto for building documentation.
924c852 : New Option --avg-transtab-entry-size=<number> can be used to tune the size of the translation table sectors, either to gain memory or to avoid too many retranslations.
f0c5ce8 : Fix the following errors detected by makefile check memcheck/tests/ error: wrap8.stderr.exp-ppc64 is missing in EXTRA_DIST memcheck/tests/ error: wrap8.stdout.exp-ppc64 is missing in EXTRA_DIST memcheck/tests/ error: wrap8.stdout.exp2 is in EXTRA_DIST but doesn't exist memcheck/tests/ error: wrap8.stderr.exp2 is in EXTRA_DIST but doesn't exist
69e8f17 : Add option --loop-till-fail to tests/vg_regtests to make it easier to obtain failing trace or unfiltered output for tests that fail from time to time
21628d2 : Fix the testcase so it works on platforms where _IOC_NONE != 0 Filtering script and expected output file adapted.
ef3dd6c : Organise the expected output files for the wrap8 testcase. There is special behaviout on ppc64 only. Let the filenames reflect that. At the same time update the ppc specific output to what it is. The important thing here is that the stack overflow is detected. Everything else is effectively a don't care. Should line numbers and such differ in the future that should be filtered out.
c02fb7a : Update the ppc64 specific results to what they are. The difference of the expected results as compared to other platforms is
1a7b0b9 : Disable testcase because the ptrace system call is not supported on ppc64.
f631b02 : Sort locks by their guestaddr to make the error output independent of the dynamically allocated Lock addresses. This restores helgrind/tests/locked_vs_unlocked2.stderr.exp from r14931.
d8e3eca : r2974 moved the inline definition of LibVEX_Alloc from libvex.h to main_util.c because it caused linker problems with ICC. See comments in BZ #339542. This change re-enables inlining of that function by adding it (renamed as LibVEX_Alloc_inline) to main_util.h. 500+ callsites changed accordingly.
87d15de : Fix a warnings introduced by rev 15005
17040ab : Announce in NEWS the new option --valgrind-stacksize
fb9858d : Fix non portability spotted by Florian: An array must have at least 1 element. 0 element is accepted by gcc but is not portable.
5e47e3f : m_transtab.c statistic/tracing * common up the identical debug and clo_stat traces * add in the stats the nr of sectors recycled * add the avg translation size in each sector recycled and in the final statistics (no functional change)
d0720e4 : Implement command line option --valgrind-stacksize=<number>
dc4ff1a : Fix two bugs: (1) In r14664 VG_(get_fnname_if_entry) was changed to always return a function name, even if that function was *not* an entry. That broke callgrind and was also confusing because it contradicts what "get_fnname_if_entry" suggests. (2) In r14189 a function call was removed because it was considered redundant which it was not.
909e035 : Announce fix for BZ #345079.
65eec5e : Fix build problems. The code has been bitrotting for some time. Note, that while the file compiles and links, not all IROps are handled. So there may be runtime problems. Fixes BZ #345079. Patch by Ivo Raisr (
45f8de6 : Fix two undefined behaviours found by ubsan. Signed integer overflow in multiplication.
3cfee11 : Remove assertion. Unlikely as it may be, len may be huge and therefore we cannot assert otherwise.
e13efb8 : Update a comment.
f8ff41e : Update release notes with ICC contact.
7f79309 : Announce support for Intel's ICC compiler. Fixes BZ #339542.
9b54074 : Issue a warning if a function has more than 5 million bytes of code. Previously functions exceeding that size were observed in the field. Assert for 100x that amount.
c384301 : Updated the NEWS file bugzilla 343597 - ppc64le: incorrect use of offseof macro fixed 3/10/2015
2f93145 : Fix for bugzilla 343597 - ppc64le: incorrect use of offseof macro
bb1a787 : Add support for building with -fsanitize=undefined. - add configure option --enable-ubsan - add __ubsan helpers (by Julian)
108e03f : Fix a few undefined behaviours that were found by compiling valgrind with GCC 4.9.2 using -fsanitize=undefined and running the testsuite.
b97e44b : PRE(sys_prctl): handle PR_SET_SECCOMP.
2fa66ce : New function VG_(am_mmap_client_heap) which swallows VG_(am_set_segment_isCH_if_SkAnonC). Rename VG_(am_set_segment_hasT_if_client_segment) to VG_(am_set_segment_hasT) passing in an address (because that function cannot possible take a pointer to a *const* segment). Also assert that the segment containing the address is a client segment. Everything else is a bug.
868bfa2 : 342353 - Allow dumping full massif output while valgrind is still running
83cbb7a : update NEWS to indicate that 335907 segfault when running wine's ddrawex/tests/surface.c under valgrind is assumed to be fixed either by a previous change in 3.10 and/or by the commit for 343173
8df5997 : n-i-bz: Replace non-POSIX bzero with proper memset. At least for internal-only, Darwin functionality. Picked up by cppcheck. No regressions within test suite.
135dad5 : Fix memcheck/tests/xml1 on OS X 10.10 bz#344939
846691e : Rewritten to use a single line instead of line splicing to avoid line number differences in the reported error.
8348385 : Fix unhandled syscall: unix:348 (__pthread_chdir) and unhandled syscall: unix:349 (__pthread_fchdir) on OS X bz#344512 - Support these two undocumented syscalls. - New regression test case added.
7a4d825 : Tweak test case for bz#344560 from r14985, now includes line numbers
bc3770e : Fix stack traces missing penultimate frame bz#344560 - Also fixes memcheck/tests/badpoll test on OS X - Problem occurs because the guest stack seen in a system call pre or post function happens to not have a correct topmost stack frame, as Darwin system call stubs do not start with the usual function prolog. - New regression test case added. - Thanks to Greg Banks for research, patch and test case.
3858abd : n-i-bz: Small fixes to r14976 (bz#343173) to add stackteardown to svn:ignore and fix compilation on OS X
e9ed142 : Update.
1a11a6b : Update comment about range checks with observations from Florian. No functional change.
1bb648d : Make printing of transtab: debug-log messages slightly prettier. No functional change.
593ca41 : Update.
9bd3301 : Marginally improve debug printing. No functional change.
8e10f93 : POST(sys_ioctl): identify kernel variant "Qualcomm Adreno 3xx" correctly.
a94f4f7 : Minor changes in an attempt to improve performance and reduce the amount of file-reading resulting from DiImage-cache misses.
9edbbd9 : Fix problems due to generating Neon instructions on non-Neon capable hosts:
3a75d2e : Fix 343173 - helgrind crash during stack unwind
19235ec : Update list of ignored files.
15fa8a2 : Produce a user message in case of stack overflow. Change VG_(extend_stack) and VG_(am_extend_into_adjacent_reservation_client) accordingly. Remove some redundant checking. Add testcase.
be38cdd : Update a comment. Apparently the code was refactored at some point...
0f9b864 : Fix missing libobjc suppressions on OS X 10.10 bz#344702 - Update darwin14.supp suppressions - Includes malloc_zone_malloc and malloc related issues in system libraries
10e7c67 : Change the testcase such that the output matches the intended output.
e14ade1 : Fix suppression for pthread_rwlock_init on OS X 10.10 bz#344686 - Update darwin14.supp to match prior OS X versions
4367abe : Fix a few compiler warnings issued by clang 3.6.0
16caded : Add machinery to try and transform A ^ ((A ^ B) & M) into (A ^ ~M) | (B & M).
2608c69 : Enhance the CSE pass so it can common up loads from memory. Disabled by default since this is a somewhat dodgy proposition in the presence of spinloops and racy accesses.
581cf07 : Tidy up of CSE. Create functions irExpr_to_TmpOrConst, tmpOrConst_to_IRExpr and subst_AvailExpr_TmpOrConst and use them instead of in-line code. No functional change.
9e2a008 : fold_Expr: add rules Xor8/16/32/64(0,t) ==> t Xor8/16/32/64(t,0) ==> t
37192e7 : Fix memcheck/tests/err_disable4 test on OS X bz#344621 - Unnamed semaphores are not supported on OS X, must use named semaphores. - To use named semaphores sem_open() instead of sem_init() utilised. - Test case updated accordingly across all platforms.
95f1037 : Simplify do_brk - remove redundant asserts - let VG_(am_extend_into_adjacent_reservation_client) worry about - whether delta is too large - whether the segment abutting this one exists and is a reservation segment The function already checks these things. No need to do it again here. - do_brk does not need to know that a reservation segment must not shrink beyond a single page. That detail ought to be hidden in the address space manager. Also, turn a few conditions into asserts.
7463e49 : Include pub_core_aspacemgr.h only where needed. Also fixes BZ #344235.
888b815 : Change the prototype of VG_(am_extend_into_adjacent_reservation_client) to match VG_(am_extend_map_client) for consistency.
e3e61c5 : Bug #344318 socketcall should wrap recvmmsg and sendmmsg
dd7318b : Change VG_(am_extend_map_client) as follows: - Tighten up on asserts - Simplify; as the function grows memory into a free segment, there cannot possibly be any translations to be discarded. Free segments do not have translations. sane_NSegment will make sure. - Change the prototype to take in the start address of the mapping and return a pointer to the resized segment. Previously, the code
7f3e0bc : Add a comment explaining why there are only 3 emulation warnings and not 4 as one would expect. Update the .exp file to show correct line numbers.
c34e57e : Update opcode list following VEX r3092. Add an assertion to trigger a compile time error in case this happens again.
e19e2ae : arm64: enable test cases for conversion instructions which are in fact implemented at this point.
f4edb1d : arm64: enable all remaining cases in the FCVT{N,P,M,Z,A}{S,U} (scalar, integer) group
1435076 : Handle new IROps added in vex r3092: Iop_RecipStep64Fx2, Iop_RSqrtStep64Fx2 Iop_RSqrtEst64Fx2, Iop_RecipEst64Fx2 Iop_RecpExpF64, Iop_RecpExpF32 --This line, and those below, will be ignored--
2e0da2a : arm64: enable test cases for FRECPS d_d_d, s_s_s FRSQRTS d_d_d, s_s_s FRECPE d_d, s_s FRSQRTE d_d, s_s FRECPX d_d, s_s FRECPS 2d_2d_2d, 4s_4s_4s, 2s_2s_2s FRSQRTS 2d_2d_2d, 4s_4s_4s, 2s_2s_2s FRECPE 2d_2d, 4s_4s, 2s_2s FRSQRTE 2d_2d, 4s_4s, 2s_2s --This line, and those below, will be ignored--
89cefe4 : arm64: implement: FRECPS d_d_d, s_s_s FRSQRTS d_d_d, s_s_s FRECPE d_d, s_s FRSQRTE d_d, s_s FRECPX d_d, s_s FRECPS 2d_2d_2d, 4s_4s_4s, 2s_2s_2s FRSQRTS 2d_2d_2d, 4s_4s_4s, 2s_2s_2s FRECPE 2d_2d, 4s_4s, 2s_2s FRSQRTE 2d_2d, 4s_4s, 2s_2s
fb823ae : Fix an off-by-one error - this time, do it right. A segment with start == end is not empty.
e861b99 : Revert r14954. If the end of a segment is 0xfffff.....fffff then end + 1 == 0 and any start address will be >= end. Think some more.....
0e8dd91 : Fix configure for Linux kernel >= 4.0-rc1 In addition raise the minimal Linux version to 2.6 as there is almost no test coverage for 2.4 and 2.6 was released in 2003.
858a6b2 : Fix an off-by-one error. A segment with start == end is not empty.
c8ec65a : Stop gcc -Og complaining (incorrectly) about filessize being used uninitialised. No functional change.
022f7bd : Fix bz#343523, OS X mach_ports_register: UNKNOWN task message [id 3403, to mach_task_self(), reply 0x30f]
0fa2167 : Fix OS X 10.10 (Yosemite) - missing system calls and fcntl code, courtesy of Bill Zissimopoulos
5d3d43d : Update a comment.
ea8a88c : Pass in a mask of segment kinds to VG_(get_segment_starts) and VG_(am_get_segment_starts) to indicate which segments should be collected. That should solve the following problem: in m_main.c we used to:
426e6a2 : canonicaliseSymtab: fix silly logic that could cause the function to loop forever. In particular, it will do that when two symbols have exactly the same address range but differ in their .isText attribute. Fixes #342117.
85774c7 : Fix Bug #344314 callgrind_annotate ... commands containing newlines
79896d2 : Correctly handle prctl(VKI_PR_SET_PTRACER, ..) so as to avoid false positives (eg when running Wine).
3d0724b : Messaging cleanup for the PDB reader. No functional change.
d22b89b : Bug #344307 2 unhandled syscalls on aarch64/arm64: umount2(39), mount (40)
a663c8e : For PDB stats printing, don't print the number of inl-info records, since it's always zero.
4fc4270 : Improve string table reading for MSVC2010 compiled code. Also seems to help with MSVC2013 compiled code. Variant of a patch from Mark Browning ( Fixes #211529.
ad9553a : Update a comment.
c53a534 : Bug #344295 syscall recvmmsg on arm64 (243) and ppc32/64 (343) unhandled
13af241 : Bug #344279 syscall sendmmsg on arm64 (269) and ppc32/64 (349) unhandled.
04aae32 : ML_(find_name_of_pdb_file): bit a bit more careful when grepping the output from /usr/bin/strings, so as to not get confused by substrings ".pdb" and ".PDB" when they don't appear at the end of a line.
7cb1293 : Update comment for VG_(am_find_nsegment) to match the code. Likewise for VG_(am_next_nsegment). Also make the code similar to VG_(am_find_nsegment) for easier comprehension.
6329ec8 : Translations are allowed from all client segments. Update comments and rename VG_(am_set_segment_hasT_if_SkFileC_or_SkAnonC) to VG_(am_set_segment_hasT_if_client_segment). Change it so it handles all client segments.
1324b6f : Update a few comments.
b509864 : Document the --max-threads command line option.
686b8ca : Misc tweaks in segAddr_to_index: (1) It is always invalid for the incoming segment pointer to be out of range. Assert that. (2) Let the compiler do the address arithmetic. They're good at that and therefore: (3) No asserts needed to check the result.
1e802b6 : Add command line flag --max-threads=<integer> to increase the number of threads that valgrind can handle. No recompile is needed. Part of fixing BZ #337869.
5fdb28c : More use of LibVEX_GUEST_STATE_ALIGN.
5185453 : Use LibVEX_GUEST_STATE_ALIGN introduced in VEX r3091.
5074b49 : Add symbolic constant LibVEX_GUEST_STATE_ALIGN. Use it.
87d812e : arm32-linux: for the magic-call CALL_FN_* macros, add r12 to the asm trash list. Not doing so was causing r12 to get corrupted by the called function, which lead to some very strange failures in Helgrind on arm32. Fixes #344033.
d474ab2 : arm32-linux: GET_STARTREGS has always been wrong on this target, confusing SP and LR and resulting in no backtraces during internal assertion failures etc on this platform. Fixes #343219. Noticed by
3143d2d : arm32: local_sys_write_stderr and local_sys_getpid: don't trash r7 in the inline assembly, because gcc doesn't like that when compiling for Thumb. And this file is compiled for Thumb during "make check".
e4a905f : Bug #344007 accept4 syscall unhandled on arm64 (242) and ppc64 (344)
8cf6637 : Remove an unused macro (which also had undefined behaviours).
237fd43 : Fix a bug introduced in r14913.
b12f502 : Ensure vgdb gets the nr of threads from Valgrind via shared memory, rather than using a compile time constant. This is in preparation for a future change by Florian, to have the max nr of threads specifiable at startup via a clo
ebb8893 : Bug #343978 Recognize DWARF5/GCC5 DW_LANG_Fortran 2003 and 2008 constants.
d6edbc9 : Bug #343967 Don't warn about setuid/setgid/setcap exec for dirs.
5f440ac : Update.
4d50c2f : Enable test cases for FMOV (vector, immediate, single precision) {FRINTN,FRINTM,FRINTP,FRINTZ,FRINTA,FRINTX,FRINTI} 2d_2d, 4s_4s, 2s_2s {FRINTN,FRINTM,FRINTP,FRINTZ,FRINTA,FRINTX,FRINTI} d_d, s_s
6a785df : Implement FP instructions: FMOV (vector, immediate, single precision) FRINTN 2d_2d, 4s_4s, 2s_2s FRINTM 2d_2d, 4s_4s, 2s_2s FRINTP 2d_2d, 4s_4s, 2s_2s FRINTZ 2d_2d, 4s_4s, 2s_2s FRINTA 2d_2d, 4s_4s, 2s_2s FRINTX 2d_2d, 4s_4s, 2s_2s FRINTI 2d_2d, 4s_4s, 2s_2s FRINTN d_d, s_s
7483ef3 : Enable test cases for all remaining FP multiply instructions: FMULX d_d_d, s_s_s FMLA d_d_d[], s_s_s[] FMLS d_d_d[], s_s_s[] FMUL d_d_d[], s_s_s[] FMULX d_d_d[], s_s_s[] FMULX 2d_2d_2d, 4s_4s_4s, 2s_2s_2s FMULX 2d_2d_d[], 4s_4s_s[], 2s_2s_s[] and possibly more.
ee3db33 : Implement all remaining FP multiple style instructions: FMULX d_d_d, s_s_s FMLA d_d_d[], s_s_s[] FMLS d_d_d[], s_s_s[] FMUL d_d_d[], s_s_s[] FMULX d_d_d[], s_s_s[] FMULX 2d_2d_2d, 4s_4s_4s, 2s_2s_2s FMULX 2d_2d_d[], 4s_4s_s[], 2s_2s_s[] The FMULX variants are currently handed the same as FMUL. This is a kludge that will have to be fixed at some point.
679e410 : Enable test cases: {FMADD,FNMADD,FMSUB,FNMSUB} d_d_d_d, s_s_s_s {FMAXMNV,FMINMNV,FMAXV,FMINV} s_4s {FMAXNMP,FMINNMP,FMAXP,FMINP} d_2d, s_2s {FMAXNM,FMINNM,FMAX,FMIN} 2d_2d_2d, 4s_4s_4s, 2s_2s_2s {FMAXNMP,FMINNMP,FMAXP,FMINP} 2d_2d_2d, 4s_4s_4s, 2s_2s_2s
5cb53e7 : Implement all remaining FP min/max style instructions: {FMAXMNV,FMINMNV,FMAXV,FMINV} s_4s {FMAXNMP,FMINNMP,FMAXP,FMINP} d_2d, s_2s {FMAXNM,FMINNM,FMAX,FMIN} 2d_2d_2d, 4s_4s_4s, 2s_2s_2s {FMAXNMP,FMINNMP,FMAXP,FMINP} 2d_2d_2d, 4s_4s_4s, 2s_2s_2s
0b654cc : Bug 343733 Unhandled syscall 187 (msgctl and related) on aarch64
a87ac96 : Bug 343732 - Unhandled syscall 144 (setgid) on aarch64.
5905222 : Enable test cases for all FP compare instructions: {FCMEQ,FCMGE,FCMGT,FACGE,FACGT} d_d_d, s_s_s {FCMEQ,FCMGE,FCMGT,FACGE,FACGT} d_d_#0.0, s_s_#0.0 {FCMEQ,FCMGE,FCMGT,FACGE,FACGT} 2d_2d_#0.0, 4s_4s_#0.0, 2s_2s_#0.0 {FCCMP,FCCMPE} s_s, d_d {FCMP,FCMPE} d_d, s_s {FCMP,FCMPE} d_#0.0, s_#0.0
13830dc : Implement all remaining FP compare instructions: {FCMEQ,FCMGE,FCMGT,FACGE,FACGT} d_d_d, s_s_s {FCMEQ,FCMGE,FCMGT,FACGE,FACGT} d_d_#0.0, s_s_#0.0 {FCMEQ,FCMGE,FCMGT,FACGE,FACGT} 2d_2d_#0.0, 4s_4s_#0.0, 2s_2s_#0.0 {FCCMP,FCCMPE} s_s, d_d
7db5774 : Revert accidental checkin for
45ee036 : Fix undefined behaviours when shifting. Found by libubsan.
5381b42 : There must be at least one element in a VLA. Found by libubsan.
e6c3b43 : Fix debug output of aspacemgr The list of segnames was shown with a seq nr, while each segment was referencing its segname with an offset. The patch ensures that at all places, both the seq nr and the offset is output
737576d : Update.
ccc9bb8 : Update to track v4l2 API for kernel version 3.19 changes. Patch from Hans Verkuil ( Fixes #343069.
f6f25a5 : Add wrapper support for I2C_SMBUS ioctls. Patch from Fixes #342603.
0b6d266 : Enable sys_mbind, sys_get_mempolicy, sys_set_mempolicy on arm64-linux. Patch from Hideaki Kimura ( Fixes #342038.
6d5985e : Enable FCVTMU Xd,Sn. Fixes #343332.
8d47a61 : Allow the user to specify precise-exception behaviour for translations made from file-backed mappings (AOT code, basically) that is different from the default behaviour as specified by --vex-iropt-register-updates.
ca2c3c7 : Make a very minor change to the LibVEX_Translate interface (sub-arg of needs_self_check) which allows VEX's user to selectively override, on a per-translation basis, the default precise-exception control setting that is specified in VexControl::iropt_register_updates. Fix up plumbing inside iropt so as to used passed-in values rather than the default one.
782be4c : valgrind part to VEX:3083 Fix bugzilla 343802, also extend testcase
18bf154 : Fix bug 343802. We need to handle one more special case in the spechelper
13e3f1b : Fix some inconsistent uses of the VG_XACT_CLO macro, by putting an empty then-body after the condition rather than merely ";", which is confusing and is inconsistent with the rest of the arg handling code. No functional change.
66a5e81 : guest_amd64_spechelper: * add spec rules for B and NB after SUBB * number (in comments) some existing cases.
094b991 : Followup to r14901 (vectorising memcmp): use SizeT instead of Addr where appropriate.
c166ad7 : Remove unneeded code. VG_(extend_stack) checks whether the given address is covered by the stack.
11e20f7 : Vectorise the memcmp template implementation. For scenarios requiring a lot of memcmp-ing (firefox reftests) this is measurably faster.
c8ca773 : dis_VMASKMOV: create per-lane transfer/no-transfer guard expressions that are more Memcheck-friendly. No functional change.
7f39461 : Update list of open bugs, and classify them by area.
dc1757e : PTRACE_GETREGS might not be detected on some distro, due to a missing #include in the configure test.
95af4ce : Replace the SegName array with a simple string table. The validity of this change follows from the following observations:
a0d557c : Remove confusing function attribute. The function is always used (on all platforms).
cb320e0 : Fix an incorrect comment. Add asserts.
75ba130 : Fix hwcaps validity checking for x86. Capabilities x86-mmxext-sse1-sse2-sse3-lzcnt were rejected as invalid.
3f489e2 : Update.
d8a2bcb : ppIRStoreG: print braces around guarded section, so as to be more consistent with other guarded-IR printing. No functional change.
f01eaf2 : Add test cases for AVX-1 conditional vector stores: VMASKMOVP{D,S} xmm/ymm to memory. Pertains to #335785.
40ad9b3 : Implement AVX-1 conditional vector stores: VMASKMOVP{D,S} xmm/ymm to memory. Fixes #335785.
44e5376 : Add test cases for VPMASKMOV{D,Q} xmm/ymm to memory.
6f1ec58 : Use IR conditional stores (IRStoreG) to implement AVX-2 conditional vector stores, VPMASKMOV{D,Q} xmm/ymm to memory.
e357c67 : Change AMD64Instr_CMov64 so that the source can only be a register instead of register-or-memory (an AMD64RM). This avoids duplicating conditional load functionality introduced in r3075 via AMD64Instr_CLoad and in practice has no effect on the quality of the generated code.
bdea550 : AMD64 front end: translate AVX2 PMASKMOV load instructions (vector conditional loads) using IR conditional load statements IRLoadG rather than the previous rather ingenious hack.
be9d235 : Handle new value ILGop_Ident64 in enum type IRLoadGOp. This tracks vex r3074.
802bbae : Add ILGop_Ident64 to enum type IRLoadGOp so as to make it possible to represent 64 bit conditional loads in IR.
bcf1d7f : Remove unused field from NSegment structure.
f6fcad7 : OS X 10.10: Fix incorrect check for presence of unsupported MACH_SEND_TRAILER in mach_msg. Partial fix for BZ #343306.
1e123e1 : Darwin14.supp should include suppression for known deliberate memory leak in setenv(). Per BZ #343303.
bfe3813 : Partial fix for bz339745. Mac OS: Further progress worker queue thread support. Additional magic constants have been checked against OS X 10.9 and 10.10
dea1edf : Followup to r14886. So it turned out that in m_addrinfo we were already strduping the filename which I failed to spot. Thanks to Philippe for pointing that out.
d3166c4 : VG_(am_get_filename) returns a pointer to memory that belongs to the address space manager. Callers should neither modify the string nor free it (as the string resides is statically allocated memory). That calls for a const HChar * The type change exposed two bugs. One in m_addrinfo.c and one in m_debuginfo.c. In both cases the returned string could possibly be freed later on. So we need to strdup it first. Now fixed.
67d4603 : Move comments next to the function prototypes they describe. No functional change.
3c9f186 : Add function attributes.
98a4007 : Write proper wrappers for ioctls ION_IOC_ALLOC, ION_IOC_MAP and ION_IOC_IMPORT, and add a wrapper for SYNC_IOC_MERGE.
79459e3 : Fix an assert. Unbreak build on 32-bit platforms.
d749c7a : Add an assert to check that we're getting the expected alignment.
7af930d : Minor tweaks: - update a few boundary checks - eliminate a loop - remove a redundant assert
50a3408 : Add even more built-in functions for ICC. Patch by Gregory Czajkowski <> Part of fixing BZ #339542.
d0d3ad9 : Initial trawl through bugs from 22 Nov 2014 to 20 Jan 2015.
c3344a2 : Import the list of bugs fixed in 3.10.1 (apparently never copied into the trunk's NEWS file) and remove duplicates.
2494d38 : Pull in bugs opened after 22 Nov 2014.
d56b7e2 : Add some parentheses to keep gcc 5 (prerelease) from complaining. No functional change.
9d7592e : Handle the memfd_create system call.
923a81c : Add more built-in functions for ICC. Patch by Gregory Czajkowski <> Part of fixing BZ #339542.
4aeca4f : Retroactive NEWS update for r14859, r14860 and r14861
5f1aeb6 : Export VG_(discard_tranalsations_safely) to the tools. It is only allowed to be called in certain contexts which is enforced at runtime. Change callgrind accordingly. New header file pub_tool_transtab.h added.
a9176d9 : BZ #342795 Internal glibc __GI_mempcpy call should be intercepted.
d6c84f5 : Add to svn ignore auxprogs/getoff-*-darwin files created on OS X. The equivalent files are ignored from other architectures in this folder. Simple change, no-BZ.
a3f4b96 : Add to svn ignore gdbserver_tests/*.dSYM intermediate files created on OS X. These files are ignored in all other sub folders where created. Simple change, no-BZ.
5f8ced8 : Track VEX r3063 (function prototype change).
7ce2cc8 : The size of an event check never depends on the endianess of the host. Remove parameter.
a1ec2a3 : Remove superfluous function call.
1b14466 : Re-enable building of manythreads and thread-exits tests. Patch and discussion per BZ #341613.
fe16bcd : Darwin13.supp should include suppression for known uninitialised read in pthread_rwlock_init() as required to pass the memcheck/tests/darwin/pth-supp test. Patch and discussion per BZ #339780.
138aadf : Darwin13.supp should include suppression for known deliberate memory leak in setenv(). Patch and discussion per BZ #339755.
d219029 : Comment only changes.
2322360 : Clean up a few leftovers from the AIX port which no longer exists.
82b9285 : Add VG_(gettimeofday) such that callgrind can use it without a bloody hack.
04df7f2 : Callgrind: fix BB discarding
93a0974 : Remove the definitons of Ptr_to_ULong and ULong_to_Ptr. A cast to Addr replaces the former and the latter wasn't used.
204197a : When creating a log-file (xml or otherwise) give everybody read permission. Previously, only user could read which was incovenient for some typical workflows. Suggested in BZ #339542.
044514a : Add command line option --max-connect=INT to allow the user to provide an upper bound for the number of connected processes. Part of fixing BZ #337869.
a672d19 : The following two lines of code always convert the 64-bit pointer to a 32-bit pointer.
28120d6 : Fix a typo.
471d006 : Fix assert vex: priv/guest_generic_bb_to_IR.c:224 (bb_to_IR): Assertion `vex_control.guest_max_insns < 100' failed. caused by giving --vex-guest-max-insns=100 100 should be allowed as described by --help-debug: --vex-guest-max-insns=<1..100> [50]
4047e01 : Fixed missing ULL on constants per compiler warnings:
2a97c63 : Small doc improvement: make more clear that --show-leak-kinds and --errors-for-leak-kinds have an effect only for a full leak search.
31556c3 : Fix compiler detection for ICC. Patch by Gregory Czajkowski ( Part of fixing BZ #339542.
44a1471 : Fix an incorrect truncation of an address value to 32 bits. Never heard anyone complain about it, so probably a rare case.
5f9116d : Avoid warning on Addr sp, unused on some platforms (e.g. ppc32)
754f1ad : Fix so it works for builds configured with --enable-only32bit.
6efd485 : Fix a compiler warning about an incompatible format. Shows up on 32-bit builds only.
4769c3c : * Remove useless typedef and uses of Addr32 and Addr64, just use Addr * uses correct filename in "dying here #ifdef" * small reformat
ddd61ff : Change most remaining use of Addr64 in coregrind and the tools to Addr. Tracking VEX r3056.
bdf99f0 : Change remaining use of Addr64 in the VEX API to Addr. The reduces the size of VexGuestExtent to 20 bytes on a 32-bit platform. Change prototypes of x86g_dirtyhelper_loadF80le and x86g_dirtyhelper_storeF80le to give the address in the parameter list type Addr. Likewise for amd64g_dirtyhelper_loadF80le and amd64g_dirtyhelper_storeF80le. Update switchback.c - but not tested.
5196c3e : TyEnt::TyStOrUn::fieldRs is never NULL as VG_(newXA) always returns something != NULL. Testing fieldRs for NULL-ness was confusing static analysis. It usually takes such tests as evidence that the pointer can in fact be NULL and may report false positives as a consequence.
f466eef : Track the IMark changes in VEX r3055.
dcd6d23 : Change the IMark statement. The address is now type Addr and the length is unsigned.
8e2d971 : The length of a disassemnled insn is always positive. Make DisResult::len an UInt.
0eaa35f : Give DisResult::continueAt Addr type.
2d4ba29 : Track VEX r3052 (VexTranslateArgs::guest_bytes_addr is an Addr value). There is more to tidy up here -- but that's for anoher day.
d4cc0de : Make VexTranslateArgs::guest_bytes_addr an Addr value. Fix ripple.
255f534 : Remove -Wcast-qual as it is already being added by
43cc179 : Synch compiler flags with those in valgrind's Add -std=gnu99.
b9da1b9 : Add -std=gnu99 to the list of compile flags. Remove -Wno-long-long as it is no longer needed. long long is part of C99.
9b3da11 : The definition of type Addr has moved to VEX and the resteer callback has changed (VEX r3050). Track those changes.
beac530 : It has long been assumed that host and guest architectures are the same - even though the initial design goal was likely different allowing a cross-valgrind of sorts. But as Julian put it: But it's been 12+ years and I've never once heard any mention of such a thing. So perhaps it's time to give up on that one.
d65f726 : Import offsetof and vg_alignof from VEX (tracking VEX r3049).
a0ef1de : As a library, VEX should not export the offsetof and vg_alignof macros. The latter isn't even used by VEX. Move them to pub_tool_basics.h. offsetof also goes to VEX's private header main_util.h.
fba8dd7 : Add a command line option to allow the user to provide an upper bound for the number of connected processes. This is still lame but better than asking her to recompile. Part of fixing BZ #337869.
9190bef : Add a missing header file.
09b54fb : Change a logging function to use SizeT (tracking VEX r3047).
04fc6b1 : Change a few prototypes to use SizeT. Also, offsetof returns a SizeT value.
af93042 : Move definition of type SizeT to VEX (see VEX r3046). Enhance printeffery to print SizeT values.
c66ba65 : Add type SizeT (moved here from valgrind's pub_tool_basics.h). Enhance vprintf_wrk to print such values (%zu, %zx, %zX).
90a7073 : Fix 342221 - socket connect produce false positive saying access to uninitialized memory area
44bd446 : Remove the type AddrH. The code assumes in many places that the host and guest architecture are the same. So the type is really pointless nowadays.
d0da968 : Fix 341539 VG_(describe_addr) should not describe address as belonging to client segment if it is past the heap end
f5300ff : Avoid spurious warnings about white space following a backslash in a line splice.
dc36943 : Remove a few dead assignments.
7822f63 : Fix a few casts. A void * cannot be used to initialise a function pointer.
e1aff6d : Elimnate two magic constants.
8a45a4e : Audit a buffer.
5cbcd62 : Fix a typo, introduced when fixing a typo.
be314cf : Fix typo
345affe : Follow up to rev 14823: make errors when reporting command line non critical (as e.g. cmdline reporting is not available on MacOS)
8bf9f36 : 342063 wrong format specifier for test mcblocklistsearch in gdbserver_tests Patch from Ivo Raisr.
f44ff62 : Buffer audit. Resize some.
7b7d594 : Buffer audit. Resize a few.
b7742ab : Fix a buffer overflow (in case read had returned 1000). Write out the whole command line.
8bea091 : This commit fixes a redundant #if defined line. The define VG_PLAT_USES_PPCTOC is only true for PPC64 big endian, do not need to quailify the #if statement condition of VG_PLAT_USES_PPCTOC with !VGP_ppc64le_linux.
c8d064a : Fix 341789 - aarch64: shmat fails with valgrind on ARMv8 arm64, like amd64, must not use VKI_IPC_64, even if this symbol is defined. This makes the shmctl fail, which results in a zero size returned, which means that the succesful shmat is not reported to the aspacemgr.
c505820 : Remove two fixed-size buffers in the dwarf readers.
35ef415 : Join two #ifdefs, eliminating one.
1672a24 : For s390 use symbolic register names.
602b8f7 : Avoid compiler warnings on s390x.
205a42f : Comment change. Function vg_panic does not exist.
8e78577 : Fix 197259 Unsupported arch_prtctl PR_SET_GS option (valgrind side). In summary: we were counting somewhat on the luck for FS, we now similarly count on luch for GS See VEX commit log r3043 for more details.
e2cc4de : Fix 197259 Unsupported arch_prtctl PR_SET_GS option
f4384f4 : Simplify the VG_(get_filename_linenum) interface by removing the dirname_available parameter. It's redundant. The value of the returned directory name can be tested instead.
0e68012 : Add a clarifying comment.
6c32a3a : Remove duplicate command line option.
56fc5ff : Update tracking the file removal in VEX r3042.
5665ca3 : Remove quote.txt and newline.txt as they are no longer needed. Once upon a time those files were used to construct a header file vex_svnversion.h but that more hassle than it was worth and eventually it got nuked.
e554042 : Tweak a format specifier. Remove a redundant assert.
cacba8e : More constification.
29582f8 : Remove callgrind's percentify and commify functions as well as the assorted buffers that go with them. Part of fixing BZ #337869.
90c7732 : Enhance the "Author" section of the manpage as suggested in BZ #226609.
866862a : Fix BZ #116002. Left justification of strings in myvprintf_str was mixed up. Now fixed and %s formats changed accordingly. In function myvprintf_int64: the local buffer was not large enough to hold ULONG_MAX in binary notation. Numbers were truncated at 39 digits. Testcases added.
b0d3aa9 : reach_thread_register cannot be compiled on Mac OS as Mac OS had no pthread barrier. (the protects this with a if HAVE_PTHREAD_BARRIER) But the test should then be protected with a prereq that the executable exists. (analysis and fix suggestion by rhyskidd, part of fixing 341613)
227a1ec : Add limited support for printing floating point numbers to VG_(debugLog_vprintf). Remove function VG_(percentify) and fix up its call sites (part of fixing BZ #337869. Allow the width in a format specification to be '*', i.e. the width is given as an additional function argument.
404c0c7 : Update detection of tool-chain support for MPX insns to better work for older assemblers. Pertains to BZ #339542.
d1b8312 : Remove some debugging code that was accidentally checked in in r3038
f3652c9 : Today this is what happens when we encounter hwcaps we cannot handle:
eebdb2b : New function vfatal which should be used for user messages to indicate a situation that can legitimately occur but that we cannot handle today. The function does not return.
a5dc2fd : Update expected output for none/tests/darwin/access_extended. Fixes #341615. (Rhys Kidd,
a35a6db : Fix incorrect implementation of AESKEYGENASSIST in the case where the two registers are the same. Fixes #341698.
9f07e86 : Update x86 decoder as per advise from Julian.
732fb4e : Detect presence of sse3 instructions on x86. Set VEX_HWCAPS_X86_SSE3 accordingly. This came about by grepping the source for VEX_HWCAPS_X86_SSE3 and observing that the flag was tested for (in VEX) but not set.
92b33b5 : Announce, that the long displacement facility is noq required for s390x. Update minimum machine model. See also VEX r3034.
dc6e747 : The long displacement facility is now required. There were a few spots in the code where this was assumed implicitly. Ugly fixes were possible, but requiring this facility is not unreasonable as it has been around sind 2003. So let's just do this.
3eb7bab : Export s390_host_hwcaps in LibVEX_Translate, so we can use it in are_valid_hwcaps.
611fd68 : Remove fixed size arrays in the dwarf-3 parser. Use proper initialisation functions for the type and variable parser. Add functions to release the dynamically allocated functions. No longer maintain content of popped-off stack entries as that is essentially freed memory and complicates matters unnecessarily. Part of fixing BZ #337869.
5f9db7f : Eliminate fixed size buffer 'the_CIEs' and allocate it dynamically. Part of fixing BZ #337869.
49adf86 : Add a few more asserts. Fix a function prototype.
fb59660 : DFP insns should cause an emulation failure if the host cannot execute them. Previously, they caused a failing assertion which was incorrect.
ad00ea9 : Encountering a PFPO insn in a client program while running on a host that does not have that insn now causes an emulation error. Previously, it caused a failing assertion which was incorrect.
5313495 : Update test result following VEX r3029.
2a4de0b : Fix some verbiage.
26a790a : Add -Wformat -Wformat-security to the list of compile flags. This was not as straight forward as expected. Specifically, adding the new flag to CFLAGS in did not work and was causing compiler warnings. For instance, compiling memcheck/tests/execve2.c will generate a -Wnonnull warning even though the testcase is explicitly compiled with -Wno-nonnull. The reason is that (a) -Wformat is implied by -Wnonnull and (b) the list of compiler flags gets assembled in the wrong order. The culprit appears to be that we modify CFLAGS in and that really is not the right place. Conceptually, configure should determine tool-chain capabilities and not assemble compiler flags. That should be done in Makefiles. This patch entangles all this.
033e7a6 : Add script. Comes in handy when messing with the build system to make sure no compiler flags get lost (as they did at some point in the past).
9af04c4 : Fix a few VG_(message) invocations. The function does not add a newline character under the covers.
5b99e66 : Fix BZ 334802. Patch by Mark Wielaard with a few mods to make it apply. r14794 is related as well. Also: remove -Wno-format-zero-length from compile options.
f34ee4e : Fix up the error processing in VG_(expand_file_name). E.g. giving --log-file= on the command line results in the following error:
465adfd : Add an early-clobber constraint. Otherwise, it will segfault when compiled with gcc 4.9.2
1e407cc : mips64: add test cases for Cavium BBIT032 and BBIT132
166d645 : mips64: add support for Cavium BBIT032 and BBIT132
b527a5b : Bug 341238. Recognize GCC5/DWARFv5 DW_LANG constants Go, C11, C++11, C++14.
5204838 : drd: Add a consistency check
62cf41c : Add a file tracking the 3.10.x merge status.
593ab85 : Update.
9e1c2b0 : Implement FRINTI d_d, s_s.
d0d42bf : Add test cases for RORV x_x_x, w_w_w.
ca95f2d : Implement RORV x_x_x, w_w_w
a9e7d88 : Add test cases for CLS x_x, w_w.
928540c : Implement CLS x_x, w_w
39b5168 : arm64: implement "BRK #imm16".
b262ff4 : Back out r14781, which was unintended.
60c1085 : arm64: implement "BRK #imm16".
03ba835 : Change the testcase to not depend on the type of 'this' in the output. GCC 4.9.2 and GCC 4.8.x have different opinions about that variable's type.
f7ec77f : Change pub_tool_addrinfo.h AddrInfo and VG_(describe_addr) so as to describe anonymous or file mmap-ed segments and shared memory segments.
0b41f32 : As the BEAM checker correctly points out, the conditions on lines 430 and 485 are always false. I'm keeping them as assertions for documentation purposes. The proof is left as exercise to the reader. Hint: use conditions on lines 307 and 311 and the fact that old_len and old_arg are both unsigned entities.
e7f9aa4 : Enable sys_flock on arm64-linux.
74d2d78 : Announce fix for BZ #269360.
406ac94 : Add function s390_isel_amode_b12_b20 to compile an expression into an amode that is either S390_AMODE_B12 or S390_AMODE_B20. This is needed for compare-and-swap insns. As we're currently not generating amodes using an index register, there was never a problem. This change future-proofs the code. Also add a few more asserts for amodes in the s390_insns supporting translation chaining. Fixes BZ #269360.
0e8ace0 : Update.
608e560 : Remove dead code.
4687eb3 : This change was triggered by BZ #247974 which suggested to include VEX/test_main.* in the tarball. We don't want to do that because those files are really just scaffolding for developers to play with and not meant for general consumption (and are also bitrotting ATM). Therefore, this patch moves them to the "useful" subdirectory and adds a crude Makefile there to build the executable. Makefile-gcc updated accordingly.
266d596 : arm64: enable FCVT{A,N}S X,S.
f837aa7 : isBogusAtom: handle missing case Ico_F32.
1aff76b : Implement {S,U}CVTF (scalar, fixedpt).
8974835 : Update mysteriously out-of-date fp_and_simd.stdout.exp.
807d35f : Add test cases for {S,U}CVTF fixedpt-to-fp.
8167a03 : Fix typos in a comment
a9e964d : Add test cases for VFPv4 VFNMA, VFNMS added in vex r2995. Pertains to #340807.
d6d13b3 : Implement VFPv4 VFNMA, VFNMS d_d and s_s variants (not that there are any other variants). Fixes #340807.
6515df2 : Add a lot more intercepts. Very crude. I am sure this is merely hiding a whole bunch of problems in the Darwin syscall wrappers. In particular it suppresses all invalid address errors arising from AppleIntelHD4000GraphicsGLDriver.dylib, as it appears that maps hardware into user space and aspacemgr doesn't know anything about it.
a95abea : OSX 10.10: intercept memchr in libsystem_platform.dylib.
d0ac7f8 : Fix up the wrapper for getdirentries64 a bit so as to avoid false positives from it. Unfortunately I can't tell why this was happening.
3540ee8 : Use unsigned long int instead of unsigned long long int on LP64 platforms. This avoids warnings when compiling with -pedantic. Fixes BZ #211926.
bdd8556 : Announce fix of BZ #155125. As of r14685 I think. Add testcase.
b963eef : Fix stupid bug introduced in r2993, which causes many simple scalar floating point instructions to ignore their operands and return zero. Sigh.
44d8ec9 : Enable test cases for r2993, viz: FADDP s_2s, d_2d FADDP 2d_2d_2d, 4s_4s_4s, 2s_2s_2s FMAX d_d, s_s FMIN d_d, s_s FMAXNM d_d, s_s (not really correct) FMINNM d_d, s_s (not really correct)
76927e6 : Implement arm64 insns: ADDP s_2s, d_2d FADDP 2d_2d_2d, 4s_4s_4s, 2s_2s_2s FMAX d_d, s_s FMIN d_d, s_s FMAXNM d_d, s_s (not really correct) FMINNM d_d, s_s (not really correct) FCVT{A,N}S W,D
ef901ff : Comment only changes.
0728a52 : Implement "fcvtpu w, s". n-i-bz.
d42615a : Add test cases for all remaining AArch64 ARMv8 SIMD and FP instructions.
e23ec11 : Implement fcsel d_d, s_s. Fixes #340856.
2b42365 : Add even more suppressions for Yosemite.
8c1882c : * add a logging mechanism to show repeated messages at exponentially declining rates, so as to reduce the amount of junk spewed out by the various support functions for the MacOS syscall wrappers.
77dec3a : Pass buffer size to VG_(elapsed_wallclock_time) so the function can check it's large enough.
3130eab : Minor non-functional cleanups.
7e9ba9e : m_compiler.c was added to noinst_HEADERS but should of course be added to COREGRIND_SOURCES_COMMON. Now fixed.
7966007 : Implement missing heap-intercept function "dh_malloc_usable_size".
7338295 : Audit two buffer sizes.
e08950b : Merge revisions 14445 and 14446 from the BUF_REMOVAL branch to trunk. Two things: - remove the buffer argument from VG_(DebugInfo_sect_kind) - allocate AddrInfo::SectKind::objname dynamically
7534dd8 : * add syscall wrappers for some new OSX 10.10 specific calls necp_match_policy sysctlbyname getattrlistbulk (kludged)
a04d66e : Update suppressions for OSX 10.10.
d2c19b4 : Add detection of old ppc32 magic instructions from bug 278808.
002afc5 : Bug 340922 arm64: unhandled getgroups/setgroups syscalls.
8948817 : Follow up 14714: use a real malloc cost centre instead of an empty string
7b3d356 : Implement Option --error-markers=<begin>,<end>
cc9480f : Merge r14340,14346-14348,14352,14354-14355 from the BUF_REMOVAL branch to trunk. Convert callgrind to use VG_(fprintf).
e3a10d7 : Add a nasty temporary kludge to CPUID that allows 64-bit MacOSX 10.10 (Yosemite) to run, until such time as XSAVE and XRSTOR are implemented. Detailed in the comments. All other targets should be unaffected.
3c02a92 : Interceot _platform_strncmp also on OSX 10.10.
b113279 : PRE(mach_msg) on OSX 10.10 64-bit: replace failing assertion vg_assert(! (mh->msgh_bits & MACH_SEND_TRAILER)); with a warning message, but let it continue.
fb1c5a3 : Remove unneeded macro definition.
e636671 : Add support for the getrandom system call. BZ#340788.
204ed94 : MacOSX 10.10: Resolve "UNKNOWN attrlist flags 0:0x10000000. Fixes #340722. Patch from Rhys Kidd (
25148a6 : Fix a bug spotted by IBM's BEAM checker in VG_(describe_IP). In the non-XML part buf_dirname was read without observing the know_dirinfo guard. Now fixed. Initialise buf_dirname nevertheless. Also remove a dead assignment.
87c8abb : Change VG_(mkstemp) such that (a) the 2nd argument must not be NULL This was true anyhow and requiring it allows us to simplify the function by eliminating the local buffer. (b) the memory pointed to by the 2nd argument is always initialised In the past the output file name was not initialised in case VG_(open) failed 10 times in a row. The call sites in m_main.c and m_gdbserver/target.c were reading the uninitialised filename unconditionally. This was spotted by IBM's BEAM checker. Fix call sites, eliminate some magic constants along the way.
5274f80 : Update system call lists.
b314d10 : Comment only changes. * Clarify in the dedup pool comments that all bytes of elements are compared. * pub_core_options.h : remove old/misplaced comment for clo_trace_children and replace by a more clear comment (matching the --help)
07ab40d : Fix incorrect decoding of AVX2 insns: VPBROADCASTB xmm, xmm VPBROADCASTB xmm, ymm VPBROADCASTW xmm, xmm VPBROADCASTW xmm, ymm Fixes #340725.
312bcb1 : Add some Mac OSX 10.10 specific wrappers.
1889f77 : Enable suppressions for zlib false positives on OSX 10.10.
79143f4 : Add a no-op wrapper for a new-in-10.10 syscall: getattrlistbulk
48b1cf1 : Merge revisions 14366 and 14367 from the BUF_REMOVAL branch to trunk. In function dump_state_togdb use VG_(gdb_printf) directly. No need to write to a buffer first.
5ee42a4 : Merge revisions 14344 and 14345 from the BUF_REMOVAL branch to trunk. Basically: CLG_(sprint_eventmapping) --> CLG_(eventmapping_as_string) CLG_(sprint_mappingcost) --> CLG_(mappingcost_as_string) The new functions return the string in a dynamically allocated buffer that caller ought to free.
eac59d4 : Adds initial support for new syscalls on MacOS X 10.10, including new syscall numbers, and dummy wrappers for bsdthread_ctl and sysctlbyname. Mash up of patches from and Rhys Kidd ( Part of bug 339045.
e95d03f : On MacOS X 10.10, when postprocessing tool executables, set the SVMA of __PAGEZERO to zero. Without this, the 10.10 kernel refuses to start these executables. Based on investigations and a proof-of-concept implementation by Rhys Kidd ( Part of bug 339045.
d1678e0 : On MacOS X 10.10, provide a dummy definition for voucher_mach_msg_set. Not sure why this is necessary, but without it, the tool executables don't link. Part of bug 339045.
ac3afbd : Build system changes to enable building on MacOS X 10.10 (Yosemite). See bug 339045. Part of a patch from
0da1259 : Fix symbol name typo (correct: DARWIN_VERS wrong: DARWIN_VERSION).
30e866e : Compile (arm). Fix typo from r14664
c0f4359 : Back out the darwin-specific part of r14683, since darwin doesn't appear to have SHM_HUGETLB, and it causes build failures.
e6460fa : Unmask all signals in vgdb, as the process that launches vgdb might have masked some.
26ed419 : Adds initial support for AArch64 (arm64) on Android. Small programs (/system/bin/ls, /system/bin/date) run. Still to do:
f278222 : PRE(sys_openat): when checking whether ARG1 == VKI_AT_FDCWD, be sure only to check the lowest 32 bits, since that arg is a file descriptor -- hence "int" -- and checking all 64 bits fails unexpectedly if ARG1 and VKI_AT_FDCWD are not both zero- or sign- extended.
af163af : Bug 340632 arm64: unhandled instruction fcvtas
c871940 : Bug 340632 arm64: unhandled instruction fcvtas
29eaa01 : Merge r14339 from BUF_REMOVAL branch to trunk. Prepare print_file function to be converted to use VG_(fprintf). Basically get rid of arithmetic involving the output buffer.
4895caf : Bug 340630 arm64: fchmod (52) and fchown (55) syscalls not recognized.
770a8d2 : Merge r14308 from the BUF_REMOVAL branch to trunk Changes VG_(describe_IP) to return the untruncated result in a statically allocated local buffer. Fix call sites and update two .exp files who had truncated names.
7d8e0a8 : Add tests for all SIMD FP instructions, except int<->fp conversions.
1399481 : fix 338995 shmat with hugepages (SHM_HUGETLB) fails with EINVAL
98d6b25 : Fix 333051 mmap of huge pages fails due to incorrect alignment
31cf666 : Rearrange the test case generators to be exactly in the same order that they are called, so as to make future editing easier. And generally tidy up. No functional change.
d185c23 : Update.
7198225 : Add test cases and expected outputs for FMLA 2d_2d_d[], 4s_4s_s[], 2s_2s_s[] FMLS 2d_2d_d[], 4s_4s_s[], 2s_2s_s[] PRFM (immediate)
2584255 : Handle all DSB/DMB/ISB variants. Fixes #340033.
5b924c8 : Implement PRFM (immediate). Fixes #335713.
f67fcb9 : Implement FCVTAS W_S and FCVTAU W_S. Fixes #340509.
12d2eb5 : Merge revisions 14222, 14268, and 14270 from the BUF_REMOVAL branch to trunk. Assorted fixes in exp-bbv to eliminate a few buffers. Implement a suggestion found in the massif source, namely to add the equivalent of fprintf to m_libcprint. Good suggestion. Thusly - VgFile: similar to FILE; buffered output, 8k buffer - VG_(fopen): similar to fopen, but with arguments as in VG_(open) - VG_(fprintf) and VG_(vfprintf): like [v]fprintf with VgFile 1at argument - VG_(fclose) Change massif, exp-bbv and cachegrind to use this functionality.
d0e5e53 : Implement FMLA 2d_2d_d[], 4s_4s_s[], 2s_2s_s[] FMLS 2d_2d_d[], 4s_4s_s[], 2s_2s_s[] Fixes #339938 and its dup, #339950.
31b29af : Implement fcvtmu x_d. Fixes #339927.
d8ad76a : Implement frintx d_d and s_s. Fixes #339926.
d29f36d : Bug 340236 - 4 unhandled syscalls on aarch64/arm64: mknodat (33), fchdir (50), chroot (51), fchownat (54) Patch from Miroslav Franc (
4f2f313 : Bug 340028 - unhandled syscalls for arm64 (msync, pread64, setreuid and setregid) Patch from
d379e96 : Bug 339940 - (arm64/aarch64) unhandled syscall: 83 (sys_fdatasync) + patch Patch from David Abdurachmanov <>
4e94bda : Configury and Makefile tweaks to support compilation with Intel's ICC Compiler. Patch mostly by Gregory Czajkowski <>. Fixes BZ #339542.
23872f6 : Tweak to allow the use of this Makefile with the ICC compiler. Patch by Gregory Czajkowski <>. Related to BZ #339542.
60637d2 : New file m_compiler.c Provides implementations of __builtin_popcount/clz/ctz which some older GCCs do not provide.
b28fe89 : Merge revision 14309 from BUF_REMOVAL branch to trunk. Eliminates a fixed size buffer in helgrind. Instead of building up a string in a buffer and then writing the string to stdout can as well write to stdout directly.
5980e9d : When traversing VG_(args_for_client) there is no need to check the array element for NULL. Function VG_(split_up_argv), which sets up that array, ensures that no element is NULL.
a914c04 : Fix some grammatical weirness which was reported in BZ #340430.
2e234a6 : Merge revisions 14356-14358 from the BUF_REMOVAL branch to trunk. Rewrite cg_merge.c to avoid fixed size arrays.
10ef725 : Merge revisions 14255, 14293, and 14294 from the BUF_REMOVAL branch to trunk. The functions VG_(get_filename) and VG_(get_filename_lineno) now return a pointer to filename and directory name instead of copying them into buffers passed in from the caller. The returned strings are persistent as long as the DebugInfo to which they belong is not discarded. The caller therefore needs to stash them away as needed. Function VG_(strncpy_safely) has been removed as it is no longer needed.
f45e93c : Enable test cases for
bed9f68 : * add a missing extra m-reg check for some LD/ST vector cases
536e3d7 : Merge r14289 from the BUF_REMOVAL branch to trunk. Change CLG_(get_debug_info) to not build up an absolute pathname in its 'file' parameter. Instead give it an additional parameter to hold the directory name. Callers can then build up the absolute pathname if needed. This change will come in handy soonish when VG_(get_filename_lineno) will be changed and those buffers will disappear. The change has a bit of ripple to get_fn_node_inseg and CLG_(get_file_node).
6c67c50 : Merge r14288 from the BUF_REMOVAL branch to trunk. What it does it changing cachegrind's get_debug_info function such that it no longer builds up an absolute pathname. Instead the function get an additional parameter for the directory name and the absolute pathname is built when it is needed. This will come in handy soonish when VG_(get_filename_lineno) will be changed and those buffers will disappear.
75d774c : Companion patch of valgrind r14664.
46cc045 : Merge r14202 from the BUF_REMOVAL branch to trunk. This patch changes the interface and behaviour of VG_(demangle) and VG_(maybe_Z_demangle). Instead of copying the demangled name into a fixed sized buffer that is passed in from the caller (HChar *buf, Int n_buf), the demangling functions will now return a pointer to the full-length demangled name (HChar **result). It is the caller's responsiblilty to make a copy if needed.
bac051c : Use AC_GCC_WARNING_COND to figure out whether the compiler supports -Wcast-qual.
2f87090 : Add --resync-filter to the --help output.
67f7c03 : Darwin only: add a filter mechanism that aims to remove pointless memory-map resync operations. Without the filter, such operations come to dominate the running time of complex apps with thousands of memory segments (eg Firefox) and it becomes unusably slow. With the filter in place, the huge performance loss is mostly avoided.
547f750 : Enable reading of Dwarf2 frame-unwind info on MacOS. It seems as if more recent XCodes rely on it.
3297124 : 2 pints later: more coregrind constification.
4075cbc : Add a bit of casting to avoid a compiler warning following recent const-ification.
74e5e6b : Memove unused macro. Should have been part of r2955.
c15a048 : Followup to r14656. Fix compile problem on Darwin. Patch by Rhys Kidd <>.
518850b : Constify coregrind.
6f40f75 : Constify a variable.
1ef70c6 : Change VG_(allocEltDedupPA) to return a pointer to const. The reason is that once an element has been allocated and added to the pool it must not be modified afterwards. See the documentation in pub_tool_deduppoolalloc.h The rest of the patch is ripple.
208a776 : Implement SIMD (de)interleaving loads/stores: LD1/ST1 (multiple 1-elem structs to/from 1 reg LD2/ST2 (multiple 2-elem structs to/from 2 regs LD3/ST3 (multiple 3-elem structs to/from 3 regs LD4/ST4 (multiple 4-elem structs to/from 4 regs Also: LDNP, STNP (load/store vector pair, non-temporal)
011dafb : Add test cases for all known arm64 load/store instructions.
70a5de1 : Enable -Wcast-qual when compiling the valgrind source. Testcases are not compiled with -Wcast-qual. Introduce CONST_CAST macro to work around in the few spots where a cast that drops type qualifiers is needed.
1ef205b : Change the return type of the replacement function for rawmemchr to match that of glibc's rawmemchr.
2857285 : Change the initialisation of the newly allocated struct sched_lock object. Just memset the whole thing to 0. That avoids a cast that drops type qualifiction.
d327fb1 : Followup to r14646. The symbol TIOCSIG is not necessarily defined, e.g. on s390x with glibc 2.3.4. Modify the testcase to bypass the ioctl call in that case.
6d487c1 : Update list of ignored files.
09041e4 : Rewritten to avoid cast that drops const qualification.
a9ccca3 : Add support for ioctl(fd, TIOCSIG, signal_number) which used to issue a false complaint. Fixes BZ #339706 Source patch by David Herrmann ( Testcase by myself.
d094035 : Fix BZ 339789. /bin/true does not exist on Darwin. Patch by
d3f6f3e : Fix the prerequisite of the none/tests/rlimit64_nofile testcase. Patch by Fixes BZ 339808.
5d00ec6 : Fix some testcases which implicitly assumed that TMPDIR was either not set or set to /tmp This is not always true. Fixes BZ 340115. Patch by
8e3fbb5 : Constify the tool interface.
2fa8a5f : Constify.
ee0d0e9 : Constify m_oset, m_sparsewa, and m_wordfm.
09a4c79 : Change the definition of VgHashTable to not have pointer type. This is (a) consistent with how the other containers are defined and, more importantly, (b) allows the constification of the hash table API.
801c199 : Rewrite print_file_vars such that it does not modify its argument string. Remove an unneeded strdup.
be1036e : Remove some dead code.
644a33a : _thread_suspend: hold on to the lock when suspending some other thread, so as to not deadlock the process.
eb86dda : Add intercepts on MacOS 10.9 for libsystem_c.dylib:strrchr libsystem_platform.dylib:_platform_memmove$VARIANT$Ivybridge
19e2c94 : -Wmissing-enum seems to have arrived at the MacOS builds for some reason, and complains about missing cases in sr_isError, sr_Res, sr_ResHI, sr_Err. Add cases to keep it happy.
82a50bd : Remove unused variable VG_(clo_require_text_symbol).
d6845c6 : di_notify_ACHIEVE_ACCEPT_STATE: before starting to parse the ELF file, truncate overlaps in the DebugInfoMappings that have been collected by the DebugInfo's FSM. Not doing so can confuse ML_(read_elf_debug_info)'s computation of bias values. Observed to be a problem when reading EDIDX sections for objects mangled by Mike Hommey's elfhack program. See
f9d4197 : Enable sys_fadvise64_64 on arm32.
35a82d2 : Merge revisions 14220, 14221, and 15629 from BUF_REMOVAL branch to trunk. Couple of format fixes and FIXMEs for VG_(percentify).
a175ffb : Merge revisions 14210 and 14626 from the BUF_REMOVAL branch to trunk. Change VG_(resolve_filename) to not truncate the result which is returned in a static buffer now. Fix callsites. Simplify VG_(di_notify_pdb_debuginfo) to use VG_(resolve_filename). Fix VG_(readlink) prototype.
cb26cae : Update.
ccfddfb : Inline function definitions must not refer to objects with internal linkage. Remove the INLINE specifier. Related to BZ #339542.
c754e68 : Modify the compiler detection test so as to accept "Apple LLVM version 5.1" (etc) and identify it as a Clang variant. Without that, it gets misidentified as a gcc variant, which causes problems with's that use the derived COMPILER_IS_CLANG conditional.
c4fe430 : Hide .version directives in assembly code on Mac, since XCode doesn't seem to like them. Patch from Rhys Kidd ( Fixes #339688.
76ca27c : Fix the thread-name facility and associated test on Darwin. Patch from Rhys Kidd ( Fixes #339442.
57afaa4 : Bug 339858 arm64 dmb sy not implemented NEWS entry.
f4f25ff : Bug 339858 arm64 recognize dmb sy. Data Memory Barrier full SYstem variant.
48e90fb : Update.
110e0f8 : Change eq_Invar to handle all kinds of InVars. Move an assert to a better spot.
bde3406 : Merge the memory allocation bits from libvex.h into main_util.c. This is to avoid linkage problems due to unresolved symbols for some compilers. See also valgrind r14600 and BZ #339542.
2b9232a : Handle (by ignoring) Imbe_CancelReservation. Detected by Florian Krohm when compiling with -Wswitch-enum.
e14440d : Bug 339855 arm64 unhandled getsid/setsid syscalls.
fd2ac38 : Bug 339853 arm64 times syscall unknown.
85175a7 : This patch makes the needed changes to the lxvw4x for Little Endian. The data was being loaded in the Big Endian data order for most cases. The code in host_ppc_isel.c was changed to do a right shift and to permute the hi and lo registers in the other order to ensure the data was always loaded in BE order. The lxvw4x emulation in guest_ppc_toIR.c was changed to permute the data from the BE order to LE order when running on an LE system.
2293a93 : Forgotten mergeinfo update.
0c89e9b : Merge revisions 14213 and 14612 from the BUF_REMOVAL branch to trunk. The change removes the PATH_MAX limitation from the linux launcher.
d4fbf14 : Use __typeof__.
67ec22c : mips: add a missing break
830ef70 : mips: use putDReg/getDReg for ceil.l.d
d8c64e0 : Constification part 5. Constify ppXXXInstr, getRegUsage_XXXInstr, isMove_XXXInstr, emit_XXXInstr, and iselSB_XXX.
b66ad46 : Use __typeof__ to improve readability and future maintainability.
017c0d5 : Remove unused prototype. Add a fixs390.
af18689 : Add two gnu extensions DW_AT definition and tracing
bb861b5 : follow up to fix for 339721 assertion 'check_sibling == sibling' failed in readdwarf3.c ...
7931627 : Merge revisions 14372 and 14607 from the BUF_REMOVAL branch to trunk. This change makes VG_(clo_suppressions), VG_(clo_fullpath_after), and VG_(clo_req_tsyms) XArrays. They used to be arrays of fixed size.
99de41e : This commit just makes white space changes to the three files in commit r2966 so I can fix the commit message for that commit. The previous commit message was "msg". The "msg" was the file with the commit message below.
5709b83 : Update mergeinfo. r14606 wasn't a proper svn merge. It was just an applied patch.
9877fe5 : msg
3e81b8b : Merge revisions 14230, 14602, and 14604 from the BUF_REMOVAL branch to trunk. The change eliminates the fixed size buffers in gen_suppression and show_used_suppressions. This is achieved by changing the return type from VG_TDICT_CALL(tool_get_extra_suppression_info and VG_TDICT_CALL(tool_print_extra_suppression_use from Bool to SizeT. A return value of 0 indicates that nothing (except the terminating '\0' which is always inserted) was written to the buffer. This corresponds to the previous False return value. A return value which is equal to the buffer size (that was passed in as function argument) indicates that the buffer was not large enough. The caller then resizes the buffer and retries. Otherwise, the buffer was large enough. Regtested with a resize value of 1.
82d9c90 : Indicate the fix for 339721 is only partial
d4636ab : fix 339721 assertion 'check_sibling == sibling' failed in readdwarf3.c ...
dea1603 : Followup to r14600. Copy the contents of pub_core_guest.h to pub_tool_guest.h to make it available to tools. This allows to remove quite a bit of ifdeffery from memcheck's mc_machine.c
de6ffbd : Entangle header files a bit. Specifically, pub_core_basics.h no longer includes libvex.h. It isn't needed to successfully compile pub_core_basics.h standalone and the declarations libvex.h provides aren't used as broadly as the comment in the code implied. Move the guest-specific includes and some ifdeffery to the new file pub_core_guest.h For the curious reader: The change above avoids a problem when linking the linux-launcher which previously included libvex.h indirectly. libvex.h also defines the inline function LibVEX_Alloc which, when emitted, causes the link step to fail due to unresoled references (as the launcher does not link against libvex.a). See also BZ #339542.
99e644a : Use correct tag names in sys_getdents/64 wrappers. Patch by Ivo Raisr ( Fixes BZ #339645
d6b9fcc : The XArray element type of variable "described" is HChar not UChar.
aedb859 : guest_amd64_spechelper: fill in a number of missing cases for conditions after SUBQ/SUBL/SUBW. Also, add cases for Overflow-after-ADDL/SUBL for the benefit of code generated by Javascript JITs.
b979d7a : Add folding rules for: Sar64(x,0) and Sar32(x,0). Immediate shifts by zero seem to have a surprisingly large perf hit on Intels, possibly due to the bizarre eflags/rflags semantics involved.
edccb44 : guest_amd64_spechelper: number (in comments) and reorder the spec cases for arbitrary-condition-after-sub32/sub64. This makes it easier to see which cases are missing. No functional change.
2f088e7 : Merge revisions 14337, 14596 from the BUF_REMOVAL branch to trunk. Change callgrind's init_cmdbuf function to allocate a large enough buffer for the command line.
fed3c04 : Merge six easy pieces from the BUF_REMOVAL branch: r14271 Audit a few buffer sizes, increase one. r14280 Audit buffer size. r14296 Remove a few unneeded header files. r14310 Replace fixed size buffers with a large enough buffers. r14338 Remove a dead assignment in print_bbcs and make global variable print_fd a local variable. r14359 Remove a benign macro redefinition in cachegrind.
94086c7 : Merge revisions 14216,14591,14593 from the BUF_REMOVAL branch to trunk. Chang the semantics of VG_(getgroups) to support querying the number of supplementary group IDs which simplifies obtaining them and gets rid of fixed size buffers.
55fd2eb : Update.
a5682e0 : Add entry to NEWS file for fixed bugzilla 339433
4e303f2 : ppc64: lxvw4x instruction uses four 32-byte loads. When run on an application that does partial loads an error message is generated by valgrind about Invalid read of size 4. Valgrind is incorrectly detecting the invalid read. The four loads were replaced by a single 128-bit load. The invalid read message can now be suppressed using the command line option " --partial-loads-ok=yes ".
5b83063 : Add entry to NEWS file for fixed bugzilla 339182
74054f4 : Merge r14125 from the BUF_REMOVAL branch to trunk. This change eliminates the fixed size buffer in VG_(assert_fail).
c7c92db : Merge revisions 14212 and 14586 from the BUF_REMOVAL branch to trunk. The change eliminates the use of fixed size buffers for path names. There was a comment in the code that dynamic memory allocation could not be used. But that is no longer true. Clean up #includes.
5cdf526 : drd/tests/std_thread2.supp: Add a suppression pattern
ed596b8 : Fix VG_(snprintf) missing arg in inner setup
cf6e734 : Merge r14229 from the BUF_REMOVAL branch to trunk. Function MC_(snprintf_delta) requires a buffer of size 31 or larger to avoid overflow.Add an assert, change and document the buffer size and fix all call sites. Remove magic constants along the way.
3b860fc : Merge r14251 from BUF_REMOVAL branch to trunk. This change eliminates the fixed size buffer when reading /proc/version.
606afa9 : Merge r14209 from BUF_REMOVAL branch to trunk. In VG_(redir_notify_new_DebugInfo) use a large enough buffer allocated on the stack.
7d3ae57 : Merge r14208 from BUF_REMOVAL branch to trunk. In function read_dot_valgrindrc use a large enough buffer allocated on the stack. Also assert that the passed in directory is not NULL. This is true at all call sites. The old code would have attempted to read /.valgrindrc for dir == NULL and I don't think we want that.
29d82f6 : Merge 14206,14207,14261,14577,14578 from BUF_REMOVAL branch to trunk. This changes VG_(record_startup_wd) to dynamically allocate a large enough buffer for the directory name. As the dynamic memory manager has started up a while ago, this is quite safe. Also rewrite VG_(get_startup_wd) to simply return the directory name. No more messing with copying it around. Adapt call sites.
58946e9 : Merge revisions 14203,14574,14575 from the BUF_REMOVAL branch to trunk. This change eliminates the fixed size buffers in VG_(basename) and VG_(dirname).
7e90510 : Remove unneeded header file which does not exist on Darwin. Disable test for darwin as pthread_setname_np is not implemented. But setting and observing the threadname is what this test is all about.
1dade8e : mips64: enable soft-float build of the tests
4110f6a : mips64: run FPU tests only when FPU is available
88cd162 : mips: extend mips_features with a check for FPU
9e431f0 : implement KVM_KVMCLOCK_CTRL. Interestingly, the kernel does not check the parameter. QEMU does pass 0 nevertheless as parameter.
202148c : provide ioctl handlers for KVM_SET_TSS_ADDR. part of bugzilla 339424
dff2041 : Remove unneeded variable.
678ede2 : The function mk_AvDuplicateRI() stores 16 bytes to memory and then fetches the data into a vector register. The load was being generated as a lvewx instead of a lvx instruction by the code:
b5b755f : The testbuckets none/tests/ppc{32,64} did not build in case the toolchain did not support -maltivec -mabi=altivec. This should work now. Fixes BZ #338731
3629f4a : Glibc versions prior to 2.5 do not define PTRACE_GETSIGINFO (determined by Patrick J. LoPresti). Tweak the ifdeffery.
8462d11 : Constification part 4. Constify pointer typed members of VexTanslateArgs. Fix ripple.
3c0c947 : Ripple from constifying parameters of instrumentation functions and callbacks from VexTranslateArgs. See VEX r2958.
0a5494e : Constification part 3. Constify parameters of instrumentation functions and callbacks from VexTranslateArgs.
a5c17c6 : The PPC64 store quad instruction is updating the address register with the effective address of the store. The instruction should not update the address register. The issue is due to the two putIReg() calls at the end of the instruction. The two putIReg() calls were removed to fix the bug.
7d6f81d : Constification part 2. Constify parameters of the LibVEX_Chain/Unchain/PatchProfInc.
a5c9af6 : Adapt LibVEX_Init invocation due to VEX r2955 changes.
9b696ac : Remove the valgrind_support parameter from LibVEX_Init. It's unused and looks like an anachronism. VEX is also cleaner without valgrind things creeping in.
6e468f4 : Fix some comments that were still describing 32Gb as the limit for 'fast' memcheck
7e4f04f : Add missing ]] to terminate CDATA. Missing brackets are causing the man page to contain: ></programlisting>
0b70efa : Constification part 1.
db16f83 : Fix wrong checking of ARG2 of getrlimit (spotted by Florian Krohm/IBM's BEAM checker)
0af05d4 : Handle explicitely all enum values in 'switch' on AddrInfo tag (reported by Florian)
304e8fb : Remove anouncement of helgrind dead in coregrind/m_debuginfo/README.txt as helgrind died many years ago, but resuscitate since then.
2d1f256 : fix 339156 - gdbsrv not called for fatal signal
0f90fe1 : r14319 dropped adding -Wwrite-strings to the compile flags. Add it back in.
8eebf23 : Fix a few casts that dropped type qualifiers. As pointed out by -Wcast-qual.
f09d2a9 : Remove a few useless asserts after memory allocation. The called allocators don't return NULL.
29fa14b : Remove a few pointless asserts because the allocation functions do not return NULL.
f9aa4cb : Enable -Wcast-align globally. Tested on x86-64, s390, and ppc64.
417d737 : Old STABS code is still being compiled, but never used. Remove it.
b68c947 : DRD: Handle Imbe_CancelReservation properly (clrex on ARM)
a419291 : drd/ Add -Wswitch-enum
454bd96 : Prepare NEWS sections for the next release 3.11.0 + add fixed bug 339020 - ppc64: memcheck/tests/ppc64/power_ISA2_05 failing in nightly build in the fixed bugs section.
cd70d49 : Fix type2index. It did not handle decimal floating point types. nameOfTypeIndex likewise.
a57f114 : Valgrind regression test fix for stfdpx instruction.
e74ce2e : Couple of fixes: - deepCopyIRConst failed to copy Ico_V256 constants - deepCopyIRExpr did not copy Iex_Binder expressions - handle_gets_Stmt should also handle an Ist_Put statement
2580da4 : In s390_decode_and_irgen don't divert the default case to a decoding error. That's wrong as the default case is never supposed to occur.
a4ca4fe : Fix incorrect use of VG_(tool_panic). Adapt checker script accordingly.
bc25198 : Update a comment
e2800c9 : coregrind files shall use vg_assert not tl_assert. Tool files shall use tl_assert not vg_assert. Fix code accordingly. Adapted check_headers_and_includes to make sure the code stays clean in that respect.
f2df332 : Fix leak that can happen in case of IO error between V gdbsrv and vgdb.
fd40d8b : Remove a comment that is no longer valid. The real reason we (now) don't provide strtoll etc is that we don't need the flexibility and are too lazy to implement the general case :) But that does not warrant a comment in the code.
91ed8cc : Tidy up m_xarray.c. VG_(newXA) and VG_(cloneXA) never return NULL. Remove pointless asserts.
5e1e923 : Document NULL-ness of the return value of the dedup allocation functions. Avoid conflict with reserved name 'free'. Remove a few pointless asserts.
6a65074 : Document that VG_(newPA) and VG_(allocEltPA) never return NULL. Remove a few pointless asserts. Avoid conflict with reserved name 'free'.
b9d8fbb : Document that VG_(newRangeMap) never returns NULL. Remove pointless asserts.
6aa8bd0 : Tidy up m_wordfm. First, as the allocator function does not fail, there is no need to assert its return value. Second, remove commented out (since r8765) function VG_(isEmptyFM). Third, remove VG_(getNodeSizeFM) from the API. The details of the implementation do not need to be exposed. Fourth, for consistency require that the copy functions for keys and values in VG_(dopyFM) (which are essentially like allocators) return non-NULL values for non-NULL arguments if they return. Fifth, document NULL-ness of return values for VG_(newFM), VG_(dopyFM), and VG_(newBag). Remove pointless asserts at call sites. Six, change avl_dopy to assert that the node the function is supposed to copy is not NULL. It is called that way anyhow. With that change the function never returns NULL which allows us to simplify the call sites. Checking the return value is no longer needed.
bf0ea23 : ML_(dinfo_zalloc/strdup) never return NULL. Remove pointless asserts at call sites.
fc252b5 : Document that VG_(newSWA) never returns NULL (because its allocation function does not). Audit call sites.
9c39f51 : Document the NULL-ness of the return values of HT_construct and HT_to_array. Audit call sites.
b49e4a5 : Tidy up m_oset.c - Document that the allocation function must ot return NULL. - As a conequence of the previous requirement the various Create and AllocNode functions cannot return NULL. Remove pointless asserts at call sites. - Remove documentation of undefined function CreateWithCmp. - Names of library functions (such as 'free') are reserved as a are names beginning with underscores. Don't use those.
8219bff : Generalize glibc version check
fec2447 : Generalize gcc / clang version check
68790a7 : VG_(malloc/calloc/strdup) never return NULL (and never will). So it's pointless to test or assert their return values. Remove code doing so.
659efde : Fix a memory leak found by IBM's BEAM checker.
511df4e : When piecing together the file name of a vgdb FIFO do not allow user names and host names containing '/' characters.
d95f093 : Record some bugs outstanding following 3.10.0.
a19c818 : Bump version on the trunk (--> 3.11.0.SVN).
a65b6ad : Merge r14514 from 3_10_BRANCH (--> 3.10.0)
47c6d14 : Merge r14513 from 3_10_BRANCH (Update docs w.r.t. status of partially-enabled --read-inline-info.)
4bf35b9 : Add a missing break as identified by IBM's BEAM checker.
f5d8e65 : Remove some unneded checks as identified by IBM's BEAM checker.
77eb20b : Use wrapper functions VG_(malloc) and friends consistently across the board (instead of e.g. VG_(arena_malloc)(VG_AR_CORE,...). This change also benefits static analysers. We can tell tools that VG_(malloc) allocates and VG_(free) deallocates and that they are a pair. But we cannot do that for arena_malloc/free. Also provide a wrapper VG_(realloc_shrink).
e464e80 : Rename VG_(malloc_usable_size) to VG_(cli_malloc_usable_size) because it operates on the CLIENT arena. Given that VG_(malloc) operates on the CORE arena, it was unexpected for VG_(mallos_usable_size) to use a different arena. Move function definition to the proper place (next to VG_(cli_malloc)) and fix call sites.
a75b56e : Avoid doing arithmetic with NULL
c5090fb : Bug 338974 glibc 2.20 changed size of struct sigaction sa_flags on s390
a384c3f : Handle gcc version 5.x.y.
3ebc6dc : Fix missing break in switch Spotted by Florian Krohm, using BEAM static analyzer
edd3033 : Accept glibc 2.20 as valid.
bd15508 : Replace wrong <../memcheck.h> by "../memcheck.h"
6680b51 : also do unshare and pivot_root on s390x
b717cef : mips32: mention MIPS32/Android as supported platform
a069596 : Create 3_10_BUGSTATUS.txt.
3eeeb45 : Update.
8a3377f : Add support for sys_pivot_root and sys_unshare. Patch from Steven Stewart-Gallus <>. n-i-bz (patch on dev@, 27 Aug 2014)
2cef25b : update svn ignore lists
ba60227 : Bug 338803 followup. Only print cross-CU warning when -v is given.
1e3e835 : drd/tests: Follow-up for r14478 - make regression test output independent of --read-inline-info
1c750c9 : mips64: use generic MK_(guess_and_register_stack)
28d71ed : Change how FXSAVE and FXRSTOR are done, so as to avoid pushing the XMM register contents themselves through the helper functions. This avoids the false positives reported in #291310.
88f762e : Disable default-yes setting of read-inline-info for MacOS, and enable it for drd on Linux.
6b0cdb0 : More stack-end-semantics fixups for MacOS following r14422 and r14392. May fix #338878.
92882e5 : Go back to $test_dirs after each test run or tests dir run Otherwise, we get an error for the 2nd dir if specifying 2 directories e.g.
a687b54 : update callgrind and cachegrind filtering logic following rev 14469 rev 14469 gives better description of the tweak done to the simulated cache. Update filtering logic to filter this (variable) tweaking msg.
afa3f04 : Minor refactoring to avoid special handling of emulation failures in s390_irgen_PFPO.
57d534d : Do not modify a character string that could be a readonly string literal.
924fa34 : readstabs.c: Don't include a.out.h, just define the stabs symbol nlist entry.
83b18f4 : nightly: source is a bashism, use '.' instead
ac5aafe : nightly: Try harder to get vendor stuff.
76f2cb1 : nightly: Try even more locations for finding glibc.
cbc2e0e : Avoid a compiler warning about int-to-ptr casting.
124e56d : Rename "--kernel-variant=android-emulator-no-hw-tls" to "=android-no-hw-tls" per suggestion from Philippe.
d3f3dab : drd: Make regression test output independent of --read-inline-info
efe536b : Handle fcvtpu Xd,Sn. Fixes #335564.
de9b485 : drd/docs/drd-manual.xml: Remove a redundant phrase.
6ae06ed : Partial bypass for 338803 Handling of dwz debug alt files or cross-CU is broken
9450a8e : Fix 338698 race condition between gdbsrv and vgdb on startup
7cf5f66 : Always check crc in open_debug_file for now. Bug #338791 followup.
f72c2c1 : Use const instead of a comment.
0138505 : Improved argument checking for sys_kcmp. Derived from patch from Christian Borntraeger. Followup to r14451. Pertains to #338106.
7842caf : iselStmt, case Ist_Dirty: remove pointless conditional. Spotted by Coverity and Florian Krohm.
438c471 : evh__new_mem_heap: get rid of pointless conditional. Spotted by Coverity and Florian Krohm.
98977e0 : Be more careful to separate build flags for the preload shared objects as opposed to the valgrind code proper. In particular, make sure that -mpreferred-stack-boundary=2 does not get used for the preload shared objects, since that can cause the stack to become misaligned and leads to segfaults. Modified version of a patch from Matthias Schwarzott ( Fixes #324050.
3b03744 : Fix function prototype as pointed out by clang.
9c42601 : maybe_tweak_LLc: generalise this so that it can mash more or less any cache size and associativity pair into something the simulator can actually handle, by increasing the associativity whilst reducing the number of sets, so that the number of sets becomes a power of two. Fixes #333501.
0b91943 : The purpose of the test is to see whether the exported header files compile OK with gcc -ansi. Therefore, add drd.h
807c454 : Fix most clang warnings.
25fc405 : The update fixes a format issue in the PPC test none/tests/ppc32/jm-insns.c and none/tests/ppc64/jm-insns.c. The BE and LE output expect files are updated as well.
17804f6 : Move the endianess test for ppc64 to the correct place.
c5af2ae : Bug 338791 Handle debug alt dwz files that are relative to the debug file.
a6b1728 : Make sure valgrind builds with clang 3.5.0
76d5c82 : Remove unneeded variable.
2fe4619 : add more system call numbers for s390. While we are at it also wire up the common linux kcmp system call.
14402d1 : Revert an accidentally checked in change.
c5927a6 : Add a few more tasks to consider.
ef6f26a : mips64: fix jmpKind for BLTZ and BGEZ
269069e : arm64: enable test cases for str bN, [reg, reg etc] and str hN, [reg, reg etc]. Pertaining to #337762, vex r2943.
7ec7750 : arm64: enable support for: str bN, [reg, reg etc] and str hN, [reg, reg etc]. Fixes #337762.
8d66ff7 : Fix off-by-one error in size of coredumps. Patch from Ivo Raisr ( Fixes #338300.
6c730b9 : arm64-linux: enable sys_mlock, sys_mlockall. Fixes #337766.
66fbb21 : Patch adding support for V4L2/media ioctls. Patch from Hans Verkuil ( Fixes #338023.
12d5abc : Add Xen 4.4 evtchn ioctl wrappers. Patch from Antony Saba ( Second of two patches from #337740.
9e4ec3a : Add support for Xen hypercalls used by libvmi. Patch from Antony Saba ( First of two patches from #337740.
dfd5334 : Add support for ppc32 syscalls used by uClibc. Patch from Kristof Provost ( Fixes #330594.
2fee870 : Add support for sys_kcmp. Patch from Chris Jones ( Fixes #338106.
23d548d : Remove accidentally committed bit of text.
0cf63b0 : mips64: add tests for Cavium BBIT0 and BBIT1
cebb3cd : Document the new --kernel-variant options committed in r14440.
122f6af : Slightly change the help text for some options that involve user-supplied enumeration values.
3e49e4c : readdwarf3.c: Improve error message on bad DW_FORM_GNU_[ref|strp]_alt usage.
f2c0230 : nightly/bin/nightly: Handle being in /lib or /lib64.
18bbd36 : Add std_thread2.supp to the tarball.
ae6e3ac : Add a redirection for the 'index' function. Fixes BZ #327943
4450a0e : Improvements for Android:
a90baf7 : mips64: implement Cavium BBIT0 and BBIT1 instructions
d8bd8a7 : Update after more triaging.
d099e51 : gcc on arm64 -Og produces a (false positive) warning that stackPos might be used uninitialised.
a1369f8 : fix a typo in NEWS
7efa165 : Update helgrind default suppression so that it matches with both --read-inline-info=yes or =no
e4200b5 : Fix wrong operator = (instead of ==) in assertion Assertion had a side effect (detected by Coverity)
f35dad7 : Fix wrong operator (detected by Coverity)
5762841 : Add a missing return statement. Spotted by the Coverity checker.
ee0ee03 : Fix a few incorrect format strings. Spotted by the Coverity checker.
5a5031e : Add support for some more tun/tap ioctls. BZ#315952.
2d3aed7 : The 4th parameter of lzo1x_decompress_safe has lzo_uint * type which, despite the name, is a pointer to an unsigned long. So we should be passing arguments of matching type. Spotted by the Coverity checker.
97b89f7 : Remove some unneeded checks. These were spotted by the Coverity checker.
fdae231 : Avoid memory leak.
956b6d2 : --> 3.10.0.BETA1
d704f73 : Tweak gdbserver_tests/mcinfcallWSRU.stderrB.exp to match more gdb versions.
9b29b14 : Add a clarifying comment.
218f651 : Tidy this up for the 3.10.0 beta.
ef93463 : Add a ( that was missed in r14419 (Prepare to change the default for --read-inline-info from =no to =yes)
dcd1ed4 : Make --read-inline-info=yes be the default on Memcheck and Helgrind (just temporarily).
b7dfa58 : Followup to r14392 (fix up of stack bounds semantics) needed to keep the darwin port from asserting at startup. Patch from PhilippeW.
b69cd96 : VG_(getdents64) is only needed on Linux, and causes build problems on Darwin, so make it exist only on Linux.
e467521 : prepare for changing the default of --read-inline-info suppvarinfo5 is using suppression entries that explicitely checks for a stack trace without inline info. So, indicate to not read the inline info. This also means we will have (and keep) at least one test testing the behaviour of --read-inline-info=no
347a481 : Prepare to change the default for --read-inline-info from =no to =yes
8ad6e5e : Update list of ignored files.
424385e : Add a missing VKI_ prefix. No functional change.
ed12bf2 : EM_PPC64 isn't defined by some older Android NDKs. Define it if necessary.
a3a27fe : Tidying up (no functional change)
6755357 : Fix bogus bracketing. No functional change.
190bd52 : Followup to r13469. lineno has already been asserted to be != NULL. No need to check it again.
7b63408 : Rename a bunch of __unused fields to __unused0, since some Android NDK's appear to #define __unused to __attribute__((__unused__)), causing the build to fail in bizarre ways.
574c2fd : Fix typo in deprecate msg + reformat to 80 char max
9bfa5b6 : Remove two extraneous Ls introduced by mistake in r14319, which had the effect of causing CFLAGS environment variable settings to be ignored for certain parts of the build (genoffsets.c, for one).
9c327f6 : mips64: add missing system call numbers
0acd3ce : Fix a comment. No functional change.
4fa7108 : Bug 338703 helgrind on arm-linux gets false positives in dynamic loader.
65f1f2d : Adjust cmdline expected test output after r14401 BZ#337871.
8def049 : arm64: route all whole-vector shift/rotate/slice operations through Iop_SliceV128, so as to give it some testing. Implement Iop_SliceV128 in the back end.
7b7b1cb : Track vex r2939 (renaming and arg-order change for Iop_Extract{64,V128}).
e6b9bd9 : Rename Iop_Extract{64,V128} to Iop_Slice{64,V128}, improve their documentation, and swap the sense of the first and second args so as to be more in keeping with the rest of the ops here, so that the more significant arg is arg1 rather than arg2.
52bae2f : Remove memory (load/store) tests from integer.c and move them into their own file, memory.c.
9439556 : Remove unused variable.
882038d : Deprecate --db-attach Fixes BZ #337871
82e23e3 : Update list of ignored files.
7e3b3f2 : Improve description of an address that is on a stack but below sp.
36750c0 : Bug 338681 Enable clone backtrace hack for i386-linux in helgrind.
5a460f5 : Fix (kludge) stack unwinding through clone on arm64-linux. This is the same problem as shown in #338681, except for arm64-linux instead of x86-linux.
dcd9051 : Helgrind needs to know the soname of, and on arm64-linux it is different ( from all other targets. (Why?) This makes Helgrind at least somewhat usable on arm64-linux.
ba473c5 : Initial triage pass for all remaining newly opened bugs.
8bba5a1 : drd/tests/pth_create_chain: Reduce stack usage
c57db6c : document in NEWS the fact that stack registration start/end boundaries are the lowest/highest addressable bytes
38a74d2 : The semantic of the stack bounds is not consistent or is not described. At various places, there were either some assumption that the 'end' boundary (highest address) was either not included, included, or was the highest addressable word, or the highest addressable byte. This e.g. was very visible when doing: ./vg-in-place -d -d ./helgrind/tests/tc01_simple_race|&grep regi giving --24040:2:stacks register 0xBEDB4000-0xBEDB4FFF as stack 0 --24040:2:stacks register 0x402C000-0x4A2C000 as stack 1 showing that the main stack end was (on x86) not the highest word but the highest byte, while for the thread 1, the registered end was a byte not part of the stack.
5508468 : make prereq fail with 1 if host command not installed as prereq must return 0 or 1. Any other return value aborts the regtests.
19e7d39 : Add missing file in EXTRA_DIST
aef22c9 : arm64: record the use of x8 as of vex r2938.
0ad37a9 : Add support for generating ProfInc sequences on ARM64, so as to make it possible to profile vex-generated ARM64 code.
7f98ab8 : With gcc 4.9.1 exp-sgcheck/tests/globalerr sees array "a", not unknown.
ec8ed09 : Update.
0a1086e : run_thread_for_a_while: Make the computation of done_this_time less bogus, and in particular ensure that it can't be zero if in fact the thread did do some useful work. Fix up a couple of associated assertions. Fixes #336435.
77ba302 : none/tests/res_search.vgtest: Add prereq that domain can be resolved.
eae4af6 : mips: remove unused macro
c328e15 : mips: fix typo (IRType/IRTemp)
495c656 : Use getdents64 syscall on linux.
a19d5b7 : include/vki/vki-scnums-arm64-linux.h use correct __NR_lseek define.
abd6d6c : Hook up allexec tests for arm64.
dcf6394 : gdbserver_tests filter out and don't expect empty lines.
acb3929 : gdbserver_tests/filter_gdb filter out 'entry value'.
0533405 : Fix a bunch of defined(VGA_ppc64) (a.o. this was making leak_cpp_interior test failing, as the ppc64 specific code in mc_leakcheck.c was not compiled in)
0953099 : Check that vgdb ptrace actions do not cause a EINTR or whatever to go out of the select syscall
b895602 : Typo fix + small improvement in comment
7afd708 : Workaround bug 338633. gdbserver_tests/nlcontrolc.vgtest hangs on arm64.
d18b902 : Handle ENOSYS instread of EINVAL for some helgrind tests.
1cd2378 : Bug 338615 suppress glibc 2.20 optimized strcmp implementation for ARMv7.
676bf0d : Add configure check for 32 bit build support on arm64-linux.
061ad22 : none/tests/ (DIST_SUBDIRS): Add arm64.
b444fbc : Fix typo in syswrap ppoll param, equate ppoll and poll for memcheck testcase.
15e4e5c : Add a missing entry to all_archs[], the lack of which was causing the test system to run arm64 tests on non-arm64 platforms.
7cfb468 : Back out a line inadvertantly committed in r14363.
d173f80 : Add test config files and expected outputs.
9746147 : Add socket.S to memcheck/tests/filter_stderr.
f02d2ec : Build system stuff, to hook the tests in none/tests/arm64 to the build system.
bfd03f8 : Handle the new IROps introduced to support ARM64 SIMD.
3ce4dec : Add support for four IROps that Memcheck generates on arm64, that the front end doesn't generate.
15ceaef : Comment-only change.
147865c : Iop_Rol64x2 was handled as if it were a 32x4 case. This moves it to the right place.
6f30631 : Cleanup: remove unused macros.
77de31c : arm64: enable test cases for: {zip,uzp,trn}{1,2} (vector) urecpe, ursqrte (vector)
fc261d9 : arm64: implement: {zip,uzp,trn}{1,2} (vector) urecpe, ursqrte (vector)
ee6bb77 : Track renaming of {reciprocal, reciprocal sqrt}{estimate, step} primops in vex r2932.
1ddee21 : Rename IROps for reciprocal estimate, reciprocal step, reciprocal sqrt estimate and reciprocal sqrt step, to be more consistent. Remove 64FxWhatever versions of those ops since they are never used. As a side effect, observe that RSqrt32Fx4 and Rsqrte32Fx4 are the same and hence fix the duplication, at the same time. No functional change.
b071b71 : 338499 --sim-hints parsing broken due to wrong order in tokens (after introduction of no-nptl-pthread-stackcache) Fix the token order in m_main.c
d011646 : filter_shell_output: filter out "Exec format error" added by newer bash.
9904068 : Remove unused functions and prototypes.
ed5b516 : Remove unused function CLG_(sprint_cost).
021e6b6 : Memcheck: add a new flag, --show-mismatched-frees=no|yes [yes], to optionally disable allocator/deallocator mismatch checking.
1e4fc95 : mc_LOADV_128_or_256_slow: change a constant from V_BITS8_DEFINED to V_BITS64_DEFINED so as to be consistent with the rest of the types in this function. Since both values are zero it gives no functional change.
bb951f9 : Cleanup. Cost array was never called anyway.
af21fda : Remove benign macro redefinition. Give current_jccs internal linkage.
7697dd1 : Tweak gdbserver_tests/hgtls.stdoutB.exp filter_gdb a little for older GDB.
f247f49 : Align header comment with other files
0d22fc0 : Follow up to r14313: disable stack cache earlier glibc is recycling memory for detached threads before a thread termination => disable the stack cache earlier (i.e. once a 'non main thread' is seen)
65dcc8b : NEWS 330319 vex amd64->IR: unhandled instruction bytes: 0xF 0x1 0xD5 (xend)
e3fa0f8 : Bug 330319 - vex amd64->IR: unhandled instruction bytes: 0xF 0x1 0xD5 (xend)
3a3f57f : Bug 338445 amd64 vbit-test fails with unknown opcodes used by arm64 VEX.
e25d54b : exp-sgcheck/tests/hackedbz2.c mark vex_strlen as noinline
46f2504 : Check some known PATHs for mpicc in configure.
2032e4c : Improve -mpreferred-stack-boundary configure message.
b16609b : Clean up confusion about VG_(args_the_exename) which was believed to possibly be NULL in several places. Nowadays, VG_(ii_create_image) will terminate the process if VG_(args_the_exename) is NULL.
0c12c46 : Update in NEWS the gcc release needed to better support Ada tasks termination
055c7f5 : Remove unused functions CLG_(get_out_file) and CLG_(get_out_directory). Looks like these were leftovers from early days -- perhaps r7235.
aa62d84 : Kind of a follow-up to r14237. pre_mem_read_sockaddr: in the case where the caller doesn't specify any address family (that is, the family is AF_UNSPEC) don't perform any further checks on the supplied |sa| address block, since doing so merely gives rise to false uninitialised value errors.
ab69b4a : configure should check for warning flags supported to disable them (#338205).
150794d : putGST_masked: correctly handle the case where the mask is for FPSCR.RN or FPSCR.DRN, but does not cover the entire field. Then it is important to update the exposed parts but leave the not-exposed parts unchanged. This is a regression relative to circa 5 years ago.
302f742 : auxprogs: Update Subversion ignore list
babd833 : helgrind/tests: Update Subversion ignore list
0a5a28f : drd/tests/tls_threads: Add
9848690 : Add option a new sim-hint no-nptl-pthread-stackcache.
61e96a3 : Fix a typo.
2f938d0 : Remove a few unused macro definitions. Move exported global variables to the proper section in the header file. No functional change.
61d16fb : arm64: enable test cases for srhadd, urhadd (vector) suqadd, usqadd (scalar) suqadd, usqadd (vector)
f7003bc : arm64: implement: suqadd, usqadd (scalar) suqadd, usqadd (vector)
a50e88f : Announce in NEWS the change of behaviour (i.e. validity checking) for the clo options --kernel-variant and --sim-hints
ec905f7 : The attached patch cleanups the clo processing of clo which are (or should be) 'enum set'.
62ece66 : arm64: implement srhadd, urhadd (vector)
4d87d23 : arm64: enable test cases for sshr, ushr, ssra, usra (scalar, imm) srshr, urshr, srsra, ursra (scalar, imm) srshr, urshr, srsra, ursra (vector, imm) sshl, srshl, ushl, urshl (scalar, imm) sshl, srshl, ushl, urshl (vector, vector) ssra, usra (vector, imm)
a6b61f0 : arm64: implement sshr, ushr, ssra, usra (scalar, imm) srshr, urshr, srsra, ursra (scalar, imm) srshr, urshr, srsra, ursra (vector, imm) sshl, srshl, ushl, urshl (scalar, imm) sshl, srshl, ushl, urshl (vector, vector) ssra, usra (vector, imm)
8c98ebc : Add comments in getoff.c to clarify its intended usage.
68a8bb9 : Fix build problems on MacOSX pertaining to r14283.
e004ad8 : * Unbreak build on macos (and on other platforms) that do not have HAVE_DLINFO_RTLD_DI_TLS_MODID. * add the copyright notice in auxprogs/getoff.c * add more prereq to hgtls.vgtest
77749dd : creating the lind from none/tests/ppc64/round.c to none/tests/ppc32/round.c
e6a3dfd : Removing the file none/tests/ppc64/round.c so I can change it to a link.
87fc2a9 : Some cleanup post QGetTlsAddr commit * remove useless commented line in hgtls.vgtest * avoid some #ifdef in arch specific code, hoping to discover more compile time errors.
1670b05 : fix 338160: Implement QGetTlsAddr query so that GDB+V gdbsrv can print __thread variables.
4a85b8e : No functional change. Remove commented out code copied from the arm32 port, which is never going to get used.
e541e22 : Track vex r2924 (Renaming of Iop_QSalN*, Iop_QShlN* and Iop_QShlN*S)
1dd3ec1 : Rename Iop_QSalN*, Iop_QShlN* and Iop_QShlN*S so as to more accurately reflect what they actually do, which is a zero-fill shift left followed by one of three flavours of saturation (S->S, U->U or S->U).
693bac3 : arm64: enable test cases for: {uqshl, sqshl, sqshlu} (vector, imm) {uqshl, sqshl, sqshlu} (scalar, imm) {uqshrn, sqrshrun, sqshrun} (scalar, imm)
acc2964 : arm64: implement: {uqshl, sqshl, sqshlu} (scalar, imm) and fix two bugs in the implementation of the (vector, imm) variants.
a97dddf : arm64: implement: {uqshl, sqshl, sqshlu} (vector, imm).
fbe569d : Add a simple folding rule for Iop_ZeroHI64ofV128.
d34ec24 : Choose some floating point numbers that are hopefully easier to write out.
ee55dc2 : This commit is an update to Bugzilla 334836
2435528 : Update list of ignored files.
6a78de7 : Make suppression more flexible. Needed for s390 running Fedora 20.
37334b4 : Add a couple more OSX109 libc leak suppressions.
0617117 : Unbreak the MacOS port following recent r14273 (further reduction in symbol table storage requirements for non-ppc64 targets).
4cace66 : Reduce memory needed for symbols, by having the tocptr and local_ep (used for ppc64 platforms) #ifdef-ed and accessed by macros that becomes NOP on non ppc64 platforms. This decreases the debuginfo memory by about 2.5 Mb on a big 32 bit application.
0b2f59c : Remove benign macro redefinition.
e741d16 : arm64: implement: uqshrn{2}, sqrshrun{2}, sqshrun{2} (scalar, imm)
4815f5a : Fix some comments
9893a75 : Unbreak the MacOS port following the recent ppc64le port merge.
bc7e539 : Followup to r14264: Fix VG_(sysnum_string) for Darwin.
1123362 : Remove function VG_(sysnum_string_extra) as it was just a wrapper around VG_(sysnum_string). Also remove associated macro VG_SYSNUM_STRING_EXTRA. The VG_SYSNUM_STRING macro returned a pointer to a variable which is out of scope. Using that value may cause undefined behaviour. Change VG_(sysnum_string) to return pointer to static buffer instead. Fix call sites.
0931a4d : coregrind/m_syswrap/priv_syswrap-xen.h: Add copyright header
2faf591 : Small cleanups in VEX: * rm unused arm64 function * ijk_nodecode: always set the 4 components of the result (avoid a compiler warning that a part is not initialised)
5914aec : Correct a comment. We really should not specify the default values here. Double maintenance.
9d1aeea : Give static variable function scope.
c9e3e61 : Remove unused and possibly incorrectly defined macro.
be4203d : Remove unneeded include files.
ecedd98 : arm64: implement: uqshrn{2}, sqrshrun{2}, sqshrun{2} (vector, imm) sqxtn{2}, uqxtn{2}, sqxtun{2} (vector and scalar)
0caa0c0 : Add a new folding rule: ZeroHI64ofV128( ZeroHI64ofV128(x) ) --> ZeroHI64ofV128(x)
4eacc80 : arm64: enable test cases for: uqshrn{2}, sqrshrun{2}, sqshrun{2} (vector, imm) sqxtn{2}, uqxtn{2}, sqxtun{2} (vector and scalar)
ea90a0d : arm64 Improve fpsr gdbsrv handling. let the compiler handle the ULong to UInt conversion rather than play with addresses.
436f641 : drd/tests/free_is_write: Reduce stack usage
c66c64f : arm64 does not implement fork syscall. Use clone instead
6037226 : Use mkstemp_format in VG_(mkstemp). That way nothing breaks should the format change.
dc240c8 : Fix type.
9cdc083 : drd: Move VG_(getenv)("DRD_VERIFY_CONFLICT_SET")
c20ff1b : drd/Testing.txt: Document how to run all regression tests with conflict set verification enabled
d47676f : Mark argument of VG_(mkstemp) as const. Fix comment in pub_core_libcfile.h (and make it the only copy)
99af243 : Unbreak the build priv/guest_ppc_toIR.c: In function disInstr_PPC: priv/guest_ppc_toIR.c:20160:7: error: dis undeclared (first use in this function) dis.continueAt = 0; ^
65f83bf : This commit is for Bugzilla 334834.
94e2de3 : This commit is for Bugzilla 334834.
666ee9d : This patch implements reading the directory information for source files in the dwarf3 reader. Basically, the change consists in replacing in the DiInlLoc struct const HChar* filename; /* caller source filename */ by UInt fndn_ix; /* index in di->fndnpool of caller source dirname/filename */
7692f16 : drd: Clear conflict set after fork (#338115)
f21485d : drd/tests/threaded-fork-vcs: Add
e4554e1 : drd: Add command-line option --verify-conflict-set
6ba50d1 : Add missing comment marker.
dd690bf : This commit is for Bugzilla 334836. The Bugzilla contains patch 3 of 3 to add PPC64 LE support. The other two patches can be found in Bugzillas 334384 and 334834. Note, there are no VEX changes in this patch.
582d582 : This commit is for Bugzilla 334834. The Bugzilla contains patch 2 of 3 to add PPC64 LE support. The other two patches can be found in Bugzillas 334384 and 334836.
1f5fe1f : This commit is for Bugzilla 334834. The Bugzilla contains patch 2 of 3 to add PPC64 LE support. The other two patches can be found in Bugzillas 334384 and 334836.
cae0cc2 : This commit is for Bugzilla 334384. The Bugzilla contains patch 1 of 3 to add PPC64 LE support. The other two patches can be found in Bugzillas 334834 and 334836. The commit does not have a VEX commit associated with it.
19ce5d5 : pre_mem_read_sockaddr: properly handle the NETLINK address family rather than throwing to the default case. This stops Memcheck reporting false positives for the NETLINK case.
8b662d5 : fix 338024 inlined functions are not shown if DW_AT_ranges is used Based on investigation and patch by Matthias Schwarzott. (no small test found that reproduced the problem, but the equivalent patch given in bug 338024 fixed the inlined stack trace in a big shared lib). Would be nice however to have a small test case ...
c609732 : add support for VKI_BLKDISCARDZEROES
d696b75 : NEWS: Add #331829 (Unexpected ioctl opcode sign extension)
1fa9ee8 : Linux: Add support for Lustre FID2PATH ioctl (#331829)
87da5fb : Linux system call wrappers: truncate ioctl request number to 32 bits
351949c : Enable tests for: sq{r}dmulh (scalar vs elem, vector vs elem), sqshl, uqshl, sqrshl, uqrshl (reg) (vector and scalar).
1297218 : arm64: add support for: sqshl, uqshl, sqrshl, uqrshl (reg) (vector and scalar)
b01ff40 : Add a folding rule: XorV128(t,0) ==> t.
257e99f : arm64: implement remaining SQDMULH and SQRDMULH cases.
72a10e5 : Allow no debuginfo to be found when (trying to) produce the help msg for activating the host visibility in gdbsrv
0642639 : ensure the regcache is in sync with the fpsr part VEX represents when fpsr is modified from gdb
a0a0c6b : take endianness into account in arm64 fpsr xfer, use VKI_LITTLE_ENDIAN to decide to reverse or not bytes in image function
e5d36ff : arm64: fix the conversion from/to VEX fpsr to/from GDB representation
6df28a8 : cfsi_m_ix array should only be indexed according to sizeof_m_ix, so decalre as a void*.
ade2edd : Add support for stack unwinding using the ARM32 specific EXIDX format.
c06f684 : Fix dangling ref in m_errormgr.c + report all uninit fields in a syscall param
9d23bdb : Fix copyright years.
0f3feed : Announce now in NEWS that now all locks are announced.
46daf0d : Helgrind lock related error msg improvements.
6625f71 : Back out r14186 as it was identified to have caused a performance regression.
4afac5b : fix comment when calling get_sym_name()
8120818 : No need to write the offset into a buffer when that buffer is not used.
3b4ef11 : glibc 2.3.4 does not appear to define PTRACE_GETSIGINFO. This was observed on a RHEL5 system on s390. Provide a suitable definition. Tweak gdbserver_tests/filter_stderr to ignore messages related to interrupted poll system calls.
c28f9e3 : Remove two unneded include files.
7d99579 : Fix a comment.
0e073a8 : Adapt testcase so it can be compiled with GCC 3.4.6.
22d2c78 : Adapt testcase so it can be compiled with GCC 3.4.6 against glibc 2.3.4
a7cea05 : Have m_addrinfo.c giving more details about an address in a text segment (using a fake 'one address' stack trace).
8f9b0d2 : Add LIKELY as suggested by Philippe.
dbacc09 : Small follow up to lock address description: now that we describe lock address, we can print something even if the lock observation has no stacktrace.
e752d34 : Remove an unneeded function call.
8061201 : Describe the lock address in a lock announcement message.
3c3a6e4 : Update a comment so it won't need updating in the future. No functional change.
4f11c7f : Change VG_(strncpy_safely) to use VG_(strncpy) to get the same padding behaviour.
421c26e : Factor out VG_(exit_now) to contain the syscall incantation to terminate the process. Make ML_(am_exit) and VG_(exit) use it, thereby avoiding double maintenance. Introduce libcbase_assert macro and use it in VG_(strncpy_safely) to document the case that function cannot handle. Add stub functions to memcheck/tests/unit_libcbase.c to satisfy new dependencies.
5973142 : Track vex r2910 (infrastructural improvements in representation of endianness in VEX).
9b76916 : Improve infrastructure for dealing with endianness in VEX. This patch removes all decisions about endianness from VEX. Instead, it requires that the LibVEX_* calls pass in information about the guest or host endianness (depending on context) and in turn it passes that info through to all the places that need it:
4b46910 : optimise readpdb.c filename and dirname handling, following r14158
9b57557 : Document fix of BZ#315199.
5bf4dd2 : Output details for the faulting thread first in a core dump.
abe2a22 : Enable test cases for: {sqdmlal,sqdmlsl,sqdmull}{d_s_s[],s_h_h[]} {sqdmlal,sqdmlsl,sqdmull}{d_s_s,s_h_h} {sqdmlal,sqdmlsl,sqdmull}{2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h)} sqrdmulh 4s,2s,8h,4h (vector)
54ffa1d : arm64: implement: {sqdmlal,sqdmlsl,sqdmull}{d_s_s[],s_h_h[]} {sqdmlal,sqdmlsl,sqdmull}{d_s_s,s_h_h} {sqdmlal,sqdmlsl,sqdmull}{2d_(2s_2s)/(4s_4s), 4s_(4h_4h)/(8h_8h)} sqrdmulh 4s,2s,8h,4h (vector)
f3eaabd : Comment-only change.
7c69a3e : Add a new heuristic 'length64' to detect interior pointers pointing at offset 64bit of a block, when the first 8 bytes contains the block size - 8. This is e.g. used by sqlite3MemMalloc.
4d6ce84 : Track vex r2907, which amongst other things, renamed Iop_QDMulLong* to Iop_QDMull*.
8accb81 : Enable tests for: sqneg, {u,s}q{add,sub} (scalar), {sqdmlal,sqdmlsl,sqdmull} (vector x element).
51d012a : arm64: implement: sqneg, {u,s}q{add,sub} (scalar), {sqdmlal,sqdmlsl,sqdmull} (vector x element)
7e67bb6 : Initialise a couple of scalars that gcc -Og thinks might be uninitialised, presumably because at -Og it doesn't do enough block straightening-outening or whatever to see that they are always assigned before use.
2782d21 : Add a few more algebraic optimisations for Iop_And8/16. Observed on s390.
2a429f5 : Add configure check for arm64 user_regs_struct.
0c9ac8d : Patch adding (or showing the proper/not confusing) helgrind thread nr for block and stack address description.
a83e7d6 : Simplify the code to get the function entry + avoids too many casts
1d19897 : Omit frame pointer also for main in ppc ldst_multiple test.
fa7b329 : ppc64 ifunc_wrapper add casts suggested by gcc warning.
5ab5f38 : Unbreak ppc32 compilation (remove last usage of host_ppc32_regalign_int64_args)
d1526f2 : Remove fields from VexAbiInfo that only had relevance to the old AIX5 port: guest_ppc_sc_continues_at_LR and host_ppc32_regalign_int64_args.
f2a68aa : Fix name of the file in the header comment
40226d1 : Comment out an unsed function to avoid a compiler warning.
1b7c471 : Fix algebraic simplification for Iop_AndV256.
2c69282 : Update list of ignored files.
7f8abc4 : Add testcase from BZ #324149 which was forgotten in r13641.
e24dbf8 : Fix pointer qualifier discard warnings in memcheck/tests/varinforestrict.c.
2386069 : produce cfsi and str dedup pa at the same verbosity level
c81436d : Bug 336619 valgrind --read-var-info=yes doesn't handle DW_TAG_restrict_type.
e22cbf3 : arm64: get_Dwarf_Reg: at least handle the case of requesting XSP instead of failing. This makes some of the memcheck/tests/varinfo* tests work somewhat correctly on arm64-linux.
a683826 : Bug 337094 ifunc wrapper is broken on ppc64.
4c8da65 : add test cases for "LD1/ST1 (multiple 1-elem structs to/from 2 regs, post index)" (16b only)
8a5ed54 : arm64: implement: LD1/ST1 (multi 1-elem structs, 2 regs, post index)
3c8a9d3 : Small fixes in 'getting started' section of user manual
aa91d41 : Slightly refined the NEWS entry for silly/fishy args
59e1f3c : This patch decreases significantly the memory needed to store the lineloc info.
6eb5ef8 : arm64: implement "mrs Xt, cntvct_el0" by pass-through to the host.
7b6899d : Provide a back trace when a function argument of a known allocation function is presumably negative. Fixes BZ 79311.
4adf39d : drd/tests/std_thread*: Add a workaround for an Ubuntu 14.04 gcc bug
7795f67 : Track vex r2891 (add Iop_Reverse1sIn8_x16). Unbreak build.
626c3c7 : Announce fix for BZ #336957
8cc7ccb : Update list of ignored files.
427b376 : arm64: enable test cases for: {sli,sri} (vector & scalar), sqabs (vector & scalar)
8e91fd4 : arm64: implement: {sli,sri} (vector & scalar), sqabs (vector & scalar)
5b8d689 : Move DRM ioctl handlers to the right places. Fixes r13486 breakage.
945d4d8 : Add support for the F_OFD_SETLK, F_OFD_SETLKW, and F_OFD_GETLK fcntl commands. BZ#337285.
f77df94 : Add support for the F_OFD_SETLK, F_OFD_SETLKW, and F_OFD_GETLK fcntl commands. BZ#337285.
b2cbdde : Enable test cases for: shll #imm, shrn #imm, rshrn #imm, {smlal,umlal,smlsl,umlsl,smull,umull} (elem)
487559e : arm64: implement: shll #imm, shrn #imm, rshrn #imm, {smlal,umlal,smlsl,umlsl,smull,umull} (elem)
def5aae : Rollback the (functional) effect of 13944 and 14134 Re-opening the FIFO before closing it gives (difficult to understand) problems => rollback the change that keeps the FIFO opened. Rather handle the race condition by retrying at vgdb side. See extensive comments in remote-utils.c
e2d41dc : Apply text_debug_bias to inline IP extracted from dwarf3 Without this biasing, inline info is not correct for shared objects. Updated test varinfo5 to use --read-inline-info=yes and added an inline test case. Note: the varinfo reader does not understand the inlining info, and so variables in inlined functions are not properly described.
d603584 : Add a 32-bit-process only suppression, for OSX 10.8. Equivalent to that of r14142 for 10.9.
0b39288 : Change the default setting --partial-loads-ok from "no" to "yes" for Mac OS only. All other targets remain at "no".
5ee7277 : OSX 10.8/10.9: remove warning message.
8cab2de : Add a 32-bit-process-only suppression.
594fc46 : Make sanity check errors before/after syscalls be fatal.
bec5ec5 : Accuracy improvements to syscall wrappers for OSX 10.8 and 10.9.
588cd4e : OSX 10.9/10.8: Debuginfo reading FSM: enable recording of r-- mappings so as to enable arrival at acceptance states via calls to VG_(di_notify_vm_protect).
6f00ae9 : Improve debug printing for the should-we-load-debuginfo-now? finite state machine. No functional change.
882a9ec : Darwin only: don't tell aspacemgr about the kernel commpage -- only tell the tool. This is because telling the aspacemgr about it causes the sync checker to fail entirely on Darwin.
57f767c : Add -Wno-tautological-compare to the standard compile flags, if that is accepted. With XCode 5.5.1 -Wtautological-compare appears to come as standard, and it generates a lot of mostly useless noise.
b17e13b : Mark inline get function in image.c (called very often, and has a fast/slow case) This slightly improve the performance of reading the image.
e120667 : Follow up to rev 13944 13944 objective was to avoid having a vgdb that connects to a just forked child that would have the FIFO still opened, while its parent would close it.
0b26082 : Replace copy/pasted loop of the "range search" by doing a -1 in the loop for the "equal" case.
05c459e : Small fixes/improvements post-cfsi_m improvement * Avoid printing the size of a null dedup pool * Avoid warnings of 2 unused variables on some platforms
8749145 : NEWS: Mention #336772, --default-suppressions and the std::thread update in the drd manual
68654f6 : Small comment fix for the UInt* cfsi_m index : 4 instead of 3
5c3dba2 : This patch decreases significantly the memory needed to store the cfsi info.
f8b689a : Shadow registers wronly shown by gdb on avx machine For an unclear reason, the orig_rax register and its shadows are described in the xml file using a register number. This register number is correct on non avx machine, but is wrong on avx machine, as these have more registers, which means that orig_raxs1 and s2 should have different numbers.
e3e515b : Fix a bug in the "numbering" dedup pool: as indicated in pub_tool_deduppoolalloc.h, for "numbering" pool, there is no guarantee that the address of an element is stable if a new element is inserted. But m_deduppoolalloc.c was itself not taking this 'no guarantee' into account. So, when the addresses of the elements are changed due to reallocation of the only pool, apply an offset to the element addresses stored in the dedup hash table.
fe1c2aa : arm32: support (ARM) PLDW [reg, reg]. The non-W variant was already accepted. Fixes #323178. (
0657e9a : arm32: support (ARM) PLDW [reg, #imm]. The non-W variant was already accepted. Fixes #323179. (
ca65dc5 : Silence a compiler warning as issued by certain versions of GCC.
9902318 : Add forgotten .exp file. Should have been prt of r14124.
c9d7582 : Update the C++ demangler by importing files from GCC trunk @ 212125. Add a smoke test for the demangler and update the helper script.
1554fa5 : Add 'numbering identification' to the dedup pool.
0b9d064 : Implement VG_(arena_realloc_shrink) similar to realloc, but can only decrease the size of a block, does not change the address, does not need to alloc another block and copy the memory, and (if big enough) makes the excess memory available for other allocations.
8908dec : arm64: Add support for checking FPSR.QC effects of each instruction. Implement: sadalp uadalp saddlp uaddlp saddlv uaddlv saddw{2} uaddw{2} ssubw{2} usubw{2} shadd uhadd shsub uhsub sqadd uqadd sqsub uqsub smaxp umaxp sminp uminp
a5a6b75 : arm64: implement: sadalp uadalp saddlp uaddlp saddlv uaddlv saddw{2} uaddw{2} ssubw{2} usubw{2} shadd uhadd shsub uhsub sqadd uqadd sqsub uqsub smaxp umaxp sminp uminp
c69477a : Track vex r2894 (representation changes to arm64 FPSR)
a0645d5 : arm64: change the representation of FPSR.QC so that it can be used efficiently to record SIMD saturation, and remove support for all other bits of FPSR, since we don't model them anyway.
8e701e1 : Enable test cases for: sabal uabal sabdl uabdl saddl uaddl ssubl usubl smlal umlal smlsl umlsl smull umull
6f312d0 : arm64: implement: sabal uabal sabdl uabdl saddl uaddl ssubl usubl smlal umlal smlsl umlsl smull umull
8f3fa42 : Update Subversion ignore lists
3cffc76 : Make none/tests/filter_ioctl_moans executable
d77a4ca : Make moans about unknown ioctls more informative (#336772)
5d3b669 : Enable test cases for: rev32, rev64, saba, uaba, sabd, uabd.
df9d6d5 : arm64: * implement: rev32, rev64, saba, uaba, sabd, uabd. * factor out a large number of duplicated expressions of the form bitQ == 0 ? unop(Iop_ZeroHI64ofV128, mkexpr(t)) : mkexpr(t)
abc1111 : Add support for various SIOCETHTOOL operations. BZ#303536.
99a39fb : Wire up recvmmsg on arm. BZ#334585.
4f17e60 : Add SIOCATMARK ioctl support.
9b15043 : Implement various SNDRV_CTL_xxx ioctls.
a8f62d1 : arm64: add/enable testcases: pmul, pmull, rbit, rev16, LD1/ST1 (multiple 1-elem structs to/from 3 regs, no offset) LD3/ST3 (multiple 3-elem structs to/from 3/regs, post index)
715d162 : arm64: implement: rbit 16b,8b, rev16 16b,8b
5cc73ec : Handle the HCIGETDEVLIST ioctl.
6a90cfb : Fix a couple of format string mixups.
55d0538 : Add support for the SG_IO ioctl.
96fb2c5 : Handle the CDROM_DISC_STATUS ioctl.
9630981 : Remove bug closed by reporter
4efdae1 : Add support for TIOCNOTTY ioctl. BZ#331476.
5540492 : Track vex r2890 (renaming of vector subparts-of-lanes-reversal IROps)
3368035 : Rename the vector subparts-of-lanes-reversal IROps to names that are easier to understand. No functional change.
2e4d5af : Track vex r2889 (rename vector Cls/Clz primops)
a8c7b0f : The vector versions of the count leading zeros/sign bits primops (Iop_Cls* and Iop_Clz*) misleadingly imply a signedness in the incoming lanes. Rename them to fix this. Fixes #326026.
31b5a95 : arm64: implement pmull{2}.
0a961fc : Activate --read-inline-info=yes for the outer/inner setup regtest run
168c8bd : arm64: implement: LD3/ST3 (multi 3-elem structs, 3 regs, post index) (2d variants only) pmul 16b_16b_16b, 8b_8b_8b
633d9db : Remove commented out junk which is never going to get used. No functional change.
a73ab63 : Fix bogus-looking assertion.
7817ee4 : Add intercepts for more OSX 10.9 malloc_zone functions: malloc_default_purgeable_zone malloc_create_zone malloc_zone_check malloc_zone_register malloc_zone_unregister malloc_set_zone_name malloc_get_zone_name
798e95b : Intercept libsystem_platform.dylib:_platform_strncmp and dyld:memchr on OSX 10.9.
03a79bf : Update suppressions for OSX 10.9 (64-bit)
da56900 : 2 execontexts in an hash table chain are not necessarily the same size. So, ensure that when size differs, we do not start to compare them, as this could otherwise cause a read buffer overrun
3b48762 : Fix Makefile 'MISSING EXTRA_DIST' due to addition of tc20_verifywrap.stderr.exp-glibc-2.18
5ab7ce8 : Fix a regression in supp matching with obj: entries
8693182 : According to Julian initialising the previously uninitialised variable won't affect the test adversely -- so let's do this and get rid of the special compilation again. Also guard against future compiler smartness tricking the compiler into believing the variable is actually used. So the loop won't get optimised away.
885d479 : Make error message more precise.
841b4db : Suppress a clang warning about an uninitialised variable. Fixes BZ #329694.
39f754d : Implement LD1/ST1 {3 regs . 16b}, [ea] (no offset)
d94082e : helgrind/tests/tc20_verifywrap: Port to glibc >= 2.18
a6efdfa : Rename --defaultsupp into --default-suppressions as requested by Julian
99d9178 : Document return value of VALGRIND_MAKE_MEM_DEFINED and friends.
8e4d402 : BZ 330257 has been fixed in r14055.
06766bd : Update the copyright notice in files ending in '.in' because the script change-copyright-year did not handle them. Update the script as well.
aec49a4 : OS X 10.9: Add redirections for strnlen, strcpy, strncpy, platform_memchr, _platform_memcmp.
63e907b : * Move the new 10.9 syscalls into their own section. * Add a POST_MEM_WRITE for kernelrpc_mach_vm_map_trap * fix a compiler complaint caused by lack of a cast
540f105 : Wrap long lines in kernelrpc_mach_* PRE/POST handlers. No functional change.
94ef326 : Enable more test cases: ins (vec[], vec[]) mla, mls, mul (vec, vec, vec[]) various more movi/mvni cases not 16b/8b
787a67f : arm64: more SIMD instructions: ins (vec[], vec[]) mla, mls, mul (vec, vec, vec[]) various more movi/mvni cases not 16b/8b
73e9a01 : Make none/tests/cmdline[12] pass again
5d668be : drd/tests/std_thread2: Re-enable
2c68e3e : core: Add command-line option --defaultsupp
aed34e6 : Add Iop_Abs64x2; unbreak build.
48d7945 : Update list of ignored files.
7fd2ec3 : ms_print ought to create temporary files in a proper directory as specified with --with-tmpdir at configuration time or with TMPDIR at runtime. Doing so fixes the symptom reported in BZ #332765. Also fix an incorrect error message.
0ff1641 : Find the name of the inlined function through a DW_AT_specification The name is not necessarily found in the abstract origin, it can be in a referred to specification.
e1f94b8 : This optimisation divides by 2.5 the time (user+sys) needed to read the inlined info of a big executable. On a slow pentium, reading the inline info now takes 5.5 seconds.
e0bd591 : Use macro TD3 defined as UNLIKELY(td3) for tracing to be sure the compiler understands that usually, we do not trace
c3e09f6 : OS X 10.9: add intercepts for libsystem_platform.dylib : _platform_strchr libsystem_c.dylib : strlen libsystem_platform.dylib : _platform_strcmp
34ffca6 : Whitespace and comment-only changes. No functional change.
5601807 : kernelrpc_mach_vm_allocate_trap writes the resulting address to *ARG2 on successful return. We need to mark this as defined.
704bf0e : Redirect strchr in dyld (the dynamic linker) on OS X 10.9, for the usual reason.
d7d4acf : Fix a few Char / HChar mixups.
7c4f9e3 : Fix a missing-prototype warning on OS X 10.7.
c4fa725 : Fix an enum type confusion, PPCAvFpOp vs PPCAvOp, as excellently detected by Clang. Gcc, are you paying attention?
5aa09bf : Mark unused functions as unused, to keep Clang happy.
107954f : Remove unused function swapfunc().
39d013e : Remove fd_exists(), as it is never used.
7c2f6c1 : Fix incorrect header guard macro, as awesomely detected by clang.
6822be8 : Fix a -Wshadow warning from some oldish version of XCode.
ba8dea3 : Mac OS X 10.9 improvements. Bug 326724 comment 27 patch name "0005-darwin-try-to-improve-support-for-mach_msg-on-extern.patch" (Frederic Germain,
8dc9365 : Mac OS X 10.9 improvements. Bug 326724 comment 27 patch name "0004-wqthread_hijack-fix-magic_delta-on-darwin-10.9.patch" (Frederic Germain,
32f5c09 : Mac OS X 10.9 improvements. Bug 326724 comment 27 patch name "0003-darwin-remove-warnings-in-logs-related-to-Char-HChar.patch" (Frederic Germain,
d8e9a29 : Mac OS X 10.9 improvements. Bug 326724 comment 27 patch name "0002-thread_state_from_vex-adding-support-for-x86_THREAD_.patch" (Frederic Germain,
d37dccf : Un-break the build on OS X 10.8 following r14057 (0001-adding-support-for-loads-of-new-syscall-in-darwin-10.patch)
5d75d53 : Mac OS X 10.9 improvements. Bug 326724 comment 27 patch name "0001-adding-support-for-loads-of-new-syscall-in-darwin-10.patch" (Frederic Germain,
20380fb : Un-break the build on OS X 10.8 following 14055 ("initial build support for Mac OS X 10.9")
ec66ad5 : Add initial build support for Mac OS X 10.9 (Mavericks). Bug 326724 comment 12. (Diego Giagio,
76ac476 : Increase the number of vector registers available for allocation from 3 to 5.
946f019 : Enable/enhance test cases for: dup_{d_d[], s_s[], h_h[], b_b[]}, ext
ab33a7a : Implement: dup_{d_d[], s_s[], h_h[], b_b[]}, ext
64ba574 : Improve/fix hash table collision statistics + remove useless space in gdbsrv hostvisibility keywork
6599d5b : Enable test cases for: orr_{8h,4h}_imm8_shifted, orr_{4s,2s}_imm8_shifted, bic_{8h,4h}_imm8_shifted, bic_{4s,2s}_imm8_shifted, cls_std6_std6, cm{eq,ge,gt,hi,hs,tst}_d_d_d, cm{ge,gt,le,lt}_d_d_zero, cnt_{16,8}b_{16,8}b
2b6fd5e : Implement: orr_{8h,4h}_imm8_shifted, orr_{4s,2s}_imm8_shifted, bic_{8h,4h}_imm8_shifted, bic_{4s,2s}_imm8_shifted, cls_std6_std6, cm{eq,ge,gt,hi,hs,tst}_d_d_d, cm{ge,gt,le,lt}_d_d_zero, cnt_{16,8}b_{16,8}b
80d9c8f : When printing "REDIR:" lines at -v, print not only the name of the function being redirected but also the soname of the object that it is in. This makes it a bit easier to diagnose redirection problems.
86be6ed : restructure dwarf3 DIE tracing * add a trace_DIE function * use it to trace a bad DIE and to trace all DIEs that are (maybe) read
d16fb63 : optimisation : avoid double reading of a DIE when the DIE will be parsed by a DIE parser
d316782 : Refine NEWS entry for helgrind Ada tasks intercepts
b152de1 : Use a string literal format to avoid a gcc warning (-Wformat-security)
d40aff5 : Add helgrind intercepts to have helgrind understanding Ada tasks terination rules A recent gnatpro version is needed for this to work.
eb3af1c : Announce in NEWS 199144 == 278972
5612d1a : Fix random crash due to non-init inlparser when --read-var-info given but not --read-inline-info
87a5bad : Handle new IROp Iop_Abs64x2.
5e023e8 : Enable test cases for instructions implemented today.
b9aff1e : arm64: implement: addp std7_std7_std7, addv vector, addp d_2d
896a3bf : Add a comment to document a possible optimisation (avoid double reading of DIEs when one or more parsers will read them also) + add the name of the parser in the barf output.
25523c4 : arm64: implement: abs d_d, neg d_d, abs std7_std7, addhn, subhn, raddhn, rsubhn
e504887 : When only reading inline info, no need to parse debug_types sections
0d2ea9d : Fix some obsolete comments, now that we have an ht of parsed abbvs
c983157 : separate the tracing code in other function, call the tracing code only if trace active.
67e1ad2 : Announce in NEWS the support for inlined function calls in stacktraces/suppressions
a0a7393 : This patch implements the support needed for stacktraces showing inlined function calls. See 278972 valgrind stacktraces and suppression do not handle inlined function call debuginfo
746e97e : Improve performance of dwarf3 reader using a hashtable of parsed abbreviations
d96daf6 : Remove temporary front end scaffolding for Cat{Even,Odd}Lanes and Interleave{LO,HI} operations, and instead generate real UZP1/UZP2/ZIP1/ZIP2 instructions in the back end.
4934554 : small improvement in x86 unwind debug tracing
2352e98 : Do not destroy the strpool if NULL It is possible that a debug info contains no string (and so strpool is never allocated). A protection to avoid accessing strpool was already necessary in ML_(canonicaliseTables) : if (di->strpool) VG_(freezeDedupPA) (di->strpool);
a950336 : Add test cases for LD1R (single structure, replicate).
18bf517 : Implement LD1R (single structure, replicate).
dc9669f : drd: Revert r14023
6fe6ef5 : drd/tests/std_thread2: Disable this test temporarily such that the suppression patterns can be restored
7293d25 : This patch adds a 'de-duplicating memory pool allocator': include/pub_tool_deduppoolalloc.h coregrind/pub_core_deduppoolalloc.h coregrind/m_deduppoolalloc.c and uses it (currently only) for the strings in m_debuginfo/storage.c The idea is that such ddup pool allocator will also be used for other highly duplicated information (e.g. the DiCFSI information), where significant gains can also be achieved. The dedup pool for strings also decreases significantly the memory needed by the read inline information (patch still to be committed, see bug 278972).
dcef54c : Enhance slightly the x86 debug trace unwind code
2333583 : Fix the cleanup: line to avoid an error message in case the file does not exist.
9c33269 : Add test cases for FMUL 2d_2d_d[], 4s_4s_s[], 2s_2s_s[].
85fbb02 : Implement FMUL 2d_2d_d[], 4s_4s_s[], 2s_2s_s[].
fc83d2c : Remove the old SIMD decoder entirely.
770f5ea : Add tests for movi_4s_#imm8,lsl8 and ushr_d_d_#imm.
ce93f9e : Fix Boost detection test
5747c4a : Move remaining implemented SIMD instructions into the new SIMD/FP decoding framework.
10a2149 : glibc-2.X-drd.supp: Add support for --num-callers=1
d3a8fca : drd/tests/std_thread2: Make this test independent of the libstdc++ version
dce0698 : Enable test for movi_{16b,8b}_#imm8.
df1628c : Reimplement the SIMD and FP instruction decoder, so as to avoid huge amounts of duplicated decode, and to follow the documentation more closely.
58ba784 : Update.
df33717 : drd/tests/std_thread2: Filter out libstdc++ header file line numbers
c23ae60 : Avoid warnings due to implicit conversion between void*, Addr, and fn pointers
3a73b39 : When enabling hostvisibility in gdbsrv, give a more user friendly message for the required GDB add-symbol-file command
d3194d1 : mips: Fix non mips compiler warning.
a41ca89 : drd/tests: Update Subversion ignore list
3cc2620 : drd: Ignore ordering introduced by a mutex used in the thread creation wrapper
a6f70d5 : drd/tests/std_thread2: Add
a9d5eda : drd/tests/local_static: Disable because g++ does not yet allow proper interception of initialization of local static variables
f056aab : drd: Add __cxa_guard_*() intercepts
d8070b3 : drd/tests/local_static: Fix a typo
22a7456 : drd/tests: Update Subversion ignore list
f6bcf16 : drd/tests/local_static: Add
9a68a77 : gdbserver_tests: Update Subversion ignore list
1808046 : memcheck/tests: Update Subversion ignore list
6ce61e5 : none/tests/amd64: Update Subversion ignore list
4461220 : shared: Update ignore list
5a3b2a4 : drd manual: Fix C++11 instructions
0ebae82 : drd/tests/std_thread: Remove two superfluous macro definitions
05a6673 : drd/tests/std_thread: Minimize diffs with original
ac1b70d : drd/tests/std_thread: Enable this test program
5b2bdd9 : have helgrind filter_stderr transforming tid n into tid #x to avoid gdbserver_tests/hginfo random failures caused by thread scheduling differences
8bad1f3 : drd manual: Document how to avoid false positive reports on the C++11 std::thread class
0705dd1 : Enable sys_fchmodat.
eba9485 : Fix out-of-range constants for some 32 bit insns, presumably tolerated by older assembler versions but not newer ones.
e1adb24 : Add test cases for ADC/ADCS/SBC/SBCS. Pertains to #335496.
dee3050 : Support ADC/ADCS/SBC/SBCS. Fixes #335496. (
ab102bd : Support the "ishst" variant of "dmb". Fixes #335263. (
aec051d : Support movi_{16b,8b}_#imm8. Fixes #335262. (
dca0af6 : mips64: Tests for Cavium MIPS Octeon Atomic and Count Instructions.
6ced72b : mips64: Support for Cavium MIPS Octeon Atomic and Count Instructions.
5ccbe75 : Make each test disable-able, and enable tests of instructions that are currently supported.
01c5e66 : Update.
18d6f4e : Improve address description for address in the stack. --read-var-info=yes is very memory and cpu intensive. This patch ensures that even witout --read-var-info=yes that the frame where the address point is reported in the address description.
b7c2f9d : Check for setcap executables, as we already do for setuid and setgid ones, and refuse to run them in the same way. BZ#335143.
49c3645 : Update.
c3ba239 : Forgot to update NEWS file with bugzilla 335155 fix.
7136e5f : vgdb, fix error print statement.
a2bf389 : Add test cases for PCMPxSTRx cases 0x0E, 0x34, 0x14, and reformat some of the associated switch statements. Pertains to #326469, #327639, #328878 respectively.
eead319 : Implement PCMPxSTRx cases 0x0E, 0x34, 0x14, and reformat some of the associated switch statements. Fixes #326469, #327639, #328878 respectively.
5992918 : NEWS: Add #333072
cb48672 : drd: Add semaphore annotations (#333072)
04910c3 : on ppc64, pthread_create_WRK is not (always) produced in the stacktrace showing where a thread was created. This makes many tests fail => use sed to delete pthread_create_WRK from the stacktrace to let tests succeed on ppc64. With this change, on ppc64 gcc110 (fedora 18), helgrind failures goes from 28 tests failing to 4, with following reasons: helgrind/tests/pth_cond_destroy_busy (stderr) (6 errors instead of 3 in the summary line ???) helgrind/tests/tc06_two_races_xml (stderr) similar change needed in filter_xml to del pthread_create_WRK helgrind/tests/tc18_semabuse (stderr) - with error code 22 (EINVAL: Invalid argument) + with error code 38 (ENOSYS: Function not implemented) helgrind/tests/tc20_verifywrap (stderr) - with error code 22 (EINVAL: Invalid argument) + with error code 38 (ENOSYS: Function not implemented)
a47b3e4 : Fix exp-bbv testcases such that they can be built out-of-tree. Part of fixing #333628.
c07369b : Enable vgdb ptrace invoker for aarch64.
639c351 : drd/tests/atomic_var: Revert r13876.
8b8d7c7 : Fix 334788 clarify doc about --log-file initial program directory Behaviour is kept unchanged, a paragraph is added in the doc to clarify.
d898bf0 : Revert "Tools should explain why an option is bad when using fmsg_bad_option."
02fbf7f : On old kernel, poll syscall being ptraced (vgdb+ptrace) is not necessarily properly restarted. Instead, it can fail with EINTR, even if no signal was effectively received.
39cb45e : Revert configure support for adding -Werror=format-security.
1f2f9a1 : Tools should explain why an option is bad when using fmsg_bad_option.
b74bb9a : arm64-linux: enable sys_sched_setaffinity, sys_linkat.
ec1e2ea : Update.
fda314f : Implement SHL_d_d_#imm.
b355347 : Initial front-end fixings needed to handle code generated by gcc-4.9 on arm64-linux.
883ac8b : Enable: sys_add_key, sys_keyctl, apparently needed by glibc-2.19.90 on arm64-linux.
c913c8e : Make the PLAT_ identification work properly for mingw-win64. Problem was that mingw64 also defines __MINGW32__, which led to the 32-bit definitions being used in the 64-bit case. n-i-bz. (
d98cee7 : Add more test cases: trn1, trn2, uzp1, uzp2, zip1, zip2, urecpe, ursqrte. This completes the test cases for the SIMD integer instructions.
2148803 : Add more test cases: sqrshrn, uqrshrn, sqshrn, uqshrn, sqrshrun, sqshrun, sqshl, uqshl, sqshlu, sqxtn, uqxtn, sqxtun, srhadd, urhadd, sshl, ushl, shl, sshr, ushr, ssra, usra, srshl, urshl, srshr, urshr, srsra, ursra, suqadd, usqadd.
e50a5cc : Add more test cases: sqdmulh, sqrdmulh, sqshl, uqshl, sqrshl, uqrshl, sqrshrn, uqrshrn, sqshrn, uqshrn, sqrshrun, sqshrun.
3628343 : Add tests for VFPv4 VFMA/VMFS. Pertains to #331057.
7bfbbe9 : Implement VFPv4 VFMA and VFMS (F32 and F64 versions). Fixes #331057. Patch from Janne Hellsten ( with algebraic rearrangement for the VFMS cases so as to make result signs match with the hardware when some of the inputs are infinities.
fed894d : minor comment reformatting
07c0852 : Factorises the address code description and printing of memcheck and helgrind in a common module: pub_tool_addrinfo.h pub_core_addrinfo.h m_addrinfo.c
1c9b599 : Update.
aa02f66 : Use safe_to_deref in coregrind syswrap-generic.c (msghdr_foreachfield).
5c683cf : Support -Wformat -Werror=format-security.
fb52832 : Add send_signal to gdbserver_tests/ (dist_noinst_SCRIPTS).
2fd06ef : Followup to r13958: add reg-trash lists to inline assembly in TESTINSTPCMISALIGNED TESTINSTPCMISALIGNED_DWORDOUT TESTINSTPCMISALIGNED_2OUT and nice up the the indentation a bit.
6c25068 : Thumb encoding: add test case for assertion failure caused by "ldr.w pc, [reg, #imm]". See #333428. (
bd11c71 : Thumb encoding: fix assertion failure caused by "ldr.w pc, [reg, #imm]". Fixes #333428. (
2f3968d : Thumb encoding: add test cases for misaligned loads of the form LD Rt, [Rn +/- #imm12] when Rn == PC See #333145. (
f36d9af : Thumb encoding: correctly deal with misaligned loads of the form LD Rt, [Rn +/- #imm12] when Rn == PC Fixes #333145. (
37dd8f6 : On 32-bit x86, allow lzcnt to be detected on Intel CPUs as well as on AMDs. 64-bit equivalent does not have this bug. Fixes #334049.
d8999c5 : Add more test cases: shll, shrn, rshrn, sli, sri, smaxp, umaxp, sminp, uminp, smlal, umlal, smlsl, umlsl, smull, umull, sqabs, sqneg, sqadd, uqadd, sqsub, uqsub, sqdmlal, sqdmlsl, sqdmull, sqrdmulh.
da0b940 : Minor updates.
9af07af : Update.
853a1ce : In case gdbsrv poll syscall fails, produces more information gdbsrv poll syscall seems to very infrequently (1 on 100000 vgdb invocations§) to be EINTR-upted. So, when poll syscall fails, output stacktrace + sigmask status to capture more info about the problem. This is a follow-up/extension of r13748, which showed poll was interrupted but it is not clear why. In particular, all async signals are supposed to be masked at the time vgdb has forced an invocation
bd830b4 : Update __VALGRIND_MINOR__ before it gets forgotten again.
de381ca : 3_9_BUGSTATUS.txt: looked at all bugs in the file. Moved fixed ones to NEWS (if not already there). Put the rest of them into a set of categories depending on which part of the code base is affected, which divides them up into -- IMO -- much more managable groups.
fbde9cf : Add uninstall-local rules to make distcheck happy.
e299020 : Out of tree build. Partial fix for Bug 333628.
20bafc2 : Add test for MPX instructions and bnd prefix. Bug #333666.
67ac3fd : Recognize MPX instructions and bnd prefix. Bug #333666.
8150aa4 : Update bug list.
38823bc : Add more test cases: mul, mvni, not, pmul, pmull, rbit, rev16/32/64, saba, uaba, sabal, uabal, sabd, uabd, sabdl, uabdl, sadalp, uadalp, saddl, uaddl, ssubl, usubl, saddlp, uaddlp, saddlv, uaddlv, saddw, uaddw, ssubw, usubw, shadd, uhadd, shsub, uhsub.
bcbfa98 : Add more test cases: ext, ins, mla, mls, movi.
ed4c5c1 : Keep the reading side of the FIFO opened after a vgdb disconnect Otherwise, if the valgrind process has just forked before the vgdb connect, and the child has not yet closed the FIFO it inheritates from its parent, and a 2nd vgdb is started before the parent has re-opened the reading side FIFO, the 2nd vgdb can connect to the child, which will not handle the wakeup character/connection request, and vgdb will have a write error and/or block.
4574f76 : When constructing a signal frame, tell the tool that the registers that carry the arguments (signo, siginfo, mcontext) for the handler, have been written. In particular this makes Memcheck think (correctly) they are defined and so removes a bunch of false positives that can happen in the signal handler, should the registers have been marked undefined before the signal.
6d0e77b : * document the %ps / %pS extensions to printf * remove (from memcheck) emiN, as PRINTF_CHECK can be done properly
8130f91 : On a big application linking with gtk, using the compilation options -ffunction-sections -fdata-sections and the linker option -Wl,--gc-sections, --read-var-info=yes gives the following:
702054e : Handle "blr lr" correctly -- read the destination register _before_ writing the return address in LR.
3a3758b : Enable test cases for SMULH.
7fce7cc : Enable 'smulh'.
ac0c92b : Handle IRStmt::STle of type F32.
1955143 : Allow early-writeback for the cases stp d, d, [sp,#-imm]! stp s, s, [sp,#-imm]! as well as for the existing case stp q, q, [sp,#-imm]!
7a596da : Fix two warnings of unusued variable or variable set but not used
5c5b8fc : For the following c program:
f3ea0d5 : Fill in some SIMD integer test cases.
192c692 : Big reorganisation:
7cbc4e1 : Rename these two test files to make their names a bit less cumbersome.
20a760e : Fix assertion failures resulting from change of arity of Iop_{Add,Sub,Mul}32Fx4 introduced in r2809, in which said IROps acquired a rounding-mode argument.
1146ae6 : Renaming only (no functional change): rename IR artefacts to do with i-cache invalidation to be more consistent with new d-cache flushing functionality, so as to track changes in Vex r2852: Ijk_TInval -> Ijk_InvalICache TISTART -> CMSTART (CM == "Cache Management") TILEN -> CMLEN VEX_TRC_JMP_TINVAL -> VEX_TRC_JMP_INVALICACHE
05f5e01 : Renaming only (no functional change): rename IR artefacts to do with i-cache invalidation to be more consistent with new d-cache invalidation functionality: Ijk_TInval -> Ijk_InvalICache TISTART -> CMSTART (CM == "Cache Management") TILEN -> CMLEN VEX_TRC_JMP_TINVAL -> VEX_TRC_JMP_INVALICACHE
c1c52e2 : Update aarch64 fixes.
c4040e4 : VG_(invalidate_icache) for ARM64: fix incorrect computation of cache line sizes.
c76d0e5 : ARM64: add support for cache management instructions (Valgrind side): dc cvau, regX ic ivau, regX mrs regX, ctr_el0 Fixes #333228 and #333230.
6590299 : ARM64: add support for cache management instructions (VEX side): dc cvau, regX ic ivau, regX mrs regX, ctr_el0 Fixes #333228 and #333230.
f577434 : Helgrind : two new gdbserver commands 'describe address' and 'info locks' - Helgrind GDB server monitor command 'describe <address>' allowing to describe an address (e.g. where it was allocated). - Helgrind GDB server monitor command 'info locks' giving the list of locks, their location, and their status.
e7bf3b0 : Update.
bfd1d9f : syswrap: XEN_DOMCTL_resumedomain
6505667 : syswrap: XEN_HVMOP_set_mem_type
2c28071 : syswrap: XEN_HVMOP_set_pci_link_route
a5f81a0 : syswrap: XEN_HVMOP_set_isa_irq_level
331b3f0 : syswrap: XEN_DOMCTL_cacheflush
718b0fb : syswrap: XEN_DOMCTL_settimeoffset
4612846 : Add test cases for out-of-range argument handling for x87 instructions FSIN, FCOS, FSINCOS and FPTAN. Mozilla bug 995564.
e9c51c9 : x87 instructions FSIN, FCOS, FSINCOS and FPTAN: handle out-of-range arguments correctly. Mozilla bug 995564.
090b529 : Fix/improve user manual and man page derived from it.
08a0e88 : Also give the indication on how to use vgdb when --vgdb-stop-at is given
8edd625 : Add a list of all the FP+SIMD insns, as a base from which to generate test cases.
7c58a42 : Finish off and/or re-enable test cases for: vector integer comparison instructions, and vector shift-by-immediates (Shr/Shl/Sar) instructions.
9301343 : Finish off vector integer comparison instructions, and vector shift-by-immediates (Shr/Shl/Sar) instructions.
c16b2a1 : Increase some sleep time to (try to) avoid some failure. With the new sleep time, no failure on 1200 runs of the test.
ca903bb : clo_processing is now done when this procedure is called. So, we can now allocate this memory only when approx history level is requested.
ea58d61 : Add a new test that shows a surprising side effect of the medium resolution (4 callers) used to compare errors.
a460df8 : Filter lines such as: +38 ../sysdeps/unix/sysv/linux/_exit.c: No such file or directory.
6f3f859 : Make the test (more) deterministic by having send_signal using a guardcmd before sending the signal. This allows to be sure that the signal are emitted when vgdb is attached. We still have one 'sleep' in the test.
41d3111 : Improve the comments in the test
90afa78 : Due to timing problem, test was not properly testing. What needs to be ensured is: vgdb is attached (i.e. is ptracing valgrind) 2 sigusr1 signals are sent while vgdb is ptracing vgdb will queue these signals when continuing, the queued signals are delivered.
808584b : For the redirections for arm32-linux, allow the soname in addition to the existing name,
903e051 : Enable sys_sendmmsg() on arm32.
e1d591d : Remove the 2 sed expressions that were trying to massage the stacktrace for the last program instruction encountered with --vgdb-stop-at=exit These are not needed anymore, as these lines are now removed
d719453 : Too difficult to match the stacktrace of the last instruction of a program => let's remove these (uninteresting) lines rather than trying to 'sed' them to make them look the same on different OS/platform/....
2c89107 : * Modify nlgone_exit so that it tests --vgdb-stop-at=startup,exit * remove empty lines from nlgone_*.stdinB.gdb, as these empty lines are (surprisingly) repeating the previous gdb command. Empty lines should be be put in the *gdb files. * And add yet another sed expression in filter_gdb to cope with the different place where a thread exits. (this filter technique is now *really* arriving in a dead end e.g. the link between the comment and the sed expression is very poor).
b8ac5ac : * Implement optimisation in storev8/16/64 similar to optimisations in storev32
adfff76 : * Factorise code between is_valid_for_client and is_valid_for_valgrind. * Implement VG_(am_is_valid_for_valgrind) * Use it in gdbsrv to check accessibility when hostvisibility is activated
17e76ec : Cleanup some old leftover of AIX port + fix a comment
e4d7812 : * New option --aspace-minaddr=<address> allows to (possibly) make use of some more memory by decreasing the default value or solve some conflicts with system libraries by increasing the value. See user manual for details.
180a750 : - The option "--vgdb-stop-at=event1,event2,..." allows the user to ask GDB server to stop before program execution, at the end of the program execution and on Valgrind internal errors.
a7d70b1 : Reword/clarify the VG_(parse_enum_set) comment.
0c2923f : Factorise enum set parsing code * add a function Bool VG_(parse_enum_set) in pub_tool_libcbase.h/m_libcbase.c (close to Bool VG_(parse_Addr) * Implement Bool MC_(parse_leak_heuristics) and MC_(parse_leak_kinds) as a call to VG_(parse_enum_set)
4f6f336 : Several improvements to (internal) statistics reporting about memory usage, making it easier to understand the memory and/or oom situation. No functional (user level) change.
6654de8 : vgdb must not transmit signals when gdbserver has been ptrace-invoked.
f03d0b7 : mips64: Add an extra case for mips64 in ML_(get_CFA).
05f3641 : mips32: According to the glibc bug 5044 ( until the glibc version 2.17 printf hadn't respected the rounding mode for decimal output. Because of change in glibc printf function we need to change our expected output file for none/tests/mips32/FPUarithmetic test.
85d4514 : Make origin tracking work on arm64.
5d38425 : Handle Iop_Max32U, so as to make origin tracking in Memcheck work.
bd83e98 : {FMOV,MOVI} (vector, immediate): fix incorrect DIP format string
5d99813 : Enable syscalls: sys_readv sys_signalfd4 sys_utimensat sys_timerfd_create sys_timerfd_settime sys_timerfd_gettime sys_capget sys_syslog sys_sched_yield sys_sigaltstack sys_rt_sigqueueinfo sys_mq_timedsend sys_mq_timedreceive sys_mq_notify sys_mq_getsetattr sys_mremap
0abc419 : mips32/64: According to DWARF version 4 in DW_TAG_structure_type we can have DW_AT_signature attribute. That wasn't the case in DWARF version 3.
fe0b433 : mips32: Add an extra case for mips32 in ML_(get_CFA) in witch Valgrind will call compute_cfa to get the call frame address.
950ca7a : Implement LD2/ST2 (multiple structures, post index) (some cases) LD1/ST1 (multiple structures, no offset) (some cases)
85e5990 : Add tests for some variants of LD{1,2}/ST{1,2} that load or store two registers.
1092f19 : Add tests for FCMEQ, FCMGE, FCMGT, FACGE, FACGT (reg-vs-reg variants only)
92d0ae3 : Implement TBL and TBX instructions.
36a911a : Add a couple more constant folding rules for vectors.
1cf79f7 : Bug 332658 - ldrd.w r1, r2, [PC, #imm] does not adjust for 32bit alignment (
9a55e89 : Fix a small typo in drd EXTRADIST file list for mips32
2bd1ffe : Implement FCM{EQ,GE,GT}, FAC{GE,GT} (vector).
fc6bbd3 : mips32: Additional .exp files for mips32.
eae3f03 : mips32: Additional .exp file for mips32.
c5fc866 : Add client requests VALGRIND_DISABLE_ADDR_ERROR_REPORTING_IN_RANGE and VALGRIND_ENABLE_ADDR_ERROR_REPORTING_IN_RANGE and supporting machinery for managing whole-address-space sparse mappings. n-i-bz. In support of
c32dd87 : mips32: When we are accessing elements via double pointer MIPS compiler can generate two consecutive 32bit loads instead of one 64bit load. Because of that in error log we have two conflict loads of size 4 instead of one conflict load of size 8.
63eb989 : drd: Add post-rwlock_init and pre-rwlock_destroy client requests (#332265)
b3eae3e : mips: Disable test on mips32/64 big-endian platforms.
c29761f : VG_(strlen) ( const HChar* str ) does not count the null terminator '\0' at the end of the string, so we need to add an extra element in string 's' for the null terminator. VG_(strcpy) ( HChar* dest, const HChar* src ) function copies the string pointed to by src, including the null terminator ('\0'), to the buffer pointed to by dest.
14360e9 : mips32: Avoid compiler warnings.
263298b : Update.
23ed630 : Make Helgrind test cases build on arm64-linux.
4ad5efc : drd: Fix pthread_rwlock_timed{rd,wr}lock intercepts (#332263)
35d91d9 : drd/tests/atomic_var: Avoid that platform-specific code can trigger a false negative
91e1460 : For arm64, implement macros CALL_FN_W_5W to CALL_FN_W_12W.
f2d8663 : strmem intercepts: Add mempcpy() intercepts for ld-linux on x86
e84eeb4 : Un-break the arm32 compilation pipeline following the change of arity of Iop_Mul32Fx4, Iop_Sub32Fx4, Iop_Add32Fx4 in r2809.
6a7ce26 : Update for ARM fe fixes for 332037 and n-i-bz LDRD .. [PC, ]
055e93a : LDRD/STRD reg+/-#imm8: allow PC as the base register in the case "ldrd Rt, Rt2, [PC, #+/-imm8]". n-i-bz.
0a4f4bb : Correctly handle add(hi) when the destination register is the PC. Fixes #332037.
1c540aa : NEWS: Mention recently fixed DRD issues
8b07a12 : NEWS: Mention recently fixed DRD issues
caefb28 : drd: Fix an assertion failure in the internal consistency check code (#332055)
e3c808e : Add vki/vki-*arm64-linux.h to include/ nobase_pkginclude_HEADERS.
aeacd28 : Make sure all files under the new shared dir are included in make dist.
ded468f : Add vgdb.h to coregrind/ noinst_HEADERS.
be25444 : Add vki/vki-xen-tmem.h to include/ nobase_pkginclude_HEADERS.
62f0937 : mips32/64: Fix some mips32 and mips64 definitions.
0895b09 : coregrind/m_scheduler + drd: Rework r13862
2bf4bb9 : drd: Build fix for ENABLE_DRD_CONSISTENCY_CHECKS
38e1f35 : coregrind/m_scheduler: Inform tools about thread ID while translating
78bc770 : Enable sys_getpriority and sys_setpriority for ppc64.
c46e6cc : Handle IROps introduced by the arm64 port: Iop_ZeroHI64ofV128, Iop_ZeroHI96ofV128, Iop_ZeroHI112ofV128, Iop_ZeroHI120ofV128, Iop_Abs64Fx2, Iop_Neg64Fx2
505a27d : Back-end handling of Iop_CmpNEZ32x4, Iop_CmpNEZ16x8, Iop_CmpNEZ8x16, needed for Memchecking of SIMD arm64 code.
bb9b1b9 : Supporting macros for function intercept and wrapping on arm64: * implement VALGRIND_ALIGN_STACK, VALGRIND_RESTORE_STACK * preserve r30(LR) across the hidden call, so as to avoid segfaulting later
7aa6651 : Replace strlen, index, strcmp in the AArch64 (Why does it have the soname "" and not "" like all the rest?)
99c1f81 : Implement a couple of backend artefacts needed by Memcheck on large applications: Iop_CmpNEZ64x2 expressions Ijk_NoRedir block terminators
e0bff8b : Do early writeback of the base register for the following instruction forms, to stop Memcheck complaining about writes below the stack pointer: str x3, [sp,#-16]! stp q0, q1, [sp,#-512]!
0f73047 : Enable syscalls: sys_inotify_init1 sys_inotify_add_watch sys_inotify_rm_watch sys_fallocate sys_quotactl sys_pwrite64 sys_sysinfo sys_shmctl wrap_sys_shmat sys_shmdt
f21a6ca : * iselIntExpr_AMode_wrk: generate correct code for the case "Sub64(expr,simm9)."
01213b3 : More test cases: xtn,xtn2 ushr 8h, 8h, #imm
1eaaec2 : Support extra instruction bits and pieces, enough to get Firefox started: * more scalar int <-> FP conversions * more vector integer narrowing * a few more vector shift by imm cases * FCVTAS (kludged)
b5170b9 : Enable the following syscalls: sys_eventfd2 sys_symlinkat sys_renameat sys_fstatfs sys_fsync sys_clock_getres sys_sched_getaffinity sys_shmget sys_fadvise64
0652432 : drd/tests/thread_namedrd/tests/thread_name: Ensure mutex address uniqueness (see also #331847)
43e28a8 : drd/tests/sem_open: Change the semaphore name (#331839)
0c0793c : mips32/mips64: Fix the problem with VKI_ENOSYS and VKI_EOVERFLOW for mips32/64.
f8ee0df : updated NEWS to state bug 329956 is fixed for the next release.
b176a6f : mips32: Fix the problem with reading the guest_FCSR register from the wrong guest state.
d5c26f9 : Add comprehensive testing for almost all supported load/store instructions.
5ba4130 : Fix error in 64-bit and smaller load versions of LDR/STR (immediate, SIMD&FP, unsigned offset)
d11ed20 : Enable sys_epoll_create1, sys_epoll_ctl, sys_epoll_pwait, sys_prctl.
d89499b : Add many test cases from arm64.
32d8675 : Implement REV16, REV32, FCVTN, SHL (vector, immediate), NEG (vector)
036c8a4 : Update; document missing test cases.
94f53cb : Add test cases for SIMD and FP instructions.
7a35989 : Enable the following syscalls, which are needed to make regtests in none/ work: sys_ftruncate sys_setitimer sys_rt_sigsuspend sys_rt_sigtimedwait sys_mq_open sys_mq_unlink sys_semget sys_semctl sys_semtimedop sys_semop sys_listen sys_accept sys_process_vm_readv sys_process_vm_writev
b1a628d : Fixes form arm64-linux.
599cd7a : Support arm64.
5860ec7 : Remove redundant FMOV (vector, immediate) case. Minor comment fixes. Fix bugs in {U,S}{MIN,MAX}V, {U,S}{MIN,MAX}, {S,U}SSHL
9b1cf5e : Select and emit insns for Iop_ZeroHI64ofV128 Iop_Max8Sx16 Iop_Min8Sx16
63ab9dd : mips32: Fpu guest registers are ULong and the initial values need to be extended.
c221218 : wire up some more system calls on s390
da7e046 : Fill in a (very) few cases for get_otrack_shadow_offset_wrk on arm64. Apparently needed for generating some kinds of error messages, even when not doing origin tracking, strangely enough.
e3c20b4 : Enable a few more syscalls: sys_setpriority, sys_getpriority, sys_getresuid, sys_getresgid, sys_recvfrom, sys_readahead
dc9259c : Implement a few more integer instructions: NOP LDA{R,RH,RB} STL{R,RH,RB} RBIT
df22202 : mips32: Add tests for mips32 floating point compare instructions.
f37c086 : mips32: Fix the problem with the floating point compare instruction on mips32.
7e5a9c2 : This fixes the shadow validity setup of SP,IA and FPC. The current code misses a char * cast and thus uses a wrong pointer for memset. This resulted in corruptions of a thread state for multi threaded programs. After vex: r2818 the memset did overwrite the tid value of a thread, making this bug visible. Lets use the c structures instead of pointer arithmetics.
812e2f9 : BZ#331380 cont. Don't crash if evp->sigev_notify is invalid. Fix scalar test.
3995526 : Handle IPv6 addresses when reporting open file descriptors.
40bb783 : BZ#331380 Syscall param timer_create(evp) points to uninitialised byte(s)
4ced797 : Make SGCheck fail with a meaningful message on unsupported platforms. Fixes BZ #325856.
85905b6 : Announce bug fix for BZ #331305
51b14ee : Do not use == as it is not portable. Use = instead.
0bc560e : Bump __VALGRIND_MINOR__ to catch up with the release.
62477d2 : Avoid "let" which isn't portable.
28ae199 : Accept glibc 2.19 as valid.
987862c : Fix incorrect include, spotted by mjw.
3690e68 : Update.
29ac981 : * fix a bug in sys_clone that was causing threads to hang at exit * enable enough syscalls to be able to run ssh and bash
d512d10 : * add a kludgey fix for "mrs rT, dczid_el0" * make ISB and DSB really generate memory barriers
2e1de02 : memcheck/tests/ include filter_dw4 in dist_noinst_SCRIPTS.
c8fa5cc : Enable sys_ppoll, sys_kill, sys_socketpair.
dbb328d : arm64-linux: make restarting of syscalls interrupted by signals work
7d00913 : First pass at implementation of load/store exclusive and load/store exclusive w/ read-acquire/store-release: LD{,A}X{R,RH,RB} ST{,L}X{R,RH,RB}
ae082d8 : First attempt at supporting sys_clone. Also enable: sys_exit, sys_nanosleep, sys_madvise.
14857fd : Make these buildable on arm64-linux.
417e103 : Bug 331337 s390x WARNING: unhandled syscall: 326 (dup3)
c6acaa4 : Implement unchainXDirect_ARM64.
9c85e3f : Removing fixed issue #326444 from the bug list
ccfc908 : Remove those bugs that are already reported in NEWS as being fixed and have a FIXED status in Bugzilla.
24f0c3a : mips32: Support for 64bit FPU on MIPS32 platforms.
0e006f2 : mips32: VEX Support for 64bit FPU on MIPS32 platforms.
3e17274 : Fix BZ #327212. Check for absolute path name at the end of expand_file_name -- not at the beginning.
f674e38 : mips32/64: Remove default flags -mips32 and -mips64 from the
b0385bc : Filter out differences in structure size
77a6631 : Use pclose instead of fclose to close pipes opened with popen, which also allows us to drop the loop that was supposed to give the child a chance to exit as the pclose will wait properly for the child.
09c6ed8 : Use sigjmp_buf with sig{set,long}jmp, not jmp_buf
e520bb3 : Implement more aarch64 vector insns: CM{EQ,HI,HS,GE,GT,TST,LE,LT} (vector) {EOR,BSL,BIT,BIF} (vector) {USHR,SSHR} (vector, immediate) {U,S}SHLL{,2} INS (general) FABD Vd,Vn,Vm
8376591 : mips64: add missing file to EXTRA_DIST
f04257f : mips64: update list of svn ignore files
89981ae : mips64: correct mistyped test name
77b1986 : mips64: add tests for load indexed instructions
95d9e8f : mips64: add support for load indexed instructions from DSP ASE
965bf3f : Fix V-bit tester failures introduced by VEX r2815.
95a487b : Fix comments and code snippets that were making incorrect claims about the alignment requirement of the guest state, shadow areas, and register spill area sizes. The size of these areas ought to be a multiple of 16 bytes.
1b660cb : Update list of ignored files.
0b75059 : mips64: Add BE version of cvm_lx_ins.stdout.exp
b8afd6f : arm64: implement the apply on all GP register. This is needed for leak search to work properly/not crash.
7c2800a : Mention that --vgdb=full bypasses the discard_translation gdbsrv problem
5566301 : No need to discard translation in gdbserver when --vgdb=full is given, as all instructions are in any case instrumented when full is given.
3ef45eb : README.aarch64 : update status of gdbsrv for arm64
0eb0d5a : Fix or implement various things to have V gdbsrv working on arm64 * better handle error recovery when calling remote_desc_activity (avoid exhausting safe fd range) * fix small error in m_gdbserver/README_DEVELOPERS * implemented mknod and poll syscall on mknodat and ppoll (mknod and poll are not directly supported on arm64) * implement or fix various gdbsrv specific things needed for arm64 * changed assert condition in aspacemgr to VKI_SHMLBA >= VKI_PAGE_SIZE
4ea8f14 : - Handle KVM_CREATE_IRQCHIP, which does not take any parameter and returns 0 or -1. - white space fixes around the KVM ioctls
08d02cb : s390: Fix s390_amode_for_guest_state. In general the offset relative to the guest state pointer may be more than the B12 addressing mode can handle. Fall back and use a B20 addressing mode in those cases.
1179131 : Ignore executable. Should have been part of r13791.
2171afd : Fix the ppc32 special-instruction magic sequence so it really does preserve the value of r0, as claimed. Fixes #278808 (VEX side).
4decb26 : Fix the ppc32 special-instruction magic sequence so it really does preserve the value of r0, as claimed. Fixes #278808 (Valgrind side).
fab0914 : Implement more aarch64 vector insns: {S,U}{MIN,MAX} Vd.T, Vn.T, Vm.T (8bitx16lane variants) {S,U}{MIN,MAX}V Vd.T, Vn.T, Vm.T (8bitx16lane variants) FMOV (vector, immediate) MOVI (vector, immediate) FABS (vector) FNEG (vector) FMLA (vector) FMLS (vector) {AND,BIC,ORR,ORN} (vector)
aa229f3 : Update NEWS for VEX r2814
f0bb679 : Add support for syscall on x86
68f338f : Fix typo in poll wrapper
fef90e0 : drd: Make the code added in r13792 portable
72b2193 : drd/tests/trylock: Make this test pass for glibc >= 2.18
9025fdb : drd: Avoid that the drd/tests/pth_mutex_reinit test fails with glibc >= 2.18
a1b78a8 : This commit is a fix for "Bug 330622 - Add test to regression suite for POWER instruction: dcbzl" submitted by Anmol P. Paralkar <>
75beb11 : Fix V-bit tester failures introduced by VEX r2812.
f5b0891 : Implement a few more vector aarch64 insns: LD1 {vT.8h}, [xN|SP], #16 LD1 {vT.16b}, [xN|SP], #16 ST1 {vT.4h}, [xN|SP], #8 MUL Vd.T, Vn.T, Vm.T PMUL Vd.T, Vn.T, Vm.T (fe only) MLA Vd.T, Vn.T, Vm.T MLS Vd.T, Vn.T, Vm.T UMOV Xd/Wd, Vn.Ts[index] SMOV Xd/Wd, Vn.Ts[index]
647c002 : Create a list of all bugs reported after the 3.9.0 release (I think).
518510b : Show a line in the output log when the client connects but the requested file is not found by the server. This makes it easier to diagnose client--server communications problems.
1cd6c90 : Update.
ecde697 : Implement a few more vector aarch64 insns: LD1 {vT.4s}, [xN|SP], #16 ADD Dd, Dn, Dm SUB Dd, Dn, Dm SMIN Vd.T, Vn.T, Vm.T UMIN Vd.T, Vn.T, Vm.T SMAX Vd.T, Vn.T, Vm.T UMAX Vd.T, Vn.T, Vm.T SMINV Vd.T, Vn.T, Vm.T UMINV Vd.T, Vn.T, Vm.T SMAXV Vd.T, Vn.T, Vm.T UMAXV Vd.T, Vn.T, Vm.T DUP Vd.T, Rn FADD/FSUB/FMUL/FDIV32x4
6228e11 : mips64: Add tests that cover Cavium-specific load indexed instructions
d20794a : mips64: Support for Cavium-specific load indexed instructions
ddc4a18 : Add support for the clock_adjtime system call.
4f5be8c : Both eventfd and eventfd2 have post handlers that we were failing to call on most platforms. Fixes BZ #330459.
1546c7a : mips64: modify to check for cavium supported toolchain
55e7f19 : mips64: detect Cavium Octeon II in mips_features
606c4ba : Improve front and back end support for SIMD instructions on Arm64.
1eb272f : Handle and instrument an extra rounding-mode argument as added by vex r2809 to the following primops:
9571dc0 : Make the following primops take a third (initial) argument to indicate the rounding mode to use, like their scalar cousins do:
fec95c8 : This patch by fixes the lrmw and stmw instructions.
9fcbb9a : This patch by fixes the lrmw and stmw instructions.
8b1715b : Whitespace-only change: restrict to 80 col width.
cc4a004 : Update NEWS (platform changes section) with MIPS/Android
1df406c : mips64: Change the initial value of fpu registers.
fc073c3 : Fix typo.
4eeddf1 : Ignore testcase executable.
0345188 : arm64: rename guest_SP to guest_XSP so as to avoid a name clash with guest_SP from s390 world.
6068788 : arm64: rename guest_SP to guest_XSP so as to avoid a name clash with guest_SP from s390 world. Also back out the rename of guest_SP to guest_s390_SP that caused s390 build breakage in r2803.
383d5d3 : Update implementation notes for the arm64-linux port.
821283b : Initial implementation of CFI based stack unwinding for arm64-linux.
fdaf9e4 : Minor notes on arm64 register usages.
cc49074 : VG_(bzero_inline): handle up to 12 words inline.
aeeb31d : Add missing ULLs to some 64-bit immediates.
04332ce : Add test cases for AArch64 integer instructions (not wired up).
f0c1250 : Add support for ARMv8 AArch64 (the 64 bit ARM instruction set).
bbcf188 : Add support for ARMv8 AArch64 (the 64 bit ARM instruction set): integer and FP instructions.
cffe2a5 : add --vgdb-prefix arg to callgrind_control If valgrind is started with --vgdb-prefix arg, then callgrind_control cannot find and control this valgrind. So, add an (optional) argument to callgrind_control, and have callgrind tool report the needed vgdb prefix argument if the user supplied this arg.
3d24135 : The value of AT_BASE should be the offset between where the ELF interpreter expected to be loaded (as expressed in the ELF headers) and where it was actually loaded, and not (as valgrind was doing) the absolute value of the load address for the interpreter.
9c6b05d : mips32: Adding mips32/Android support to Valgrind.
feb533c : Announce fix for BZ #327284.
1371595 : Fix drd assert failure for monitor cmd execution when all threads blocked in syscall
f066315 : have massif printing its stats for stats
6a8aa58 : Callgrind: support printing stats via vgdb
bcff2cc : Fix 325714 Empty vgcore but RLIMIT_CORE is big enough (too big)
42a62d3 : mips32/64: Add extra suppression for mips32/64.
8587b54 : Implement gdbsrv " stats" command giving statistics for valgrind core + tools
e52e445 : Following svn r13758 (bug 328711), some further similar fixes,
4229cbd : Bug 328711 valgrind.1 manpage "memcheck options" section is badly generated
a150fe9 : Select expensive add/sub/cmp interpretations for blocks containing Iop_GetMSBs8x16, since the presence of those usually implies PMOVMSKB instructions in the block, which can mean "inlined string operations". Reduces the noise level a lot in some icc12 -O2 generated sequences.
0e457fc : LibVEX_GuestAMD64_initialise(): give an initial value for guest_ACFLAG. Kinda worrying that this was missing.
ade6988 : drd/tests/std_atomic: Add
a9c40a3 : Announce fix for BZ #328455.
a2039c5 : The result of rounding a 128-bit BFP/DFP value to 32/64 bit needs to be stored in a register pair. This constraint was not observed previously and the result was stored in any FPR that happened to be chosen. If the selected FPR was not identifying a proper FPR pair, a SIGILL was delivered. Fixes BZ #328455.
c23d4f7 : Add testcase for bug 328100 XABORT not implemented (VEX r2800).
7cd8848 : NEWS entry for resolved bug 328100 XABORT not implemented (VEX r2800).
d5453bf : Bug 328100 - XABORT not implemented.
be1ef9f : drd: Follow-up for r13749
78795d1 : Bump the version number on the trunk.
d20a7ab : mips32: update ignore list.
6ef137e : mips32/mips64: Suppress race condition error.
4254584 : Minor tweak in the VG_(poll) syscall and callers: have a way to show the error in case the poll syscall unexpectedly fails.
4be47bc : Minor tweak in the vgdb instructions output by valgrind: to make copy/paste and then editing the command easier, put the --pid=3393 at the end of the instruction output by valgrind.
34ff174 : mips32: Fix typo.
c64bbdd : Helgrind: Suppress false positive reports on _dl_allocate_tls_init()
5fbc976 : Decrease helgrind memory use for applications allocating many blocks
3c761f0 : Fix 326462 Refactor vgdb to isolate invoker stuff into separate module
6d9e423 : Move bug fix announcement to the FIXED BUGS section
b1b0182 : NEWS: Mark #328205 as fixed
7553cde : Announce bug fixed for several bugs in NEWS
a501f12 : Create 3.10.0 section in NEWS, add (first draft of) README_DEVELOPERS_processes
03f77d2 : xen: Implement XEN_DOMCTL_set_max_evtchn
4cf567e : xen: XEN_SYSCTL_debugkeys hypercall
029d48f : xen: XEN_SYSCTL_readconsole hypercall
189ade7 : xen: XEN_DOMCTL_shadow_op hypercall
8583a2a : xen: XEN_DOMCTL_sethvmcontext hypercall
14c44a9 : xen: XEN_DOMCTL_getpageframeinfo3 hypercall
e65212e : xen: XEN_DOMCTL_gethvmcontext hypercall
9bd4cfc : xen: XENMEM_remove_from_physmap hypercall
39d4ba5 : xen: XENMEM_add_to_physmap hypercall
1d528a7 : xen: XENMEM_machphys_mfn_list hypercall
3b70027 : xen: XENMEM_maximum_gpfn hypercall
bc8d9bd : xen: XENMEM_maximum_ram_page hypercall
3b35a08 : xen: Infratructure for XEN_TMEM_* hypercalls
5be3aec : xen: Fix XEN_SYSCTL_getdomaininfolist for version 0xa
4c7254d : Merge the following revisions from 3_9_BRANCH to trunk: r13682 Initial cut at 3.9.0 release notes. r13683 Remove duplicate NEWS entries for 3.9.0. r13689 Minor docs/NEWS fixes r13690 Documentation updates for 3.9.0. r13691 More documentation updates, re leak-checker changes r13692 NEWS: Note increased max mem size.
c473d43 : Merge r13704 from 3_9_BRANCH (Fix compile problem in memcheck/tests/reach_thread_register.c)
26ea867 : Merge r13703 rom 3_9_BRANCH (Add Maran Pakkirisamy.)
333c83a : memcheck/tests/origin5-bz2: Add a regression test output file variant
ded4650 : memcheck/tests/strchr: Add a regression test output variant
9c7779b : Merge mc_replace_strmem.c, hg_intercepts.c and drd_strmem_intercepts.c
e5cf451 : Bug 327916 - DW_TAG_typedef may have no name
16f468a : memcheck/mc_replace_strmem.c: Remove trailing whitespace
ab8e17f : memcheck: Optimize the memcpy() intercept
6feb14d : dwz compressed alternate .debug_info and .debug_str not read correctly.
727033d : tests/check_headers_and_includes: Use File::Basename
1b9c249 : mips32/64: Test case for VEX r2799.
4183322 : mips32/64: Fixed the problem with fpu instructions.
d7341d8 : Fix bug 327238.
2f3d117 : add testcase for the rotate and (insert/or/and/xor) family of instructions.
e03b600 : Fix Bug 327284. The condition code of risbg was not correct. This instruction might be used by by gcc for masking out bits, e.g. code like n &= 3; if (n == 0)
b7e8749 : Clear direction flag after tests on amd64. BZ#326983.
17da3da : mips32/64: Fix the problem with cacheflush on mips platforms.
24dae8a : drd: Add three additional strncpy() and strncmp() intercepts (#326816)
2d7515c : drd: Add strncpy() and strncmp() intercepts (#326816)
0207b47 : mips64: add missing headers to EXTRA_DIST
c7ad8cf : drd/tests: Update Subversion ignore list
074d6a0 : drd: Add strstr() intercept (#326623)
8670edc : drd: Add range support for --ptrace-addr
3f9c229 : drd: Add a test for the strmem intercepts
72df022 : drd: Add strrchr(), memchr(), memrchr() and memcmp() intercepts (#326623)
272a0c9 : drd: Add stpcpy() intercept (#326436)
f4c4690 : We need to have the host code close to the generated code to improve branch prediction performance on some s390 systems. This change will move valgrind text close to the initial aspace start for valgrind allocations.
86e4182 : mips32: Change the tests values so that the result is the same on all mips32 platforms. Add extra cases in vbit-test for mips32.
781f1bd : mips32: Fix problem with some mips32 dsp instructions.
434d4a7 : drd: Add additional strchr(), strcpy() and strcmp() intercepts (#326436)
8cdb10b : mips32: Delete unused empty files.
3ac0cd8 : mips32: Update Subversion ignore lists.
9f946df : Update Subversion ignore lists
4115c71 : drd/tests: Add std_list and std_string test programs
f790138 : drd: Add strchr(), strcpy(), strcmp() and memcpy() intercepts (#326436)
f1df35a : Add some suppresssions for leaks (really?) in dyld (the dynamic linker) on 64-bit OSX 10.8.
854be4c : In an inner valgrind, register the interim stack earlier
59edd6c : fix attribution of memcheck/tests/reach_thread_register.c code
d53d317 : mc_LOADVn_slow: also allow --partial-loads-ok=yes to grant an exemption for aligned 32 bit loads on 64 bit targets, since it appears to be necessary.
f15231f : Update.
a445f1b : mips32: Fixed the problem with FCSR register.
b8ba031 : Fix 324227 memcheck false positive leak when a thread calls exit+block only reachable via other thread live register
0e659b2 : unbreak (future) Mac OS 10.9, 11.0, ... builds
13de231 : Enable sys_rt_sigsuspend on ppc64-linux. Not sure why this is necessary, but I found it lying around in a ppc64 tree, so there was probably some use case at some point.
f5530ec : In 64 bit mode, allow 64 bit return values from clean helper calls. This makes SMC checking calls work (even though they are irrelevant on PPC targets). Fixes #309430.
1a67731 : Two small wording fixes in manual
bd7a24a : Fix a potentially serious bug discovered by BEAM.
cfe7d0e : NEWS: Add entry for bug #326091 (drd and __GI_strlen())
fb835fc : drd: Avoid that optimized strlen() implementations trigger false positive race reports (#326091)
f19daa0 : Remove autotools requirement as it is not specific to s390. Minor wording changes.
c168542 : NEWS: Add info about bugs #316181 and #316696
817232e : mips: update README.mips and NEWS for 3.9
bf267d4 : Update.
4ce2793 : Un-break the build on OSX 10.7.
0f157dd : Update copyright dates (20XY-2012 ==> 20XY-2013)
89ae847 : Update copyright dates (20XY-2012 ==> 20XY-2013)
49984ea : arm-linux only: make unwinding by stack scanning (a nasty hack) be controllable from the command line. Fixes (kind of) #289578.
787e8dc : Don't report BMI support when AVX support is missing.
a11ec17 : Followup to r13652 (make the translation cache size be command-line controllable): reduce MAX_N_SECTORS to 24, speed up Sector initialisation, wording tweaks.
473d0ba : Add test cases for PCMPxSTRx cases 0x30 and 0x40. Pertains to #320998.
83da6d7 : Handle PCMPxSTRx cases 0x30 and 0x40. Fixes #320998.
e6bd3e4 : This commit adds testing support for the following instructions: vaddcuq, vadduqm, vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm, vbpermq and vgbbd.
60c6bac : This commit adds support for the following instructions: vaddcuq, vadduqm, vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm, vbpermq and vgbbd.
8e1bee4 : Allow the user to dimension the translation cache A previous commit had decreased to 6 (on android) and increased to 16 (other platforms) the nr of sectors in the translation cache. This patch adds a command line option to let the user specify the nr of sectors as e.g. 16 sectors might be a lot and cause an out of memory for some workloads or might be too small for huge executable or executables using a lot of shared libs.
4e32d67 : Allow tools to provide some statistics in suppression list produced at the end
124b9f2 : mips64: Fix compiler warning.
9ea080b : Connect up the xacq_xrel test to the build system. Also, make the TSX configure test check for that the assembler can deal with xacquire and xrelease prefixes.
110c77e : SIGSEGV/SIGBUS specific handling on s390, to cope with kernel peculiarity
262330f : remove old broken testcase for s390
24e40de : Power 8 support, phase 5
7deaf95 : Power 8 support, phase 5
6491f86 : Tidyup -- no functional change. Replace all "pfx & PFX_LOCK" with haveLOCK(pfx).
38b1d69 : amd64 front end: accept XACQUIRE and XRELEASE on exactly the insns that the Intel docs say can validly have them.
dfe3bd5 : A minimal test case for the parsing of XACQUIRE and XRELEASE prefixes.
66e40ae : Add support for an alternative encoding of 'PUSH reg', viz FF /6, that is used by MSVC generated code. Fixes #324834.
80fe549 : Disallow client mmap calls with MAP_32BIT as a flag. Fixes, or at least addresses, #324181.
4723900 : Update expected output following r13642, which fixes #323432 (When calling pthread_cond_destroy or pthread_mutex_destroy with initializers as argument Helgrind (incorrectly) reports errors.) This introduces a new race report (but no new race) in some conditions. I think this is OK because the race only occurs in the case where the program is buggy (racey) anyway.
c02f6c4 : Fix #323432: When calling pthread_cond_destroy or pthread_mutex_destroy with initializers as argument Helgrind (incorrectly) reports errors. (Peter Boström,
ff427c9 : For pthread_cond_destroy, don't report a false it's-still-waited-on error if in fact the last wait finished with ETIMEDOUT. Fixes #324149. (Peter Boström,
7b94a0d : Fix "Assertion '!di->soname' failed" on weird files. Fixes #320661. (Jiří Hruška,
879c8b0 : Enable sys_prlimit64 on arm-linux. Fixes #320131.
1dd8258 : Fix compile failure with out-of-tree build of libmpiwrap.c. Fixes #318050. (Frederik Heber,
643d501 : PPC32/64: Allow 16 byte icache and dcache lines. Partial fix for #308135. (
2691a61 : PPC32/64: Allow 16 byte icache lines. Partial fix for #308135. (
ad56d00 : A couple more leak supps for OSX10.7. Fixes #307557.
078ab86 : Add definedness checking when dereferencing ptr during heuristic reachedness
b2db278 : mips64: Prevent testing swc1 and swxc1 with the uninitialized memory values on big endian platrofms.
50612d7 : Adding the link for none/tests/ppc32/test_touch_tm.c that got missed on commit 13630.
eec22de : mips64: Change the input values for FPU tests.
278b2a3 : Fix use of uninit heuristic set for monitor command * initialise leak_check heuristic parameter in the leak_check monitor command * show the default value (none heuristic) in the monitor help command (none value chosen as default as this gives a backward compatible behaviour). * document the heuristic leak check parameter in memcheck manual monitor command section
f6cd3ff : Power PC, add the two privileged Transactional Memory instructions.
fcce5f8 : Power PC, add the two privileged Transactional Memory instructions.
63ea303 : mips32: Don't test Iops that aren't supported in VEX.
24fefb6 : Add a specific configury check to test compilability of the <thread> C++ header file by the selected compiler. Suggested by Bart Van Assche.
17cc680 : Tweak to avoid a trailing space.
61e7d63 : Filter out the dynamic linker from back traces. Patch by Maran Pakkirisamy (
d35da71 : Remove unused variable (and associated compiler warning).
3bc88cc : mips64: add extra Iop cases in VEX.
63abcdf : mips64: add extra Iop cases in VEX and fix compiler warning.
7a76f4b : Fix leak scan SEGV catcher when ptr starts in unreadable page (readable for aspacemgr)
a388ee4 : pub_tool_oset.h and m_oset.c cleanup
9d690c6 : Fix guest_amd64_toIR xbegin and xtest to match cpuid given for AVX hwcaps.
fd37f8b : Update list of ignored files.
a06575a : Disable drd/tests/std_thread.cpp for clang. clang 3.3 produces an error message for /usr/include/c++/4.6/chrono which happens to get included somewhere inside <thread>. This happens with C++ headers from: gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3.
3d9368e : Adjust CFLAGS and CXXFLAGS for compilation with clang. The current setting suppresses almost all warnings originating in source code constructs. It does ot yet suppress warnings from unrecognised command line flags as they may be the reason for regression test failures which have not yet been investigated.
b802385 : Add missing prereq.
0a8620e : Followup to r13615. Conditional testcases need a prereq line in the .vgtest file. This has sucked before and I keep forgetting about it.
452af3f : Followup to r13614. Forgot to update the .exp file. Now fixed.
3df0211 : Add a few feature tests to because clang does not understand the following: - nested functions - -gstabs option - loopnel instruction - addr32 in asm statements - 'p' constraint in asm statements
ff1ec47 : Remove 4 tests of the pextrw instruction. Those tests were rejected by clang and according to the analysis below by Tom Hughes do not add anything new.
d4bab99 : drd: Update copyright notice
e37c4bc : Fix compilation problem of memcheck/tests/leak-segv-jmp on ppc32 With the change, the test compiles on ppc32. However, the test fails miserably with Segmentation fault while the whole purpose of the test was to see the leak search would *not* segfault.
4dec26f : Phase 4 support for IBM Power ISA 2.07
6c758b6 : Phase 4 support for IBM Power ISA 2.07
b1f90e0 : Change some inline assembler so it is no longer rejected by clang as suggested by John Reiser and Greg Parker. It seems that GCC has a more relaxed attitude about what it accepts as valid input.
5bd4060 : Fix assert for who_points_at monitor cmd for an interiorly pointed block
40fc342 : The test case for the Transaction Memory instructions failes with older compilers as the -mhtm flag is not known. The patch fixes the makefile issue and addes #defines to the testcase code.
36b4a94 : IBM POWER PC, Add the Transactional Memory test case
8943d02 : Power PC, Approach 1, add Transactional Memory instruction support
6b9b1b0 : drd/tests/annotate_smart_pointer: Avoid non-POD variable length arrays
a3341d8 : Silence clang warnings for the none and exp-sgcheck tools.
d79b3bf : The configury bits for checking the annotatoin of smart pointers were mixing up CFLAGS and CXXFLAGS. Now fixed.
97c9b7d : Add tests/check_isa-2_07_cap to dist_noinst_SCRIPTS.
c8df847 : Add opcodes.h to EXTRA_DIST for none/tests/ppc[32|64].
782f370 : Add post_regtest_checks check_headers_and_includes to dist_noinst_SCRIPTS.
176048d : Eliminate a few GCC 4.8.1 warnings.
06bc722 : Silence clang warnings about uninitialised and unused values in memcheck testcases.
629b4dc : Fix exception specification for operator delete as spotted by clang 3.3
0c8a47c : Remove a duplicate const qualifier complained about by clang 3.3
dde7b59 : Fix printf format. The 'L' modifier cannot be used with the 'x' format specifier. Use 'll' instead.
fc4c28f : drd: Change VALGRIND_DO_CLIENT_REQUEST_EXPR() into VALGRIND_DO_CLIENT_REQUEST_STMT() where appropriate
6277067 : Add tests for the phase 3 ISA 2.07 code patch
48ae46b : Phase 3 support for IBM Power ISA 2.07
2aa453e : mips32: Fix the align problem with mmap.
be853a8 : Fix typo
671b023 : Use global vars to point at possibly leaked Depending on the compiler or optimisation level, the blocks that are supposed to be possibly leaked are still reachable. => change the pointers to be global variables, and do the allocation in a function, not in main.
a8b617e : Update list of ignored files.
b593be3 : Robustise the find_client function. Also fix a memory leak spotted by IBM's BEAM checker.
6fc11f2 : Updated.
364c365 : Check whether binutils supports TSX instructions. Guard none/tests/amd64/tm1 accordingly.
e2d76bb : Enable sys_fanotify_init and sys_fanotify_mark on arm-linux. Fixes #324421. (Heinrich Schuchardt,
2d4b929 : Update bug status.
7458b7f : Add test cases for SMMLS, SMLALD, SMLSLD (ARM and Thumb). Pertains to 323036, 323175, 323177. (
4ccd258 : Implement LDRHT (Thumb), LDRSHT (Thumb), [LDR,ST]{S}[B,H]T (ARM). Fixes 321891, 323035, 324047. (
333ff44 : Add test cases for LDRHT (Thumb), LDRSHT (Thumb), [LDR,ST]{S}[B,H]T (ARM). Pertains to 321891, 323035, 324047. (
3b22fc8 : Implement LDRHT (Thumb), LDRSHT (Thumb), [LDR,ST]{S}[B,H]T (ARM). Fixes 321891, 323035, 324047. (
ab1fce9 : add heuristics decreasing false possible "possible leaks" in c++ code.
146a435 : Update bug status.
f31fe6f : ensure nightly regression tests can (optionally) run perf tests
137cefe : Add a test program of sorts, for XBEGIN and XTEST.
9e4c376 : Add a kludgey implementation of XTEST to go with the kludgey implementation of XBEGIN. Also kludge the CPUID output for AVX capable targets so as to claim we support HTM. Mark Wielaard,
f7e5958 : armg_calculate_condition: add missing masking (probably pointless, but makes it easy to verify).
5e33a27 : Annotate some bug reports with comments about priority.
e8e46ab : mips64: finetune mips_dirtyhelper_calculate_FCSR
a068ff5 : mips32: Add two syscall wrappers: 4345 __NR_process_vm_readv 4346 __NR_process_vm_writev Code style, no functional changes.
8a9c20b : mips32: Change the input values for round test. Change the input values so that the binary value is representing exactly the same float value.
8e70cdc : mips32: protect mips32r2 instructions with a flag
a2968cc : In an attempt to fix the accounting for dynamic memory allocation it turned out that coregrind freely allocates memory on the tool arena (which it should not, conceptually) and tools rely on coregrind doing so (by VG_(free)'ing memory allocated by coregrind). Entangling this mess is risky and provides little benefit except architectural cleanliness. Thinking more about it... It isn't really all that interesting how much memory is allocated by tool code in and by itself. What is interesting is the total memory impact a tool has, e.g. as compared to running "none". So in this patch the number of memory arenas is consolidated by subsuming VG_AR_TOOL/ERRORS/EXECCTXT into VG_AR_CORE. VG_(malloc) and friends have been modified to operate on VG_AR_CORE.
9237e27 : Add test-cases for Power ISA 2.06 insns: divdo/divdo. and divduo/divduo.
df4aec2 : Add the install directory that gets created by the nightly script.
1c56013 : mips32/64: Save the value of FCSR register at the beginning and restore it back at the end of dirty helper.
8279217 : More bug triage.
8a46fe8 : Fix two issues found by check_headers_and_includes.
43c5633 : 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.
15126a6 : mips32/64: add extra test cases in vbit-test for mips32/64.
a759d17 : mips32/64: Code cleanup and VEX optimizations. No functional changes.
512f059 : mips32/64: Fix the problem with dirty helper when the __mips_isa_rev is not 2 on higher.
2604386 : 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.
f049d1d : Increase VG_N_SEGMENTS and VG_N_SEGNAMES by a factor of 6 on all non-{phone/tablet} platforms. Possibly fixes #164485.
e06727f : Comment-only change.
b36d316 : Recent on ARM has more than 5000 CIEs. Increase N_CIEs, therefore.
49dba4a : Move some now-closed bugs into NEWS.
a56f369 : Add support for the Intel TM "xbegin" instruction, by jumping directly to the failure address. Currently disabled pending finding hardware that can actually execute xbegin, for testing purposes.
1bf44e3 : x86 front ends: tighten up decoding of MOV Ib,Eb and MOV Iv,Ev. This failed to check the g-register in the modrm byte, with the result that it will mis-decode the AVX2 XABORT and XBEGIN instructions as these instead, with obviously-bizarre consequences.
7b8ef5e : Oops, commit 13562 said the patch was done by Amodra. It should have said the patch was from Paralkar Anmol.
f13107a : The patch fixes the assembly of the Power dcbtst and dcbt instructions.
b891121 : Fix memory leak when reallocating a thread name.
aae16ca : Unbreak the build on non-MIPS platforms.
4164a81 : mips32/mips64: tests for FCSR.
8007ea6 : mips32/mips64: additional VEX support for FCSR register.
73523fd : Tweak filter_xml_frames. Suppress frames containing neither a function name nor any source code reference.
df8e686 : mips64: add tests for MIPS64 Octeon Instructions
5cc3b45 : mips64: VEX support for MIPS64 Octeon Instructions
c5325ef : Followup to r13553 which caused some build failures. (1) Detect availability of pthread_setname_np. Ignore testcases memcheck/tests/threadname[_xml] if not available. (2) Enable _GNU_SOURCE to avold compiler warnings. (3) In threadname_xml filter out stackframes referring to system libraries. Added tests/filter_xml_frames to do that. (4) Adjust .exp files as needed (5) Do not ship stdout.exp for memcheck/tests/threadname[_xml].
eb577d7 : VG_(memset) cannot handle NULL pointers and needs to be guarded.
1a046d5 : Include pub_core/tool_clreq.h instead of valgrind.h where apropriate.
96ee38d : mips: clean-up in hardware detection
bc7d6f4 : mips: clean-up in hardware detection (Cavium/DSP ASEs)
4978951 : Intercept prctl(PR_SET_NAME, name) and store the thread name so it can be used in error messages. That should be helpful when debugging multithreaded applications. Patch by Matthias Schwarzott <> with some minor modifications. Fixes BZ 322254.
87557e7 : mips32: typo error fix.
994cc46 : mips32: small cleanup in show_hwcaps_mips32
0432cfe : mips32/mips64: rename mips32_features to mips_features
213b0d3 : mips: flush the cache in perf/bigcode.c
535fb1b : Fix coregrind header files such that they can be included without having to worry what other header files may have to be included beforehand.
c91f584 : Fix inclusion of header files in coregrind. No pub_tool_*.h should be included here. Added pub_core_poolalloc.h and renamed pub_tool_inner.h to pub_core_inner.h.
be7f7cf : Fix include guard.
ac3a1d8 : Move a function and its prototype VG_(malloc_effective_client_redzone_size) to a conceptually better place.
af514c0 : s390: Add spechelper for s390_calculate_cc.
c31e6cb : Bug 323893 - SSE3 not available on amd cpus in valgrind.
9b705b9 : clarify that vg-in-place cannot be used as an outer in outer/inner setup If you use a vg-in-place outer, then you obtain errors such as: valgrind: mmap(0x38000000, 3293184) failed in UME with error 22 (Invalid argument). valgrind: this can be caused by executables with very large text, data or bss segments.
8efe4e4 : The Power ISA 2.07 document includes a correction to the description for the behavior of the xscvspdp instruction, indicating that if the source argument is a SNaN, it is first changed to a QNaN before being converted from single-precision to double-precision. This updated information about the xscvspdp instruction exposed a bug in the VEX implementation for that instruction and also a bug in the testing for all instructions having special behavior for single-precision SNaN arguments.
6fef87a : The Power ISA 2.07 document includes a correction to the description for the behavior of the xscvspdp instruction, indicating that if the source argument is a SNaN, it is first changed to a QNaN before being converted from single-precision to double-precision. This updated information about the xscvspdp instruction exposed a bug in the VEX implementation for that instruction and also a bug in the testing for all instructions having special behavior for single-precision SNaN arguments.
2c2cbda : Update bug status.
d6bc217 : Remove dead code.
8dc01fc : Update list of ignored files.
1a59a92 : Clarify wording.
740da72 : Enhance ado_treebuild_BB to allow an expression preceding a Put statement and containing one or more Get expressions to be substituted in an expression following the Put statement. That transformation is harmless as long as the guest state areas being accessed by the Put and Get(s) do not overlap.
0c7b90f : mips64: add extra test cases in vbit-test for mips64.
81d4ff2 : mips64: fixed problem with Iop's for mips64.
a819259 : Bugzilla 323437, this is phase 2 in a series of patches adding support for IBM Power ISA 2.07. The first bugzilla in the series was: 322294: Add initial support for IBM Power ISA 2.07
78850ae : Bugzilla 323437, this is phase 2 in a series of patches adding support for IBM Power ISA 2.07. The first bugzilla in the series was: 322294: Add initial support for IBM Power ISA 2.07
d1e996a : Fix a bug introduced in the previous revision.
de6f710 : Add a few more optimisations for CmpwNEZ64, CmpNEZ32, and CmpNEZ64. Observed on s390.
2cc17ea : The existing overflow detection in VEX/priv/guest_ppc_toIR.c/set_XER_OV_64() under the case PPCG_FLAG_OP_MULLW: does not apply to the mulldo as we need to detect overflow when performing a Multiply Low Doubleword (not Multiply Low Word). Hence, we added a new enumeration value PPCG_FLAG_OP_MULLD in VEX/priv/guest_ppc_defs.h and a corresponding new case under which the computation for detecting overflow for mulldo/mulldo. is added in set_XER_OV_64(). The tests have been added to: none/tests/ppc32/jm-insns.c
38b79ac : The existing overflow detection in VEX/priv/guest_ppc_toIR.c/set_XER_OV_64() under the case PPCG_FLAG_OP_MULLW: does not apply to the mulldo as we need to detect overflow when performing a Multiply Low Doubleword (not Multiply Low Word). Hence, we added a new enumeration value PPCG_FLAG_OP_MULLD in VEX/priv/guest_ppc_defs.h and a corresponding new case under which the computation for detecting overflow for mulldo/mulldo. is added in set_XER_OV_64(). The tests have been added to: none/tests/ppc32/jm-insns.c
9708b6a : The patch used the binary constants 0b10000 and 0b10001. The 0b designator is supported by the GCC extensions but not all compilers seem to support the 0b extension in GCC. Therefore, the binary constats were changed to their equivalent hex values as suggested by Florian.
c3a3791 : Update list of ignored files.
7c26e73 : Update list of ignored files.
d0edaab : Oops, forgot to add the new files before the commit for r13534.
074637e : The current VEX code is not properly handling a non-zero TH field in the dcbt instruction, which is valid for several forms of data cache block touch instructions. The VEX commit 2761 fixed the missing support in VEX/priv/guest_ppc_toIR.c. This commit adds tests for the the non-zero fields to the test cases for 32 and 64-bit modes.
b77db0e : The current code is not properly handling a non-zero TH field in the dcbt instruction, which is valid for several forms of data cache block touch instructions. This patch adds the needed support to VEX/priv/guest_ppc_toIR.c.
223cd4e : The flag for compiling test none/tests/ppc32/test_isa_2_07_part2.c was incorrectly set to FLAG_M64 instead of FLAG_M32. Fixed the flag. The issue was reported in Bugzilla 324546.
02ea413 : Fix 324514 gdbserver monitor cmd output behaviour consistency + allow user to put a "marker" msg in process log output
1b732ec : Add a bunch of suppressions for 64-bit OSX 10.8 processes. This is a huge kludge in that the right fix is to write proper syscall wrappers for the new threading syscalls in 10.8, but that hasn't happened yet.
ac7e797 : PRE(workq_ops): handle KI_WQOPS_QUEUE_REQTHREADS without complaining.
d6daf23 : check_uuid_matches: fix infinite loop following rewrite of this function during big overhaul of the debuginfo reader earlier this year.
2accb5e : deltaIRExpr cannot handle Iex_VECRET and Iex_BBPTR and needs to be guarded.
0c8cd40 : Reuse (shared) cachegrind source files in callgrind directly.
61ad458 : Rename cg-arch.c to cg_arch.c so as to be consistent with other filenames, including cg_arch.h :) No functional change.
e3a103f : mips32/mips64: Fix the problem with lwl and lwr for mips32 and mips64.
fd7db80 : mips32/mips64: Add tests for lwl and lwr for mips32 and mips64.
c271cda : MacOS only: fix somee compiler complaints about casting from pointers and integers of a different size.
54eea4e : Comment-only change.
c162275 : Fixes and kludges (mostly the latter) needed to run graphical apps on OSX 10.8:
7c8ddce : Make wqthread_hijack work with the OSX 10.8 kernel.
f1a9bd2 : add_mapping_callback on Darwin: also produce a ChangedSeg record in the case where V's record of the permissions for a range differs from that of the kernel's. The lack of this caused synthetic segfaults ("can't translate here") from m_translate on OSX 10.8 for pretty much any graphical .
f9a698e : Rename to to make more recent auto*s happy, and also add the automake option "subdir-objects". As advisde by Tromey and Mjw.
854912a : Add an optimisation for Iop_Left64.
55ce7b7 : Add algebraic simplifications for Iop_And64 (same as for Iop_And32). Remove isOnesU32 which is no longer needed.
c9b38fb : s390: Fix Essentially, revert r13317 which does not seem to be necessary. The additional DIST_INSN_TESTS variable was causing problems in check_makefile_consistecy which reported false errors. I suspect this is because my awk is mawk and not gawk. Also add dfp_utils.h which was missing in the tarball from 'make dist'.
72aefb1 : Fix misleading comment, as VG_(releasePA) is deleting the PA when zero ref count
e42cca5 : Add missing headers and such so that 'make dist' works again.
2b308d1 : mips64: Add some test cases for mips64 in vbit-test.
661786e : When XML mode is selected messages from VALGRIND_PRINTF and friends should go to the XML stream not stderr. Fixes BZ 322807.
7c6a000 : Support mmxext (integer sse) subset on i386 (athlon). Bug #323713
6c65c12 : Support mmxext (integer sse) subset on i386 (athlon).
ded23aa : Test cases for 128-bit --partial-loads-ok=no|yes on x86 need a prereq on sse.
aaaf21d : valgrind.h: Add MinGW64 support
e853d33 : Update Subversion ignore lists
90c8d7e : drd: Fix bug #323905
3898022 : coregrind/m_debuginfo: Add VG_(DebugInfo_get_bss_avma)() and VG_(DebugInfo_get_bss_size)()
c0cd28f : drd: Add command-line option --trace-sectsuppr
e6eb794 : drd/tests/concurrent_close: Add
50c2075 : mips32: Fix a problem with gdb invoker.
9f01a9d : The file tests/ppc32/power_ISA2_05.stdout.exp_Without_FPPO was a link to file tests/ppc64/power_ISA2_05.stdout.exp_Without_FPPO. That was a commit error as the output for ppc32 and ppc64 are different. Replaced the link with the correct real file of expected results. See bugzilla 81535.
35c8832 : The file tests/ppc32/power_ISA2_05.stdout.exp_Without_FPPO was a link to file tests/ppc64/power_ISA2_05.stdout.exp_Without_FPPO. That was a commit error as the output for ppc32 and ppc64 are different. Remove the file and commit to remove the link.
317f01b : Accept glibc 2.18 as valid.
92ef91b : Minor tidying of the generalised V128/V256 shadow helper returns that landed in r13500. No functional change.
e23e549 : Make sure that sh-mem-vec256 is only built on platforms that can assemble the relevant instructions.
d69cd9a : mips64: Fix a problem with CCall.retty type.
e731e77 : Add test cases for 256-bit --partial-loads-ok=no|yes, by generalising the 128-bit versions. (Patrick J. LoPresti, Bug 294285.
82cc37c : Add support for 256-bit return values for dirty helpers (amd64 only). (Patrick J. LoPresti, Bug 294285.
6756454 : Add support for direct V256 shadow helper returns -- memcheck side. (Patrick J. LoPresti, Bug 294285.
84a646e : Avoid a compiler warning.
a5c3ecb : Followup to VEX r2742 which eliminates IRExprP__VECRET and IRExprP__BBPTR and adds Iex_VECRET and Iex_BBPTR.
9041956 : Eliminate IRExprP__VECRET and IRExprP__BBPTR and introduce two new IRExpr kinds instead: Iex_VECRET and Iex_BBPTR. Add constructor functions and adjust ppIRExpr, typeOfIRxpr and deepCopyExpr. The rest is mechanics.
663a8a6 : mips32: Delete unnecessary exp files.
c529555 : mips32/mips64: Fix compiler warnings.
751c1e6 : mips32/mips64: Fix compiler warnings.
3bf117d : kludge to bypass inner valgrind mmap failing due to not observed outer mmap
dfbf294 : Initial ISA 2.07 support for POWER8-tuned libc
0c74bb5 : Initial ISA 2.07 support for POWER8-tuned libc
89e58a7 : Add test cases for 128-bit shadow loads with --partial-loads-ok={yes,no} for x86 targets. Bug #294285.
e5280a0 : * rename the memcheck/tests/amd64/sh-mem-vec128*stderr.exp* files so as to specify an endianness * add two missing symlinks
4d00f98 : Add test cases for 128-bit shadow loads with --partial-loads-ok={yes,no} in such a way that they can be shared across targets that support 128 bit loads, as required. amd64 only right now. Adds memcheck/tests/common to hold this stuff. Bug #294285.
1e5fa2f : The following instructions were introduced in the Power ISA 2.05 (i.e., POWER6) - lfdp - stfdp - lfdpx - stfdpx These instructions were promptly deprecated (phased out) in ISA 2.06 (i.e., POWER7). Recent updates in binutils no longer supports these instructions unless the assembler is invoked with '-mpower6'. When 'make check' is run on valgrind when using such a newer binutils and running on a ppc64 system newer than POWER6, you get the following build error: y pc64_linux=1 -DVGPV_ppc64_linux_vanilla=1 -DVGA_SEC_ppc32=1 -DVGP_SEC_ppc64_linux=1 -Winline -Wall -Wshadow -g -Winline -Wall -Wshadow -g -I../../../include -m64 -Wno-long-long -Wwrite-strings -fno-stack-protector -Wno-write-strings -MT power_ISA2_05-power_ISA2_05.o -MD -MP -MF .deps/power_ISA2_05-power_ISA2_05.Tpo -c -o power_ISA2_05-power_ISA2_05.o `test -f 'power_ISA2_05.c' || echo './'`power_ISA2_05.c /tmp/cciGIkGG.s:Assembler messages: /tmp/cciGIkGG.s:387: Error: operand out of domain (31 is not a multiple of 4) /tmp/cciGIkGG.s:387: Erro
r: : syntax error; found `,', expected `(' /tmp/cciGIkGG.s:387: Error: junk at end of line: `,9' /tmp/cciGIkGG.s:478: Error: operand out of domain (31 is not a multiple of 4) /tmp/cciGIkGG.s:478: Error: syntax error; found `,', expected `(' /tmp/cciGIkGG.s:478: Error: junk at end of line: `,9' make[2]: *** [power_ISA2_05-power_ISA2_05.o] Error 1 make[2]: Leaving directory `/tmp/Valgrind_review/valgrind_ISA2_05/memcheck/tests/ppc64' make[1]: *** [check-am] Error 2 make[1]: Leaving directory `/tmp/Valgrind_review/valgrind_ISA2_05/memcheck/tests/ppc64' make: *** [check-recursive] Error 1
3aeabc2 : A comprehensive test case for 128 bit shadow vector loads in the case of partial addressibility, for --shadow-loads-ok=yes and =no. Not portable and not hooked up to the test/build system yet.
21a5f8c : Fix # 294285: --partial-loads-ok does not work for 16-byte SSE loads (core fixes for the memcheck handling of 128 bit loads) (Patrick J. LoPresti,
74142b8 : Add infrastructural support (IR, VEX) to allow returns of 128- and 256-bit values from dirty helper functions, in a way which is independent of the target ABIs and of compilers generating correct struct return code.
3c628ba : Fix fallout from r13486: "virtual" is a C++ reserved word and so this header causes breakage in the C++ tests in the tree. Rename it.
25b1808 : Add support for a bunch of DRM Ioctls. Fixes #207815. (Robert Bragg,
3cfd1f0 : Add a spec rule for SUBQ/NLE.
5507d22 : fix --vgdb-prefix no / character interpreted differently by V gdbsrv and vgdb When --vgdb-prefix contains no / character, the Valgrind gdbsrv is interpreting the prefix value as the filename prefix in the current directory, while vgdb interprets this as a directory to be opened in the current directory.
5c6f2e5 : Announce fix for BZ 319494.
0af77fc : Update Makefile-gcc to include additional files that were added in r2702. Fixes BZ 319494. Patch by Stephen McCamant (smcc@CS.Berkeley.EDU).
02a4233 : Announce fix for BZ 322851 (VEX r2736).
befee0b : Do not use the 0b notation as older GCC's do not accept it. Fixes BZ 322851 and also unbreaks the OS X nightly build (hopefully). Patch by Thomas Rast (
4e98f7c : Update configure machinery to detect PTRACE_GETREGS Using #ifdef PTRACE_GETREGS gives difficulties as in some platforms (e.g. mips) PTRACE_GETREGS is not defined as a preprocessor symbols unless linux/ptrace.h is included. However, including linux/ptrace.h causes compilation error on some other platforms
353d8b8 : Followup to the renaming in VEX r2735. Also ignore AT_DCACHEBSIZE entries in the auxiliary vector as they are not needed. Fixes BZ 306587.
9138b17 : Rename ppc_cache_line_szB to indicate that this is the size of the instruction cache.
44f192b : Update list of ignored files.
9875715 : mips32: Correctly model SHLL_S.PH on MIPS32.
bf68e98 : mips32: Add test cases for for mips32 DSP instruction set.
5d7fde1 : Define _XOPEN_SOURCE before including unistd.h.
bd612e8 : Avoid a compiler warning about integer overflow when compiling this for 32 bit targets.
01a492e : add a test + assert for GDB bug bypassed in r13472
9fddbc1 : Remove simple_huffman.c which is a leftover from the time when AIX was supported. As AIX support has been removed, the file can be removed as well.
0acaac3 : s390: Announce support for DFP. Update the opcode spreadsheet to reflect this.
3b411c1 : s390: New machine model: zBC12
1bdaac5 : s390: New machine model: zBC12
03ffc6e : Bypass GDB bug which asks to read packet slightly too big GDB sometimes asks slightly too big read packets (no taking into account the packet overhead). Bypass the problem by allocating slightly more than needed if GDB would only ask the correct maximum size.
f1f5ce0 : do not include linux/ptrace.h in vgdb.c
c3fee0d : mips32: Add support for mips32 DSP instruction set.
5f790e8 : mips32: Add support for mips32 DSP instruction set.
362441d : fix incorrect lineno in supp error msgs+ -v give filename+lineno of used supp.
0de8fc5 : announce in NEWS fix for 321960
4fa3d37 : fix 321960 pthread_create() then alloca() causing invalid stack write errors
9cbe9d7 : change macro names to properly indicate that current_stack is set (and not current stack)
39249ba : remove two not used global variables: Addr VG_(client_base) = 0; /* client address space limits */ Addr VG_(client_end) = 0;
a52c835 : The FIOCLEX and FIONCLEX ioctls are architecture specific.
8f420f1 : Socket option constants are architecture specific.
0c7ff33 : Handle FIOCLEX and FIONCLEX ioctls. Patch from Ben Noordhuis. BZ#305170.
70f71aa : Handle setsockopt(SOL_SOCKET, SO_ATTACH_FILTER) better. Based on patch from Guy Harris on BZ#318203.
cec24b5 : Add support for fanotify_init and fanotify_mark, based on patches from Heinrich Schuchardt. BZ#320895.
43ca097 : Add support for open_by_handle_at and fix name_to_handle_at to check the file handle argument correctly. BZ#316761.
f93bbd9 : Handle the sethostname system call. BZ#311922.
bd33f03 : mips64: Wrong address size.
ec587b0 : mips64: Add a test case for mips64.
2a6b81c : mips64: Correct the value for the VG_MIN_MALLOC_SZB
f2b28e0 : mips64: Update list of ignore files
177c514 : mips32: Update list of ignore files
2784128 : mips32: add missing exp file for Bug#320057
c3294a9 : mips32/mips64: Avoid breakpoints in branch delay slots
379817b : mips32: another VG_(am_get_advisory) needs non-single-page-size adjustment
e746a12 : Bug 321969. Support [lf]setxattr on ppc32 and ppc64 linux kernel.
3f88581 : Update bug status.
78b23a2 : Add test cases pertaining to vex r2731, for the following instructions: SSAX SXTAB16 SHASX SHSAX SHSUB16 SHSUB8 UASX USAX UQADD16 UQASX UQSAX UHASX UHSAX REVSH
7a37065 : Handle Iop_QAdd16Ux2. Needed for recent ARM v6media additions committed in vex r2731.
a325ee1 : Implement the following instructions, in both ARM and Thumb encodings: SSAX SXTAB16 SHASX SHSAX SHSUB16 SHSUB8 UASX USAX UQADD16 UQASX UQSAX UHASX UHSAX REVSH
7d75870 : Add test cases for (T1) STRBT reg+#imm8 (T1) STRHT reg+#imm8 (T1) LDRBT reg+#imm8 (T1) LDRSBT reg+#imm8
6ed5c34 : Add support for (T1) STRBT reg+#imm8 (T1) STRHT reg+#imm8 (T1) LDRBT reg+#imm8 (T1) LDRSBT reg+#imm8 (T1) PLI reg+#imm12 (T2) PLI reg-#imm8 (T3) PLI PC+/-#imm12
a8e327d : mips: implement Iop_8Uto64 in iselInt64Expr
3785630 : Update bug status.
3e8d634 : Bug 321738 Add manpages for vgdb and valgrind-listener.
3a09084 : Bug 321730 Add cg_merge and cg_diff man pages.
e5b6cc4 : Update expected outputs.
59a4173 : Minor improvements in debug printing for stabs reading.
a25a2bf : [PATCH 4/4] xen: VKI_XENMEM_get_sharing_{freed, shared}_pages hypercall (#321065)
431bad0 : [PATCH 3/4] xen: VKI_XEN_SYSCTL_sched_id hypercall (#321065)
68495eb : [PATCH 2/4] xen: update for interface changes in Xen 4.3 release (#321065)
77addcd : [PATCH 1/4] xen: distinguish the various fields of the Xen privcmd ioctls in the logging (#321065)
9d82d0f : Bug 289360 parse_type_DIE confused by DW_TAG_enumeration_type.
4027d32 : s390: Update testcase for PFPO Patch by Maran Pakkirisamy ( Part of fixing BZ 307113.
7ab421d : s390: Support some more BFP <-> DFP conversions (the ones that were added in VEX r2727). Patch by Maran Pakkirisamy ( Part of fixing BZ 307113.
ba5693c : valgrind side changes to support the new IRops introduced in VEX r2727 (conversion ops between binary floating point and decimal floating point). Patch by Maran Pakkirisamy ( Part of fixing BZ 307113.
b22838d : Add some more IRops to convert between binary floating point and decimal floating point values. Needed to complete s390 DFP support. Patch by Maran Pakkirisamy ( Part of fixing BZ 307113.
b01a0ae : Update list of ignored files.
3bcd51d : improve --help for --main-stacksize and supported ARM cpu If the command line option --main-stacksize is not used, the current ulimit value is used, with a min of 1MB and a max of 16MB. Document this min/max default formula in the --help.
70a2606 : mips64: fix 'unused variable' warning
2ff6ff2 : mips64: fix typo in EXTRA_DIST
054684f : More comment only changes as the "DFP rounding mode" has been removed.
31bbc47 : Update list of ignored files.
733b4db : Comment only changes: IRRoundingModeDFP -> IRRoundingMode.
79e5a48 : Eliminate IRRoundingModeDFP by merging its values into IRRoundingMode. Retain encodings. The rationale is that a rounding mode is an abstraction and as such independent of formats used to represent numeric values. This was triggered by the need for a rounding mode to express conversions between binary floating point values and decimal floating point values.
7160332 : mips64: add cases in wrappers for ptrace calls with GETREGSET
c37cea6 : mips64: disable intercepting the spinlock function
1f458f5 : mips64: add missing line-continuation character
de3c802 : update cond_ld_st test and expected outputs
c5b885c : add and update exp files for drd/tests/annotate_trace_memory
234955d : s390x: The CC_DEP1 field is accessed as a whole or bits [0:31] in case the field holds a 32-bit floating point value. Patch by Maran Pakkirisamy ( Part of fixing BZ 307113.
bafb826 : s390x: Make the CC_DEP1 field appear completely initialised when writing a 32-bit floating point value into it. Patch by Maran Pakkirisamy ( Part of fixing BZ 307113.
ccd78cd : mips32/mips64: implement sdl, sdr, swl and swr without reading memory
23c5bf9 : mips64: rename exp files for load_store_multiple
96758fe : mips64: expected output for mips64 specific tests
b35637a : mips64: set of mips64 specific tests
cc64826 : fix 320211 Stack buffer overflow in ./coregrind/m_main.c with huge TMPDIR * Addition of a function to compute size of buffer needed for VG_(mkstemp) * Use it to dimension buffers for all VG_(mkstemp) calls.
825eac3 : Revert "Disable drd/tests/annotate_trace_memory[_xml].vgtest on arm and ppc."
7e09192 : drd/tests/annotate_trace_memory no longer depends on 64-bit atomics
58ce071 : drd/tests/annotate_trace_memory: Make this test more ARM/PPC friendly (#318643)
4cb663f : Don't break platforms without AF_BLUETOOTH.
ada5ad7 : Support Linux kernel AF_BLUETOOTH for bind().
f666d20 : Support PTRACE_GET/SET_THREAD_AREA on x86. BZ#320063. (Josh Stone,
a1e2145 : Disable drd/tests/annotate_trace_memory[_xml].vgtest on arm and ppc.
0d229db : exp files for cond_ld and cond_st for 32-bit architectures
3b3a0cb : mips: enable syscalls prlimit64, process_vm_readv, process_vm_writev
767f92e : mips: atomic_add_8bit and atomic_add_16bit for MIPS64-BE
8fa7627 : Fix incorrect filenames for the cond_ld_st tests.
56c2e87 : Add test case for STRT. See #319395. (Vasily Golubev,
80f674a : Implement STRT. Fixes #319395. (Vasily Golubev,
0a9fcad : Add test cases for SSAT16. See #318929. (Vasily Golubev,
e660158 : Implement SSAT16. Fixes #318929. (Vasily Golubev,
9fff319 : cond_ld_st: Split the non-arm expected outputs into 32- and 64-bit versions, since they will be different.
9193529 : memcheck/tests/cond_ld_st: add expected outputs for ARM, where we are using real conditional load/store instructions.
2c5acdc : Fix up output filtering for cond_st so that the stacks are actually present.
c589228 : Fix s390 build failure. Patch by Maran Pakkirisamy (
170d1c2 : Add test cases for instrumentation of IR-level loads and stores.
cf806e7 : Whitespace-only changes.
e51d829 : mips: code-style, remove some trailing spaces from MIPS header files
7d4765e : mips: default VKI_SHMLBA to the MIPS Linux kernel value SHMLBA
3406925 : mips: define allexec files as soft links
1106692 : s390: valgrind side support for PFPO. New hwcap added. See companion patch VEX r2719.
78d5ef7 : s390: First round of changes to support the PFPO insn. Support these IROps: Iop_F64toD64, Iop_D64toF64 Iop_F64toD128, Iop_D128toF64, Iop_F128toD128, Iop_D128toF128,
b9e6d24 : complainIfUndefined: reinstate the 3rd argument (guard) so as to make the definedness check and possible shadow temp set-to-defined be optional. Use this to properly instrument IRLoadG and IRStoreG, so that if the load/store does not happen, not only is the validity of the address not checked, neither is the definedness.
8bea867 : mips: add allexec tests for mips64
2558317 : fix 319235 --db-attach=yes is broken with Yama ptrace scoping enabled On Ubuntu systems, ptrace_scoping could forbid a process to ptrace another. This ptrace scoping was already handled for vgdb by using SET_PTRACER (the valgrind process must be ptraced by vgdb when it is blocked in a syscall). set_ptracer is however also needed when the old mechanism --db-attach=yes is used. The following changes are done: * make the set_ptracer logic callable outside gdbserver * make set_ptracer less restrictive (i.e. allow all processes of the user to ptrace). This removes a limitation for vgdb. * call the set_ptracer in the child launched for --db-attach=yes * cleaned up the ptrace scope restriction message and doc as vgdb is now working properly by default, even with ptrace_scope enabled.
b40431f : Get rid of gcc warning on non-MIPS platforms.
521cebb : Add syscall suport for system calls sys_mbind, sys_set_mempolicy and sys_get_mempolicy.
39b08d8 : valgrind side support for Iop_F64toD64, Iop_D64toF64 Iop_F64toD128, Iop_D128toF64, Iop_F128toD128, Iop_D128toF128
37c57f3 : Add the following IROPs which are needed for s390 DFP support: Iop_F64toD64, Iop_D64toF64 Iop_F64toD128, Iop_D128toF64, Iop_F128toD128, Iop_D128toF128,
0232098 : fix gdbsrv inferior calls when PT_GNU_STACK declares stack not executable With rev 13368, Valgrind obeys PT_GNU_STACK making the stack not executable. This makes inferior function call with GDB >= 7.5 failing, as GDB places a breakpoint on the stack, which must be decoded and translated by Valgrind to have the inferior function call properly done. => introduce a special case in the conditions to allow translation when a segment is not executable but is readable and there is a breakpoint at the address.
1fb1e34 : mips: fix some style issues, non-functional change
7ca65ae : mips: extending the existing test for INS and EXT instructions
bc3af3c : mips: fix corner case for INS instruction
863014b : mips: fixup blksys_restart address for mips64
92001d4 : STRD (both ARM and Thumb): for push-like cases -- specifically, STRD rD1,rD2, [sp, #-8], generate IR for the SP writeback before the stores. This loses restartability of the instruction but avoids Memcheck complaining that we're writing below the stack pointer.
087eb38 : Increase size of the CIEs array to 5000.
a5aad63 : Whitespace changes only -- no functional change.
ccff5f4 : Implement SMMLA{r}, both ARM and Thumb. n-i-bz. (Ben Cheng <>)
de9e632 : Add test cases for SMMLA{R}.
d14ab92 : Android's elf.h doesn't have PT_GNU_STACK (sigh) and so r13368 broke the build. This conditionalises that fragment on the present of PT_GNU_STACK.
f78a81c : Generate better code for Shl64(x, imm8) since the Neon front end produces a lot of those for V{LD,ST}{1,2,3,4}.
5f05bb8 : Minor changes to how V{LD}{1,2,3,4} are tested: * print the output 64-bit results in most-to-least-significant lane format * change the memory values used in these tests to ones which are reliably able to detect confusion of 8-bit lanes. The previous values couldn't to that reliable. This change causes the diff to be huge because the stdout.exp changes a lot.
0adc2f2 : VLD4/VST4: generate in-line interleave/de-interleave code, so that loads can always be done in 8 byte units.
c1e23c4 : VLD3/VST3: generate in-line interleave/de-interleave code, so that loads can always be done in 8 byte units.
b22a1a4 : Calculate offsets in read_dwarf2_lineblock based on is64
0c30de8 : mips: fix endian issues for LWL, LWR, LDR and LDL for mips64
918cc6b : Non-functional changes: flush stdout frequently, so as to make it easier to sync with stderr output. Also, add some more helpful data for testing Neon loads/stores.
1df8096 : Improved front end translations for Neon V{LD,ST}{1,2} instructions, that do deinterleaving/interleaving via IROps and so generate far fewer memory references. As a side effect, fix incorrect ARM back end implementation of many of the SIMD lane interleaving/deinterleaving and concatenation IROps.
941277a : Fix -Ttext-segment configure check.
cf8735c : strchr.vgtest mc_replace_strmem.c [r]index and [__GI_]str[r]chr are the same.
4c3b237 : Simplify read_unitinfo_dwarf2. Only try to read the first DIE.
de61a39 : Remove some unused ifdeffery that allowed disabling QC flag updating for Neon.
50d6d21 : Pay attention to PT_GNU_STACK when deciding what permissions to use for the client stack.
58d9ce4 : read_unitinfo_dwarf2 DW_FORM_ref_addr is address size in DWARF version 2.
860fdab : Update.
bf30d0c : Add test cases for SDIV and UDIV. Pertains to #314178.
8bde7f1 : Implement ARM SDIV and UDIV instructions. Fixes #314178. Partially based on a patch by Ben Cheng, Also renames two misnamed PPC helpers.
b17322f : Add test cases for (T1) LDRT reg+#imm8. See #315689.
7af7687 : Implement (T1) LDRT reg+#imm8. Fixes #315689. (Vasily,
2be5122 : Fix double 'the the' in documentation.
b3a23c6 : temporarily disable memalign part of the undef_malloc_args.c test as this is breaking Darwin.
cf9e197 : Solve false negative for various malloc replaced functions arguments
d5f0d1e : mips: enable helgrind test tc08_hbl2 for mips64
e52a8ab : mips: add different value for SOCK_STREAM
4ab0a79 : mips: enable several system call wrappers on mips64
dd6bf60 : mips: add mips64le support for atomic_incs and annotate_hbefore tests
dae2cd6 : Update bug status.
8ff636e : memcheck, Darwin 10: Add a suppression pattern
43dfaf7 : announce an old bug (wishlist) which rev 13223 fixed
abeffc8 : drd, Darwin: Generalize a suppression pattern
8d46959 : drd, Darwin: Add a suppression pattern
e9f4cfc : Don't assume that page size is 4K when loading PIEs. Fixes #263034. (Dodji Seketeli,
fdb7081 : Enable prctl on ppc64-linux. Fixes #308089.
48b0ae3 : For memcheck overlap filter_memcpy str[n]cpy and __GI_str[n]cpy are equal.
6f0b0c2 : memcheck/tests/strchr test should not depend on line numbers.
89d1d5e : Add new MISC vector Iops to memcheck/tests/vbit-test/irops.c.
04ce9f5 : Cope with old linkers which don't support -Ttext-segment but which do generate build-id sections. #317091. (Mark Wielaard,
e1374cf : Be more aggressive about dropping the lock in spinloops.
736dbfe : Update test results for EQ_UQ SSE FP comparison operation. BZ#317444.
656b8f4 : Fix some rebasing fallout pertaining to today's AVX2 landing. Fixes #317463.
e222efc : Fix BMI assembler configure check and avx2/bmi/fma vgtest prereqs. #317461. (Mark Wielaard,
682d285 : Test support for the EQ_UQ SSE FP comparison operation. BZ#317444.
4d780eb : Add support for the EQ_UQ SSE FP comparison operation. BZ#317444.
fda50af : Build system and hwcaps fixes pertaining to #305728, which added support for AVX2, BMI1, BMI2 and FMA instructions. (Jakub Jelinek,
f014538 : Testcase additions pertaining to #305728, which added support for AVX2, BMI1, BMI2 and FMA instructions. (Jakub Jelinek,
a2f3095 : Memcheck fixes for new IR ops introduced by r2702 (which added support for AVX2, BMI1, BMI2 and FMA instructions). Part of #305728. (Jakub Jelinek,
cc3d219 : AMD64: Add support for AVX2, BMI1, BMI2 and FMA instructions (VEX side). Fixes #305728. (Jakub Jelinek,
e653b03 : Add hwcaps checking on amd64 for RDTSCP. Part of the fix for #251569 and its dups.
818c730 : Implement RDTSCP on amd64, finally. This fixes #251569 and dups 311933, 313348 and 313354.
c5a5c57 : Add test cases for SSE4 MOVNTDQA insn. Pertains to #316503. (Patrick J. LoPresti,
92eef38 : Implement SSE4 MOVNTDQA insn. Fixes #316503. (Patrick J. LoPresti,
f2df036 : Update bug status.
19dfe03 : fix 307082 HG false positive: pthread_cond_destroy: destruction of unknown cond var
a39fb0c : Fix an assertion failure on CVT.F64.S32 d16, d16, #1. Fixes #317186 (I think).
e4bc703 : Use -Wl,-Ttext-segment when static linking if possible to keep build-ids. Fixes #317091. (Mark Wielaard,
2a8d070 : VEX, ppc code cleanup
a03a7f9 : Undo void change done as part of rev 13329
2411197 : Better fix for 295590 (problem reported in bug 307082, comment 8). Solution applied is similar to what is in 307082 patch (i.e. do not destroy the internal helgrind var if nWaiters > 0). But also do not remove it from the FM.
7147c14 : Update.
2046593 : Document that user level client stack switches might cause crashes and that these crahses might be avoided using VALGRIND_STACK_REGISTER See bug 316613
dfa54a5 : Fix 316535 Use of |signed int| instead of (unsigned) |size_t| in messages... * when SEGV trapped, report the main thread size as an unsigned size_t * Similar for memcheck overlap errors For example, for the 2 calls: memcpy(&a, &a, 2147483648UL); memcpy(&a, &a, -1); // silently accepted by gcc 4.4.4 -Wall // while the 3rd arg is supposed to be a size_t we now obtain (on a 32 bit system) Source and destination overlap in memcpy(0xbe97113f, 0xbe97113f, 2147483648) Source and destination overlap in memcpy(0xbef6d13f, 0xbef6d13f, 4294967295) instead of Source and destination overlap in memcpy(0xbe8e012f, 0xbe8e012f, -2147483648) Source and destination overlap in memcpy(0xbe8e012f, 0xbe8e012f, -1)
e08c5b8 : s390: Add testcase for the SRNMT instruction. Patch by Maran Pakkirisamy ( Part of fixing BZ 307113.
82cdba6 : s390: Support the SRNMT instruction. Patch by Maran Pakkirisamy ( Part of fixing BZ 307113.
e6bce13 : Fix 316145 - callgrind command line options in manpage reference (unknown) callgrind manual Patch by Mark Wielaard.
90285ba : fix 315959 valgrind man page has bogus SGCHECK (and no BBV) OPTIONS section PAtch from Mark Wielaard.
764b39e : drd/tests/annotate_smart_pointer2: Add an expected output file
5961fe0 : drd/tests/sem_wait: Skip on Darwin since sem_init() fails with ENOSYS on Darwin
f1425b7 : Darwin: Make stack growth tracking consistent with other architectures
ac3dcee : Darwin: Fix a compiler warning
ed2c106 : massif/tests/pages_as_heap.c: Fix a compiler warning
3f531f1 : s390: Distribute dfp-1 expected output files also if built on a non-s390 platform
573d074 : drd: Fix stack growth tracking. Hopefully this is the proper fix for #297147.
96cdf1e : drd: Fix a 4x slowdown for certain applications (#316181)
a02e267 : Fix 316144 (valgrind.1 manpage contains ??? strings for references) Patch by Mark Wielaard.
82e3c18 : Add test cases for VCVT.{S,U}32.F64 D[d], D[d], #frac_bits. Pertains to #315738.
ade5552 : Implement VCVT.{S,U}32.F64 D[d], D[d], #frac_bits. Fixes #315738.
3343e4b : Add test cases for VCVT.F64.{SU}32, #imm, including a bunch of dodging and weaving to work around buggy assemblers. Pertains to #308717.
6b7bdec : Implement VCVT.F64.{SU}32, #imm. Fixes #308717.
fa6b71c : Handle "vmov qDest.I32 V128{0xFFFF}" so to speak, and make the case for a zero immediate more similar. Verify assembled output against GNU as. Fixes #311318.
5d7dbf7 : Add test cases for SMLAL{BB,BT,TB,TT}. Related to #308718.
44db1e7 : Implement SMLAL{BB,BT,TB,TT}. Fixes #308718. (Mans Rullgard,
b3e0811 : Fix inconsistency between callgrind and format spec
6fd919d : Moved fixed bugs to the NEWS file.
2c1bc5c : Even more first-pass triage.
4501a3b : Even more first-pass triagery.
448e2bf : Better document an ignored return value. The call to VG_(gdbserver_report_signal) is ignored in synth_fault_common (m_signals.c) as these signals are always to be delivered (as explained by the following comment). => better document that the return value is ignored on purpose. (spotted by Florian, using Coverity)
8c850a8 : announce fix for 309823 Generate errors for still reachable blocks Functionality is provided via the new 3.9.0 arg --errors-for-leak-kinds=kind1,kind2,.. which leak kinds are errors? [definite,possible] where kind is one of definite indirect possible reachable all none
f9e5b5e : Implement the name_to_handle_at system call for x86 and amd64. Based on patch from Asmadeus to fix BZ#308930.
0470c5d : s390: Fix disassembly. Wrong argument order was causing asserts.
496979d : Remove dead code (a Coverity finding).
4ecae76 : Avoid warning that format argument is not a string literal
fdb2a4c : mips: fix for some warnings in mips files when compiling on amd64/x86
6b08776 : Factorise some code from syswrap-amd64/arm/mips32/mips64-linux.c to syswrap-linux.c
74d80db : small changes in sendmsg.c regtest * avoid a warning related to pointer types * replace exit (0) by return 0 (might help backtraces on Darwin, suggestion by Rich Coe)
0ef8d9e : Handle WFE and SEV, needed for spinlock hinting.
c996326 : allow compile time tracing to be enabled using the stats counters (so put first the static stats counters).
6e2d38b : Announce 296311 was fixed Wrong stack traces due to -fomit-frame-pointer (x86)
e5a61e1 : wire up 2 vhost ioctls. The kernel does not use any parameter
dfe0dae : initial tun/tap ioctls. TUNSETIFF/TUNGETIFF/TUNSETOFFLOAD. See 315952.
744b7a2 : Do some more triagery.
26adec0 : Do some triagery.
fc75e5e : Don't check the flags word in msghdr for sendmsg as the kernel will neither read nor write it.
2e4e995 : Update bug list.
4df0bfc : mips: adding MIPS64LE support to Valgrind
b92a954 : mips: adding MIPS64LE support to VEX
3a00f52 : Fix vassert_fail producing random output for an empty format vsnprintf does not do any addition to the buffer for an empty format. So, buf was not null terminated. This e.g. causes an assert_fail to output random characters after the failed expression. Fix by ensuring the buffer of vsnprintf is always null terminated to start with.
3a53220 : fix 315545 (find_TTEntry_from_hcode): Assertion '(UChar*)sec->tt[tteNo].tcptr <= (UChar*)hcode' failed
08f65d9 : s390: Non-functional change. Pedant at work...
fdd27ac : Make msgrcv wrappers on amd64, arm and mips32 look for IPC_NOWAIT in the flags argument, not the type argument. Fixes #315534.
d18287d : s390: Fix a type mixup found by BEAM.
e70c45e : Add Valgrind's implementation of memmove to avoid link issue
9f2a339 : Add support for the Linux ioctl IB_USER_MAD_ENABLE_PKEY
e0acc15 : s390: Testcases and vbit-tester changes for the following DFP insns: - extract basied exponent - insert biased exponent - quantize - reround to significance Patch by Maran Pakkirisamy ( Part of fixing BZ #307113.
5c53973 : s390: Support the following DFP insns: - extract basied exponent - insert biased exponent - quantize - reround to significance Patch by Maran Pakkirisamy ( Part of fixing BZ #307113.
6938b9d : Stop gcc-4.4 complaining when this file is compiled on a 32 bit platform.
79efdc6 : Make HReg a struct. In the past there were several occurences where a HReg was assigned to an integer. This worked by accident because the bits representing the register number (which was meant to be accessed) happened to be in the right place. Two new functions: hregIsInvalid and sameHReg. The HReg struct just wraps the integer that was previously used to represent a register without changing the encoding.
1bb7f6f : s390: Be consistent with emulation warnings about unsupported rounding modes in absence of the floating-point extension facility. For some insns we would vassert for others we'd give a warning. Now we always issue an emulation warning.
3a142cf : s390: Add testcase for these DFP insns: CDGTRA, CXGTR, CGXTR, and CGDTR (VEX r2680). Update vbit tester. Patch by Maran Pakkirisamy ( Part of fixing BZ #307113.
a887acd : s390: Support these DFP insns: CDGTRA, CXGTR, CGXTR, and CGDTR. Patch by Maran Pakkirisamy ( Part of fixing BZ #307113.
ff9000d : s390: Change get_dfp_rounding_mode to map IR rounding modes to S390_DEP_ROUND_.. values in the range [8;15]. See comments in code. Patch by Maran Pakkirisamy (
1fd227c : s390: Add cc thunk description for S390_CC_OP_DFP_{64|128}_TO_INT_32. This should have been part of r2632.
d52defb : Add intercepts for some Qt5 functions. (David Faure,
c23579d : s390: Fix debugging output in IR injection.
203b998 : s390: It is not necessary to save/restore the link register when making a helper call. The link register needs to be saved when switching between valgrind and client code and the dispatcher code already does that. Julian suggested this change when he merged the COMEM branch. This saves between 6% and 13% of insns on the perf bucket. Runtime difference is within noise margin.
cec3a8a : s390: Change insn selection to recognize memcpy-like statements. Add S390_INCN_MEMCPY and generate MVC for that later on. Saves between 0.1 - 1.5% of insns. Observed runtime differences on the perf bucket were within noise margin.
654b7f9 : Shifting an int and assigning it to a long could be trouble. It isn't here, but let's make the code clear in this respect.
e6be61f : Fix a few more HReg <-> UInt mixups.
522d4d3 : Line-wrap a comment and put in some #undefs. Non-functional change.
b05c20c : Post-patch to r2668. Choose more sensible names. Purely mechanical, no functional changes. Mttt -> Ittt Mtct -> Ittc Mttc -> Itct MTcc -> Itcc eX -> e1 and conX -> con1
c4feec1 : Bypass warning reported by gcc gcc reports a warning: m_stacktrace.c:183: warning: ‘xip_verified’ may be used uninitialized in this function
ebe2580 : better handle and better document the case of multi-locks cycles In case a lock order violation is detected in a multi lock cycle, then the current code cannot produce the set of locks and the stack traces involved in the cycle. However, it is still possible to produce the stack trace of the new lock and the other lock between which a cycle was discovered.
20ede3a : Improves stacktrace unwinding on x86
9884af0 : The Coverity tool was run against the Valgrind source code and identified a problem in VEX/priv/guest_ppc_toIR.c saying the variable 'insn_suffix' was assigned but not used. The function _do_vsx_fp_roundToInt() has an HChar * parameter named 'insn_suffix', and the intention of this function was to set the insn_suffix appropriately for the passed opcode so that the caller could use that suffix as needed (some callers needed, and others didn't). However, since the parameter type is a simple pointer, passed by value, insn_suffix was only modified locally, and the caller did not see the new value. Since most of the callers of _do_vsx_fp_roundToInt() ignore the insn_suffix, I have removed that from the parameter list and moved the code for ascertaining the appropriate suffix into a new function called _get_vsx_rdpi_suffix().
a81d9be : mips: Fixing some HReg <--> UInt mixups spotted by Florian.
5d0d521 : test_reservation(), test_double_pair_instrs(): Fix broken inline assembly causing segfaults with gcc-4.7. The inline assembly still isn't right, but it's better than it was before.
6805a4a : Increase maximum usable memory amount from 32GB to 64GB on 64-bit Linux.
3d5246f : get_otrack_shadow_offset_wrk: amd64: add a (very rare) missing case.
07bfda2 : Non functional change (formatting, comments) related to newly created Iex_ITE.
a28c43c : Fix the mkLazy3 case for I32 x I8 x I128 -> I128.
d456418 : Follow-up on r2664-r2668 changes for IRExpr_Mux0X and Iex_Mux0X for MIPS32.
5869ded : Fix a buffer overflow in VG_(assert_fail). Patch by Matthias Schwarzott ( with some minor mods. Fixes BZ 313811
5686b2d : Infrastructure cleanup part 2. valgrind side changes. Replace Iex_Mux0X with Iex_ITE (if-then-else). Companion patch to VEX r2668.
99dd03e : Infrastructure cleanup part 2. Replace Iex_Mux0X with Iex_ITE (if-then-else) and IRExpr_Mux0X( cond, iffalse, iftrue ) with IRExpr_ITE ( cond, iftrue, iffalse );
495f622 : Initialise a local variable, so as to stop gcc-4.7.2 complaining that some part of it is used uninitialised.
19fb8d7 : drd: Make --trace-addr trace all loads for the specified address
4005d47 : drd: Avoid that Coverity complains about a dead assignment
d0f1a93 : Mux0X cond type change: fix a front end case that got missed.
0d9cbe5 : Mux0X cond type change: verify all isel cases, and implement one that got missed (for F64).
66e4c73 : Fix warning (missing #include file)
1ae5353 : Avoid copying a string coming from argv[] into a fixed size buffer. Pointed out by Coverity's checker.
60733f8 : Fix up a non-handled Mux0X case following r2664, and verify that the sense of all of the Mux0X cases is correct.
cc96165 : Changes to track r2664, which changed the type of the condition field of Mux0X from Ity_I8 to Ity_I1. Patch from Florian Krohm.
009230b : Infrastructure cleanup: change type of the condition field of IRExpr_Mux0X from Ity_I8 to Ity_I1. This makes more sense, makes it consistent with condition fields in IRStmt_Dirty and IRStmt_Exit, and avoids some pointless 1Uto8 casting of the condition, in many cases. Fixes for s390 are from Florian.
0e7d280 : Fix incorrect comment.
18475c5 : Changes to make this usable for ARM/Thumb.
28eac40 : Annotate ARMNImm_to_Imm64 with fallthrough markers following verification against the table in host_arm_defs.h, "Neon Immediate operand". A particularly nasty piece of code.
3bdd24a : Fix some HReg/UInt mixups, spotted by Florian.
74c37d8 : Improve help message.
e82e574 : Remove two unused variables that sneaked in in r2657.
c17ce02 : Fix HReg <--> UInt mixup. vreg is a HReg, so we should not assign a hregNumber() to it. Introduce and use vregno instead.
3123f72 : s390: Fix HReg <--> UInt mixups.
b5e7ced : Fix some HReg/UInt mixups spotted by Florian.
bf3bea6 : Fix HReg <--> integer mixup. vreg2ireg returns an HReg not an integer.
2310935 : Fix HReg <--> Uint mixup. iregNo returns an integer not a HReg.
9b6e72a : Update list of ignored files.
edef58d : Tweak script; ignore some more opcodes.
9e9b589 : Avoid doing a useless system call in scheduler sanity check
6ec8d63 : Implement the gdbsrv monitor command expensive_sanity_check_general (useful to check the sanity of valgrind on request and/or from GDB, when an error is reported by the tool). Also re-order the NEWS entries to put the internals things after the user level new functions.
dd6c514 : ensure nightly reports the GDB version Useful to investigate the behaviour of gdbsrv tests
c6c7a0d : Unreachable default case should vassert.
fb583cb : Fix implementation of the DFP integer operands.
cea07cc : Fix implementation of the DFP integer operands.
362e271 : s390: Remove unreachable break statements. Spotted and fixed by Maran Pakkirisamy (
4041ce3 : s390: Pedantic cleanups by Maran.
195623b : Make sure the variable is completely initialised. That's good practice and also silences a complaint from the Coverity checker.
77241c7 : Fix NULL dereference if no integer arg given to monitor block_list cmd Reported by Florian (spotted by coverity).
8a2bea9 : Remove pointless test. vts->ts is an array and cannot be NULL.
fcd9635 : Remove unneeded test. "info" cannot be NULL here as it was dereferenced previously. Spotted by Coverity's checker.
f704eb2 : The 32-bit DFP value is stored in a 64-bit register in ppc. The D32 to D64 and D64 to D32 definitions for the Iop type was specified in VEX/priv/ir_defs.c, function typeOfPrimop() as:
833d01c : s390: Add another testcase for DFP insns. Patch by Maran Pakkirisamy ( Part of fixing BZ 307113.
8fa60ff : Replace bcopy on linux as, at least in 32 bit build, glibc will sometimes choose to use an optimised version. Fixes #311407.
ba74a11 : Fix two asserts that Coverity's checker diagnosed as having side effects.
39d8b54 : xen: Add a missing break to the handling of XEN_DOMCTL_max_vcpus found by Coverity's checker. Also fix another missing break XEN_SYSCTL_numainfo found by via a by-eye check. This one is at the end of the switch so it is benign. Patch by Ian Campbell <>.
6c0aa2c : In mc_translate a NULL guard expression is sometimes passed around functions to indicate a "true" expression. That caused some confusion and led people to believe believe, that IRDirty::guard could be NULL. It cannot. This confusion was indirectly spotted by coverity's checker who figured out that IRDirty::guard was sometimes unconditionally dereferenced and sometimes compared against NULL. Cleaning this up...
a0ba586 : mips: fix link_tool_exe_linux issue for different mips architectures
4b5abc2 : mips: fixing issues spotted by a static code analysis tool
1764121 : mips: additional test case for fix in VEX r2648
f94ebbd : mips: fix for mips-disassembler when branch is at block_size-2 position
583ae93 : Add documentation for VALGRIND_MONITOR_COMMAND client request
4620765 : Implement --merge-recursive-frames + provide VALGRIND_MONITOR_COMMAND client req.
8cef87d : Fold out an expression which is always False. Spotted by Florian using Coverity.
633eb99 : Remove a bit of dead code, spotted by Florian using Coverity.
62140c1 : Improve the tree builder in IR optimisation. Allow load expressions to be moved past Put/I statements and dirty helpers, when it is safe to do so. It is safe, when the statement does not require exact memory exceptions. New functions stmt_modifies_guest_state and dirty_helper_puts have been added to determine the side effect on the guest state. This optimisation enables the use of memory-to-memory insns on architectures that have those.
67a171c : s390: Fix a type mixup spotted by IBM's BEAM checker.
d734865 : Fix buffer overrun due to copy paste from x86 to amd64. Detected by Florian (using coverity tool).
c7c3f2f : xen: add a missing break to the handling of XEN_DOMCTL_getdomaininfo
9293361 : Fix warning in perm_malloc (reported by Florian)
d678533 : Fix a comment. Spotted by Maran.
11edf63 : Fix statement order. Found by Coverity's checker.
efa97a7 : Import from memcheck land, a less ludicrously inefficient implementation of memcpy, which copies words at a time rather than just bytes.
15e2fbb : Add an implementation of memset() that costs half as much on 64 bit platforms. (But why are we intercepting memset anyway? It makes no sense to me.)
6e4b713 : Implement a more efficient allocation of small blocks which are never freed. This generalises the "perm_malloc" function which was in ms_main.c The new VG_(perm_malloc) is used in ms_main.c and for execontext : when there are a lot of execontext, this can save significant memory.
34fa5a5 : Add a vg_alignof macro
50863bb : Change the size of the hash table used to cache IP -> debuginfo to a prime nr
cafe505 : Merge, from branches/COMEM, revisions 13139 to 13235.
cfe046e : Merge, from branches/COMEM, revisions 2568 to 2641.
2596337 : Small comment fix: .h specifies "all frames", implementation uses 8. Two fixes could be done: Either we fix the comments or we increase N_FRAMES to be rather VG_DEEPEST_BACKTRACE.
370a8d5 : Fix two memory leaks. Spotted by Coverity.
36c01ef : Improve error handling when vgdb cannot read process cmd line
9f369a0 : Announce bug fix.
f888399 : Remove const qualifier from function return type. It's not meaningful. Patch Guy Harris ( Part of fixing BZ 312980.
e07cbb3 : Fix a few compiler warnings on Darwin. Patch Guy Harris ( Part of fixing BZ 312980.
c3b29ca : Minor code cleanup. These cases cannot occur.
91a16b7 : Test file mode correctly in vmsplice wrapper.
3781ac1 : Accept glibc 2.17 as valid.
63ea01e : Comment only changes
5db022b : no recording of execontext for track origin in brk/signal stack when track-origin=no
d5fb89d : Avoid to record execontext used for origin tracking when --trac-origins=no All calls to VG_(unknown_SP_update) were recording an execontext of one IP, useful only for track origin. This patch implements splits VG_(unknown_SP_update) in two different functions VG_(unknown_SP_update_w_ECU) (doing origin tracking) and VG_(unknown_SP_update) (not doing origin tracking).
83f60b5 : Fix a comment and add one.
5f03462 : s390: Support insns to convert between DFP values and signed/unsigned integers. Patch by Maran Pakkirisamy ( Part of fixing BZ 307113.
53eb2a0 : Add memcheck support for the IROps added in VEX r2631. Adapt vbit-tester. Patch by Maran Pakkirisamy ( Part of fixing BZ 307113.
b17e16f : Add 12 IROps for converting betwen DFP values and signed/unsigned integers. Patch by Maran Pakkirisamy ( Part of fixing BZ 307113.
8617b5b : Implement --keep-stacktraces=alloc|free|alloc-and-free|alloc-then-free|none
550c826 : output the nr of IP in the stacktrace header produced by exectxt
53bc8bc : update a test following revision 13220
f3a6e93 : Addition of GDB server monitor command ' execontext' that shows information about the stack traces recorded by Valgrind. This can be used to analyse one possible cause of Valgrind high memory usage for some programs.
c08fd4e : s390: Add ecag.stdout.exp-zec12 to EXTRA_DIST.
89bb1a9 : s390: bug fix. DFP rounding mode mixup. Spotted and fixed by Maran Pakkirisamy (
b194317 : add ecag exp file for zec12
e8c3115 : remove useless undef of MYBUF_LEN
23716ff : Remove unused function.
2b4890f : The call to set the rounding mode for DFP iops: Iop_AddD128, Iop_SubD128, Iop_MulD128, Iop_DivD128, and Iop_D128toI64 is wrong. The call being used is set_FPU_rounding_mode(). This call is used to set the two rounding mode bits for the Floating point instructions. The call set_FPU_DFP_rounding_mode() should have been used to set the three rounding mode bits for the DFP instructions.
04b2772 : s390: Add testcases for DFP "shift significant" insns. Patch by Maran Pakkirisamy ( Part of fixing BZ 307113.
1b901d4 : s390: Add support for DFP "shift significant" insns. Based on patch by Maran Pakkirisamy ( Part of fixing BZ 307113.
088809c : Improve handling of dirty helper calls when building trees in ado_treebuild_BB. This function took an overly conservative approach and always assumed that calling a dirty helper would modify both guest state and memory. This patch introduces two new functions dirty_helper_stores and dirty_helper_puts, to determine the actual side effets of a helper call. Using these functions increases precision and allows the tree builder to move a GET past a dirty helper call.
0a2682a : s390: Add testcase for "test data class/group" insns. Patch by Maran Pakkirisamy ( This is part of fixing BZ 307113.
17c5e2e : Improvements to the built-in profiling infrastructure:
65ea17e : Show the guest->host code expansion ratio when debug-printing translations.
cf1527c : Indentation only change.
518401a : s390: Add testcases for ESDTR and EXDTR. Patch by Maran Pakkirisamy ( Part of fixing BZ #307113.
ce9e3db : s390: Support the "test data class/group" and "extract significance" insns. Patch by Maran Pakkirisamy ( This is part of fixing BZ 307113.
974b409 : valgrind-side support for Iop_ExtractSigD64 and Iop_ExtractSigD128. See also companion patch VEX r2621.
4bbd3ec : New IROps: Iop_ExtractSigD64 and Iop_ExtractSigD128. These are needed to implement s390's "extract significance" insns.
528b350 : is_stack_access: don't iterate over possibly non-existent stmts. This has been observed to cause the JIT to segfault when using DRD on ARM.
000e6c8 : Update list of ignored files.
7ef18a5 : Remove Makefile-icc which has been broken for a long time.
29238c6 : vbit-tester: In test_ternary_op return number of tests executed. I don't recall gcc complaining about this. But clang did.
b93348d : s390: Do not waste a register when assigning a constant to a memory location. If available, use MVHI and friends. If those are not available, load the constant value into register r0 and store that. r0 is not visible to register allocation and therefore using it does not increase register pressure. Remove S390_INSN_MZERO and replace it with S390_INSN_MIMM. Assigning zero is just a special case.. Saves between 0.9% and 2.4% of insns as measured with the perf regression bucket.
06743c1 : s390: Remove a forgotten debug print statement.
0fca5ee : Remove a fixme.
29a36b9 : valgrind side changes to support Iop_CmpExpD64 and Iop_CmpExpD128. VEX buddy patch is r2617. Enhance testcase for CEDTR and CEXTR. Adapt vbit tester. Patch by Maran Pakkirisamy ( This is part of fixing BZ 307113.
20c6bca : s390x: Support "compare biased exponent" insns CEDTR, CEXTR. To do that properly, two new IROps are needed: Iop_CmpExpD64 and Iop_CmpExpD128. It might seem that extracting the exponents using Iop_ExtractExpD64/D128 and comparing the values could be used here. But that only works for finite DFP values. Hence, the new IROps.
35b241b : Avoid compiler warning on ppc32.
97a3d76 : none/tests/process_vm_readv_writev: Avoid that compilation of this test program triggers a compiler warning
b6c014b : drd/tests/pth_cond_destroy_busy: Correct expected output
995e36d : drd/tests/pth_cond_destroy_busy: Add
d36fa80 : drd: Handle pthread_cond_destroy() failure properly
4180af3 : Fix VEX standalone build with Makefile-gcc. This has been bit-rotting for a while.
142a4ba : Updated for s390_defs.h.
b0b6710 : s390: New file s390_defs.h to contain definitions that are neither guest nor host specific, but just s390 specific. These definitions formerly resided in host_s390_defs.h
ef9c8ad : s390: Add testcases for CDTR, CXTR, LDETR. LXDTR, LEDTR, LDXTR. This is part of fixing BZ 307113. Patch by Maran Pakkirisamy (
9f42ab4 : s390: Simplify the optimisation for PUTs to tracked registers.
c4aa7ed : s390: Reduce the size of an s390_insn from 48 bytes to 32 bytes by - adding one level of indirection for CDAS and DFP binops - rearranging and tweaking the variant for helper calls - using seperate insns kinds for signed and unsigned multiplication and division. Add an assert to make sure the size stays at 32 bytes.
a77451c : s390: Fix a silly mistake causing an infinite loop. Spotted by Maran Pakkirisamy (
f85fe3e : s390: Generalise S390_INSN_GADD which only worked on the guest state to S390_INSN_MADD which works for any memory location addressable with base reg + 20-bit displacement.
06dfe21 : s390: Fix an assert.
6dc9024 : s390: Rename s390_conv_t to s390_bfp_conv_t. Purely mechanical.
2d3d87f : s390: Distinguish between conversion to/from IRCmpFxxResult and IRCmpDxxResult, even though the encodings are currently the same. Rename convert_s390_fpcc_to_vex to convert_s390_to_vex_bfpcc. Add convert_s390_to_vex_dfpcc and convert_vex_dfpcc_to_s390.
daa4084 : Define IRCmpD64Result and IRCmpD128Result.
eb981ae : s390: Add support for storing DFP values (32/64 bit).
d8e784d : Companion patch to VEX r2605. Adds a few testcases and adapts the vbit tester. This is part of fixing BZ #307113. Patch by Maran Pakkirisamy (
e38f641 : Add support for these DFP insns: AXTRA, CDTR, CXTR, DXTRA, LDETR, LXDTR, LDXTR, LEDTR, LTXTR, MXTRA, SXTRA This is part of fixing BZ #307113. Patch by Maran Pakkirisamy ( with some minor mods.
8a3e969 : Remove redundant code snippet.
f4bed37 : Fix mc_translate for Iop_D64toD32. Spotted and fixed by Maran Pakkirisamy (
543f7ef : Minor style improvement over r13190.
4ebaa77 : Fix typos. Should really use __func__ instead.
c9fa640 : Use different incorrect value in pth_detached3
f64d27e : s390: Fix IR generation for DDTR and MDTR. These insns do not modify the condition code. Spotted and fixed by Maran Pakkirisamy (
b3764a9 : s390: Fix disassembly for ADTRA, DDTRA, MDTRA, and SDTRA. Spotted by Maran Pakkirisamy (
cb2b24e : s390: Add thunk layout documentation for S390_CC_OP_DFP_RESULT_64.
1beb433 : Constant folder: enable Sub32(x,0) ==> x.
9213c61 : Iop_GetMSBs8x16: remove a copy-n-paste error introduced in r2590.
9f35c0d : Fix vbit tester for Iop_D32toD64 and Iop_D64toD32. Spotted and fixed by Maran (
6dd9f27 : Fix typeOfPrimop for Iop_D32toD64 and Iop_D64toD32. Spotted and fixed by Maran (
c12486b : Fix the configure check so that fair-sched works on Android too.
059838b : With --stats=yes, also print TT/TC stats.
33332a3 : Fix an operator precedence error found by BEAM.
eca3354 : Fix an assert in s390 disassembly. Eliminate a few magic array width constants and use S390_MAX_MNEMONIC_LEN instead. New function "mnemonic" to construct a mnemonic string padded with blanks for alignment.
473dc16 : Teach vprintf_wrk about '*' as format width, in which case the width is given in an argument.
ef91fce : Make sure the stack pointer is properly aligned when invoking a signal on amd64-linux systems.
24cf8df : Make memcheck/tests/stpncpy be dependent on the presence/absence of stpncpy in libc, as determined by a configure test. n-i-bz. (Mark Wielaard,
f517634 : Valgrind-side changes for new primop Iop_GetMSBs8x16, introduced in vex r2590.
78a2059 : Implement 128-bit PMOVMSKB using a single new primop (Iop_GetMSBs8x16) rather than chopping it up into two 64-bit pieces in the front end.
3088769 : Update somewhat.
b29b649 : On ARM: Don't be spooked by Puts to the translation-invalidation spec when doing origin tracking, even though they are completely irrelevant.
574e005 : Add test cases for the UMAAL instruction.
abf3945 : Support the UMAAL instruction. (n-i-bz). Based on a patch from Torbjorn Granlund,
3b10148 : Fix cut'n paste error spotted by Mark Wielaard.
09bbba8 : Generalise S390_INSN_GZERO which only worked on the guest state to S390_INSN_MZERO which works for any memory location addressable with base reg + 12-bit displacement.
9061eb3 : Eliminate some lameness when writing out hwcaps.
df14eea : Clean up the code for facility detection. First, use STFLE whenever possible (i.e. for all facilities that were introduced at the same time STFLE was or later). Turns out, that is most facilities we're interesting in probing, except long displacement. Secondly, remove magic constants denoting facility bits and use the definition from libvex_s390x_common.h Thirdly, build up the debugging message that shows the status of the probed facilities in a generic way so it won't have to be changed when facilities are added.
aec8e05 : Move definition of facility bits to libvex_s390x_common.h so we can use them in m_machine.c. Rename LSCOND facility to LSC.
08b61aa : Stop sending z10-ec nightly build messages to valgrind-developers for two reasons: (1) Those build logs appear to never have made it (2) Sourceforge recently started spamming my inbox with SMTP; 550 This message scored 19.5 points. Congratulations!
b2d4d6e : Update list of ignored files.
ffbd84d : Use VEX types.
28db75c : Make sys-openat test conditional upon the existence of AT_FDCWD.
2193a7c : Fix 284540 and 307465 284540 Memcheck shouldn't count suppressions matching still-reachable allocations 307465 --show-possibly-lost=no should bring down the error count / exit code
8a6a76a : Add documentation for --extra-debuginfo-path=. Relates to #310972. (Alex Chiang,
76a1424 : Complete the decoder. All published opcodes are now handled.
432eb79 : Identify opcodes that are not handled by the decoder in guest_s390_toIR.c Identify a few more duplicate mnemonics to avoid false messages from the checker.
e593275 : Fix some gcc complaints about unused variables in these tests.
b331c1b : The Signedness Police visit a couple of outlying systems in the Delta Quadrant.
71826f7 : Fix a const issue in r13154.
c30cd9b : Make diagnostics for SIGILL more controllable (Valgrind part). Fixes #309425. (Mark Wielaard,
442e51a : Make diagnostics for SIGILL more controllable (VEX part). Fixes #309425. (Mark Wielaard,
e00430b : Add an intercept for stpncpy. Fixes #309427. (Mark Wielaard,
dbcb1df : Re-enable XADD Gb,Eb. Fixes #307106. (Jakub Jelinek,
9990438 : Add intercepts for wcscpy, wcscmp, wcsrchr and wcschr on Linux. Fixes #307828. (Mark Wielaard,
5e82b89 : Use correct %rcx bit in the AVX feature check. Fixes #307285. (Mark Wielaard,
7c34279 : When looking for a separate debug object, tolerate mismatched phdrs by instead checking the shdrs:
f73de26 : For sys-openat the dirfd argument should be ignored when the pathname is absolute. Fixes #307103. (Mark Wielaard,
bd61232 : Synch opcode list with <binutils>/opcodes/s390-opc.txt. Fix some opcode categories (user space vs privileged operation)
c3ed866 : Accept blank lines in <binutils>/opcodes/s390-opc.txt. Bug fix: avoid reading something uninitialised
56c7a2f : Fix golden log.
3154134 : Update with current bugs.
8b6573d : Add a new command line flag, --extra-debuginfo-path=path, that allows specification of an extra directory in which to look for debuginfo objects. Fixes #310792. (Alex Chiang,
81d24c3 : fix 310424 --read-var-info does not properly describe static variables
370215f : Fix missing in EXTRA_DIST errors reported by check_makefile_consistency
2289cd4 : Recognise insns for zEC12 in the decoder. There is no IR generation for these insns yet.
384176b : Update opcode table: add new insns for zEC12
a53843d : Beef up testcase. Announce fix. Part of fixing BZ 310931.
b7def22 : In the past, the implementation of STFLE returned the facilities of the host machine. This was not consistent in the following sense: Suppose the host has a facility F installed and this facility implies the availability of an insn X. Suppose further, that insn X is not supported in valgrind. An application progrm that tests the availability of insn X by checking for its associated facility F will fail under valgrind when using X because valgrind will SIGILL. Not so good.
0849a4d : Probe host for conditional load/store facility. New hwcaps: VEX_HWCAPS_S390X_LSCOND
3a3d7f1 : Use "load on condition" insns, if availably, to implement S390_INSN_COND_MOVE.
4c9ac26 : Correctly skip memcheck's getregset for MIPS.
5afd53f : Update opcode status. Announce fix for BZ #306035.
ffc9401 : Refactor the code based on s390_irgen_LAA. New functions: s390_irgen_load_and_add32/64 and s390_irgen_load_and_bitwise32/64.
1bf4600 : Add testcase for LAA insn. Patch by Divya Vyas ( Part of fixing BZ #306035.
a265ee7 : Fix implementation of LAA for atomic update. Patch by Divya Vyas ( Part of fixing BZ #306035.
ebe68c2 : Skip memcheck's getregset for MIPS.
bb5aa78 : Fix typo.
cb22da5 : Improve FAQ section discussing statically linked lib Valgrind 3.8.1 can work with statically linked lib or alternative malloc libs. Ensure FAQ properly describe this.
d405332 : Before LL, instrument outstanding helper calls.
25e1cb2 : Formatting only change.
efa834a : Make some function parameters pointer to const. Companion patch to valgrind r13138.
3e79863 : Fix some casts that removed const-ness as pointed out by GCC's -Wcast-qual.
6bd9dc1 : Changes to allow compilation with -Wwrite-strings. That compiler option is not used for testcases, just for valgrind proper.
1e994b9 : Correctly model LL/SC on MIPS.
ad1162a : Flush events in Callgrind before enering a RMW region.
6d5568d : Update list of ignored files.
1472ad4 : Another signedness fix.
ea395fa : Fix up another char-signedness straggler.
55085f8 : Changes for -Wwrite-strings
9163968 : VEX, ppc fix use of modified value in the Iop_32HLto64 implementation
9a1c8a8 : Add test cases for definedness propagation through PCMPISTRI $0x3A. #309921, comment 7. (Patrick J. LoPresti,
f833ed4 : Add a special-case implementation of PCMPISTRI $0x3A, which generates in-line IR instead of calling helpers. This is so that Memcheck can do exact definedness propagation through it. This is important for dealing with inlined PCMPISTRI-based strlen calls.
be0c23d : Remove not-used typedef
6652bcc : Callgrind: fix Ir cost update for ignored functions
3d6a422 : Fix type mixup. Spotted by GCC, analysed by Julian.
9b826d6 : Add test cases for dependency tracking through pmovmskb and bsfl. Part of #308627. (Patrick J. LoPresti,
66826ec : Fix a couple of x86 char-signedness stragglers
87e0a64 : One more Char/HChar mixup in conditional code. Reported by Bart.
da8c126 : Re-establich configury checking for -Wno-pointer-sign. We need that flag to compile pref/tinycc.c. Sigh.
654b542 : Final patch for Char/HChar mixups. Remove -Wno-pointer-sign from Fixes 273227.
24c9e7f : vbit-tester, add counts for the number of 1, 2, 3 and 4 operand tests.
686b17f : Valgrind, V-bit tester: Add support for Iop_CmpORD class iops
1636d33 : Char/HChar fixups for m_debuginfo and m_gdbserver.
62840fa : Add missing files. They should have been added in r13120.
4682598 : Update s390_features.c for DFP. Add a testcase. Patch by Maran ( Part of fixing BZ 307113. See also VEX r2560.
1239020 : Add support for binary DFP operations (64-bit). Patch by Maran ( Part of fixing BZ 307113.
19f91bb : Fix more Char/HChar mixups. Closing in...
9b6fb5b : Update list of ignored files.
0e6d05e : add BLKPBSZGET ioctl
a239139 : Add missing EXTRA DIST statement
49cc754 : GETREGSET was introduced with 2.6.33.
d9ff51d : Announce fix for BZ 308886.
b2cd1bc : also wire up arm, x86 and amd64 regarding ptrace regsets original patch from Andreas Arnez <arnez AT linux DOT vnet DOT ibm DOT com>
e48a444 : add s390 specific fix for getregset
a9a475d : wire up testcase
7be84ee : Add ptrace getreset testcase from Andreas Arnez arnez AT linux DOT vnet DOT ibm DOT com
abe8793 : Ignore ELF sections that have zero size. Fixes #309600. (Dragos Tatulea,
4cfa81b : Improve accuracy of definedness tracking through the x86 PMOVMSKB and BSF instructions, as the lack of it causes false positives (Valgrind side). Fixes #308627. (Patrick J. LoPresti <>)
e13074c : Improve accuracy of definedness tracking through the x86 PMOVMSKB and BSF instructions, as the lack of it causes false positives (VEX side). Fixes #308627. Combined efforts of Patrick J. LoPresti <> and me.
1dd33f9 : Same idea as for mips. sem_post does not fail on s390
5d97871 : s390x machines z196 and zec12 have 4 levels of caches. Adopt the test suite
5d5f070 : fix n-i-bz same as 303624 (fixed in 3.8.0), but for x86 android
f2a7bbe : factorise sys_socketcall sys_socketcall was duplicated in syswrap-{ppc64|ppc32|arm|mips32|s390x}-linux.c => * Similarly for what was done for sys_ipc, factorise the code in syswrap-linux.c * re-enabled PRE_MEM_READ for VKI_SYS_SENDMSG and VKI_SYS_RECVMSG (PRE_MEM_READ calls were commented out around 2003, for what was supposed a glibc bug. The PRE_MEM_READ calls were already re-enabled in s390x) * s390x also had some more checking to verify the addressibility of the args and fail the syscall with EFAULT if not addressable => same checks are now done for all platforms.
cd19e99 : Fix Char/HChar mixups and constness in m_scheduler.
c8b8214 : Fix Char/HChar mixups and constness in m_initimg.
0af78ad : Char/HChar and constness fixes in m_ume
fb11d97 : s390: Autodetect cache info. These are the final bits to fix BZ 275800.
b7058da : Tweak VG_(machine_get_cache_info). Better messages. Always write cache info when in debug mode.
adfb8a7 : Ensure vgdb.c is warningless with -Wpointer-sign * use normal 'char' (when possible) rather than 'unsigned char' * fix bug in case a character val >= 128 is given in a -c command
98a8793 : fix arena size wrongly printed in debugmsg on 32 bits platforms when > 2Gb.
66bc6e5 : for debuglevel >=2, ensure write_buf debug output only writes the req nr of char
6fc0de0 : Cachegrind: introduce special case for Ir
157c7fb : Callgrind: use memory block number as tag for simple model
8ff4658 : Use always_inline attribute also in Callgrinds simulator
b0909b4 : Get rid of compiler warning
1fe353c : Valgrind, ppc: Fix test for 32-bit testsuite.
bb3f401 : Valgrind, ppc: Fix missing checks for 64-bit instructions operating in 32-bit mode, Bugzilla 308573
548a3bc : Unbreak testcase.
54fe202 : Char/HChar and constness fixes. Mostly cost center on allocators which is always a const HChar *
dbb3584 : More Char/HChar fixes and constification.
a37b57c : Update list of ignore files. This time with the correct name.
0c8a176 : Update list of ignored files.
c8e4f56 : Add machinery to support DFP rounding modes. Part of fixing BZ 307113. Patch by Maran <>
e7b55be : Fix fpconv.c to unbreak the build on z10ec. Add rounding-6.c to test rounding modes for convert-to-fixed per m3 field. (The previous fpconv gave the impression of testing this but in fact did not). Add rounding.h to establish symbolic names for the various rounding modes.
73a0e19 : Additional refinement in PRE(sys_ipc).
6da2d45 : Update with latest bugmail header lines.
590875f : Fix compilation warning on non-mips targets (rm was flagged as unused)
228552d : fix 123837 semctl system call: 4rth argument is optional, depending on cmd
51e61da : Remove build dependency on Xen header files - closes #308495
1b1420b : Reserve space for frame header in disp_run_translations for MIPS.
cf4a22e : Follow-up to sys_ipc restructuration Rev 13078 removed a PRE call (for SEMCTL) in the POST(sys_ipc). This commit adds the correct POST call for SEMCTL in POST(sys_ipc). (note: some tests are missing in this area, as removing PRE and adding POST did not cause any test result to change).
1fb7402 : Follow-up to sys_ipc restructuration Now that the PRE/POS(sys_ipc) code is not duplicated anymore, fix two strange things in this code:
14baeb4 : Fix 308711 - give more info about aspacemgr and arenas in out_of_memory In case of out of memory, Valgrind will output the state of the address space manager and of the arena. Then it will output a message to inform the user about the out of memory.
4eefc8c : restructure code for future fixing of 123837 (semctl GETVAL false positive)
1201479 : Fix memory leak.
e543f30 : First round of Char/HChar fixups for coregrind and memcheck. Little bit of ripple in tools, too.
5d2db15 : Introduce a test to reproduce bug 123837 (semctl GETVAL false positive) The test succeeds on amd64, but fails on x86, with the following diff:
c336038 : Fix 308644 vgdb command for having the info for the track-fds option
a5f894c : First round of Char/HChar fixes for memcheck.
6bf3726 : Fix Char/HChar mixups in helgrind and then some. Also fix all usages of the wordFM data structure. Once upon a time wordFM used Words but now it uses UWords. Likewise for WordBag.
25f6c57 : Fix a few Char/HChar mixups in callgrind.
ee90c8a : Fix a few Char/HChar mixups for cachegrind.
e6a4ed1 : Fix a few compiler warnings.
11f3cc8 : Followup to constification of VEX's external interface (VEX r2555).
1ff4756 : Constify VEX's external interface.
e58e8a7 : First round of Char/HChar fixups for massif
cfea784 : Add a FIXME
d4c699f : exp-dhat Char/HChar fixes.
83bda72 : Char/HChar fixes for lackey.
3c53601 : The listener does not use VEX types anywhere else. So this change fixes the copy-and-pasted panic functions to use native C types.
0b7ee91 : Follow-up to cache reorg: update trace cache warning Update trace cache warning so that it is the same as before the cache reorg (avoid failure of some tests on Pentium4 as the warning output must match what is filtered by cachegrind/tests/filter_stderr)
a6a1986 : Add a proper support for several MIPS instructions that generate SigFPE.
80e5c17 : Add a proper support for several MIPS instructions that generate SigFPE.
ae411b4 : Issue warning about missing L2 cache only if there are any caches in the first place.
4bde9c1 : Fix some Char/HChar mixups in exp-bbv
df6ee3d : Fix a few Char/Hchar mixups in exp-sgcheck.
94830f4 : Fix VG_(cpuid) invocations. Also call cache_info_is_sensible. I forgot to do that in r13053.
660c5a4 : Fix some prototypes.
38aeb9f : Change cache detection for x86/amd64 to fill in VexCacheInfo directly. New function write_cache_info to dump what was detected for debugging purposes. New function cache_info_is_sensible to ensure that autodetected cache info lives up to the promises made in libvex.h. Moved the trace-cache related kludgery to cachegrind where it belongs.
80ab265 : Allow representation of trace caches (VexCache). Add more verbiage as to what can be expected from the "caches" array.
0447bbd : Fix 308341 vgdb should report process exit (or fatal signal) patch from Mark Wielaard. (with small modifications). Also clarified some comments related to the resume reply.
5906a6b : s390: Order the operands of the multiply-and-add/subtract IROps such that they match the definition in libvex_ir.h. This was spotted by Julian.
52dc01c : Update list of ignored files.
4409c9c : xen: include arg struct field names when marking memory as read.
da0a6c7 : xen: Remove cast of ARG* to unsigned int before pointer conversion.
f68ba11 : xen: adding missing break.
a8f524c : xen: Useful messages for sys/domctl interface_version mismatch
fada249 : add vgtest file
15a5830 : make use of opcodes.h. The is part of extended immediate facility
d7f19c0 : check in ltg jhe fix. Fixes
490c398 : Add testcase for checking the ltg + jhe handling
d6a9809 : fix 308321 testsuite memcheck filter interferes with gdb_filter
2b8059a : Fix some more Char / HChar mixups
1993cde : Update list of ignored files.
567f72e : Fix compile errors following function prototype change.
bbd9a21 : Char/ HChar cleanup: The various panic and printf-like functions all take const HChar * arguments. __FILE__ and __func__ expand into string literals (or character arrays initialised by them), as do strings created by the preprocessor e.g. #stuff. This change reduces the number of warnings from 17000+ to ~5500
5df8ab0 : Fix HChar / UCHar / Char mixups. VEX now compiles without warnings about assigning pointers to incompatible types.
9190450 : Rough initial triage for bugs that appeared in the past month or so.
0644437 : Some wrong options silently ignored if starting with same letters as valid option
3b39574 : Update.
32438b3 : newer versions of devel headers expose CLONE flags only with _GNU_SOURCE defined
441570b : fix parent and child tid pointer mixup: The linux kernel has parent tid pointer first.
d7cf944 : Fix syntax error from r13028.
4c03b0d : s390: Consolidate information about caches for older machines levels. Unfortunately, there is only incomplete L2 data.
ca503be : This is the 2nd installment of the cache info reorganisation. The host's VexArchInfo is passed to the tool instrumentation functions. Purely mechanic patch.
5048192 : Pass VexArchInfo to the instrumentation functions.
ea84cd5 : Use last-level cache for simulation. Even if there are more than 3 cache levels. Update documentation.
0e9fc97 : Fix compile error on ppc. Followup to r13028
7862701 : This patch is the first installment of the cache info reorganisation. It's reorg only. No new cache autodetection stuff has been added.
f192a39 : Add data structures for cache representation to libvex.h: VexCacheInfo, VexCache, and VexCacheKind. VexArchInfo gets a VexCacheInfo member which LibVEX_default_VexArchInfo initialises.
125e20d : s390: This is a pre-patch for DFP support. It renames certain identifiers to explicitly refer to BFP, as there will be counterparts in the future for DFP. Patch by Maran <>. Part of fixing #307113.
9768109 : s390: Add a few more test from olden times.
6765329 : s390: Add a few more testcases from long time ago.
3694c9f : Cachegrind: use memory block numbers as tags.
c1e9426 : cachegrind: replace huge macro with inlined functions
27aec54 : Some older kernels on s390 do not provide AT_PLATFORM. Add a prerequisite condition to make sure it's there.
64d98bb : Change uname based arch-check to match machine hardware name in sgcheck.
199c15b : Allow a null pointer as the second argument to capget. Patch from Mark Wielaard to fix BZ#307101.
671f470 : Filter out memcpy symbol versions from test results. Patch from Mark Wielaard to fix BZ#307290.
41ad7e7 : Implement a fake /proc/self/auxv file for linux systems. Patch from Mark Wielaard to fix BZ#253519.
f39ea31 : Fix valt_load_address value in pkgconfig file. Patch from Mark Wielaard to fix BZ#307729.
3fad65b : Unbreak build on ppc64 (error: ‘EmWarn_PPC64_redir_underflow’ undeclared)
639e1f8 : Add include file.
58a637b : Make header files compilable by itself to get two benefits: - never have to worry about order of inclusion - never have to figure out hidden dependencies in order to be able to include a file
5ea257b : Change the return value of LibVEX_{Chain,UnChain,PatchProfInc}. These functions now always return the address range that was patched. Therefore, these functions no longer need knowledge about I-cache coherency of the host system.
27c9f0d : fix n-i-bz report error for vgdb snapshot requested before execution Massif does not accept to take snapshots of heap before execution has started. So, if such a snapshot is requested (using vgdb and option --vgdb-error=0), then such a snapshot must be refused rather than causing an assert. (problem reported by
2082b34 : Unbreak build on Mac_OS where __NR_mprotect is not defined. The test is not executed on Darwin but should compile. (based on fix suggestion by Rich Coe)
a17ec01 : fix 307155 filter_gdb should filter out syscall-template.S T_PSEUDO
cac78a3 : s390: Add testcase for some integer comparison insns
22fa022 : A new post.exp file that provides more details for overloaded-new test.
40628fa : Implement some extra DW_OPs - more constants and some unary operators. Patch from Mark Wielaard on BZ#307038.
f6716dd : Rename CfiOp to CfiBinop in preparation for adding unary operators.
79fb231 : When processing DW_OP_plus_uconst make sure we record an add, not whatever binary operation we happened to see last.
98f1170 : Shorten the list of allocable registers for MIPS to fit Loongson MIPS32 mode.
c1b9e39 : In function irExpr_to_AvailExpr: Replace if-chains with a switch stmt. This is a followup to r2524.
81a4bfe : s390: Give function static linkage. Also avoids a compiler warning.
4b2e2df : Update due to file renaming in VEX r2541.
79af575 : s390: Rename host_s390_disasm.[ch] to s390_disasm.[ch] as they are not really host specific.
46ac11b : Update URLs for new Principles of Operations (SA22-7832-09).
a165920 : s390: Fix another harmless unop/binop field mixup. Spotted by Maran <>
fa3a6a4 : Update list of ignored files.
6b85d9b : Another exp file for tc23_bogus_condwait.c.
1735303 : Adding tc19_shadowmem.stderr.exp-mips32 to match different output.
4ed2889 : Updates for hfp insns.
741b3a5 : Add exp file for tc20_verifywrap due to different errno values on MIPS.
4d87b8a : s390: Add testcases for srnm and srnmb. Update opcode status list.
f0fa1be : s390: Update IR generation for the SRNM insn. Add support for the SRNMB insn. New emulation warning EmWarn_S390X_invalid_rounding.
896fe20 : Enable wrappers for sys_settimeofday and sys_stime on MIPS.
328f918 : Update for 3.8.1.
7ac8260 : Upon successful run, remove temporary files.
d9867dc : Add missing header files. Building from tarball works again.
81f9241 : Update.
a31d570 : Fix inconsistent comment (== BRANCH_3_8 r12987)
3497e0e : Include in the tarfile. See #306310.
8122ae6 : Intercept __GI_memmove on Linux. Fixes #306612.
6284de3 : Add tests for: uqsub16 shadd16 uhsub8 uhsub16. See #304035.
9fb3109 : Handle Iop_QSub16Ux2, needed in fix for #304035.
32dd538 : Add support for: uqsub16 shadd16 uhsub8 uhsub16. Fixes #304035.
15df336 : Add test cases for PCMPxSTRx variant $0x46. See #306664.
a87ce53 : Fix PCMPxSTRx variant $0x46. Fixes #306664.
e7e1018 : STM<c>.W <Rn>{!},<registers> (Encoding T2): allow the base register to appear in the list in any position, provided that writeback is not selected. Fixes #306297.
8187b5b : Update.
0950120 : Be more flexible by allowing the compile command to be prefixed, e.g. ccache gcc whatever... This fixes bugzilla #252955. Patch from Stephen McCamant <smcc@CS.Berkeley.EDU>.
caa9c5e : Adding new exp file for tc18_semabuse in helgrind.
d06fc0d : s390: Add a testcase for 32/64-bit bfp comparison insns.
17d3a44 : Setup correct minimum malloc'd block size for MIPS.
5ca2604 : Mark revision 12964 to be merged in 3.8.1 (this revision fixes some missing files in the release tarball)
21fcbb7 : Add a test which checks the leak search recovery mechanism
d0ab916 : Update for s390.
5122e77 : Enable pre-wrapper for sys_shutdown for MIPS.
76714fd : Constify the format string in a few printf-like functions.
f74f542 : Adjust the vbit tester to deal with shift operations that require an immediate constant as the shift amount. This is needed for powerpc Iop_ShlD64 etc. What it basically means that we do not iterate over the bits in the 2nd operand because there are no V-bits to set. An immediate constant is always completely defined. Fixes bugzilla #305948.
16d12b4 : Tweak the IR injector so it can handle an immediate operand for shift operations. This is needed for Iop_ShlD64 and the like on powerpc where the shift amount is an immediate field in the insn. Part of fixing bugzilla #305948.
3d80fad : Avoid compiler warning.
01f771b : s390: Add testcase for bfp multiply-and-add/sub
3f3e50d : s390: Handle S390_BFP_NABS correctly for 128-bit arguments.
a631eb2 : s390: Add testcase for square root and load positive/negative/complement. Tests are for 32/64-bit values only.
6d8e26e : s390: Fix s390_emit_SFPC. That insn never required two registers.
f12ec15 : s390x: Testcases for floating point 32/64-bit. Related to VEX r2525.
2c74d24 : s390: Change the handling of S390_ROUND_PER_FPC (which indicates that the actual rounding mode is to be taken from the FPC register). Previously, this was just mapped to S390_ROUND_NEAREST_EVEN, which obviously has correctness issues.
da25edd : Add three new kinds of AvailExpr: Mttc, Mtct, and Mtcc namely for Mux0X expressions where one or both of the operands is constant.
4fea840 : s390: Fix FOC width. It's 4 bytes not 8.
7d9b41b : Fix 306310 3.8.0 release tarball missing some files
cc491a6 : s390: Remove insns for 128-bit BFP and merge with 32/64-bit. This eliminates code duplication.
9fcff4c : s390: More prep work bfp reorg. In the future unary/binary/ternary operations on bfp data will no longer require a rounding mode in the s390_insn. Only type conversion operations need a rounding mode. So in this patch S390_BFP_CONVERT is introduced and S390_BFP128_CONVERT_TO/FROM are consolidated to S390_BFP128_CONVERT. This also makes the representation of bfp and bfp128 symmetric. s390_insn gets a new variant: s390_convert. The type conversion ops get their own data type now: s390_conv_t
0ab84fe : valgrind: Support Xen toolstack process ioctls
8c3ccaf : s390: Prepare for bfp reorg. Change the emit functions for the convert-to-fixed and load-rounded instructions to emit the extended form. E.g. change s390_emit_CEFBR to s390_emit_CEFBRA. In the future we will take advantage of those insns if the host's hardware facilities allow it.
606dbeb : s390: Add asserts to s390_emit_XYZ functions for convert-to/from-logical. This should have been part of r2496 when those functions were added.
9228067 : Restore unwind regs structure if VG_(use_CF_info) fails on MIPS.
be927ba : Correcting how load/store doubles are modelled on MIPS for big-endian.
e68c192 : s390: Fix another mixup. Did not cause problems due to same field offset.
66e596d : Fix a mixup. This never caused a problem because the fields happened to have the same offset.
7c1fe61 : Update Subversion ignore list
6834783 : drd: Suppress race reports on .got sections too
f9abc02 : Announce bug fix in NEWS.
729c3a5 : s390: Add a testcase for condition code computation for convert-to-fixed. See VEX r2516. Part of fixing bugzilla #306054.
19e0077 : s390: Fix condition code computation for convert-to-fixed/logical insns. Previously the condition code was computed based on the to-be-converted value only. But that is not sufficient as testcase none/tests/s390x/rounding-1 shows. The rounding mode needs to be considered, too. Therefore, the rounding mode is now stored in the flags thunk as well (in IRRoundingMode encoding). Note, that this is done for *all* convert-to-fixed/logical insns. It's possible that some of them do not need the rounding mode but I did not bother exploring the fine print. Setting the rounding mode as it was on the incoming insn certainly will not be detrimental so we can as well do it. This patch fixes bugzilla #306054.
12b0bca : s390: The load-rounded insns also need to issue an emulation warning when the floating point extension is not present and m3 != 0.
db4fcaa : s390: Non-functional change. Rename enable_rounding_mode to enable_bfp_rounding_mode in anticipation of dfp coming. Change its return value to be an IRTemp which will be handy soon. Fix all call-sites.
847684d : Binary floating point cleanup. This was an area that was hushed up a bit when the s390 port was first committed. Time to get it in shape.
e83db48 : Add vassert for DFP shift value to make sure shift value is an immediate value. V-bit tester was putting shift value in a register for the DFP shift instructions causing the test to crash, see bugzilla #305948.
1ec43e0 : Load/store doubles on MIPS are modeled through Ity_F64 rather than two Ity_F32.
6e34371 : Enable testing of primops on ARM platforms. (Florian Krohm)
c379fec : Use "orr r9,r9,r9" as the magic insn for IR injection on ARM and Thumb, since r13 is disallowed for many instructions in the Thumb encoding.
a0d8eb8 : Add ARM front/back end support for IR injection.
e4b0cff : Update testcase as a followup to VEX r2509.
f7bb46d : s390: Undo part of r2501. The "convert to fixed" opcodes always have an m3 field -- independent of the floating point extension facility. So do not issue an emulation warning for those opcodes.
30e2d65 : s390: Ensure proper size when calling get_otrack_shadow_offset_wrk. Also handle EMNOTE.
9b1de1f : Add bugzilla number.
0d5251e : Update, tracking merged-to-3_8 fixes.
855a404 : Update.
882a760 : Update.
ed8b0f6 : "Fix" stack bounds check when compiled by Clang 4.0. Fix from Andrew Morrow, analysis by Florian Krohm.
1fda5fe : Improve callgrind performance by 4 to 8% using UNLIKELY Performance improvements from 4 to 8% obtained on amd64 on the perf tests by: 1. using UNLIKELY inside tracing macros 2. avoid calling CLG_(switch_thread)(tid) on the hot patch setup_bbcc unless tid differs from CLG_(current_tid).
af97692 : Add testcase to check the emulation warning for new supported opcodes on hosts without floating point extension facility. See companion patch VEX r2501. Part of fixing bugzilla #306098.
4b8efad : Support the variety of "convert to/from fixed" and "load rounded" opcodes that have an additional m3 and/or m4 field. Add emulation warning EmWarn_S390X_fpext_rounding and issue it in case the current opcode cannot be emulated correctly (i.e. with the specified rounding mode). New function: emulation_warning. Part of fixing bugzilla #306098.
4955c74 : Remove alignment checks for VMPSADBW, VPHMINPOSUW, VPALIGNR since they do not apply to the AVX versions of these instructions. Fixes #305926. (Jakub Jelinek,
a066ccd : Change s390-features to allow testing for absence of a feature. This is infintely less painful than to find out how to invert the condition in a test prerequisite.
e968591 : Fix an uninitialised variable found be BEAM.
3950ce8 : Fix for fpext_fail testcase.
179dddf : Update.
e1bb59e : Mark two fixes for s390x as [390] because they weren't fixed for 3.8.0
db3f3e6 : Guard against negative symbol sizes in ELF symbol tables, which lead to assertion failures in ML_(find_rx_mapping). Most closely related to #304980.
d212920 : s390: Mark a few more function parameters as unused.
5570df4 : s390: Add testcase for emulation failure.
e75dafa : s390: Generate an emulation failure if an insn is encountered that requires the floating point extension facility but the host does not have it. Factored out function emulation_failure.
1b9609a : s390: Valgrind-side changes to fixing bugzilla #274695: Testcase, vbit tester update, memcheck support for the new IROps, NEWS announcement and opcode list update. Patch by Christian Borntraeger ( Vbit tester tweaks by myself. Fixes bugzilla #274695. See also companion patch VEX r2496.
1c8f7ff : s390: Add support for the "convert from/to logical" instruction family. A few (7) new IROps are introduced. Patch by Christian Borntraeger ( Fixes bugzilla #274695.
4a2f52e : Comment only change.
370bc77 : s390: Detect floating point extension facility. Update s390-features.c
60b665b : s390: Add floating point extension facility to hwcaps.
4bc35a8 : Add FAC_BIT macro to simplify correct testing for facility bits.
2d7d9f4 : Update filter_stderr due to changed warning message. Unbreaks callgrind regtests on s390.
909e0fc : Fix build on Darwin. Patch by Rich Coe (
86af300 : Enable V-bit testing on x86.
734d1d3 : Add list of files to svn:ignore here
a768c30 : Enable V-bit testing on ppc32.
dfc55f8 : Fix address computation in IR injection. When loading / storing a 128-bit value as 2 64-bit values, the two memory locations are 8 bytes apart. Always. Everywhere. Due to a thinko this was busted on 32-bit eachines. Also add an assert that values requiring more than 128 bit are currently not supported.
504f829 : Fix printf formats for uint64_t values.
9e23873 : Fix IR injection for ppc32. Need to use mkSzImm not mkU64...
4d261bb : Add VALGRIND_VEX_INJECT_IR for ppc32. Should have been included in r12906.
ffaa05d : s390: Fix the default cache configuration. As z10-EC has an L3 cache, use that instead of the L2 -- bringing the code in synch with documentation. Also improve the warning message to be more meaningful.
8c403ca : vbit tester: Disable Iop_CmpLT64S and Iop_CmpLE64S for ppc because they cause assertion failures. Do not test Iop_CmpORDxyz on ppc because the vbit tester does not support them. This is just so we don't have to add another .exp file for ppc.
84d1b24 : Make debug printout look nicer.
74ec8c7 : Remove .deps directory.
91d2fe2 : drd/tests: Add a test that verifies whether the pthread_cancel() intercept works
d428218 : drd: Re-enable the pthread_cancel() intercept now that the CALL_FN_*() ABI violation has been fixed (r12811).
bb913cd : Add a tester for V-bit propagation through IROps. The tester is located in memcheck/tests/vbit-test. It needs the following support on the valgrind / VEX side: (1) a new client request VG_USERREQ__VEX_INIT_FOR_IRI (2) a new "special instruction" on all architectures inserted via VALGRIND_VEX_INJECT_IR (3) VEX changes to detect the special insn and insert IR (ir_inject.c)
2245ce9 : VEX-side support for the V-bit tester. - recognise the new "special instruction" for all architectures (ARM needs implementation work; x86 and ARM are untested) - inject IR into the superblock - type definition for the IR injection control block
87a25cf : s390: Add zEC12 machine model. Fix spelling for some older models.
c9e43b1 : s390: Add the zEC12 machine model.
9bf4540 : Fix EXTRA_DIST. Add dummy .exp file to satisfy the consistency checker
4d14968 : s390: Add testcase for the ecag insn. Based on patch by Divya Vyas ( Update opcode list.
8c88cb6 : s390: Add support for the ecag insn. Patch from Divya Vyas ( with mods to terminate the super block with EmFail in case the insn is not available on the host. Part of fixing bugzilla #275800.
c5c669b : On s390: Terminate the superblock with Ijk_EmFail if an stckf insn is encountered but not supported on the host.
833ffd0 : On s390: detect presence of stckf hardware facility.
a4c3669 : s390: Add STCKF hardware facility to hwcaps.
4e0083e : On s390: Terminate the superblock with Ijk_EmFail if an stfle insn is encountered but not supported on the host.
c226da3 : Add sem_wait to list of ignored files.
2e49741 : Followup patch to r12899, purely mechanical. Rename: VexEmWarn -> VexEmNote EmWarn_NUMBER -> EmNote_NUMBER guest_EMWARN -> guest_EMNOTE LibVEX_EmWarn_string -> LibVEX_EmNote_string offB_EMWARN -> offB_EMNOTE EmWarn_NONE -> EmNote_NONE See also VEX r2484
6ef84be : Followup to r2483, purely mechanical. Rename: VexEmWarn -> VexEmNote EmWarn_NUMBER -> EmNote_NUMBER guest_EMWARN -> guest_EMNOTE LibVEX_EmWarn_string -> LibVEX_EmNote_string offB_EMWARN -> offB_EMNOTE EmWarn_NONE -> EmNote_NONE
7452db8 : Rename libvex_emwarn.h to libvex_emnote.h. See also VEX r2483.
33b0243 : Rename libvex_emwarn.h to libvex_emnote.h and fix all #include's. The renaming of guest_EMWARN, VexemWarn etc will be done in a followup patch. The rationale for all this is that we want to reuse the existing machinery for emulation warnings also for emulation failures. And that calls for some kind of neutral naming scheme.
311abd6 : drd: Correct semaphore tracing in case sem_*wait() did not wait. See also #305690.
0b39008 : Comment only change.
333e42b : drd: Handle non-zero sem_*wait() return values correctly. Fixes #305690.
eae1632 : drd/tests: Add test program that makes sem_trywait() return a non-zero value (provided by Graham Whitted <> - see also #305690).
5036a7a : Update.
2cb7bea : Remove now-redundant comment that should have been removed in r2475.
650cf76 : Change exp-sgcheck's memcpy implementation to be memmove-like (sigh) since it appears that some part of the vast stack of libraries that supports LibreOffice actually abuses it thusly.
e9bea96 : Implement a wrapper for wcslen on Linux, assuming that sizeof(wchar_t) == 4, which I believe to be true on both Linux and MacOSX. Fixes #298281.
3aab0ad : Fix skipping of block forms when this code is compiled by gcc 4.8 -- it has always been incorrect, modifying 'p' twice between sequence points. Fixes #305513. (Mark Wielaard,
c1d946e : Fix up range checking in ML_(addLineInfo). Avoids assertion failure reported in #304980. Based on a patch by Jiri Hruska (
374c0dd : Update.
4915c52 : Add tests for MOVBE in 32 bit mode. See 304867. (Ambroz Bizjak,
021f6b4 : Implement MOVBE in 32 bit mode. Fixes #304867. (Ambroz Bizjak,
cc20002 : Add test cases for QDADD and QDSUB. See #305199. (Mans Rullgard,
5a34b8b : Implement QDADD and QDSUB. Fixes #305199. (Mans Rullgard,
c8851af : Fix LZCNT and TZCNT properly. Fixes #295808. (Jakub Jelinek,
944ff5a : Re-enable 'prefetch m8' and 'prefetchw m8'. Fixes #305321.
26c60a8 : Fix false positives in count_from_Status etc al. n-i-bz.
f2d61c4 : Iimplement 0F 7F encoding of movq between two registers. Fixes #305042. (Mans Rullgard,
ae4793e : Handle a reg-reg encoding of MOVAPS. Fixes #289584. (Alexander Potapenko,
8f36de0 : Add verbiage about hardware facilities.
1943eb5 : Fix propagation of undefinedness for Iop_DPBtoBCD and Iop_BCDtoDPB. Any undefined input bit will cause all output bits to be undefined.
6d52228 : Remove unused IRops Iop_SqrtF64r32 and Iop_CalcFPRF.
a25732d : Handle Iop_Left16 so And16 / Sub16 work properly with memcheck.
537ed2d : Handle the following IRops as they may get generated: Iop_Mul8, Iop_Sar8, Iop_CmpwNEZ32, and Iop_8HLto16. With this change mc_translate now handles all IR ops which are architecture independent, except Iop_LeftXYZ and Iop_Max32U.
5e0f204 : Fix insn selection for Iop_Shr8/16 and Iop_Sar8/16 on s390.
e694d77 : Fix POST(posix_spawn) on Darwin so it marks the returned pid as defined.
c529a08 : fix 301281 valgrind hangs on OS X when the process calls system() After looking more in depth, gdbserver must not be terminated in PRE(posix_spawn) on MacOS: this is running in the parent and (on MacOS) is a single syscall similar to a fork+exec. On linux, posix_spawn is implemented using 2 syscalls (fork followed by exec).
6dda089 : fix n-i-bz vgdb ptrace calls wrong on mips, causing blocked syscalls to fail
2c96f63 : Document in NEWS the fix committed in revision 12879.
f938b7b : Fix 301281 valgrind hangs on OS X when the process calls system() This should fix the bug (but could not test it : no MacOSX). See equivalent code in syswrap-generic.c and comment in pub_tool_gdbserver.h: // tid == 0 indicates to stop gdbserver and report to gdb // that the valgrind-ified process has exited.
6caac71 : On Darwin, use __NR_poll_nocancel rather than __NR_poll, as per the comment at the top of the file.
7eb17a8 : Remove memcheck support for IR op Iop_I16StoF32 which is unused. See also VEX r2471.
19aff3b : Remove unused IR ops: Iop_I16StoF64, Iop_F32toI16S, and Iop_I16StoF32.
1203628 : Update bug tracking status post release.
4931bd4 : Update list of ignored files.
7cd1cde : Fix a mnemonic
2d75ea2 : Fix n-i-bz shmat of a segment > 4Gb does not work
a60e843 : Fix a mixup. This never caused a problem because both fields have the same offset in the enclosing struct.
789d414 : Use -s USR1 instead of -10 to send SIGUSR1 signal On mips32, 10 is SIGBUS. This was making all tests using simulate_control_c looping for ever or a long time.
6c46bef : VEX part Implement --vex-iropt-register-updates=sp-at-mem-access
5b240c2 : Implement --vex-iropt-register-updates=sp-at-mem-access
704deb6 : Party on, dudes!
1c41a1a : --> 3.8.0 final
6e374f8 : --> 3.8.0-TEST3
4e1c191 : Make the assembler-knows-POWER-DFP test a bit stricter, since it appears some older assemblers know 'dadd' but not 'dcffix', which also appears in the DFP tests.
bc9b872 : Support Ijk_TInval style exits on ARM, so that --smc-check= works on ARM. (Not that it's actually necessary, but still ..)
4e9dfd3 : Move older news into its own file, NEWS.old, so as not to overrun TeX default memory limits when building the PDF docs. Fixes #304754. (Mark Wielaard,
a930ef2 : Update.
af7ad28 : fix the put optimization. It is ok to have F-types in the CC_* registers, dont assert, just use the slow path.
5db7a79 : Add support for the tee and vmsplice system calls. BZ#304561.
768bc7a : wire up testcase
e2130e8 : Add a testcase for floating point <-> signed conversion that actually checks the condition code of the conversion instruction (most programs dont do that)
497919a : --> 3.8.0-TEST1
e5e7251 : Update.
8ab8a8e : Fix some typos.
260c648 : Add a couple of useful examples to the --help text for --soname-synonyms.
2a9f1aa : Add prerequisites.
e808f81 : Change script to also handle IBM's copyright notice. Update copyright notices.
61f23c1 : Update copyright notices for s390
11b8ee8 : The arguments in a helper call need to be sign/zero-extended to 64 bit. Fix helper calls accordingly. And because I keep forgetting this, add checking machinery in the insn selector so it won't happen again. Diagnosed by Christian Borntraeger.
4089f32 : README_DEVELOPERS: Debugging a tool needs "--tool=..."
6746c4c : Add a testcase for the cu41 insn. Update opcode list, NEWS and bugstatus. #289839 is finally fixed.
af2194f : Add support for the cu41 insn. This completes the unicode conversion insns and fixes #289839.
4621729 : fix typo in NEWS (due to via => due to)
e30542d : typo ('the the')
02ccd56 : fix typo (improvment)
8ee4f33 : Doc: remove 'is' in 'is replaces'
ef56426 : First checkpoint for 3.8.0.
e060f6a : A couple more 3.8.0 changes.
33722a6 : Update expected outputs following r12843.
03f8d3f : Update copyright dates to include 2012.
25e5473 : Update copyright dates to include 2012.
10856a0 : First pass at assembling the top level change list for 3.8.0. So, what did I forget?
38415e8 : Fix typo spotted by John Reiser.
31e8f54 : Partial tidying up for 3.8.0 (sort list of bugs into order, and make pretty)
a5629a2 : Add notes re new print docs build failures.
ca456c7 : Doc updates for 3.8.0.
3cf7577 : Add testcases for the cu14 insn. Update opcode table. Part of fixing #289839.
3f8a96a : Support the cu14 insn. That insn is very much like cu12 except the converted value is always 4 byte wide. The only other difference is the encoding of a 4-byte UTF-8 character. Some code refactoring does the trick. Part of fixing #289839.
44d2c2b : Fixing incorrect case in putSyscallArgsIntoGuestState for __NR_syscall.
5d5dd8e : 301265 - add x86 support to Android build
406dc34 : Clang complains that "fist" is ambiguous (it's right, too); use "fists" instead.
14a9f9c : Add an intercept for memrchr. Needed for amd64 Ubuntu 12.04.
567e5bb : Try to fix up ARM stack alignment stuff following r12811. This fixes two problems: first, r11 (aka fp) can't be used in assembly for whatever reason. Secondly, the "bic sp,sp,#7" is not allowed in Thumb mode, so work around that too.
79452b3 : Don't explicitly specify an ABI when building regtests on ARM. This causes them to fail to be built on (eg) Ubuntu 12.04 ARM.
a7a5788 : NEWS, drd: List new features first
cbfe62c : Remove 284540 from NEWS fixed section. 284540 was not about performance but about the presentation of results. Revision 12824 (optimising the suppr matching) should not have marked 284540 as fixed.
69f799d : Update.
8b585d1 : none/tests/amd64/movbe: Run this test only if the movbe executable has been built
5f27dcf : Fix a bug in insn selection. For some reason Iop_1UtoXYZ did no zero-extension. That is essential, as not all computation is donw using 8-byte values. For example - do a 64-bit computation in r1; assume leftmost 4 bytes != 0 - do a 32-bit computation in r1; leftmost 4 bytes are untouched != 0 - do 32to1 on r1; rightmost 4 bytes == 1; leftmost 4 bytes != 0 - do 1Uto64 on r1 Without zero-extension r1 will contain a value that is not boolean
0312968 : Fix a cut'n paste error. One byte was uninitialised. Now fixed.
df9c61a : Add non matching suppressions for suppfree test (more testing for suppr matching)
13a5952 : fix 284540 (optimise suppression matching) Before this patch, matching an error stack trace with many suppression patterns was implying to repeating the translation of the IPs of the stack trace to the function name or object name for each suppr pattern.
460faad : Simplify.
28d6815 : Fix testcase. Iterating over an array of invalid insns to test them all does not work, as conversion will stop at the first invalid character. So... need to loop over them.
9bbe2bb : none/tests/amd64/avx-1: Make it explicit that this test uses the vpclmulqdq instruction
f3410f9 : Add IR debugging aid.
965977c : Add testcases for cu12. Update opcode table. Part of fixing #289839.
6d9b9b2 : Support cu12 insn. Part of fixing #289839.
640d437 : Add support for sys_shm_unlink on Darwin. Fixes #288298.
9af940f : Comment only change.
f366a80 : Fix a bug in insn selection. Though shalt not modify the register returned by s390_isel_XYZ_expr...
02e97e9 : Back off from 32 alignment of various guest state bits. We don't actually need it, and gcc on MacOS simply fails (for whatever reason) to actually honour requests for 32 alignment, and fall back to the previous setting (16 alignment).
8eacbc4 : Some updates in release-HOWTO.txt
bb5d4c6 : Un-break the build on OSX < 10.8 following r12814 (which was initial OSX 10.8 support)
ae284e5 : Add initial support for MacOSX 10.8. Note this is still very borked and pretty much unusable for real work.
6ccc9cf : Back out r12466, which stopped non-MAP_FIXED mmaps by the client on Darwin from returning address zero (however insane that is). r12466 appears to cause other applications to break (TextEdit, for one).
0ec79a1 : Add BZ#304054 to NEWS.
4118e0f : Ensure CALL_FN_xx macros align the stack properly
402d8bc : Avoid asserting when a segment is mapped both rw and rx.
c8e2f98 : VEX part (remove --vex-iropt-precise-memory-exns, add --vex-iropt-register-updates)
0c0291a : Remove --vex-iropt-precise-memory-exns, implement --vex-iropt-register-updates
4badeae : Add test cases for "VCVT.F32.{S,U}32 S[d], S[d], #frac_bits"
9fe0cc7 : Implement VCVT.F32.{S,U}32 S[d], S[d], #frac_bits. Fixes #287175.
d99c26a : Implement --redzone-size and --core-redzone-size
074ca1a : Remove entries with deprecated spellings (essentially duplicates).
4cadb8a : When parsing guest_s390_toIR.c also recognize opcodes with digits in their name. Also add more alternate opcode spellings.
a73d342 : Testcases for CU42. Part of fixing bugzilla #289839. Update opcode table.
956194b : Add support for the CU42 insn. Part of fixing bugzilla #289839.
cc1b253 : Updates for s390x
2d71c36 : Minor tweaks. A few comments were out of synch with source. Add another test.
c52e0f5 : Fix error message in testcase
b283aa3 : drd: Avoid that invoking pthread_cancel() from a program analyzed with DRD triggers a crash on Fedora 17
22b1684 : drd: Revert r12651 because it didn't change drd's behavior on any platform
1e45164 : Spelling fixes: developpers -> developers; curiosly -> curiously
e149382 : Update Subversion ignore list
448cbe9 : clarify 2 NEWS entries to indicate that these are for tool developpers.
64f6a4a : none/tests/amd64/ Uses not only AVX instructions but PCLMULQDQ too
83bef5e : MIPS specific expected output for memcheck/tests/sigkill.
6efd868 : Have one test testing the ? suppr matching wildcard character.
ae88411 : Non-functional change. Fix some overly long lines and such..
dea70ce : Fix compiler warning.
817eb91 : MIPS specific exp-out for none/tests/async-sigs.
56ddd5b : micro-optimisation in m_libcbase.c cmp functions
2c5c05e : Improve suppression matching performance when fun or obj is a simple string Idea is from Julian, possible bugs are mine.
c58d7d5 : none/tests/amd64/pcmpstr64: Update expected output after r12780
2baf753 : Due to s390's dealings with invalid insns we need to do two things - advance the guest_IA to the next insn after raising the signal - adjusting the address in a complaint to point to the failing insn (after guest_IA has been advanced) Update testcases .exp files.
342e01a : Upon decode failure set the guest_IA to the address of the insn that could not be decoded (current insn). Otherwise, a wrong address will be reported in the complaint.
78b83ae : Apply first_ip_delta also when only one frame is requested for the back-trace.
52dec68 : Improve complaints. Enabled by VEX r2449. Line numbers are still bad. But that is a GCC issue.
6820ba5 : Clean up IR construction for insns that do not have straight-line internal control flow. Introduce a few new convenience functions: iterate, iterate_if, next_insn_if that are now used to build IR for insns with implicit loops. These functions behave like if_condition_goto, except they do not terminate the super block and do not call put_IA(next insn). Previously, the guest_IA was assigned possibly several times for such insn. Now we do it exactly once as it should be. This improves complaints for cu21 which was the motivation behind this patch. As a side effect insns with an implicit loop no longer terminate the super block. All calls to dummy_put_IA have been eliminated. No changes in runtime performance were observed.
1e433b8 : re-re-clarify the doc about registers and flags gdbsrv up-to-date-ness
48190e4 : remove 303624 from 3_7_BUGSTATUS.txt (was fixed in rev 12758, already in NEWS)
57ebcf1 : Change IR generation for MVCLE to not generate cc=3. This should have been included in r2446, but was not obvious to spot.
0ffe10e : Added fixed bug 303963
383c6e3 : Partial update of bug fixes (I think it is still out of date though.)
c5274ae : Additions to PCMPxSTRx tests to check fix for bug 303963.
14a55df : Fix bug 303963.
cf87c94 : Change IR generation for SRST, CLST, and CLCLE to not generate cc=3. Two reasons: (1) Consistency in implementation (we don't generate cc=3 for "translate", "convert to unicode" and possibly other insns) (2) There is nothing to be gained. A program that does not handle cc=3 correctly (by looping back to the insn that generated it) may exhibit unpredictable behaviours. And there is no way for us to match that (as we cannot know when hardware decides to interrupt the insn). So why add complexity for that.
39815d6 : Use always_goto_and_chase for consistency with other "translate" insns.
91cdf90 : Fix testcase and update results.
5a5d6b6 : Better document the limitation of gdbsrv for registers and flags values
215b297 : Have perf/vg_perf handling EXTRA_REGTEST_OPTS Similarly to tests/vg_regtest, allow to run all perf tests with extra options. (note: it was preferred to use the same env var name).
1a22a57 : Update expected results. This is the companion patch to VEX r2444 which backs out the special handling for the 00 opcode.
35d27ab : Back out special handling for opcode 00 (VEX r2189). This was added based on the following analysis at the time: (1) during decoding a sequence of insns we run into a 00 opcode (as that opcode is sometimes used on purpose to force an abort) (2) #1 only happens when chasing through unconditional gotos (3) the path that was decoded in #1 would not be executed because an earlier side exit in the super block was taken
bb4f5da : Pass first_ip_delta to VG_(record_depth_1_ExeContext) as the function cannot figure it out by itself.
2c74189 : Eliminate magic constant. Use VG_(clo_backtrace_size) instead.
8b73c6e : Avoid checking for bitset initialization if futex_wait_bitset is meant to fail.
c62291c : Add 'aesdec' to the set of insns checked for assembler level SSE4.2 support (Rich Coe) and tidy up a couple of other bits of assembly by giving them trashed-register lists.
f321da7 : Change logic in computed gotos to use if_condition_goto_computed instead of if_not_condition_goto_computed. Hide the implementation detail of inverting the condition in if_condition_goto_computed and fix the call sites. This is clearer as it better matches the semantic description in the POP.
42d6ce6 : Add testcases for CU24. Part of fixing #289839.
2a415a1 : Add support for the CU24 insn (s390x). Part of fixing #289839.
4ab205b : No need to list m_gdbserver.c twice in the
d7209de : Localise "struct reg regs[]".
5e21d44 : ppc64-linux _start: don't assume ._start_in_C_linux -- the function descriptor for _start_in_C_linux -- actually exists. Instead call the entry point directly.
5c165b2 : Document Helgrind limitation that old access stack traces have maximum 8 entries
f0aedc4 : If the compiler being used to build is clang, remember to add -new_linker to the stuff given to the linker, else link failures result on x86. Based on a suggestion by Christoph Erhardt. Fixes #295427.
b7eaf81 : Add testcases for CU21. Update opcode table. WRT the memcheck test: the good news is we get all the complaints we want. The bad news is: - the line numbers from within do_cu21 are off - there are 2 complaints when attempting to convert from an uninitialised input buffer instead of one. One of them has a completely bogus line number.
a0100c9 : Add support for the CU21 instruction (s390x).
3015f06 : Add macros for "convert unicode" insns.
1b6bca2 : Fix syntax error
434ffae : Observe guards on dirty helpers in memcheck. This means, that any guest state and/or memory accesses of the helper (and complaints about those) only occur if the guard expression is true at runtime. Definedness of parameters that the helper might have is *always* checked, as parameters are evaluated regardless of the guard expression. New functions: expr2vbits_guarded_Load and gen_guarded_load_b.
c862f28 : Handle Iop_32to1 in the amd64 insn selector.
894eaeb : Include news about supporting MIPS32/Linux in NEWS file.
5afb349 : exp-sgcheck is not supported for MIPS architecture.
fed3ea3 : Fix disassembly for insns using the RRF_M0RERE format.
4b345f3 : Enable testing for the ETF3 facility.
77c1185 : Fix 303624 segmentation fault on Android 4.1 (e.g. on android emulator or Galaxy Nexus OMAP)
cf0a28f : Be slightly less precise on the leak check perf. improvement in NEWS (as this 40% is only a measurement of one perf program on amd64).
57a16a2 : patch that improves the speed of the leak search by up to 40% (on amd64)
9994ed6 : Small cleanup: use VG_TRACK (when possible) to call tool tracking functions (spotted by Julian) Note: there is a second occurence of call to track_post_mem_write in the same file; but this second occurence is better done with an "if".
5df0b2f : eqIRConst: handle Ico_V256.
bb2b279 : Un-break the build on MacOS, following r12742 (initial support for DWZ compressed debuginfo).
5d1d88f : Track recent bug fixes.
31c7478 : Add some missing syscall numbers for MIPS.
c5b8bb7 : Add more debug print information for the instructions for MIPS.
4931c0d : Conditionally execute tests depending on revision of MIPS architecture.
1a237be : Fix incorrect instruction decoding for MOVBE. Followup fix for r2435.
b08d84d : Add tests for MOVBE -- an Intel-Atom-only instruction
f85e177 : Implement MOVBE. Fixes #302287.
e711c80 : Move helper functions to guest_s390_helpers.c for consistency with other frontends.
ede9caf : Before printing a back-trace make sure that page containing the address stored in the stack pointer is mapped. Fixes a corner case.
58440e7 : Add expected outputs for VCMPNGESS. Should have been included in r12745.
243b736 : Update list of ignored files.
4424646 : Update list of ignore files.
1bc3c00 : Add test case for VCMPNGESS.
4785530 : Handle UD2 a bit better. This change causes Vex to decode UD2 like any other instruction -- so it doesn't complain -- but Valgrind still complains when synthesising the SIGILL for the guest. Marginally less confusing than it was before.
5276ff5 : Get rid of gcc warnings about uninitialised variables in the arm front end.
2f8c0b9 : Implement VCMPNGESS (and other laneages: SD, PD, PS). Fixes #302578.
f745041 : Update with recent fixes.
c7188be : Accept glibc-2.16 as valid (UNTESTED).
f7c9714 : Initial support for DWZ compressed debuginfo -- don't crash, at least, when reading it. Bug 302901 comment 3. (Jakub Jelinek,
8c50d7d : Increase max allowed pre-allocation (vreg-ised) block size from 10000 to 15000. In very extreme circumstances the JIT pipeline can create huge blocks. Fixes #303250, at least for the time being.
2bcdd65 : ppc front end: fnmadd, fnmsub, fnmadds, fnmsubs: don't negate the result when it is a NaN. Fixes #302370. (Carl Love,
6f3f318 : Fix ppCfiReg for s390 so --trace-cfi=yes no longer asserts.
af50a19 : Use vpanic, not vassert, you silly.
a1c8b4c : Update w/ recent bug fixes.
417b22d : Use a proper type for sign_mask.
0788a3f : Fix loading of large Mach-O thin binaries. Bug #289470. (Scott Byer,
b95e4d9 : Add another intercept for strncasecmp_l. Fixes #297701.
b6bf12c : Add ioctl wrappers for "Linux user input device". Fixes #296229. (Chase Douglas,
54c45db : Clean up the PDB reader somewhat, mostly in the area of biasing. #296318 comment 9. (Jiri Hruska,
7fa6354 : Remove redundant break statements.
6b5625b : Allow multiple rw and rx mappings in the ELF debuginfo reader. Fixes #296318 (patch on comment 8). (Jiří Hruška,
e1e8fce : Fix bug in leak search when an ignore range is specified
931acaf : Add tests for SMMUL{R}, both ARM and Thumb encodings.
ffd2093 : Implement (T1) SMMUL{R}. Fixes #300140. (Evgeniy Stepanov, w/ fixes.
d0b8b37 : Update bug status.
a1eed9d : Wire up four more system calls on arm, based on patch from William Cohen. Fixes BZ#295617.
a7b9dfc : Add support for the SIOCSHWTSTAMP ioctl, based on a patch from Arseny Solokha. Fixes BZ#296792.
7ceb70c : Note 286917 fix.
751b55e : Wire up dup3 on arm. Fixes BZ#299629.
2157b2c : RM: Implement QADD and QSUB (valgrind side fixes). Fixes #286917.
44ce46d : ARM: Implement QADD and QSUB. Fixes #286917.
3fc9929 : Add support for the CDROM_GET_CAPABILITY ioctl based on patch from Nick Black. Fixes BZ#302827.
617f1b2 : Note 290006 fixage.
899d183 : Add Iop_CmpEQ16x8 to the set of known dependency-breakers. Fixes #290006. (Alexey Samsonov,
f5dfa3b : Comment/formatting only change, to clarify semantics w.r.t. relationship between guards and return temporaries from dirty helper calls.
2b50c6f : remove 302800 (bug invalid and/or covered by --soname-synonyms)
0fb09b3 : remove 301204 (already in NEWS fixed section)
4d7a771 : none/tests/ifunc: Only run this test if the "ifunc" executable has been built
8bfc215 : 295590 Helgrind: Assertion 'cvi->nWaiters > 0' failed when cond var being waited upon destroyed * when cond var is destroyed, in the PRE, report an error if nwaiters > 0. * when cond_wait succeeds, get the cond var but do not create one in helgrind (it must exist if cond_wait was done). Report an error if cond not found (assuming this is caused by a destroy done while the thread was cond_wait-ing). * added a test
32b4a42 : fix 303127 Power test suite fixes for frsqrte, vrefp, and vrsqrtefp instructions
a6be8b1 : fix 303116 - Add support for the POWER instruction popcntb (Valgrind side) patch from
738d9dd : fix 303116 Add support for the POWER instruction popcntb (VEX part) patch from
b0e5b69 : fix 302918 Enable testing of the vmaddfp and vnsubfp instructions in the testsuite
f78a503 : Enhance the check for ifunc compatibility testing. Make sure the executable can be linked. As observed with gcc 4.4.5 and binutils 2.20.1
471335b : Fix use of AC_LANG_SOURCE for ifunc attribute testing.
44ab8f7 : Make the IR sanity checker complain about dirty helpers that return a value and are executed under a condition. That case is not handled properly and will cause asserts down the road. As pointed out by Julian.
251c2f9 : Add testcase from bugzilla #301204. Testcase by Chantry Xavier (
e529b87 : Improve behaviour of mempool redzone checking if user does not follow the manual (297911) User is supposed to mark the superblock(s) of a mempool as noaccess. As Valgrind objective is to find bugs for users which are doing bugs, let's even find (some) bugs if the user has a bug in the bug detection code.
66d7f24 : drd/tests/filter_stderr: Remove a space and two backslashes
8a91f38 : Finish initial triaging pass.
732b358 : Allow an IFunc symbol to be merged with a non-IFunc symbol that represents the underlying resolver function. Fixes BZ#301204.
eeb0733 : fix 302709 valgrind for ARM needs extra tls support for android emulator
4a2faf1 : Commit results of triagery so far.
0b7d456 : drd/tests/tc04_free_lock: Use drd/tests/filter_stderr
36c2b8c : Including additional header file to syswrap-linux.c to see VG_(get_SP).
f1dcf31 : Add new .exp file to EXTRA_DIST
95e330f : Yet another exp file for dash (0.5.7-2ubuntu2).
4ae0dc2 : Updated list of ignored files
9aa15b7 : Update exp file (should have been part of r12701).
0f1a6ca : drd/tests: Make the expected output match the actual output
29e022d : Add command line flag --trace-notabove which I've found handy. There are 4 cases now: (1) Neither --trace-notbelow nor --trace-notabove are given No superblocks are traced (same behaviour as before) (2) --trace-notbelow=YY is given Superblocks in interval [YY ... ] are traced. (same behaviour as before) (3) --trace-notabove=XX is given Superblocks in interval [0 ... XX] are traced. (4) Both --trace-notbelow=YY and --trace-notabove=XX are given Superblocks in the interval [XX..YY] are traced
5fba89f : drd/tests: Follow-up for r12690
d7ebe55 : Final round of moving fixed bugs from 3_7_BUGSTATUS to NEWS.
f5a3937 : Move more fixed bugs from 3_7_BUGSTATUS to NEWS.
2011f75 : Removed some bugs that were marked invalid. I did not move them to NEWS because I don't think we want to report those. Moved some more from 3_7_BUGSTATUS to NEWS because they are marked as FIXED in Bugzilla.
295bb7f : Remove some more entries from 3_7_BUGSTATUS that were already in NEWS.
b79add8 : move the mips port bug entry from 3_7_BUGSTATUS.txt to NEWS
9dca053 : Move one more fixed bug from 3_7_BUGSTATUS.txt to NEWS.
faa4f05 : Move some fixed bugs from 3_7_BUGSTATUS.txt to NEWS. Removed some bugs from 3_7_BUGSTATUS.txt that were already in NEWS.
13cb4eb : Update with header lines for all reported bugs so far.
0088888 : Don't be spooked by DW_TAG_{structure,class,union}_type that has only a DW_AT_declaration but no name. Just make up a name and add the type.
5c09e76 : drd/tests: Rework r12662 as suggested by Florian Krohm
8aa1cb7 : Add a text file giving a top-level summary of all bugs reported since 3.7.0 was released, that have not been fixed. (Old habits die hard!)
d09354b : Update following some bug triaging.
24d98d9 : Getting rid of the warnings about incompatible pointer types on MIPS.
2fd883a : Removing the warning about defined yet unused function on MIPS.
7711f9e : Increase allowed size of a back-trace to 500 frames. This limit is large enough for all practical purposes. It exists only to sanity check the value specified with --num-callers. Be frugal in record_ExeContext_wrk and only allocate on the stack as many frames as needed. Testcase included.
a7e9638 : * add folding rules for CmpNE32(x,x) and CmpEQ32(x,x), apparently popular on ARM
6399f81 : Fold some long lines (formatting-only change).
ffccf2b : Add folding rules for CmpEQ32x4 V256to64_0 V256to64_1 V256to64_2 V256to64_3
bd43bfa : Generate type-correct IR (always a good thing :-) when instrumenting 256 bit stores with --undef-value-errors=no.
37a505b : Add a new IRConst kind -- V256 -- containing an abbreviated vector immediate with 1 bit per byte, in the style of V128. This is so we can actually write constants of type V256, which is necessary for some Memcheck instrumentation of 256 bit primops.
4a0bee0 : Add some constant folding rules for V128 and V256 types.
24b0b73 : Updated.
d663333 : Remove an extraneous "extern".
e4f089d : Fix inline assembly for the "lfiwax" insn test. #302536. (Carl Love,
11ec518 : Adding README.mips to distribution documents.
4cb3dc3 : Use multiple processors to build these tests.
b43264c : Adding README.mips to EXTRA_DIST in
d533ae5 : Calculate the size of vki_elf_gregset_t via operator sizeof on MIPS platforms.
68b01f7 : Comment-only change re findSSECmpOp.
b02bbd6 : Adding README.mips to Valgrind root directory.
f1d78fb : Enable AVX by default, on processors that support it.
e15e954 : Finalise the expected output.
b51efc3 : Improve testing of AVX FP comparisons.
350e8f7 : Add handling of 256-bit vector FP arithmetic ops, so as to support AVX.
23db8a0 : Add IR ops Iop_CmpNEZ32x8 and Iop_CmpNEZ64x4, needed for Memcheck instrumentation of 256 bit vector arithmetic.
d698a05 : Handle a couple more AVX floating point comparison cases.
502ae53 : Update.
1407a36 : More AVX insns:
9ad4c42 : Update.
8209692 : More AVX insns:
9c1f235 : Update.
8516a1f : More AVX insns:
485b447 : Update.
8eb7ae8 : Even more AVX isns:
cf96744 : Update.
adf357c : Even more AVX insns:
ebd9b78 : Update.
b1a41a2 : VCMPPD and VCMPPS incremental fix
8937816 : Implement more AVX insns:
a965176 : VROUND{PS,PD}: fix incorrect comments.
285c723 : Update.
f5c0955 : Allow each test to be run multiple times (default is 3), rather than just once.
35e7c82 : Update.
7ea7aa2 : Fix compiler warnings for ppc test cases. Patch from Carl Love ( See also #302205.
0cd9edd : drd: Add yet another expected output file
228ff1a : Initializing destination reg for MoveIns test for MIPS.
39aa96a : Fix for incorrectly passed params to IRExpr_Mux0X in MIPS port.
969833c : Update these for Linaro's pre-release build of Ubuntu 12.04, with Linaro gcc 4.6.3, running on an A9. Not sure why these need to be updated, but they results are same as native on said platform, so am not worried.
a00c674 : Add test cases for UHADD16.
9de2809 : Implement (inexplicably missing) UHADD16.
13edb6a : Correcting sys_shmdt wrapper for MIPS Linux.
4f22890 : Add support for
4c0a7ac : Add support for
ed1884d : Add support for
148e594 : Fix incorrect implementation of VPERMILP{S,D} variable form. (Jakub Jelinek,, #273475 comment 128.
b1426ef : Moving Iop_F64toI32S to correct (binary ops) place in iselWordExpr_R_wrk.
f831631 : Update.
d8bca7e : Implement
68831a1 : Update.
15ad194 : Add support for
335d3c9 : Adding MIPS-specific wrapper for syscall pipe.
86525cb : Add some missing breaks as spotted by BEAM.
a90622a : s390_insn_cdas_emit: comment out unused variable r3p1 (a relative of C3PO, perhaps?)
f0ad4f8 : Move new 256-bit FP Iops to a better place.
70a88d3 : Update.
66becf3 : More AVX insns:
337cea1 : Update.
47933bc : Remove incorrect masking of the imm8 in VSHUFPD.
1ff29ef : Update.
4ed05e0 : More AVX insns:
21459cb : More AVX insns:
151cd3e : More AVX insns:
9f78137 : drd: Make sure that frame unwind information is generated for DRD intercepts such that pthread_cancel() works properly. See also Ulrich Drepper, Cancellation and C++ Exceptions, 2010 (
5a18e7b : drd: Add two regression test output files
048081f : Recognize clang version correctly. Closes #301984.
24a6072 : Align VG_(threads)[]
57a7e68 : Add strchr.stderr.exp3 to memcheck/tests/
c3009f8 : NEWS: add information about post-3.7.0 DRD changes
858c2d7 : drd manual: Update according to post-3.7.0 changes
ae290ad : memcheck/tests/strchr: Add expected output for openSUSE 12.1
f8e8a13 : Fix order of % versus * in memalign2.c new checks introduced in 12642 (spotted by Florian eagle eyes)
f5f6ed1 : Fix 203877 and 301229 increase to 16Mb maximum allowed alignment for memalign() and posix_memalign Note that VG_(arena_memalign) is not used by core or tools for the moment. We have one single maxima for both the V core/tools and the client. Enhanced memcheck/tests/memalign2.c to test 4 Mb and 16 Mb alignments.
a7b0d10 : Fix a few issues as reported by the BEAM tool. Patch by Carl Love (
e947ce1 : Add a hack (disabled by default) that attempts to unwind the stack on ARM by simply scanning up and looking for words that look like they might be return addresses. Last-ditch hack for when the CFI trail goes cold.
f491479 : Update.
fe0c5e7 : Add a CPUID emulation which announces AVX support, but don't enable it yet.
00d89cd : Update.
2a2bda9 : Fill in some missing AVX insns:
14711e8 : Have the inner Valgrind registering the interim_stack asap. This is needed to have the outer valgrind able to do stack traces of the inner Valgrind before the main thread runs. Without this, the outer crashes (segv) when doing a stack trace. In mtV.txt, an ugly kludge was described to avoid this crash. This is the clean solution replacing the kludge.
0972443 : Fix assert in gdbserver for watchpoints watching the same address
31fec70 : Update.
6fcd43e : Implement even more insns created by gcc-4.7.0 -mavx -O3.
9eff979 : Update with recent notes.
4bec7ac : Change the V output file name from out-V to out-VAL.
eecec67 : Update.
4b1cc83 : Implement even more instructions generated by "gcc-4.7.0 -mavx -O3". This is the first point at which coverage for -O3 generated code could be construed as "somewhat usable".
926d353 : Update.
e8a7eb7 : Implement a bunch more AVX instructions generated by "gcc-4.7.0 -mavx -O3":
a060b3c : Update.
56c3031 : Make a start at implementing 256-bit AVX instructions generated by "gcc-4.7.0 -mavx -O3":
b0f1df2 : 16-bit Thumb PUSH and POP: fix incorrect assertions.
0e3e768 : Avoid unused warning for ptrace_write_memory in vgdb.c (only used on some platforms)
6f79e3a : drd: Don't sporadically report false positives on newly allocated memory. Fixes #297147.
ce004eb : Add a stackframe around function call. Avoids testcase hangs when compiled with -O3. Found and debugged by Christian.
1e4071e : Fix typo/merge problem (replace s390x by mips32 in target.c)
dab666e : Update Subversion ignore lists
60747ac : Adjusting the svn:executable property on none/tests/mips32/filter_stderr.
cda994b : Amend do_shadow_Dirty and do_origins_Dirty so they no longer assert if the helper call touches an odd number of bytes in memory.
c2edb63 : avoid gcc warning regarding local/global variable shadowing in cdsg test
cc0cfcd : s390: also fix the memcheck testcase for cdsg regarding alignment
da59459 : drd: Add a suppression pattern
9148efd : CDSG needs quad word (16 byte) aligned data structures. Since the stack on s390 has only 8 byte alignment gcc cant guarantee 16 byte alignment for local variables. As a global variable gcc can do that.
191c6eb : Small improvement for getIReg on MIPS when reading from r0.
d14f077 : mips32-linux port: add missing (empty) stderr.exp files.
e584b0e : Merge in a port for mips32-linux, by Petar Jovanovic and Dejan Jevtic,, Bug 270777.
c68994d : Merge in a port for mips32-linux, by Petar Jovanovic and Dejan Jevtic,, Bug 270777.
5db1540 : Merge in a port for mips32-linux, by Petar Jovanovic and Dejan Jevtic,, Bug 270777.
362cf84 : Merge in a port for mips32-linux, by Petar Jovanovic and Dejan Jevtic,, Bug 270777.
d0e5fe7 : Merge in a port for mips32-linux, by Petar Jovanovic and Dejan Jevtic,, Bug 270777.
eadea2e : Fix a copy'n paste error spotted by Julian.
043af21 : Fix debug printing of s390 V-insns. Alu ops and such are 2-address insns
cc58cef : Support "compare double ansd swap" insns: CDS, CDSY, and CDSG valgrind bits for fixing bugzilla #291865. See also VEX r2372.
448cbba : Support "compare double ansd swap" insns: CDS, CDSY, and CDSG VEX bits for fixing bugzilla #291865
a62e961 : Fixes for 'make dist'.
573f8bc : Add macros I_REPLACE_SONAME_FNNAME_Z{U,Z} for general end-user use. The I_WRAP_SONAME_FNNAME_Z{U,Z} equivalents have been present for years. Seems inconsistent for the REPLACE versions to be missing.
d6e1b95 : Update.
9fb31ca : Convert avx-1 into a proper regression test.
9670e8a : Fix breakage I introduced in r12609, sigh.
bedf990 : Add feature testing for AVX. Also make the return values into named constants.
29a219c : dis_AVX128_E_V_to_G is a special case of dis_VEX_NDS_128_AnySimdPfx_0F_WIG_simple, so implement the former by calling the latter.
cd51345 : Update.
8ad4ff3 : Update.
fce47a6 : Implement VMOVUPD ymm2/m256, ymm1 = VEX.256.66.0F.WIG 10 /r VMOVUPD ymm1, ymm2/m256 = VEX.256.66.0F.WIG 11 /r
a0fb119 : Move VEX_HWCAPS_PPC32_DFP to a more logical place.
c4ebde3 : If we are doing cache simulation, refuse to start at all if the minimum cache line size is smaller than the maximum guest register size.
98763d5 : m_machine: add new function VG_(machine_get_size_of_largest_guest_register) cachegrind: use the new function to abort startup if the minumum line size is smaller than the size of the largest guest register. Partially derived from a patch by Josef Weidendorfer.
3be2aaf : Tweak testcase. Invalidate cc, making sure it is set later.
878f151 : Fix two Binop / Unop mixups.
457cba6 : POWER Processor decimal FP support, part 5. (Valgrind side). Bug #299694. (Carl Love, and Maynard Johnson,
4c96e61 : POWER Processor decimal FP support, part 5 (VEX side). Bug #299694. (Carl Love, and Maynard Johnson,
2644174 : Rippled from VEX r2366. Part of reducing size of IRExpr. These are the valgrind bits.
420bfa9 : Put the Triop member into a separate struct (IRTriop) and link to that from IRExpr. Reduces size of IRExpr from 40 bytes to 32 bytes on LP64 and from 20 bytes to 16 bytes on ILP32.
2d5b2a5 : Update.
98d02cc : Implement VMOVAPD ymm1, ymm2/m256 = VEX.256.66.0F.WIG 29 /r VMOVAPS ymm1, ymm2/m256 = VEX.256.0F.WIG 29 /r VPADDQ r/m, rV, r ::: r = rV + r/m VPSUBW r/m, rV, r ::: r = rV - r/m VPSUBQ = VEX.NDS.128.66.0F.WIG FB /r VPINSRQ r64/m64, xmm2, xmm1 = VEX.NDS.128.66.0F3A.W1 22 /r ib
9b3dc73 : Update ignored files.
1d0da84 : Fix a cut'n paste error.
e2ab297 : Ripple from VEX r2363. Part of reducing size of IRExpr.
96d7cc3 : Put the Qop member into a separate struct (IRQop) and link to that from IRExpr. Reduces size of IRExpr from 48 to 40 bytes on LP64.
2eecb74 : Track the change to IRDirty guest state effect annotations introduced in vex r2362.
c9069f2 : Enhance the guest state effects notation on IRDirty calls, so as to be able to describe accesses to arrays of non-consecutive guest state sections. This is needed to describe the behaviour of FXSAVE and FXRSTOR in an environment where we also support AVX.
0f951d8 : Add missing .exp files.
d39b022 : Reduce size of an IRStmt from 40 bytes to 32 bytes on LP64 by allocating the details of a PutI statement into a struct of its own and link to that (as is being done for Dirty and CAS).
d6f38b3 : Reduce size of an IRStmt from 40 bytes to 32 bytes on LP64 by allocating the details of a PutI statement into a struct of its own and link to that (as is being done for Dirty and CAS).
0bb707e : Add testcases for "compare and swap".
13bf8ef : Fix MacOS passsigalrm.c compilation error due to SIGRTMIN not existing on MacOS The test will very probably fail on MacOS (as gdb output will contain SIGUSR1 rather than signal SIGRTMIN, but at least it should compile). (not tested on MacOS; just tested that it still works on linux)
9dd35e0 : Fix machine detection on s390 to not bail out the regression test on unknown systems.
e53fd05 : Document the register(s) used for thread pointer
f9a16d4 : Let valgrind check the tls argument if the appropriate flag is set
1de3783 : Improve cross referencing of gdbserver monitor commands
defb78a : Add forgotten update. Should have been part of r2359.
3587828 : Cleanup after t-chaining changes.
3f59faa : fix the warning introduced by fixing SETTLS clone flag PRE_READ logic
c9e90e5 : Update a comment.
beef61a : Fix an out-of-date comment.
01ed6e7 : Change S390_INSN_HELPER_CALL such that returning a value is part of the call. Previously, this was a separate insn.
3616a2e : Remove, or (where it might later come in handy) comment out artefacts for 256 bit (AVX) code generation on amd64. Although that was the plan at first, it turns out to be infeasible to generate 256 bit instructions for the IR created by Memcheck's instrumentation of 256 bit Ity_V256 IR. This is because it would require 256 bit integer SIMD operations, and AVX as currently available only provides 256 bit operations for floating point. So, fall back to generating 256 IR into 128-bit XMM register pairs, and using the existing SSE facilities in the back end. This change only affects the amd64 back end -- it does not affect IR, which remains unchanged, and capable of representing 256 bit vector operations wherever needed.
dde285b : Add more test cases for VCMPSS, and reenable disabled tests for VCMPSD and VEXTRACTF128, now that the implementation has been fixed. Current status that all so-far implemented AVX instructions are tested by this file, and none have any detectable failures.
c93904b : Fix the behaviour of VEXTRACTF128, VCMPSD and VCMPSS, all of which were identified as incorrectly implemented by avx-1.c.
7d4f1fe : Add tests for all AVX instructions implemented so far.
cfca8cd : Implement VINSERTPS imm8, xmm3/m32, xmm2, xmm1 Fix VCVTPD2PS
8414ab3 : Fix false positive in sys_clone on amd64 when optional args are not given (e.g. child_tidptr)
07d3455 : Take advantage of compare immediate insns as more than half of all comparisons are like that.
b7a0e59 : Add missing gdbserver xml files for shadow registers for ppc32
8bb9e04 : as vgdb not activated by default on android, need to fix the example
0c960ff : Update.
6faf7cc : Implement VPUNPCKLDQ r/m, rV, r ::: r = interleave-lo-dwords(rV, r/m) VPACKSSDW r/m, rV, r ::: r = QNarrowBin32Sto16Sx8(rV, r/m) VPUNPCKLQDQ r/m, rV, r ::: r = interleave-lo-64bitses(rV, r/m) VPSRLW imm8, xmm2, xmm1 = VEX.NDD.128.66.0F.WIG 71 /2 ib VPADDW r/m, rV, r ::: r = rV + r/m VPINSRD r32/m32, xmm2, xmm1 = VEX.NDS.128.66.0F3A.W0 22 /r ib
cf0de70 : Update.
251b59e : Implement VADDPS xmm3/m128, xmm2, xmm1 = VEX.NDS.128.0F.WIG 58 /r VMULPS xmm3/m128, xmm2, xmm1 = VEX.NDS.128.0F.WIG 59 /r VCVTPS2DQ xmm2/m128, xmm1 = VEX.128.66.0F.WIG 5B /r VSUBPS xmm3/m128, xmm2, xmm1 = VEX.NDS.128.0F.WIG 5C /r VMINPS xmm3/m128, xmm2, xmm1 = VEX.NDS.128.0F.WIG 5D /r VMAXPS xmm3/m128, xmm2, xmm1 = VEX.NDS.128.0F.WIG 5F /r VPUNPCKLWD r/m, rV, r ::: r = interleave-lo-words(rV, r/m) VPUNPCKHWD r/m, rV, r ::: r = interleave-hi-words(rV, r/m) VPSHUFLW imm8, xmm2/m128, xmm1 = VEX.128.F2.0F.WIG 70 /r ib VPSHUFHW imm8, xmm2/m128, xmm1 = VEX.128.F3.0F.WIG 70 /r ib VPSRLD imm8, xmm2, xmm1 = VEX.NDD.128.66.0F.WIG 72 /2 ib VPSLLDQ imm8, xmm2, xmm1 = VEX.NDD.128.66.0F.WIG 73 /7 ib VSHUFPS imm8, xmm3/m128, xmm2, xmm1, xmm2 VPMULLW xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F.WIG D5 /r VPSUBUSB xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F.WIG D8 /r VPANDN r/m, rV, r ::: r = rV & ~r/m (is that correct, re the ~ ?) VPADDUSB xmm3/m128, xmm2, xmm1 = VEX.NDS
.128.66.0F.WIG : DC /r VPADDUSW xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F.WIG DD /r VPMULHUW xmm3/m128, xmm2, xmm1 = VEX.NDS.128.66.0F.WIG E4 /r
419d5f2 : gdbserver: introduce support to show the AVX registers.
d5af4c2 : Update.
8ef2242 : Implement /* VEX.NDS.128.66.0F.WIG DB /r = VPAND xmm3/m128, xmm2, xmm1 */ /* VPCMPEQB = VEX.NDS.128.66.0F.WIG 74 /r */ /* VCVTTSS2SI xmm1/m64, r64 = VEX.LIG.F3.0F.W1 2C /r */ /* VMOVHPD xmm1, m64 = VEX.128.66.0F.WIG 17 /r */
29ac428 : Fix two more incorrect disAMode calls, recently introduced in AVX support code.
d343e62 : Fix incorrect uses of disAMode in some SSE4 instructions that have an immediate byte as a subopcode. Fixes #294260. (Patrick J. LoPresti,
6c4e45c : Implement VPACKUWSB = VEX.NDS.128.66.0F.WIG 67 /r
72df068 : Implement VMOVD xmm1, r32 = VEX.128.66.0F.W0 7E /r (reg case only) VCVTSS2SD xmm3/m32, xmm2, xmm1 = VEX.NDS.LIG.F3.0F.WIG 5A /r VCVTSD2SS xmm3/m64, xmm2, xmm1 = VEX.NDS.LIG.F2.0F.WIG 5A /r
349a391 : Prepare for AVX support : restructure gdbsrv/target/valgrind-low/arch low
65bdbe4 : add some intial kvm ioctls (low hanging fruits). This gets rid of some valgrind warnings regarding KVM ioctl without a length/direction specifier.
ac75d7b : Implement VEX.128.66.0F3A.WIG 63 /r ib = VPCMPISTRI imm8, xmm2/m128, xmm1 VEX.128.66.0F3A.WIG 62 /r ib = VPCMPISTRM imm8, xmm2/m128, xmm1 VEX.128.66.0F3A.WIG 61 /r ib = VPCMPESTRI imm8, xmm2/m128, xmm1 VEX.128.66.0F3A.WIG 60 /r ib = VPCMPESTRM imm8, xmm2/m128, xmm1
d2b33d0 : Update.
6eaf00c : Implement VMOVUPS xmm1, xmm2/m128 = VEX.128.0F.WIG 11 /r VMOVQ r64/m64, xmm1 = VEX.128.66.0F.W1 6E MOVNTDQ xmm1, m128 = VEX.128.66.0F.WIG E7 /r
91fa980 : Implement VMOVLHPS xmm3, xmm2, xmm1 = VEX.NDS.128.0F.WIG 16 /r
97f7245 : Implement VPABSD xmm2/m128, xmm1 = VEX.128.66.0F38.WIG 1E /r
53b1278 : Implement VMOVHLPS xmm3, xmm2, xmm1 = VEX.NDS.128.0F.WIG 12 /r
6be4324 : Implement VMOVQ xmm1, r64 = VEX.128.66.0F.W1 7E /r (reg case only) If this is documented in the Intel manuals, I can't find it. GNU binutils and GDB seem to have heard of it, though.
4eb86ce : Update.
80804d1 : Implement VCVTTSS2SI xmm1/m32, r32 = VEX.LIG.F3.0F.W0 2C /r
44565e8 : Implement AVX insns VPUNPCKHBW = VEX.NDS.128.0F.WIG 68 /r VPUNPCKLBW = VEX.NDS.128.0F.WIG 60 /r Catchy names, huh?!
5c328c0 : Tweak initialisation of padding bytes such that future adjustments only require changing one spot (libvex_guest_s390x.h).
a705c28 : Add comments from Julian as to why mc_main.c and mc_replace_strmem.c deserve special compilation treatment.
d7f6033 : Fix fallout from recent AVX commit (guest_XMMn no longer exist; use guest_YMMn instead)
7d79e0b : Fix VALGRIND_MINOR/VALGRIND_MAJOR symbols. This got forgotten about in 3.7.0 (oops).
db85550 : Enable FCOMS/FCOMPS on amd64. Fixes #300414. (Eliot Moss,
8843031 : Add -fomit-frame-pointer for s390. The GCC maintainer was telling me that this has been the preferred way to compile for quite a while. So let's follow suit. The perf bucket did not reveal any measurable difference.
b5e17b9 : Fix feature recognition on AMD Bulldozer following the recent AVX commits. Fixes #300389.
fe8940d : Ensure s390x guest state size is 32-byte aligned, as per increase in alignment requirements resulting from r12569/r2330. (Christian Borntraeger <>)
574d9a8 : Handle 32-byte loads/stores, as created by recently added AVX support.
62d3cda : Ensure arm guest state size is 32-byte aligned, as per increase in alignment requirements resulting from r12569/r2330.
2ac31f4 : Handle increase in ppc64 guest state size resulting from r2331.
ae9590b : Ensure ppc64 guest state size is 32-byte aligned, as per increase in alignment requirements resulting from r12569/r2330.
c4530ae : Add initial support for Intel AVX instructions (VEX side). Tracker bug is #273475.
45fa9f4 : Add initial support for Intel AVX instructions (Valgrind side). Tracker bug is #273475.
f32cbe8 : define AM_COND_IF if not yet defined (needed to build with automake 1.10)
f7c5433 : Fix 274078 improved configure logic for mpicc
6d6ddbc : name_of_sched_event was missing some values and returning "??UNKNOWN??" instead. * re-ordered the values to match the declaration order in libvex_trc_values.h and pub_core_dispatch_asm.h * added missing values
4a18597 : NEWS entry for revision 12564 (bypass gcc 4.4/gcc 4.5 bug)
a5e13e5 : Bypass gcc 4.4/4.5 compilation bug by moving -fomit-frame-pointer to gcc 4.4 and 4.5 has a bug which causes miscompilation of mc_main.c: args are not correctly given to VG_(am_munmap_valgrind). This causes the secondary map entries to not be unmapped (which can cause unlimited memory growth) and/or causes the assert on VG_(am_munmap_valgrind) result to fail.
3772566 : Add assertion that the munmap of the secmap succeeds. It is suspected that there is a bug in the call to VG_(am_munmap_valgrind).
971ab8f : Move registration of mc_pre_reg_read to mc_post_clo_init. This fixes the regtest failure for memcheck/tests/clireq_nofill on s390x.
061dc42 : Fix disassembly for asi and agsi
ff9613f : Eliminate helper s390_calculate_icc. Rewrite and factor the code to use s390_calculate_cond instead. The benefit is that the latter has comprehensive spec_helpers whereas the former had not.
52af7bc : Back out VEX r2326. It was not working correctly. The guard condition has to be evaluated after argument evaluation. Add clarifying comments in libvex_ir.h
abbc9af : Add a few testcases that exercise the s390_calculate_icc helper.
a2cc0c0 : fix 299756 (for symmetry, --free-fill must be ignored for MEMPOOL_FREE and FREELIKE client requests).
1e470b5 : fix 219156 support static malloc or alternate malloc lib (e.g. tcmalloc) with new option --soname-synonyms
de065a0 : Support DWARF version 4 DW_AT_high_pc constant form. #299053. (Mark Wielaard,
e065436 : Improve insn selection for helper calls. Attempt to evaluate arguments into the real register that is mandated by the ABI instead of evaluating it in a virtual register and then move the result. Observed savings in insns between 0.5% and 1.4%. Probably an overrated optimization given current helper functions which rarely take more than one argument.
297b606 : Use make_gpr throughout. Remove unused parameter.
e09e8bb : Remove an out-of-date comment.
8730e0f : fix typo in README_DEVELOPERS
5bdb9ec : Avoid regtest failures on x86_64 and ppc64 when toolchains for the seconday platform (x86 and ppc32, respectively) is not available. Add -DVGA_SEC_xxxxx and -DVGP_SEC_... to the GCC command line indicating that a seconday platform is supported. Make arch_test.c recognise those flags. Fixes bugzilla #296983.
ef0bca6 : Require automake-1.10 for proper handling of include file dependencies in .S files. Also included here is some cleanup, including a reversion of r10378. Fixes bugzilla #197914.
7d117ba : Add the counter pseudo register to the list of guest registers to be tracked during insn selection. Saves 0.2% or so of insns depending on how often insns with implicit loops like MVC are being used.
d483f80 : Avoid duplicate primary names when merging identical symbol table entries. --trace-redir=yes shows that there are duplicated redir entries e.g. --32537-- TOPSPECS of soname NONE filename /home/philippe/valgrind/m_redir_trace/memcheck/ --32537--* strcasecmp_l R-> (2014.0) 0x04c28bf0 --32537--* strcasecmp_l R-> (2014.0) 0x04c28bf0 --32537--* __GI_strcasecmp_l R-> (2014.0) 0x04c28b70 --32537--* __GI_strcasecmp_l R-> (2014.0) 0x04c28b70
8e9cfa5 : Fix svn:ignore on ppc test buckets
f87d4fb : Special-case the TR insn for EX. With this change all insns of the SS format with a length field are special-cased for EX.
79e839e : More refactoring to avoid code duplication (irgen_CLC/CLC_EX and irgen_MVC/MVC_EX)
b0bf660 : Add NC and OC to the list of insns that get special treatment under EX. Refactored code such that s390_irgen_xonc can be reused thereby avoiding code duplication.
80beb24 : Improve m_redir.c debug trace by adding filename. Many objects (shared or non shared) have no soname. In such case, showing the filename clarifies where the redir spec is coming from.
bcd21a2 : Updated for s390.
e3d028c : Add ETF3 facility (valgrind bits). Part of fixing Bugzilla #289839. Patch by Divya Vyas (
79bee4b : Add ETF3 facility (VEX bits). Part of fixing Bugzilla #289839. Patch by Divya Vyas (
79abd6e : Remove unused variable in massif/tests/pages_as_heap.c (revision 12548)
e6a26cc : fix 298943 massif asserts with --pages-as-heap=yes when brk is changing by value different of page size
841b5b6 : Add DFP test cases that accidentally missed in r12546.
cb06d5e : Don't use constants of the form 0b...; apparently older compilers don't know about them. Fixes compile breaking resulting from r2317.
0892b82 : Test cases for POWER Power Decimal Floating Point (DFP) test class, test group and test exponent instructions dtstdc, dtstdcq, dtstdg, dtstdgq, dtstex and dtstexq. Bug #298862. (Carl Love, and Maynard Johnson,
5eff1c5 : Add support for POWER Power Decimal Floating Point (DFP) test class, test group and test exponent instructions dtstdc, dtstdcq, dtstdg, dtstdgq, dtstex and dtstexq. Bug #298862. (Carl Love,
ee93cdb : Correctly parse DW_FORM_ref_addr -- its format is different in Dwarf2 vs Dwarf3 and later. Fixes #298864. (Tom Tromey,
93a6a8d : add optional arg [aspacemgr] to memory to show aspacemgr segments.
ee1a897 : Add feature detection for amd64.avx, and (potentially) FMA.
f350a42 : Add a feature check flag for AVX.
bba356d : Try to fold out some of the lousy code generated by the amd64 front end for 32 bit shifts.
61acf4c : Add spec rules for Z and NZ after LOGICW.
b7301c6 : For --profile-flags=, weight the counts by the number of guest insns in each IRSB, rather than considering each IRSB to have a weight of 1. This probably gives more representative profiles, especially post t-chain merge, which made inter-SB transitions more or less free compared to what they were before.
fadbbe2 : (stats only) Let the callers of LibVEX_Translate know how many guest instructions got incorporated into the IRSB.
18c72fa : POWER Processor decimal floating point instruction support, part 3 -- test cases. (Carl Love, Bug 298080.
cdc376d : POWER Processor decimal floating point instruction support, part 3 (Carl Love, Bug 298080.
a50b4a2 : Update.
e25053c : Disable debug printing w.r.t. sector unlinking.
2f6902b : For each backend, unify the sets of IRJumpKinds handled for Ist_Exit and iselNext, so as to avoid potential failures caused by branch sense switching at the IR level.
f71b35a : Fix makefile to allow compilation with gcc -g3. Fixes bugzilla #297993 (together with VEX r2310). Patch by Daniel Richard G. (
623d65b : Fix makefile to allow compilation with gcc -g3. Part of fixing bugzilla #297993. Patch by Daniel Richard G. (
1c2b4db : tchain optimization for s390 (continued) Take advantage of hardware capabilities when loading a 64-bit immediate.
4b50415 : tchain optimisation for s390 (valgrind bits) Companion of VEX r2308 Move address arithmetic to recover place to patch into VEX.
ebaf8d9 : tchain optimisation for s390 (VEX bits) Loading a 64-bit immediate into a register requires 4 insns on a z900 machine, the oldest model supported. Depending on hardware capabilities, newer machines can do the same using 2 insns. Naturally, we want to take advantage of that. However, currently, in disp_cp_chain_me_to_slowEP/fastEP we assume that the length of loading a 64-bit immediate is a compile time constant: S390_TCHAIN_LOAD64_LEN For what we want to do this constant needs to be a runtime constant.
6e0015a : Followup to r12527. Use 32-bit arithmetic to increment xindir performance counters. Remove #ifdef'ery.
d7b0844 : Announce fix.
4e63b8e : Be lenient if the machine model could not be determined. Assume it's a new machine as opposed to a too old machine. Patch by Christian Borntraeger ( with additional commentary. Fixes 298394.
6f1dede : Rename to VEX_S390X_MODEL_UNKNOWN.
cb02f54 : Update s390 status
65b5b3f : (post-tchain-merge cleanup) Stop s390x asserting on illegal insns. none/tests/s390x/op_exception will now pass.
0daa4e3 : Consolidate and update information about dependencies of VG_(machine_get_hwcaps) for all architectures in pub_core_machine.h and avoid double maintenance.
b3dc95f : Update.
d7a0cd6 : Use 32-bit XIndir counter incs, instead of 64-bit, as per r12527.
96b3c20 : Use 32-bit XIndir counter incs, instead of 64-bit, as per r12527.
5f55436 : Use 32-bit XIndir counter incs, instead of 64-bit, as per r12527.
bba6f31 : Last optimisation for the day: change VG_(stats__n_xindirs) in such a way that the fast-path through VG_(disp_cp_xindir) only has to increment a 32 bit counter, saving memory bandwidth on 32 bit platforms compared to a 64-bit inc. The overall numbers of XIndirs can still be 64 bit though.
21b7ab2 : Kludge around a compiler warning, and add explanatory comment.
0e047d6 : (post-tchain-merge cleanup): Use ASI and AGSI for increment / decrement if available.
bf516d1 : (post-tchain-merge cleanup): Tighten up some asserts.
68aba52 : Set VEX_HWCAPS_S390X_STFLE if available. This should have been part of r12335.
90ece04 : Fix debug print for hwcaps adding stfle ad etf2. Add VEX_HWCAPS_S390X_STFLE. This should have been part of r2237.
93a9757 : (post-tchain-merge cleanup): fix call to handle_syscall on x86-darwin.
39aacda : (post-tchain-merge cleanup): x86: handle a couple more syscall kinds needed on x86-darwin.
972316d : Fix assertion failure on x86-darwin following r12504 (pread fix)
0e5839b : (post-tchain-merge cleanup): un-break the build on OSX by fixing up the dispatcher code accordingly.
172ff56 : chainXDirect_ARM: generate direct jumps when possible.
9d36412 : Update.
3e8ba60 : Ain_XDirect, Ain_XIndir: use short form encodings where possible.
53d8455 : (post-tchain-merge cleanup) remove temp supporting hack "IRStmt_Exit3"
3d0e38e : (post-tchain-merge cleanup) Stop x86/amd64 asserting on illegal insns.
a5ed11e : Comment update (was moved to t-chaining-notes.txt)
f26994a : We incorrectly stored the archinfo_host argument of iselSB_S390 into a global variable not realising it points to a stack-allocated variable. This caused s390_archinfo_host->hwcaps member to change its value randomly over time. It could have caused invalid code to be generated. Curious that it did not surface.
ecac8f3 : Update, post-merge.
291849f : Merge branches/TCHAIN from r12476 (its creation point) into trunk.
ed055d0 : Add a spec rule for NE after COPY.
da9a9f5 : Comment-only change.
6ea3b1a : Add a missing included, needed for ppc targets.
87ce6d7 : Avoid word-size warnings when this is compiled on 64 bit platforms.
8c017ad : Implement accept4 on ARM systems.
2e90473 : Changes needed to make t-chaining work on ppc64-linux (valgrind side).
f252de5 : Changes to make t-chaining work on ppc64-linux. More fun than a bathtub full of ferrets. (VEX side)
48cb961 : Minor non-functional tweak.
223fedd : Fill in some more bits to do with t-chaining for ppc64 (still doesn't work) (Valgrind side)
9e1cf15 : Fill in some more bits to do with t-chaining for ppc64 (still doesn't work) (VEX side)
99764e9 : Add translation chaining support for ppc32 (tested) and to a large extent for ppc64 (incomplete, untested) (Valgrind side)
3dee849 : Add translation chaining support for ppc32 (tested) and to a large extent for ppc64 (incomplete, untested) (VEX side)
7a972bc : Mention running with --profile-flags.
e7aa433 : Wire up epoll_create1 on ARM systems.
8559e41 : Correctly update the guest IA at the end of an insn to point to the next insn, not the current one.
0c30a7b : scheduler, ticket lock: Add memory barriers necessary to avoid a deadlock on PowerPC systems
bb31f2d : ... and set $(BOOST_LIBS) properly again.
7129c72 : Fix detection of Boost libraries. Reported by <>.
f9e1ed7 : More fixes: - A few dummy_put_IA's were missing, causing asserts to fire. Mostly for the "load/store conditional" kind of insns - EX needed some finishing touches - Assignments to irsb->next are forbidden. We had a few in the "special opcodes" section. Now fixed, I hope. With this patch most regressions run through. I see 3 failures in none and a few more in the memcheck bucket.
9fdca56 : add some .globl or used attribute to avoid link failures with gold linker + LTO
c42a5cc : Change permission mask for FIFOs and shared memory to 0600 instead of 0666 Following a discussion about which user can debug which VAlgrind gdbserver: The default umask will remove the "other" and "group" write bits. Without the w bits, nothing works in any case. Moreover, if the vgdb process does not belong to the user running the V gdbserver, connections are also not possible. => remove useless/confusing bits.
1c85704 : Fix s390_tchain_patch_load64; some bytes were mixed up. Fix unchainXDirect_S390; modified place_to_unchain address before patching the code there. Add some convenience functions for insn verification in chain/unchain machinery. Avoid magic constants.
2d98d89 : Make the list of handled jump kinds the same in s390_isel_stmt and iselNext.
37dd895 : No idea what happened here. Fixed as obvious.
8050bb7 : patch fixing 297991: mmap changing a file descriptor current position
96c5f26 : Deal with CLFLUSH, which were not correctly dealt with (w.r.t. new IR generation conventions) and caused bb_to_IR.c to assert.
ae71d36 : No need to handle Ijk_Sys_int32 which is specific to amd64.
7346c7a : First round of fixes: some cut'n paste errors. And the guest_IA in a conditional jump.
8fb1b13 : Fix 297992 Support systems missing WIFCONTINUED (e.g. pre-2.6.10 Linux)
e857804 : Extend CSE to cover CSEing of clean helper calls. This gives a significant performance improvement in the baseline simulator (20%) on some pieces of ARM code.
7341b15 : Translation chaining for s390. To be debugged.
8844a63 : Translation chaining for s390. To be debugged.
0f62198 : ado_treebuild_BB: don't allow loads to be floated past CASs. (why did this ever work before?)
c364323 : Add symlinks that were missed out from r12500 due to last-minute SVN snafus.
ea8b02f : POWER Processor decimal floating point instruction support: part 2 (bug #297497) (Carl Love, (Valgrind side, mostly tests)
26217b0 : POWER Processor decimal floating point instruction support: part 2 (bug #297497) (Carl Love, (VEX side)
12b0895 : TCHAIN: avoid calls to search_transtab and return to scheduer by first using tt_fast This slightly improves some perf tests (e.g. heap). Some not explained "real time" slow down of bz2 between trunk/svn tchain and this patch analyzed with callgrind/cachegrind. realtime slowdown attributed to Pentium 4 self modifying code unfriendly cache.
cce48f8 : Android's libc includes advertise a "malloc_usable_size", but the contains no such symbol; rather a "dlmalloc_usable_size" (great, huh :-) So intercept that too, on Android.
d9ceb5a : Add a test re conversions of QNaNs between 64- and 80-bit FP formats. Related to Mozilla bug #738117.
0548cdb : Improve the behaviour of 64-to/from-80 bit QNaN conversions, so that the QNaN produced is "canonical". SNaN conversions are unchanged (because I don't have a definition of what a canonical SNaN is) although there are some comment updates. Fixes Mozilla bug #738117.
14ab1a3 : outer/inner setup: new perf/vg_perf options to run perf tests + support translation chaining in inner.
9a161da : Disable test on big-endian platforms.
ca4feb7 : Skip the test if it was not compiled, i.e. dwarf4 is not supported.
bb4827b : fix off by one in string
0b8f0b5 : TCHAIN: remove caused_discard* argument to VG_(translate) This is the followup to rev 12488. With this revision, translation chaining is not done if the translation with 'from address' is not existing anymore (discarded or erased). The assumption documented in 12488 comment has been checked by: * first reproduce a crash in Firefox when always setting caused discard to False * then upgrade to rev 12488 * with this upgrade, no crash anymore. => this verifies that the caused discard logic is properly replaced by revision 12488.
d935068 : Add support for reading DWARF4 .debug_types sections. Fixes #284124. (Tom Tromey,
471d6b3 : Fix incorrect use of VG_(addToXA). (Tom Tromey <>)
12e174e : Switch back optimisation flag back to -O2 by removing the -O
e72f59c : Fix assert due to gdbserver discarding translation The fix consists in checking if the translation of the 'from' address is still existing.
a2af13d : Comment-only fix. (Tom Tromey <>)
d51f2fd : ARMin_MFence: implement using ARMv7 insns instead of the legacy mcr-15 instructions.
5566a9a : Make the return type of VG_(disp_run_translations) be void, rather than the HWord it was claimed to be. Inconsistency spotted by Philippe Waroquiers.
bda6ed3 : Add %J format to s390_sprintf. New function s390_jump_kind_as_string. Misc tweaks in the neighbourhood.
d5fb58e : Add support for the move_pages system call. BZ#282790.
1331525 : Add translation chaining support for amd64, x86 and ARM (Valgrind side). See #296422.
c6f970f : Add translation chaining support for amd64, x86 and ARM (VEX side). See #296422.
5ba075a : Fixes for capabilities checking w.r.t. Power DFP instructions (Valgrind side). Fixes #297329. (Maynard Johnson,
c66d6fa : Fixes for capabilities checking w.r.t. Power DFP instructions (VEX side). Fixes #297329. (Maynard Johnson,
e49a588 : drd, realloc() intercept: Swap freeing and cleaning memory.
9de9d38 : Avoid that configure complains about "-----: command not found".
f06eabf : Fix track-origin instrumentation for ppc32 following r2270/r12476 (initial DFP support). Maynard Johnson (
48de7ec : Swizzle external.
697bb6b : drd, free() intercept: Swap freeing and cleaning memory.
17da994 : Make a copy of r2270/r12476 for work on translation chaining.
3cd525c : Make a copy of r2270/r12476 for work on translation chaining.
b0ccb4d : Initial support for POWER Processor decimal floating point instruction support -- VEX side changes. See #295221.
c6bbd47 : Initial support for POWER Processor decimal floating point instruction support -- VEX side changes. See #295221.
7886dd3 : drd: Reenable reporting races on stack variables that are shared over threads for --check-stack-var=yes.
7a9db0f : drd: Don't complain about stack variables that are shared over threads. Closes #297147
c961d36 : gcc-4.7.0 complains about some __attribute__((always_inline)) here, so change them back to vanilla ones.
62d2b62 : Fix #ifdef vs { mismatch in r12471, that broke compilation on MacOS.
a3d8c67 : Further fix 297078 : implement conversion between vki and gdb real time sig nr.
886fde3 : Fix bug 297078 gdbserver signal handling problems caused by diff vki nr/gdb nr and non reset of "C-ontinued" signal
d2df32e : Add some more suppressions for OSX 10.7.2.
7c41246 : Update the memcpy intercept for Helgrind in accordance with that for Memcheck. Fixes #293855.
54eac25 : /* Do expensive interpretation for Iop_Add32 and Iop_Add64 on Darwin. 10.7 is mostly built with LLVM, which uses these for bitfield inserts, and we get a lot of false errors if the cheap interpretation is used, alas. Could solve this much better if we knew which of such adds came from x86/amd64 LEA instructions, since these are the only ones really needing the expensive interpretation, but that would require some way to tag them in the _toIR.c front ends, which is a lot of faffing around. So for now just use the slow and blunt-instrument solution. */
ef49323 : Add a nasty kludge in the handling of mmap on Darwin. Does not apply to any other platforms. Prevent mmap(ANON) from returning zero (zero with success, that is) since (a) some programs are observed to be spooked by getting zero from a successful call to mmap, and (b) it's pretty stupid from the point of view of program safety and possibly security, since it causes page zero to become accessible. So don't.
74a1658 : rlimit64_nofile won't build on Darwin, so don't try.
ff62002 : Make this compile on Darwin.
9d061d0 : Fix up debug printing -- no functional change.
3410383 : Keep the stack properly 16 aligned when delivering signals on x86-darwin.
06728c8 : Keep the stack properly 16-aligned when delivering signals on amd64-darwin. Fixes the failure shown in
625c3e7 : Fill in missing signal handling macros for amd64-darwin.
428dfdd : Consolidate guest state offset computation. There is only one way. No need to precompute them and have them named in three different ways.... Get rid of libvex_guest_offsets.h dependency.
161404e : Darwin: Fix a copy/paste error that was introduced in r12458
cf4be4a : gcc seems to have taken to generating "orl $0xFFFFFFFF, %reg32" to get -1 (32-bit) into a register. [Is this wise? Does the processor know that this generates no dependency on the previous value of the register?] Teach the constant folder about such cases, therefore.
9a2b80d : Check whether the big lock is held before invoking pre_thread_ll_create.
616458b : Remove prototype for non-existing function. Fix vpanic call.
4e86dd1 : Remove strange e which appeared in r12456, replace by a real e.
6155d36 : Have check_makẹfile_consistency run at the end of make regtest This ensures that a missing file in the Makefile is detected, without blocking the tests.
cc2f71b : add test-plo-no.stderr.exp-s390x-mvc in EXTRA_DIST.
9c1a505 : Support sys_fallocate on arm-linux.
fd5f4a4 : For (T3) "ADD (SP plus register)", allow "add rX, SP, rY, lsl #{1,2,3}" as well as the non-shifted version.
8d67425 : fix 295799 Missing \n with get_vbits in gdbserver when line is % 80 and there are some unaddressable bytes
9c85587 : Modify test so that scheduling events are generated. Even without fair scheduling, this ensures the progress of each thread. This avoids the test looping forever in an outer/inner setup.
147e0a9 : Update s390 opcode list.
f9925fe : Add script that assists with updating s390-opcodes.csv.
eadfb1f : Add spreadsheet that lists all s390 opcodes in the following format: 1. column: mnemonic 2. column: description 3. column: implementation status 4. column: comments, if any
7e8c692 : Rename function. We want to be able to extract implemented opcodes by matching /^s390_irgen_[A-Z]+/
95b26b1 : Add expected output for s390x with compilers using mvc.
0bfaf54 : Add expected results for 32-bit little endian platform.
172a3bb : Make a more precise reference to the g++ version.
ede2d6c : (for x86 and amd64): Change the type of the shadow regs for floating point registers
561b832 : Change the type of the shadow regs for floating point registers to be uint64. Previously the value in such a shadow reg would be interpreted by gdb as a floating point value which would produce non-sensible output for e.g p/x $f1s1. This patch covers the power and arm architectures.
e2b8aa4 : Add s390x register decsription to vgdb. This enables examination of V bits in vgdb.
f1e1aa6 : Fix leak in debuginfo.c di->soname was not freed, so was leaked when debug info is removed. free(soname) added in free_Debuginfo, after having verified and then ensured that all soname are allocated in dinfo.
72faf10 : Allows to run regression tests in an outer/inner setup.
de7daf4 : Modify none/tests/execve.c so to avoid infinite loop with --trace-children=yes
11cc9ce : Ensure VALGRIND_MALLOCLIKE_BLOCK protects the red zones.
d4f5aac : Finally understood why an outer on inner on a 32 bit application is failing on a 64 bit host.
3f6e9d9 : Suppress race reports on ticket lock state variables
92e2c64 : Suppress race reports on VG_(threads)[tid].os_state.exitcode
9e3a08f : Use ANNOTATE_BENIGN_RACE_SIZED() to suppress race reports on owner_lwpid
40d7c01 : helgrind: Implement ANNOTATE_BENIGN_RACE_SIZED()
82646de : Update Subversion ignore list
27233e9 : When analyzing Valgrind with drd, suppress uninteresting race reports on VG_(threads)[].status
03820b4 : Update Subversion ignore list
da04f3e : Change the behaviour of --partial-loads-ok=yes to avoid false negatives, by marking the V bits that come from out of range parts of the access as undefined; and hence any use of them leads to an value error. Prior to this they were marked as defined and could be used without error.
88d7584 : Make it possible to #include <valgrind/drd.h> after <valgrind/helgrind.h>
a2340a5 : Suppress uninteresting race reports on sema->owner_lwpid
4a91d62 : none/tests: Update Subversion ignore list
66bc951 : Turn no-op versions of INNER_REQUEST into statements, not values, since gcc complains about "statement with no effect" or some such for the simple "0" version. Also, make the formal parameter names a bit more unique.
6919736 : Ah, the joys of applying patches by hand. Redo r12424 but get the patch in the right place this time. re #295428.
d9dbbc9 : x86-darwin: _start: keep the stack 16-aligned. Fixes #295428. (Jack Howarth,
a65f80c : Reinstate intercepts for plain "memcpy" and "memmove" on OSX <= 10.6 (not on Lion). Fixes #285662.
e139a46 : MacOS only: VG_(get_changed_segments) callback remove_mapping_callback: if the kernel tells us of a gap that partially, but does not exactly, overlap a V segment, only record directives to remove that part of the segment that actually falls within the gap. Removing the entire V segment is incorrect and can cause Memcheck to believe that memory not within the hole is inaccessible, leading to floods of invalid errors. Fixes
8236fe6 : Add support for the HCIINQUIRY ioctl. Patch from Andrew Brampton to fix BZ#283961.
d543d74 : Add support for the I2C_RDWR ioctl. Patch from arnaud mouiche to fix BZ#286261.
4bad593 : Fix leak of range_list (see below an example) in readdwarf3.c. (found by running regression tests with an outer memcheck).
3ba8a89 : Update bug reporting URL.
300c15a : Fix a testcase. Constraint was incorrect allowing r0 to be used for the EX insn. Patch by Christian Borntraeger (
0d366ad : * Improve documentation of --vgdb=full * make a reference to --vex-iropt-precise-memory-exns=yes to obtain up to date registers values.
3dfd6bb : Avoid possibly unaligned memory access.
277eaff : * README_DEVELOPERS : complete/enhance the section about outer/inner * manual-core.xml : fix a typo * include/pub_tool_inner.h : new file, defining macros for inner annotation include/ : reference this new file. * syswrap-linux.c : when ENABLE_INNER, register the stacks for the outer. (otherwise, nothing works properly). * m_redir.c : avoid inner interpreting the outer vgpreload instructions. * sema.c : annotate the semaphore with RWLOCK annotations for helgrind * ticket-lock-linux.c : similar.
859b3fa : none/tests/mq.c: Fix a copy-paste bug
09007e3 : In case VALGRIND_MALLOCLIKE_BLOCK is wrongly used, output the execontext where the overlapping blocks have been reported before crashing.
aba260b : Handle prlimit64 the same way we do getrlimit and setrlimit, with some requests trapped and handled by valgrind.
0e1cac9 : After a fork, gdbserver_init can be called again. Buffers should not be re-allocated in such a case. (memory leak detected by running memcheck on memcheck)
d9df0ea : Fix leak found by running memcheck/tests/varinfo[1-6].vgtest
e318d0b : Increase the size of buffers used for showing names when --trace-flags= is set.
4bbfc5f : Fix one more leak detected by running memcheck in memcheck (started to run regression tests in an outer)
40defd4 : This is a followup to r2263. Use offsetof.
43dcb39 : Android only: make the debuginfo mapping hack more flexible. Previously it looked for the debuginfo object for "/system/X" in "/sdcard/symbols/system/X". This commit removes the requirement for "system" as the first path component, so the mapping is now "/X" (viz, any absolute path) to "/sdcard/symbols/X".
7d69fd9 : Fix some memory leaks found by running memcheck on annotated memcheck.
ccb843b : Tighten up initial guest/shodow state on s390x.
535bc7d : Announce.
9429028 : Do not assume that a pointer is the worst-aligned data type. Fixes #283671
558fc97 : Ignore redundant REX prefix on 4 byte form of PMOVMSKB. BZ#294736.
75a5f78 : Fix buffer overflow bug when building the target file.
5528e5e : Revision 12396 (replacing pkglib_DATA by vglib_DATA) missed once place. This was breaking vg-in-place on platforms needing gdbserver target description files.
7299d84 : Fedora 17 is merging /lib into /usr/lib so any suppression which explicitly matches /lib/... needs to match /usr/lib/... as well.
3a05a15 : Add a spec rule for SUBQ/NBE.
eb83f6c : Implement malloc_size for the vg_default_zone on Darwin.
236a71a : Document the new --fair-sched option.
5786420 : Avoid having holes in the VgdbShared struct.
d5f4826 : Hide our use of pkglibdir to stop automake 1.11.2 and later complaining.
b34cb7f : Add test cases for MPSADBW. See #294048.
4d5bce2 : Implementation of SSE 4.1 MPSADBW instruction. Fixes #294048.
1aa3aef : Don't claim to support 3dnow or 3dnowext on the baseline x86_64 CPU. Fixes #291568. (Reimar Döffinger,
90ffbe3 : x86: don't forget to initialise guest %es from the host %es when constructing the initial guest register state. Fixes #291253.
87a1fa5 : ARM/Thumb only: fix a bug in which stack unwinding halts in some functions that do FP arithmetic. This is due to the Dwarf3 CFI mentioning Dwarf registers above N_CFI_REGS, in particular FP registers, which have values of about 80. This fixes the problem by increasing N_CFI_REGS to a level that covers all known registers. (n-i-bz)
6753200 : With the change in VEX r2258 the guest IA will now also be accessed in the low word only. Adjust code accordingly.
ad43b3a : Improve code generation on s390x for assignment of constant values to guest registers. Motivated by the observation that piecing together a 64-bit value requires 4 insns on z900 and 2 insns on newer models. Specifically: (1) Assigning 0 can be done by using XC (2) Assigning a value that differs by a small amount from the value previously assigned can be done using AGSI (Happens a lot for guest IA updates). (3) If the new value differs from the previous one only in the lower word it is sufficient to assign the lower word. (4) If the new value equals the old value the assignment is redundant and can be eliminated. This happens surprisingly often. This buys us somewhere between 5% and 11.8% of insns (as measured on the perf bucket).
0a64a7a : Update status and build instructions for ICS (Android 4.0.3).
1331f4d : Accept DMB (mcr 15, 0, rT, c7, c10, 5) for any rT <= 14, not just when rT = r0.
a63005c : Add test cases for PHMINPOSUW (SSE 4.1). See #287301.
8cb931e : Implement PHMINPOSUW (SSE 4.1). Fixes #287301. (Laurent Birtz,
db54660 : Re-enable RET $imm16 following insn decoding framework rework. Fixes #292430 (a regression).
9db268c : Add test cases for 16 bit PCMPxSTRx variants. See #293754. (Eliot Moss,
3c3d6d6 : Add support for some 16-bit PCMPxSTRx variants. Prior to this point only 8-bit variants were supported.
9ae42a7 : Adds 16 and 32 bit fnsave/frstor, and 0x66 prefix on fldl, to guest amd64.
30fc058 : Re-enable CLFLUSH in the new decoding framework. Fixes #293808. (Eliot Moss,
84af676 : Broadens the range on INT imm8 values that SIGSEGV, allowing Jikes RVM to work.
baf6964 : * compare vgdb-error with n_errs_shown, not with n_errs_found. Using n_errs_shown allows the user to stop on an error identified in a previous run by counting errors shown. * shows also n_errs_shown in monitor command n_errs_found * slightly clarified the manual, updated to new output of n_errs_found
26de964 : Add a spec rule for HI after SUB. This turns up quite a lot on my Nexus S.
4458779 : Announce bug fix.
dc7948f : Add some VEX sanity checks for ppc64 unhandled instructions. Patch by Maynard Johnson ( Fixes #293088.
c6fccd6 : Use LC_ALL=C for a controlled environment. Patch by Fixes #294055.
b46d7ad : Wire up a few more syscalls. Patch by Christian Borntraeger (
708417d : In fold_Expr use a switch instead of an if-chain for clarity and efficiency.
6156b77 : * fix Bug 290655 - Add support for AESKEYGENASSIST instruction (Valgrind part : test for AES instructions (AESKEYGENASSIST, AESIMC, AESENC, AESENCLAST, AESDEC, AESDECLAST).
ff4d6be : * fix Bug 290655 - Add support for AESKEYGENASSIST instruction (VEX part) Patch implementing the AES instructions (AESKEYGENASSIST, AESIMC, AESENC, AESENCLAST, AESDEC, AESDECLAST).
8ce5c24 : Change the garbage collection policy for the secondary VBit table (that holds partially defined bytes), to GC more aggressively. Details in the comments. This largely avoids a sometimes massive space leak, that has been observed (eg) running the Firefox test suite on Memcheck. Without this patch it cannot complete with 4 million nodes in the table; with the patch it completes comfortably with 50000 ish nodes. This reduces the total memory use needed for the run from above 7GB down to 6.2GB.
768f811 : Update Subversion ignore list
3bd1fc5 : nightly build: Run nightly build also if only VEX has been modified. Check out matching revisions of Valgrind and VEX instead of using latest VEX when checking out the (today - 1) source code.
cdb5fee : This patch is a follow-up to r2244 which fixed bugzilla #287260 on some platforms but not on all that we test.
8b3a609 : Only mark data which has actually been filled in by recvmsg as defined.
200bdb3 : Improve messages for mmsg calls.
361c3bd : Correct system call name.
2764000 : It turns out sendmmsg also updates the msg_len fields.
a499123 : Add support for the sendmmsg and recvmmsg system calls. Fixes BZ#277779.
8758e70 : Add support for some SCSI ioctls. Patch from Jakub Jelinek on BZ#292627.
9e4b636 : Add support for process_vm_readv and process_vm_writev system calls. Patch from Lénaïc Huard to fix BZ#292995.
835a714 : Add support for the F_GETOWN_EX and F_SETOWN_EX fcntl calls. Patch from Jakub Jelinek to fix BZ#292626.
d6ae9e6 : Implement the getcpu vsyscall on amd64 by forwarding it to the real system call. Patch from Lénaïc Huard to fix BZ#187043.
5eac4b5 : Wire up getcpu on amd64. Patch from Lénaïc Huard to close BZ#292993.
1cff53c : Update linux system call lists.
d895fee : mc_main.c statistics has hard-coded logic to compute the memory used by sec vbit table. This logic depends on the way sec Vbit entries are maintained. Due to the introduction of pool alloc, this logic has to be changed to (more) correctly compute the memory.
da27543 : Add testcases for TR, TRE, TRTT, TROT, TRTO insns. Fixes #273114. Patch by Divya Vyas (
730448f : Implement TR, TRE, TRTT, TROT, TRTO insns. These are the VEX bits for fixing #273114. Patch by Divya Vyas (
466bac3 : Add z10 EC build.
53b0d9a : fix 290974 vgdb must align pages to VKI_SHMLBA (16KB) on ARM In VG_(am_mmap_file_float_valgrind_flags), when VKI_MAP_SHARED & flags, ensure the request length is big enough to allow to roundup the returned advised to VKI_SHMLBA if needed.
37e1dd0 : Rework r12363
12c4b34 : drd/tests/sigalrm: Report thread creation failure
9bb46c4 : drd: Avoid that an assertion failure is triggered if clone() fails.
0e947cf : debug info reader: Add support for rvalue references. Closes #278313#c5.
42f83fe : <valgrind/valgrind.h>: Fix for Intel C/C++ compiler in MSVC compatibility mode.
df0c09e : Make -d (enable debug logging) work on Fedora 16 / x86.
e3c0a2a : Add testcase for bugzilla #287260. Testcase by M.Welinder ( Announce bug fix.
f6402ab : Rewrite algebraic transformations for binary operators. Some optimizations were missed due to complex control flow. Fixes #287260.
3e1e218 : none/tests/x86/bug125959-x86 language conformance fix: do not trigger signed integer overflow. Fixes #292628.
a22f59d : (fixes bug 289939 wish: complete monitor cmd 'leak_check' with details about leaked or reachable blocks)
91b7ec3 : drd: Remove drd/drd_list.h again because of its GPLv2 license.
5c1f921 : Fix a copy/paste error
41a378a : drd: Add command-line option --ptrace-addr.
e278ab5 : drd: Use macros and inline functions for list manipulation
e57a9e2 : drd: Avoid that the changes from r12351 trigger a race condition when copying DrdPosixThreadArgs
ce1d688 : drd, semaphore implementation: Only wake the associated futex if at least one thread is waiting
ae37e6d : drd: Source code refactoring - use DRD_(thread_get_vc)() wherever appropriate
c6bf184 : drd: Source code refactoring - use DRD_(thread_get_vc)() wherever appropriate
d678054 : drd: Rename DRD_STOP_TRACE_VAR() into DRD_STOP_TRACING_VAR()
80611e3 : Merge, from AVX branch, everything up to and including r2242 (revs 2212 - 2242 inclusive). In summary, brings the new decoding framework into the trunk.
a5cfd36 : drd/tests/fp_race_xml: Filter out thread number and vector clock information
e528697 : drd: Fix a race condition in the pthread_create() intercept.
ee31366 : Revert accidental check in (part of r2240).
5351853 : Revert r2238. In 64-bit mode the length is in bits 0:63. Not sure what I was thinking then....
b4c1afa : drd: Generalize a suppression pattern
e44bccc : drd: Switch to new pool allocator
6e07448 : Pool allocator: change the semantics of VG_(releasePA)() according to comment This change also makes the semantics of releasePA match the semantics of other release functions, e.g. those in XPCOM (see also
5928d39 : Add a perf test to measure the speed (and memory) of PDB handling.
6643e96 : Fixes 282230 group allocator for small fixed size, use it for MC_Chunk/SEc vbit
fdfca22 : Improve configure for SSE 4.2 detection. Fixes #271438
722b48e : Announce fix for #270796. Also keep the bug list sorted.
7700fc9 : Remove broken support for TS insn in s390 port. The atomicity was not modelled. The insn is not issued (gcc) or used (glibc, libdfp) and is discouraged in the principles of operations. No point spending time on it. Fixes #270796
e64c5a9 : debug info reader: Add support for DW_TAG_unspecified_type. Closes #278313.
2e2f213 : drd: Remove prefix from local variable names
dac4779 : debug info reader: rearrange the source code such that gcc issues a warning if an enumeration label is missing.
b51d459 : Followup to r2237. The length is in bits 32:63 only -- not 0:63.
d19733c : Add support for the s390's TROO insn. These are the valgrind bits. Detect ETF2 enhancement facility using STFLE. Add testcases. Patch by Divya Vyas ( with modifications. Partial fix of #273114
9af3769 : Add support for the s390's TROO insn. These are the VEX bits. New hardware capability: VEX_HWCAPS_S390X_ETF2. Patch by Divya Vyas ( Partial fix of #273114
f7ef3b9 : Update Subversion ignore lists
a9cc2dd : drd: Make it easier to enable the debug statements in the ELF section suppression code
864920d : drd: Set up red zone before the first instruction of a thread is run.
993d32f : drd: Refactor functions for starting / stopping to access stack memory
ad193e7 : drd: Reformat three comment blocks
8423490 : Added a new parameter to the memcheck 'leak_check' GDB monitor command to let the user specify a max nr of loss records to output : on huge applications, interactive display of a lot of records in gdb can take a lot of time.
ae52a93 : Valgrind gdbserver can open/close connections multiple times => avoid leak when re-computing the default vgdb prefix. Similar change in vgdb.c
c521406 : Make compiler version check more robust
515e269 : * Use the arg name forClient to document the calls to VG_(am_get_advisory) * in function VG_(am_mmap_file_float_valgrind_flags), use False/*forClient*/ instead of True (as VG_(am_mmap_file_float_valgrind_flags) is used for "valgrind" kind of mmap only).
fd75ddc : Add a comment about setting aside a register for VG_(dispatch_ctr) on s390.
43acc07 : Terminate comment correctly.
5544d5b : Fix accounting for MC_(realloc). It was inconsistent as compared to other wrappers in that it took place before the silly-args check. Testcase and patch by Yann Droneaud ( Fixes #281482
e75fdeb : add support for glibc 2.15
221b707 : Avoid buffer overrun in percentify call.
238ac2f : Spelling fix
7ee8b88 : Small doc changes: * In core advanced manual, replace 3.7.0 by current release. * cleanup in m_gdbserver/README_DEVELOPPERS
1d76a80 : fix 289699 vgdb connection in relay mode erroneously closed due to buffer overrun * use PBUFSIZ+1 for buffers reading characters from gdbserver: vgdb reads up to PBUFSIZ characters from gdbserver. If vgdb receives a burst of packet from Valgrind gdbserver, PBUFSIZ characters can be read. The tracing code adds a trailing \0 to this buffer => to avoid buffer overrun, the buffers are dimensionned with PBUFSIZ+1. * use read_buf in function read_char, rather than directly calling read.
bd28c5e : While investigating whether bugzilla #286040 was a problem or not (it's not) I noticed that the code was more complex than it needed to be. So this patch simplifies it a little.
54212b6 : When reading a decimal value consume decimal digits, not hexdigits.
5945164 : Beef up VG_(strerror) to provide correct messages for the errno codes in asm-generic/errno-base.h (on linux). The error strings were obtained by calling strerror natively in Linux. Extend vki-linux.h accordingly. vki-darwin.h already had those errno codes. Add testcase. This fixes #287858.
8f927a5 : Fix 247386 make perf does not run all performance tests :
15e301e : * none/tests/linux/mremap3.vgtest : new test mremap3.c based on testcase provided by Jan Engelhardt * coregrind/m_syswrap/syswrap-generic.c - The two 'no-thrash checks' that were introduced to fix bug #129866 were (probably) broken when adress space manager was reworked. The new VG_(am_get_advisory_client_simple) returns NULL for a free segment, but the check was based on checking not NULL and then that the state is free. => replaces these two local checks by a call to the new am Bool VG_(am_covered_by_single_free_segment) function.
5eb378e : Updated NEWS (set next version to 3.8.0, added 286270 to fixed bugs+reordered)
a782a17 : When reinterpreting a 32 bit int as a float we need to move it from gpr[32:63] to fpr[0:31]. And vice versa.
4d71a08 : Handle Iop_ReinterpF32asI32 and Iop_ReinterpI32asF32 in insn selection.
27656f8 : DRD: revert r12308 because it didn't help
b4913ad : DRD: add two ppc output variants
25026ef : DRD, load/store tracing: avoid evaluating the address expression twice
1e856ea : Add a configure test for detecting whether gcc supports atomic operations on 64-bit integers on 32-bit platforms. Apparently newer gcc versions support this but older versions not. Thanks to Philippe Waroquiers for reporting this.
4797dbe : DRD: Suppress uninteresting races triggered by the dynamic loader
ac0686d : drd/tests/ update EXTRA_DIST
8b173f7 : Update Subversion ignore list
42f3263 : drd --trace-addr: make tracing 64-bit values on a 32-bit platform work
7ca75ed : DRD, --trace-addr: enable support for Ity_F32 and Ity_F64 / temporarily disable support for 64-bit CAS on 32-bit platforms
e7da9a8 : DRD: Eliminate a temporary variable
d2ba0ea : drd/tests/annotate_trace_memory*: add 32-bit output variants
811b60e : drd/tests/pth_cleanup_handler: increase timeout
9ad8d80 : DRD: rearrange the definition of u_widen_irop[][]
4df13d3 : Update Subversion ignore list
5cda1b5 : DRD: make the tracing regression test more complete
b63dc78 : DRD: Make the code for instrumenting store operations more robust
37013cf : drd.h: Add macro DRD_STOP_TRACE_VAR(). To do: update manual
59d93d7 : DRD: make DRD_(stop_tracing_address_range)() work at an acceptable speed
8c3de75 : DRD help text: remove a superfluous dot
f7a5b3f : Remove trailing whitespace
24e71c6 : Disable drd/tests/std_thread until libstdc++ gets fixed (see also
ea69215 : DRD: Make --trace-addr work for atomic loads and stores. To do: update manual
7826acb : DRD, --trace-addr: trace stored values too
0952e92 : Update Subversion ignore lists
71ce132 : DRD: Two non-functional changes: adjust source code indentation and fix second argument of unsafeIRDirty_0_N() in the memory access tracing code.
2aeaf8e : fix 286270 VG_(env_remove_valgrind_env_stuff)
1531023 : Follow-up for r12281: update regtest expected output
b4ff782 : Rename the shell variable ac_have_builtin_atomic into ac_have_builtin_atomic_primary
f68af88 : DRD: Add test program for std::thread.
a70dfab : Fix a typo.
e44b9cd : Add script to assist in updating the C++ demangler from GCC trunk.
8dc79ce : Update the C++ demangler by importing files from GCC trunk @ r181975. Also fixes #283413
78bfc71 : Add command-line option --fair-sched=[no|yes|try]. Use --fair-sched=try when running the annotate_hbefore regression test. Closes #270006.
1081fe2 : Remove emacs modeline and/or local variables from DRD source files
de80335 : Give a better help message for gdbserver when VALGRIND_LIB is set. This ensures a correct help msg is given when the valgrind installation is moved, and VALGRIND_LIB is then set to the new valgrind lib location. Note it does not improve the help msg when valgrind is run "in place" (e.g. when using vg-in-place). (Patch from Paul Pluzhnikov).
dec4a56 : Tweaks for the benefit of the webpage. - mention s390x/linux in README - formatting tweak in README.s390 so things don't look ugly in html - add README.s390 and to distribution documents
0f0ed67 : Yesterday I changed dist.authors.html and in r442 in the valgrind-www repository. These files are actually generated from AUTHORS and NEWS, respectively. Therefore, change AUTHORS and NEWS to reflect yesterday's change. Things are now in synch again.
472e42d : Get rid of Roland McGrath et al.
8503744 : configure: Fix compiler version check. Closes #286384.
bc33be6 : arm-linux: fix signal returning so that if SA_RESTORER is not specified, the handler returns to the previous context rather than to whatever value happens to be parked in the link register (duh). Previous behaviour made complete nonsense of signal returning on Android.
bcad739 : The sparse wa maintains the nr of elements in use at level 0. So, replace the code which counts the nr of bits in the level0 bitmap by just returning the nr of elements in use.
ed3ac74 : Clarify where to set TMPDIR to have working FIFOs. + mention --vgdb-prefix clo as an alternative.
ff7efa6 : New section for 3.7.1. Announce fix for #286374.
9627fe8 : Iop_1Uto64 was not handled in the ppc insn selector. Patch by Maynard Johnson ( Fixes #286374
28a23c0 : Callgrind: use jmpkind from VEX for side exits.
add9ec4 : callgrind: remove command file polling
7d219f8 : Document test results.
62b0d40 : Merge latest changes to this file from 3_7_BRANCH.
e4310b3 : RHEL 4 build fix
bec5baf : Remove TEST_TOOLS and TEXT_EXP_TOOLS as they are no longer needed.
bad8ac6 : Fix prerequisite to also require linux. So testcases get skipped and do not fail on Darwin.
6ab7f2d : When doing instrumentation, pay attention to the fields. This makes the --ct-verbose=1 output make a lot more sense for Thumb code. Should have no effect on any other platform.
0de7471 : Update platform_test. Add s390x-linux. Remove AIX.
6a27ab3 : Also display information about the assembler (binutils).
4ff2a1a : Update comment in r2229 to place the blame in the right place.
d53282e : Use normal setjmp/longjmp, not the __builtin_ ones, as LLVM pretty much treats the latter kind as no-ops.
0f30dbc : x86g_dirtyhelper_FXRSTOR: work around what looks like a LLVM bug, that causes this routine to segfault on x86-darwin.
e035cd1 : Remove unneeded prerequisites in testcases. Followup to r11693.
9047fa7 : Include insn_pclmulqdq.def in tarball.
c443b96 : Fix the configure test for ssse3 support. GCC needs -msse or it will reject the xmm7 clobber in the code snippet. Fix the prereqs for the ssse3 tests. It is possible that hardware supports ssse3 but the tool chain does not. So we need to have the testcase executable as a prerequisite.
90ca96c : Updated ignored file lists.
98500e2 : Use snprintf() instead of sprintf()
56fe332 : Handle longer un-sized symbols on arm-linux-android.
d8e32e2 : Don't get the date of the build from the mail header. It is often off-by one. Instead extract it from the message body, namely, when the build was kicked off.
5df4ce5 : Rewrite test to not use function clock_gettime. The purpose of this is to not have to link against -lrt because that causes a different back-trace on certain x86 and s390x environments. See the thread with subject "helgrind/tests/cond_timedwait_invalid failing on x86" on valgrind-developers for more details.
badefc9 : Some small doc updating for 3.7.0.
9bdf2a6 : Fix missing m4 quoting that autoconf-2.68 warns about. (Dave Goodell,
5dd8346 : Get rid of over-cautious check to make BEAM happy
77de43e : Update list of ignored files.
7fc4d4a : Give function copy_input_until_stop the noinline atribute. At least one of the compilers for s390x nightly builds was inlining it. Update exp files accoordingly. This should fix any residual back-trace noise for this testcase.
1b3a7a4 : Some fixes for Android:
deddfdf : Disable the GDB server-by-default for the time being on Android, since the mknod operations fail. It can still be used if you can get past that point, but you need an explicit --vgdb=yes for the time being.
51016d1 : Handle "add.w reg, sp, #constT" and "addw reg, sp, #uimm12" for reg != PC. Previous handling was overly restrictive -- only allowed reg == SP. (n-i-bz)
0016492 : Fix an out-of-bounds array access found by IBM's BEAM checker.
b0f4ce8 : Add script to summarize the outcome of nightly builds.
96e6aa6 : Bump the version.
c2f1d96 : Update.
4b3a742 : Fix #284384 (clang 3.1 -Wunused-value warnings in valgrind.h, memcheck.h) by changing a bunch of VALGRIND_DO_CLIENT_REQUEST_EXPR into VALGRIND_DO_CLIENT_REQUEST_STMT for cases where the return value of the former would be unused. (Bart Van Assche,
3bbaf48 : Update.
5f2dcad : Don't break fcntl locks when program does mmap. #280965. (Rusty Russell,
47ffedb : gdbsrv: factorize gdb version handling, fix doc and typos
4ef552a : Change the behaviour of VALGRIND_CHECK_MEM_IS_DEFINED slightly, so that if the range is partially non-addressable and it contains undefined data, both errors are reported.
82a0371 : Add more missing files for the tarball.
93f2d3e : Remove the Qt4 regression tests because these are too hard to maintain
08f08c0 : Remove pth_specific.c which is unused.
0b289e9 : Add some more missing files to the tarball.
dfe1877 : Include README_DEVELOPERS for the GDB server in the tarball.
f91fd73 : helgrind/tests/tc08_hbl2: Avoid busy-waiting
bc9b93b : helgrind/tests/cond_timedwait_invalid: Update expected output because of r12213
5d28863 : Check consistency before running regression tests. Closes #283813.
adda79a : helgrind/tests/cond_timedwait_invalid: Port to Darwin 10.8
469b836 : Update for 3.7.0. (What did I forget?)
83baa94 : More update for 3.7.0 (duh.)
4067340 : Update for 3.7.0.
520501d : Update the list of fixed bugs and format properly.
d19fd67 : Update expected outputs following update of copyright dates.
c340306 : Get a bunch more copyright dates in the right format, 20xx-2011, so the auto-update script will handle them correctly in future.
e6c53e0 : Update all copyright dates, from 20xy-2010 to 20xy-2011.
ec062e8 : Update all copyright dates, from 20xy-2010 to 20xy-2011.
20cf5bd : Update, so as to be able to handle the 200x vs 201x change.
b394076 : Fix the guest state definition for s390x and introduce dummy members in places where 8-byte alignment is needed.
992d3cc : Make vgdb.c work on Android, so that the GDB server as a whole will work on Android. Fixes #283600. (Philippe Waroquiers,
d6e13d8 : Addition of scheduler monitor command
403d8aa : Improvements in freelist handling for Memcheck. See #250065.
866c80c : Allow garbage collection of the LAOG data structure(s). This avoids quadratic growth on some apparently simple test cases. Fixes #267925. (Philippe Waroquiers,
33f6482 : Add a custom filter for the drd/tests/annotate_barrier_xml regression test
17dfe1a : Make VALGRIND_DO_CLIENT_REQUEST more user friendly by wrapping its replacement in do .. while (0).
523f14e : Revert r12195 because it triggers suspicious error messages on systems where libtool has not been installed:
eb8577f : Remove the ppc-cross directory because the scripts in it are not fully functional
454a298 : Update Subversion ignore list
016fd57 : Use autoreconf as recommended in the autoconf manual
ecb3509 : Add an excessively minimal testcase, from #279698, pertaining to the propagation of V bits through saturated narrowing operations.
2bd9a68 : Rearranged the TLS test such that autoreconf doesn't complain about it
4d4b644 : Fix a compiler warning introduced in r12188
00e4e0a : Record the ELF x86 regparm registers.
ad2c9ea : VEX side fixes to match r12190, which is a fix for #279698 (incorrect Memcheck handling of saturating narrowing operations.)
b5a2923 : Change and simplify the way that Memcheck instruments saturating narrowing operations. The previous scheme was simply wrong and could cause false negatives, by causing some narrowing operations to have a defined output even when the inputs are undefined. This was what #279698 reported. This patch is a fix for that bug.
417cf3e : Ran through autoupdate: - Replaced AC_CONFIG_HEADER() by AC_CONFIG_HEADERS(). - Replaced AC_TRY_LINK() by AC_LINK_IFELSE(). - Replaced AC_TRY_COMPILE() by AC_COMPILE_IFELSE(). - Removed AC_TYPE_SIGNAL because RETSIGTYPE isn't used anywhere.
a92677a : XML output: escape XML-metacharacters in executable path and arguments. This is a modified version of the patch submitted by Evgeniy Stepanov <>. See also #284621.
284f2a3 : Add a replacement for strcasestr, along with test case. Fixes #282979.
07fce0a : Cause the build to fail when man pages aren't built properly. At present that doesn't happen. #272967, which is Debian bug 599563. (Pierre Habouzit,
7cf235b : ML_(ppSym): minor improvement in debug printing for DiSyms.
227fd91 : Debug printing only: when printing SB translation header lines, print the object and SVMA too, so as to make it easy to find the relevant bit of code by objdump -d of the object, even if the function name is unknown. Also re-order some of the fields.
9872085 : Adapt the faultstatus.c testcase to work properly on systems with larger page size. E.g. ppc64 running SLES 11 has 64k pages. Patch by Maynard Johnson ( with small modification to minimize source code changes. Fixes bugzilla #283709.
4d107aa : Update s390x bug list.
71fe57f : Update filter_gdb script for ppc64. Fixes bugzilla #284305 Patch by Maynard Johnson (
ed0b953 : Fix timerfd-syscall testcase on s390x.
567e80e : Filter out more warnings (Dwarf reader and debug info).
eb38458 : Update Subversion ignore list
2a8ef7b : Remove filter_int because not used anywhere
38db72f : Enable sys_epoll_pwait on arm-linux. #283427. Derived from larger patch by John Reiser (
69c11fe : Add (well, actually, enable existing) test cases for Thumb2 ROR (register) encoding T2. See #284472.
260abb1 : Handle Thumb2 ROR (register) encoding T2. #284472.
adf0103 : ppc64-linux: handle sys_setresuid and sys_setresgid. #273640. (Jan Stancek,
50f5cea : Fix a compile warning on {ppc32,ppc64}-linux.
720e6b7 : Avoid potential overflow in range check. #273431. (Alexandre Duret-Lutz,
4fb597b : Add missing filter scripts to so they are included in the tarball generated by "make dist". With this change running regtest from the tarball produces the same results as a regtest on a checked out repository (on x86 that is).
bdf5e70 : Add ABI information for s390x.
cb8ea55 : Add some verbiage about "make dist".
4a37e32 : Fix a comment.
666e64c : Ignore redundant REX.W on PTEST. #279071. (Jakub Jelinek,
e801ed2 : Add test cases for PCMPxSTRx case 0x38. See #273318.
94fb5b0 : Handle PCMPxSTRx case 0x38. Fixes #273318.
c0ad0e1 : Add missing backslash
12f508a : Add test cases for PMULUDQ and PCMPEQQ. Duh -- in future, add test cases at the end, since adding in the middle changes the random data used for all tests that follow, and makes the diff huge.
9a2afe9 : Handle new Iop_CmpEQ64x2 introduced in vex r2218.
d881562 : Implement the SSE4.1 insn PCMPEQQ. n-i-bz. (VEX side changes) ** MERGE TO AVX **
bb75ba8 : Implement SSE4.1 PMULUDQ. Fixes #280290. ** MERGE TO AVX **
6aeadaa : Fix false positive following pthread_cond_timedwait failure. Fixes #271917. (Philippe Waroquiers,
d585c92 : Fix callgrind part of bug 280757.
2476b78 : Use proper automake variable (patch from Philippe Waroquiers - see also #273465)
57306c0 : Move --child-silent-after-fork=yes from drd/tests/threaded-fork.vgtest to drd/tests/verify-xml-output
c879859 : Update documentation now that DRD supports XML output
5939156 : drd/tests/threaded-fork: Make sure that the generated XML output is valid
8720d53 : drd, XML testing: trigger more XMLcode
b17fe21 : drd, XML: more xsd refinements
b36fec1 : drd: Add drd/docs/drd-xml-output.xsd to the distribution tarball
f580065 : Mark IR level calls and returns derived from ARM and Thumb code more correctly. Fixes #252091. (Timothy B. Terriberry,
1ea87a5 : memcheck/tests/linux/ Add four .vgtest files to the distribution tarball and remove the capget binary
c8b9dbc : callgrind/tests/ Add regression tests simwork-both, simwork-branch and simwork-cache to the distribution tarball
5767b60 : Add empty-exe regression test to the distribution tarball
64e2e72 : Add insn_pclmulqdq regression test files to the distribution tarball even if the system on which the tarball has been generated does not support pclmulqdq
09af2db : helgrind/tests/ Add tc22_exit_w_lock.stderr.exp-kfail-x86 to EXTRA_DIST. See also r12079.
49f4ddd : Add 3.7.0 drd items to NEWS
505b35c : Document command-line switches new in version 3.7.0
282e337 : Document command-line switches new in version 3.7.0
6530c2a : drd, XML: add xsd schema description and a script to verify the DRD XML output against the xsd
ad994e8 : drd, XML tracing: move newline generation into DRD_(trace_msg)() / change tracing output format slightly.
b6ab69e : drd, XML: more XML output consistency improvements
ca7285e : drd, XML: make the XML output a little easier to parse
ffd37d6 : Update the list of fixed bugs.
863594d : drd/tests/filter_stderr: Don't touch XML tags
d13016b : Fix typo spotted by Philip Waroquiers.
fc13f2c : drd, XML: Use proper XML syntax
5718cf3 : Remove an obsolete regression test output file
786a7c7 : Set svn:executable property
e708600 : drd: Enable XML output. See also #282949. To do: document the output format.
6c63f5c : Emit <state>RUNNING</state> earlier
db4384e : Add format specifier %ps: only escape XML-metacharacters for --xml=yes
d938adc : Make sure that exp-sgcheck/tests/stackerr passes on openSUSE 11.4 x86
2eb66e0 : Revert r12128 because it triggers an assertion failure on one of the nightly build systems
2358660 : Update expected output - the ppc output changed due to r12038.
5430ede : First round of changes to get make dist working again.
e6a3e04 : This patch by Philippe Waroquiers, replaces r12124. His analysis of the testcase failure:
d83f3d0 : none/tests/shell: An attempt to compensate for variations in bash error messages
2a5e5d7 : memcheck/tests/err_disable4: Increase thread stack size a little
c6445c7 : Update exp file. Back trace changed due to r12108.
2504753 : On systems where /proc/sys/kernel/yama/ptrace_scope exists we need to check its value to avoid testcase failure.
900863d : Filter around some debuginfo problems with on SLES11 Patch by Christian Borntraeger (
352db6d : drd: Use Vg_DebugMsg for debug messages
74b2d97 : drd: Convert a few VG_(message)() calls into VG_(maybe_record_error)() calls
b92ff0f : DRD, refactoring: Introduce DRD_(trace_msg)()
ed52992 : Add a new .stdout.exp file, for older glibcs that print negative nans without a minus sign.
147a6a1 : Remove two junk commas that got committed in r12117.
5547572 : Add a new .stdout.exp file, for older glibcs that print negative nans without a minus sign.
5491c55 : Add a new .stdout.exp file, for older glibcs that print negative nans without a minus sign.
206b2b3 : Add a new .stdout.exp file, for older glibcs that print negative nans without a minus sign. (sigh)
f2e8a46 : perf/tinycc.c: Avoid that clang warns about out-of-bounds accesses for array tab[] and also avoid that clang warns about the formatting flag 'L'.
cf0a8b9 : memcheck/tests/unit_libcbase.c: Convert from old-style gcc designated initializers to C99-style designated initializers. According to the gcc manual, the former syntax is obsolete since gcc 2.5 (see also
7d3dd0b : memcheck/tests/err_disable4: Reduce memory footprint further.
d42e873 : include/vki/vki-linux.h: Remove __attribute_const__ definition since it isn't used anywhere inside the Valgrind project.
06e9bf0 : Avoid that using any of the VALGRIND_DISABLE_ERROR_REPORTING, VALGRIND_ENABLE_ERROR_REPORTING, VALGRIND_DO_ADDED_LEAK_CHECK, VALGRIND_DO_CHANGED_LEAK_CHECK macros causes gcc 4.6 to print a warning message about assigning a value to an unused variable.
b728094 : Update Subversion ignore list
b3af9cf : Format functions: change format specifier %t into %pS. Remove the _no_f_c formatting function variants.
4c02d0e : helgrind/tests/pth_barrier*: Update expected output after drd/tests/pth_barrier.c changes
052f591 : Declare _exit as "noreturn". This will avoid a GCC warning.
ad2fc77 : Fix GCC warnings about incompatible pointer assignments.
28936a8 : Declare _exit as "noreturn". This will avoid a GCC warning.
de60fe5 : drd, s390: Make the annotate_ignore_* and the pth_barrier* tests produce the same output on s390 as on other systems (not tested yet).
86781fa : More fixes for unaligned accesses in the debuginfo code. BZ#282527.
8258a3a : ppc64-linux only: fix incorrect line number reports in client requests that create stack traces. Fixes #283243.
d1897e1 : Attempt to unbreak this testcase on systems with GCC 4.5.1 and newer. I suspect the breakage is related to GCC's debug info. Replace initialization with explicit assignment statement.
73cc19e : Change the filter order. Filename base backtrace filtering must come first before the filename gets changed to bogus.S This should unbreak the failure on x86_64. But I can't test it. We shall see.
e140e56 : Update exp files for memcheck's supp_unknown testcase. Promote the s390x exp file to be the golden one because it has the correct result. Add an exp-kfail file for those platforms where the testcase fails (x86).
58a1bf3 : Rewrite badjump and badjump2 such that the error occurs now on the same line for all architectures. Promote the s390x exp file to be the golden one because it has the correct result. Add exp-kfail files for those platforms where the testcases fail (x86).
84ada6b : Change the nightly script to gather information about the run and its environment. Simplify z900.sendmail accordingly.
2fa18d9 : Helgrind and exp-sgcheck, XML error reporting: move the code printing <kind>...</kind> out of a switch statement.
9a8d3af : Fix execve2 testcase. First, due to a typo in it was compiled with the wrong flags. Secondly, the testcase gives an incorrect backtrace on x86 (missing the line where the error occurs). Updated the generic exp to contain the correct result and added exp-kfail for platforms where this test fails.
8e0cc77 : Turns out there is at least one version of glibc tat contains a file name writev.c. This screws our filename based backtrace filtering. Rename writev to writev1 to avoid that problem.
772d9d8 : The testcases execve1 and fwrite actually fail on x86 in the sense that they produce an incomplete backtrace. Added exp-kfail files to capture the results with the incomplete backtraces. Updated the generic exp files.
3dfe979 : Improve filtering of backtrace noise in the memcheck bucket and update exp files accordingly. This works well for x86 and all testcases pass on my machine. New file filter_memcheck to do the work. There is a bit of a ripple here as filter_memcheck requires command line arguments to be passed in. So all users of filter_memcheck (direct or indirect) were updated as well. filter_stderr was simplified as was filter_libc.
3b38c6e : Rename testcase from execve to execve1. The reason is that the point of failure is in glibc in a file named execve.c The backtrace filtering (which is filename based) cannot distinguish the two execve.c file names. Renaming the testcsae does the trick.
ba4ce2f : Fix another read_UInt that should be read_Addr.
e906c64 : Update names of vgdb pipes in documentation. Followup to r12071.
f503645 : Limit number of backtrace frames to 3 so as to avoid junk frames.
2bf2522 : Fix multiple problems with this test:
4b5c3f0 : Also parse stdoutB_filter_args and stderrB_filter_args. Forgot to do that in r12045.
fd892fc : Add read_Addr and use it so that we work on systems where an address is bigger that an int.
b4dd5b4 : Avoid using direct access to read multi-byte values from DWARF files and use read_Type routines instead as they work rather better on strict aligned (or semi-strict a la ARM) machines. Fixes #282527.
4df24de : Use read_UInt to get the CRC as it may not be aligned. Fixes #283154.
d32fb2b : Move read_<type> routines from readdwarf.c to be module level routines in misc.c so that other parts of the debuginfo module can access them.
4f9581e : Ignore the precision flag in the ROUND{SS,SD,PS,PD} rounding mode. Fixes #283000.
ce0657d : Update for x86. r8744 gave mainSort the "noinline" attribute, thereby changing the backtrace. Nox fixed.
2df4eb5 : Add exp file for x86. This test is known to fail on that platform by omitting a frame in the backtrace. Hence, the "kfail" in the file name.
8d85a5f : Update for x86. This should have happened in r11741 which changed the message format.
db8bdd2 : Change the filtering of helgrind's XML output. New file helgrind/tests/filter_xml. Update expected result for tc06_two_races_xml.
960eef2 : Update re OSX 10.7.
bccce90 : * (marginally) fix debug printing for new 10.7 syscalls * also, remove SfMayBlock annotations for those that obviously won't
6828dc7 : arm backend: general (fallback) case handling for 64HLtoV128 (Niall Dalton, Fixes #281836.
8a5c06b : Fix a couple of buffer overruns. n-i-bz. (Philippe Waroquiers,
b578406 : Make wqthread_hijack not assert on x86-darwin. Same hack as for the 64-bit case.
0c865b4 : Use <sys/mman.h> instead of <linux/mman.h> to fix a compile problem on SLES 10. Patch by Rich Coe ( Fixes bugzilla #282238.
ab8630f : Change the name of the pipes for vgdb by adding username and hostname. Those are obtained by looking at some commonly defined environment variables. That should help with problems where /tmp is shared or process IDs get recycled. We had some intermittent nightly build issues because of that. Partial fix for bugzilla #280757.
da91ee7 : Make {amd64,x86}-darwin use the direct implementations of VG_MINIMAL_SETJMP and VG_MINIMAL_LONGJMP introduced in r12067.
a8ca2c5 : Un-break the compiler version check on Darwin (introduced by r12066) without (hopefully) breaking it on any other platform.
adbb491 : Be a bit more careful about the return type for VG_MINIMAL_SETJMP, both the home-grown versions and the versions that feed through to __builtin_setjmp.
fc824cb : x86-linux, amd64-linux: Implement VG_MINIMAL_SETJMP and VG_MINIMAL_LONGJMP directly, rather than using __builtin_setjmp and __builtin_longjmp, since clang-2.9 miscompiles the latter (by completely ignoring it.)
3ab7b66 : Accept clang-2.9 as an allowable compiler.
bd9b731 : Compile everything with -fno-builtin, so as to disable LLVM's idiom-recognition optimisation. This identifies memset-style loops and turns them into calls to memset, which in this case leads to infinite recursion because it does this transformations in VG_(memset), which is called from memset(), which we also define.
95a128b : Fix a regression (none/tests/cmdline[12]) which was introduced by r12063. VG_(clo_vgdb_prefix) was used before it was initialized.
b985e2d : Remove hardwired /tmp directory in vgdb. Honour VG_TMPDIR and TMPDIR which was introduced when fixing bugzilla #267020. Factor out VG_(tmpdir). New function VG_(vgdb_path_prefix). Partially fixes bugzilla #280757.
99b6bde : Fix a NULL pointer dereference issue spotted by IBM's BEAM checker.
fb9c962 : Update how-to-build documentation.
889ffa4 : Add support for hardware-specific ioctl wrappers on Android, starting with those required for the graphics hardware on Nexus S.
a3e7a48 : Android: add wrappers for ashmem and binder ioctls. From the AOSP port of Valgrind.
8dc3282 : Un-break debuginfo image finding on non-Android Linuxes following r12057, duh.
55f2973 : Add a facility for ad-hoc location of debuginfo files on Android. All other platforms are unaffected.
a2b14cc : ML_(read_elf_debug_info): (no functional change, I hope): fix up confusing control flow, by separating the logic for "is there a debuginfo file to be found?" from that of "if a debuginfo file was found, let's record certain facts (section offsets etc) about it."
88d2c09 : Android only: don't ignore zero-sized symbols, since some of them are ones that m_redir really needs to see.
70f291d : arm_linux_android: intercept __dl_strcmp and __dl_strlen in /system/bin/linker, for the usual reason.
a518fb6 : Initial suppressions from Android 2.3.5 (on ARM).
75f107f : Heap profiler: reduce threshold at which a new profile is shown for an arena from 10% to 5%.
27a4db0 : Pretty up the debugging hack that allows printing of stack traces for selected syscalls.
796e4b2 : Re-enable the use of loctab (line number table) trimming, for a 5% to 10% reduction in debuginfo storage requirements for large applications on 32 bit platforms. This code had been present since the MacOSX port was merged but had been disabled. Remove equivalent code for shrinking the symbol tables since they are much (4 x) smaller than the line number tables, trimming them is hardly worth the effort.
f72a28d : run_a_thread_NORETURN: add trashed-register annotations for the magic bits of assembly which finally cause the thread to exit. How this ever worked before, on any platform, beats me. The lack was causing some Android builds to segfault at thread exit. Only the s390 version was correct.
80fc03b : Print a slightly less useless failure message if VG_(mkstemp) fails to create a temp file, as often happens on Android.
6d615ba : Support ARM and Thumb "CLREX" instructions since Dalvik generates them. Mucho hassle for something that is used considerably less often than once in a blue moon.
d043de9 : m_mallocfree.c: generalise 'reclaimSuperBlock' to also reclaim splittable superblocks. Bug #282105.
f79bf6e : Make filter_helgrind executable. Should unbreak the build.
31014da : Change the backtrace filtering machinery for the helgrind regression bucket. Instead of removing what we don't want to see in a backtrace (e.g. path segments through libc and libpthread), we simply keep what we do want to see. That way .exp files can be generic. We need to make sure that GCC inlining does not get in the way. So all the ..._WRK function in hg_intercepts.c are attributed as noinline. The backtrace filtering is done in the new filter_helgrind script. filter_stderr is simplified quite a bit. Fixes bug #281468. See also the comments #5 and #6 there.
ae24058 : Remove code duplication from the dispatchers. Keep the core loop in common. To accomplish that without penalizing the non-profiling dispatcher we do the stats gathering *after* the jitted code returns to the dispatcher. For that to work properly, we need to stash away the instruction adddress before entering the jitted code so we can use it later. (See also VEX r2208).
1b2768a : Add another slot on the stack frame used in the dispatcher. It is used by the profiling dispatcher to store the IA between iterations.
2eeeb9b : Document and assert that needs_self_check of VexTranslateArgs must not be NULL.
540acf5 : Add a couple of spec rules for MI and PL after LOGIC. These are important for avoiding false positives in Android syscall handlers.
26bc482 : Add some counter arrays for profiling N,Z,C,V flag evaluations.
285c24d : Add a couple more spec rules: LO after SUB and GT after SUB.
7b2f8f0 : Enable move coalescing for Neon (vector) moves. Reduces code size by about 10% for Neon-heavy code; gark.
262f5b9 : Fix an obscure type error in printing of Neon instructions, that could cause assertion failures under some circumstances. (How come none of the static checkers etc picked this up before now?)
731f9cf : Add initial support for Mac OS X 10.7 (Lion). Tracked by bug #275168.
94bb772 : Un-break Darwin build following r12041 (creation of struct _DebugInfoFSM)
a5acac3 : A refactoring change; no functional effect. struct _DebugInfo contains a bunch of fields which are used as a very simple state machine that observes mmap calls and decides when to read debuginfo for the associated file. This change moves these fields into their own structure, struct _DebugInfoFSM, for cleanness, so as to make it clear they have a common purpose.
0f4126c : Get rid of DebugInfo::memname, a hangover from the now-removed AIX5 support.
bdba1d9 : Disable sending diffs for the z900 build for now. They are too big to be posted to the mailing list without moderator interaction.
86aabd8 : Fix tc23_bogus_condwait.c testcase for s390x. The testcase used to cause a SIGILL because the address of the bogus mutex 1 + (char*)&mx[0] denotes a memory location that will eventually appear in a compare-and-swap instruction. That insn does not allow memory operands that are not word-aligned. Hence, the SIGILL. With this fix both incarnations of this testcase (in helgrind and drd) pass.
c7b412e : Tweak s390x dispatcher. Using CG elminates two load insns.
21f8bcf : Dispatcher tweak. Saves ALU operation. Suggested by Julian Seward. Implemented by Christian Borntraeger ( See bugzilla #274378
818f17e : Make drd/drd_pthread_intercepts.c compile again on Linux systems without usable <linux/futex.h> header
cfb0e95 : Add exp files for s390x. GCC's use of the MVC insn causes duplicate errors and a different memory access pattern.
44bf066 : Fix the system call wrapper for the clone system call (s390x). Fixes #281883. Patch by Christian Borntraeger (
04abdd7 : Add an .exp for s390x. Certain older kernels had a bug in providing an invalid siginfo for SIGBUS. Hunted down and fixed by Christian Borntraeger (
9eff0d4 : This testcase is sensitive to some sleep period. On slower machines we need to sleep longer. See bugzilla #268623 comment #2. So let's sleep 500ms instead of 100ms, get rid of the load barrier and enable the testcase for s390x again.
bd3b127 : Add more .exp files for s390 due to GCC's use of the MVC insn.
65abb16 : Back out r12026; instead add a new .exp file for s390x.
460ed73 : Add config files for z900 nightly build
bcc95cf : Sensitivity fix. On slow machines (s390x z900) need to sleep longer.
d2ba31c : For s390x we also need to accept a reported size of 1. This is due to older versions of GCC who use the MVC insn for assignments and that creates a sequence of 1-byte memory accesses.
a0b4dbc : Update build instructions.
1891b57 : ML_(read_elf_debug_info): debug printing of program header entries: print file offsets consistently in base 10, not 16.
6e166c2 : ML_(read_elf_debug_info): if we exit from this routine via the BAD macro, set di->soname back to NULL, so that if we later reenter with the same 'di', we don't fall over the initial di->soname == NULL assertion.
d8b9346 : Avoid excessive fragmentation in m_mallocfree by munmapping unused superblocks in some circumstances (second attempt). Bug 250101 comment 15. (Philippe Waroquiers,
320dee2 : Properly preserve FP registers (and, more generally, the entire guest state) across signal deliveries. Fixes #281488.
79bb249 : Additional .exp file for s390x.
75fc67d : Disable testcase on s390x. Still hangs occasionally.
bed336a : Fix testcase for s390x. Provide implementation of XCHG_M_R.
0c48442 : Add a prerequisite because drd/tests/annotate_smart_pointer is not always built.
d809dcc : Add config files for nightly s390 builds.
6ad4952 : Use mkite throughout.
7dbbd19 : Support CLCL and MVCL instructions. This is the non-VEX part. Fixes #279027. See VEX r2200.
b0c9a13 : Support CLCL and MVCL instructions. Based on a patch from Divya Vyas ( with several changes. Fixes #279027.
ce6489f : Make some vgdb interface to callgrind_control internal
2364227 : Allow overriding not-supported auto-detected cache configs
55cade6 : Change get_svn_revision to also work with older subversion releases that do not allow specifying a revision with svn info.
c5077b9 : Print the (pseudo-)soname when doing debug printing for Mach-O debuginfo reading.
4157d4f : * whitespace changes
3c94445 : For intercepts in libc and the dynamic linker ( or dyld), split the Linux and Darwin definitions so they are in completely separate ifdefs -- iow, remove any definitions that are common to both. This gives some duplication, but the upside is that it is now possible to edit the Darwin intercepts without fear of breaking the Linux ones. This will be important when it comes to supporting OSX 10.7.
58bec1c : Avoid hanging on older s390x systems. See also bugzilla #268623 comment 3.
2062dc6 : Add support for IBM Power ISA 2.06 -- stage 3 -- Test cases. Bug 279994 comment 2). (Maynard Johnson,
169ac04 : Add support for new primops added in vex r2199. See Bug 279994 comment 1. (Maynard Johnson,
e71e56a : Add support for IBM Power ISA 2.06 -- stage 3. The purpose of this bug is to add support for the third and final subset of the new instructions in IBM Power ISA 2.06 (i.e., IBM POWER7 processor). (VEX changes. Bug 279994 comment 1). (Maynard Johnson,
258ede7 : Add support for s390x model z114. See also VEX r2198
87b48b6 : Add support for s390x model z114.
863f1eb : drd: Yet another regression test reliability improvement.
3f5c03b : Support "ENTER $imm16, $0"; some part of the OSX 10.7 library stack needs it (I forget which bit).
5cbd26e : drd: Avoid reporting false positive race reports inside pthread_join().
028ad92 : fix the suppressions to also match
be2fe8d : Make a copy of any environment string we are going to modify when we are cleaning up the environment before an exec, otherwise we will seg fault if the string is read only. Fixes #270326.
70d71c7 : Fix link error for 32-bit build on OSX 10.7 (Lion). This is the failure referred to in #275168 comment 0.
25f8a7e : Remove the svn:executable property from a source file
14a8178 : Make sure this gets built with -fomit-frame-pointer, even on x86-linux, where it otherwise wouldn be. On x86-linux running Memcheck, gives a 6% instruction count reduction and a 10% reduction in memory traffic. (Duh!)
2b451ba : memcheck/tests/linux/timerfd-syscall: Avoid failure on heavily loaded systems
603896c : Add more info about cache sizes.
d6b43fd : Support alternate (C0 /6) encoding of SHL on x86 and amd64. Fixes #209995.
c542ba4 : Make callgrind report the detected cache configuration as well.
d5c948f : Report the detected cache configuration with "-v -v" before we validate it to make validation failures easier to diagnose.
81c22f0 : Fix panic message.
cc3de2d : Add a new simulation hint, --sim-hints=fuse-compatible, which causes a bunch of file-related syscalls to be handled on the might-block syscall path rather than the fast syscall path. This fixes deadlocks when running some FUSE-specific filesystem codes. Fixes #278057. (Mike Shal,
c9b0854 : x86-linux: don't add redirections for strchr/index in since they are already hardwiredly-redirected at startup, and so these are redundant.
9604484 : Extend the behavioural-equivalence-class mechanism for redirection functions to include the ability to give a priority to each function, as well as a tag indicating its behavioural class. Add logic in m_redir.c to resolve conflicting redirections with the same eclass but different priorities by preferring the redirection with the higher priority. Use all of the above in mc_replace_strmem.c, to cause a conflict between redirections for "memcpy" and "memcpy@GLIBC_2.2.5" to be resolved in favour of the latter (the non-overlap-checking version).
863ab7c : Don't compare src and dst to work out which direction to iterate in for a memcpy/memmove if the length is zero. Fixes #268563.
4c89b2f : Temporary partial backout of r11911 (fix for #250101) pending investigation of assertion failures listed at #250101 comment 12.
d88797f : Redirect memcpy@@GLIBC_2.14 differently from memcpy@GLIBC_2.2.5, so as to retain overlap checks for the former whilst skipping them for the latter. Pertains to #275284. (Tom Hughes,
14127d6 : Improvements to debug printing with -v -v. (Tom Hughes,
7696726 : Un-break the build on OSX following r11985.
bd2cff2 : Fix for #275284 (initial fix, at least). Will break OSX; fix to follow.
85cf900 : Add more infrastructure to be used for fixing #275284 (Valgrind memcpy/memmove redirection stopped working in glibc 2.14/x86_64), but don't fix the problem yet. Should be no end-user visible change.
270e2a3 : Add missing break statements to example code. Fix to #264644.
c448a64 : Un-break the build on OSX following r11981 (Remove the assumption, in m_debuginfo, that each address is associated with only one symbol.)
a5cace0 : Remove the assumption, in m_debuginfo, that each address is associated with only one symbol. Instead, allow an address to have arbitrarily many names. This reflects reality better, particularly for systemy libraries such as glibc and, and is background work needed for fixing #275284. This is not in itself a fix for #275284. A followup commit to un-break compilation on OSX will follow shortly.
fca8f5f : Add support for FBIOPUT_VSCREENINFO and FBIOPAN_DISPLAY ioctls.
0e1b0c2 : Mention the --tool option in the manual page. Fixes #249970.
164d2fe : Include the standard Fedora location in the list of places where we look for the docbook stylesheet for manual pages.
e581bad : Correct the calculation of the size of the node mask given to the mbind, set_mempolicy and get_mempolicy system calls.
dcb03ea : memcheck/tests/sbfragment: Make this test pass on Darwin
cf16cee : Follow-up for r11971
3c83687 : Complain if invoked from the wrong directory or if mandatory argument is missing.
5ad3d56 : Fix VKI_FIOQSIZE definition on ppc platforms.
4b03d39 : vgdb: Unlink pipes and mapped file before (re)creating these.
b5cb85f : Update expected output
68964c2 : memcheck/tests/sbfragment.c: Only use mallinfo() if available.
ce83509 : Add test for address size override prefixes for REP prefixed string instructions on amd64. Fixes remaining issues from #211371.
5cdf4e3 : Support an address size override prefix for REP prefixed string instructions on amd64. Fixes remaining issues from #211371.
7aac06f : drd/tests/pth_barrier: Reduce stack usage
4b82d69 : Check return code of pthread_create and bail out if the function failed. This helps on systems which don't have lots of memory. Suggested by Christian Borntraeger.
469bd1e : Non-VEX changes to fix #275517. Add testcase and announce fix in NEWS.
a4384a3 : Add support for CKSM. Patch by Divya Vyas ( with modifications. Fixes #275517.
a5e13dd : Make do_mremap only check new_addr for wraparound if MREMAP_FIXED was fixed, as new_addr may be meaningless otherwise. Fix to #204484.
e3aa016 : Support FEMMS in x86 mode as we already do for amd64. Fix for #204574.
74dc34f : Due to a kernel bug the siginfo struct was not filled in correctly. The si_code was incorrect not matching any of the VKI_ILL_.... cases checked in m_signals.c function default_action. So let's have two expected output files for buggy kernels and otherwise. Also, add op00 to the list of files to be ignored.
6bf71ef : Add support for the FIOQSIZE ioctl. Fixes #270320.
ebfd3a8 : Add tests for XCHG AX, reg16 on amd64. Fixes #252695.
0fb4cbd : Support XCHG AX, reg16 on amd64. Fixes #252695.
0a83e7f : Wire up pselect6 on ppc32 and ppc64. Fixes #278078.
5d77010 : Support the F_GETPIPE_SZ and F_SETPIPE_SZ fcntl calls. Fixes #278349.
5ba9530 : Make sure the post handler for mincore is called in amd64 and s390 as it already was on other platforms. Fix to #279795.
84c90e6 : Followup to VEX r2189 -- handling invalid opcode 00 specially. Update golden log for testcase op_exception which no longer complains about invalid opcode 00. Add testcase op00.c
63d834e : Supplement to r2189. Provide dummy function definition for non-s390 hosts.
30e8901 : Handle the invalid opcode 0000. This is sometimes used by applications on purpose. Although never executed, we might still decode it because of chasing unconditional goto/calls.
830ca9e : I am an idiot: remove the beginnings of an experimental tool that I accidentally committed.
dfa408c : Fix a Massif bug: when realloc'ing a block, any values in the part of the block beyond the original request weren't copied. They are now. This is important because a program could use malloc_usable_size to gain legitimate access to those extra bytes.
e050e6b : Announce fix for #279062
7a08c10 : Remove a redundant check. Found by Coverity. Patch by Jakub Jelinek ( Fixes #279062.
2c8ed94 : For a special opcode the address of the next insn was not computed correctly. It would point to an insn in the middle of the the pattern that identifies a special opcode. That didn't hurt much but was confusing. Now fixed.
f897b99 : Fix prerequisite for memcheck/tests/linux/timerfd-syscall. The testcase was executed despite uname -r being 2.6.9-42.EL Extend tests/os_test.c to take an optional 2nd argument which is a minimum version number. Use os_test in the prerequisite expression.
b0c1ed8 : Fix an assert. This occured when we were chasing a branch insn (thereby setting the disassembly result to Dis_ResteerU and the continueAt field to something non-zero) and later changing the result kind to Dis_StopHere (because the next insn is an EX insn). The ContinueAt field remained non-zero in the case causing an assert down the road. This should fix the failing test memcheck/tests/linux/timerfd-syscall
c2f5a53 : Yet another thread test scheduler sensitivity fix
72e4063 : Nightly build: Rename the attachment diffs into diffs.txt such that it can be viewed easily with an e-mail client.
d378eaa : drd: Make racing pthread_barrier_wait() calls trigger an error message instead of an assertion failure. Also, make barrier tracing output more detailed.
47c7580 : drd/tests/pth_barrier_thr_cr: Suppress pthread_barrier_wait() race reports since these are triggered intentionally.
6c73cf6 : drd/tests/pth_barrier_thr_cr: Add more error checking.
dc429d1 : Avoid that compiling memcheck on 32-bit systems triggers a compiler warning
512a378 : drd/tests/tc21_pthonce: Eliminate output variation
0478bff : Update Subversion ignore list
d61580e : drd: Fix a race condition in the barrier implementation that could result in false positives.
b56542a : drd: Add a stress test for the barrier implementation
cdc3fdb : drd: Remove an unused member variable from the barrier implementation
178b686 : drd: drd_thread.c source code cleanup
3e928c3 : drd, bitmap node allocator: recognize root node size properly
b6230df : drd/tests/pth_barrier[23]: Filter output such that only the error count is kept
4651e97 : Yet another thread test scheduler sensitivity fix
d65009d : drd/tests/pth_once: Restrict the number of callers to three.
1f4f300 : drd: Remove a too strict assert() statement
9e71885 : Yet another thread test scheduler sensitivity fix
f58eb29 : drd/tests/pth_detached_sem: Send regression test output to stderr instead of stdout
2ea041a : Yet another threading tool regression test scheduler sensitivity fix
689a868 : Verify drd/tests/pth_detached stderr output instead of the stdout output.
745bfbc : Yet another regression test scheduling sensitivity fix
b040454 : Two more scheduler sensitivity fixes for thread tool regression tests
a4cd017 : Micro-optimize the matinv regression test
d1a5cd6 : drd: Make drd_pthread_intercepts.c compile again on systems where FUTEX_PRIVATE_FLAG has not been defined in <linux/futex.h>, e.g. older System z systems.
8dc52aa : Make test 1 output independent of scheduler variations.
30efc13 : Revert r11916, r11917, r11918 and r11923.
6d956dc : drd: Delay deletion of memory access information of joined threads in order not to miss any races caused by these threads.
cfca2d4 : More thread test scheduler sensitivity fixes
5fcbba2 : Do not access addresses that belong to the client executable. It might not be there when we use VEX outside valgrind.
db57889 : Eliminate a superfluous sleep() call and check the pthread_cond_wait() return value
ac39dee : More thread tool regression test scheduler sensitivity fixes
0bb3c67 : Rename some local variables 'signal' to 'zignal' since gcc complains they shadow global function signal() on OSX 10.6.
e3436cd : Un-break the build on OSX following r11910.
651f56b : drd/Linux: eliminate busy waiting when starting a thread
9283db1 : drd: Add a suppression pattern
0a29cbc : drd/tests/atomic_var: Reduce scheduler sensitivity
e6cb2df : Disable drd/tests/tc19_shadowmem because too scheduler sensitive
a3bf44a : helgrind/tests/tc08_hbl2: Reduce scheduler sensitivity
21aa17f : Unbreak lackey --detailed-counts=yes after r11604
06f54d1 : Update Subversion ignore list
0d03bd4 : valgrind.h: Remove a superfluous cast. See also #278454.
fd5e535 : The cmpxchg16b tests in this need to have 16-aligned addresses; make it so. Else they die with segfaults on F15.
45264af : Avoid excessive fragmentation in m_mallocfree facility by munmapping unused superblocks in some circumstances. Bug 250101 (==269884, ==275852) (Philippe Waroquiers,
dc873c0 : Add a new client request and pair of macros, VALGRIND_{DISABLE,ENABLE}_ERROR_REPORTING, which allow a thread to temporarily disable reporting of errors it makes. This is useful for making Memcheck behave sanely in the presence of some MPI implementations. Also mark up libmpiwrap.c accordingly.
d99bad8 : Change this file to be a symlink to the identical version in the 32-bit equivalent directory (none/tests/ppc32/test_isa_2_06_part1.c). Bug #277199.
ab85310 : Add support for IBM Power ISA 2.06 -- stage 2 (testcases). Bug 276784. (Maynard Johnson,
a201c45 : Add support for IBM Power ISA 2.06 -- stage 2 (handle new primops in Memcheck). Bug 276784. (Maynard Johnson,
4aa412a : Add support for IBM Power ISA 2.06 -- stage 2. Bug 276784. (Maynard Johnson,
51d26fd : Comparing a boolean value for != 0 yields a result that is identical to the value being compared. So we can simplify e.g
420c501 : Remove a redundant assert. Minor code tweaks.
2895832 : Neon loads/stores: rename some vars, plus the main function, and add comments. Non-functional change.
722be39 : Update ugly Callgrind hack for supporting instrumentation modes
e5704c9 : callgrind_control: fix parsing of vgdb -l
ea7eab7 : Add algebraic simplification as follows: Add64(0,x) ==> x Add32(0,x) ==> x Sub64(x,0) ==> x
130f6f5 : DWARF comparisons should be signed. Patch from Jakub Jelinek.
7f5a841 : Add support for Thumb2 encodings of PLD and PLDW. Bug 277653. (Mans Rullgard,
24ec9f8 : Add test cases for bug 277780. (fix for VMOV.F32). Bug 277780. (Mans Rullgard,
f755839 : Make VMOV.F32 load the correct value into the destination register. Bug 277780. (Mans Rullgard,
b706a0f : Fix BLX r14 in ARM mode, which was broken due to incorrect sequencing of guest r14 reading vs writing. Thumb mode does not have the same problem. Bug 277694. (Mans Rullgard,
e8c5c38 : Fix regtest: the delta value printed by the VSTn with register post-index is bogus due to an accidental stringification in the macro. Bug 277689. (Mans Rullgard,
11b4067 : Add test cases for NEON VMUL by float scalar. Bug 277663. (Mans Rullgard,
a561f89 : Fix NEON VMUL by float scalar. Bug 277663. (Mans Rullgard,
d3b1e1c : Update list of files to be ignored by svn.
a99f20e : Update a FIXME. Should have been included in r2174
a64c243 : VEX-side changes to enable chasing of unconditional jumps/calls for s390x. See also valgrind r11899.
cabcace : Enable chasing of unconditional jumps/calls for s390x. Tune function chase_into_ok to not chase into EX/EXRL insn. Observed speedups on performance tests were: none -6% ... -12% memcheck -3% ... -8%
e35e9d8 : drd/tests/annotate_smart_pointer2: Filter out offset
04a26c2 : Add gdb.pic to the Subversion ignore list
b6c51bf : drd: add a test that verifies that a race is reported for the annotate_smart_pointer test program with annotations disabled
19aa392 : drd/tests/annotate_smart_pointer: remove a superfluous initialization
f9b1d73 : Cast llseek argument to avoid warning.
c17c6ef : Allow core dumps on 32 bit architectures to go over 2Gb in size. BZ#277610.
1763e81 : Make the location for temporary files configurable at runtime. To that effect observe the environment variable TMPDIR. If defined, its value takes precedence over VG_TMPDIR. Because the directory name is no longer a compile time constant, VG_(err_config_error) was changed to take a variable argument list. Fixes #267020.
e7f8f3f : Reinstate inclusion of signal.h, removed in r11886.
56501b6 : Reinstate inclusion of unistd.h, removed in r11886.
4966542 : Un-break the build on most platforms following r11888. Oops.
37ed97b : Add a file containing information on how to cross-compile for Android.
126e82d : Fix up preload code so that on Android it doesn't try to call anything else -- that seems to give a runtime link failure. In particular, avoid calling _exit, getpagesize or __libc_freeres.
cbe3850 : Fix Linux build breakage caused by header rearrangement in r11885, sigh.
0ba37c9 : Build system fixes so as to temporarily disable the GDBserver on Android. Making that work will require a bit of extra effort due to minor glibc-vs-bionic differences.
ca8d94a : Conditionalise code that uses some ELF constants that Android doesn't know about, and remove three unnecessary #defines.
b09d0ad : Disable stabs reading on Android; it's uncompilable, and there's no point.
5d28969 : Make this compilable on Android.
9db56ae : Allow selection of an alternative location for temporary files at configure time, via the --with-tmpdir flag. The part of this was mistakenly committed already in r11872 as first hunk of the change. Bug 266035 comment 11. (Kenny Root,
6a1ec6b : Duh, do r11879 correctly (Android doesn't have an auxv entry called AT_FPUCW.)
c19a5b0 : Android doesn't have an auxv entry called AT_FPUCW.
aff0967 : Ignore ELF phdrs that have a p_memsz of zero, as appears to happen on Android. Bug 266035 comment 30. (John Reiser,
5138111 : /bin/sh lives at /system/bin/sh on Android.
211c253 : Stop gcc on Android giving bogus function-has-no-return-value warnings.
0c09bf0 : The pthread.h on Android has no definition for pthread_rwlock_t, which makes the associated intercepts in Helgrind and DRD un-compilable. Add a configure test for it, and use them to guard the aforementioned intercepts.
c644459 : Pass platform-variant tags (-DVGPV_blah_blah_blah) to regtest compiles. Also, fix some $(NAME) stuff which looks like it should have been @NAME@ all along.
a9b1e65 : Add a suppression file for Android's libc (bionic).
cb495c8 : Introduce the concept of platform variants. These allow further qualification of the normal (arch, os) pairings used to factorise the code base via the VGP_ defines. With this change, a new define VGPV_<arch>_<os>_<variant> is also passed to each compile. The initial motivation is to allow clean factorisation of Android-specific code, which is a minor variant of arm-linux, without having to introduce a complete new platform. In all other cases the supplied tag is simply "vanilla".
5f7a1a2 : Handle sigaction, sigsuspend, sigprocmask on arm-linux; comment-only changes for x86-linux and ppc32-linux. Derived from patch in bug 266035 comment 10 (Jeff Brown,
de9264c : Remove identical copies of convert_sigset_to_rt, PRE(sys_sigaction) and POST(sys_sigaction) in syswrap-x86-linux.c and syswrap-ppc32-linux.c, and replace them with a single version in syswrap-linux.c instead. Derived from patch in bug 266035 comment 10 (Jeff Brown,
20d702d : drd/tests/matinv: Add missing return statement in an error path.
e1dc03d : Remove a commented-out copy of the sys_sigaction wrappers that also are duplicated for x86-linux and ppc32-linux. (No functional change.)
3b49554 : Tighten up an instruction decoding exception for add.w reg, sp, #constT.
b934b19 : Port callgrind_control to vgdb
584c9ef : callgrind: add vgdb commands needed for porting callgrind_control
9bd30a8 : Add / fix up test cases for {LD,ST}REX{,B,H,D} on ARM. Works for both ARM and Thumb encodings.
ff7f5b7 : Complete the implementation of ARM atomic ops: {LD,ST}REX{,B,H,D} in both ARM and Thumb encodings, for NEON and non-NEON capable backends. Bug 266035 comments 4, 43, 51. Derived from patches by Jeff Brown <>, Igor Saenko <> and Dr. David Alan Gilbert <>.
036113b : Valgrind-side changes to fix bug #271776. Add testcase for s390x's STFLE instruction. Patch provided by Divya Vyas <>
933065d : Support the STFLE instruction via a dirty helper. VEX-side changes to fix bug #271776. Patch provided by Divya Vyas <>
3f52be4 : Add regression tests for {ADD,SUB}W reg, reg, #uimm12 (vex r2170)
dbf3d59 : Add support for Thumb ADDW reg, reg, #uimm12 and SUBW ditto. Bug 266035 comments 7 and 8. (Jeff Brown, and Kenny Root.)
ec82dd9 : Allow optional specification of cpu models on the command line and test whether the host machine matches one of those. This is needed to fix Bug #271776.
51331e1 : Pipe CFLAGS through to the compile run for genoffsets.c, which is a bit special. CFLAGS is already piped through to everywhere else. This is needed for working with semi-broken cross-compile setups that need CFLAGS set to special values in order to work.
0cd7473 : Add a spec rule for NZ after LOGICQ, whilst chasing after a strange interaction between Memcheck and Clang-generated code.
8bb4d8f : Move the break out of the braces so that we don't fall through into the next case when no argument was given to the ioctl.
7420e0a : Don't allocate the XArray for the text version of the suppression until after we've checked if the tool will allow the error to be suppressed, or we will leak it if we do the early return.
0610882 : Disable stabs reading on ppc64-linux; it always segfaults.
63b52cf : Enable testing of fres{.} and frsqrt{.} instructions. Fixes #275308. Based on a patch by Maynard Johnson <>.
0b98239 : Implement some extra DWARF ops that gcc 4.6.1 seems to use. Fixes #275284.
87cd71c : Make the wait-for-gdb delay loop somewhat more modern-compiler-proof.
a8f761b : Improve debug printing for ELF program header analysis. No functional change.
e88b3c9 : Rename S390_GUEST_OFFSET to S390X_GUEST_OFFSET and use it throughout.
b4df768 : Misc s390x cleanups - Give more functions internal linkage - Remove unneeded tag names
f5194b3 : GDB server: fix tests following recent commits. Fixes #276987. (Philippe Waroquiers,
66c8c9b : Thumb2 front end: improved analysis of IT instructions that might guard the one being translated, with the goal of proving this isn't the case more of the time. Reduces the amount of generated code by about 10% with --tool=none, and performance improvements (also with --tool=none) of up to 25% have been observed.
de71c5c : Update Subversion ignore lists
ac5b95b : drd: Source code cleanup - merge two blocks of tracing code
43ab339 : drd: Source code cleanup - outdent a code block
c6861b7 : drd: Simplify a boolean expression
4b3fdb2 : drd: Source code cleanup - change two variables from int to bool and outdent one code block
f5fe4b6 : drd: Add an assert statement
2e12560 : drd: remove a duplicate tl_assert() statement.
e1ce4e1 : Synch s390x system call list with linux
30b3eca : valgrind and tool mon. cmds prefixes changes + doc fixes + new vgdb option --cmd-time-out
cdd1ee7 : Another make dist fix.
6e9de46 : Delete the AIX5 port. The last release this worked for is 3.4.1, and then only on AIX 5.2 and 5.3.
a5d978e : Fix 'make dist' following recent gdbserver commits.
9679518 : Suppress warning about associativity change for tests
b338a85 : Remove references to Ptrcheck in the documentation, and replace them as relevant with references to SGcheck.
c8bd1df : Memcheck: * add delta leak checking functionality * some editing of related manual sections (Philippe Waroquiers, Bug 214909 comment 105.
b2572b5 : GDB server: * Fix bug in logic related to signal-passing * use SIGSTOP instead of SIGTRAP (avoid race condition) (Philippe Waroquiers, Bug 214909 comment 109.
2a31239 : Add support for PIC executables (e.g. firefox on Ubuntu 11) by adding the "auxv" protocol packet to gdbsrv. (Philippe Waroquiers, Bug 214909 comment 108.
45fa417 : GDB server: * fix error in usability msg * make a test more deterministic (Philippe Waroquiers, Bug 214909 comment 107.
e81a454 : Minor documentation fixes for the GDB server. (Philippe Waroquiers, Bug 214909 comment 106.
3a58b89 : Announce fix of #275710
35da861 : Get rid of redundant address mode calculation. Fixes #275710. (Christian Borntraeger <>)
eb67dbf : Get rid of some compiler warnings. Fixes 275339 (Christian Borntraeger <>)
efc9bd7 : Update ignored files for exp-sgcheck.
0fe0dcc : Update ignored files for s390x
c112c8e : Fix #undefs that are inconsistent with those further up the file, as spotted by Michael Meeks.
70ceabc : Documentation updates for Helgrind.
7313524 : Add tests for displaying of locks held by threads in races.
e723d42 : Fix up the remaining .stderr.exp-s following r11824 (merge of branches/HGDEV2), and delete some redundant ones
9af8d1e : Fix a bunch of helgrind .stderr.exp-s following r11824 (merge of branches/HGDEV2)
ffce815 : Merge the contents of the HGDEV2 branch into trunk: * performance and scalability improvements * show locks held by both threads in a race * show all 4 locks involved in a lock order violation * better delimited error messages
c8c98fa : Update ignored files for VEX.
6e18a08 : Fix ignores for Darwin.
1568e17 : Minor GDBserver source tidying. Also a small usability fix: if --vgdb-error=N is specified, print a bit of text telling the user the magic commands to give GDB in order to attach to the process.
350c0fe : Move the GDBserver documentation from the "Valgrind core" chapter to the "Valgrind core: advanced topics" chapter.
995c67f : Edits for the GDBserver documentation.
7ee7d85 : Track vex r2163 (en-mass renaming of vector narrowing and widening primops)
5f438dd : Rename and rationalise the vector narrowing and widening primops, so as to give them a consistent, understandable naming scheme. Finishes off the process that was begun in r2159.
9ee696a : Reduce warning noise (make it in line with main Valgrind build)
1ac2110 : Fix safe_fd exhaustion in fork chain caused by non closing of shared_mem_fd
bb0f6f4 : Unbreak Altivec code following vex r2159 (renaming of vector saturating narrowing primops)
718305c : Unbreak Altivec support following r2159 (rename of saturating narrowing primops)
2a25889 : Valgrind-side fixes and tests for PACKUSDW, to track r2160.
2260b99 : Implement PACKUSDW (SSE4.1). Fixes #274776.
fe7fd4b : Add debugging hack, if 0'd, to print a stack trace at each syscall.
9beeb0a : Track renaming of vector saturating narrowing primops in r2159.
c9bff7d : Partially fix underspecification of saturating narrowing primops that became apparent whilst looking into the problem of implementing the SSE4 packusdw instruction. Probably breaks Altivec.
7a9ff4c : Add rough list of bugs that have been fixed since 3.6.1 (74, + 3 n-i-bz, probably some more I missed)
aebbf1c : Try to handle LL caches which are of size 50% above a power of 2 (eg, 6MB, 12MB) and have a non-power-of-2 number of sets.
ca7cf38 : Add cpuid cache values from Intel SDM 5/11
ad8a591 : Teach cachegrind/callgrind how to parse the cache description in the CPUID data on recent Intel processors.
7c0f639 : Use the precomputed sets_min_1 value consistently when masking off bits from an address to find which cache set it is in.
50bd6bf : Fix perf_event open on s390.
9fd3c51 : Fix some warnings I introduced in r11804.
46d02ab : Add support for prlimit64 on x86 and amd64.
22c2caa : Update system call lists to match current kernel source.
c8232f9 : It seems that the perf_counter_open system call was renamed to perf_event_open some time after we added it, so correct the name wherever it appears to match the current kernel source.
b0473e9 : Add a simple but (to me, at least) useful thing, if (0)'d by default, to print a line of text approximately every 20 million SBs. This is useful for monitoring the progress of long running programs.
bb748cb : Define _GNU_SOURCE for access to CLONE_XXX flags with gibc 2.14 headers.
eb16f33 : Fix the computation of debuginfo bias values, in the case where the debuginfo object has been not been prelinked but the main object has. Fixes a segfault observed running any C++ application (eg, drd/tests/annotate_smart_pointer) on Fedora 14 (32-bit), when the debuginfo RPM for libstdc++ is installed.
cc07741 : Add glibc 2.14 support. Patch from Dmitry Djachenko <>.
bbfcb26 : find_nsegment_idx: double size of the lookup cache in an attempt to mitigate the probable increase in miss rates resulting from r11798 (which causes increased numbers of such queries).
6dbcc63 : Add a fourth --smc-check= variant, --smc-check=all-non-file. This adds self-modifying-code checks to all guest code taken from mappings which are not file backed, but omits checks in code from file backed mappings. This has the effect of giving complete smc-coverage of JIT generated code -- since that is invariably generated into anonymous mapped areas -- without burdening non-JIT generated code with such checks. Running Firefox 6, --smc-check=all-non-file reduces by a factor of between 3 and 10 the number of translations requiring a self check, compared to --smc-check=all. These changes depend on the vex interface changes in r2158.
bc161a4 : Change the interface to LibVEX_Translate slightly, so as to make the generation of self-modifying-code checks more flexible. With this change, the decision about which parts (extents) of the newly created IRSB need self-checks is deferred until after the IRSB has been created. This allows the caller to decide, for each extent individually, whether it needs a self-check, and the caller can make those decisions based on the addresses of the guest instructions in the extents.
e430418 : Add some more spec rules, for performance purposes: * S and NS after LOGICL * BE after SUBB * B after SUBL
9cc2bbf : Improvements to code generation for 32 bit instructions. When appropriate, generate 32 bit add/sub/and/or/xor/cmp, so as to avoid a bunch of cases where previously values would have been widened to 64 bits, or shifted left 32 bits, before being used. Reduces the size of the generated code by up to 2.8%.
2d6e6e7 : Mention the "3.x" Linux kernel version explicitly in the kernel version configure message
0419e51 : Make Valgrind build on Linux kernel 3.0 and beyond. Closes #274926. An official statement that the Linux kernel 3.0 API and ABI is compatible with Linux kernel 2.6 can be found here:
feb1566 : Followup fix to r11794 (generalise processing of PT_LOAD entries): change some incorrect "rx->bias" (which due to lameness of C's type system was valid) to "inrx->bias".
2b74f45 : ML_(read_elf_debug_info): when processing PT_LOAD entries from the program header, don't make the following assumptions
fc5ff1f : On arm-linux, give gcc "-mcpu=cortex-a8" so as to persuade it to accept the armv6t2 (I think) insns (movt, movw) in dispatch-arm-linux.S. Some older gccs apparently think they are compiling for armv6 by default and reject them (gcc 4.4.1 on Ubuntu 9.10, for one.)
de92fef : Add file missing from r11791 due to insufficient coffee. #214909 c 101. (Philippe Waroquiers,
7629180 : More gdbserver test fixes, from #214909 c 101: fix mcsig(no)pass on arm Ubuntu10, arm thumb internal doc, improve simulate_control_c
452e89a : Handle ELF objects with two .eh_frame sections. This fixes a problem handling when linked by gold on x86_64. (n-i-bz)
52805ff : Un-break all non x86/amd64 targets following r11786, duh.
729fca5 : Un-break Darwin build following r2155/r11786 -- use dual-entry dispatchers for x86 and amd64, and add corresponding improvements.
aeff9fd : Remove a load from the s390x dispatcher loop, as per r11781. (Florian Krohm <>). #274378.
1274027 : Give the amd64-linux and x86-linux dispatchers two entry points, not one, so as to avoid a GSP-changed check in the common case. See vex r2155. (amd64-darwin and x86-darwin are now temporarily unbuildable.)
010ac54 : x86 and amd64 back ends: when generating transfers back to the dispatcher, generate a jump either to the unassisted (GSP unchanged, the common case) or assisted (GSP changed, request some action before continuing) dispatcher. This removes two instructions per dispatch for the common case. Changes for all other targets are interface-only changes due to change in type of the emit_XXInstr functions.
d4da361 : dispatch-x86-linux.S: use test-based detection of GSP pointer changes. Saves one load per SB.
c060fe8 : Undo bogus comment changes committed in r11783.
155ffd6 : Test for guest-state-pointer changes by checking its lowest bit. Removes one memory reference from the dispatcher loop. As per r11781 for arm-linux.
80e88b0 : Fix ppc64-linux build following introduction of IRStmt_Mark::delta in vex r2153.
1ceb75b : Comment-only change.
dc4f2e7 : Remove another memory reference from the arm dispatcher loop, by using the fact that all {VG,VEX}_TRC_VALUES have their lowest bit set. All other targets can benefit from this trick too.
40f7954 : Get rid of a bunch of loads in the arm dispatcher inner loops, and make some attempt to schedule for Cortex-A8. Improves overall IPC for none running perf/bz2.c "-O" from 0.879 to 0.925.
6b7357b : Further fixes for GDB server on Thumb code:
2f10aa6 : Add a field 'UChar delta' to IRStmt_IMark, and use it to carry around the T bit for the instruction when the instruction is a ARM/Thumb. This more or less avoids introducing Thumb specific hacks in the IR, yet makes it possible to identify, from an IMark, whether it refers to a Thumb or ARM instruction. This is important for the GDB server integration to work properly on Thumb code.
53304a5 : DRD: eliminate two redundant global variable definitions. See also #273536.
2dafc54 : Define pass_signals[] only once such that Valgrind can be built with -fno-common. This is a modified version of the second patch attached to #273536.
6b25437 : Follow-up for r11770: added missing 'void' keyword.
ce03b75 : Reverted r11774 because it didn't make sense.
15ebee4 : Added missing extern keywords. Patch provided by Daniel Richard G. - closes #275536.
d0174ca : Updated Subversion ignore list.
73787c1 : gdbserver: (#214909 c 91) add cleanup: line to none/tests/require-text-symbol-2.vgtest In case Valgrind terminates abnormally, then no cleanup is done. In this case, the abnormal termination is in the test which checks --require-text-symbol=:**:doesntexist This patch adds a cleanup: line to the test.
997546c : gdbserver: (#214909 c 82)
d142f99 : gdbserver: misc fixes (#214909 c 77) Fix some tests on ppc-debian6,s390x + handled Nick Nethercote, Josef Weidendorfer comments
f071e5e : drd/tests/pth_detached.c: eliminated thread_arg[] array and introduced PTHREAD_STACK_MIN.