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_sigframe/sigframe-amd64-linux.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_sigframe/sigframe-amd64-linux.c
|
97f1d337555234c20f3f1d0dd0b22b2a7d571616 |
|
06-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@15501 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.c
|
8eb8bab992e3998c33770b0cdb16059a8b918a06 |
|
21-Jul-2015 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Bug 345248 - add support for Solaris OS in valgrind Authors of this port: Petr Pavlu setup@dagobah.cz Ivo Raisr ivosh@ivosh.net Theo Schlossnagle theo@omniti.com git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15426 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.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_sigframe/sigframe-amd64-linux.c
|
7d4a28b986eaf98814c530a2074e117145b14d1f |
|
23-Apr-2015 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix an assertion in the address space manager. BZ #345887. The VG_(extend_stack) call needs to be properly guarded because the passed-in address is not necessarily part of an extensible stack segment. And an extensible stack segment is the only thing that function should have to deal with. Previously, the function VG_(am_addr_is_in_extensible_client_stack) was introduced to guard VG_(extend_stack) but it was not added in all places it should have been. Also, extending the client stack during signal delivery (in sigframe-common.c) was simply calling VG_(extend_stack) hoping it would do the right thing. But that was not always the case. The new testcase none/tests/linux/pthread-stack.c exercises this (3.10.1 errors out on it). Renamed ML_(sf_extend_stack) to ML_(sf_maybe_extend_stack) and add proper guard logic for VG_(extend_stack). Testcases none/tests/{amd64|x86}-linux/bug345887.c by Ivo Raisr. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15138 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.c
|
01fcf6a890ad645e4ccbf731264f19f850898c5e |
|
18-Apr-2015 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Factor out the 'extend' function. We only need one version for Linux and one for Darwin. Down from 11. Carve out a new function 'track_frame_memory' that communicates to the tool the allocation of a new stack frame. This was slightly different on Linux and Darwin but should be the same on both platforms. New files: priv_sigframe.h and sigframe-common.c git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15109 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.c
|
15fa8a2f9b64e24c76ef88d8bf660ea2296f0c36 |
|
03-Mar-2015 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Produce a user message in case of stack overflow. Change VG_(extend_stack) and VG_(am_extend_into_adjacent_reservation_client) accordingly. Remove some redundant checking. Add testcase. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14974 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.c
|
4574f765dc1bf14a73ad769d11580cee71523ac3 |
|
08-May-2014 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
When constructing a signal frame, tell the tool that the registers that carry the arguments (signo, siginfo, mcontext) for the handler, have been written. In particular this makes Memcheck think (correctly) they are defined and so removes a bunch of false positives that can happen in the signal handler, should the registers have been marked undefined before the signal. The same fix needs to be applied to various other of these sigframe-*.c files. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13943 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.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_sigframe/sigframe-amd64-linux.c
|
ef91fceedfd6134c6be1e135ad68c96c51c3265e |
|
16-Dec-2012 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Make sure the stack pointer is properly aligned when invoking a signal on amd64-linux systems. The amd64 ABI describes the required alignment on function entry as follows: "In other words, the value (%rsp − 8) is always a multiple of 16 when control is transferred to the function entry point. So we need to 16 byte align and then subtract an extra 8 bytes to achieve the correct alignment. Patch from fjgmacc@gmail.com to fix BZ#280114. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13182 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.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_sigframe/sigframe-amd64-linux.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_sigframe/sigframe-amd64-linux.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_sigframe/sigframe-amd64-linux.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_sigframe/sigframe-amd64-linux.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_sigframe/sigframe-amd64-linux.c
|
8b68b64759254d514d98328c496cbd88cde4c9a5 |
|
24-Jun-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
This commit merges the BUILD_TWEAKS branch onto the trunk. It has the following improvements: - Arch/OS/platform-specific files are now included/excluded via the preprocessor, rather than via the build system. This is more consistent (we use the pre-processor for small arch/OS/platform-specific chunks within files) and makes the build system much simpler, as the sources for all programs are the same on all platforms. - Vast amounts of cut+paste Makefile.am code has been factored out. If a new platform is implemented, you need to add 11 extra Makefile.am lines. Previously it was over 100 lines. - Vex has been autotoolised. Dependency checking now works in Vex (no more incomplete builds). Parallel builds now also work. --with-vex no longer works; it's little use and a pain to support. VEX/Makefile is still in the Vex repository and gets overwritten at configure-time; it should probably be renamed Makefile-gcc to avoid possible problems, such as accidentally committing a generated Makefile. There's a bunch of hacky copying to deal with the fact that autotools don't handle same-named files in different directories. Julian plans to rename the files to avoid this problem. - Various small Makefile.am things have been made more standard automake style, eg. the use of pkginclude/pkglib prefixes instead of rolling our own. - The existing five top-level Makefile.am include files have been consolidated into three. - Most Makefile.am files now are structured more clearly, with comment headers separating sections, declarations relating to the same things next to each other, better spacing and layout, etc. - Removed the unused exp-ptrcheck/tests/x86 directory. - Renamed some XML files. - Factored out some duplicated dSYM handling code. - Split auxprogs/ into auxprogs/ and mpi/, which allowed the resulting Makefile.am files to be much more standard. - Cleaned up m_coredump by merging a bunch of files that had been overzealously separated. The net result is 630 fewer lines of Makefile.am code, or 897 if you exclude the added Makefile.vex.am, or 997 once the hacky file copying for Vex is removed. And the build system is much simpler. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10364 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.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_sigframe/sigframe-amd64-linux.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_sigframe/sigframe-amd64-linux.c
|
8b24302b577dd0d6b57d4791d2f8f4cafbe8d19d |
|
13-Jun-2008 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Propagate the error number in x86 signal contexts to the client. Fixes bug #163933. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8229 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.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_sigframe/sigframe-amd64-linux.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_sigframe/sigframe-amd64-linux.c
|
adacaf928b87b3921af283cf9e0eca55ccaaad96 |
|
21-Dec-2007 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Propagate the ucontext information with a received signal to the signal frame constructors and use it (on x86 and amd64) to fill in the trap number in the signal context information. Needed for wine which likes to look at the trap number... git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7305 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.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_sigframe/sigframe-amd64-linux.c
|
3f7bbfa9f7033196caf94cd7ca3554e6d3cb5ecf |
|
17-Oct-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Track VG_(am_find_nsegment) const-ness change. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6290 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.c
|
53c0dc942ecc679acfd34035de69549f321d2405 |
|
14-Oct-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Unbreak amd64-linux after recent commits. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6229 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.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_sigframe/sigframe-amd64-linux.c
|
f665b3418a6c705fe858070206756794a4148f8a |
|
15-Feb-2006 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Restore RIP on return from a signal handler on amd64 - mirrors the change in revision 5641 to restore EIP on x86. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5652 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.c
|
f4c231081a5c8ff6f24b3fa1980349199f1d9ea3 |
|
31-Oct-2005 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Get core dumping working again - the architecture specific code that was in the sigframe module has been moved into the coredump module where it belongs and things fixed up to compiler again. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4970 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.c
|
45f4e7c91119c7d01a59f5e827c67841632c9314 |
|
27-Sep-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
This commit merges in changes from branches/ASPACEM (specifically, changes from r4341 through r4787 inclusive). That branch is now dead. Please do not commit anything else to it. For the most part the merge was not troublesome. The main areas of uncertainty are: - build system: I had to import by hand Makefile.core-AM_CPPFLAGS.am and include it in a couple of places. Building etc seems to still work, but I haven't tried building the documentation. - syscall wrappers: Following analysis by Greg & Nick, a whole lot of stuff was moved from -generic to -linux after the branch was created. I think that is satisfactorily glued back together now. - Regtests: although this appears to work, no .out files appear, which is strange, and makes it hard to diagnose regtest failures. In particular memcheck/tests/x86/scalar.stderr.exp remains in a conflicted state. - amd64 is broken (slightly), and ppc32 will be unbuildable. I'll attend to the former shortly. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4789 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.c
|
af839f52d74df156d655201a889954133ab01be7 |
|
23-Jun-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Removed the VGA_/VGO_/VGP_ prefixes for arch/OS/platform-specific things. These made sense when the arch/OS/platform-specific code was in one module, but as that code got mixed in with generic code the boundary between generic and non-generic blurred, and the distinction made less sense. So let's get rid of them. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4002 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.c
|
b9bce63768e46a4db0e09c7bc5279fcdd054d19d |
|
21-Jun-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Simplify the implementation of m_trampoline and the stuff that refers to it. Now there are no more offsets and no copying of code into the stack. We just redirect directly to entry points in m_syscalls.S. This will mess up pointercheck, since the redirect targets are now in Valgrind's address space, not the client's. But pointercheck is hosed anyway, and I'd rather back off to something simple whilst ppc32 is stabilised. When the address space management stuff is overhauled then pointercheck may or may not get reinstated, and if it does then the trampoline stuff will need revisiting. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3977 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.c
|
899ce73b9eb1f679562e93f8e5c162aa049413f1 |
|
21-Jun-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Don't #include pub_core_debuginfo.h in pub_core_aspacemgr.h. So have to #include it explicitly in lots of other places, but at least the dependency is clear now. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3974 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.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_sigframe/sigframe-amd64-linux.c
|
a7598f6889c553cc35d7d774c465a2bef7414350 |
|
18-Jun-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Moved the code trampoline stuff into a new module, m_trampoline. Not certain this was the right thing to do, but that stuff sure as hell didn't fit in any of the existing modules. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3929 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.c
|
f536bbbd4bf2024926574c5ed99b3e6251c6ff44 |
|
13-Jun-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Created m_machine, for various machine-related things. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3903 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.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_sigframe/sigframe-amd64-linux.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_sigframe/sigframe-amd64-linux.c
|
13bfd85dfab2cd301c92e308b274ebd17de830d2 |
|
02-Jun-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Rename *ROUND* as VG_*ROUND* to be consistent with everything else. Also make them tool-visible, so that Memcheck and Helgrind don't have to defined their own versions! git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3839 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.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_sigframe/sigframe-amd64-linux.c
|
0c24647c0e69c8da8e7683ae9e75526c5d7185a5 |
|
31-May-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Modularised vg_signals.c as m_signals.c. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3820 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.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_sigframe/sigframe-amd64-linux.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_sigframe/sigframe-amd64-linux.c
|
a60a7c1e253ae622f18530386a1ff5f545b835ac |
|
08-May-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Rename some _SIZE macros as _SZB to make their units clear. This change is in response to a mixed-units (bytes and words) error we had involving VGA_STACK_REDZONE_SIZE (which is now VGA_STACK_REDZONE_SZB). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3639 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.c
|
2bc10126a94b421a490b2759dc50ab67ec4ee116 |
|
08-May-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
A crucial, crucial change: update my email address. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3632 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.c
|
502badba9295bed75390a8b4c4cb57f518d6411f |
|
08-May-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Cleanups of syscall-related macros: - Got rid of SET_THREAD_REG and some of the related macros, hallelujah. Replaced SET_SYSCALL_RETVAL with VGP_TRACK_SYSCALL_RETVAL, which avoids the redundant resetting of the syscall's return value. The other remaining two related macros, SET_CLREQ_RETVAL and SET_CLCALL_RETVAL, were able to be moved to vg_scheduler.c rather than being global, hoorah. - Passed the required syscall args to VG_(do_sys_sigaltstack)(), rather than grabbing them from within, removing its reliance on SYSCALL_ARG[12]. It also makes the VG_(do_sys_sig*)() functions more consistent. - As a result of these changes, was able to remove the SYSCALL_NUM, SYSCALL_RET and SYSCALL_ARG[123456] macros, yay. - Replaced the implementations of VG_(set_return_from_syscall_shadow)() and VG_(get_exit_status_shadow)() with shorter ones that avoid using arch-state offsets. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3630 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.c
|
0ee4a950ef9fdd7c73f0346d7f027d757ee4e3b5 |
|
07-May-2005 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Rework signal stack handling to avoid doing arithmetic on void pointers and to avoid trashing the red zone while delivering a signal on the main stack on amd64 systems. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3628 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.c
|
cf941dace3648271af95ef9dbf6989c97530bb0d |
|
05-May-2005 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Allow for the red zone when generating new_mem_stack_signal and die_mem_stack_signal events. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3622 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.c
|
601371a48db73c35e6debc6428cb6fc1f1234347 |
|
25-Apr-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
amd64 build fixes. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3567 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.c
|
8a7fdd24af750630d41e476b8ff04aedf3656cde |
|
24-Apr-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Make amd64-linux build again after m_sigframe hackery. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3557 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.c
|
985fabb97295f59db3135bdd1ac627744a8abfb0 |
|
24-Apr-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Create a new module, "sigframe", responsible for creating/destroying signal frames. This commit looks worse than it is -- really just a load of moving-code-around. This is the first multiple-implementation module, in that it has a single interface (pub_core_sigframe.h) but multiple implementations, depending on the os-cpu pair. All the grotty details are hidden in the implementation in m_sigframe/; callers need be aware only of the interface. Yay. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3556 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_sigframe/sigframe-amd64-linux.c
|