
Supported platforms
-------------------
- MIPS32 and MIPS32r2 platforms are currently supported.
- Both little-endian and big-endian cores are supported.


Building V for MIPS
-------------------
- Native build is available for all supported platforms. The build system
expects that native GCC is configured correctly and optimized for the platform.
Yet, this may not be the case with some Debian distributions which configure
GCC to compile to "mips1" by default. Depending on a target platform, using
CFLAGS="-mips32r2" or CFLAGS="-mips32" will do the trick and compile Valgrind
correctly.
- Use of cross-toolchain is supported as well.
- Example of configure line and additional configure options:

   $ ./configure --host=mipsel-linux-gnu --prefix=<path_to_install_directory>
        [--with-pagesize=<4|16|64>]

 * --host=mips-linux-gnu is necessary only if Valgrind is built on platform
   other then MIPS, tools for building MIPS application have to be in PATH.

 * --with-pagesize option is used to set default PAGE SIZE. If option is not
   used, PAGE SIZE is set to value default for platform on which Valgrind is
   built on. Possible values are 4, 16 of 64 and represent size in kilobytes.

 * --host=mips-linux-gnu is necessary if you compile it with cross toolchain
   compiler for big endian platform.

 * --host=mipsel-linux-gnu is necessary if you compile it with cross toolchain
   compiler for little endian platform.

 * --build=mips-linux is needed if you want to build it for MIPS32 on 64-bit
   MIPS system.

 * If you are compiling Valgrind with gcc version older then gcc (GCC) 4.5.1
   you must specify CFLAGS="-mips32r2 -mplt", e.g.
   ./configure --prefix=<path_to_install_directory>
   CFLAGS="-mips32r2 -mplt"


Limitations
-----------
- Currently, memcheck, massif, lackey, callgrind and none are supported.
- Support for helgrind, drd and exp-ptrcheck is still incomplete.
- Some Valgrind tests for MIPS expect mips32r2 architecture and will not
compile when target is one of the older instruction sets.
- Older GCC may have issues with some inline assembly blocks. Get a toolchain
based on newer GCC versions, if possible.
