variable and/or the .valgrindrc files, make sure that enough space is
allocated for all the old arguments, not just those that are arguments
to valgrind itself.
CCMAIL: 88604-done@bugs.kde.org
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2706
off limits otherwise we can try and invalidate a vast area of memory
if there is no stack limit.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2705
- In Cachegrind, abstract out x86-specific use of CPUID to find cache
configuration. Required adding a cachegrind/x86/ directory, and fiddling
a bit with the build system.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2698
to avoid older kernels returning EPERM due to it being run in a separate
thread. This fixes bug #89198.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2697
is made to raise either the soft or hard limit above the current hard
limit rather than just allowing it.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2690
that limit when growing the stack. Also add a message when the stack in any
thread overflows.
CCMAIL: 73818-done@bugs.kde.org
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2689
- added x86-linux/core_platform.h
- factored out getting/setting of system call arguments, put it in
platform-specific part.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2685
- add a new file x86/x86_private.h, a header for the x86-specific stuff that is
not seen by the core.
- move some LDT function decls into x86_private.h.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2683
- move some LDT constants into the x86-specific code.
- abstract out uses of LDT and TLS in vg_scheduler into the x86-specific code.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2682
- create coregrind/x86-linux/ directory.
- move vg_unistd.h into x86-linux/, because it's platform-dependent. Also
rename it as vki_unistd.h to make clear it's a kernel interface thing.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2681
changed to name the last byte in Valgrind's section, rather than one past the
last byte. This was because the last byte is 0xffffffff, and so one past gave
0x0, which screwed things up.
However, when this change was made, all the places where VG_(valgrind_end) is
used weren't adjusted appropriately. So this commit makes those adjustments.
It also renames the variable as VG_(valgrind_last), which makes the difference
between it and the other VG_(*_end) variables much clearer.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2672
- Moved VG_MAX_REALREGS into x86/ part.
- Tweaked basic types so they're suitable for both 32-bit and 64-bit platforms.
Main change was to change 'Addr' to "unsigned long" which is the same size as
a pointer. Had to make a couple of minor changes to accommodate this.
Also, introduced 'UWord' and 'Word' types which will be necessary for making
code 64-bit clean.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2669
- moved a lot of the baseBlock initialisation into x86/, including all the
VGOFF variables, and all the x86 asm helper functions.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2668
Mackerras's work.
- introduced arch-neutral macros for getting the instruction/frame/stack
pointers.
- renamed ExeContext.eips as ExeContext.ips
- renamed esp/ebp/eip to sp/fp/ip in several related files and arch-neutralised
various comments
- introduced arch-neutral macros for walking the stack
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2663
- Added include/x86/: contains tool_arch.h, Makefile.am, .cvsignore.
- Added coregrind/x86/state.c. Contains some arch-specific code for dealing
with x86 registers -- eg. setting up the baseBlock, loading/saving the whole
register state. It is compiled into coregrind/x86/libarch.a and linked via
${VG_ARCH} with the core.
Relatedly, also added coregrind/x86/{core_arch.h,core_arch_asm.h}.
- Correspondingly abstracted the register state out of ThreadState. This
affected every place that touches registers, and there are a lot of them.
(Eventually all the register touching should be abstracted out in an
arch-neutral way, but not yet; one step at a time.)
- Added some declarations about register loading/saving functions to core.h;
all architectures will have to provide these functions.
- Rejigged the build system so that the arch-specific stuff is all done via
${VG_ARCH}, rather than naming e.g. x86/ directly. Appropriate -I arguments
are used so that all the headers are found, etc.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2656