'grail' fixes for s390x:
[valgrind.git] / README.s390
blobac9485a6258f964b5cacd7974ed6d257319dd1d6
2 Requirements
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.
10 Limitations
11 -----------
12 - 31-bit client programs are not supported.
13 - Hexadecimal floating point is not supported.
14 - Transactional memory is not supported.
15 - memcheck, cachegrind, drd, helgrind, massif, lackey, and none are
16   supported. 
17 - On machine models predating z10, cachegrind will assume a z10 cache
18   architecture. Otherwise, cachegrind will query the hosts cache system
19   and use those parameters.
20 - callgrind and all experimental tools are currently not supported.
21 - Some gcc versions use mvc to copy 4/8 byte values. This will affect
22   certain debug messages. For example, memcheck will complain about
23   4 one-byte reads/writes instead of just a single read/write.
24 - The transactional-execution facility is not supported; it is masked
25   off from HWCAP.
28 Hardware facilities
29 -------------------
30 Valgrind does not require that the host machine has the same hardware
31 facilities as the machine for which the client program was compiled.
32 This is convenient. If possible, the JIT compiler will translate the
33 client instructions according to the facilities available on the host.
34 This means, though, that probing for hardware facilities by issuing
35 instructions from that facility and observing whether SIGILL is thrown
36 may not work. As a consequence, programs that attempt to do so may
37 behave differently. It is believed that this is a rare use case.
40 Recommendations
41 ---------------
42 Applications should be compiled with -fno-builtin to avoid
43 false positives due to builtin string operations when running memcheck.
46 Reading Material
47 ----------------
48 (1) Linux for zSeries ELF ABI Supplement
49     http://refspecs.linuxfoundation.org/ELF/zSeries/index.html
50 (2) z/Architecture Principles of Operation
51     http://publibfi.boulder.ibm.com/epubs/pdf/dz9zr011.pdf
52 (3) z/Architecture Reference Summary
53     http://publibfi.boulder.ibm.com/epubs/pdf/dz9zs009.pdf