Open
Description
SPI is using one of the dyninst internal header file.
In particular, SPI is using arch-x86.h under common/src. As this file is platform specific, dyninst is not supposed to expose this.
Right now, a custom built dyninst is used. To build this customized dyninst:
- Move arch-x86.h from common/src to common/h
- Remove the include statement of
#include "common/src/Types.h"
inside the new arch-x86.h, add include statement to include dyntypes.h, and manually add the missing definitions to arch-x86.h - Add
COMMON_EXPORT
before class and function names - Change the include statements
#include "common/src/arch-x86.h"
in other files inside dyninst to#include "arch-x86.h"
. Current files that need to be changed are:- common/src/arch-x86.C
- common/src/arch.h
- instructionAPI/src/Instruction.C
- instructionAPI/src/InstructionDecoder-x86.C
- instructionAPI/src/Operation.C
A long term solution would be to expose codegenAPI from dyninst, so that SPI can directly use emit-* functions.