Setting up GCC and Clang toolchains
MTuner comes with MSVC, MinGW, PlayStation 4 and PlayStation 3 support. Additionally, users can set up to 9 custom GCC based toolchains. Each of the toolchains is configured separately. Configuring a toolchain is making sure that MTuner is aware of the location of nm, addr2line and c++filt utilities, in order to be able to resolve symbols. For each toolchain, both 32bit and 64bit versions of the binutils can be configured, though this is not a strict requirement and depends on users needs.
Using the Instrumentation API to support GCC and Clang based toolchains is described in detail in the Instrumentation API section.
Configuration for either 32bit or 64bit toolchain is done by setting three fields: environment variable, binutils path and toolchain prefix. MTuner will try to mix the input parameters while searching for addr2line so not all of the fields need to be set for MTuner to locate addr2line. Below is the description of the three fields.
Environment variable
Users can set the name of environment variable whose value will be used as a path prefix.
Binutils path
A path to the addr2line utility. This path may be relative or absolute and MTuner will try both options using the envrionment variable value if applicable.
Toolchain prefix
Prefix to be added to add2line utility.
PlayStation platforms are set up slightly differently and licensed developers will easily understand the differences.