petarj | b02bbd6 | 2012-06-26 11:30:18 +0000 | [diff] [blame] | 1 | |
| 2 | Supported platforms |
| 3 | ------------------- |
petarj | 817232e | 2013-10-19 02:24:11 +0000 | [diff] [blame] | 4 | - MIPS32 and MIPS64 platforms are currently supported. |
petarj | b02bbd6 | 2012-06-26 11:30:18 +0000 | [diff] [blame] | 5 | - Both little-endian and big-endian cores are supported. |
petarj | 817232e | 2013-10-19 02:24:11 +0000 | [diff] [blame] | 6 | - MIPS DSP ASE on MIPS32 platforms is supported. |
petarj | b02bbd6 | 2012-06-26 11:30:18 +0000 | [diff] [blame] | 7 | |
| 8 | |
| 9 | Building V for MIPS |
| 10 | ------------------- |
| 11 | - Native build is available for all supported platforms. The build system |
| 12 | expects that native GCC is configured correctly and optimized for the platform. |
| 13 | Yet, this may not be the case with some Debian distributions which configure |
| 14 | GCC to compile to "mips1" by default. Depending on a target platform, using |
petarj | 817232e | 2013-10-19 02:24:11 +0000 | [diff] [blame] | 15 | CFLAGS="-mips32r2", CFLAGS="-mips32" or CFLAGS="-mips64" or |
| 16 | CFLAGS="-mips64 -mabi=64" will do the trick and compile Valgrind correctly. |
| 17 | |
petarj | b02bbd6 | 2012-06-26 11:30:18 +0000 | [diff] [blame] | 18 | - Use of cross-toolchain is supported as well. |
| 19 | - Example of configure line and additional configure options: |
| 20 | |
| 21 | $ ./configure --host=mipsel-linux-gnu --prefix=<path_to_install_directory> |
petarj | b02bbd6 | 2012-06-26 11:30:18 +0000 | [diff] [blame] | 22 | |
| 23 | * --host=mips-linux-gnu is necessary only if Valgrind is built on platform |
| 24 | other then MIPS, tools for building MIPS application have to be in PATH. |
| 25 | |
petarj | b02bbd6 | 2012-06-26 11:30:18 +0000 | [diff] [blame] | 26 | * --host=mips-linux-gnu is necessary if you compile it with cross toolchain |
| 27 | compiler for big endian platform. |
| 28 | |
| 29 | * --host=mipsel-linux-gnu is necessary if you compile it with cross toolchain |
| 30 | compiler for little endian platform. |
| 31 | |
| 32 | * --build=mips-linux is needed if you want to build it for MIPS32 on 64-bit |
| 33 | MIPS system. |
| 34 | |
petarj | 817232e | 2013-10-19 02:24:11 +0000 | [diff] [blame] | 35 | * If you are compiling Valgrind for mips32 with gcc version older then |
| 36 | gcc (GCC) 4.5.1, you must specify CFLAGS="-mips32r2 -mplt", e.g. |
| 37 | |
petarj | b02bbd6 | 2012-06-26 11:30:18 +0000 | [diff] [blame] | 38 | ./configure --prefix=<path_to_install_directory> |
| 39 | CFLAGS="-mips32r2 -mplt" |
| 40 | |
| 41 | |
| 42 | Limitations |
| 43 | ----------- |
petarj | 817232e | 2013-10-19 02:24:11 +0000 | [diff] [blame] | 44 | - Some gdb tests will fail when gdb (GDB) older than 7.5 is used and gdb is |
| 45 | not compiled with '--with-expat=yes'. |
| 46 | - You can not compile tests for DSP ASE if you are using gcc (GCC) older |
| 47 | then 4.6.1 due to a bug in the toolchain. |
petarj | b02bbd6 | 2012-06-26 11:30:18 +0000 | [diff] [blame] | 48 | - Older GCC may have issues with some inline assembly blocks. Get a toolchain |
petarj | 817232e | 2013-10-19 02:24:11 +0000 | [diff] [blame] | 49 | based on newer GCC versions, if possible. |