3260a71774b2d4475b85b10fad0255e9cb638bdb |
|
23-Sep-2015 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge, from branches/VALGRIND_3_11_BRANCH, NEWS and docs/xml/vg-entities.xml. Bump version to 3.12.0.SVN. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15679 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
470e245039eeb703d2f887fa3ff4a1fef116d23e |
|
06-Sep-2015 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Bug 342008 - valgrind.h needs type cast for _zzq_default to compile with clang/llvm in 64-bit mode. (arm64, that is) Patch from chh@google.com. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15633 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
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/include/valgrind.h
|
f1c8e6c2748201f194d55893e89b3a1453c9b5bd |
|
12-Aug-2015 |
bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
valgrind.h: Suppress client request code generation on x32 Ensure that no code is generated for client requests on x32. From: Matthias Schwarzott <zzam@gentoo.org> git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15526 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
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/include/valgrind.h
|
112711afefcfcd43680c7c4aa8d38ef180e8811e |
|
10-Apr-2015 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add a port to Linux/TileGx. Zhi-Gang Liu (zliu@tilera.com) Valgrind aspects, to match vex r3124. See bug 339778 - Linux/TileGx platform support to Valgrind git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15080 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
87d812e99f0e33604b268410a677793ef76229d9 |
|
11-Feb-2015 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
arm32-linux: for the magic-call CALL_FN_* macros, add r12 to the asm trash list. Not doing so was causing r12 to get corrupted by the called function, which lead to some very strange failures in Helgrind on arm32. Fixes #344033. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14929 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
3540ee89957c352912f3ffb90484abb17cc60675 |
|
19-Nov-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Use unsigned long int instead of unsigned long long int on LP64 platforms. This avoids warnings when compiling with -pedantic. Fixes BZ #211926. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14732 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
38a74d2cc4670e3eb559adff51a376cd6ec98005 |
|
30-Aug-2014 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
The semantic of the stack bounds is not consistent or is not described. At various places, there were either some assumption that the 'end' boundary (highest address) was either not included, included, or was the highest addressable word, or the highest addressable byte. This e.g. was very visible when doing: ./vg-in-place -d -d ./helgrind/tests/tc01_simple_race|&grep regi giving --24040:2:stacks register 0xBEDB4000-0xBEDB4FFF as stack 0 --24040:2:stacks register 0x402C000-0x4A2C000 as stack 1 showing that the main stack end was (on x86) not the highest word but the highest byte, while for the thread 1, the registered end was a byte not part of the stack. The attached patch ensures that stack bounds semantic are documented and consistent. Also, some of the stack handling code is factorised. The convention that the patch ensures and documents is: start is the lowest addressable byte, end is the highest addressable byte. (the words 'min' and 'max' have been kept when already used, as this wording is consistent with the new semantic of start/end). In various debug log, used brackets [ and ] to make clear that both bounds are included. The code to guess and register the client stack was duplicated in all the platform specific syswrap-<plat>-<os>.c files. Code has been factorised in syswrap-generic.c The patch has been regression tested on x86, amd64, ppc32/64, s390x. It has been compiled and one test run on arm64. Not compiled/not tested on darwin, android, mips32/64, arm More in details, the patch does the following: coregrind/pub_core_aspacemgr.h include/valgrind.h include/pub_tool_machine.h coregrind/pub_core_scheduler.h coregrind/pub_core_stacks.h - document start/end semantic in various functions also in pub_tool_machine.h: - replaces unclear 'bottommost address' by 'lowest address' (unclear as stack bottom is or at least can be interpreted as the 'functional' bottom of the stack, which is the highest address for 'stack growing downwards'). coregrind/pub_core_initimg.h replace unclear clstack_top by clstack_end coregrind/m_main.c updated to clstack_end coregrind/pub_core_threadstate.h renamed client_stack_highest_word to client_stack_highest_byte coregrind/m_scheduler/scheduler.c computes client_stack_highest_byte as the highest addressable byte Update comments in call to VG_(show_sched_status) coregrind/m_machine.c coregrind/m_stacktrace.c updated to client_stack_highest_byte, and switched stack_lowest/highest_word to stack_lowest/highest_byte accordingly coregrind/m_stacks.c clarify semantic of start/end, added a comment to indicate why we invert start/end in register call (note that the code find_stack_by_addr was already assuming that end was included as the checks were doing e.g. sp >= i->start && sp <= i->end coregrind/pub_core_clientstate.h coregrind/m_clientstate.c renames Addr VG_(clstk_base) to Addr VG_(clstk_start_base) (start to indicate it is the lowest address, base suffix kept to indicate it is the initial lowest address). coregrind/m_initimg/initimg-darwin.c updated to VG_(clstk_start_base) replace unclear iicii.clstack_top by iicii.clstack_end updated clstack_max_size computation according to both bounds included. coregrind/m_initimg/initimg-linux.c updated to VG_(clstk_start_base) updated VG_(clstk_end) computation according to both bounds included. replace unclear iicii.clstack_top by iicii.clstack_end coregrind/pub_core_aspacemgr.h extern Addr VG_(am_startup) : clarify semantic of the returned value coregrind/m_aspacemgr/aspacemgr-linux.c removed a copy of a comment that was already in pub_core_aspacemgr.h (avoid double maintenance) renamed unclear suggested_clstack_top to suggested_clstack_end (note that here, it looks like suggested_clstack_top was already the last addressable byte) * factorisation of the stack guessing and registration causes mechanical changes in the following files: coregrind/m_syswrap/syswrap-ppc64-linux.c coregrind/m_syswrap/syswrap-x86-darwin.c coregrind/m_syswrap/syswrap-amd64-linux.c coregrind/m_syswrap/syswrap-arm-linux.c coregrind/m_syswrap/syswrap-generic.c coregrind/m_syswrap/syswrap-mips64-linux.c coregrind/m_syswrap/syswrap-ppc32-linux.c coregrind/m_syswrap/syswrap-amd64-darwin.c coregrind/m_syswrap/syswrap-mips32-linux.c coregrind/m_syswrap/priv_syswrap-generic.h coregrind/m_syswrap/syswrap-x86-linux.c coregrind/m_syswrap/syswrap-s390x-linux.c coregrind/m_syswrap/syswrap-darwin.c coregrind/m_syswrap/syswrap-arm64-linux.c Some files to look at more in details: syswrap-darwin.c : the handling of sysctl(kern.usrstack) looked buggy to me, and has probably be made correct by the fact that VG_(clstk_end) is now the last addressable byte. However,unsure about this, as I could not find any documentation about sysctl(kern.usrstack). I only find several occurences on the web, showing that the result of this is page aligned, which I guess means it must be 1+ the last addressable byte. syswrap-x86-darwin.c and syswrap-amd64-darwin.c I suspect the code that was computing client_stack_highest_word was wrong, and the patch makes it correct. syswrap-mips64-linux.c not sure what to do for this code. This is the only code that was guessing the stack differently from others. Kept (almost) untouched. To be discussed with mips maintainers. coregrind/pub_core_libcassert.h coregrind/m_libcassert.c * void VG_(show_sched_status): renamed Bool valgrind_stack_usage to Bool stack_usage if stack_usage, shows both the valgrind stack usage and the client stack boundaries coregrind/m_scheduler/scheduler.c coregrind/m_gdbserver/server.c coregrind/m_gdbserver/remote-utils.c Updated comments in callers to VG_(show_sched_status) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14392 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
582d58245637ab05272d89fb94b12fd0f18fa0f8 |
|
08-Aug-2014 |
carll <carll@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
This commit is for Bugzilla 334834. The Bugzilla contains patch 2 of 3 to add PPC64 LE support. The other two patches can be found in Bugzillas 334384 and 334836. POWER PC, add the functional Little Endian support, patch 2 The IBM POWER processor now supports both Big Endian and Little Endian. The ABI for Little Endian also changes. Specifically, the function descriptor is not used, the stack size changed, accessing the TOC changed. Functions now have a local and a global entry point. Register r2 contains the TOC for local calls and register r12 contains the TOC for global calls. This patch makes the functional changes to the Valgrind tool. The patch makes the changes needed for the none/tests/ppc32 and none/tests/ppc64 Makefile.am. A number of the ppc specific tests have Endian dependencies that are not fixed in this patch. They are fixed in the next patch. Per Julian's comments renamed coregrind/m_dispatch/dispatch-ppc64-linux.S to coregrind/m_dispatch/dispatch-ppc64be-linux.S Created new file for LE coregrind/m_dispatch/dispatch-ppc64le-linux.S. The same was done for coregrind/m_syswrap/syscall-ppc-linux.S. Signed-off-by: Carl Love <carll@us.ibm.com> git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14239 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
cae0cc22b83ffb260ee8379e92099c5a701944cb |
|
08-Aug-2014 |
carll <carll@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
This commit is for Bugzilla 334384. The Bugzilla contains patch 1 of 3 to add PPC64 LE support. The other two patches can be found in Bugzillas 334834 and 334836. The commit does not have a VEX commit associated with it. POWER PC, add initial Little Endian support The IBM POWER processor now supports both Big Endian and Little Endian. This patch renames the #defines with the name ppc64 to ppc64be for the BE specific code. This patch adds the Little Endian #define ppc64le to the Additionally, a few functions are renamed to remove BE from the name if the function is used by BE and LE. Functions that are BE specific have BE put in the name. The goals of this patch is to make sure #defines, function names and variables consistently use PPC64/ppc64 if it refers to BE and LE, PPC64BE/ppc64be if it is specific to BE, PPC64LE/ppc64le if it is LE specific. The patch does not break the code for PPC64 Big Endian. The test files memcheck/tests/atomic_incs.c, tests/power_insn_available.c and tests/power_insn_available.c are also updated to the new #define definition for PPC64 BE. Signed-off-by: Carl Love <carll@us.ibm.com> git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14238 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
c913c8e1a75c78cd653fec8076c07ee4bfb56824 |
|
15-May-2014 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Make the PLAT_ identification work properly for mingw-win64. Problem was that mingw64 also defines __MINGW32__, which led to the 32-bit definitions being used in the 64-bit case. n-i-bz. (Bernhard.Loos@ruecker.de) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13971 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
bd830b45bf40e077fb5c0ea6333a416971c253cd |
|
12-May-2014 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Update __VALGRIND_MINOR__ before it gets forgotten again. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13952 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
91e1460ca9b838a81fba6050f8a0eccf217ed010 |
|
16-Mar-2014 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
For arm64, implement macros CALL_FN_W_5W to CALL_FN_W_12W. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13875 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
bb9b1b9ac93f01cc216b548a6c8aeac59d4fd046 |
|
09-Mar-2014 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Supporting macros for function intercept and wrapping on arm64: * implement VALGRIND_ALIGN_STACK, VALGRIND_RESTORE_STACK * preserve r30(LR) across the hidden call, so as to avoid segfaulting later git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13859 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
0bc560ed9d401b12245b4b6a5364e13bc1383a54 |
|
22-Feb-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Bump __VALGRIND_MINOR__ to catch up with the release. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13831 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
4decb2697c3e367d9599b0ee8a11db8148bb7147 |
|
10-Feb-2014 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix the ppc32 special-instruction magic sequence so it really does preserve the value of r0, as claimed. Fixes #278808 (Valgrind side). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13797 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
f0c1250e324f6684757c6a15545366447ef1d64f |
|
12-Jan-2014 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add support for ARMv8 AArch64 (the 64 bit ARM instruction set). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13770 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
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/include/valgrind.h
|
aaaf21d21f5803b6b1a0fc558bb8db0fcb83a7a0 |
|
25-Aug-2013 |
bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
valgrind.h: Add MinGW64 support From: Makoto Kato <m_kato@ga2.so-net.ne.jp> git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13513 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
4df0bfc0614379192c780c944415dc420d9cfe8e |
|
28-Feb-2013 |
petarj <petarj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
mips: adding MIPS64LE support to Valgrind Necessary changes to Valgrind to support MIPS64LE on Linux. Minor cleanup/style changes embedded in the patch as well. The change corresponds to r2687 in VEX. Patch written by Dejan Jevtic and Petar Jovanovic. More information about this issue: https://bugs.kde.org/show_bug.cgi?id=313267 git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13292 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
46207652a0c99a2c8b0f05eafce3ca3ec533c121 |
|
20-Jan-2013 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Implement --merge-recursive-frames + provide VALGRIND_MONITOR_COMMAND client req. In a big applications, some recursive algorithms have created hundreds of thousands of stacktraces, taking a lot of memory. Option --merge-recursive-frames=<number> tells Valgrind to detect and merge (collapse) recursive calls when recording stack traces. The value is changeable using the monitor command 'v.set merge-recursive-frames'. Also, this provides a new client request: VALGRIND_MONITOR_COMMAND allowing to execute a gdbsrv monitor command from the client program. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13246 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
c379fec53a1e7a2ba8698f339ad67e370c9f0886 |
|
03-Sep-2012 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Use "orr r9,r9,r9" as the magic insn for IR injection on ARM and Thumb, since r13 is disallowed for many instructions in the Thumb encoding. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12956 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
4d261bbb67135fef7b1f947b025a0ff6b512cc57 |
|
29-Aug-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add VALGRIND_VEX_INJECT_IR for ppc32. Should have been included in r12906. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12912 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
bb913cd4cc1e56d7d7798a8b754361a05d01f916 |
|
28-Aug-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add a tester for V-bit propagation through IROps. The tester is located in memcheck/tests/vbit-test. It needs the following support on the valgrind / VEX side: (1) a new client request VG_USERREQ__VEX_INIT_FOR_IRI (2) a new "special instruction" on all architectures inserted via VALGRIND_VEX_INJECT_IR (3) VEX changes to detect the special insn and insert IR (ir_inject.c) The README file in vbit-test has some more information. See also VEX r2490. Fixes bugzilla #300102. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12906 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
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/include/valgrind.h
|
567e5bb6edf4c1f5d8fe3e41aa0bbe63682bfeac |
|
04-Aug-2012 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Try to fix up ARM stack alignment stuff following r12811. This fixes two problems: first, r11 (aka fp) can't be used in assembly for whatever reason. Secondly, the "bic sp,sp,#7" is not allowed in Thumb mode, so work around that too. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12832 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
9af940f5f1832ab887b89598c7f0df519d47a092 |
|
03-Aug-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Comment only change. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12818 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
4118e0f0df0468b3eccf2515d13c3d9c478d6f16 |
|
02-Aug-2012 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Ensure CALL_FN_xx macros align the stack properly The CALL_FN_xx macros in valgrind.h perform function calls by signalling to valgrind using the client request system. Because they are making function calls which are invisible to the compiler they need to make sure that any stack alignment constraints imposed by the ABI are enforced when making the call. This commit enforces 16 byte alignment for x86, amd64, ppc32 and ppc64 platforms, and 8 byte alignment for arm platforms. It does not touch s390x where the ABI requires 8 byte alignment to be maintained at all times, not just when making a function call. It also does not touch mips32 as I'm not currently aware what if any alignment constraints exist there. Fixes BZ#304054 and observed alignment faults on amd64 when running the regtests using a valgrind compiled with gcc 4.7 releases. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12811 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
5db15403e889d4db339b342bc2a824ef0bfaa654 |
|
07-Jun-2012 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge in a port for mips32-linux, by Petar Jovanovic and Dejan Jevtic, mips-valgrind@rt-rk.com, Bug 270777. Valgrind: changes to existing files. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12616 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
573f8bc106cf3646bdb62748820287c9c44bd432 |
|
05-Jun-2012 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add macros I_REPLACE_SONAME_FNNAME_Z{U,Z} for general end-user use. The I_WRAP_SONAME_FNNAME_Z{U,Z} equivalents have been present for years. Seems inconsistent for the REPLACE versions to be missing. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12613 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
7d79e0b97af18baed7ab6b12a363538974d3775a |
|
21-May-2012 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix VALGRIND_MINOR/VALGRIND_MAJOR symbols. This got forgotten about in 3.7.0 (oops). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12573 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
42f83fe6c64da13801d4eb54fa2aa6530679848a |
|
31-Jan-2012 |
bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
<valgrind/valgrind.h>: Fix for Intel C/C++ compiler in MSVC compatibility mode. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12361 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
4b3a74204894e943c43cb8e8aae39d813040702c |
|
24-Oct-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix #284384 (clang 3.1 -Wunused-value warnings in valgrind.h, memcheck.h) by changing a bunch of VALGRIND_DO_CLIENT_REQUEST_EXPR into VALGRIND_DO_CLIENT_REQUEST_STMT for cases where the return value of the former would be unused. (Bart Van Assche, bart.vanassche@gmail.com) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12226 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
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/include/valgrind.h
|
17dfe1addc98de357b9e24ddbe4ad7df4454873a |
|
22-Oct-2011 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Make VALGRIND_DO_CLIENT_REQUEST more user friendly by wrapping its replacement in do .. while (0). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12199 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
06e9bf06cf953602adaf5e2a0a3f5522e4dc7f50 |
|
07-Oct-2011 |
bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Avoid that using any of the VALGRIND_DISABLE_ERROR_REPORTING, VALGRIND_ENABLE_ERROR_REPORTING, VALGRIND_DO_ADDED_LEAK_CHECK, VALGRIND_DO_CHANGED_LEAK_CHECK macros causes gcc 4.6 to print a warning message about assigning a value to an unused variable. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12110 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
8258a3a849f8bf47146ff1740d2dac429bb453a5 |
|
05-Oct-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
ppc64-linux only: fix incorrect line number reports in client requests that create stack traces. Fixes #283243. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12101 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
96044842731e581702c9ed4104d2949fcde20fd8 |
|
18-Aug-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Extend the behavioural-equivalence-class mechanism for redirection functions to include the ability to give a priority to each function, as well as a tag indicating its behavioural class. Add logic in m_redir.c to resolve conflicting redirections with the same eclass but different priorities by preferring the redirection with the higher priority. Use all of the above in mc_replace_strmem.c, to cause a conflict between redirections for "memcpy" and "memcpy@GLIBC_2.2.5" to be resolved in favour of the latter (the non-overlap-checking version). This is all related to the massive swamp that is #275284. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11991 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
85cf90056b7a8d98d88335b47c599a35b35ff7ca |
|
16-Aug-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add more infrastructure to be used for fixing #275284 (Valgrind memcpy/memmove redirection stopped working in glibc 2.14/x86_64), but don't fix the problem yet. Should be no end-user visible change. * in m_redir.c, when processing redirection specifications, consider all the names associated with an address, not just the primary name. * add plumbing to support the notion of "behavioural equivalence class tags" of redirect/wrap functions. These can be used by m_redir to resolve some situations in which the available set of redirect specifications causes some address to get redirected to two different functions. (Framework is in place, but such resolution is not implemented yet.) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11984 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
0d03bd4212e1e17aa5200edf18f2e7516d62e470 |
|
25-Jul-2011 |
bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
valgrind.h: Remove a superfluous cast. See also #278454. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11913 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
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/include/valgrind.h
|
6e9de463ef677f093e9f24f126e1b11c28cf59fd |
|
28-Jun-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Delete the AIX5 port. The last release this worked for is 3.4.1, and then only on AIX 5.2 and 5.3. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11842 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
c112c8ea1262761630f2f17ada4d53697b1242fa |
|
24-Jun-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix #undefs that are inconsistent with those further up the file, as spotted by Michael Meeks. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11829 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
575ce8ef8fa86a502dabe152293320676922dcfe |
|
15-May-2011 |
bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Get rid of the remaining "set but not used" warnings reported by gcc 4.6 by swapping the roles of the VALGRIND_DO_CLIENT_REQUEST() and VALGRIND_DO_CLIENT_REQUEST_EXPR() macros. Also, many __attribute__((unused)) declarations on variables have been eliminated. Closes #269778. Note: so far this patch has been tested on x86/Linux, amd64/Linux and ppc64/Linux but not yet on any other supported CPU/OS combination. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11755 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
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/include/valgrind.h
|
66304e23eee4249f35561a70b41cc390d8d6e54f |
|
28-Mar-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Remove a bunch more warnings generated by gcc-4.6 about dead assignments ("[-Wunused-but-set-variable]"), in the test suite. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11675 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
913473803432ee37d6edaf232e21978d4f426125 |
|
25-Mar-2011 |
bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add VALGRIND_RESIZEINPLACE_BLOCK() and hence close #267819. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11666 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
b5b87408c0c99f9f6938d8cd921e2a5f420577c4 |
|
07-Mar-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add a port to IBM z/Architecture (s390x) running Linux -- Valgrind side components. (Florian Krohm <britzel@acm.org> and Christian Borntraeger <borntraeger@de.ibm.com>). Fixes #243404. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11604 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
8c7e25f496b1771f21712db0b1f35935bacfaff3 |
|
04-Mar-2011 |
bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
<valgrind/valgrind.h>: Made VALGRIND_PRINTF() and VALGRIND_PRINTF_BACKTRACE() definitions (with NVALGRIND defined) C89-compliant. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11580 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
87a287b47f496063f5869dc5039a81baeb6a29ae |
|
20-Oct-2010 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Preserve the stack's 16-alignment in x86 and amd64 wrappers. Fixes #254646. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11461 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
8d1dc150a77fe495682a928949c5d5b7443b045c |
|
08-Oct-2010 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
More unwind fixes for the amd64-linux CALL_FN_*_* macros, as per bug 243270 comments 47 and 48: * use __builtin_dwarf_cfa(), not __builtin_frame_address(0), to get the CFA * use correct register specifier in VALGRIND_CFI_PROLOGUE git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11416 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
dea799c04931744241477959f46993d87c21b243 |
|
08-Oct-2010 |
bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Only enable CFI annotations when __GCC_HAVE_DWARF2_CFI_ASM is defined. This should work for all platforms, all gcc versions and with and without -fno-dwarf2-cfi-asm / -fno-asynchronous-unwind-tables. Thanks to Jakub Jelinek for the hint. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11415 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
410afd5bd19ec32972ddc5c4c91b62d212f029b6 |
|
08-Oct-2010 |
bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
valgrind.h is again independent of config.h. Note: __builtin_frame_address() is available since at least gcc 2.95.3. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11414 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
520a03a4c59703908bae4cc437814abf0a24cdcd |
|
07-Oct-2010 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix build failure I introduced in r11408, duh. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11410 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
602278444fa6b4135a44d19ae833ed42a9898e48 |
|
07-Oct-2010 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Tidy up ifdeffery a bit. (non-functional change) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11408 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
0681bddb26292e346a67aed4d5eecb6627987792 |
|
07-Oct-2010 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix build breakage on Darwin resulting from r11402 (see #243270), by disabling creation of .cfi directives on Darwin, until such time as someone can figure out how to do this. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11407 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
dfa55cf5263d1a105425fef13aff164e8cbb30f6 |
|
07-Oct-2010 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
amd64-linux: add suitable CFI annotations so that unwinding through the CALL_FN_*_* macros works more reliably. This is all very fiddly and is described in a large comment in valgrind.h. Fixes #243270. (Evgeniy Stepanov, eugeni.stepanov@gmail.com) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11402 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
2823aacb0fa513aef4100388e633c69764e60b77 |
|
05-Sep-2010 |
bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fixed an AMD64 bug reported by Evgeniy Stepanov: the order of VALGRIND_CALL_NOREDIR_RAX and addq $128,%%rsp was wrong in CALL_FN_W_6W(). See also #243270. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11340 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
fa5115adb77868b1ee3efc8dce061b881e7833c5 |
|
02-Sep-2010 |
bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Refactoring: introduced new macro VALGRIND_DO_CLIENT_REQUEST_EXPR() and used that macro to reimplement RUNNING_ON_VALGRIND. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11317 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
0da2c772047f3f6795dbb43dde5f5c9b43be73bb |
|
01-Sep-2010 |
bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Suppressed a few warnings reported by the Microsoft C Compiler. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11314 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
7f489813d200fb614a0856fca05e2f9ebf66dd48 |
|
27-Aug-2010 |
bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Ported to Win32. Tested that both RUNNING_ON_VALGRIND and VALGRIND_PRINTF() work with MinGW and Microsoft Visual Studio. Should close #210935. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11295 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
5c65962f59fb226d327a4860dfab27a1b19ce2e3 |
|
20-Aug-2010 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add a new client request, VALGRIND_MAP_IP_TO_SRCLOC, so that clients can query their own debug info. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11269 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
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/include/valgrind.h
|
0fe1d4c134ba889ff5e0a3b1b4dc8f36e610ca97 |
|
19-Apr-2010 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Rename preprocessor macro __VALGRIND__ to __VALGRIND_MAJOR__ and add comments. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11105 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
7104416748e90239b97560f5d727da107e3e08a9 |
|
03-Mar-2010 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Make the version number available in the valgrind.h headers, so clients can do version-specific client requests. This is something we should have done long ago. Still needs a way to regtest this, to check that the embedded version matches what's stated in configure.in. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11061 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
c560fb380ac83ad1957d3fdf92751645a55cf167 |
|
28-Jan-2010 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Followup fix to r11006. Don't pass va_list by value through client requests, since there's no guarantee it is the same size as a machine word. This renames the private client request VG_USERREQ__INTERNAL_PRINTF to VG_USERREQ__INTERNAL_PRINTF_VALIST_BY_REF and changes the argument-passing accordingly. The public client requests VG_USERREQ__PRINTF and VG_USERREQ__PRINTF_BACKTRACE are now deprecated, and handled only in the case where sizeof(UWord) == sizeof(va_list). In all other cases V will now print a detailed error message and abort. This breaks binary compatibility of apps compiled using VALGRIND_PRINTF and VALGRIND_PRINTF_BACKTRACE, but that's not easy to avoid. VG_USERREQ__PRINTF and VG_USERREQ__PRINTF_BACKTRACE are now replaced by VG_USERREQ__PRINTF_VALIST_BY_REF and VG_USERREQ__PRINTF_BACKTRACE_VALIST_BY_REF. The end-user macros VALGRIND_PRINTF and VALGRIND_PRINTF_BACKTRACE have been adjusted to use these new requests instead. Overall result is that source level compatibility of code using VALGRIND_PRINTF{,_BACKTRACE} is retained, but binary level compatibility may be broken, necessitating a rebuild of code using these macros. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11032 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
05b07158841423adc250f04e034bf11e6f892b23 |
|
04-Jan-2010 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Don't assume that va_list can be casted to an unsigned word. Fixes the build on arm-linux with gcc-4.4 or later. Patch from Dmitry Zhurikhin. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11006 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
7af3230a91de23a737946c1b4649b2f826672bf6 |
|
02-Jan-2010 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Tidy up determination of the PLAT_ macros a bit. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10989 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
59570ffbe31930ab4d678754daaeec0715117a3d |
|
01-Jan-2010 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge from branches/ARM, all parts of the ARM-Linux port except for the changes to do with reading and using ELF and DWARF3 info. This breaks all targets except amd64-linux and x86-linux. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10982 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
b965efb4990bdedc3215ffcca8ea566d25874d26 |
|
10-Aug-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Allow custom blocks to overlap with malloc blocks. Fixes bug 100628. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10765 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
d55f0d924062c7b5b3453242a6f9611bd5ce7458 |
|
03-Aug-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
With the recent VG_(message) change, VALGRIND_{PRINTF,PRINTF_BACKTRACE,INTERNAL_PRINTF} were no longer appending newlines. This meant that --trace-malloc=yes spewed everything onto a single line, among other things. Rather than adding the newline back in, I chose to offically change their behaviour to not add the newlines, as this is more flexible (and the reason for the underlying VG_(message) change). I updated all the relevant places I could find. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10694 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
32f8d8c0dcb3a7c3ff14aa9892ea2410eba3207c |
|
15-Jul-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Ignore MALLOCLIKE_BLOCK/FREELIKE_BLOCK if addr==0. Fixes bug 137073. DRD now has its own copy of custom_alloc.c which is a little different to Memcheck's; making them both work with the same version was too difficult. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10455 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
3ac96953bf8c912a2aaa2870652dda8b9b75337b |
|
10-Jul-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Attempt to improve the {MALLOC,FREE}LIKE_BLOCK documentation, based on seeing them misapplied on a real-world example. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10420 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
f76d27a697a7b0bf3b84490baf60623fc96a23af |
|
28-May-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge the DARWIN branch onto the trunk. I tried using 'svn merge' to do the merge but it did a terrible job and there were bazillions of conflicts. So instead I just took the diff between the branch and trunk at r10155, applied the diff to the trunk, 'svn add'ed the added files (no files needed to be 'svn remove'd) and committed. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10156 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
2b5f0a90334a2271791c110548a842fadb5ffc65 |
|
19-May-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add some extra CALL_FN_V_* macros. Copied from the DARWIN branch. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9919 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
5f5ef2ae9e7c2ce5ebc36c1e2fc98e5f81650be3 |
|
11-May-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Factor out the name of the libpthread library. Also fix a minor stack trace bogon. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9832 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
c8259b85b701d25d72aabe9dc0a8154517f96913 |
|
23-Apr-2009 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add support for reading Windows PDB debug info (symbols and line numbers) when Valgrind is running Wine. Modified version of a patch by John Reiser (vgsvn+wine-load-pdb-debuginfo.patch) with extensions to read a second format of line number tables. Wine uses a new client request, VG_USERREQ__LOAD_PDB_DEBUGINFO, to tell Valgrind when to read PDB info. Wine's implementation of module loading is vastly different from that used by ld-linux.so, and it is too difficult to recognize what is going on just by observing the calls to mmap and mprotect. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9580 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
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/include/valgrind.h
|
4486297d932a229cb383ca0671d57657677dd56e |
|
23-Feb-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add missing __extension__ markings on a couple of clreqs. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9230 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
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/include/valgrind.h
|
45fb4d304f59e4e4cca917d372278eeb75be2c33 |
|
05-Dec-2007 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Document flakiness of NON_SIMD_CALL* in comments and the manual. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7279 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
a07c2e157185dc577d6fa5fa154a44e4b3afe185 |
|
10-Nov-2007 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge r6806 from branches/THRCHECK: Fix longstanding error in the amd64-linux function-wrapping macros: protect the caller's red zone across the hidden call. All rather nasty as explained in big comment. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7120 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
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/include/valgrind.h
|
1c5bcb1e17532ec1630056fb2e58ef8e15267f15 |
|
08-Dec-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Get rid of the use of explicit register variables in the ppc32-linux magic macros. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6386 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
1319b49115bd0763628273b8a3fe08ac30712e31 |
|
20-Nov-2006 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Clarify NON_SIMD_CALL instructions. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6362 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
0fc5cbd2f87dfe72cfc6333dd0f1c900364f66d6 |
|
18-Oct-2006 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Move VG_BUGS_TO to pub_tool_basics.h so that Nulgrind need not import pub_tool_libcassert.h. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6320 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
f5c1a7f5a80a9268b181bf6b73e865eb10688b85 |
|
17-Oct-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge r6125: Function-wrapping macros and associated stuff, for AIX. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6262 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
c740d7660ad140b79e561e0d578ab8435a5a5289 |
|
05-Oct-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
A memory pool update from Graydon Hoare. Here's an update to the mempool move / change client requests and sanity checking. The following changes are present: - Added one more (hopefully last) client request, a predicate to test whether a mempool anchor address is currently tracked. It turns out mozilla's arena-using code is sufficiently inconsistent in its assumptions that it's very difficult to phrase the valgrind client-request annotations without this request. Namely: sometime arena-init and arena-free operations are assumed to be idempotent. - Fixed a very rapid tool-memory leak in the mempool sanity check routine. The previous version of the patch I posted would use all memory even on my Very Beefy Test Machine within ~15 minutes of browsing with firefox. - Added a little logging code to print the counts of pools and chunks active every ~10000 sanity checks, when running with -v. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6197 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
315dc8d060cada7e7eab1f38a513ed8659785609 |
|
28-Aug-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Make this file a bit more 'gcc -ansi -pedantic' friendly (bug #132722). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6036 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
2c1c9dfe806d62d43768b23c29799dc6a100cb09 |
|
28-Jul-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add a mempool-trimming client request (Graydon Hoare). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5992 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
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/include/valgrind.h
|
479db774b080e3eef41b2ebb94d67f82d5c1788e |
|
03-Jun-2006 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add a helpful comment. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5949 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
7eca0cc8e2bc1c260be1b596c54e4b55d1e2517a |
|
12-Apr-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Recent GCCs (3.4+ at least) optimize static unused functions out, so making VALGRIND_PRINTF and VALGRIND_PRINTF_BACKTRACE static and attribute unused proved to be much better than always compiling it as exported weak function. (Jakub Jelinek) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5845 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
7fd15d674f18757167305947732057099e175914 |
|
31-Mar-2006 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Make the BSD-style license notices slightly more accurate. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5803 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
dbf7ca71128c6787ba8a99cbd03c3773ff572d96 |
|
31-Mar-2006 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Terminology change: previously in Memcheck we had the four states: noaccess, writable, readable, other Now they are: noaccess, undefined, defined, partdefined As a result, the following names: make_writable, make_readable, check_writable, check_readable, check_defined have become: make_mem_undefined, make_mem_defined, check_mem_is_addressable, check_mem_is_defined, check_value_is_defined (and likewise for the upper-case versions for client request macros). The old MAKE_* and CHECK_* macros still work for backwards compatibility. This is much better, because the old names were subtly misleading. For example: - "readable" really meant "readable and writable". - "writable" really meant "writable and maybe readable, depending on how the read value is used". - "check_writable" really meant "check writable or readable" The new names avoid these problems. The recently-added macro which was called MAKE_DEFINED is now MAKE_MEM_DEFINED_IF_ADDRESSABLE. I also corrected the spelling of "addressable" in numerous places in memcheck.h. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5802 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
cd63639e41d591b17cf8900e49e28048d39104c2 |
|
12-Mar-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add missing CALL_FN_* macros for ppc64-linux. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5758 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
ead61df62ca9c9194f62d4c4a8ba288782acbb0e |
|
12-Mar-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add CALL_FN_* missing cases for ppc32-linux. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5754 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
a50f9dcb3a7609e10047a4c6dfa3eb7363088bd2 |
|
11-Mar-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Complete CALL_FN_W_* wrappers for amd64-linux. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5748 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
5ce4b150ce5d32c9af07a24717081ea34568388a |
|
11-Mar-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add missing x86-linux CALL_FN_W_11W macro. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5745 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
45fa5b0cef1884f5025e64401a1443d3e129ed5e |
|
09-Mar-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add a couple of missing cases. Function wrapping is really ugly :-( git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5734 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
9e8b07ab0fb74fb15098c406a5dc71e273d50b1c |
|
18-Feb-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add a missing case. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5656 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
9af10a1c0d1b8897195ccfbc6dc46d8113d77153 |
|
01-Feb-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Change the number of client request args from 4 to 5 as that may be useful in future. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5603 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
38de0994e3561760a8e1ff2efd51a0c9217a3d8d |
|
20-Jan-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Make fn wrapping work again on ppc32-linux. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5573 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
66226cc1e5e852de3584c76984dace8679730b42 |
|
20-Jan-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
x86 function wrapping fixes. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5571 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
c885844f7484a13bcf1c7f9b14cf5bc527462963 |
|
20-Jan-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Make amd64 function wrapping work again following recent changes. Includes expected outputs for wrap8 for the non ppc64-linux case. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5570 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
d68ac3e974d25f88492774f6baa491999afde9f9 |
|
20-Jan-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Changes to make function wrapping work better on ppc64-linux: - when recording the non-redirected address in guest_NRADDR, also snapshot the current R2 value, as that will be needed to run the original safely - As a consequence, the original-function information extracted by VALGRIND_GET_ORIG_FN is different on ppc64-linux (2 words) from all other platforms (1 word). So change the type of it from void* to a new type OrigFn which can be defined differently for each platform. - Change the CALL_FN_* macros for ppc64-linux to save/restore R2 values appropriately. - ppc64-linux: detect overflow/underflow of the redirect stack and bring Valgrind to a halt if this happens - Update VG_CLREQ_SZB for ppc32/64 (was out of date). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5569 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
9734b20023ddaaf95a8d1f3849224ab27fe058bf |
|
17-Jan-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
ppc64-linux function wrapping support (does not work properly) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5529 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
1a85f4f4e5e1ec2518137ffa9a6a9bf7d9c50df9 |
|
12-Jan-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix more ppc64-linux function wrapping and symbol-table bits and pieces. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5523 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
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/include/valgrind.h
|
2c48c7b0a453d32375a4df17e153011b797ef28c |
|
29-Nov-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add framework for ppc64 support. Apologies in advance for the inevitable breakage to other platforms. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5250 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
e6f883ee00318fd7fe3508a24badec5d0f225578 |
|
22-Jul-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Remove bogus legacy declarations, from the time when the AMD64 version of VALGRIND_MAGIC_SEQUENCE printed a message and exited. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4226 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
4a83015ecd0d962cf96f1479dc38ac41413df8df |
|
03-Jul-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Removed the remnants of the attempt at an ARM port, because it had bit-rotted badly and was clogging up the code. I put the useful remnants in docs/porting-to-ARM in case anyone ever wants to try porting to ARM again. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4092 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
3dd0a912e48a4884ee51ab3afe41856c165185ca |
|
28-Jun-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Don't use non-ansi features in valgrind.h in case it's used in a file compiled with -ansi. Added a regtest for it. Fixed bug #103182. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4044 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
85665ca6fa29dd64754dabe50eb98f25896e752a |
|
20-Jun-2005 |
cerion <cerion@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Finally, valgrind on ppc32. Plenty still to do, but simple programs like ls seem to run ok Thanks, Paul, for having your ppc port of valgrind 2.4 to work from! git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3969 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
30d76c6abc3e7d338b1ca81256fa3ce93eccc09f |
|
18-Jun-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Minor rearrangement, no functional change. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3935 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
0140af5b913b1a57b5c28ef776bbb2dda23e8b64 |
|
04-Jun-2005 |
rjwalsh <rjwalsh@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Implement stack registration client requests. See the documentation in the user manual for usage information. The stack_changes.c file in corecheck/tests contains a short example. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3846 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
26aba4d3ef6cebc34879e82d88bcbe3c3b3b9f9e |
|
16-May-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
No need to generate valgrind.h from valgrind.h.in. We can just use the compiler symbols rather than our own symbols for the architectures (we already were, more or less). This simplifies the build, hurrah! I also inverted the sense of the NVALGRIND ifdefs, to make them easier to read, and fixed up some comments. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3739 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
e90c6836fd430124799e52896c99ea27b1c88541 |
|
18-Oct-2004 |
nethercote <nethercote@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Arch-abstraction: fix up valgrind.h for future inclusion of other architectures. Had to recast it as valgrind.h.in; now at configure time the appropriate #define is set so that the appropriate snippet of assembly code is chosen. It's done this way rather than with x86/ etc. directories like the rest of Valgrind, because this header file must stand alone for inclusion by other programs. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2794 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
85c8a508f834b771e9f16c58d6057004da5680f6 |
|
25-Aug-2004 |
thughes <thughes@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Removed comma at the end of an enumerator list - this is allowed in C99 but not in C89 except as a GNU extension so it's probably best not to rely on it. Patch from Jeroen N. Witmond <jnw@xs4all.nl>. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2617 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
bc0bb8302c37c0c24aafbcfde0cc96d2c2805c94 |
|
19-Jun-2004 |
rjwalsh <rjwalsh@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Memory pool support. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2428 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
7cc9c239f785f2903b597cdb34418bed42d25331 |
|
21-Jan-2004 |
nethercote <nethercote@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Convert "skin" to "tool" in various places; almost entirely within comments, nothing that will affect code. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2217 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
bb1c99123c95fb9a4a2617d6e1d09559ac68db80 |
|
04-Jan-2004 |
nethercote <nethercote@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Updated copyright dates for 2004. Also added a couple of missing headers and footers to some new files. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2177 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
c9b365507e9bd5d500476e3e83f4d30f9c68a351 |
|
31-Dec-2003 |
mueller <mueller@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
mark the braced expression as C(++) extension git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2152 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
a09a1b5d4e02b7451345dac00f2d321d1b4b2cce |
|
08-Nov-2003 |
fitzhardinge <fitzhardinge@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix some bugs in syscall/signal handling: If the proxyLWP for a thread got a signal just as we were sending the syscall request to it, then we would end up running the syscall twice. The fix is to not check the results pipe while sending the syscall request - wait until we're in a better state for handling signals (the deadlock the results-read was supposed to avoid cannot actually happen). Related to that, if we're delivering a signal to a thread, and that thread is currently waiting for a syscall to complete, make sure we collect the syscall results before entering the signal handler (otherwise we may end up bogusly trying to restart the syscall by moving EIP back, even though it now points to the signal handler rather than the syscall instruction) This change also adds an assertion to VG_(restart_syscall) to make sure we were actually restarting a syscall and not just randomly changing EIP (this found the problem above). Also, make set/getitimer run in the proxyLWP context, so that they modify/read the proxyLWP's timers rather than the schedluer LWP's timers. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2013 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
39de4b473801ab10a48e356cddc863212dd28cd1 |
|
31-Oct-2003 |
fitzhardinge <fitzhardinge@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Patch from Robert Walsh <rjwalsh@durables.org>. Adds some new client requests to allow client code to print messages through Valgrind's logging mechanism. The new requests are: VALGRIND_PRINTF - do a normal printf (prefixed with **PID**) VALGRIND_PRINTF_BACKTRACE - do a printf with stack trace VALGRIND_INTERNAL_PRINTF - printf, but for internal use (prefixed with ==PID==) VALGRIND_INTERNAL_PRINTF_BACKTRACE - as above, with backtrace git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1974 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
d799418996812817596beaa8b59563e3f3cb2dda |
|
02-Oct-2003 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Moved the MALLOCLIKE and FREELIKE client requests out of memcheck.h, and into valgrind.h. Although these requests are not implemented by the core, they can be implemented by skins that track heap blocks, eg. Memcheck, Annelid, Massif. This is in preparation for committing Massif to the repository. I think I managed to make the change in a binary-compatible way. The only inconvenience for users is that if they have a client program compiled with the old requests in, Valgrind will abort with an explanatory message that tells them to recompile. Once they've done that (no changes to their program are required), it works again. I even updated the docs. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1881 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
6e69ecdc8436e2e6c0fcb2861fb1503ffcad3779 |
|
02-Oct-2003 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fixed up the client request info in the docs, which required splitting the core requests from the Memcheck requests and putting the descriptions in the appropriate parts of the docs. Removed the __VALGRIND_SOME_SKIN_H test -- it was designed to prevent people #including valgrind.h when they probably want memcheck.h, but it's actually a reasonable thing to do to #include valgrind.h alone, because there are some requests in valgrind.h. Removed references to VALGRIND_MAKE_NOACCESS_STACK from the docs, as it doesn't exist in the implementation. Fixed a few other minor things. MERGE TO STABLE git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1880 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
c229f5bab8f2149ff3ac1e8fd9d557c3627ff908 |
|
12-May-2003 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
These client requests were moved to include/vg_skin.h a while ago, but I forgot to delete them from here. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1626 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
4c791211835f0e90cbde578187c06e563de3b023 |
|
02-May-2003 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Moved the CLIENT_tstCALL[0123] requests out of valgrind.h into vg_skin.h, because there was no point exposing them to clients, as they don't know the ThreadState type. Also, removed the LOGMESSAGE request type, replaced it with calls to VG_(message) via the generic VALGRIND_NON_SIMD_CALL2. In fact, almost every single pthread client request could be removed in this same way. That would result in less code, which would be nice... yeah, real nice. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1584 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
057c65f4c980e1e46da862df6a84ed097249bbec |
|
21-Apr-2003 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Renamed VG_NON_SIMD_CALL1 (and friends) as VALGRIND_NON_SIMD_CALL1 to be consistent with the names of the other client requests. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1534 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
47363aba8fa03b094195bca99fc232ce5f85605d |
|
21-Apr-2003 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Added two client requests: VALGRIND_COUNT_ERRORS and VALGRIND_COUNT_LEAKS. The first returns the number of errors found so far, and is a core request. The second returns the number of bytes found reachable/dubious/leaked/suppressed by all leak checks so far, for Memcheck and Addrcheck. Both are useful for using Valgrind in regression test suites where multiple tests are present in a single file -- one can run Valgrind with no output (using --logfile-fd=-1) and use the requests after each test to determine if any errors happened. Had to rename and make public vg_n_errs_found --> VG_(n_errs_found) to do so. Nb: leak errors are not counted as errors for the purposes of VALGRIND_COUNT_ERRORS. This was decided as the best thing to do after discussion with Olly Betts, who original suggested these changes. Pulled out common client request code shared between Memcheck and Addrcheck. Added a regression test for this. Added some documentation too. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1533 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
0e1b514ab8e837f75a207a037ea53a6a721e9d28 |
|
15-Apr-2003 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Updated copyright notices for 2003. Only 4 months late. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1526 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
3e88418f808bf2840646504481d6a5be1df16541 |
|
15-Apr-2003 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
----------------------------------------------------------------------------- overview ----------------------------------------------------------------------------- Previously Valgrind had its own versions of malloc() et al that replaced glibc's. This is necessary for various reasons for Memcheck, but isn't needed, and was actually detrimental, to some other skins. I never managed to treat this satisfactorily w.r.t the core/skin split. Now I have. If a skin needs to know about malloc() et al, it must provide its own replacements. But because this is not uncommon, the core provides a module vg_replace_malloc.c which a skin can link with, which provides skeleton definitions, to reduce the amount of work a skin must do. The skeletons handle the transfer of control from the simd CPU to the real CPU, and also the --alignment, --sloppy-malloc and --trace-malloc options. These skeleton definitions subsequently call functions SK_(malloc), SK_(free), etc, which the skin must define; in these functions the skin can do the things it needs to do about tracking heap blocks. For skins that track extra info about malloc'd blocks -- previously done with ShadowChunks -- there is a new file vg_hashtable.c that implements a generic-ish hash table (using dodgy C-style inheritance using struct overlays) which allows skins to continue doing this fairly easily. Skins can also replace other functions too, eg. Memcheck has its own versions of strcpy(), memcpy(), etc. Overall, it's slightly more work now for skins that need to replace malloc(), but other skins don't have to use Valgrind's malloc(), so they're getting a "purer" program run, which is good, and most of the remaining rough edges from the core/skin split have been removed. ----------------------------------------------------------------------------- details ----------------------------------------------------------------------------- Moved malloc() et al intercepts from vg_clientfuncs.c into vg_replace_malloc.c. Skins can link to it if they want to replace malloc() and friends; it does some stuff then passes control to SK_(malloc)() et al which the skin must define. They can call VG_(cli_malloc)() and VG_(cli_free)() to do the actual allocation/deallocation. Redzone size for the client (the CLIENT arena) is specified by the static variable VG_(vg_malloc_redzone_szB). vg_replace_malloc.c thus represents a kind of "mantle" level service. To get automake to build vg_replace_malloc.o, had to resort to a similar trick as used for the demangler -- ask for a "no install" library (which is never used) to be built from it. Note that all malloc, calloc, realloc, builtin_new, builtin_vec_new, memalign are now aware of --alignment, when running on simd CPU or real CPU. This means the new_mem_heap, die_mem_heap, copy_mem_heap and ban_mem_heap events no longer exist, since the core doesn't control malloc() any more, and skins can watch for these events themselves. This required moving all the ShadowChunk stuff out of the core, which meant the sizeof_shadow_block ``need'' could be removed, yay -- it was a horrible hack. Now ShadowChunks are done with a generic HashTable type, in vg_hashtable.c, which skins can "inherit from" (in a dodgy C-only fashion by using structs with similar layouts). Also, the free_list stuff was all moved as a part of this. Also, VgAllocKind was moved out of core into Memcheck/Addrcheck and renamed MAC_AllocKind. Moved these options out of core into vg_replace_malloc.c: --trace-malloc --sloppy-malloc --alignment The alternative_free ``need'' could go, too, since Memcheck is now in complete control of free(), yay -- another horribility. The bad_free and free_mismatch events could go too, since they're now not detected by core, yay -- yet another horribility. Moved malloc() et al wrappers for Memcheck out of vg_clientmalloc.c into mac_malloc_wrappers.c. Helgrind has its own wrappers now too. Introduced VG_USERREQ__CLIENT_CALL[123] client requests. When a skin function is operating on the simd CPU, this will call a given function and run it on the real CPU. The macros VG_NON_SIMD_CALL[123] in valgrind.h present a cleaner interface to actually use. Also introduce analogues of these that pass 'tst' from the scheduler as the first arg to the called function -- needed for MC_(client_malloc)() et al. Fiddled with USERREQ_{MALLOC,FREE} etc. in vg_scheduler.c; they call SK_({malloc,free})() which by default call VG_(cli_malloc)() -- can't call glibc's malloc() here. All the other default SK_(calloc)() etc. instantly panic; there's a lock variable to ensure that the default SK_({malloc,free})() are only called from the scheduler, which prevents a skin from forgetting to override SK_({malloc,free})(). Got rid of the unused USERREQ_CALLOC, USERREQ_BUILTIN_NEW, etc. Moved special versions of strcpy/strlen, etc, memcpy() and memchr() into mac_replace_strmem.c -- they are only necessary for memcheck, because the hyper-optimised normal glibc versions confuse it, and for memcpy() etc. overlap checking. Also added dst/src overlap checks to strcpy(), memcpy(), strcat(). They are reported not as proper errors, but just with single line warnings, as for silly args to malloc() et al; this is mainly because they're on the simulated CPU and proper error handling would be a pain; hopefully they're rare enough to not be a problem. The strcpy check is done after the copy, because it would require counting the length of the string beforehand. Also added strncpy() and strncat(), which have overlap checks too. Note that addrcheck doesn't do overlap checking. Put USERREQ__LOGMESSAGE in vg_skin.h to do the overlap check error messages. After removing malloc() et al and strcpy() et al out of vg_clientfuncs.c, moved the remaining three things (sigsuspend, VG_(__libc_freeres_wrapper), __errno_location) into vg_intercept.c, since it contains things that run on the simulated CPU too. Removed vg_clientfuncs.c altogether. Moved regression test "malloc3" out of corecheck into memcheck, since corecheck no longer looks for silly (eg. negative) args to malloc(). Removed the m_eip, m_esp, m_ebp fields from the `Error' type. They were being set up, and then read immediately only once, only if GDB attachment was done. So now they're just being held in local variables. This saves 12 bytes per Error. Made replacement calloc() check for --sloppy-malloc; previously it didn't. Added "silly" negative size arg check to realloc(), it didn't have one. Changed VG_(read_selfprocmaps)() so it can parse the file directly, or from a previously read buffer. Buffer can be filled with the new VG_(read_selfprocmaps_contents)(). Using this at start-up to snapshot /proc/self/maps before the skins do anything, and then parsing it once they have done their setup stuff. Skins can now safely call VG_(malloc)() in SK_({pre,post}_clo_init)() without the mmap'd superblock erroneously being identified as client memory. Changed the --help usage message slightly, now divided into four sections: core normal, skin normal, core debugging, skin debugging. Changed the interface for the command_line_options need slightly -- now two functions, VG_(print_usage)() and VG_(print_debug_usage)(), and they do the printing themselves, instead of just returning a string -- that's more flexible. Removed DEBUG_CLIENTMALLOC code, it wasn't being used and was a pain. Added a regression test testing leak suppressions (nanoleak_supp), and another testing strcpy/memcpy/etc overlap warnings (overlap). Also changed Addrcheck to link with the files shared with Memcheck, rather than #including the .c files directly. Commoned up a little more shared Addrcheck/Memcheck code, for the usage message, and initialisation/finalisation. Added a Bool param to VG_(unique_error)() dictating whether it should allow GDB to be attached; for leak checks, because we don't want to attach GDB on leak errors (causes seg faults). A bit hacky, but it will do. Had to change lots of the expected outputs from regression files now that malloc() et al are in vg_replace_malloc.c rather than vg_clientfuncs.c. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1524 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
285f77f8204e23274b43068aa91ad04741fda043 |
|
16-Mar-2003 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Comment change only: remove discussion of --client-perms flag and clarify performance consequences of client requests. MERGE TO STABLE git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1460 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
34a257cf51445a7149d3a57fb6ed003d08704830 |
|
15-Mar-2003 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Various fixes to the client-perms include files to stop gccs yelping at high warning levels. Partially due to Andreas Jaeger and Hans-Peter Nilsson. MERGE TO STABLE. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1457 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
6591dc250c889506c5f6e1ccd939634de5a3ab74 |
|
15-Mar-2003 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
A little cpp magic to cause compilation to fail if valgrind.h is included directly into sources (it should not be, and was causing people problems). MERGE TO STABLE git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1456 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
37091fb739760631f436043c47de612cf9fd2dd1 |
|
16-Nov-2002 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge patch from JeremyF: 27-nvalgrind Make valgrind.h pay attention to the preprocessor symbol NVALGRIND. If defined, it compiles out the Valgrind magic sequence and just assigns the result with the default return. This is analogous to NDEBUG's effect on assert(). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1320 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
34042515c1715b3e0c5c0a5e0bd033e9d4858f01 |
|
22-Oct-2002 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge patch from Jeremy Fitzhardinge: 08-skin-clientreq Introduce a systematic way for skins to distinguish each other's client requests. Uses the de-facto standard two-letter identifiers in the top two bytes of the client request code. Also changes the interface to SK_(handle_client_request) so that a skin can say whether or not it handled the request, which allows correct setting of the default return value if the request was not handled. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1251 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
c953984b8ee34ac55830b9871138b409d9d9476c |
|
02-Oct-2002 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Updated file descriptions in the copyright notices to reflect the core/skin split. Each skin now has its own two-line description. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1166 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
e49d8e7dfd3a9c96feb9935b5920973dfc0b170a |
|
23-Sep-2002 |
njn25 <njn25@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Files updated, added and removed in order to turn the ERASER branch into HEAD git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1086 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
57f12d38976e28f82dd200f090c5b7a1c7152f3b |
|
06-Jun-2002 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix typo in VALGRIND_MAKE_WRITABLE. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@393 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
18d7513cc08bf982711c8a22b70d56af6aa87b33 |
|
16-May-2002 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Remove existing non-working support for self-modifying code, and instead add a simple compromise, in which the client can notify valgrind that certain code address ranges are invalid and should be retranslated. This is done using the VALGRIND_DISCARD_TRANSLATIONS macro in valgrind.h. At the same time take the opportunity to close the potentially fatal loophole that translations for executable segments were not being discarded when those segments were munmapped. They are now. Documentation updated. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@274 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
79be1064c1c41689e0271eab947435933d655d5e |
|
16-Apr-2002 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Get rid of the muraroa.demon.co.uk references since that account is soon to disappear. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@83 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
2e93c50dc50235189661b70e3f27a4098d5ccccc |
|
12-Apr-2002 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Mega-merge of my last 2 weeks hacking. This basically does the groundwork for pthread_* support. Major changes: * Valgrind now contains a (skeletal!) user-space pthreads implementation. The exciting bits are in new file vg_scheduler.c. This contains thread management and scheduling, including nasty crud to do with making some syscalls (read,write,nanosleep) nonblocking. Also implementation of pthread_ functions: create join mutex_{create,destroy,lock,unlock} and cancel. * As a side effect of the above, major improvements to signal handling and to the client-request machinery. This is now used to intercept malloc/free etc too; the hacky way this is done before is gone. Another side effect is that vg_dispatch.S is greatly simplified. Also, the horrible hacks to do with delivering signals to threads blocked in syscalls are gone, since the new mechanisms cover this case easily. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@52 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|
de4a1d01951937632098a6cda45859afa587a06f |
|
22-Mar-2002 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Initial revision git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/include/valgrind.h
|