
Requirements
------------
- You need GCC 3.4 or later to compile the s390 port.
- To run valgrind a z10 machine or any later model is needed.
  Older machine models down to and including z900 may work but have
  not been tested extensively.


Limitations
-----------
- 31-bit client programs are not supported.
- Hexadecimal floating point is not supported.
- memcheck, cachegrind, drd, helgrind, massif, lackey, and none are
  supported. 
- On machine models predating z10, cachegrind will assume a z10 cache
  architecture. Otherwise, cachegrind will query the hosts cache system
  and use those parameters.
- callgrind and all experimental tools are currently not supported.
- Some gcc versions use mvc to copy 4/8 byte values. This will affect
  certain debug messages. For example, memcheck will complain about
  4 one-byte reads/writes instead of just a single read/write.


Hardware facilities
-------------------
Valgrind does not require that the host machine has the same hardware
facilities as the machine for which the client program was compiled.
This is convenient. The JIT compiler will translate the client instructions
according to the facilities available on the host.
This means, though, that probing for hardware facilities by issuing
instructions from that facility and observing whether SIGILL is thrown
may not work. As a consequence, programs that attempt to do so may
behave differently. It is believed that this is a rare use case.


Recommendations
---------------
Applications should be compiled with -fno-builtin to avoid
false positives due to builtin string operations when running memcheck.


Reading Material
----------------
(1) Linux for zSeries ELF ABI Supplement
    http://refspecs.linuxfoundation.org/ELF/zSeries/index.html
(2) z/Architecture Principles of Operation
    http://publibfi.boulder.ibm.com/epubs/pdf/dz9zr009.pdf
(3) z/Architecture Reference Summary
    http://publibfi.boulder.ibm.com/epubs/pdf/dz9zs007.pdf
