]> git.ipfire.org Git - thirdparty/valgrind.git/log
thirdparty/valgrind.git
21 years agoFix 64-bit bogon in bt/bts/btc/btr which caused it not to work right.
Julian Seward [Fri, 6 May 2005 01:43:56 +0000 (01:43 +0000)] 
Fix 64-bit bogon in bt/bts/btc/btr which caused it not to work right.

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

21 years agoFix up %rflags handling after 64-bit multiplies.
Julian Seward [Thu, 5 May 2005 21:46:50 +0000 (21:46 +0000)] 
Fix up %rflags handling after 64-bit multiplies.

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

21 years agoImplement a whole bunch more SSE instructions on amd64.
Julian Seward [Thu, 5 May 2005 21:34:02 +0000 (21:34 +0000)] 
Implement a whole bunch more SSE instructions on amd64.

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

21 years agoPlay a few more rounds of the SSE game on amd64.
Julian Seward [Thu, 5 May 2005 12:05:54 +0000 (12:05 +0000)] 
Play a few more rounds of the SSE game on amd64.

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

21 years agoMore %flags-helpers tuning.
Julian Seward [Thu, 5 May 2005 12:05:11 +0000 (12:05 +0000)] 
More %flags-helpers tuning.

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

21 years agoUpdate comment.
Julian Seward [Thu, 5 May 2005 12:04:14 +0000 (12:04 +0000)] 
Update comment.

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

21 years agoIt helps if my changes actually compile...
Tom Hughes [Thu, 5 May 2005 08:26:14 +0000 (08:26 +0000)] 
It helps if my changes actually compile...

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

21 years agoAllow for the red zone when generating new_mem_stack_signal and
Tom Hughes [Thu, 5 May 2005 08:16:24 +0000 (08:16 +0000)] 
Allow for the red zone when generating new_mem_stack_signal and
die_mem_stack_signal events.

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

21 years agoAdd expected output file for 64-bit platforms.
Julian Seward [Thu, 5 May 2005 01:37:46 +0000 (01:37 +0000)] 
Add expected output file for 64-bit platforms.

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

21 years agoAdd expected output files for 64-bit platforms.
Julian Seward [Thu, 5 May 2005 01:32:24 +0000 (01:32 +0000)] 
Add expected output files for 64-bit platforms.

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

21 years agoAdd expected output files for 64-bit platforms.
Julian Seward [Thu, 5 May 2005 01:29:11 +0000 (01:29 +0000)] 
Add expected output files for 64-bit platforms.

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

21 years agoAdd expected output files for 64-bit platforms.
Julian Seward [Thu, 5 May 2005 01:23:50 +0000 (01:23 +0000)] 
Add expected output files for 64-bit platforms.

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

21 years agoTidy up a bit.
Julian Seward [Thu, 5 May 2005 01:16:24 +0000 (01:16 +0000)] 
Tidy up a bit.

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

21 years agoAdd intercepts for unsigned long versions of the nothrow new and new[]
Tom Hughes [Wed, 4 May 2005 18:01:26 +0000 (18:01 +0000)] 
Add intercepts for unsigned long versions of the nothrow new and new[]
operators for 64 bit platforms.

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

21 years agoMove all the 'scalar' (syscall-arg) tests into x86/. In fact they are
Julian Seward [Wed, 4 May 2005 13:53:00 +0000 (13:53 +0000)] 
Move all the 'scalar' (syscall-arg) tests into x86/.  In fact they are
really x86-linux specific, but fixing it all properly will have to
wait for another day.

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

21 years agoAdd new acceptable-stderr files.
Julian Seward [Wed, 4 May 2005 12:37:47 +0000 (12:37 +0000)] 
Add new acceptable-stderr files.

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

21 years agoAdd a new acceptable-output file.
Julian Seward [Wed, 4 May 2005 12:27:48 +0000 (12:27 +0000)] 
Add a new acceptable-output file.

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

21 years agoUpdate expected outputs (better stack traces due to CFI unwinding)
Julian Seward [Wed, 4 May 2005 00:33:15 +0000 (00:33 +0000)] 
Update expected outputs (better stack traces due to CFI unwinding)

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

21 years agoMove this test to a more sensible place. Originally it was intended
Julian Seward [Wed, 4 May 2005 00:26:57 +0000 (00:26 +0000)] 
Move this test to a more sensible place.  Originally it was intended
to check that the threading library hadn't messed up errno.  Now that
doesn't make much sense any more.  Anyway, now it annoyingly fails due
to memcheck reporting bugs in libpthread et al.  Move it to corecheck
so at least it can continue to run and hopefully not continually fail.

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

21 years agoFix stupid bug I introduced in r3556, which broke handling of RT
Julian Seward [Tue, 3 May 2005 22:31:22 +0000 (22:31 +0000)] 
Fix stupid bug I introduced in r3556, which broke handling of RT
signals.  Sigh.

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

21 years agoFix really stupid bug I introduced during recent 64-bitification of
Julian Seward [Tue, 3 May 2005 18:19:05 +0000 (18:19 +0000)] 
Fix really stupid bug I introduced during recent 64-bitification of
mc_main.c.  As so often the case, the regtest system saved the day by
being the first to notice this idiocy.

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

21 years agoDon't truncate addresses in error reports.
Tom Hughes [Tue, 3 May 2005 18:16:12 +0000 (18:16 +0000)] 
Don't truncate addresses in error reports.

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

21 years agoDisable this test for the time being, since the functionality it tests
Julian Seward [Tue, 3 May 2005 17:45:20 +0000 (17:45 +0000)] 
Disable this test for the time being, since the functionality it tests
is currently commented out, and may eventually disappear entirely.

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

21 years agoFix expected output. It could be that having CFI-based tracebacks
Julian Seward [Tue, 3 May 2005 17:36:08 +0000 (17:36 +0000)] 
Fix expected output.  It could be that having CFI-based tracebacks
made the stack traces in the error messages less crappy.

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

21 years agoUpdate expected output.
Julian Seward [Tue, 3 May 2005 16:44:31 +0000 (16:44 +0000)] 
Update expected output.

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

21 years ago* Clean up the DWARF2 CFI reader a bit
Julian Seward [Tue, 3 May 2005 16:05:00 +0000 (16:05 +0000)] 
* Clean up the DWARF2 CFI reader a bit
* Check that cie.ra_reg that shows up matches the RA_COL we assume
* Improve debug printing a bit

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

21 years agoVG_(addCfiSI): ignore CfiSIs which state an address range outside of
Julian Seward [Tue, 3 May 2005 15:23:00 +0000 (15:23 +0000)] 
VG_(addCfiSI): ignore CfiSIs which state an address range outside of
the segment itself.  This may well be hiding bugs in the CFI reader,
but I can't figure out why some .so-s generate very low address
ranges -- sometimes eg 0x0 .. 0x1.

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

21 years agoImprove debug printing
Julian Seward [Tue, 3 May 2005 15:20:01 +0000 (15:20 +0000)] 
Improve debug printing

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

21 years agoHandle Iop_Neg{8,16,32}.
Julian Seward [Tue, 3 May 2005 12:22:00 +0000 (12:22 +0000)] 
Handle Iop_Neg{8,16,32}.

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

21 years agox86 guest: generate Iop_Neg* in the x86->IR phase. Intent is to
Julian Seward [Tue, 3 May 2005 12:20:15 +0000 (12:20 +0000)] 
x86 guest: generate Iop_Neg* in the x86->IR phase.  Intent is to
ensure that the non-shadow (real) computation done by the program will
fail if Iop_Neg* is incorrectly handled somehow.  Until this point,
Iop_Neg* is only generated by memcheck and so it will not be obvious
if it is mishandled.  IOW, this commit enhances verifiability of the
x86-IR-x86 pipeline.

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

21 years agoReset the address encoding to the default before parsing the
Tom Hughes [Tue, 3 May 2005 09:30:04 +0000 (09:30 +0000)] 
Reset the address encoding to the default before parsing the
augmentation string for a new CIE or we may end up using a bogus
encoding from the previous CIE if the new one has no encoding
specified.

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

21 years agoGenerate better code for CmpNEZ64(Or64(x,y)), a common idiom resulting
Julian Seward [Tue, 3 May 2005 09:09:27 +0000 (09:09 +0000)] 
Generate better code for CmpNEZ64(Or64(x,y)), a common idiom resulting
from memchecking of FP code.

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

21 years agoMemchecking very large BBs of FP insns on x86 sometimes needs a lot of
Julian Seward [Tue, 3 May 2005 09:08:23 +0000 (09:08 +0000)] 
Memchecking very large BBs of FP insns on x86 sometimes needs a lot of
spill slots.

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

21 years agoSome suppressions for FC3 amd64 systems.
Tom Hughes [Tue, 3 May 2005 09:03:51 +0000 (09:03 +0000)] 
Some suppressions for FC3 amd64 systems.

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

21 years agogcc-3.3.3 is fooled by strings like "linux/include/asm-i386/*.h"; it
Julian Seward [Mon, 2 May 2005 17:11:58 +0000 (17:11 +0000)] 
gcc-3.3.3 is fooled by strings like "linux/include/asm-i386/*.h"; it
thinks it is seeing a comment within a comment, and complains.

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

21 years agoWhen handling 'sbb %reg,%reg', first put zero into %reg. This removes
Julian Seward [Mon, 2 May 2005 17:07:02 +0000 (17:07 +0000)] 
When handling 'sbb %reg,%reg', first put zero into %reg.  This removes
the false result dependency on the previous value of %reg.

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

21 years agoMinor tweakage: use testl rather than andl in three places on the
Julian Seward [Mon, 2 May 2005 16:16:15 +0000 (16:16 +0000)] 
Minor tweakage: use testl rather than andl in three places on the
basis that andl trashes the tested register whereas testl doesn't.  In
two out of the three cases this makes no difference since the tested
register is a copy of some other register anyway, but hey.

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

21 years agoMinor cleanups.
Julian Seward [Mon, 2 May 2005 15:52:44 +0000 (15:52 +0000)] 
Minor cleanups.

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

21 years agoCorrect header comment.
Nicholas Nethercote [Mon, 2 May 2005 13:24:14 +0000 (13:24 +0000)] 
Correct header comment.

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

21 years agoFix compile warnings on 32-bit platforms, hopefully without breaking
Julian Seward [Mon, 2 May 2005 12:53:38 +0000 (12:53 +0000)] 
Fix compile warnings on 32-bit platforms, hopefully without breaking
64-bit platforms.  (a.k.a The Portability Game)

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

21 years agoHandle DW_CFA_register.
Julian Seward [Mon, 2 May 2005 12:25:13 +0000 (12:25 +0000)] 
Handle DW_CFA_register.

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

21 years agoRe-enable vex bb chasing. In fact this accidentally got reenabled in
Julian Seward [Mon, 2 May 2005 12:24:39 +0000 (12:24 +0000)] 
Re-enable vex bb chasing.  In fact this accidentally got reenabled in
r3582; this commit formalises that.

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

21 years agoGet rid of some functions made redundant by recent isel reorganisation.
Julian Seward [Mon, 2 May 2005 10:54:34 +0000 (10:54 +0000)] 
Get rid of some functions made redundant by recent isel reorganisation.

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

21 years agoDon't complain endlessly about missing folding rule for Iop_64HLto128.
Julian Seward [Mon, 2 May 2005 10:47:22 +0000 (10:47 +0000)] 
Don't complain endlessly about missing folding rule for Iop_64HLto128.

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

21 years agorm debug printing
Julian Seward [Mon, 2 May 2005 10:39:16 +0000 (10:39 +0000)] 
rm debug printing

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

21 years agoInitial cleanups based on target-specific defines.
Julian Seward [Mon, 2 May 2005 10:33:44 +0000 (10:33 +0000)] 
Initial cleanups based on target-specific defines.

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

21 years agoMove the replacement code for the amd64 vsyscalls into the trampoline page
Tom Hughes [Mon, 2 May 2005 10:28:42 +0000 (10:28 +0000)] 
Move the replacement code for the amd64 vsyscalls into the trampoline page
so that it is copied into the client space. This avoid warnings from memcheck
because it doesn't think that code inside valgrind is valid.

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

21 years agoAdd macro definitions that make it possible to do cpu/os/both
Julian Seward [Mon, 2 May 2005 10:25:34 +0000 (10:25 +0000)] 
Add macro definitions that make it possible to do cpu/os/both
ifdeffery in a sane way where it's absolutely unavoidable.  When
building the core, eg on amd64-linux, the following preprocessor
symbols are defined:

   VGA_amd64
   VGO_linux
   VGP_amd64_linux

etc on other platforms.

Also, include/basic_types.h now defines VG_WORDSIZE and this is what
should be used for ifdefs that need to know the host word size.

ifdefs based on the C compilers built-ins such as __amd64__ etc
are deprecated and will be done away with.

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

21 years agoSort the CFI summary table and do lookups in it using binary search.
Julian Seward [Mon, 2 May 2005 09:43:44 +0000 (09:43 +0000)] 
Sort the CFI summary table and do lookups in it using binary search.

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

21 years agoCreate and use summary address range limits for the CFI records in
Julian Seward [Mon, 2 May 2005 00:36:27 +0000 (00:36 +0000)] 
Create and use summary address range limits for the CFI records in
each SegInfo.  This reduces by about a factor of 8 the amount of work
needed to find each such record.

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

21 years agoCFI: if summarisation fails, don't add the result to our collection of
Julian Seward [Mon, 2 May 2005 00:34:19 +0000 (00:34 +0000)] 
CFI: if summarisation fails, don't add the result to our collection of
CfiSI records.

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

21 years agoFix various other CFI-frame-unwind bits and pieces.
Julian Seward [Sun, 1 May 2005 23:50:08 +0000 (23:50 +0000)] 
Fix various other CFI-frame-unwind bits and pieces.

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

21 years ago* handle DW_CFA_offset_extended_sf
Julian Seward [Sun, 1 May 2005 20:24:06 +0000 (20:24 +0000)] 
* handle DW_CFA_offset_extended_sf
* make --trace-cfi=yes work, to assist in debugging this

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

21 years agoGet DWARF CFI handling going on amd64 systems. This also required getting
Tom Hughes [Sun, 1 May 2005 15:14:01 +0000 (15:14 +0000)] 
Get DWARF CFI handling going on amd64 systems. This also required getting
handling of augmentation strings right.

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

21 years agoNew flag --trace-cfi=yes|no [no], which is for debugging the CFI reader.
Julian Seward [Sun, 1 May 2005 08:55:38 +0000 (08:55 +0000)] 
New flag --trace-cfi=yes|no [no], which is for debugging the CFI reader.

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

21 years agoGet the CFI-based frame-unwinder to the point where it works at least
Julian Seward [Sat, 30 Apr 2005 18:47:48 +0000 (18:47 +0000)] 
Get the CFI-based frame-unwinder to the point where it works at least
for small examples on x86.  Still messy, slow, amd64 specifics not
done, and non-null cie.augmentations are not handled.

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

21 years agoBeginnings of a DWARF CFI-based frame-unwinder. Does not yet do
Julian Seward [Sat, 30 Apr 2005 07:55:58 +0000 (07:55 +0000)] 
Beginnings of a DWARF CFI-based frame-unwinder.  Does not yet do
anything.  This is needed to get stack snapshots on amd64 code
compiled with -O, and could also be used for stack snapshots on x86
code compiled with -fomit-frame-pointer if it also has CFI info.

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

21 years agoDefine N_PRIMARY_MAP to actually generate a 64-bit constant on 64-bit
Julian Seward [Thu, 28 Apr 2005 10:32:02 +0000 (10:32 +0000)] 
Define N_PRIMARY_MAP to actually generate a 64-bit constant on 64-bit
platforms, otherwise the address-masking operations to establish
alignment and primary-mappability are wrong on 64-bit platforms.

Also set the size of fast-mapped address space on 64-bit platforms to
16G.

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

21 years agoEven more pissing with inline asm around to placate gcc-3.4 -fpic. We
Julian Seward [Thu, 28 Apr 2005 09:40:53 +0000 (09:40 +0000)] 
Even more pissing with inline asm around to placate gcc-3.4 -fpic.  We
can't trash %ebx without gcc getting unhappy, so trash %edi instead.

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

21 years agolocal_sys_write_stderr: tell gcc what registers the asm trashes.
Julian Seward [Wed, 27 Apr 2005 23:17:48 +0000 (23:17 +0000)] 
local_sys_write_stderr: tell gcc what registers the asm trashes.
Otherwise it doesn't save %ebx across the routine, which is fatal as
%ebx is a callee-save register, it seems.

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

21 years agoReinstate the leak checker; it works at least on x86.
Julian Seward [Wed, 27 Apr 2005 22:46:36 +0000 (22:46 +0000)] 
Reinstate the leak checker; it works at least on x86.

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

21 years agoHandle CmpNEZ16.
Julian Seward [Wed, 27 Apr 2005 13:39:35 +0000 (13:39 +0000)] 
Handle CmpNEZ16.

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

21 years agoHandle various more primops, and reorganise iselCondCode_wrk in line
Julian Seward [Wed, 27 Apr 2005 11:55:08 +0000 (11:55 +0000)] 
Handle various more primops, and reorganise iselCondCode_wrk in line
with similar reorg on x86 side.

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

21 years agoEmit 'negq'.
Julian Seward [Wed, 27 Apr 2005 11:53:23 +0000 (11:53 +0000)] 
Emit 'negq'.

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

21 years ago* Use new 64-to/from-{16,8,1} conversion primops
Julian Seward [Wed, 27 Apr 2005 11:52:40 +0000 (11:52 +0000)] 
* Use new 64-to/from-{16,8,1} conversion primops

* disable "Z after SUBW" specialisation which apparently causes
  xedit to fail for unknown reasons

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

21 years agoUse new 64-to/from-{16,8,1} conversion primops instead of going via
Julian Seward [Wed, 27 Apr 2005 11:50:56 +0000 (11:50 +0000)] 
Use new 64-to/from-{16,8,1} conversion primops instead of going via
Ity_I32.

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

21 years agoAdd even more 64-bit integer primops (sigh)
Julian Seward [Wed, 27 Apr 2005 11:42:44 +0000 (11:42 +0000)] 
Add even more 64-bit integer primops (sigh)

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

21 years agoHandle various new 64-bit integer primops.
Julian Seward [Wed, 27 Apr 2005 11:40:27 +0000 (11:40 +0000)] 
Handle various new 64-bit integer primops.

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

21 years agoMake the debug log module work on amd64.
Tom Hughes [Wed, 27 Apr 2005 09:23:02 +0000 (09:23 +0000)] 
Make the debug log module work on amd64.

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

21 years agoRework the inline assembly implementations of write and getpid for x86 to
Tom Hughes [Wed, 27 Apr 2005 08:58:53 +0000 (08:58 +0000)] 
Rework the inline assembly implementations of write and getpid for x86 to
work in PIE builds.

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

21 years agoTry a different kludge to get around strlen not being intercepted
Julian Seward [Wed, 27 Apr 2005 00:34:11 +0000 (00:34 +0000)] 
Try a different kludge to get around strlen not being intercepted
early enough.

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

21 years ago* Modify the instrumenter to use the new primops introduced in
Julian Seward [Tue, 26 Apr 2005 23:49:24 +0000 (23:49 +0000)] 
* Modify the instrumenter to use the new primops introduced in
  vex rev 1144.

* Observe that mkLazy2 generates IR which often turns into
  long and slow code sequences in the back end, primarily because
  PCast operations are expensive.  Add a couple of special
  cases which give noticably better performance when handling
  FP-intensive code on x86.

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

21 years ago* Enhance the x86 instruction selector to generate for the primops
Julian Seward [Tue, 26 Apr 2005 23:39:45 +0000 (23:39 +0000)] 
* Enhance the x86 instruction selector to generate for the primops
  introduced in rev 1144.

* Rearrange iselCondCode and introduce a few new patterns which
  deal better with the IR that Memcheck commonly generates

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

21 years agoAdd a few new primops which allow for more concise expression of
Julian Seward [Tue, 26 Apr 2005 23:34:34 +0000 (23:34 +0000)] 
Add a few new primops which allow for more concise expression of
the instrumentation Memcheck generates:

* CmpNEZ{8,16,32,64}, which are equivalent to CmpNE<sz> with one
  argument zero

* Neg{8,16,32,64}, which is equivalent to Sub<sz> with the first
  argument zero

For 64-bit platforms, add these primops.  This gives a complete set of
primops for conversions between the integral types (I8, I16, I32,
I64), so that a widening/narrowing from any type to any other type can
be achieved in a single primop:

* Iop_8Uto64, Iop_8Sto64, Iop_16Uto64, Iop_16Sto64

* Iop_64to8, Iop_64to16

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

21 years agoAdd support for the fadvise system calls.
Tom Hughes [Tue, 26 Apr 2005 08:13:24 +0000 (08:13 +0000)] 
Add support for the fadvise system calls.

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

21 years agoSupport the 64 bit comparison instructions which vex is now using.
Tom Hughes [Tue, 26 Apr 2005 07:44:48 +0000 (07:44 +0000)] 
Support the 64 bit comparison instructions which vex is now using.

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

21 years agoAdd various %rflag-helper specialisation cases and fast paths. This
Julian Seward [Tue, 26 Apr 2005 01:53:48 +0000 (01:53 +0000)] 
Add various %rflag-helper specialisation cases and fast paths.  This
more or less doubles performance of the baseline simulation on integer
code.

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

21 years agoHandle more cases, and a bit of tuning.
Julian Seward [Tue, 26 Apr 2005 01:52:29 +0000 (01:52 +0000)] 
Handle more cases, and a bit of tuning.

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

21 years agoAdd 64-bit comparisons.
Julian Seward [Tue, 26 Apr 2005 01:52:01 +0000 (01:52 +0000)] 
Add 64-bit comparisons.

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

21 years agoIncrease number of integer registers in use from 3 to 8.
Julian Seward [Tue, 26 Apr 2005 01:51:24 +0000 (01:51 +0000)] 
Increase number of integer registers in use from 3 to 8.

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

21 years agoA bunch of redirections for SuSE 9.2 on amd64.
Julian Seward [Mon, 25 Apr 2005 17:08:32 +0000 (17:08 +0000)] 
A bunch of redirections for SuSE 9.2 on amd64.

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

21 years agoUse %lu for all length values in debug messages or you will sometimes
Tom Hughes [Mon, 25 Apr 2005 16:55:44 +0000 (16:55 +0000)] 
Use %lu for all length values in debug messages or you will sometimes
get nonense on 64 bit platforms.

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

21 years agoamd64 build fixes.
Julian Seward [Mon, 25 Apr 2005 16:21:17 +0000 (16:21 +0000)] 
amd64 build fixes.

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

21 years agoFor the time being, disable chasing across basic block boundaries.
Julian Seward [Mon, 25 Apr 2005 15:49:10 +0000 (15:49 +0000)] 
For the time being, disable chasing across basic block boundaries.
This fools the redirector to the extent that that strlen et al do not
get reliably intercepted, and hence makes memcheck report some false
errors.  Fixing the redirector properly really entails getting rid of
the circularity between the two memory allocators, but that is more
than I have time to sort out right now.

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

21 years agoUse __FUNCTION__ correctly.
Julian Seward [Mon, 25 Apr 2005 15:42:57 +0000 (15:42 +0000)] 
Use __FUNCTION__ correctly.

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

21 years agoCreate a new module: ASpaceMgr, the address space manager. This
Julian Seward [Mon, 25 Apr 2005 11:11:44 +0000 (11:11 +0000)] 
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

21 years agoMore debug printing
Julian Seward [Mon, 25 Apr 2005 02:38:28 +0000 (02:38 +0000)] 
More debug printing

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

21 years agoMore printing fine-tuning
Julian Seward [Mon, 25 Apr 2005 02:37:56 +0000 (02:37 +0000)] 
More printing fine-tuning

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

21 years agoPrint debugging info at various places in the startup sequence.
Julian Seward [Mon, 25 Apr 2005 02:05:54 +0000 (02:05 +0000)] 
Print debugging info at various places in the startup sequence.

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

21 years agoPrint a bit more prettily.
Julian Seward [Mon, 25 Apr 2005 02:04:54 +0000 (02:04 +0000)] 
Print a bit more prettily.

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

21 years agoAdd a new module: the debug-logger. For a while now, we've used the
Julian Seward [Mon, 25 Apr 2005 01:36:56 +0000 (01:36 +0000)] 
Add a new module: the debug-logger.  For a while now, we've used the
same logging mechanism to emit both end-user messages and debugging-
valgrind-itself messages.  This commit creates a new mechanism for the
latter purpose.

The main feature of m_debuglog is that it has zero dependencies on any
other module and therefore can safely operate all the way through
stage1 and stage2 startup.  It is restricted to emitting debug info on
file descriptor 2 (stderr), but that's not a big deal.

As a result of this change the basic formatted-print routines
(vprintf) have been moved from vg_mylibc.c into m_debuglog, so that
m_debuglog remains standalone.

The %y format string is currently disabled, since supporting it ("show
symbol corresponding to this address") would create a dependency from
m_debuglog to the entire debug-info reading machinery and all the
stuff that depends on, thereby making a nonsense of m_debuglog being
standalone.  Its omission does not seem to cause any regression tests
to fail, though.

The debug logger is activated with "-d".  More "-d"s make it more
verbose.

m_debuglog.o is linked into both stage1 and stage2, but as it is
completely standalone this causes no particular problems.

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

21 years agoRelax the requirement that a pub_tool_<modulename>.h file must exist
Julian Seward [Sun, 24 Apr 2005 14:34:42 +0000 (14:34 +0000)] 
Relax the requirement that a pub_tool_<modulename>.h file must exist
even if it defines nothing.  That's a bit silly.

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

21 years agoMake amd64-linux build again after m_sigframe hackery.
Julian Seward [Sun, 24 Apr 2005 14:31:29 +0000 (14:31 +0000)] 
Make amd64-linux build again after m_sigframe hackery.

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

21 years agoCreate a new module, "sigframe", responsible for creating/destroying
Julian Seward [Sun, 24 Apr 2005 14:18:14 +0000 (14:18 +0000)] 
Create a new module, "sigframe", responsible for creating/destroying
signal frames.  This commit looks worse than it is -- really just a
load of moving-code-around.

This is the first multiple-implementation module, in that it has a
single interface (pub_core_sigframe.h) but multiple implementations,
depending on the os-cpu pair.  All the grotty details are hidden in
the implementation in m_sigframe/; callers need be aware only of the
interface.  Yay.

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

21 years agoRename the first three modules as per naming scheme.
Julian Seward [Sun, 24 Apr 2005 12:33:12 +0000 (12:33 +0000)] 
Rename the first three modules as per naming scheme.

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

21 years agoAdd statement-of-intent re top level module structure.
Julian Seward [Sun, 24 Apr 2005 12:19:13 +0000 (12:19 +0000)] 
Add statement-of-intent re top level module structure.

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

21 years agoAdd initialisation-order sanity checks.
Julian Seward [Sun, 24 Apr 2005 11:22:44 +0000 (11:22 +0000)] 
Add initialisation-order sanity checks.

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

21 years agoUpdate comment about stack management, and remove some unused
Julian Seward [Sun, 24 Apr 2005 11:05:55 +0000 (11:05 +0000)] 
Update comment about stack management, and remove some unused
functions.

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

21 years agoA leftover from the days of our own libpthread; now irrelevant.
Julian Seward [Sun, 24 Apr 2005 10:41:53 +0000 (10:41 +0000)] 
A leftover from the days of our own libpthread; now irrelevant.

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

21 years agoHandle a couple more memcheck-generated primops. With this, I can run
Julian Seward [Sun, 24 Apr 2005 00:26:37 +0000 (00:26 +0000)] 
Handle a couple more memcheck-generated primops.  With this, I can run
konqueror on memcheck on amd64.

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