ed39800a83baf5bffbe391f3974eb2af0f415f80 |
|
21-Jun-2017 |
Elliott Hughes <enh@google.com> |
Upgrade to valgrind 3.13.0 (15 June 2017). Release 3.13.0 (15 June 2017) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.13.0 is a feature release with many improvements and the usual collection of bug fixes. This release supports X86/Linux, AMD64/Linux, ARM32/Linux, ARM64/Linux, PPC32/Linux, PPC64BE/Linux, PPC64LE/Linux, S390X/Linux, MIPS32/Linux, MIPS64/Linux, ARM/Android, ARM64/Android, MIPS32/Android, X86/Android, X86/Solaris, AMD64/Solaris and AMD64/MacOSX 10.12. * ==================== CORE CHANGES =================== * The translation cache size has been increased to keep up with the demands of large applications. The maximum number of sectors has increased from 24 to 48. The default number of sectors has increased from 16 to 32 on all targets except Android, where the increase is from 6 to 12. * The amount of memory that Valgrind can use has been increased from 64GB to 128GB. In particular this means your application can allocate up to about 60GB when running on Memcheck. * Valgrind's default load address has been changed from 0x3800'0000 to 0x5800'0000, so as to make it possible to load larger executables. This should make it possible to load executables of size at least 1200MB. * A massive spaceleak caused by reading compressed debuginfo files has been fixed. Valgrind should now be entirely usable with gcc-7.0 "-gz" created debuginfo. * The C++ demangler has been updated. * Support for demangling Rust symbols has been added. * A new representation of stack traces, the "XTree", has been added. An XTree is a tree of stacktraces with data associated with the stacktraces. This is used by various tools (Memcheck, Helgrind, Massif) to report on the heap consumption of your program. Reporting is controlled by the new options --xtree-memory=none|allocs|full and --xtree-memory-file=<file>. A report can also be produced on demand using the gdbserver monitor command 'xtmemory [<filename>]>'. The XTree can be output in 2 formats: 'callgrind format' and 'massif format. The existing visualisers for these formats (e.g. callgrind_annotate, KCachegrind, ms_print) can be used to visualise and analyse these reports. Memcheck can also produce XTree leak reports using the Callgrind file format. For more details, see the user manual. * ================== PLATFORM CHANGES ================= * ppc64: support for ISA 3.0B and various fixes for existing 3.0 support * amd64: fixes for JIT failure problems on long AVX2 code blocks * amd64 and x86: support for CET prefixes has been added * arm32: a few missing ARMv8 instructions have been implemented * arm64, mips64, mips32: an alternative implementation of Load-Linked and Store-Conditional instructions has been added. This is to deal with processor implementations that implement the LL/SC specifications strictly and as a result cause Valgrind to hang in certain situations. The alternative implementation is automatically enabled at startup, as required. You can use the option --sim-hints=fallback-llsc to force-enable it if you want. * Support for OSX 10.12 has been improved. * On Linux, clone handling has been improved to honour CLONE_VFORK that involves a child stack. Note however that CLONE_VFORK | CLONE_VM is handled like CLONE_VFORK (by removing CLONE_VM), so applications that depend on CLONE_VM exact semantics will (still) not work. * The TileGX/Linux port has been removed because it appears to be both unused and unsupported. * ==================== TOOL CHANGES ==================== * Memcheck: - Memcheck should give fewer false positives when running optimised Clang/LLVM generated code. - Support for --xtree-memory and 'xtmemory [<filename>]>'. - New command line options --xtree-leak=no|yes and --xtree-leak-file=<file> to produce the end of execution leak report in a xtree callgrind format file. - New option 'xtleak' in the memcheck leak_check monitor command, to produce the leak report in an xtree file. * Massif: - Support for --xtree-memory and 'xtmemory [<filename>]>'. - For some workloads (typically, for big applications), Massif memory consumption and CPU consumption has decreased significantly. * Helgrind: - Support for --xtree-memory and 'xtmemory [<filename>]>'. - addition of client request VALGRIND_HG_GNAT_DEPENDENT_MASTER_JOIN, useful for Ada gnat compiled applications. * ==================== OTHER CHANGES ==================== * For Valgrind developers: in an outer/inner setup, the outer Valgrind will append the inner guest stacktrace to the inner host stacktrace. This helps to investigate the errors reported by the outer, when they are caused by the inner guest program (such as an inner regtest). See README_DEVELOPERS for more info. * To allow fast detection of callgrind files by desktop environments and file managers, the format was extended to have an optional first line that uniquely identifies the format ("# callgrind format"). Callgrind creates this line now, as does the new xtree functionality. * File name template arguments (such as --log-file, --xtree-memory-file, ...) have a new %n format letter that is replaced by a sequence number. * "--version -v" now shows the SVN revision numbers from which Valgrind was built. * ==================== FIXED BUGS ==================== The following bugs have been fixed or resolved. Note that "n-i-bz" stands for "not in bugzilla" -- that is, a bug that was reported to us but never got a bugzilla entry. We encourage you to file bugs in bugzilla (https://bugs.kde.org/enter_bug.cgi?product=valgrind) rather than mailing the developers (or mailing lists) directly -- bugs that are not entered into bugzilla tend to get forgotten about or ignored. To see details of a given bug, visit https://bugs.kde.org/show_bug.cgi?id=XXXXXX where XXXXXX is the bug number as listed below. 162848 --log-file output isn't split when a program forks 340777 Illegal instruction on mips (ar71xx) 341481 MIPS64: Iop_CmpNE32 triggers false warning on MIPS64 platforms 342040 Valgrind mishandles clone with CLONE_VFORK | CLONE_VM that clones to a different stack. 344139 x86 stack-seg overrides, needed by the Wine people 344524 store conditional of guest applications always fail - observed on Octeon3(MIPS) 348616 Wine/valgrind: noted but unhandled ioctl 0x5390 [..] (DVD_READ_STRUCT) 352395 Please provide SVN revision info in --version -v 352767 Wine/valgrind: noted but unhandled ioctl 0x5307 [..] (CDROMSTOP) 356374 Assertion 'DRD_(g_threadinfo)[tid].pt_threadid != INVALID_POSIX_THREADID' failed 358213 helgrind/drd bar_bad testcase hangs or crashes with new glibc pthread barrier implementation 358697 valgrind.h: Some code remains even when defining NVALGRIND 359202 Add musl libc configure/compile 360415 amd64 instructions ADCX and ADOX are not implemented in VEX == 372828 (vex amd64->IR: 0x66 0xF 0x3A 0x62 0x4A 0x10) 360429 unhandled ioctl 0x530d with no size/direction hints (CDROMREADMODE1) 362223 assertion failed when .valgrindrc is a directory instead of a file 367543 bt/btc/btr/bts x86/x86_64 instructions are poorly-handled wrt flags 367942 Segfault vgPlain_do_sys_sigaction (m_signals.c:1138) 368507 can't malloc chunks larger than about 34GB 368529 Android arm target link error, missing atexit and pthread_atfork 368863 WARNING: unhandled arm64-linux syscall: 100 (get_robust_list) 368865 WARNING: unhandled arm64-linux syscall: 272 (kcmp) 368868 disInstr(arm64): unhandled instruction 0xD53BE000 = cntfrq_el0 (ARMv8) 368917 WARNING: unhandled arm64-linux syscall: 218 (request_key) 368918 WARNING: unhandled arm64-linux syscall: 127 (sched_rr_get_interval) 368922 WARNING: unhandled arm64-linux syscall: 161 (sethostname) 368924 WARNING: unhandled arm64-linux syscall: 84 (sync_file_range) 368925 WARNING: unhandled arm64-linux syscall: 130 (tkill) 368926 WARNING: unhandled arm64-linux syscall: 97 (unshare) 369459 valgrind on arm64 violates the ARMv8 spec (ldxr/stxr) 370028 Reduce the number of compiler warnings on MIPS platforms 370635 arm64 missing syscall getcpu 371225 Fix order of timer_{gettime,getoverrun,settime} syscalls on arm64 371227 Clean AArch64 syscall table 371412 Rename wrap_sys_shmat to sys_shmat like other wrappers 371471 Valgrind complains about non legit memory leaks on placement new (C++) 371491 handleAddrOverrides() is [incorrect] when ASO prefix is used 371503 disInstr(arm64): unhandled instruction 0xF89F0000 371869 support '%' in symbol Z-encoding 371916 execution tree xtree concept 372120 c++ demangler demangles symbols which are not c++ 372185 Support of valgrind on ARMv8 with 32 bit executable 372188 vex amd64->IR: 0x66 0xF 0x3A 0x62 0x4A 0x10 0x10 0x48 (PCMPxSTRx $0x10) 372195 Power PC, xxsel instruction is not always recognized. 372504 Hanging on exit_group 372600 process loops forever when fatal signals are arriving quickly 372794 LibVEX (arm32 front end): 'Assertion szBlg2 <= 3' failed 373046 Stacks registered by core are never deregistered 373069 memcheck/tests/leak_cpp_interior fails with GCC 5.1+ 373086 Implement additional Xen hypercalls 373192 Calling posix_spawn in glibc 2.24 completely broken 373488 Support for fanotify API on ARM64 architecture == 368864 WARNING: unhandled arm64-linux syscall: 262 (fanotify_init) 373555 Rename BBPTR to GSPTR as it denotes guest state pointer only 373938 const IRExpr arguments for matchIRExpr() 374719 some spelling fixes 374963 increase valgrind's load address to prevent mmap failure 375514 valgrind_get_tls_addr() does not work in case of static TLS 375772 +1 error in get_elf_symbol_info() when computing value of 'hi' address for ML_(find_rx_mapping)() 375806 Test helgrind/tests/tc22_exit_w_lock fails with glibc 2.24 375839 Temporary storage exhausted, with long sequence of vfmadd231ps insns == 377159 "vex: the `impossible' happened" still present == 375150 Assertion 'tres.status == VexTransOK' failed == 378068 valgrind crashes on AVX2 function in FFmpeg 376142 Segfaults on MIPS Cavium Octeon boards 376279 disInstr(arm64): unhandled instruction 0xD50320FF 376455 Solaris: unhandled syscall lgrpsys(180) 376518 Solaris: unhandled fast trap getlgrp(6) 376611 ppc64 and arm64 don't know about prlimit64 syscall 376729 PPC64, remove R2 from the clobber list == 371668 376956 syswrap of SNDDRV and DRM_IOCTL_VERSION causing some addresses to be wrongly marked as addressable 377066 Some Valgrind unit tests fail to compile on Ubuntu 16.10 with PIE enabled by default 377376 memcheck/tests/linux/getregset fails with glibc2.24 377427 PPC64, lxv instruction failing on odd destination register 377478 PPC64: ISA 3.0 setup fixes 377698 Missing memory check for futex() uaddr arg for FUTEX_WAKE and FUTEX_WAKE_BITSET, check only 4 args for FUTEX_WAKE_BITSET, and 2 args for FUTEX_TRYLOCK_PI 377717 Fix massive space leak when reading compressed debuginfo sections 377891 Update Xen 4.6 domctl wrappers 377930 fcntl syscall wrapper is missing flock structure check 378524 libvexmultiarch_test regression on s390x and ppc64 378535 Valgrind reports INTERNAL ERROR in execve syscall wrapper 378673 Update libiberty demangler 378931 Add ISA 3.0B additional isnstructions, add OV32, CA32 setting support 379039 syscall wrapper for prctl(PR_SET_NAME) must not check more than 16 bytes 379094 Valgrind reports INTERNAL ERROR in rt_sigsuspend syscall wrapper 379371 UNKNOWN task message [id 3444, to mach_task_self(), reply 0x603] (task_register_dyld_image_infos) 379372 UNKNOWN task message [id 3447, to mach_task_self(), reply 0x603] (task_register_dyld_shared_cache_image_info) 379390 unhandled syscall: mach:70 (host_create_mach_voucher_trap) 379473 MIPS: add support for rdhwr cycle counter register 379504 remove TileGX/Linux port 379525 Support more x86 nop opcodes 379838 disAMode(x86): not an addr! 379703 PC ISA 3.0 fixes: stxvx, stxv, xscmpexpdp instructions 379890 arm: unhandled instruction: 0xEBAD 0x1B05 (sub.w fp, sp, r5, lsl #4) 379895 clock_gettime does not execute POST syscall wrapper 379925 PPC64, mtffs does not set the FPCC and C bits in the FPSCR correctly 379966 WARNING: unhandled amd64-linux syscall: 313 (finit_module) 380200 xtree generated callgrind files refer to files without directory name 380202 Assertion failure for cache line size (cls == 64) on aarch64. 380397 s390x: __GI_strcspn() replacement needed n-i-bz Fix pub_tool_basics.h build issue with g++ 4.4.7. (3.13.0.RC1: 2 June 2017, vex r3386, valgrind r16434) (3.13.0.RC2: 9 June 2017, vex r3389, valgrind r16443) (3.13.0: 14 June 2017, vex r3396, valgrind r16446) Bug: N/A Test: manual Change-Id: Id4498a49f462c3689cbcb35c15f96a8c7e3cea17
/external/valgrind/coregrind/m_errormgr.c
|
a0664b9ca67b594bd6f570a61d3301167a24750c |
|
19-Apr-2017 |
Elliott Hughes <enh@google.com> |
Upgrade to valgrind 3.12.0. Release 3.12.0 (20 October 2016) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.12.0 is a feature release with many improvements and the usual collection of bug fixes. This release supports X86/Linux, AMD64/Linux, ARM32/Linux, ARM64/Linux, PPC32/Linux, PPC64BE/Linux, PPC64LE/Linux, S390X/Linux, MIPS32/Linux, MIPS64/Linux, ARM/Android, ARM64/Android, MIPS32/Android, X86/Android, X86/Solaris, AMD64/Solaris, X86/MacOSX 10.10 and AMD64/MacOSX 10.10. There is also preliminary support for X86/MacOSX 10.11/12, AMD64/MacOSX 10.11/12 and TILEGX/Linux. * ================== PLATFORM CHANGES ================= * POWER: Support for ISA 3.0 has been added * mips: support for O32 FPXX ABI has been added. * mips: improved recognition of different processors * mips: determination of page size now done at run time * amd64: Partial support for AMD FMA4 instructions. * arm, arm64: Support for v8 crypto and CRC instructions. * Improvements and robustification of the Solaris port. * Preliminary support for MacOS 10.12 (Sierra) has been added. Whilst 3.12.0 continues to support the 32-bit x86 instruction set, we would prefer users to migrate to 64-bit x86 (a.k.a amd64 or x86_64) where possible. Valgrind's support for 32-bit x86 has stagnated in recent years and has fallen far behind that for 64-bit x86 instructions. By contrast 64-bit x86 is well supported, up to and including AVX2. * ==================== TOOL CHANGES ==================== * Memcheck: - Added meta mempool support for describing a custom allocator which: - Auto-frees all chunks assuming that destroying a pool destroys all objects in the pool - Uses itself to allocate other memory blocks - New flag --ignore-range-below-sp to ignore memory accesses below the stack pointer, if you really have to. The related flag --workaround-gcc296-bugs=yes is now deprecated. Use --ignore-range-below-sp=1024-1 as a replacement. * DRD: - Improved thread startup time significantly on non-Linux platforms. * DHAT - Added collection of the metric "tot-blocks-allocd" * ==================== OTHER CHANGES ==================== * Replacement/wrapping of malloc/new related functions is now done not just for system libraries by default, but for any globally defined malloc/new related function (both in shared libraries and statically linked alternative malloc implementations). The dynamic (runtime) linker is excluded, though. To only intercept malloc/new related functions in system libraries use --soname-synonyms=somalloc=nouserintercepts (where "nouserintercepts" can be any non-existing library name). This new functionality is not implemented for MacOS X. * The maximum number of callers in a suppression entry is now equal to the maximum size for --num-callers (500). Note that --gen-suppressions=yes|all similarly generates suppressions containing up to --num-callers frames. * New and modified GDB server monitor features: - Valgrind's gdbserver now accepts the command 'catch syscall'. Note that you must have GDB >= 7.11 to use 'catch syscall' with gdbserver. * New option --run-cxx-freeres=<yes|no> can be used to change whether __gnu_cxx::__freeres() cleanup function is called or not. Default is 'yes'. * Valgrind is able to read compressed debuginfo sections in two formats: - zlib ELF gABI format with SHF_COMPRESSED flag (gcc option -gz=zlib) - zlib GNU format with .zdebug sections (gcc option -gz=zlib-gnu) * Modest JIT-cost improvements: the cost of instrumenting code blocks for the most common use case (x86_64-linux, Memcheck) has been reduced by 10%-15%. * Improved performance for programs that do a lot of discarding of instruction address ranges of 8KB or less. * The C++ symbol demangler has been updated. * More robustness against invalid syscall parameters on Linux. * ==================== FIXED BUGS ==================== The following bugs have been fixed or resolved. Note that "n-i-bz" stands for "not in bugzilla" -- that is, a bug that was reported to us but never got a bugzilla entry. We encourage you to file bugs in bugzilla (https://bugs.kde.org/enter_bug.cgi?product=valgrind) rather than mailing the developers (or mailing lists) directly -- bugs that are not entered into bugzilla tend to get forgotten about or ignored. To see details of a given bug, visit https://bugs.kde.org/show_bug.cgi?id=XXXXXX where XXXXXX is the bug number as listed below. 191069 Exiting due to signal not reported in XML output 199468 Suppressions: stack size limited to 25 while --num-callers allows more frames 212352 vex amd64 unhandled opc_aux = 0x 2, first_opcode == 0xDC (FCOM) 278744 cvtps2pd with redundant RexW 303877 valgrind doesn't support compressed debuginfo sections. 345307 Warning about "still reachable" memory when using libstdc++ from gcc 5 348345 Assertion fails for negative lineno 351282 V 3.10.1 MIPS softfloat build broken with GCC 4.9.3 / binutils 2.25.1 351692 Dumps created by valgrind are not readable by gdb (mips32 specific) 351804 Crash on generating suppressions for "printf" call on OS X 10.10 352197 mips: mmap2() not wrapped correctly for page size > 4096 353083 arm64 doesn't implement various xattr system calls 353084 arm64 doesn't support sigpending system call 353137 www: update info for Supported Platforms 353138 www: update "The Valgrind Developers" page 353370 don't advertise RDRAND in cpuid for Core-i7-4910-like avx2 machine == 365325 == 357873 353384 amd64->IR: 0x66 0xF 0x3A 0x62 0xD1 0x62 (pcmpXstrX $0x62) 353398 WARNING: unhandled amd64-solaris syscall: 207 353660 XML in auxwhat tag not escaping reserved symbols properly 353680 s390x: Crash with certain glibc versions due to non-implemented TBEGIN 353727 amd64->IR: 0x66 0xF 0x3A 0x62 0xD1 0x72 (pcmpXstrX $0x72) 353802 ELF debug info reader confused with multiple .rodata sections 353891 Assert 'bad_scanned_addr < VG_ROUNDDN(start+len, sizeof(Addr))' failed 353917 unhandled amd64-solaris syscall fchdir(120) 353920 unhandled amd64-solaris syscall: 170 354274 arm: unhandled instruction: 0xEBAD 0x0AC1 (sub.w sl, sp, r1, lsl #3) 354392 unhandled amd64-solaris syscall: 171 354797 Vbit test does not include Iops for Power 8 instruction support 354883 tst->os_state.pthread - magic_delta assertion failure on OSX 10.11 == 361351 == 362920 == 366222 354933 Fix documentation of --kernel-variant=android-no-hw-tls option 355188 valgrind should intercept all malloc related global functions 355454 do not intercept malloc related symbols from the runtime linker 355455 stderr.exp of test cases wrapmalloc and wrapmallocstatic overconstrained 356044 Dwarf line info reader misinterprets is_stmt register 356112 mips: replace addi with addiu 356393 valgrind (vex) crashes because isZeroU happened == 363497 == 364497 356676 arm64-linux: unhandled syscalls 125, 126 (sched_get_priority_max/min) 356678 arm64-linux: unhandled syscall 232 (mincore) 356817 valgrind.h triggers compiler errors on MSVC when defining NVALGRIND 356823 Unsupported ARM instruction: stlex 357059 x86/amd64: SSE cvtpi2ps with memory source does transition to MMX state 357338 Unhandled instruction for SHA instructions libcrypto Boring SSL 357673 crash if I try to run valgrind with a binary link with libcurl 357833 Setting RLIMIT_DATA to zero breaks with linux 4.5+ 357871 pthread_spin_destroy not properly wrapped 357887 Calls to VG_(fclose) do not close the file descriptor 357932 amd64->IR: accept redundant REX prefixes for {minsd,maxsd} m128, xmm. 358030 support direct socket calls on x86 32bit (new in linux 4.3) 358478 drd/tests/std_thread.cpp doesn't build with GCC6 359133 Assertion 'eltSzB <= ddpa->poolSzB' failed 359181 Buffer Overflow during Demangling 359201 futex syscall "skips" argument 5 if op is FUTEX_WAIT_BITSET 359289 s390x: popcnt (B9E1) not implemented 359472 The Power PC vsubuqm instruction doesn't always give the correct result 359503 Add missing syscalls for aarch64 (arm64) 359645 "You need libc6-dbg" help message could be more helpful 359703 s390: wire up separate socketcalls system calls 359724 getsockname might crash - deref_UInt should call safe_to_deref 359733 amd64 implement ld.so strchr/index override like x86 359767 Valgrind does not support the IBM POWER ISA 3.0 instructions, part 1/5 359829 Power PC test suite none/tests/ppc64/test_isa_2_07.c uses uninitialized data 359838 arm64: Unhandled instruction 0xD5033F5F (clrex) 359871 Incorrect mask handling in ppoll 359952 Unrecognised PCMPESTRM variants (0x70, 0x19) 360008 Contents of Power vr registers contents is not printed correctly when the --vgdb-shadow-registers=yes option is used 360035 POWER PC instruction bcdadd and bcdsubtract generate result with non-zero shadow bits 360378 arm64: Unhandled instruction 0x5E280844 (sha1h s4, s2) 360425 arm64 unsupported instruction ldpsw == 364435 360519 none/tests/arm64/memory.vgtest might fail with newer gcc 360571 Error about the Android Runtime reading below the stack pointer on ARM 360574 Wrong parameter type for an ashmem ioctl() call on Android and ARM64 360749 kludge for multiple .rodata sections on Solaris no longer needed 360752 raise the number of reserved fds in m_main.c from 10 to 12 361207 Valgrind does not support the IBM POWER ISA 3.0 instructions, part 2/5 361226 s390x: risbgn (EC59) not implemented 361253 [s390x] ex_clone.c:42: undefined reference to `pthread_create' 361354 ppc64[le]: wire up separate socketcalls system calls 361615 Inconsistent termination for multithreaded process terminated by signal 361926 Unhandled Solaris syscall: sysfs(84) 362009 V dumps core on unimplemented functionality before threads are created 362329 Valgrind does not support the IBM POWER ISA 3.0 instructions, part 3/5 362894 missing (broken) support for wbit field on mtfsfi instruction (ppc64) 362935 [AsusWRT] Assertion 'sizeof(TTEntryC) <= 88' failed 362953 Request for an update to the Valgrind Developers page 363680 add renameat2() support 363705 arm64 missing syscall name_to_handle_at and open_by_handle_at 363714 ppc64 missing syscalls sync, waitid and name_to/open_by_handle_at 363858 Valgrind does not support the IBM POWER ISA 3.0 instructions, part 4/5 364058 clarify in manual limitations of array overruns detections 364413 pselect sycallwrapper mishandles NULL sigmask 364728 Power PC, missing support for several HW registers in get_otrack_shadow_offset_wrk() 364948 Valgrind does not support the IBM POWER ISA 3.0 instructions, part 5/5 365273 Invalid write to stack location reported after signal handler runs 365912 ppc64BE segfault during jm-insns test (RELRO) 366079 FPXX Support for MIPS32 Valgrind 366138 Fix configure errors out when using Xcode 8 (clang 8.0.0) 366344 Multiple unhandled instruction for Aarch64 (0x0EE0E020, 0x1AC15800, 0x4E284801, 0x5E040023, 0x5E056060) 367995 Integration of memcheck with custom memory allocator 368120 x86_linux asm _start functions do not keep 16-byte aligned stack pointer 368412 False positive result for altivec capability check 368416 Add tc06_two_races_xml.exp output for ppc64 368419 Perf Events ioctls not implemented 368461 mmapunmap test fails on ppc64 368823 run_a_thread_NORETURN assembly code typo for VGP_arm64_linux target 369000 AMD64 fma4 instructions unsupported. 369169 ppc64 fails jm_int_isa_2_07 test 369175 jm_vec_isa_2_07 test crashes on ppc64 369209 valgrind loops and eats up all memory if cwd doesn't exist. 369356 pre_mem_read_sockaddr syscall wrapper can crash with bad sockaddr 369359 msghdr_foreachfield can crash when handling bad iovec 369360 Bad sigprocmask old or new sets can crash valgrind 369361 vmsplice syscall wrapper crashes on bad iovec 369362 Bad sigaction arguments crash valgrind 369383 x86 sys_modify_ldt wrapper crashes on bad ptr 369402 Bad set/get_thread_area pointer crashes valgrind 369441 bad lvec argument crashes process_vm_readv/writev syscall wrappers 369446 valgrind crashes on unknown fcntl command 369439 S390x: Unhandled insns RISBLG/RISBHG and LDE/LDER 369468 Remove quadratic metapool algorithm using VG_(HT_remove_at_Iter) 370265 ISA 3.0 HW cap stuff needs updating 371128 BCD add and subtract instructions on Power BE in 32-bit mode do not work n-i-bz Fix incorrect (or infinite loop) unwind on RHEL7 x86 and amd64 n-i-bz massif --pages-as-heap=yes does not report peak caused by mmap+munmap n-i-bz false positive leaks due to aspacemgr merging heap & non heap segments n-i-bz Fix ppoll_alarm exclusion on OS X n-i-bz Document brk segment limitation, reference manual in limit reached msg. n-i-bz Fix clobber list in none/tests/amd64/xacq_xrel.c [valgrind r15737] n-i-bz Bump allowed shift value for "add.w reg, sp, reg, lsl #N" [vex r3206] n-i-bz amd64: memcheck false positive with shr %edx n-i-bz arm3: Allow early writeback of SP base register in "strd rD, [sp, #-16]" n-i-bz ppc: Fix two cases of PPCAvFpOp vs PPCFpOp enum confusion n-i-bz arm: Fix incorrect register-number constraint check for LDAEX{,B,H,D} n-i-bz DHAT: added collection of the metric "tot-blocks-allocd" (3.12.0.RC1: 20 October 2016, vex r3282, valgrind r16094) (3.12.0.RC2: 20 October 2016, vex r3282, valgrind r16096) (3.12.0: 21 October 2016, vex r3282, valgrind r16098) Bug: http://b/37470713 Bug: http://b/29251682 Test: ran runtests-arm(64)?.sh and the bug reporter's specific binary (32- and 64-bit) Change-Id: I43ccbea946d89fc4ae9f355181ac5061d6ce4453
/external/valgrind/coregrind/m_errormgr.c
|
b3a1e4bffbdbbf38304f216af405009868f43628 |
|
21-Aug-2015 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Update copyright dates, to include 2015. No functional change. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15577 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
a5e06c36bf9d93461bc8c4351e960888020ea1c4 |
|
05-Aug-2015 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix printf format inconsistencies as pointed out by gcc -Wformat-signedness. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15499 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
b9749a5a1fcf2ce8dc4a145f6037821f2a4c1252 |
|
24-Jul-2015 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Remove command line options --db-attach and --db-command which were deprecated in 3.10.0 git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15445 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
75712710b9c49eedcf4f9caa7d7e17494ac3acf8 |
|
30-Apr-2015 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Remove a few embarassing comments. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15169 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
d4c37445b8233a2d6e7997b113c9af2c99e5edf5 |
|
21-Mar-2015 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
343902 --vgdb=yes doesn't break when --xml=yes is used Changes ensures that gdbserver is called also when xml is yes. When gdbserver is set to yes, we have to temporarily reset xml output to no, as gdbserver output (e.g. print the last error) has to be printed to gdb. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15031 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
3130eab8c67d0c720cb1a86906cc057daa9700cc |
|
14-Nov-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Minor non-functional cleanups. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14723 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
7b3d3565c1559b88c67f629bd6613c8b1a89691b |
|
12-Nov-2014 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Implement Option --error-markers=<begin>,<end> * This option can be used to mark the begin/end of errors in textual output mode, to facilitate searching/extracting errors in output files mixing valgrind errors with program output. * Use the new option in various existing regtests to test the various possible usage. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14714 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
46cc04521acf2827eb33310fadc119bf2dc039e4 |
|
25-Oct-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
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. This change in function parameters ripples upward - first: to get_sym_name - then to the convenience wrappers - VG_(get_fnname) - VG_(get_fnname_w_offset) - VG_(get_fnname_if_entry) - VG_(get_fnname_raw) - VG_(get_fnname_no_cxx_demangle) - VG_(get_datasym_and_offset) The changes in foComplete then forces the arguments of - VG_(get_objname) to be changed as well There are some issues regarding the ownership and persistence of character strings to consider. In general, the returned character string is owned by "somebody else" which means the caller must not free it. Also, the caller must not modify the returned string as it possibly points to read only memory. Additionally, the returned string is not necessarily persistent. Here are the scenarios: - the returned string is a demangled function name in which case the memory holding the string will be freed when the demangler is called again. - the returned string hangs off of a DebugInfo structure in which case it will be freed when the DebugInfo is discarded - the returned string hangs off of a segment in the address space manager in which case it may be overwritten when the segment is merged with another segment So the rule of thunb here is: if in doubt strdup the string. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14664 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
518850bf0da07ed3e2244e307268ae0fd80e93a8 |
|
23-Oct-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Constify coregrind. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14656 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
8e3fbb5cd8276a7d07d5712bc05f9b3376d81a6a |
|
20-Oct-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Constify the tool interface. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14642 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
7931627282eede4440f3f329b657c3ec68371e8a |
|
07-Oct-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
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. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14609 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
3e81b8bed1f7ab6848a83f5507487131a6f9d778 |
|
07-Oct-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
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. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14606 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
a4ca4fef8c189e861492e1e2b36b52ba3fca1725 |
|
16-Sep-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix incorrect use of VG_(tool_panic). Adapt checker script accordingly. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14544 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
e2800c958044937e72eefa371c10ae47ac40e089 |
|
15-Sep-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
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. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14542 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
91ed8ccd3dae8a6abfaa45cc0d250df47b45187f |
|
15-Sep-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Tidy up m_xarray.c. VG_(newXA) and VG_(cloneXA) never return NULL. Remove pointless asserts. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14539 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
77eb20b3865e7b17c7695c7e7a526b52935f593e |
|
11-Sep-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
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). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14517 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
190bd525e890352277188025dbc2d7935b431499 |
|
01-Sep-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Followup to r13469. lineno has already been asserted to be != NULL. No need to check it again. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14413 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
c06f684badc0701961e68dbc206fbf1757f7fd68 |
|
31-Jul-2014 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix dangling ref in m_errormgr.c + report all uninit fields in a syscall param Some syscall verification code is allocating memory to generate the string used to build an error, e.g. syswrap-generic.c verifying fields of e.g socket addresses (pre_mem_read_sockaddr) or sendmsg/recvmsg args (msghdr_foreachfield) The allocated pointer was copied in the error created by VG_(maybe_record_error). This was wrong for 2 reasons: 1. If the error is a new error, it is stored in a list of errors, but the string memory was freed by pre_mem_read_sockaddr, msghdr_foreachfield, ... This causes a dangling reference. Was at least visible when giving -v, which re-prints all errors at the end of execution. Probably this could have some consequences during run while generating new errors, and comparing for equality with a recorded error having a dangling reference. 2. the same allocated string is re-used for each piece/field of the verified struct. The code in mc_errors.c that checks that 2 errors are identical was then wrongly considereing that 2 successive errors for 2 different fields for the same syscall arg are identical, just because the error string happened to be produced at the same address. (it is believed that initially, the error string was assumed to be a static string, which is not the case anymore, causing the above 2 problems). Changes: * The fix consists in duplicating in m_errormgr.c the given error string when the error is recorded. In other words, the error string is now duplicated similarly to the (optional) extra component of the error. * memcheck/tests/linux/rfcomm.c test modified as now an error is reported for each uninit field. * socketaddr unknown family is also better reported (using sa_data field name, rather than an empty field name. * minor reformatting in m_errormgr.c, to be below 80 characters. Some notes: 1. the string is only duplicated if the error is recorded (ie. printed or the first time an error matches a suppression). The string is not duplicated for duplicated errors or following errors matching the first (suppressed) error. The string is also not duplicated for 'unique errors' (that are printed and then not recorded). 2. duplicating the string for each recorded error is not deemed to use a lot of memory: * error strings are usually NULL or short (often 10 bytes or so). * we expect no program has a huge number of errors If ever this string duplicate would be significant, having a DedupPoolAlloc in m_errormgr.c for these strings would reduce this memory (as we expect to have very few different strings, even with millions of errors). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14214 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
5ab7ce8534933940ae16c11a98939f4dc930c62d |
|
24-Jun-2014 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix a regression in supp matching with obj: entries Suppression matching logic was changed to understand inlined function calls. A regression was introduced while doing this. This regression could cause false positive supp matches or false negative supp matches, when obj: lines are used. This patch fixes the regression, and adds 2 tests (one that was failing with false positive, one that was failing with false negative). The fix is relatively small (3 places where there was an "off or excess by one"). However, a lot more tracing was added in the supp matching logic, as this logic is quite complex (for performance reasons mostly). We might need more tests to properly cover supp matching logic. So, giving -d -d -d -d produces a trace showing how a stacktrace was expanded by the input completer and which suppression (if any) it matched. Below is an example of trace. It shows a begin/end marker. The end marker indicates if a supp matched. Then it shows the stack trace, and the state of the lazy "input completer" used for the matching. In the below, the trace shows that there are 3 IPs in the stacktrace (n_ips 3) : Two are not shown (below main), and one IP corresponds to main calling 4 inlined functions (so we have only one IP for 5 entries in the stacktrace). The state of the input completer shows that 2 IPs were expanded, resulting in 6 expanded fun: or obj: lines. The offset shows that ips0 corresponds to the entries [0,4] in ip2fo->funoffset or ip2fo->objoffset. This tracing should make it more clear what was used to match a stacktrace with the suppression entries. --10314-- errormgr matching begin --10314-- errormgr matching end suppression main_a_b_c_d ./memcheck/tests/inlinfosupp.supp:2 matched: ==10314== at 0x8048667: fun_d (inlinfo.c:7) ==10314== by 0x8048667: fun_c (inlinfo.c:15) ==10314== by 0x8048667: fun_b (inlinfo.c:21) ==10314== by 0x8048667: fun_a (inlinfo.c:27) ==10314== by 0x8048667: main (inlinfo.c:66) n_ips 3 n_ips_expanded 2 resulting in n_expanded 6 ips 0 0x088048667 offset [0,4] fun:fun_d obj:/home/philippe/valgrind/objcompl/memcheck/tests/inlinfo fun:fun_c obj:/home/philippe/valgrind/objcompl/memcheck/tests/inlinfo fun:fun_b obj:/home/philippe/valgrind/objcompl/memcheck/tests/inlinfo fun:fun_a obj:/home/philippe/valgrind/objcompl/memcheck/tests/inlinfo fun:main obj:/home/philippe/valgrind/objcompl/memcheck/tests/inlinfo ips 1 0x0822abb5 offset [5,5] fun:(below main) obj:<not expanded> Complete tracing (including individual pattern matching) can be activated by recompiling m_errormgr.c after changing #define DEBUG_ERRORMGR 0 to #define DEBUG_ERRORMGR 1 This detailed tracing will be shown between the begin/end marker. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14095 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
a0a73939b0398b6608fd6dbde49820ce6530d12c |
|
15-Jun-2014 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
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 Reading the inlined dwarf call info is activated using the new clo --read-inline-info=yes Default is currently no but an objective is to optimise the performance and memory in order to possibly set it on by default. (see below discussion about performances). Basically, the patch provides the following pieces: 1. Implement a new dwarf3 reader that reads the inlined call info 2. Some performance improvements done for this new parser, and on some common code between the new parser and the var info parser. 3. Use the parsed inlined info to produce stacktrace showing inlined calls 4. Use the parsed inlined info in the suppression matching and suppression generation 5. and of course, some reg tests 1. new dwarf3 reader: --------------------- Two options were possible: add the reading of the inlined info in the current var info dwarf reader, or add a 2nd reader. The 2nd approach was preferred, for the following reasons: The var info reader is slow, memory hungry and quite complex. Having a separate parsing phase for the inlined information is simpler/faster when just reading the inlined info. Possibly, a single parser would be faster when using both --read-var-info=yes and --read-inline-info=yes. However, var-info being extremely memory/cpu hungry, it is unlikely to be used often, and having a separate parsing for inlined info does in any case make not much difference. (--read-var-info=yes is also now less interesting thanks to commit r13991, which provides a fast and low memory "reasonable" location for an address). The inlined info parser reads the dwarf info to make calls to priv_storage.h ML_(addInlInfo). 2. performance optimisations ---------------------------- * the abbrev cache has been improved in revision r14035. * The new parser skips the non interesting DIEs (the var-info parser has no logic to skip uninteresting DIEs). * Some other minor perf optimisation here and there. In total now, on a big executable, 15 seconds CPU are needed to create the inlined info (on my slow x86 pentium). With regards to memory, the dinfo arena: with inlined info: 172281856/121085952 max/curr mmap'd without : 157892608/106721280 max/curr mmap'd, So, basically, inlined information costs about 15Mb of memory for my big executable (compared to first version of the patch, this is already using less memory, thanks to the strpool deduppoolalloc. The needed memory can probably be decreased somewhat more. 3. produce better stack traces ------------------------------ VG_(describe_IP) has a new argument InlIPCursor *iipc which allows to describe inlined function calls by doing repetitive calls to describe_IP. See pub_tool_debuginfo.h for a description. 4. suppression generation and matching -------------------------------------- * suppression generation now also uses an InlIPCursor *iipc to generate a line for each inlined fn call. * suppression matching: to allow suppression matching to match one IP to several function calls in a suppression entry, the 'inputCompleter' object (that allows to lazily generate function or object names for a stacktrace when matching an error with a suppression) has been generalised a little bit more to also lazily generate the input sequence. VG_(generic_match) has been updated so as to be more generic with respect to the input completer : when providing an input completer, VG_(generic_match) does not need anymore to produce/compute any input itself : this is all delegated to the input completer. 5. various regtests ------------------- to test stack traces with inlined calls, and suppressions of (some of) these errors using inlined fn calls matching. Work still to do: ----------------- * improve parsing performance * improve the memory overhead. * handling the directory name for files of the inlined function calls is not yet done. (probably implies to refactor some code) * see if m_errormgr.c *offsets arrays cannot be managed via xarray git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14036 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
0f157ddb404bcde7815a1c5bf2d7e41c114f3d73 |
|
18-Oct-2013 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Update copyright dates (20XY-2012 ==> 20XY-2013) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13658 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
4e32d67a5b880bf1d871c5141822078d4dcdc3ac |
|
18-Oct-2013 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Allow tools to provide some statistics in suppression list produced at the end Option -v outputs a list of used suppressions. This only gives the nr of times a suppression was used. For a leak search, this only gives the nr of loss records that have been suppressed, but it does not give additional needed details to understand more precisely what has been suppressed (i.e. nr of blocks and nr of bytes). => Add in the tool interface update_extra_suppression_use and print_extra_suppression_info functions to allow the tool to record additioonal use statistics for a suppression. These statistics can be done depending on the error (and its data) which is suppressed. Use this in memcheck for the leak suppressions, to maintain and output the nr of blocks and bytes suppressed by a suppression during the last leak search. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13651 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
a2968ccb86332489ac050bc194da7e3066770bc5 |
|
20-Sep-2013 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
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. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13575 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
497895194ef1db90aa7f3a022777b5ccb93f426b |
|
16-Sep-2013 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
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 <zzam@gentoo.org> with some minor modifications. Fixes BZ 322254. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13553 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
362441db825242200142a91bb07c4a0300b36a3e |
|
23-Jul-2013 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
fix incorrect lineno in supp error msgs+ -v give filename+lineno of used supp. If a suppression file contains an error, the lineno reported could be wrong. Also, give filename and lineno of the used suppressions in -v debugging output. The fix consists in ensuring that tool specific read_extra function gets the Int* lineno pointer, together with other VG_(get_line) parameters. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13469 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
2193a7c20b74867de85a5ac10e7db5c7038f7c8a |
|
08-Dec-2012 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
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 Using the options --show-leak-kinds=kind1,kind2,.. and --errors-for-leak-kinds=kind1,kind2,.., each leak kind (definite, indirect, possible, reachable) can now be individually reported and/or counted as an error. In a leak suppression entry, an optional line 'match-leak-kinds:' controls which leak kinds are suppressed by this entry. This is a.o. useful to avoid definite leaks being "catched" by a suppression entry aimed at suppressing possibly lost blocks. Default behaviour is the same as 3.8.1 Old args (--show-reachable and --show-possibly-lost) are still accepted. Addition of a new test (memcheck/tests/lks) testing the new args and the new suppression line. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13170 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
3e7986312a0ffc7646b0552d4c4ea3744a870e73 |
|
24-Nov-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix some casts that removed const-ness as pointed out by GCC's -Wcast-qual. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13138 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
19f91bbaedb4caef8a60ce94b0f507193cc0bc10 |
|
10-Nov-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix more Char/HChar mixups. Closing in... git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13119 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
54fe2021b87b9e5edb8ec8070f47b86d5cafb8aa |
|
28-Oct-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Char/HChar and constness fixes. Mostly cost center on allocators which is always a const HChar * git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13089 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
dbb3584f591710a15a437918c0fc27e300993566 |
|
27-Oct-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
More Char/HChar fixes and constification. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13088 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
e543f3024ace2925a0fb81985e9fcfc95b8c555a |
|
21-Oct-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
First round of Char/HChar fixups for coregrind and memcheck. Little bit of ripple in tools, too. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13074 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
2b8059ad8e01f0928e8767ae25b9103c4ef15f18 |
|
14-Oct-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix some more Char / HChar mixups git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13042 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
03f8d3fc25f5a45c5826259d1b33b7f310117279 |
|
05-Aug-2012 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Update copyright dates to include 2012. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12843 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
13a59524748a7af0f403e4aba435144fa9a6af4c |
|
04-Aug-2012 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
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. This patch introduces a "lazy input completer" in the generic match so that an IP is (in the worst case) translated once to its function name and once to its object name. It is a "lazy" completer in the sense that only the needed IP to fun or obj name are done. On a artificial test case, has given a factor 3 in performance. On another big (real) application, gave a factor 2 to 3. (there was less matching to do, but probably more debug info to search). match-overrun.supp completed to have non matching suppr first to better exercise the lazy completer. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12824 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
dea70ce90c9670953608b1d11b0dc6fa59c8bc40 |
|
27-Jul-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix compiler warning. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12792 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
2c5c05e66ad14b3ce39c39d97a17c7588c98aa6b |
|
26-Jul-2012 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Improve suppression matching performance when fun or obj is a simple string Idea is from Julian, possible bugs are mine. If the fun or obj is a simple string and not a patter (so no *, no ?), use a simple string comparison rather than a call to a wildcard matching. On a leak search with a lot of reachable loss records and a lot of suppr, it improves the speed of the leak search by 10 to 15%. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12789 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
7d69fd986190ebe179ca151f7c629e17a967fbfb |
|
26-Feb-2012 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix some memory leaks found by running memcheck on annotated memcheck. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12405 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
baf69645a5d270e6662d05d74e537e9ba970f34c |
|
15-Feb-2012 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
* 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 v.info n_errs_found * slightly clarified the manual, updated to new output of v.info n_errs_found git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12388 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
ec062e8d96a361af9905b5447027819dfbfee01a |
|
23-Oct-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Update all copyright dates, from 20xy-2010 to 20xy-2011. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12206 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
b3af9cf0b234d0d188347d92944e04ac9c8fbcd0 |
|
06-Oct-2011 |
bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Format functions: change format specifier %t into %pS. Remove the _no_f_c formatting function variants. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12108 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
dc873c08cc51930ecd35a976c1d03285f9a53b94 |
|
24-Jul-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
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. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11910 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
7420e0a2f02a2af656d33cde3d6f46ff10e13a9b |
|
06-Jul-2011 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
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. Spotted by IBM's BEAM checker. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11859 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
3b290486cd4cd601b20e04340e593c9ed9717e5f |
|
06-May-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Implement a GDB server in Valgrind. See #214909. (Philippe Waroquiers, philippe.waroquiers@skynet.be) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11727 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
6c591e15c1d6402a2a755310f005f795b68e7e38 |
|
11-Apr-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Create new module m_libcsetjmp, which wraps up uses of __builtin_setjmp and __builtin_longjmp so that they can be selectively replaced, on a platform by platform basis. Does not change any functionality. Related to #259977. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11687 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
2f340ebeb7aec2cac84647af2aa7239811341bf4 |
|
28-Jan-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Don't produce suppression stack pseudo-traces with more than VG_MAX_SUPP_CALLERS entries in them. Fixes #255822. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11515 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
09361bf997371238c2090cf5bacbe7f1eff90b44 |
|
28-Jan-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
In 3 error-path cases, place the closing </valgrindoutput> on the correct stream (XML instead of plain-text). Fixes #255888. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11514 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
9eecbbb9a9cbbd30b903c09a9e04d8efc20bda33 |
|
03-May-2010 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Update copyright dates to 2010. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11121 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
de78f9ad5f55102c5162ee91c893e6c4fe5db7ef |
|
16-Aug-2009 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Followup to r10822: send the CDATA text to the XML channel, not the text one. Duh. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10825 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
588adeffafa8102adcfa7a1c035ae272b35cf86d |
|
16-Aug-2009 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
When generating XML output for suppressions, print the suppression both wrapped up in XML tags (as before) but also in plain text in a sequence of CDATA blocks. Normally only one, but in the worst case the raw data will have ]]> in it, in which case it needs to be split across two CDATA blocks. This apparently simple change involved a lot of refactoring of the suppression printing machinery: * in the core-tool iface, change "print_extra_suppression_info" (which prints any auxiliary info) to "get_extra_suppression_info", which parks the text in a caller-supplied buffer. Adjust tools to match. * VG_(apply_StackTrace): accept a void* argument, which is passed to each invokation of the functional parameter (a poor man's closure implementation). * move PRINTF_CHECK into put_tool_basics.h, where it should have been all along * move private printf-into-an-XArray-of-character functions from m_debuginfo into m_xarray, and make them public * gen_suppression itself: use all the above changes. Basically we always generate the plaintext version into an XArray. In text mode that's just printed. In XML mode, we print the XMLery as before, but the plaintext version is dumped into a CDATA block too. * update the Protocol 4 specification to match all this. This still isn't 100% right in the sense that the CDATA block data needs to be split across multiple blocks if it should ever contain the CDATA end mark "]]>". The Protocol 4 spec has this right even though the implementation currently doesn't. Fixes #191189. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10822 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
663ab79fc83ace9b343723aa95e5730baab1de82 |
|
13-Aug-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix a .exp file. Avoid an assertion failure with -v. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10799 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
b6267bd61a3802bb2a16ef993c94bf834d0e2d2e |
|
12-Aug-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Output tweaks: - Always print a blank line after significant messages (eg. errors). This makes the handling of blank lines much simpler. - Don't print full stops at the end of messages. We mostly don't do it, so I got rid of all the remaining ones I could find for consistency. - Use --leak-check=full rather than --leak-check=yes, for consistency with docs and other messages. - Update partiallydefinedeq.stderr.exp2 for older changes. This commit only updates the code. Test updates will follow shortly. (I'm separating them so the code changes aren't swamped by the test changes in the SVN logs.) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10783 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
606a4aeacb004873d2839467e2ad0ab3aabc8c27 |
|
11-Aug-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Count error contexts properly in VG_(unique_error). Avoids the problem seen of "5 errors from 0 contexts" with leak errors. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10773 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
18afe5d1c3dc9e4e16d3e10617d6afa4bf9fcd40 |
|
10-Aug-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Try to fix error_counts. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10768 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
4a76c5e1e1a62a7d14299a066687aad28f67bcae |
|
10-Aug-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Count leak as errors. Fixes bug 152393. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10767 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
2d9e874b7a628ada216f09cc4f065798c65fffa4 |
|
07-Aug-2009 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Tidy up of messaging: * For all tools and the core, don't show statistics when -v is in effect. Instead, try to restrict -v to mostly user-useful stuff. * A new flag --stats=no|yes [no] produces statistics output instead. * Fix longstanding problem in that Memcheck's leak checker ran after the core's error manager module shut down, thereby not showing use counts of leak suppressions. This fixes #186790. * As a consequence, the leak checker text output of Memcheck has changed a bit -- leak check is done before the final error summary is done (much more logical), and the output has been tidied up a bit. * Helgrind, Drd and Ptrcheck now also print "For counts of detected and suppressed errors, rerun with: -v", which makes them consistent with Memcheck in this regard. These are filtered out by the regtest filter scripts. For all tools except Memcheck, the regtests are unchanged. On Memcheck regtests still fail due to rearrangements of the leak checker output. This will be fixed by a followup commit. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10746 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
050eec553cdcb2ebeaefbb267aeb0828be7121e5 |
|
27-Jul-2009 |
bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fixed a bug in the code for reading suppression files: the line numbers reported in error messages were not correct. As an example, the following output was produced before this patch (not correct): $ ./vg-in-place --tool=helgrind --num-callers=1 /bin/true ... FATAL: in suppressions file ".in_place/default.supp" near line 893: suppression must contain at least one location line which is not "..." exiting now. $ ./vg-in-place --tool=drd --num-callers=1 /bin/true FATAL: in suppressions file ".in_place/default.supp" near line 475: suppression must contain at least one location line which is not "..." exiting now. After having applied this patch the above commands display line numbers 1104 and 619, referring to the first suppression pattern containing three dots for the topmost stack frame, as expected. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10632 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
35db56c19847654f22b62da059083d41ff4258c5 |
|
24-Jul-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
A fix for bug 186796: suppression symbol names were being truncated if they were longer than 200 chars. Now dynamic memory is used and so they can be arbitrarily long in theory, although in practice it bombs out at 100,000 for sanity purposes. This required adjusting the core/tool interface for read_extra_suppression_info(). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10581 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
738856f99eea33d86ce91dcb1d6cd5b151e307ca |
|
15-Jul-2009 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge coregrind/ changes from branches/MESSAGING_TIDYUP r10464. This commit tidies up and rationalises what could be called the "messaging" system -- that part of V to do with presenting output to the user. In particular it brings significant improvements to XML output. Changes are: * XML and normal text output now have separate file descriptors, which solves longstanding problems for XML consumers caused by the XML output getting polluted by unexpected non-XML output. * This also means that we no longer have to hardwire all manner of output settings (verbosity, etc) when XML is requested. * The XML output format has been revised, cleaned up, and made more suitable for use by error detecting tools in general (various Memcheck-specific features have been removed). XML output is enabled for Ptrcheck and Helgrind, and Memcheck is updated to the new format. * One side effect is that the behaviour of VG_(message) has been made to be consistent with printf: it no longer automatically adds a newline at the end of the output. This means multiple calls to it can be used to build up a single line message; or a single call can write a multi-line message. The ==pid== preamble is automatically inserted at each newline. * VG_(message)(Vg_UserMsg, ..args..) now has the abbreviated form VG_(UMSG)(..args..); ditto VG_(DMSG) for Vg_DebugMsg and VG_(EMSG) for Vg_DebugExtraMsg. A couple of other useful printf derivatives have been added to pub_tool_libcprint.h, most particularly VG_(vcbprintf). * There's a small change in the core-tool interface to do with error handling: VG_(needs_tool_errors) has a new method void (*before_pp_Error)(Error* err) which, if non-NULL, is called just before void (*pp_Error)(Error* err). This is to give tools the chance to look at errors before any part of them is printed, so they can print any XML preamble they like. * coregrind/m_errormgr.c has been overhauled and cleaned up, and is a bit simpler and more commented. In particular pp_Error and VG_(maybe_record_error) are significantly changed. The diff is huge, but mostly very boring. Most of the changes are of the form - VG_(message)(Vg_UserMsg, "this is a message %d", n); + VG_(message)(Vg_UserMsg, "this is a message %d\n", n); Unfortunately as a result of this, it touches a large number of source files. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10465 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
cc37d2eea056805a5033e608dd557be84fadcd16 |
|
24-Jun-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Abort if a dir is given to --suppressions. Fixes bug 197456. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10366 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
cda2f0fbda4c4b2644babc830244be8aed95de1d |
|
18-May-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merged non-Darwin-specific parts of r9397,r9423,r9490, 9461, 9462 from the DARWIN branch. A big ugly DARWIN/trunk sync commit, mostly to do with changing the representation of SysRes and vki_sigset_t. Functionality of the trunk shouldn't be changed by it. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9876 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
3a4b58f812bb0dd4cdb20b2869629845a683191d |
|
08-May-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix up some stack trace inconsistencies: - When printing suppressions, never print more entries than there are in the stack. This avoids bogus suppressions in some cases! (I haven't seen them on Linux, but I have seen them on Darwin.) - When getting a stack trace, stop if we get an IP of zero or one; that means we've hit the end of the stack. And don't include that entry in the stack trace, because it's a guaranteed "???" if it's ever printed which is useless. - In VG_(apply_StackTrace), we can now rely entirely on the n_ip parameter rather than looking for 0 or -1, because that check is done when the stack trace is first obtained. In other words, stack traces all use an n_ip parameter to record their size, whereas previously they used an odd mixture of n_ip and null-termination. - Rename 'n_ips' variables as 'max_n_ips' where appropriate; those left as 'n_ips' truly describe how many IPs there are in the stack trace. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9793 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
4c245e595b9f6300d3120408ca873f7115d9cc7d |
|
16-Mar-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix all the non-VEX problems identified with the Clang Static Analyzer. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9416 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
6f74a7ef1768dd3925cc22869b4e5e24e9338d08 |
|
12-Mar-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Added some shortcuts for VG_(message)(), and used them in a few places (but certainly not all). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9367 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
9f207460d70d38c46c9e81996a3dcdf90961c6db |
|
10-Mar-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Updated copyright years. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9344 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
6b7611bf42a0fbb62e047d8c43b008205bd21e75 |
|
11-Feb-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Cleaned up the demangling mess: - Now more clearly distinguishing between C++-demangling, Z-demangling, and below-main renaming, particularly in 'get_sym_name'. - --demangle=no no longer prevents Z-demangling, which makes more sense, although it's unlikely to affect anyone. - Broke the circular dependency between m_demangle and m_debuginfo by moving below-main renaming into m_debuginfo. - Renamed some get_fnname_* functions to make their effect clearer, and improved their comments. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9138 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
d7a02db0e48d2f7681a555a4594ff10f2ef54530 |
|
12-Dec-2008 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add a new module, m_seqmatch, which does very simple sequence (regexp) matching, in the function VG_(generic_match). Patterns to be matched against may contain only '*'-style wildcards (matches any number of elements, we don't care what they are), '?' wildcards (matches exactly one element, we don't care what it is) and literal elements. It is totally abstractified, in the sense that the pattern and input arrays may be arrays of anything. The caller provides enough information so that VG_(generic_match) can step along both arrays, and can ask the questions "is this pattern element a '*' ?", "is this pattern element a '?' ?", and "does this pattern element match an input element ?". The existing function VG_(string_match) is reimplemented using VG_(generic_match), although the ability to escape metacharacters in the pattern string is removed -- I don't think it was ever used. In m_errormgr, matching of suppression stacks (including wildcard "..." lines) against error stacks is re-implemented using VG_(generic_match). Further detailed comments are in m_seqmatch.h and pub_tool_seqmatch.h. A negative side effect is that VG_(string_match) will be much slower than before, due to the abstractification. It may be necessary to reimplement a specialised version later. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8816 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
8a36076a2b9da1d37486b7bdcc082be854cca58b |
|
08-Dec-2008 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix bug introduced by frame-level wildcarding changes for suppressions in r8725. (Konstantin Serebryany) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8813 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
9a0132d6e0912e9daac5ce46fcf36e43b676ebcb |
|
04-Nov-2008 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
* add some assertions to frame-level wildcarding mechanism * remove a couple of tabs * clarify related documentation a bit git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8727 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
5e519304088c312f7f46cbdf2c18f68dbe9d2954 |
|
04-Nov-2008 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Improvements to the suppression mechanism: * Allow frame-level wildcarding in suppressions. Based on a patch by Akos PASZTORY. Fixes #151612. With this change, a line "..." in a suppression stacktrace matches any number of frames, including zero. * Show line numbers in syntax errors when parsing supp files. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8725 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
89c5bd8258d0483ba7c100c08174a0e15ab9e610 |
|
23-Oct-2008 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Read suppression files in 256 byte chunks, not 64 byte chunks. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8698 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
9c606bd8634cd6b67bb41fa645b5c639668cfa2d |
|
18-Sep-2008 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge all remaining changes from branches/PTRCHECK. These are some relatively minor extensions to m_debuginfo, a major overhaul of m_debuginfo/readdwarf3.c to get its space usage under control, and changes throughout the system to enable heap-use profiling. The majority of the merged changes were committed into branches/PTRCHECK as the following revs: 8591 8595 8598 8599 8601 and 8161. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8621 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
a0b6b2cf9abc7b0d87be1215a245eaccc0452af9 |
|
07-Jul-2008 |
bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merged FORMATCHECK branch (r8368) to trunk. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8369 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
7cf4e6b6aed533af53339f36099ed244dc4a5b7f |
|
01-May-2008 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge branches/OTRACK_BY_INSTRUMENTATION into the trunk. This adds support to Memcheck for tracking the origin of uninitialised values, if you use the --track-origins=yes flag. This currently causes some Memcheck regression tests to fail, because they now print an extra line of advisory text in their output. This will be fixed. The core-tool interface is slightly changed. The version number for the interface needs to be incremented. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7982 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
b8b79addf04dd5d0b558916e26df0b1927cbd758 |
|
03-Mar-2008 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge in the DATASYMS branch. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7540 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
4d474d086188fd1f29fa97dbd84d8ea2e589a9b8 |
|
11-Feb-2008 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Update copyright dates ("200X-2007" --> "200X-2008"). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7398 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
7d7ddd2df8adcae7694bdb85a5e51148352cad99 |
|
19-Nov-2007 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Minor tidyings to the debugger-attach code, as part of a failed attempt to fix debugger attach on ppc32-linux and ppc64-linux (see #151908). The fork/ptrace-based mechanism works fine for x86-linux and amd64-linux but not on ppc. I have no idea what is going on. It seems like the forked child process (to which we will attach GDB) does not stop when it does PTRACE_TRACE_ME and so things go downhill very rapidly after that. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7184 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
adb102f8a53d100cf2d68a1a00bb24a4bcd2b049 |
|
10-Nov-2007 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge (from branches/THRCHECK) the following two changes to the core-tool interface: r6805: Modify two thread-notification events in the core-tool interface. This removes track_post_thread_create and track_post_thread_join. The core can only see low level thread creation and exiting, and has no idea about pthread-level concepts like "pthread_create" and "pthread_join", so these are a bit ambiguous. Replace them with track_pre_thread_ll_create, which is notified before a new thread makes any memory references, and track_pre_thread_ll_exit, which is notified just before the new thread exits, that is, after it has made its last memory reference. r6823: Core-tool interface: give 'needs_tool_errors' an extra Boolean indicating whether or not the core should print thread id's on error messages. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7123 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
c6f43dd25ff5fcb35c958ea3cfab6e154157e41f |
|
07-Apr-2007 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix out of date comment. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6696 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
fb289bc5cac4f2493c36579f7d091ce183c3fc55 |
|
13-Jan-2007 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix a bug reported by Bruce Lowekamp involving the interaction of --gen-suppressions with leak checking. Added a regtest for it. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6514 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
9ebd6e0c607fa30301b1325874eb8de871c21cc5 |
|
08-Jan-2007 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Update copyright dates. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6488 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
718d3b11d1d3f2665c05b5670893baf1ad068401 |
|
16-Dec-2006 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Completely overhauled the internals of Memcheck's error handling. All the different error kinds were reusing the same struct for storing their details. Each one used some but not all the fields, and the AddrInfo was similar, and it was very confusing. So I changed MC_Error and AddrInfo to be tagged unions, like Vex's IRExpr and IRStmt types. The resulting code is a little more verbose but much easier to understand. I also split up several error kinds, which also made things simpler. The user-visible behaviour is identical except for a couple of very minor things that I've documented in the NEWS file for the 3.3.0 release. Ideally I'd get rid of the Addr and Char* fields in the core Error type, which are not always used, and do them similarly within tools. But that would require changing the core/tool interface, so I'm leaving it for the moment. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6402 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
a86f29edc3d1daaf084736744a4a88c3c970e3f7 |
|
14-Dec-2006 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Removed the unused pthread_model and thread_model modules. Mostly commented out the unused stuff relating to ThreadErrs and MutexErrs, which no longer exist. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6399 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
39745bedb5e9146945fa46c3157ef420dd9d7902 |
|
06-Dec-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
When generating suppressions, remember to Z-demangle function names, since the suppression-matching machinery does the same. Not doing so causes auto-generated suppressions involving Z-mangled fn names to not work. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6377 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
8a7d4e41e902b91e3b0c9a48a7f124e007270bdf |
|
17-Oct-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge r6134: Accumulate statistics about the number of searches in the errors and suppressions lists, and rearrange the suppressions list when searching to reduce cost of future searches. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6271 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
4cfea4f9480393ed6799db463b2e0fb8865a1a2f |
|
14-Oct-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Create a new module, m_vki, and move all knowledge about the kernel interface, except for the syscall numbers, into that. Mostly this means moving include/vki-*.h to include/vki/vki-*.h. include/pub_tool_basics.h previously dragged in the entire kernel interface. I've done away with that, so that modules which need to see the kernel interface now have to include pub_{core,tool}_vki.h explicitly. This is why there are many modified .c files -- they have all acquired an extra #include line. This certainly breaks all platforms except x86. Will fix shortly. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6225 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
c0c6703665aae6f700a8050bbff1bac4ffdd5df7 |
|
25-Jun-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Make 'c'/'C' work again with --gen-suppressions=yes. I wonder how long this has been broken. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5978 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
e4b0bf07b0ee0a18eacc5aba91686ab5fc1d327b |
|
06-Jun-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Update copyright dates. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5954 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
513646f829e6b0ca344f39278ebdd6503021adbf |
|
13-May-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Increase number of unsuppressed errors shown before cutoff by a factor of 100. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5895 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
da646ca3581da537e695d7f8d141ce946c75b2c6 |
|
19-Jan-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add handy debugging line. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5552 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
0c95e94771523b0866a4f346a4f217a5c53527ea |
|
18-Jan-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix an all-platforms bug introduced by the recent overhaul of function interception and wrapping. This was causing failures matching function names in suppressions to function names in backtraces when the latter names were Z-encoded (eg malloc), which typically caused all leak suppressions to fail because they contain names such as malloc, which are Z-encoded. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5548 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
0ec07f32bbbb209d749b9974408e6f025ad40b31 |
|
12-Jan-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge in function wrapping support from the FNWRAP branch. That branch hereby becomes inactive. This currently breaks everything except x86; fixes for amd64/ppc32 to follow. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5520 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
f7ba703272508418c69ae69d7b5865df5accbca9 |
|
19-Dec-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix a minor --gen-suppressions output bug. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5382 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
f349d55d40891b890d0da268cfb9f092af0fc8f4 |
|
14-Nov-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
In XML mode, emit a closing </valgrindoutput> on various kinds of failures, so as to help parsers stop parsing: - after any kind of assertion failure or panic - if suppression file is missing or has a syntax error git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5130 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
1d1a226e21cc1e6d9d104ee18a2c74e86755b595 |
|
20-Oct-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Increase the threshold above which new errors are not shown from 300 unique / 30000 total to 1000 unique / 100000 total. Programs are generally bigger now than 3 years ago. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4957 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
966d663d9defe1187ad842e0b322d74ed0f96ab6 |
|
18-Aug-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Make it possible to match against "???" line in suppressions, using "obj:*" or "fun:*". Also generate "obj:*" for such lines with --gen-suppressions. Includes a regtest. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4447 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
3a24e7281789efc71c9ddbd097a8590499647aaf |
|
10-Aug-2005 |
cerion <cerion@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
fixed endianness bug for ppc xml output git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4358 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
753673f80e8a260ad5f2ca479f9254089e920b5a |
|
10-Aug-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Print all XML output with a consistent nesting style, so as to make it easier to compare it to the output of other XML generating tools. Regtest expected-output changes to follow. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4356 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
3961820c3f425b2165a1d7a440d2f0290129e04a |
|
09-Aug-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
When printing error counts, print the <unique> in the same way that it is in the error itself. Otherwise it's totally useless :-) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4355 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
9264559eba4aa5d397a278b4e1a50c03de30693f |
|
23-Jul-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
A commit which is almost all trivial change. - m_main: if --log-file-qualifier applies, do not add ".pid" at the end of the name - Fix the logic which detected whether the just-devised name already existed. This was broken (by me) because it could not distinguish the reasons for failing to open the logfile. Doing this required changing the return type of VG_(open) from Int to SysRes (to make failure reasons visible) and that's the cause of most of the changes. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4228 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
97f7e0c3d6133599ce570066a7e4651e220f1244 |
|
19-Jul-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Use %t rather than %s in some places for constructing XML output. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4188 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
b0eb66ec386e9238e76037823f1d0116fb339f95 |
|
10-Jul-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Remove dead code. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4145 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
dbada27b0fe85cc1437328f0cbde0cf2cd649bd8 |
|
02-Jul-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Make the unique tags printed on XML errors actually unique. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4091 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
0087c501c6356fb083c0ea12d87263aca7abf25a |
|
01-Jul-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Move the last remaining tests out of corecheck. Also introduced VG_(showing_core_errors)() to make core error display more consistent. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4073 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
8a0517290410d5befa62674f85b1a3799920e2b9 |
|
30-Jun-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
A couple more XML cases that slipped through the net. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4056 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
0407f6586a61bb756b8b618561d612c7cd861c6f |
|
30-Jun-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
XML output wibble (purely decorative) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4055 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
d0d7c1fc4e59b97115620fdae795f1128bda2d31 |
|
21-Jun-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Don't #include pub_core_stacktrace.h in pub_core_execontext.h. So a few places have to #include pub_core_stacktrace.h themselves, but that's ok because explicit is better. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3976 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
24a6efb2f94eb0cb5d53174d580e1dc00893a6d6 |
|
20-Jun-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Remove some unnecessary #includes, comment some others. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3966 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
75b65aa8c262221bfabb9159dddd7ad20538c459 |
|
19-Jun-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Moved VG_(start_debugger) out of m_main.c into its own module, m_debugger. This removes the dependence of m_signals.c and m_errormgr.c on m_main.c. It required also moving VG_(clexecfd) out of m_main.c; I put it in m_libcproc.c which seemed like an ok-but-not-great choice. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3957 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
394213a582d2c388eea41c142b4455fb8c2c48a4 |
|
19-Jun-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Move VG_(bbs_done) out of main and make it local in scheduler.c. This removes the dependence of m_translate.c and m_libcassert.c on m_main.c. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3954 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
c7561b931e249acf3768ead77638545b0ccaa8f1 |
|
19-Jun-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Final commit for the initial modularisation pass: - Broke part of m_scheduler off into a new module m_threadstate. It contains ThreadState, VG_(threads)[] and some basic operations on the thread table. All simple stuff, the complex stuff stays in m_scheduler. This avoids lots of circular dependencies between m_scheduler and other modules. - Managed to finally remove core.h and tool.h, double hurrah! - Introduced pub_tool_basics.h and pub_core_basics.h, one of which is include by every single C file. - Lots of little cleanups and changes related to the above. - I even did a small amount of documentation updating. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3944 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
f39e9a36dca9642668a66c6b054f81c88650bcb9 |
|
12-Jun-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Finished the modularisation of vg_mylibc.c, which meant it could be removed. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3894 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
83f9e797e6b131b47bc729b0277e4383548394a7 |
|
11-Jun-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Remove VG_ERRTXT_LEN from core.h. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3886 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
af1d7dfc9412c09d24ea10118f3fd1082f92e49d |
|
11-Jun-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Having moved VG_(arena_strdup)() out of core.h, core.h no longer needs to #include pub_core_mallocfree.h. As a result, we need to #include it explicitly everywhere else. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3881 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
eb8896b58301a0a7a34281384d705072994369f0 |
|
04-Jun-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Modularised file and socket libc stuff in m_libcfile. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3844 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
132bfccd21960e462352175f8553a5bdce8a210c |
|
04-Jun-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Modularised assertions and panics in m_libcassert. As part of this, killed the VG_STRINGIFY macro, which was used to expand out names like "VG_(foo)" and "vgPlain_foo" in assertion failure messages. This is good since we actually want the "VG_(foo)" form used in these messages. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3842 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
36a20fa5f779a0a6fb7b4a90dcaa6376481f1faa |
|
03-Jun-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Modularise printing functions in m_libcprint. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3840 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
97405b2d134b52880d6dbec3eb2929e2002c2542 |
|
02-Jun-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Started modularising vg_mylibc. Put all the standalone stuff -- ie. not relying on any other modules -- in m_libcbase. Also converted the 'size' parameters to functions like VG_(memcpy) and VG_(strncpy) from Int to SizeT, as they should be. Also removed VG_(atoll16) and VG_(toupper), which weren't being used. Also made VG_(atoll36) less flexible -- it now only does base-36 numbers instead of any base in the range 2..36, since base-36 is the only one we need. As part of that, I fixed a horrible bug in it which caused it to return incorrect answers for any number containing the digits 'A'..'I'! (Eg. for "A; it would return 17 instead of 10!) Had to disable the assertions in VG_(string_match), since this module can't see vg_assert, which wasn't ideal but also isn't a disaster. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3838 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
8665d8e0fee10c1d1f04f15055262acc8d30f126 |
|
01-Jun-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Minor refinements/bug-fixes to XML printing. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3837 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
ea27e4627518665dd6c81213c0ba1f7ff0218e1a |
|
31-May-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Modularised all the debug info stuff as m_debuginfo/. It's a mess and needs further cleaning up, but it's a start. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3821 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
04e1698d9f92df36742be7c1e0fefb9af1c5b1bd |
|
31-May-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Modularised vg_main.c as m_main.c. Moved some stuff out of it to reduce the number of files that depend on it, but there are still some which should be removed in the future. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3819 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
7c9e57c3c537a600af1d34a8abbbd14480c9e397 |
|
24-May-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
XML output futzing-around-with. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3794 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
9f297ca50245f24b23fada944e2f5268d313eb96 |
|
20-May-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Print error counts in the XML output. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3779 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
71bc3cbb1b6da72fe1d3a9fea90e53847c5b0a6f |
|
19-May-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
First pass at adding ability for Memcheck to print all output in XML form. The relevant flag is --xml=yes. Currently this only works with Memcheck. Specifying this flag fixes various other options relating to verbosity and behaviour of the leak checker, so that the resulting output is in a relatively fixed form suitable for parsing by GUIs. Still to do: * Add mechanism to show error counts * Add regression test * Document the resulting format git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3773 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
2024234c590f408994b373abfb00bc2cd2a90c48 |
|
17-May-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Added module m_options for holding all the command-line option stuff. Perhaps parts of process_cmd_line_option() should go in here, but I've not done that for now. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3751 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
bc93cc0ffc967367b56b0196dae205e731046bfa |
|
15-May-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
bugfix: don't print bogus "obj:" lines when generating suppressions. Thanks to Julian for spotting and diagnosing it. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3728 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
02bc4b8f54227320aa2b9ac4805173e0e2e3eeae |
|
15-May-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Don't mix backticks and apostrophes when quoting words -- eg. use 'foo' rather than `foo', as www.cl.cam.ac.uk/~mgk25/ucs/quotes.html explains we should (in more detail than you'd imagine was possible). I did this both in output messages and in some comments, for consistency. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3723 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
3cbfbc1be6a4334e57ec4213a8044c1180836b8d |
|
14-May-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Modularised vg_translate.c as m_translate. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3700 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
43b9a8abb139b86a24457fa3c19b9cb60ca17c3a |
|
10-May-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Modularised the core/tool interface ('details', 'needs' and VG_(tdict)) into a new module m_tooliface. Pretty straightforward. Touches a lot of files because many files use this interface and so need to include the headers for the new module. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3652 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
51d827bcd88ce045a383ea1ca81768757df2d1fa |
|
09-May-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Big clean-up: changed the core/tool interface to be mediated entirely through the VG_(tdict) function dictionary, rather than using TL_(foo) functions. This facilitated the following changes: - Removed the "TL_" prefix, which is no longer needed. - Removed the auto-generated files vg_toolint.[ch], which were no longer needed, which simplifies the build a great deal. Their (greatly streamlined) contents went into core.h and vg_needs.h (and will soon go into a new module defining the core/tool interface). This also meant that tool.h.base reverted to tool.h (so no more accidentally editing tool.h and not having the changes go into the repo, hooray!) And gen_toolint.pl was removed. And toolfuncs.def was removed. - Removed VG_(missing_tool_func)(), no longer used. - Bumped the core/tool interface major version number to 8. And I killed the minor version number, which was never used. The layout of the ToolInfo struct is such that this should not cause problems. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3644 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|
267100d2a8495dd214d4f55351c469c23a18391d |
|
24-Apr-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Rename the first three modules as per naming scheme. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3555 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_errormgr.c
|