For now elf_common.c is taken as a common part included into
different plugin implementations directly via
#include "../../common/elf_common.c", which is not a best practice. Since it
is simple enough such that we don't need to create a real library for it, we just
take it as a interface library so that other targets can link it directly. Another
advantage of this method is, we don't need to add the folder into header search
path which can potentially pollute the search path.
VE and AMD platforms have not been tested because I don't have target machines.
clang-tidy: error: 'libelf.h' file not found [clang-diagnostic-error]
not useful