Allow CMake files for dependencies to be included multiple times (#639)
[dyninst.git] / README.md
1 # Dyninst
2
3 ## Branch states
4
5 | Branch                                  | Status        | Notes                                              |
6 | --------------------------------------- |:-------------:|:--------------------------------------------------:|
7 | master                                  | stable        | See below                                          |
8 | aarch32                                 | experimental  | Contact Ray Chen (rchen at cs dot umd dot edu)     |
9
10 ## Notes
11
12 * Known issues should have open issues associated with them.
13 * ARMv8 (64 bit) support for dynamic instrumentation is experimental and incomplete.
14   For more details about current supported functionality refer to [Dyninst Support for the ARMv8 (64 bit)](https://github.com/dyninst/dyninst/wiki/DyninstAPI-ARMv8-status).
15
16 ## Build DyninstAPI and its subcomponents
17
18 ### Install with Spack
19
20 ```spack install dyninst```
21
22 ### Build from source
23
24 1. Configure Dyninst with CMake
25
26         ```cmake /path/to/dyninst/source -DCMAKE_INSTALL_PREFIX=/path/to/installation```
27
28 2. Build and install Dyninst in parallel
29
30         ```make install -jN```
31
32 If this does not work for you, please refer to the [Wiki](https://github.com/dyninst/dyninst/wiki) for detailed instructions. If you encounter any errors, see the [Building Dyninst](https://github.com/dyninst/dyninst/wiki/Building-Dyninst) or leave a [GitHub issue](https://github.com/dyninst/dyninst/issues).
33
34 ## Known Issues
35
36 * Windows 64-bit mode is not yet supported
37
38 * Windows rewriter mode is not yet supported
39
40 * Exceptions in relocated code will not be caught
41
42 * Linux rewriter mode for 32-bit, statically linked binaries does not support binaries with .plt, .rel, or .rela
43 sections.
44
45 * Callbacks at thread or process exit that stop the process will deadlock when a SIGSEGV occurs on a thread other than
46 the main thread of a process
47
48 * Stackwalker is fragile on Windows
49
50 * Parsing a binary with no functions (typically a single object file) will crash at CodeObject destruction time.