1 2Requirements 3------------ 4- You need GCC 3.4 or later to compile the s390 port. 5- To run valgrind a z10 machine or any later model is recommended. 6 Older machine models down to and including z990 may work but have 7 not been tested extensively. 8 9 10Limitations 11----------- 12- 31-bit client programs are not supported. 13- Hexadecimal floating point is not supported. 14- Transactional memory is not supported. 15- Instructions operating on vector registers are not supported. 16- memcheck, cachegrind, drd, helgrind, massif, lackey, and none are 17 supported. 18- On machine models predating z10, cachegrind will assume a z10 cache 19 architecture. Otherwise, cachegrind will query the hosts cache system 20 and use those parameters. 21- callgrind and all experimental tools are currently not supported. 22- Some gcc versions use mvc to copy 4/8 byte values. This will affect 23 certain debug messages. For example, memcheck will complain about 24 4 one-byte reads/writes instead of just a single read/write. 25- The transactional-execution facility is not supported; it is masked 26 off from HWCAP. 27- The vector facility is not supported; it is masked off from HWCAP. 28 29 30Hardware facilities 31------------------- 32Valgrind does not require that the host machine has the same hardware 33facilities as the machine for which the client program was compiled. 34This is convenient. If possible, the JIT compiler will translate the 35client instructions according to the facilities available on the host. 36This means, though, that probing for hardware facilities by issuing 37instructions from that facility and observing whether SIGILL is thrown 38may not work. As a consequence, programs that attempt to do so may 39behave differently. It is believed that this is a rare use case. 40 41 42Recommendations 43--------------- 44Applications should be compiled with -fno-builtin to avoid 45false positives due to builtin string operations when running memcheck. 46 47 48Reading Material 49---------------- 50(1) Linux for zSeries ELF ABI Supplement 51 http://refspecs.linuxfoundation.org/ELF/zSeries/index.html 52(2) z/Architecture Principles of Operation 53 http://publibfi.boulder.ibm.com/epubs/pdf/dz9zr010.pdf 54(3) z/Architecture Reference Summary 55 http://publibfi.boulder.ibm.com/epubs/pdf/dz9zs008.pdf 56