]> git.ipfire.org Git - thirdparty/valgrind.git/log
thirdparty/valgrind.git
21 years agoRemove all the unused x86 and AMD64 *_FEAT_* macros, as NOTES.txt
Nicholas Nethercote [Fri, 13 May 2005 21:41:13 +0000 (21:41 +0000)] 
Remove all the unused x86 and AMD64 *_FEAT_* macros, as NOTES.txt
suggests.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3693

21 years agoRemoved mc_asm.h, which is no longer needed since Memcheck has no
Nicholas Nethercote [Fri, 13 May 2005 21:39:45 +0000 (21:39 +0000)] 
Removed mc_asm.h, which is no longer needed since Memcheck has no
assembly files any more.  Moved MC_() into mc_include.h.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3692

21 years agoTidy up (arch)/dispatch.S
Cerion Armour-Brown [Fri, 13 May 2005 16:54:09 +0000 (16:54 +0000)] 
Tidy up (arch)/dispatch.S

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3691

21 years agoReinstate a SBB case.
Julian Seward [Fri, 13 May 2005 13:54:48 +0000 (13:54 +0000)] 
Reinstate a SBB case.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1195

21 years agoCFI reader: don't assume RA_REG is anything in particular; instead use
Julian Seward [Fri, 13 May 2005 12:17:33 +0000 (12:17 +0000)] 
CFI reader: don't assume RA_REG is anything in particular; instead use
what's specified in the currenty applicable CIE.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3690

21 years agoCreate a fast version of MC_(helperc_MAKE_STACK_UNINIT), so as not to
Julian Seward [Thu, 12 May 2005 23:25:43 +0000 (23:25 +0000)] 
Create a fast version of MC_(helperc_MAKE_STACK_UNINIT), so as not to
slow down call-return intensive amd64 programs too much.  Revised
version is approximately 8 times faster than the naive version.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3689

21 years agoSudden attack of 64-bit paranoia: therefore stick even more (probably
Julian Seward [Thu, 12 May 2005 23:23:38 +0000 (23:23 +0000)] 
Sudden attack of 64-bit paranoia: therefore stick even more (probably
pointless) casts in.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3688

21 years agoReinstate a bunch more x87 instructions.
Julian Seward [Thu, 12 May 2005 19:21:55 +0000 (19:21 +0000)] 
Reinstate a bunch more x87 instructions.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1194

21 years agoAMD x87 instruction tests.
Julian Seward [Thu, 12 May 2005 19:17:36 +0000 (19:17 +0000)] 
AMD x87 instruction tests.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3687

21 years agoUse the new IRStmt_AbiHints created by the amd64 front end. This
Julian Seward [Thu, 12 May 2005 18:05:00 +0000 (18:05 +0000)] 
Use the new IRStmt_AbiHints created by the amd64 front end.  This
finally makes memcheck able to reliably track the definedness of the
stack on amd64.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3686

21 years ago64-bit fix.
Julian Seward [Thu, 12 May 2005 18:02:50 +0000 (18:02 +0000)] 
64-bit fix.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3685

21 years agoAnother expected output file.
Julian Seward [Thu, 12 May 2005 18:02:01 +0000 (18:02 +0000)] 
Another expected output file.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3684

21 years ago64-bit fixes.
Julian Seward [Thu, 12 May 2005 18:01:15 +0000 (18:01 +0000)] 
64-bit fixes.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3683

21 years ago* move libc-specific suppressions into glibc-2.3.supp
Julian Seward [Thu, 12 May 2005 18:00:12 +0000 (18:00 +0000)] 
* move libc-specific suppressions into glibc-2.3.supp
* enhance the xfree suppressions so they match 64-bit X libraries

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3682

21 years agoIntercept yet more functions on amd64.
Julian Seward [Thu, 12 May 2005 17:58:57 +0000 (17:58 +0000)] 
Intercept yet more functions on amd64.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3681

21 years agomemmove on glibc on amd64 is over-optimised; replace it.
Julian Seward [Thu, 12 May 2005 17:58:28 +0000 (17:58 +0000)] 
memmove on glibc on amd64 is over-optimised; replace it.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3680

21 years agoHandle (ignore) IRStmt_AbiHint.
Julian Seward [Thu, 12 May 2005 17:57:14 +0000 (17:57 +0000)] 
Handle (ignore) IRStmt_AbiHint.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3679

21 years agoAdd the beginnings of what might be a general mechanism to pass
Julian Seward [Thu, 12 May 2005 17:55:01 +0000 (17:55 +0000)] 
Add the beginnings of what might be a general mechanism to pass
ABI-specific knowledge through the IR compilation pipeline.  This
entails a new IR construction, AbiHint.

Currently there is only one kind of hint, and it is generated by the
amd64 front end.  This tells whoever wants to know that a function
call or return has happened, and so the 128 bytes below %rsp should be
considered undefined.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1193

21 years agoUpdate FAQ about GLIBCXX_FORCE_NEW name-change.
Nicholas Nethercote [Thu, 12 May 2005 13:45:56 +0000 (13:45 +0000)] 
Update FAQ about GLIBCXX_FORCE_NEW name-change.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3678

21 years agoUnbreak build by moving creating pub_core_dispatch_asm.h for holding
Nicholas Nethercote [Thu, 12 May 2005 13:15:38 +0000 (13:15 +0000)] 
Unbreak build by moving creating pub_core_dispatch_asm.h for holding
asm-only constants.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3677

21 years agoWhen constructing a LeakErr, the (Char*) .string field is abused to
Julian Seward [Thu, 12 May 2005 09:04:06 +0000 (09:04 +0000)] 
When constructing a LeakErr, the (Char*) .string field is abused to
carry an Int.  This is confusing but works on 32-bit platforms; on
64-bit ones, gcc complains about the cast.  This commit adds another
kludge to keep gcc quiet.  Really this should be fixed properly.  The
casting-abuse is 'undone' in case LeakErr in MAC_(pp_Shared_Error).

This should really be fixed properly.  If this .string isn't always
a string, perhaps it should be renamed 'auxword' and turned into a
UWord which is guaranteed castable to/from pointer on any platform.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3676

21 years agoFix PURPOSE comment.
Julian Seward [Thu, 12 May 2005 08:27:04 +0000 (08:27 +0000)] 
Fix PURPOSE comment.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3675

21 years agoFix compilation warnings on amd64 caused by I_die_here.
Julian Seward [Thu, 12 May 2005 08:26:36 +0000 (08:26 +0000)] 
Fix compilation warnings on amd64 caused by I_die_here.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3674

21 years agoMove some macros into a more private place.
Nicholas Nethercote [Thu, 12 May 2005 05:26:13 +0000 (05:26 +0000)] 
Move some macros into a more private place.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3673

21 years agoModularised the dispatchers in m_dispatch.
Nicholas Nethercote [Thu, 12 May 2005 05:13:04 +0000 (05:13 +0000)] 
Modularised the dispatchers in m_dispatch.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3672

21 years agoModularised vg_skiplist.c as m_skiplist.c.
Nicholas Nethercote [Thu, 12 May 2005 04:37:27 +0000 (04:37 +0000)] 
Modularised vg_skiplist.c as m_skiplist.c.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3671

21 years agoCleaned up vg_messages.c and related printf stuff. vg_messages.c is now a
Nicholas Nethercote [Thu, 12 May 2005 03:51:15 +0000 (03:51 +0000)] 
Cleaned up vg_messages.c and related printf stuff.  vg_messages.c is now a
layer above the printf stuff in vg_mylibc.c, which is layered over
m_debuglog.  This makes the module interfaces neater, more consistent, and
cuts 40 lines of code.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3670

21 years agoReplace two exported functions with one.
Nicholas Nethercote [Thu, 12 May 2005 03:47:31 +0000 (03:47 +0000)] 
Replace two exported functions with one.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3669

21 years agoMore floating-point tuning.
Julian Seward [Thu, 12 May 2005 02:14:52 +0000 (02:14 +0000)] 
More floating-point tuning.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1192

21 years agoUpdate a bit.
Julian Seward [Wed, 11 May 2005 23:37:18 +0000 (23:37 +0000)] 
Update a bit.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3668

21 years agoAdd a couple more %rflag-helper specialisations.
Julian Seward [Wed, 11 May 2005 23:16:43 +0000 (23:16 +0000)] 
Add a couple more %rflag-helper specialisations.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1191

21 years agoAllow reg-alloc to use %rbx. This is a callee-saved register and
Julian Seward [Wed, 11 May 2005 23:16:13 +0000 (23:16 +0000)] 
Allow reg-alloc to use %rbx.  This is a callee-saved register and
therefore particularly valuable - bringing it into circulation reduces
the volume of code generated by memcheck by about 3%.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1190

21 years agoAh, the joys of register allocation. You might think that giving
Julian Seward [Wed, 11 May 2005 22:55:08 +0000 (22:55 +0000)] 
Ah, the joys of register allocation.  You might think that giving
reg-alloc as many registers as possible maximises performance.  You
would be wrong.  Giving it more registers generates more spilling of
caller-saved regs around the innumerable helper calls created by
Memcheck.  What we really need are zillions of callee-save registers,
but those are in short supply.  Hmm, perhaps I should let it use %rbx
too -- that's listed as callee-save.

Anyway, the current arrangement allows reg-alloc to use 8
general-purpose regs and 10 xmm registers.  The x87 registers are not
used at all.  This seems to work fairly well.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1189

21 years agoDo a bit better for (part of) a very common memcheck idiom: "is this
Julian Seward [Wed, 11 May 2005 22:47:32 +0000 (22:47 +0000)] 
Do a bit better for (part of) a very common memcheck idiom: "is this
pointer defined ?"

git-svn-id: svn://svn.valgrind.org/vex/trunk@1188

21 years agoMoved Vex's arch/subarch detection out of main() into VG_(translate)()'s
Nicholas Nethercote [Wed, 11 May 2005 22:45:48 +0000 (22:45 +0000)] 
Moved Vex's arch/subarch detection out of main() into VG_(translate)()'s
init routine.  This meant that VG_(vex_arch) and VG_(vex_subarch) could be
made local to VG_(translate)().

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3667

21 years agoMake VG_(clone)() declaration private to m_syscalls.
Nicholas Nethercote [Wed, 11 May 2005 22:36:07 +0000 (22:36 +0000)] 
Make VG_(clone)() declaration private to m_syscalls.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3666

21 years agoRemoved the obsolete client request numbers that were used in the old
Nicholas Nethercote [Wed, 11 May 2005 22:32:39 +0000 (22:32 +0000)] 
Removed the obsolete client request numbers that were used in the old
libpthread.  There seems to be no danger of old libpthread.so files causing
problems;  I just tried installing a current Valgrind over a 2.2.0
installation and it worked fine.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3665

21 years agoRemove dead macro.
Nicholas Nethercote [Wed, 11 May 2005 19:03:57 +0000 (19:03 +0000)] 
Remove dead macro.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3664

21 years agoMove VG_(dispatch_ctr) out of vg_main.c, which never touches it, into
Nicholas Nethercote [Wed, 11 May 2005 18:57:02 +0000 (18:57 +0000)] 
Move VG_(dispatch_ctr) out of vg_main.c, which never touches it, into
vg_scheduler.c, which does.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3663

21 years agoMove declaration of "struct vg_mallocfunc_info" from core.h into
Nicholas Nethercote [Wed, 11 May 2005 18:51:53 +0000 (18:51 +0000)] 
Move declaration of "struct vg_mallocfunc_info" from core.h into
pub_core_replacemalloc.h, to reduce its exposure.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3662

21 years agoMove VG_(block_signals)() to vg_scheduler.c, the only file that uses
Nicholas Nethercote [Wed, 11 May 2005 18:48:33 +0000 (18:48 +0000)] 
Move VG_(block_signals)() to vg_scheduler.c, the only file that uses
it, and make it private.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3661

21 years agoFix stabs parsing bug introduced by fix to bug 90128 which meant
Tom Hughes [Wed, 11 May 2005 18:44:13 +0000 (18:44 +0000)] 
Fix stabs parsing bug introduced by fix to bug 90128 which meant
that structDef() didn't always call VG_(st_setname) as it should.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3660

21 years agogcc-2.96 build fixes
Julian Seward [Wed, 11 May 2005 16:24:00 +0000 (16:24 +0000)] 
gcc-2.96 build fixes

git-svn-id: svn://svn.valgrind.org/vex/trunk@1187

21 years agoMake the amd64 back end capable of dealing with the stuff memcheck
Julian Seward [Wed, 11 May 2005 16:13:37 +0000 (16:13 +0000)] 
Make the amd64 back end capable of dealing with the stuff memcheck
generates for 128-bit vector primops.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1186

21 years agoAMD64 backend cleanup: get rid of instruction variants which the insn
Julian Seward [Wed, 11 May 2005 15:37:50 +0000 (15:37 +0000)] 
AMD64 backend cleanup: get rid of instruction variants which the insn
selector doesn't generate.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1185

21 years agoUse hi-half xmm registers (REX.R, REX.B == 1) (%xmm8-%xmm15) in an
Julian Seward [Wed, 11 May 2005 11:57:41 +0000 (11:57 +0000)] 
Use hi-half xmm registers (REX.R, REX.B == 1) (%xmm8-%xmm15) in an
attempt to flush out any register-number bugs that might be lurking.

It would be nice to be able to do the same with the integer registers,
but gcc-3.3.4 is too stupid to understand asms with clobbered
registers "r8d", etc (plain "r8" etc is OK) and I am too ignorant of
perl to know how to mash r8b/r8w/r8d back into plain "r8" etc for the
clobbered registers list.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3659

21 years agoRegression tests for amd64 instructions.
Julian Seward [Wed, 11 May 2005 11:21:29 +0000 (11:21 +0000)] 
Regression tests for amd64 instructions.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3658

21 years ago* gcc-3.3.4 seems to generate non-working code for eq_double: workaround
Julian Seward [Wed, 11 May 2005 10:42:49 +0000 (10:42 +0000)] 
* gcc-3.3.4 seems to generate non-working code for eq_double: workaround
* fix wrong stack offset for comparisons involving %rflags
* (unused): sets of register names for reg numbers >= 8

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3657

21 years agoThese cases are now verified.
Julian Seward [Wed, 11 May 2005 10:05:04 +0000 (10:05 +0000)] 
These cases are now verified.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1184

21 years agoPlacate icc.
Julian Seward [Wed, 11 May 2005 10:03:08 +0000 (10:03 +0000)] 
Placate icc.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1183

21 years agoTo a first approximation, this commit completes SSE2 support for AMD64.
Julian Seward [Wed, 11 May 2005 02:55:54 +0000 (02:55 +0000)] 
To a first approximation, this commit completes SSE2 support for AMD64.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1182

21 years agoComment-only change.
Julian Seward [Wed, 11 May 2005 02:55:00 +0000 (02:55 +0000)] 
Comment-only change.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1181

21 years agoLots more SSE2 instructions.
Julian Seward [Wed, 11 May 2005 02:13:42 +0000 (02:13 +0000)] 
Lots more SSE2 instructions.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1180

21 years agoSSE2 tests for amd64.
Julian Seward [Wed, 11 May 2005 02:12:31 +0000 (02:12 +0000)] 
SSE2 tests for amd64.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3656

21 years agoSSE2, on and on and on. There are more different SSE2 instructions
Julian Seward [Wed, 11 May 2005 00:03:06 +0000 (00:03 +0000)] 
SSE2, on and on and on.  There are more different SSE2 instructions
than there are atoms in the universe.  This much, at least, I now
know.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1179

21 years agoEnough SSE2 instructions to sink a small ship. And that's not even
Julian Seward [Tue, 10 May 2005 22:42:54 +0000 (22:42 +0000)] 
Enough SSE2 instructions to sink a small ship.  And that's not even
half of them.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1178

21 years agoFirst pass through SSE1 instructions.
Julian Seward [Tue, 10 May 2005 20:08:34 +0000 (20:08 +0000)] 
First pass through SSE1 instructions.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1177

21 years agoForgot a #include line.
Nicholas Nethercote [Tue, 10 May 2005 05:00:55 +0000 (05:00 +0000)] 
Forgot a #include line.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3655

21 years agoModularised the demangler into m_demangle. (It very nearly fit our new
Nicholas Nethercote [Tue, 10 May 2005 04:56:56 +0000 (04:56 +0000)] 
Modularised the demangler into m_demangle.  (It very nearly fit our new
module structure as-is.)

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3654

21 years agoupdate properly
Nicholas Nethercote [Tue, 10 May 2005 04:50:05 +0000 (04:50 +0000)] 
update properly

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3653

21 years agoModularised the core/tool interface ('details', 'needs' and VG_(tdict))
Nicholas Nethercote [Tue, 10 May 2005 04:37:01 +0000 (04:37 +0000)] 
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

21 years agoAdd a comment explaining the recently changed behaviour of
Nicholas Nethercote [Tue, 10 May 2005 03:01:23 +0000 (03:01 +0000)] 
Add a comment explaining the recently changed behaviour of
RUNNING_ON_VALGRIND.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3651

21 years agoupdate
Nicholas Nethercote [Tue, 10 May 2005 02:56:08 +0000 (02:56 +0000)] 
update

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3650

21 years agoMany amd64 SSE1 instructions.
Julian Seward [Tue, 10 May 2005 02:50:05 +0000 (02:50 +0000)] 
Many amd64 SSE1 instructions.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1176

21 years ago* test cases for amd64 SSE
Julian Seward [Tue, 10 May 2005 02:49:11 +0000 (02:49 +0000)] 
* test cases for amd64 SSE
* modify gen_insn_test to handle them

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3649

21 years agoModularised the malloc/free stuff into two modules: m_mallocfree for the
Nicholas Nethercote [Tue, 10 May 2005 02:47:21 +0000 (02:47 +0000)] 
Modularised the malloc/free stuff into two modules:  m_mallocfree for the
malloc/free implementation, and m_replacemalloc with the stuff for the tools
that replace malloc with their own version.  Previously these two areas of
functionality were mixed up somewhat.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3648

21 years agoFinish off amd64 MMX instructions before they finish me off (it's
Julian Seward [Mon, 9 May 2005 22:23:38 +0000 (22:23 +0000)] 
Finish off amd64 MMX instructions before they finish me off (it's
either them or me).  Honestly, the amd64 insn set has the most complex
encoding I have ever seen.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1175

21 years agoVersions of Tom's excellent insn-set test programs modified for the
Julian Seward [Mon, 9 May 2005 22:01:37 +0000 (22:01 +0000)] 
Versions of Tom's excellent insn-set test programs modified for the
amd64 insn set.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3647

21 years agoHandle primops created by memchecking MMX code.
Julian Seward [Mon, 9 May 2005 18:15:21 +0000 (18:15 +0000)] 
Handle primops created by memchecking MMX code.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1174

21 years agoMake a whole bunch of mmx instructions work.
Julian Seward [Mon, 9 May 2005 17:52:56 +0000 (17:52 +0000)] 
Make a whole bunch of mmx instructions work.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1173

21 years agoSupport GetI/PutI of 32-bit integer arrays.
Julian Seward [Mon, 9 May 2005 12:16:33 +0000 (12:16 +0000)] 
Support GetI/PutI of 32-bit integer arrays.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1172

21 years agoEven more x87 instructions.
Julian Seward [Mon, 9 May 2005 02:57:08 +0000 (02:57 +0000)] 
Even more x87 instructions.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1171

21 years agoHelgrind:
Nicholas Nethercote [Mon, 9 May 2005 01:23:49 +0000 (01:23 +0000)] 
Helgrind:
- make nested function non-nested to avoid GCC 4.0 warnings
- replace archaic "eraser" names with "hg".  And EraserErr type is now
  RaceErr (although we still use "Eraser" in suppression files for backwards
  compatibility).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3646

21 years agoRename mac_needs.c as mac_shared.c, which is much more sensible and
Nicholas Nethercote [Mon, 9 May 2005 01:13:44 +0000 (01:13 +0000)] 
Rename mac_needs.c as mac_shared.c, which is much more sensible and
actually matches mac_shared.h.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3645

21 years agoBig clean-up: changed the core/tool interface to be mediated entirely
Nicholas Nethercote [Mon, 9 May 2005 01:02:08 +0000 (01:02 +0000)] 
Big clean-up: changed the core/tool interface to be mediated entirely
through the VG_(tdict) function dictionary, rather than using TL_(foo)
functions.

This facilitated the following changes:

- Removed the "TL_" prefix, which is no longer needed.

- Removed the auto-generated files vg_toolint.[ch], which were no longer
  needed, which simplifies the build a great deal.  Their (greatly
  streamlined) contents went into core.h and vg_needs.h (and will soon
  go into a new module defining the core/tool interface).

  This also meant that tool.h.base reverted to tool.h (so no more
  accidentally editing tool.h and not having the changes go into the
  repo, hooray!)  And gen_toolint.pl was removed.  And toolfuncs.def was
  removed.

- Removed VG_(missing_tool_func)(), no longer used.

- Bumped the core/tool interface major version number to 8.  And I
  killed the minor version number, which was never used.  The layout
  of the ToolInfo struct is such that this should not cause problems.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3644

21 years agoMake a whole bunch more x87 instructions work on amd64.
Julian Seward [Sun, 8 May 2005 23:03:48 +0000 (23:03 +0000)] 
Make a whole bunch more x87 instructions work on amd64.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1170

21 years agoRemoved vg_default.c, hooray.
Nicholas Nethercote [Sun, 8 May 2005 19:08:54 +0000 (19:08 +0000)] 
Removed vg_default.c, hooray.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3643

21 years agoAvoid compiler warnings.
Nicholas Nethercote [Sun, 8 May 2005 19:04:53 +0000 (19:04 +0000)] 
Avoid compiler warnings.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3642

21 years agoMoved mc_errcontext.c into mc_main.c, since it was very small and there was
Nicholas Nethercote [Sun, 8 May 2005 18:34:59 +0000 (18:34 +0000)] 
Moved mc_errcontext.c into mc_main.c, since it was very small and there was
no benefit in having it separate.  This allows some exports to be removed
from mc_include.h.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3641

21 years agoRemove pointless platform-specific private_asm.h files.
Nicholas Nethercote [Sun, 8 May 2005 18:21:15 +0000 (18:21 +0000)] 
Remove pointless platform-specific private_asm.h files.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3640

21 years agoRename some _SIZE macros as _SZB to make their units clear. This change is
Nicholas Nethercote [Sun, 8 May 2005 17:49:37 +0000 (17:49 +0000)] 
Rename some _SIZE macros as _SZB to make their units clear.  This change is
in response to a mixed-units (bytes and words) error we had involving
VGA_STACK_REDZONE_SIZE (which is now VGA_STACK_REDZONE_SZB).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3639

21 years agoReinstate Tom's epoll commit which I lost when I made m_syscalls.
Nicholas Nethercote [Sun, 8 May 2005 15:52:18 +0000 (15:52 +0000)] 
Reinstate Tom's epoll commit which I lost when I made m_syscalls.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3638

21 years agoAdd some comments about Param errors, and slightly rewrite a tiny
Nicholas Nethercote [Sun, 8 May 2005 15:26:00 +0000 (15:26 +0000)] 
Add some comments about Param errors, and slightly rewrite a tiny
bit of code in a cleaner way.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3637

21 years agoPut all the system call stuff in a new module, m_syscalls. This
Nicholas Nethercote [Sun, 8 May 2005 14:45:13 +0000 (14:45 +0000)] 
Put all the system call stuff in a new module, m_syscalls.  This
required moving a lot of stuff around.  I deleted
VG_(set_return_from_syscall_shadow)() and VG_(get_exit_status_shadow)(),
which screwed up the modularity and weren't being used and can be
simulated in other ways with a bit of care.

What are the chances that I've added and moved all the files correctly
in this commit, and not broken the amd64 port?

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3636

21 years agoEnable the epoll system calls on amd64.
Tom Hughes [Sun, 8 May 2005 09:42:14 +0000 (09:42 +0000)] 
Enable the epoll system calls on amd64.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3635

21 years agoAvoid bogus compiler warning.
Nicholas Nethercote [Sun, 8 May 2005 02:59:50 +0000 (02:59 +0000)] 
Avoid bogus compiler warning.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3634

21 years agoRemove dead function VG_(exit_single)().
Nicholas Nethercote [Sun, 8 May 2005 02:13:47 +0000 (02:13 +0000)] 
Remove dead function VG_(exit_single)().

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3633

21 years agoA crucial, crucial change: update my email address.
Nicholas Nethercote [Sun, 8 May 2005 02:10:27 +0000 (02:10 +0000)] 
A crucial, crucial change:  update my email address.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3632

21 years agoAvoid compiler warnings.
Nicholas Nethercote [Sun, 8 May 2005 02:06:33 +0000 (02:06 +0000)] 
Avoid compiler warnings.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3631

21 years agoCleanups of syscall-related macros:
Nicholas Nethercote [Sun, 8 May 2005 02:04:49 +0000 (02:04 +0000)] 
Cleanups of syscall-related macros:

- Got rid of SET_THREAD_REG and some of the related macros, hallelujah.
  Replaced SET_SYSCALL_RETVAL with VGP_TRACK_SYSCALL_RETVAL, which avoids
  the redundant resetting of the syscall's return value.  The other
  remaining two related macros, SET_CLREQ_RETVAL and SET_CLCALL_RETVAL, were
  able to be moved to vg_scheduler.c rather than being global, hoorah.

- Passed the required syscall args to VG_(do_sys_sigaltstack)(), rather than
  grabbing them from within, removing its reliance on SYSCALL_ARG[12].
  It also makes the VG_(do_sys_sig*)() functions more consistent.

- As a result of these changes, was able to remove the SYSCALL_NUM,
  SYSCALL_RET and SYSCALL_ARG[123456] macros, yay.

- Replaced the implementations of VG_(set_return_from_syscall_shadow)() and
  VG_(get_exit_status_shadow)() with shorter ones that avoid using arch-state
  offsets.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3630

21 years agoCleared up some confusion and redundant actions involving the SET_RESULT and
Nicholas Nethercote [Sun, 8 May 2005 00:45:11 +0000 (00:45 +0000)] 
Cleared up some confusion and redundant actions involving the SET_RESULT and
SET_SYSCALL_RETVAL macros, and made the VG_(do_sys_*)() functions behave
more consistently.

Also deleted some code that's been commented out of vg_syscalls.c for a long
time.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3629

21 years agoRework signal stack handling to avoid doing arithmetic on void pointers
Tom Hughes [Sat, 7 May 2005 17:57:39 +0000 (17:57 +0000)] 
Rework signal stack handling to avoid doing arithmetic on void pointers
and to avoid trashing the red zone while delivering a signal on the main
stack on amd64 systems.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3628

21 years agoYet another index suppression.
Tom Hughes [Sat, 7 May 2005 12:16:45 +0000 (12:16 +0000)] 
Yet another index suppression.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3627

21 years agoAdd another index suppression.
Tom Hughes [Sat, 7 May 2005 11:52:39 +0000 (11:52 +0000)] 
Add another index suppression.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3626

21 years agoMore x87 instructions.
Julian Seward [Sat, 7 May 2005 01:01:24 +0000 (01:01 +0000)] 
More x87 instructions.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1169

21 years agoOnly show invalid-CfiSI messages at verbosity level >= 1.
Julian Seward [Fri, 6 May 2005 17:01:21 +0000 (17:01 +0000)] 
Only show invalid-CfiSI messages at verbosity level >= 1.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3625

21 years agoReinstate the specialisation rule which first exposed the bug fixed by
Julian Seward [Fri, 6 May 2005 16:30:21 +0000 (16:30 +0000)] 
Reinstate the specialisation rule which first exposed the bug fixed by
r1167.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1168

21 years agoFix silly bug in folding rule. This 'silly bug' took hours to track
Julian Seward [Fri, 6 May 2005 16:29:26 +0000 (16:29 +0000)] 
Fix silly bug in folding rule.  This 'silly bug' took hours to track
down.  Bah.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1167

21 years agoTry to fix this test case.
Nicholas Nethercote [Fri, 6 May 2005 15:11:04 +0000 (15:11 +0000)] 
Try to fix this test case.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3624

21 years agoMake some more x87 instructions work.
Julian Seward [Fri, 6 May 2005 11:50:13 +0000 (11:50 +0000)] 
Make some more x87 instructions work.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1166