]> git.ipfire.org Git - thirdparty/valgrind.git/log
thirdparty/valgrind.git
21 years agotrying to get shift_lsl to work + cleaned up a little
Cerion Armour-Brown [Fri, 3 Dec 2004 11:16:42 +0000 (11:16 +0000)] 
trying to get shift_lsl to work + cleaned up a little

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

21 years agoAdd another comment and actually complete the commit message :-)
Julian Seward [Thu, 2 Dec 2004 23:36:20 +0000 (23:36 +0000)] 
Add another comment and actually complete the commit message :-)

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

21 years agoTry to answer a few q
Julian Seward [Thu, 2 Dec 2004 23:35:18 +0000 (23:35 +0000)] 
Try to answer a few q

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

21 years agoCeri's first attempts at figuring out what the heck is going on!
Cerion Armour-Brown [Thu, 2 Dec 2004 20:19:22 +0000 (20:19 +0000)] 
Ceri's first attempts at figuring out what the heck is going on!

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

21 years agox86 guest/host: do SSE comiss instruction
Julian Seward [Thu, 2 Dec 2004 18:16:33 +0000 (18:16 +0000)] 
x86 guest/host: do SSE comiss instruction

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

21 years agox86 guest/host: do SSE comparisons.
Julian Seward [Thu, 2 Dec 2004 16:16:11 +0000 (16:16 +0000)] 
x86 guest/host: do SSE comparisons.

To make this easier, add to IRConst a new kind of literal --
a 128-bit literal specified by a 16-bit value.  Each bit of the
latter is defines one byte of the 128-bit value, either 0x00 or
0xFF.

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

21 years agox86 host: make a start on SSE code generation.
Julian Seward [Wed, 1 Dec 2004 23:19:36 +0000 (23:19 +0000)] 
x86 host: make a start on SSE code generation.

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

21 years agoChanged message at the top of files, and the startup message, and the
Nicholas Nethercote [Wed, 1 Dec 2004 14:14:42 +0000 (14:14 +0000)] 
Changed message at the top of files, and the startup message, and the
string in valgrind.pc.in, so that they describe Valgrind as a "dynamic
binary instrumentation framework", and don't mention platforms at all.

I had to tweak the regtest filters a bit for this.

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

21 years agoAdded a short document explaining the directory structure and how to
Nicholas Nethercote [Wed, 1 Dec 2004 11:54:07 +0000 (11:54 +0000)] 
Added a short document explaining the directory structure and how to
find things in header files.

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

21 years agoAdded a short doc listing places that I know or suspect are not 64-bit
Nicholas Nethercote [Wed, 1 Dec 2004 11:11:56 +0000 (11:11 +0000)] 
Added a short doc listing places that I know or suspect are not 64-bit
clean.

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

21 years agoIn the back end, rename the register classes (in enum HRegClass) more
Julian Seward [Wed, 1 Dec 2004 02:24:44 +0000 (02:24 +0000)] 
In the back end, rename the register classes (in enum HRegClass) more
consistently, in preparation for SSE instruction selection on x86
host.

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

21 years agoComment change only.
Nicholas Nethercote [Wed, 1 Dec 2004 00:38:16 +0000 (00:38 +0000)] 
Comment change only.

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

21 years ago64-bit cleanness: don't assume 32 bits in MAC_Chunk.
Nicholas Nethercote [Wed, 1 Dec 2004 00:19:38 +0000 (00:19 +0000)] 
64-bit cleanness: don't assume 32 bits in MAC_Chunk.

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

21 years agoUpdated docs with all the changes that I'm aware of that happened since
Nicholas Nethercote [Wed, 1 Dec 2004 00:02:36 +0000 (00:02 +0000)] 
Updated docs with all the changes that I'm aware of that happened since
Donna converted them to XML.

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

21 years agoUn-hardwired x86 as the insn set to be translated. Also moved around
Nicholas Nethercote [Tue, 30 Nov 2004 23:39:13 +0000 (23:39 +0000)] 
Un-hardwired x86 as the insn set to be translated.  Also moved around
some constants.

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

21 years agoImplemented the dispatch loop for AMD64. Works at least enough to do
Nicholas Nethercote [Tue, 30 Nov 2004 23:32:01 +0000 (23:32 +0000)] 
Implemented the dispatch loop for AMD64.  Works at least enough to do
through once, failing to find the translation, and falling back to the
scheduler.

Did a couple of minor associated cleanups too.

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

21 years agoAdded a short document about how to port to a new arch or OS.
Nicholas Nethercote [Tue, 30 Nov 2004 19:27:02 +0000 (19:27 +0000)] 
Added a short document about how to port to a new arch or OS.

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

21 years agoNew debugging flag --trace-notbelow=<number>, to stop --trace-codegen=
Julian Seward [Tue, 30 Nov 2004 18:55:21 +0000 (18:55 +0000)] 
New debugging flag --trace-notbelow=<number>, to stop --trace-codegen=
spewing out tons of unwanted stuff before some desired point.

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

21 years agoMake a start on SSE for x86 guest.
Julian Seward [Tue, 30 Nov 2004 18:51:59 +0000 (18:51 +0000)] 
Make a start on SSE for x86 guest.

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

21 years agoStreamlined and consistified alignment checking.
Nicholas Nethercote [Tue, 30 Nov 2004 18:08:05 +0000 (18:08 +0000)] 
Streamlined and consistified alignment checking.

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

21 years agoMove VG_(have_ssestate) out of core and into coregrind/x86/.
Nicholas Nethercote [Tue, 30 Nov 2004 17:27:21 +0000 (17:27 +0000)] 
Move VG_(have_ssestate) out of core and into coregrind/x86/.

Also fixed up out-of-date comments for run_innerloop.

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

21 years agoMore AMD64 start-up hurdles:
Nicholas Nethercote [Tue, 30 Nov 2004 16:50:48 +0000 (16:50 +0000)] 
More AMD64 start-up hurdles:
- Fix bogus assertion in vg_transtab.c
- Do null implementation of --pointercheck

We now reach the dispatch loop!

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

21 years agoClear a few more AMD64 start-up hurdles:
Nicholas Nethercote [Tue, 30 Nov 2004 16:04:58 +0000 (16:04 +0000)] 
Clear a few more AMD64 start-up hurdles:
- implemented VG_(clone)()
- implemented PLATFORM_DO_MMAP()
- implemented VG_(init_thread1state)()  [will need to be updated as the
  Vex AMD64 guest state is updated]
- implemented OYNK, because it's useful

Also a couple of general cleaning up things.

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

21 years agoAdded AMD64 skeleton, just defining LibVEX_GuestAMD64_initialise().
Nicholas Nethercote [Tue, 30 Nov 2004 15:56:47 +0000 (15:56 +0000)] 
Added AMD64 skeleton, just defining LibVEX_GuestAMD64_initialise().

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

21 years agoClear next AMD64 startup hurdle. Required copying the x86 LDT code.
Nicholas Nethercote [Tue, 30 Nov 2004 15:10:02 +0000 (15:10 +0000)] 
Clear next AMD64 startup hurdle.  Required copying the x86 LDT code.
Not sure if it's the right thing to do long-term, but good enough for
now.

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

21 years agoWhoops, must edit tool.h.base, not tool.h.
Nicholas Nethercote [Tue, 30 Nov 2004 14:41:13 +0000 (14:41 +0000)] 
Whoops, must edit tool.h.base, not tool.h.

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

21 years agoAnother todo item.
Nicholas Nethercote [Tue, 30 Nov 2004 14:10:13 +0000 (14:10 +0000)] 
Another todo item.

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

21 years agoAnother todo item.
Nicholas Nethercote [Tue, 30 Nov 2004 14:09:22 +0000 (14:09 +0000)] 
Another todo item.

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

21 years agoUpdated todo list.
Nicholas Nethercote [Tue, 30 Nov 2004 14:08:24 +0000 (14:08 +0000)] 
Updated todo list.

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

21 years agoFix PS/PDF generation somewhat; the Makefile syntax errors are now
Nicholas Nethercote [Tue, 30 Nov 2004 14:05:38 +0000 (14:05 +0000)] 
Fix PS/PDF generation somewhat;  the Makefile syntax errors are now
fixed, although latex now runs out of memory when doing it.

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

21 years agoLoop unroller: do not unroll loops in which the conditional branch is
Julian Seward [Tue, 30 Nov 2004 13:40:29 +0000 (13:40 +0000)] 
Loop unroller: do not unroll loops in which the conditional branch is
not Ijk_Boring, as that will cause events that should be passed to the
caller's scheduler, not to be.

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

21 years agoAdd -Wmissing-prototypes as a flag.
Julian Seward [Tue, 30 Nov 2004 13:37:21 +0000 (13:37 +0000)] 
Add -Wmissing-prototypes as a flag.

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

21 years ago64-bit cleanness: fix nasty bug... in the memory allocators, redzones
Nicholas Nethercote [Tue, 30 Nov 2004 13:26:29 +0000 (13:26 +0000)] 
64-bit cleanness: fix nasty bug... in the memory allocators, redzones
were being kept as UInts.  They were sometimes negated and then used as
indices to arrays, and on 64-bit platforms they get converted
incorrectly (using zero-extension instead of sign extension, I think)
before the indexing happens, giving a totally bogus index.

The fix was to convert all these types to SizeT.  It would be nice to be
able to avoid this automatically somehow in the future.

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

21 years agoFormatting change only.
Nicholas Nethercote [Tue, 30 Nov 2004 13:20:44 +0000 (13:20 +0000)] 
Formatting change only.

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

21 years agoguest x86: fix x87 FP rounding modes enough so that
Julian Seward [Tue, 30 Nov 2004 13:18:37 +0000 (13:18 +0000)] 
guest x86: fix x87 FP rounding modes enough so that
none/tests/x86/insn_fpu works correctly.

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

21 years agoguest x87: Add enough x87 FP gunk to get through
Julian Seward [Tue, 30 Nov 2004 12:30:11 +0000 (12:30 +0000)] 
guest x87: Add enough x87 FP gunk to get through
none/tests/x86/insn_fpu without dying.

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

21 years agoGet AMD64 slightly further before dying:
Nicholas Nethercote [Tue, 30 Nov 2004 11:40:24 +0000 (11:40 +0000)] 
Get AMD64 slightly further before dying:
- implemented VG_(do_syscall)()
- fixed a problem in ume.c with mapping when loading, which was causing
  stage2's memory to be trashed
- fixed stage2.lds substitution so stage2 goes in the right address

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

21 years agoMake Valgrind's AMD64 and ARM ports compile again.
Nicholas Nethercote [Tue, 30 Nov 2004 11:37:48 +0000 (11:37 +0000)] 
Make Valgrind's AMD64 and ARM ports compile again.

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

21 years agoComment-only change.
Julian Seward [Tue, 30 Nov 2004 11:18:57 +0000 (11:18 +0000)] 
Comment-only change.

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

21 years agoMinor docs building fix.
Nicholas Nethercote [Tue, 30 Nov 2004 11:10:01 +0000 (11:10 +0000)] 
Minor docs building fix.

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

21 years agoOverhauled the docs. Removed all the HTML files, put in XML files as
Nicholas Nethercote [Tue, 30 Nov 2004 10:43:45 +0000 (10:43 +0000)] 
Overhauled the docs.  Removed all the HTML files, put in XML files as
converted by Donna.  Hooked it into the build system so they are only
built when specifically asked for, and when doing "make dist".

They're not perfect;  in particular, there are the following problems:
- The plain-text FAQ should be built from FAQ.xml, but this is not
  currently done.  (The text FAQ has been left in for now.)

- The PS/PDF building doesn't work -- it fails with an incomprehensible
  error message which I haven't yet deciphered.

Nonetheless, I'm putting it in so others can see it.

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

21 years agoCreate a new mechanism: "emulation warnings", which is a way for Vex
Julian Seward [Mon, 29 Nov 2004 19:57:54 +0000 (19:57 +0000)] 
Create a new mechanism: "emulation warnings", which is a way for Vex
to report to whatever is using it that it cannot emulate precisely.
Net result is that a bb can exit with the guest state pointer set to
VEX_TRC_EMWARN.  In this case, the (mandatory) guest state psuedo-reg
called "guest_EMWARN" holds a value of type VexEmWarn, indicating the
kind of problem encounted.

Use this to warn about approximations in the x87 FPU simulation:
unmasked exceptions not supported, round to +inf/-inf not supported,
precisions other than 80-bit not supported.

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

21 years agoHandle emulation-warnings emitted by Vex-generated code.
Julian Seward [Mon, 29 Nov 2004 19:47:54 +0000 (19:47 +0000)] 
Handle emulation-warnings emitted by Vex-generated code.

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

21 years agoFix comment.
Julian Seward [Mon, 29 Nov 2004 19:46:47 +0000 (19:46 +0000)] 
Fix comment.

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

21 years agoRemove Marie-Celeste declarations.
Julian Seward [Mon, 29 Nov 2004 19:46:28 +0000 (19:46 +0000)] 
Remove Marie-Celeste declarations.

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

21 years agoImplemented jmp_with_stack for AMD64. Cleaned up the
Nicholas Nethercote [Mon, 29 Nov 2004 17:59:00 +0000 (17:59 +0000)] 
Implemented jmp_with_stack for AMD64.  Cleaned up the
comments/formatting of jmp_with_stack for ARM and x86, too.

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

21 years agoRemove some ancient comments.
Nicholas Nethercote [Mon, 29 Nov 2004 17:36:48 +0000 (17:36 +0000)] 
Remove some ancient comments.

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

21 years ago64-bit cleanness: make VG_(do_syscall)() return a Word, not an Int.
Nicholas Nethercote [Mon, 29 Nov 2004 17:33:31 +0000 (17:33 +0000)] 
64-bit cleanness: make VG_(do_syscall)() return a Word, not an Int.

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

21 years agocomment only
Nicholas Nethercote [Mon, 29 Nov 2004 17:29:46 +0000 (17:29 +0000)] 
comment only

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

21 years agoAdded the skeleton of the AMD64 syscall table, all commented out, but
Nicholas Nethercote [Mon, 29 Nov 2004 17:28:41 +0000 (17:28 +0000)] 
Added the skeleton of the AMD64 syscall table, all commented out, but
ready to go.

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

21 years agoAvoid compile warnings.
Nicholas Nethercote [Mon, 29 Nov 2004 16:57:02 +0000 (16:57 +0000)] 
Avoid compile warnings.

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

21 years agoGave VG_(do_syscall)() a more specific prototype:
Nicholas Nethercote [Mon, 29 Nov 2004 16:49:18 +0000 (16:49 +0000)] 
Gave VG_(do_syscall)() a more specific prototype:

  Int VG_(do_syscall) ( UInt, UWord, UWord, UWord, UWord, UWord, UWord );

to replace the previous:

  Int VG_(do_syscall) ( UInt, ... )

Reason being that sometimes you could get incorrect args passed, when
passing 32-bit ints on 64-bit platforms.  I also added macros
VG_(do_syscall[123456]) to make life easier, and converted all the
relevant calls.

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

21 years agoFix reg test.
Nicholas Nethercote [Mon, 29 Nov 2004 16:08:22 +0000 (16:08 +0000)] 
Fix reg test.

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

21 years agovery minor tweaks
Nicholas Nethercote [Mon, 29 Nov 2004 16:05:54 +0000 (16:05 +0000)] 
very minor tweaks

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

21 years agoMinor 64-bit cleanups, mostly comments.
Nicholas Nethercote [Mon, 29 Nov 2004 15:45:31 +0000 (15:45 +0000)] 
Minor 64-bit cleanups, mostly comments.

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

21 years agoFix minor ARM breakage caused by the AMD64 commit.
Nicholas Nethercote [Mon, 29 Nov 2004 15:08:51 +0000 (15:08 +0000)] 
Fix minor ARM breakage caused by the AMD64 commit.

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

21 years agoRemove string "panic_msg_ebp" from x86/dispatch.S and amd64/dispatch.S,
Nicholas Nethercote [Mon, 29 Nov 2004 14:44:09 +0000 (14:44 +0000)] 
Remove string "panic_msg_ebp" from x86/dispatch.S and amd64/dispatch.S,
as it is never used.

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

21 years agoFix post-amd64-commit x86 breakage:
Nicholas Nethercote [Mon, 29 Nov 2004 14:24:57 +0000 (14:24 +0000)] 
Fix post-amd64-commit x86 breakage:
- remove warnings from vg_scheduler.c by using (UWord) casts rather than
  64-bit-assuming (ULong) casts.
- move deref_Addr() to x86-linux/syscalls.c, where it's now used.

Also got rid of the ancient SIGNAL_SIMULATION flag, which is a remnant of very
early days -- things now only work with signal simulation, so no point in
keeping it around.

Also make addrcheck/tests/fprw work again now that --single-step is
dead.

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

21 years agoAdded beginnings of an AMD64 port, so lots of new files and directories.
Nicholas Nethercote [Mon, 29 Nov 2004 13:54:10 +0000 (13:54 +0000)] 
Added beginnings of an AMD64 port, so lots of new files and directories.
It compiles, but aborts immediately if you try to run it.

I didn't include ldt.c;  I'm not sure how the LDT is used on AMD64.  It can be
added later if necessary.

While doing this, did some 64-bit cleanness fixes:
- Added necessary intermediate casts to ULong to avoid warnings when converting
  ThreadId to void* and vice versa, in vg_scheduler.c.
- Fixed VALGRIND_NON_SIMD_CALL[0123] to use 'long' as the return type.
- Fixed VALGRIND_PRINTF{,BACKTRACE} to use unsigned longs instead of unsigned
  ints, as needed.
- Converted some offsets in vg_symtab2.h from "Int" to "OffT".
- Made strlen, strncat, etc, use SizeT instead of 'unsigned int' for the length
  parameter.
- Couple of other minor things.

I had to insert some "#ifdef __amd64__" and "#ifndef __amd64__" guards in
places.  In particular, in vg_mylibc.c, some of our syscall wrappers aren't
appropriate for AMD64 because the syscall numbering is a bit different in
places.  This difference will have to be abstracted out somehow.

Also rewrote the sys_fcntl and sys_fcntl64 wrappers, as required for AMD64.

Also moved the ipc wrapper into x86, since it's not applicable for
AMD64.  However, it is applicable (I think) for ARM, so it would be nice
to work out a way to share syscall wrappers between some, but not all,
archs.  Hmm.  Also now using the real IPC constants rather than magic
numbers in the wrapper.

Other non-AMD64-related fixes:
- ARM: fixed syscall table by accounting for the fact that syscall
  numbers don't start at 0, but rather at 0x900000.
- Converted a few places to use ThreadId instead of 'int' or 'Int' for
  thread IDs.
- Added both AMD64 and ARM (which I'd forgotten) entries to valgrind.spec.in.
- Tweaked comments in various places.

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

21 years agoGet rid of various old flags and constants.
Julian Seward [Sun, 28 Nov 2004 18:07:41 +0000 (18:07 +0000)] 
Get rid of various old flags and constants.

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

21 years agoGet rid of all vestiges of translation-chaining, and generally clean
Julian Seward [Sun, 28 Nov 2004 16:58:05 +0000 (16:58 +0000)] 
Get rid of all vestiges of translation-chaining, and generally clean
up and paranoidise the translation cache management.

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

21 years agoIncrease stated average translation size, at least for now.
Julian Seward [Sun, 28 Nov 2004 16:56:51 +0000 (16:56 +0000)] 
Increase stated average translation size, at least for now.

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

21 years agoAdded %rip to the AMD64 guest state.
Nicholas Nethercote [Sun, 28 Nov 2004 16:05:46 +0000 (16:05 +0000)] 
Added %rip to the AMD64 guest state.

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

21 years agoBuild fixes for gcc-2.95.
Julian Seward [Sun, 28 Nov 2004 14:25:01 +0000 (14:25 +0000)] 
Build fixes for gcc-2.95.

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

21 years agoRewrite ensure_valgrind() in a slightly less stupid way. This
Julian Seward [Sun, 28 Nov 2004 02:58:11 +0000 (02:58 +0000)] 
Rewrite ensure_valgrind() in a slightly less stupid way.  This
significantly reduces the number of client requests made by programs
which make intensive use of the pthread_ functions, such as
OpenOffice.

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

21 years agoComment-only update.
Julian Seward [Sun, 28 Nov 2004 02:30:43 +0000 (02:30 +0000)] 
Comment-only update.

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

21 years agoMake ARM build again.
Nicholas Nethercote [Sat, 27 Nov 2004 16:58:45 +0000 (16:58 +0000)] 
Make ARM build again.

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

21 years agoUse better syscall argument names for two wrappers, now that "res" and
Nicholas Nethercote [Sat, 27 Nov 2004 16:57:18 +0000 (16:57 +0000)] 
Use better syscall argument names for two wrappers, now that "res" and
"arg[2345]" don't clash with macros.

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

21 years agoIntroduced build variables VG_ARCH_ALL, VG_OS_ALL, and VG_PLATFORM_ALL,
Nicholas Nethercote [Sat, 27 Nov 2004 16:47:42 +0000 (16:47 +0000)] 
Introduced build variables VG_ARCH_ALL, VG_OS_ALL, and VG_PLATFORM_ALL,
which list all the arches/OSes/platforms supported.  These are used by
several newly added DIST_SUBDIRS automake commands, which specify that
although when you are building you only want to build for the current
arch/OS/platform, when you do 'make dist' you want every
arch/OS/platform to get included.

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

21 years agoMoved some duplicated macros out of arch/OS/platform-specific parts,
Nicholas Nethercote [Sat, 27 Nov 2004 16:10:23 +0000 (16:10 +0000)] 
Moved some duplicated macros out of arch/OS/platform-specific parts,
into the core.  Renamed them with capital letters at the same time (eg.
arg1-->ARG1, res-->RES) to reduce likelihood of name conflicts, and also
it doesn't hurt to make it clearer that they're macros.  The result is a
very big diff, but conceptually it's very simple.

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

21 years agoNuke some defunct constants.
Nicholas Nethercote [Sat, 27 Nov 2004 15:28:44 +0000 (15:28 +0000)] 
Nuke some defunct constants.

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

21 years agoFactored out some stuff duplicated across all archs, to do with syscall
Nicholas Nethercote [Sat, 27 Nov 2004 15:22:24 +0000 (15:22 +0000)] 
Factored out some stuff duplicated across all archs, to do with syscall
wrappers.  The management apologises for the excessive use of macros, but it's
hard to avoid and really does make the repetitive parts of the code (ie. the
parts that are repeated for each arch) much more concise.

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

21 years agoMoved the variable VGOFF_(m_eip) from x86, and moved it (and its
Nicholas Nethercote [Sat, 27 Nov 2004 14:27:21 +0000 (14:27 +0000)] 
Moved the variable VGOFF_(m_eip) from x86, and moved it (and its
computation) into the generic core, because it's needed by the dispatch
loop of all archs.  Also renamed it VG_(instr_ptr_offset), which is
clearer.  Since it was the last use of the VGOFF_ prefix, I removed that
prefix.

Also cleaned up the ARM stubs slightly, by removing some of the copied,
commented-out x86 code which has since fallen out of date with the real
x86 code and was thus misleading.

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

21 years agoFix a couple of minor ARM things -- frame pointer is R11, it seems, and
Nicholas Nethercote [Sat, 27 Nov 2004 13:42:42 +0000 (13:42 +0000)] 
Fix a couple of minor ARM things -- frame pointer is R11, it seems, and
programs get loaded at 0x00008000.

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

21 years agoRename $VG_ARCH/signal.c and $VG_ARCH/signals.c, to make
Nicholas Nethercote [Sat, 27 Nov 2004 13:37:33 +0000 (13:37 +0000)] 
Rename $VG_ARCH/signal.c and $VG_ARCH/signals.c, to make
coregrind/vg_signals.c.

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

21 years agoAdded beginnings of an ARM port, to the point where it compiles. It does not
Nicholas Nethercote [Fri, 26 Nov 2004 19:34:36 +0000 (19:34 +0000)] 
Added beginnings of an ARM port, to the point where it compiles.  It does not
run, though.  There are lots of stubs to be filled in.  (The asm ones currently
just have "swi" in them, which seems to cause seg faults.)

Also, some of the macros are decided dubious, especially:

  ARCH_* are bogus
  SYSCALL_RET is bogus
  PLATFORM_SET_SYSCALL_RESULT is bogus
  not sure about SET_SYSCALL_RETVAL
  FIRST_STACK_FRAME et al -- bogus?
  VG_MAX_JUMPS ?

And in stage2.lds, the 0x8048000 is almost certainly wrong

This required some tweakings of the core:
- some of the vki_*.h kernel types were fixed up

- had to disable the AM_PROG_CC_C_O macro in configure.in, because automake
  (autoconf?) didn't like it...

- some "#ifdef __x86__" guards were introduced, for nasty x86 things I don't
  yet know how to factor out (trampoline page muck, sysinfo page muck).

- fixed a minor stupidity in vg_proxylwp.c.

- moved the ptrace wrapper into the x86-linux part

- had to change the intercept mangling scheme, to use 'J' instead of '$' as the
  escape char because GCC didn't like '$'.  This is all very dubious, and only
  works because none of our intercepted symbols contains a 'J'.  To be fixed up
  ASAP.

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

21 years agox86g_dirtyhelper_CPUID: Claim to be a P55C (Intel Pentium/MMX)
Julian Seward [Fri, 26 Nov 2004 19:34:34 +0000 (19:34 +0000)] 
x86g_dirtyhelper_CPUID: Claim to be a P55C (Intel Pentium/MMX)

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

21 years agoWhen doing pessimistic lazy propagation through a dirty helper call,
Julian Seward [Fri, 26 Nov 2004 19:17:47 +0000 (19:17 +0000)] 
When doing pessimistic lazy propagation through a dirty helper call,
do not consider inputs from those parts of the guest state marked as
read (or modified) which which are declared to be always-defined, and
dually do write outputs to those parts of the guest state written (or
modified) which are declared to be always-defined.

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

21 years agox86 guest: finish off MMX instructions. Blargh.
Julian Seward [Fri, 26 Nov 2004 19:15:38 +0000 (19:15 +0000)] 
x86 guest: finish off MMX instructions.  Blargh.

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

21 years agoSimplified the way Cachegrind configures the caches; it was really
Nicholas Nethercote [Fri, 26 Nov 2004 18:36:02 +0000 (18:36 +0000)] 
Simplified the way Cachegrind configures the caches;  it was really
strange before.  Also aborting if any command-line-provided cache
configuration is unacceptable, rather than falling back on defaults;
it's simpler and arguably better than just emitting a warning.

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

21 years agox86 guest: implement fsave/frstor instructions
Julian Seward [Fri, 26 Nov 2004 17:57:40 +0000 (17:57 +0000)] 
x86 guest: implement fsave/frstor instructions

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

21 years agoMore debug printing for redirections (disabled).
Julian Seward [Fri, 26 Nov 2004 15:06:13 +0000 (15:06 +0000)] 
More debug printing for redirections (disabled).

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

21 years agoWhen creating a child, copy the parent's .vex/.vex_shadow into it so
Julian Seward [Fri, 26 Nov 2004 15:04:24 +0000 (15:04 +0000)] 
When creating a child, copy the parent's .vex/.vex_shadow into it so
as to give it a sane starting state.  This may not be the Right
Answer, but it fixes regtest failure 'susphello' and doesn't break
anything else.

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

21 years agoDisable core dumps, and remove the previous attempts at factoring out
Nicholas Nethercote [Fri, 26 Nov 2004 14:07:24 +0000 (14:07 +0000)] 
Disable core dumps, and remove the previous attempts at factoring out
the arch-specific bits, which were just plain wrong.  This is a problem for a
later day.

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

21 years agoWhen VEX bombs, exit in a more understandable way.
Julian Seward [Fri, 26 Nov 2004 13:49:59 +0000 (13:49 +0000)] 
When VEX bombs, exit in a more understandable way.

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

21 years agoMove declarations of some thread-return-code values from Valgrind to
Julian Seward [Fri, 26 Nov 2004 13:25:17 +0000 (13:25 +0000)] 
Move declarations of some thread-return-code values from Valgrind to
VEX.

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

21 years agoMake VEX define the special thread-return-code values it uses.
Julian Seward [Fri, 26 Nov 2004 13:18:19 +0000 (13:18 +0000)] 
Make VEX define the special thread-return-code values it uses.

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

21 years agoHandle Ijk_Yield properly. This fixes V regtest "none/tests/yield".
Julian Seward [Fri, 26 Nov 2004 13:01:47 +0000 (13:01 +0000)] 
Handle Ijk_Yield properly.  This fixes V regtest "none/tests/yield".

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

21 years agoFix this test.
Nicholas Nethercote [Fri, 26 Nov 2004 12:54:07 +0000 (12:54 +0000)] 
Fix this test.

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

21 years agoRename arch_thread_aux_t --> ThreadArchAux, to match ThreadArchState.
Nicholas Nethercote [Fri, 26 Nov 2004 12:44:19 +0000 (12:44 +0000)] 
Rename arch_thread_aux_t --> ThreadArchAux, to match ThreadArchState.

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

21 years agoSecond (failed) attempt to get cmdline2 to work right.
Julian Seward [Fri, 26 Nov 2004 12:37:10 +0000 (12:37 +0000)] 
Second (failed) attempt to get cmdline2 to work right.

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

21 years agoImplement "rep nop" (P4 pause).
Julian Seward [Fri, 26 Nov 2004 12:18:51 +0000 (12:18 +0000)] 
Implement "rep nop" (P4 pause).

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

21 years agoUpdate expected output.
Julian Seward [Fri, 26 Nov 2004 12:00:02 +0000 (12:00 +0000)] 
Update expected output.

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

21 years agoFix overly-restrictive assertion causing many threaded programs to
Julian Seward [Fri, 26 Nov 2004 11:57:41 +0000 (11:57 +0000)] 
Fix overly-restrictive assertion causing many threaded programs to
fail.

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

21 years agoReinstated Helgrind and Cachegrind; at least, they are included in
Nicholas Nethercote [Fri, 26 Nov 2004 11:30:14 +0000 (11:30 +0000)] 
Reinstated Helgrind and Cachegrind;  at least, they are included in
compilation now.  They both don't work, as I made the minimal changes
necessary to get them compiling (eg. both of the TL_(instrument)()
functions were commented out and replaced with a stub).

This means that 'make dist' should more or less work again, which is
necessary for my playing with the XML documentation.

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

21 years agoDo some final "sk_" --> "tl_" changes that I missed earlier.
Nicholas Nethercote [Fri, 26 Nov 2004 10:53:33 +0000 (10:53 +0000)] 
Do some final "sk_" --> "tl_" changes that I missed earlier.

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

21 years agoForgot to remove this line when I removed the x86-specific tests the
Nicholas Nethercote [Fri, 26 Nov 2004 10:42:26 +0000 (10:42 +0000)] 
Forgot to remove this line when I removed the x86-specific tests the
other day.

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

21 years agoRemoved mc_helpers.S, which is no longer used.
Nicholas Nethercote [Fri, 26 Nov 2004 10:35:44 +0000 (10:35 +0000)] 
Removed mc_helpers.S, which is no longer used.

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

21 years agorun_thread_for_a_while: ensure the guest state layout of the thread
Julian Seward [Thu, 25 Nov 2004 22:50:17 +0000 (22:50 +0000)] 
run_thread_for_a_while: ensure the guest state layout of the thread
which we're just about to run matches Vex's assumptions.

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

21 years agoReinstate Massif.
Nicholas Nethercote [Thu, 25 Nov 2004 18:04:54 +0000 (18:04 +0000)] 
Reinstate Massif.

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