blob: 5b3d3c08033e207b3930ebe63b4340cd74877a81 [file] [log] [blame]
floriandec4a562011-11-26 04:12:01 +00001
sewardjb5b87402011-03-07 16:05:35 +00002Requirements
3------------
4- You need GCC 3.4 or later to compile the s390 port.
florian92b33b52014-12-08 14:03:00 +00005- 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
florian6fc11f22013-09-30 16:41:56 +00007 not been tested extensively.
sewardjb5b87402011-03-07 16:05:35 +00008
9
10Limitations
11-----------
12- 31-bit client programs are not supported.
13- Hexadecimal floating point is not supported.
floriandd1d3722015-03-17 13:45:29 +000014- Transactional memory is not supported.
15- Instructions operating on vector registers are not supported.
florianbe853a82013-10-01 07:01:08 +000016- memcheck, cachegrind, drd, helgrind, massif, lackey, and none are
florian6fc11f22013-09-30 16:41:56 +000017 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.
florianfb11d972012-11-02 22:00:59 +000021- callgrind and all experimental tools are currently not supported.
florianf19daa02013-10-19 08:21:19 +000022- 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.
sewardjb5b87402011-03-07 16:05:35 +000025
26
florian8f36de02012-08-23 00:44:22 +000027Hardware facilities
28-------------------
29Valgrind does not require that the host machine has the same hardware
30facilities as the machine for which the client program was compiled.
florian92b33b52014-12-08 14:03:00 +000031This is convenient. If possible, the JIT compiler will translate the
32client instructions according to the facilities available on the host.
florian8f36de02012-08-23 00:44:22 +000033This means, though, that probing for hardware facilities by issuing
34instructions from that facility and observing whether SIGILL is thrown
35may not work. As a consequence, programs that attempt to do so may
36behave differently. It is believed that this is a rare use case.
37
38
sewardjb5b87402011-03-07 16:05:35 +000039Recommendations
40---------------
41Applications should be compiled with -fno-builtin to avoid
42false positives due to builtin string operations when running memcheck.
43
44
45Reading Material
46----------------
47(1) Linux for zSeries ELF ABI Supplement
48 http://refspecs.linuxfoundation.org/ELF/zSeries/index.html
49(2) z/Architecture Principles of Operation
floriandd1d3722015-03-17 13:45:29 +000050 http://publibfi.boulder.ibm.com/epubs/pdf/dz9zr010.pdf
sewardjb5b87402011-03-07 16:05:35 +000051(3) z/Architecture Reference Summary
floriandd1d3722015-03-17 13:45:29 +000052 http://publibfi.boulder.ibm.com/epubs/pdf/dz9zs008.pdf