petarj | b02bbd6 | 2012-06-26 11:30:18 +0000 | [diff] [blame] | 1 | |
| 2 | Supported platforms |
| 3 | ------------------- |
| 4 | - MIPS32 and MIPS32r2 platforms are currently supported. |
| 5 | - Both little-endian and big-endian cores are supported. |
| 6 | |
| 7 | |
| 8 | Building V for MIPS |
| 9 | ------------------- |
| 10 | - Native build is available for all supported platforms. The build system |
| 11 | expects that native GCC is configured correctly and optimized for the platform. |
| 12 | Yet, this may not be the case with some Debian distributions which configure |
| 13 | GCC to compile to "mips1" by default. Depending on a target platform, using |
| 14 | CFLAGS="-mips32r2" or CFLAGS="-mips32" will do the trick and compile Valgrind |
| 15 | correctly. |
| 16 | - Use of cross-toolchain is supported as well. |
| 17 | - Example of configure line and additional configure options: |
| 18 | |
| 19 | $ ./configure --host=mipsel-linux-gnu --prefix=<path_to_install_directory> |
| 20 | [--with-pagesize=<4|16|64>] |
| 21 | |
| 22 | * --host=mips-linux-gnu is necessary only if Valgrind is built on platform |
| 23 | other then MIPS, tools for building MIPS application have to be in PATH. |
| 24 | |
| 25 | * --with-pagesize option is used to set default PAGE SIZE. If option is not |
| 26 | used, PAGE SIZE is set to value default for platform on which Valgrind is |
| 27 | built on. Possible values are 4, 16 of 64 and represent size in kilobytes. |
| 28 | |
| 29 | * --host=mips-linux-gnu is necessary if you compile it with cross toolchain |
| 30 | compiler for big endian platform. |
| 31 | |
| 32 | * --host=mipsel-linux-gnu is necessary if you compile it with cross toolchain |
| 33 | compiler for little endian platform. |
| 34 | |
| 35 | * --build=mips-linux is needed if you want to build it for MIPS32 on 64-bit |
| 36 | MIPS system. |
| 37 | |
| 38 | * If you are compiling Valgrind with gcc version older then gcc (GCC) 4.5.1 |
| 39 | you must specify CFLAGS="-mips32r2 -mplt", e.g. |
| 40 | ./configure --prefix=<path_to_install_directory> |
| 41 | CFLAGS="-mips32r2 -mplt" |
| 42 | |
| 43 | |
| 44 | Limitations |
| 45 | ----------- |
| 46 | - Currently, memcheck, massif, lackey, callgrind and none are supported. |
| 47 | - Support for helgrind, drd and exp-ptrcheck is still incomplete. |
| 48 | - Some Valgrind tests for MIPS expect mips32r2 architecture and will not |
| 49 | compile when target is one of the older instruction sets. |
| 50 | - Older GCC may have issues with some inline assembly blocks. Get a toolchain |
| 51 | based on newer GCC versions, if possible. |