blob: 96dac1b66b9881d17e5ba474c8f72e4aefea1e34 [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.
florian416e4bb2015-10-12 20:35:56 +000025- 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.
sewardjb5b87402011-03-07 16:05:35 +000028
29
florian8f36de02012-08-23 00:44:22 +000030Hardware 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.
florian92b33b52014-12-08 14:03:00 +000034This is convenient. If possible, the JIT compiler will translate the
35client instructions according to the facilities available on the host.
florian8f36de02012-08-23 00:44:22 +000036This 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
sewardjb5b87402011-03-07 16:05:35 +000042Recommendations
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
floriandd1d3722015-03-17 13:45:29 +000053 http://publibfi.boulder.ibm.com/epubs/pdf/dz9zr010.pdf
sewardjb5b87402011-03-07 16:05:35 +000054(3) z/Architecture Reference Summary
floriandd1d3722015-03-17 13:45:29 +000055 http://publibfi.boulder.ibm.com/epubs/pdf/dz9zs008.pdf