mirror of
https://github.com/ioacademy-jikim/debugging
synced 2025-06-08 08:26:14 +00:00
53 lines
2.0 KiB
Plaintext
53 lines
2.0 KiB
Plaintext
|
|
Requirements
|
|
------------
|
|
- You need GCC 3.4 or later to compile the s390 port.
|
|
- To run valgrind a z10 machine or any later model is recommended.
|
|
Older machine models down to and including z990 may work but have
|
|
not been tested extensively.
|
|
|
|
|
|
Limitations
|
|
-----------
|
|
- 31-bit client programs are not supported.
|
|
- Hexadecimal floating point is not supported.
|
|
- Transactional memory is not supported.
|
|
- Instructions operating on vector registers are 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. If possible, 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/dz9zr010.pdf
|
|
(3) z/Architecture Reference Summary
|
|
http://publibfi.boulder.ibm.com/epubs/pdf/dz9zs008.pdf
|