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_machine.c
|
7c1d0636fff67d62bf05199a4497189bc1befb67 |
|
12-Aug-2015 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Enhance VG_(machine_get_hwcaps) to check enough stuff to ensure that VEX's XSAVE/XRSTOR implementation will work correctly. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15523 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
a7d291dabeedf369af475acec3478c82af33aa98 |
|
08-Aug-2015 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix two more format inconsistencies found on s390. The one in m_stacktrace.c also existed for other architectures. Fixed as well. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15508 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
a5e06c36bf9d93461bc8c4351e960888020ea1c4 |
|
05-Aug-2015 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix printf format inconsistencies as pointed out by gcc -Wformat-signedness. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15499 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.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_machine.c
|
ad4e979f408239dabbaae955d8ffcb84a51a5c85 |
|
05-Jul-2015 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix typos in source code. Patch by Dmitriy (olshevskiy87@bk.ru). Fixes BZ #349874 git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15394 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.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_machine.c
|
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/coregrind/m_machine.c
|
dd1d372ee14d89793942cea99296853253a664ed |
|
17-Mar-2015 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Minimal update to recognise z13 (s390). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15020 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
1672a24fcc4362bf79b9ba994f8726aabf9641bd |
|
17-Dec-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
For s390 use symbolic register names. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14818 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
732fb4e38991c4f0cef40c5c7e210010360d05eb |
|
09-Dec-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Detect presence of sse3 instructions on x86. Set VEX_HWCAPS_X86_SSE3 accordingly. This came about by grepping the source for VEX_HWCAPS_X86_SSE3 and observing that the flag was tested for (in VEX) but not set. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14803 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
3130eab8c67d0c720cb1a86906cc057daa9700cc |
|
14-Nov-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Minor non-functional cleanups. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14723 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
e2800c958044937e72eefa371c10ae47ac40e089 |
|
15-Sep-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
coregrind files shall use vg_assert not tl_assert. Tool files shall use tl_assert not vg_assert. Fix code accordingly. Adapted check_headers_and_includes to make sure the code stays clean in that respect. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14542 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
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/coregrind/m_machine.c
|
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/coregrind/m_machine.c
|
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/coregrind/m_machine.c
|
597314210494248b4fbefd45525a748439629218 |
|
24-Jul-2014 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Track vex r2910 (infrastructural improvements in representation of endianness in VEX). In short: in m_machine.c, VG_(machine_get_hwcaps), get the endianness of the host, and pass it through to all places (in VEX) where it is required. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14184 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
37dd8f69405c476b08fadd314817a49e54e767b4 |
|
13-May-2014 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
On 32-bit x86, allow lzcnt to be detected on Intel CPUs as well as on AMDs. 64-bit equivalent does not have this bug. Fixes #334049. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13957 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
c76d0e5cf15d9a352c39a72867ae1c41875c6bb0 |
|
03-May-2014 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
ARM64: add support for cache management instructions (Valgrind side): dc cvau, regX ic ivau, regX mrs regX, ctr_el0 Fixes #333228 and #333230. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13931 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
24f0c3a8f6ec94f3f374c41aae7ce3a3363300db |
|
19-Feb-2014 |
dejanj <dejanj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
mips32: Support for 64bit FPU on MIPS32 platforms. Tests for 64bit FPU instructions on MIPS32 platforms. Some mips instructions can cause SIGILL (Illegal instruction), so we need to add SIGILL signal and a proper handler for that signal. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13817 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
b8afd6f2a9ba5a9e7d4f1484a905f9a42d464962 |
|
12-Feb-2014 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
arm64: implement the apply on all GP register. This is needed for leak search to work properly/not crash. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13804 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
0345188cc1524a809b8d7fe8785e1da098d9cbe4 |
|
15-Jan-2014 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
arm64: rename guest_SP to guest_XSP so as to avoid a name clash with guest_SP from s390 world. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13776 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
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/coregrind/m_machine.c
|
b8ba0310d94b421f6522f1a816f85653e795f5d8 |
|
21-Oct-2013 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix 324227 memcheck false positive leak when a thread calls exit+block only reachable via other thread live register The exiting thread will have its registers considered as not reachable anymore, registers of other threads will be considered reachable. This is ensured by using a different exit reason for the exiting thread and for the other threads. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13670 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.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_machine.c
|
787e8dc1fb76106fa17a3e5547d2cc219fab4fc8 |
|
18-Oct-2013 |
mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Don't report BMI support when AVX support is missing. Bug #326113. This is a bit conservative, but it is what the linux kernel also seems to be doing. If AVX support is missing (because the OS doesn't save the wide registers), then also don't report supporting BMI. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13656 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
643d501b0ac9478a58058952f367aef30e9b80b4 |
|
14-Oct-2013 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
PPC32/64: Allow 16 byte icache and dcache lines. Partial fix for #308135. (christophe.leroy@c-s.fr) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13637 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
96ee38d38d27cf15b33b9f0b2985c0c0a56c3c33 |
|
16-Sep-2013 |
petarj <petarj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
mips: clean-up in hardware detection Follow up to VEX r2764. Add detection of Cavium in /proc/cpuinfo, and test for DSP ASEs only for platforms with Company ID == MIPS. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13554 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
c91f58449e6fc2a4ce0851639a342c4277612fbb |
|
15-Sep-2013 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix inclusion of header files in coregrind. No pub_tool_*.h should be included here. Added pub_core_poolalloc.h and renamed pub_tool_inner.h to pub_core_inner.h. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13548 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
1a59a921dbfe75f7535d9dff6b76ea43a5ed961a |
|
11-Sep-2013 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Clarify wording. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13541 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
7c6a0003a9466af7099d30205c25db7328bc1332 |
|
27-Aug-2013 |
mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Support mmxext (integer sse) subset on i386 (athlon). Bug #323713 Some processors like the AMD Athlon "Classic" support mmxext, a sse1 subset. This subset is not properly detected by VEX. The subset uses the same encoding as the sse1 instructions. The subset is described at: http://support.amd.com/us/Embedded_TechDocs/22466.pdf https://en.wikipedia.org/wiki/3DNow!#3DNow.21_extensions Detects mmxext subset from cpuid information (and enables it when full sse1 is found). Also fixes the prereq of none/tests/x86/insn_mmxext.vgtest so that it also runs when full sse1 (and not just the mmxext subset) is found. It already passed on such configurations. With the VEX patch (r2745) it also passes with just the mmxext subset. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13515 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
dfbf294f08ac004a60cb3b528d544cb7d0404eb0 |
|
12-Aug-2013 |
carll <carll@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Initial ISA 2.07 support for POWER8-tuned libc The IBM Power ISA 2.07 has been published on power.org, and IBM's new POWER8 processor is under development to implement that ISA. This patch provides initial runtime and testsuite support for running Valgrind on POWER8 systems running a soon-to-be released Linux distribution. This Linux distro will include a POWER8-tuned libc that uses a subset of the new instructions from ISA 2.07. Since virtually all applications link with libc, it would be impossible to run an application under Valgrind on this distro without adding support for these new instructions to Valgrind, so that's the intent of this patch. Note that applications built on this distro will *not* employ new POWER8 instructions by default. There are roughly 150 new instructions in the Power ISA 2.07, including hardware transaction management (HTM). Support for these new instructions (modulo the subset included in this bug) will be added to Valgrind in a phased approach, similar to what we did for Power ISA 2.06. Bugzilla 322294, VEX commit 2740 git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13494 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
353d8b829ea1a63c17d94388b1473e5b140e5ba8 |
|
03-Aug-2013 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Followup to the renaming in VEX r2735. Also ignore AT_DCACHEBSIZE entries in the auxiliary vector as they are not needed. Fixes BZ 306587. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13481 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
3b411c169c685099c2fc26d816d4eac29fca6573 |
|
28-Jul-2013 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
s390: New machine model: zBC12 git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13473 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
5f790e8e33278b242b52c6479c94ce279b88d82c |
|
25-Jul-2013 |
dejanj <dejanj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
mips32: Add support for mips32 DSP instruction set. Add support for mips32 DSP and DSP revision 2 ASE. More details about the mips32 DSP(r2) ASE: http://www.mips.com/media/files/MD00566-2B-MIPSDSP-QRC-01.00.pdf Applied patch provided by Maja Gagic <maja.gagic@rt-rk.com> git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13470 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
1106692158e71bade4e00a2d21548e74b2ea334e |
|
11-May-2013 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
s390: valgrind side support for PFPO. New hwcap added. See companion patch VEX r2719. Patch by Maran Pakkirisamy (maranp@linux.vnet.ibm.com). Part of fixing BZ #307113 git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13387 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
fda50af388bcb6f7fea519efdf565517f8874ff4 |
|
27-Mar-2013 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Build system and hwcaps fixes pertaining to #305728, which added support for AVX2, BMI1, BMI2 and FMA instructions. (Jakub Jelinek, jakub@redhat.com) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13340 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
e653b034b9252da55c93980c819814ba597f9c29 |
|
26-Mar-2013 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add hwcaps checking on amd64 for RDTSCP. Part of the fix for #251569 and its dups. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13337 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
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/coregrind/m_machine.c
|
0fca5ee09d4582f9dae5e0b7e16348db19d9de40 |
|
26-Dec-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Remove a fixme. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13204 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
df14eeae2e6abcd70a35e78321066107bf926227 |
|
09-Dec-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Clean up the code for facility detection. First, use STFLE whenever possible (i.e. for all facilities that were introduced at the same time STFLE was or later). Turns out, that is most facilities we're interesting in probing, except long displacement. Secondly, remove magic constants denoting facility bits and use the definition from libvex_s390x_common.h Thirdly, build up the debugging message that shows the status of the probed facilities in a generic way so it won't have to be changed when facilities are added. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13174 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
0849a4da0eb52c93830853d03886cc56c95080df |
|
03-Dec-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Probe host for conditional load/store facility. New hwcaps: VEX_HWCAPS_S390X_LSCOND git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13149 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
6bd9dc18c043927c1196caba20a327238a179c42 |
|
23-Nov-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Changes to allow compilation with -Wwrite-strings. That compiler option is not used for testcases, just for valgrind proper. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13137 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
66826ece25fc70c7437c38170f2a4312504bd7ff |
|
19-Nov-2012 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix a couple of x86 char-signedness stragglers git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13128 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
19f91bbaedb4caef8a60ce94b0f507193cc0bc10 |
|
10-Nov-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix more Char/HChar mixups. Closing in... git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13119 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
7862701c0e3f556e4a0c7ec4074a40526c73a4ef |
|
07-Oct-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
This patch is the first installment of the cache info reorganisation. It's reorg only. No new cache autodetection stuff has been added. coregrind pub_tool_cpuid.h is removed as it is no longer exposed to tools. Its contents has moved to pub_core_cpuid.h. New file: coregrind/m_cache.c to contain the autodetect code for cache configurations and define other cache characteristics that cannot be autodetected (i.e. icaches_maintain_coherence). Most of cg-arch/x86-amd64.c was moved here. The cache detection code for x86-64 needs to be fixed to properly initialise VexCacheInfo. It currently has cachegrind bias. m_cache.c exports a single function (to coregrind): VG_(machine_get_cache_info)(VexArchInfo *vai) This function is called from VG_(machine_get_hwcaps) after hwcaps have been detected. cachegrind Remove cachegrind/cg-{ppc32,ppc43,arm,mips32,s390x,x86-amd64}.c With the exception of x86/mamd64 those were only establishing a default cache configuration and that is so small a code snippet that a separate file is no longer warranted. So, the code was moved to cg-arch.c. Code was added to extract the relevant info from x86-amd64. New function maybe_tweak_LLc which captures the code to massage the LLc cache configuration into something the simulator can handle. This was originally in cg-x86-amd64.c but should be used to all architectures. Changed warning message about missing cache auto-detect feature to be more useful. Adapted filter-stderr scripts accordingly. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13028 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
e968591ecff42023cd669a49c187c33f4ef77f32 |
|
02-Sep-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix an uninitialised variable found be BEAM. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12927 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
370bc773b6b0c0c4977634f6614947a448a5aa48 |
|
30-Aug-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
s390: Detect floating point extension facility. Update s390-features.c git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12920 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
87a25cf59352617f8876b8bdc8d437d4aafe5ae3 |
|
28-Aug-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
s390: Add zEC12 machine model. Fix spelling for some older models. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12905 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
833ffd0ec61b2df63248f736b9573ef921c1b035 |
|
26-Aug-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
On s390: detect presence of stckf hardware facility. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12902 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.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_machine.c
|
2fd883ae0212eb2e4fcc65bde058bb9a145b3db9 |
|
30-Jun-2012 |
petarj <petarj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Removing the warning about defined yet unused function on MIPS. Getting rid of the warning for the function handler_unsup_insn which is not used on MIPS. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12686 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
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/coregrind/m_machine.c
|
98763d5a6ee3a05ac0ee8340c30ded34c2b08a6d |
|
04-Jun-2012 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
m_machine: add new function VG_(machine_get_size_of_largest_guest_register) cachegrind: use the new function to abort startup if the minumum line size is smaller than the size of the largest guest register. Partially derived from a patch by Josef Weidendorfer. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12605 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
e3d028c00c4c5b0d3eb5b22fcaf6e9fb4ca701c2 |
|
03-May-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add ETF3 facility (valgrind bits). Part of fixing Bugzilla #289839. Patch by Divya Vyas (divyvyas@linux.vnet.ibm.com) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12550 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
ee1a897f672cce5583767ed9baf3b0bf0a4c170b |
|
26-Apr-2012 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add feature detection for amd64.avx, and (potentially) FMA. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12543 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
4e63b8eeac4166e70f26a17502621bddf1b01ff9 |
|
22-Apr-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Be lenient if the machine model could not be determined. Assume it's a new machine as opposed to a too old machine. Patch by Christian Borntraeger (borntraeger@de.ibm.com) with additional commentary. Fixes 298394. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12534 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
0daa4e31a3407ce0b0db8a90be8dd14bd8eccb35 |
|
22-Apr-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Consolidate and update information about dependencies of VG_(machine_get_hwcaps) for all architectures in pub_core_machine.h and avoid double maintenance. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12532 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
68aba524d0de0532c29e60f7b8140e6e39fbac30 |
|
21-Apr-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Set VEX_HWCAPS_S390X_STFLE if available. This should have been part of r12335. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12525 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
5ba075a1b629016370926fceacaf8e9155e1001c |
|
02-Apr-2012 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fixes for capabilities checking w.r.t. Power DFP instructions (Valgrind side). Fixes #297329. (Maynard Johnson, maynardj@us.ibm.com) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12483 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
a22f59db02284784a1e5e51587e2ce09db3a2a18 |
|
27-Jan-2012 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
(fixes bug 289939 wish: complete monitor cmd 'leak_check' with details about leaked or reachable blocks) This patch implements two new memcheck gdbserver monitor commands: block_list <loss_record_nr> after a leak search, shows the list of blocks of <loss_record_nr> who_points_at <addr> [<len>] shows places pointing inside <len> (default 1) bytes at <addr> (with len 1, only shows "start pointers" pointing exactly to <addr>, with len > 1, will also show "interior pointers") Compiled and reg-tested on f12/x86, deb5/amd64, f16/ppc64. The 'block_list' command is implemented on top of the lr_array/lc_chunks/lc_extras arrays used during the last leak search. NB: no impact on the memory for the typical Valgrind usage where a leak search is only done at the end of the run. Printing the block_list of a loss record simply consists in scanning the lc_chunks to find back the chunks corresponding to the loss record for which block lists is requested. The 'who_points_at' command is implemented by doing a scan similar to (but simpler than) the leak search scan. lc_scan_memory has been enhanced to have a mode to search for a specific address, rather than to search for all allocated blocks. VG_(apply_to_GP_regs) has been enhanced to also provide the ThreadId and register name in the callback function. The patch touches multiple files (but most changes are easy/trivial or factorise existing code). Most significant changes are in memcheck/mc_leakcheck.c : * changed the LC_Extra struct to remember the clique for indirect leaks (size of structure not changed). * made lr_array a static global * changed lc_scan_memory: to have a search mode for a specific address (for who_points_at) (for leak search) to pass a 'current clique' in addition to the clique leader so as to have a proper clique hierarchy for indirectly leaked blocks. * print_results: reset values at the beginning of the print_result of the next leak search, rather than at the end of print_results of the previous leak search. This allows to continue showing the same info for loss records till a new leak search is done. * new function print_clique which recursively prints a group of leaked blocks, starting from the clique leader. * new function MC_(print_block_list) : calls print_clique for each clique leader found for the given loss record. * static void scan_memory_root_set : code extracted from MC_(detect_memory_leaks) (no relevant change) * void MC_(who_points_at) : calls scan_memory_root_set, lc_scan_memory and VG_(apply_to_GP_regs)(search_address_in_GP_reg) to search pointers to the given address. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12357 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
d19733c03aa442a5927770f327ee5ec4bd944a60 |
|
15-Jan-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add support for the s390's TROO insn. These are the valgrind bits. Detect ETF2 enhancement facility using STFLE. Add testcases. Patch by Divya Vyas (divyvyas@linux.vnet.ibm.com) with modifications. Partial fix of #273114 git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12335 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
0016492d69a0f3cd2b68afe25c9b68911b7b906b |
|
25-Oct-2011 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix an out-of-bounds array access found by IBM's BEAM checker. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12232 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.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_machine.c
|
258ede7d62d10597e1551aab0ff5c4abb107444a |
|
03-Sep-2011 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add support for s390x model z114. See also VEX r2198 git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12005 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
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/coregrind/m_machine.c
|
ad8a591c92e1003de859735c77c9474a53b90e31 |
|
10-Jun-2011 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Teach cachegrind/callgrind how to parse the cache description in the CPUID data on recent Intel processors. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11810 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
1c6f6ab689f5f0ad3882cc12a4d9dd5a18a0a2a0 |
|
27-Apr-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
s390x: fpr - gpr transfer facility -- valgrind side fixes, and test cases. Fixes #268619. (Florian Krohm, britzel@acm.org) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11713 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
f34eb496099507090f26dcf94bb780da8b3894e5 |
|
15-Apr-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add support for IBM Power ISA 2.06 -- stage 1. Valgrind-side changes and test cases. Bug #267630 and followup fix #270794. (Maynard Johnson, maynardj@us.ibm.com) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11697 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
2c3f2ea57308833df5a7d463e9a649c8f6d1766f |
|
13-Apr-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
s390x: reconsider "long displacement" requirement -- hwcaps detection changes. See #268620. (Florian Krohm, britzel@acm.org) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11695 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
97d3ebba515c00930db4ee3f52af571bc84b2ef6 |
|
11-Apr-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add an alternative implementation of VG_MINIMAL_{SET,LONG}JMP for ppc32-linux, that works for gcc >= 4.4. Related to #259977. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11688 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.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_machine.c
|
c7ffc94890e120c72d5802487b1092425323dc02 |
|
28-Mar-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix up most but not all warnings generated by gcc-4.6 about dead assignments ("[-Wunused-but-set-variable]"). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11673 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
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/coregrind/m_machine.c
|
fa5ce5616a17e79828fbc79f30b02b5085151e3c |
|
24-Sep-2010 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
On arm-linux, add r7 to the set of registers that the CFI unwinder knows how to unwind. This is important when unwinding Thumb code the CFA is often stated as being at some offset from r7. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11377 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
a3551be497f6c4afc5dfbbbcd7c7a955a68fb22b |
|
09-Sep-2010 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
arm-linux: determine whether the host supports Neon by looking at our AUXV at startup, rather than by trying to execute a Neon instruction and seeing whether it SIGILLs. Apparently the latter is not a reliable way to ascertain the presence of usable Neon support. Fixes #249775. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11347 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
5ae70ce1f365ec09112da924c4e0e7aa673fd9c6 |
|
08-Sep-2010 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix somewhat nonsensical ifdeffery. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11345 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
dcb3a5968fc11a32e82e5e865201de63e50f2a7a |
|
04-Sep-2010 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Stop gcc complaining that dcbz_szB is used uninitialised. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11339 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
b9c815bb1cd57263ad0f081c27c88120d24ce4c5 |
|
03-Sep-2010 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Support the DCBZL instruction. Also, query the host CPU at startup time to find out how much space DCBZL really clears, and make the guest CPU act accordingly. (valgrind-side changes). (Dave Goodell, goodell@mcs.anl.gov) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11337 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
83c5a921adba406a2bad193d59e22bc77522085f |
|
02-Sep-2010 |
bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Added functions for querying the properties of the alternate stack. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11324 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
1dbd3376656236debf5d35a9b5d8a507a6c307f0 |
|
22-Aug-2010 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge from branches/THUMB: m_machine changes needed for Thumb support: * track guest_R15 -> guest_R15T renaming * change min instruction size to 2 * tidy up VG_(get_IP) etc functions a bit * add hwcaps detection code for ARM git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11283 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
40d91c7dcfd400464d2e1385caad6b31c17823d4 |
|
29-Jul-2010 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
x86/amd64: detect whether the CPU supports LZCNT. Followup to #212335. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11241 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.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_machine.c
|
f5f1e12bd89408917c1ffeb22ec23a1fd11b7a23 |
|
02-Jan-2010 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Various minor fixups to make ppc32/64-linux work again following recent ARM-Linux merge. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10992 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
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/coregrind/m_machine.c
|
598971eaf64c982788a8ca9eaa75c8cb181acb56 |
|
12-Jul-2009 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix identification of sse3 on amd64s. Previously it was identifying ssse3, not sse3 (sigh). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10434 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
1c0ce7a9edf8772773f6216dbad4bb04317d23b6 |
|
01-Jul-2009 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge in branches/DCAS. This branch adds proper support for atomic instructions, proper in the sense that the atomicity is preserved through the compilation pipeline, and thus in the instrumented code. These changes track the IR changes added by vex r1901. They primarily update the instrumentation functions in all tools to handle the changes, with the exception of exp-ptrcheck, which needs some further work in order to be able to run threaded code. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10392 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
3b0cae743ec228d9f1c2787b303282363c183dc7 |
|
28-May-2009 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Reinstate an include needed on ppc{32,64}-linux. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10161 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
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/coregrind/m_machine.c
|
252d72fb08a80a6f793284e77991a7dfaa6ba7c5 |
|
20-May-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Remove an unnecessary #include. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10024 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
cda2f0fbda4c4b2644babc830244be8aed95de1d |
|
18-May-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merged non-Darwin-specific parts of r9397,r9423,r9490, 9461, 9462 from the DARWIN branch. A big ugly DARWIN/trunk sync commit, mostly to do with changing the representation of SysRes and vki_sigset_t. Functionality of the trunk shouldn't be changed by it. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9876 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.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_machine.c
|
c4431bfe04c7490ea2d74939d222d87f13f30960 |
|
15-Jan-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Introduce a new type, PtrdiffT. Replace lots of uses of OffT (all those that are memory offsets) with PtrdiffT; OffT should only be used for file sizes and offsets. Change Off64T from a ULong to a Long, as it should be. Replace some uses of ULong in the address space manager with Off64T to match. Also add a comment explaining the meanings of the basic types like Addr, OffT, SizeT, etc. Also fix the prototype for VG_(pread) -- the last arg is an OffT, not an Int. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8959 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
1581e745b8991508ef5243fd2d168790caf578e1 |
|
13-Jan-2009 |
bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Do not only intercept SIGILL during detection of the supported instruction set on ppc but also SIGFPE. This patch should make instruction set detection work on the PowerPC 440EPx. Fixes bug #176926. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8945 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
9c606bd8634cd6b67bb41fa645b5c639668cfa2d |
|
18-Sep-2008 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge all remaining changes from branches/PTRCHECK. These are some relatively minor extensions to m_debuginfo, a major overhaul of m_debuginfo/readdwarf3.c to get its space usage under control, and changes throughout the system to enable heap-use profiling. The majority of the merged changes were committed into branches/PTRCHECK as the following revs: 8591 8595 8598 8599 8601 and 8161. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8621 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
89230cace4f5acad8037e4cb4b3e49e83d3a275b |
|
29-May-2008 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Allow 64-byte line sizes (PA6T cpu). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8151 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.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_machine.c
|
0fb03204ca433b7d81053a68bbdca11ee6c5fec6 |
|
29-Mar-2008 |
bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Added VG_(thread_get_stack_size)(). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7799 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
b8b79addf04dd5d0b558916e26df0b1927cbd758 |
|
03-Mar-2008 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge in the DATASYMS branch. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7540 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.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_machine.c
|
bbec7728efefaa650970dd1f0282b77040287133 |
|
25-Nov-2007 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Misc changes needed to support exp-drd (Bart Van Assche). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7213 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.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_machine.c
|
f1c91e04aa395a74092e26da815dbde4d769ee0a |
|
17-Oct-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge r6127: Extend for AIX5. Nothing surprising here. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6264 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
4cfea4f9480393ed6799db463b2e0fb8865a1a2f |
|
14-Oct-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Create a new module, m_vki, and move all knowledge about the kernel interface, except for the syscall numbers, into that. Mostly this means moving include/vki-*.h to include/vki/vki-*.h. include/pub_tool_basics.h previously dragged in the entire kernel interface. I've done away with that, so that modules which need to see the kernel interface now have to include pub_{core,tool}_vki.h explicitly. This is why there are many modified .c files -- they have all acquired an extra #include line. This certainly breaks all platforms except x86. Will fix shortly. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6225 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.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_machine.c
|
715921220d918dfee1cabe5aa01181d031d84544 |
|
04-Apr-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add a comment that really should have been in r5820. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5821 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
54d0dc768db5e4c90286ee79146b57f249fdb99c |
|
04-Apr-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
ppc32-linux: work around assemblers which can't do Altivec, by emitting the relevant instruction directly. Fixes a build problem on Debian 3.1 (ppc32). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5820 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
7637e9e116e1b92f757993075d9b72ee36be9314 |
|
21-Feb-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix CPU feature identification for ppc32/64 - add more paranoia, and configure the sigill handler so that it can be used more than once. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5662 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
b32bc73b166b25708b69f4a27092807d69194173 |
|
27-Jan-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Un-break ppc32 following recent hw-capabilities hackery. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5598 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
e3121f30971a7a9a977a3f7d3649dbddd1a0f960 |
|
27-Jan-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Track vex r1555 (Change the way Vex represents architecture variants into something more flexible.) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5597 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
53ee1fc8a2968c7e4d1eb75b89a8d4ff6908483c |
|
23-Dec-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Deal with function pointer vs function entry crazyness on ppc64-linux. Memcheck is done, but any tool which generates IR helper calls will need to be similarly adulterated. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5418 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
1f0d814045aba94e01e62e04e968ca8b970b3d44 |
|
23-Dec-2005 |
cerion <cerion@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Track changes to PPC naming convention - VEX r1504 git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5416 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
297c88fbff9fd02b8f8429b8b4d34cfc48f81eee |
|
22-Dec-2005 |
cerion <cerion@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
fixed up ppc64 assembly with .opd sections do_syscall_for_client_WRK() needed a bigger stack to avoid the linkage area. always use dot_prefix for label calls not wrapping assembly with .section ".text" ... .previous - ppc64 doesn't like it... seems we can't 'stack' more than one section to pop off with .previous ? git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5405 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
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/coregrind/m_machine.c
|
2c36d4285afacafc10232e2f70978e0519216138 |
|
13-Nov-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
The absolute bare minimum changes needed to make it work on an integer-only PPC processor (PPC440GX). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5110 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
22a787b158b7e6139e10b524db40168d3f09f872 |
|
13-Nov-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Use revised PPC32 subarchitecture categories. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5109 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
e3826cfe34ec9a0caa570a0d15647b28711584a0 |
|
13-Nov-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Hook the ppc32 stuff up to the revised CPU detection machinery, and add a bunch of code to detect what the cpu can do at startup by catching SIGILLs. Shame PPC doesn't offer any sane mechanism for finding out what instruction subsets the CPU is capable of (a la x86/amd64 cpuid). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5108 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
e2d1e670d412ff85c824ba5c043161816b9e26bd |
|
13-Nov-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Tidy up the machinery for detecting the CPU type and capabilities. Move it from m_translate to m_machine, which is a more appropriate place for it. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5104 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
a48a4939011eb7c09e12d29fe00e792a635b83d6 |
|
29-Sep-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Make ppc32-linux build again following aspacem merge. Doesn't work, though: programs crash before reaching main. I don't know why. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4819 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
c6957cf4b6aed7b7b3f2117ce37ef38791332ea5 |
|
13-Sep-2005 |
cerion <cerion@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Rename VG_(have_altivec) => VG_(have_altivec_ppc) for consistency. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4641 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
bc28f66763b196f4107a06d00e5dd17d594b9b94 |
|
13-Sep-2005 |
cerion <cerion@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
setup new variable VG_(have_altivec) from auxv::AT_HWCAP fixed default VSCR in dispatch-ppc32.S (non-java mode = 1) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4636 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
acaec5fd0a53ebd20fded3651169085bc7e90e78 |
|
19-Aug-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Incorporate a patch from Craig Chaney which gives better stack snapshots on ppc32-linux in the presence of functions subject to leaf-function optimisations. At the same time, simplify the stack unwinding logic by basically implementing it separately for each target. Having a single piece of logic for amd64 and x86 was tenable, but merging ppc32 into it is too confusing. So now there is an x86/amd64 unwinder and a ppc32 unwinder. This requires plumbing a link-register value into VG_(get_StackTrace2), and that in turn requires passing it around several other stack-trace-related functions. Hence 7 changed files. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4464 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
1d0cb0d000768c01536d61cbb0a2d6e8a9af52eb |
|
15-Aug-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Something I realised recently: in C, iterators are much better than higher-order functions for traversing data structures. The higher-order approach is too clumsy due to the lack of polymorphism and closures; you have to use void* too much and it is more verbose than it should be. Hence, I replaced all the uses of HT_first_match() and HT_apply_to_all_nodes() with equivalent uses of the hashtable iterator. Also replaced higher-order traversal functions for Memcheck's freed-list and the thread stacks with iterators. That last change changes the core/tool interface, so I've increased the version number. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4415 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
7821e2ed55ac6c2303eb51a06bafd5baada2423d |
|
08-Aug-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Make Valgrind work again on x86 CPUs which don't have SSE. This is a bit of an ugly hack (see comments in m_machine.c) which is suitable for merging into 3_0_BRANCH, but should be cleaned up once that's done. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4339 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
10f08cf5b84882eebbb6712a7be890577650e8ad |
|
29-Jun-2005 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
ppc32: reinstate collection of cache-line-size info from the auxv array at startup. This is used in m_transtab. However this info is not yet fed to Vex, so it's still important to zero-out the auxv field holding cache line size info passed to the client, so as to stop the client's glibc using dcbz. This will be fixed. Also get rid of a bunch more ppc32-specific vdso stuff in m_main that doesn't need to be done. This now means ppc32-linux specifics in m_main are only marginally intrusive than the x86-linux or amd64-linux specifics in m_main. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4052 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.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_machine.c
|
b506bd863e6cab5aea7cc4bea2ac3bc19a781b56 |
|
21-Jun-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Moved VG_(first_matching_thread_stack), removing m_threadstate's dependency on m_machine. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3983 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.c
|
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/coregrind/m_machine.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_machine.c
|
6ace3ea69b3f004df3f06c78cf13aa514aaa7460 |
|
17-Jun-2005 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Renamed VG_(mark_from_registers) to the more general VG_(apply_to_GP_regs). Moved it into m_machine. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3919 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_machine.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_machine.c
|