History log of /external/valgrind/coregrind/pub_core_aspacemgr.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e8b9ee37f8a49881dffd1900b5c397768f54a53b 31-Aug-2015 iraisr <iraisr@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add support for ldsoexec on Solaris.
Solaris runtime linker allows to run dynamically linked programs indirectly, as:
ld.so.1 <dynamic_executable>
This is now possible under Valgrind as well.

Fixes BZ#351858.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15607 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.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/coregrind/pub_core_aspacemgr.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/coregrind/pub_core_aspacemgr.h
9e0419ccc35cf850f2b209abdebaa39a9fd20509 22-May-2015 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Followup to 15270. Completely forgot about the double maintenance.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15272 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
8f3cd17f6de44d563b7a3b2fdc5be9f0571bcdd8 22-Apr-2015 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Rename VG_(am_is_bogus_client_stack_pointer) to
VG_(am_addr_is_in_extensible_client_stack).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15132 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.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/coregrind/pub_core_aspacemgr.h
82e7a5439ce882f99cdb49bc064616d95124738d 26-Mar-2015 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add function VG_(am_is_valid_for_aspacem_minAddr) so that the parser
for command line options does not need to know what addresses are valid
for aspacem_minAddr.
That information should be hidden in the address space manager.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15040 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
017d8f5410cff379575eee4f5056fb1a82a6526b 23-Mar-2015 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add VG_(am_is_bogus_client_stack_pointer)(Addr).
The function is used in VG_(client_syscall) to avoid extending the stack
when it is clear that the current value of the stack pointer does not
point into a segment that looks like a stack segment.
See the comments in the code there.
As a side effect of this we can now revert r15018 which increased
the stack size of the alternate stack in memcheck/tests/sigaltstack.c.
The reason is that the belief at the time: "alternate stack is too small"
was not correct. What instead happened was that VG_(client_syscall) called
VG_(extend_stack) without need (the syscall was tgkill) and the new stack
pointer happened to be in a file segment.
In other words: the current stack pointer was still within the alternate
stack, i.e. the alternate stack was (barely) large enough.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15034 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
d0720e4a624bdfe7ce2494d690e7a88f986b93c1 12-Mar-2015 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> Implement command line option --valgrind-stacksize=<number>

This allows to decrease memory usage when using many threads,
if no big stacksize is needed by Valgrind.
If needed (e.g. for demangling big c++ symbols), the V stacksize
can be increased.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15004 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
2fa66ce8abeb95c722dcbd5bd233a26288f2cd7d 08-Mar-2015 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> New function VG_(am_mmap_client_heap) which swallows
VG_(am_set_segment_isCH_if_SkAnonC).
Rename VG_(am_set_segment_hasT_if_client_segment) to
VG_(am_set_segment_hasT) passing in an address (because that function
cannot possible take a pointer to a *const* segment). Also assert that
the segment containing the address is a client segment. Everything else
is a bug.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14993 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
15fa8a2f9b64e24c76ef88d8bf660ea2296f0c36 03-Mar-2015 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Produce a user message in case of stack overflow.
Change VG_(extend_stack) and VG_(am_extend_into_adjacent_reservation_client)
accordingly.
Remove some redundant checking.
Add testcase.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14974 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
888b8159535580b30550f99cb7361f62edd83100 26-Feb-2015 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Change the prototype of VG_(am_extend_into_adjacent_reservation_client)
to match VG_(am_extend_map_client) for consistency.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14965 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
dd7318bea2a008f15085e12e026a78a6802e2e9c 25-Feb-2015 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Change VG_(am_extend_map_client) as follows:
- Tighten up on asserts
- Simplify; as the function grows memory into a free segment, there
cannot possibly be any translations to be discarded. Free segments
do not have translations. sane_NSegment will make sure.
- Change the prototype to take in the start address of the mapping and
return a pointer to the resized segment. Previously, the code

ok = VG_(am_extend_map_client)( &d, old_seg, needL );
if (!ok)
goto eNOMEM;
VG_TRACK( new_mem_mmap, needA, needL,
old_seg->hasR, old_seg->hasW, old_seg->hasX,

was examining old_seg->hasR etc even though VG_(am_extend_map_client)
stated that *old_seg was invalid after the function returned.
That wasn't exactly a problem, but clearly looked wrong.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14963 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
6329ec86482987da1a179faaa8230ee346d90524 16-Feb-2015 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Translations are allowed from all client segments. Update comments
and rename VG_(am_set_segment_hasT_if_SkFileC_or_SkAnonC) to
VG_(am_set_segment_hasT_if_client_segment). Change it so it handles
all client segments.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14936 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
67d4603370b4bab8ebdf3e37fc2cf735a6aac73e 23-Jan-2015 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Move comments next to the function prototypes they describe.
No functional change.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14885 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
3297124fa2116737066ac3cd709f18fdd5405163 23-Oct-2014 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> 2 pints later: more coregrind constification.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14659 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.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/coregrind/pub_core_aspacemgr.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/coregrind/pub_core_aspacemgr.h
adfff76735ea5bca870dec8f382b225728e1b32d 21-Apr-2014 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> * Factorise code between is_valid_for_client and is_valid_for_valgrind.
* Implement VG_(am_is_valid_for_valgrind)
* Use it in gdbsrv to check accessibility when hostvisibility is activated



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13903 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
17e76ec2a2f1af812eee47dbbcde11bcb7ac1895 20-Apr-2014 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> Cleanup some old leftover of AIX port + fix a comment



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13902 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.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/coregrind/pub_core_aspacemgr.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/coregrind/pub_core_aspacemgr.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/coregrind/pub_core_aspacemgr.h
3e7986312a0ffc7646b0552d4c4ea3744a870e73 24-Nov-2012 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix some casts that removed const-ness as pointed out by
GCC's -Wcast-qual.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13138 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
dbb3584f591710a15a437918c0fc27e300993566 27-Oct-2012 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> More Char/HChar fixes and constification.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13088 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.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/coregrind/pub_core_aspacemgr.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/coregrind/pub_core_aspacemgr.h
15e301e2b0540fea8dd8b5410bf75d2fa0e8eac1 22-Dec-2011 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> * none/tests/linux/mremap3.vgtest : new test
mremap3.c based on testcase provided by Jan Engelhardt
* coregrind/m_syswrap/syswrap-generic.c
- The two 'no-thrash checks' that were introduced to fix bug #129866
were (probably) broken when adress space manager was reworked.
The new VG_(am_get_advisory_client_simple) returns NULL for a free
segment, but the check was based on checking not NULL and then
that the state is free.
=> replaces these two local checks by a call to the new
am Bool VG_(am_covered_by_single_free_segment) function.

* coregrind/pub_core_aspacemgr.h
coregrind/m_aspacemgr/aspacemgr-linux.c
- new function Bool VG_(am_covered_by_single_free_segment)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12314 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.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/coregrind/pub_core_aspacemgr.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/coregrind/pub_core_aspacemgr.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/coregrind/pub_core_aspacemgr.h
46dbd3f0192e6ffda8df706c62aca901902c5922 08-Sep-2010 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Don't scan the entire Valgrind stack to check for impending
stack-overflow situations. This causes an immense number of L2 misses
which are completely pointless, and the recent increase of the
Valgrind per-thread stack size from 64k to 1M greatly aggravates the
situation.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11343 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
9e0a6b80be818dd61143c3c9afe9d7fa380396ed 21-Jul-2010 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Increase Valgrind's (per-thread) stack size from 64kB to 1MB,
so as to avoid demangler crashes on very long names. Fixes
#197988 (possibly only temporary; the demangler could overflow
the stack again, given extremely long names.)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11215 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.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/coregrind/pub_core_aspacemgr.h
fd1b461d19d0fd0484682a51138308413a3eab0c 24-Jun-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> In VG_(get_changed_segments) use dynamic memory allocation rather than
static memory allocation to avoid hardwiring an upper limit on CSS_SIZE.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10374 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.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/coregrind/pub_core_aspacemgr.h
9506f0d6e86f22a0e8037822e2aaf628586ffa54 20-May-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> DARWIN sync: UInt -> Int.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10006 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.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/coregrind/pub_core_aspacemgr.h
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/pub_core_aspacemgr.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/coregrind/pub_core_aspacemgr.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/coregrind/pub_core_aspacemgr.h
e66f2e09ec1aa9bab7a0fd6b02a6a6150ea85190 30-Dec-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge (from 3_2_BRANCH) r6457/8 (Support 64k pages on ppc32/64-linux
(Jakub Jelink, Dave Nomura) )



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6459 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
fa2a246d8656bfb99515ca6976dedb421c3edfc4 17-Oct-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge r6119:

Changes to this interface to facilitate actions needed by AIX5.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6258 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.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/coregrind/pub_core_aspacemgr.h
1d0825ff46d57f0ce83c3fa88538a42f67022eee 27-Mar-2006 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge in the COMPVBITS branch to the trunk. This is a big change to
Memcheck, replacing the 9-bits-per-byte shadow memory representation to a
2-bits-per-byte representation (with possibly a little more on the side) by
taking advantage of the fact that extremely few memory bytes are partially
defined.

For the SPEC2k benchmarks with "test" inputs, this speeds up Memcheck by a
(geometric mean) factor of 1.20, and reduces the size of shadow memory by a
(geometric mean) factor of 4.26.

At the same time, Addrcheck is removed. It hadn't worked for quite some
time, and with these improvements in Memcheck its raisons-d'etre have
shrivelled so much that it's not worth the effort to keep around. Hooray!

Nb: this code hasn't been tested on PPC. If things go wrong, look first in
the fast stack-handling functions (eg. mc_new_mem_stack_160,
MC_(helperc_MAKE_STACK_UNINIT)).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5791 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
bcaf047c81e60a6ca3a322d9fdab4ab1cabe613e 16-Nov-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Move VG_(am_get_filename) to the tool accessible aspacemgr header file.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5141 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
1340c35bebb175c6d158361596ee6171b4cfc2a2 04-Oct-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Create a new SkShmC segment type for shared memory segments so that we
can ensure they are never merged with adjacent segments. This makes
sure that we can find the right piece of memory to release when the
shmdt system call occurs.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4854 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
274461dcb67f680196c97e8afb7028a79b97dcb7 02-Oct-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Plumb 64-bit file offsets throughout the address space manager.
Untested.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4844 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
cb249ab3febb3757a0b0582be21952efacf415e5 28-Sep-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Privatise parse_procselfmaps() and move it into aspacemgr.c in order
to benefit from the module-cycle-breaking functions in aspacemgr.c.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4805 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
6684d2afc25363b29a9ce4281050161d91baeebf 28-Sep-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> VG_(am_extend_into_adjacent_reservation_client): Do not allow the
reservation segment to be shrunk below one page.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4803 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
45f4e7c91119c7d01a59f5e827c67841632c9314 27-Sep-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> This commit merges in changes from branches/ASPACEM (specifically,
changes from r4341 through r4787 inclusive). That branch is now dead.
Please do not commit anything else to it.

For the most part the merge was not troublesome. The main areas of
uncertainty are:

- build system: I had to import by hand Makefile.core-AM_CPPFLAGS.am
and include it in a couple of places. Building etc seems to still
work, but I haven't tried building the documentation.

- syscall wrappers: Following analysis by Greg & Nick, a whole lot of
stuff was moved from -generic to -linux after the branch was created.
I think that is satisfactorily glued back together now.

- Regtests: although this appears to work, no .out files appear, which
is strange, and makes it hard to diagnose regtest failures. In
particular memcheck/tests/x86/scalar.stderr.exp remains in a
conflicted state.

- amd64 is broken (slightly), and ppc32 will be unbuildable. I'll
attend to the former shortly.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4789 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
09b8480025cb3149879465b769058cb197bb9003 27-Aug-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Move some kernel constants to the right place.

Also reinstated SF_DEVICE, which is used to ensure we don't try and
leakcheck a page that is mapped from a device. This got lost in the
2.x-to-3.x transition, or some time after.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4538 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
721f2c80941477d9ac2d5e52c61979f95f50577a 18-Aug-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Make show_segments() public, and use it when VG_(get_memory_from_mmap)()
fails. This might help debugging.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4448 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
0ae787c314ee1ca0b8f614342bf4aea9b661e5a1 29-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Remove all the completely unused SF_* flags. I suspect some of the
remaining ones have no interesting effect, but I left them in.

Also simplify the signature for VG_(get_memory_from_mmap_for_client)().


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4045 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
88c5148fdd9c4315038de8b15f51b633fbc69bfe 25-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Made m_debuginfo not depend on m_aspacemgr, breaking the direct circular
dependence between them. (There's still an indirect one via m_libcmman.)

As a result, I was able to move the Segment type declaration into
pub_core_aspacemgr.h, which is a much better spot. I was also able to
remove a couple of #includes.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4025 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
b69f7c12ae343c3435b4b3bd0aa372144bdf5977 25-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Moved the mman VG_(*_native)() functions into m_aspacemgr, and removed
the unused init_shadow_page() function. As a result, m_aspacemgr no longer
depends on m_libcmman, breaking a circular module dependency, good!


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4015 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
945ed2e53f6bbe9c84a8173b63881158132d9ca8 24-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Moved Robert's stack tracking code out of m_aspacemgr into a new module
m_stacks, because it's a nicely distinct and stand-alone piece of
functionality. This happily removes m_aspacemgr's dependence on
m_mallocfree (there was an apparent dependence due to the #include, even if
it didn't manifest itself in practice -- very important!) and m_options (not
so important).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4009 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
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/pub_core_aspacemgr.h
899ce73b9eb1f679562e93f8e5c162aa049413f1 21-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Don't #include pub_core_debuginfo.h in pub_core_aspacemgr.h. So have
to #include it explicitly in lots of other places, but at least the
dependency is clear now.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3974 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
9260c78df6d5b3cfd838cb677f64c3b4cc1b7b0e 19-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Move VG_(get_memory_from_mmap_for_client) out of m_aspacemgr into
m_libcmman, next to VG_(get_memory_from_mmap). Removes the (direct)
dependence of m_mallocfree on m_aspacemgr.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3962 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
7d2a9c418d3a17079d3ea30a987b07456b803dc2 19-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Put VG_(client_trampoline_code) in m_trampoline.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3961 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
6676d5b4e5e4fd70cebb5201b48f91bfb9b130cb 19-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Move VG_(sanity_check_general) out of m_main.c into scheduler.c.
Removes the dependence of m_scheduler/ on m_main.c; reduces the
dependence of m_signals.c on m_main.c.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3955 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
4802b38ecf205ab7a5470f2ddafffeb57358befc 11-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Move some decls out of tool.h into the new file pub_tool_aspacemgr.h.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3885 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.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/coregrind/pub_core_aspacemgr.h
e3f0635c1cd391920f5c9ba1dd85166a296eb714 01-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Moved VGA_(pointercheck)() into ASpaceMgr.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3834 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
ea27e4627518665dd6c81213c0ba1f7ff0218e1a 31-May-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Modularised all the debug info stuff as m_debuginfo/. It's a mess
and needs further cleaning up, but it's a start.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3821 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
04e1698d9f92df36742be7c1e0fefb9af1c5b1bd 31-May-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Modularised vg_main.c as m_main.c. Moved some stuff out of it to reduce the
number of files that depend on it, but there are still some which should be
removed in the future.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3819 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
36ef6ba9a744c6e614fffb567d9939d0c10426ef 14-May-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Renamed the field Segment.symtab to Segment.seginfo to avoid confusion
with SegInfo.symtab.

Also renamed VG_(symtab_{inc,dec}ref)() as VG_(seginfo_{inc,dec}ref)()
for the same reason.

Also renamed various SegInfo variables from "seg" to "si" to avoid
confusion with the many Segment variables called "seg".



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3709 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
43b9a8abb139b86a24457fa3c19b9cb60ca17c3a 10-May-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Modularised the core/tool interface ('details', 'needs' and VG_(tdict))
into a new module m_tooliface. Pretty straightforward. Touches a lot
of files because many files use this interface and so need to include
the headers for the new module.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3652 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h
55f9d1a56f3542c68f5b24006c14b1f9aaefff6f 25-Apr-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Create a new module: ASpaceMgr, the address space manager. This
contains what was previously vg_memory.c and also vg_procselfmaps.c,
which is really just a helper for the address space manager.

This just moves code around and modularises it a bit. It doesn't yet
resolve the circular dependencies between ASpaceMgr and various other
chunks of functionality (vg_malloc2, vg_symtab2).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3564 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/pub_core_aspacemgr.h