Commit Graph

10 Commits

Author SHA1 Message Date
Nicholas Nethercote
61fcb2828d 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
2004-11-29 16:49:18 +00:00
Nicholas Nethercote
8a1cef27ad Minor 64-bit cleanups, mostly comments.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3140
2004-11-29 15:45:31 +00:00
Nicholas Nethercote
f00e834c58 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
2004-11-27 16:57:18 +00:00
Nicholas Nethercote
4e12afbac2 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
2004-11-27 16:10:23 +00:00
Nicholas Nethercote
f23dea17b2 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
2004-11-27 15:22:24 +00:00
Nicholas Nethercote
feb4fbaef5 Removed all uses of register numbers (eg. arch-specific ones like R_EAX, and
arch-neutral ones like R_STACK_PTR).  Where they were used, we now always talk
about an offset into the Vex guest state, and an offset.  As a result,
the shadow register get/set functions had to change.  They now also use
an offset and size, and in an arch-neutral way.

Also, I combined the five the post_reg_write* functions into a single one that
takes a 'CorePart' parameter (plus also a ThreadId).  Also, I added more
arguments (the CorePart, and the ThreadId) to the post_mem_write event, for
consistency with the pre_mem_* events.

Also, I reduced the number of register names that must be specified by each
arch, by factoring out duplication; and shortened their names for the core (eg.
ARCH_STACK_PTR is now STACK_PTR).

Plus some related minor cleanups in syscall wrappers.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3094
2004-11-24 16:30:22 +00:00
Nicholas Nethercote
6b0114e409 Added missing .cvsignore file.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3044
2004-11-18 13:34:00 +00:00
Nicholas Nethercote
6918dc8dc3 Convert a whole bunch of "(UWord)NULL" occurrences to 0, which is easier to
read and understand.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3038
2004-11-17 18:42:20 +00:00
Nicholas Nethercote
2f787498e8 Arch-abstraction:
- Moved some more syscall wrappers into linux/syscalls.c and
  x86-linux/syscalls.c.  There are still heaps of wrappers that probably aren't
  generic, but I'm not sure, so they're staying in vg_syscalls.c for now.
  Let's worry about that when we do an OS port.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3036
2004-11-17 18:22:38 +00:00
Nicholas Nethercote
05522127c4 Add coregrind/linux/ and coregrind/linux/* that was supposed to go in the last
commit.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3035
2004-11-17 17:21:12 +00:00