qwemnbvv
qwemnbvv
llvm12移植时问题
为了支持代码在较高版本的使用,将xVMP.cpp移植到了llvm12下编译完成,但是在编译后的使用存在一些问题 为了支持llvm12的使用, 将 Value *called_value = inst->getCalledValue(); 更改为 Value *called_value = inst->getCalledOperand(); resultValue = IRBcallFunction.CreateCall(value, ArrayRef(target_func_args)); 更改 FunctionType *funcType = cast(cast(value->getType())->getElementType()); FunctionCallee funcCallee(funcType, value); resultValue = IRBcallFunction.CreateCall(funcCallee, ArrayRef(target_func_args)); Value *...
`#include #include #include #include #include __attribute((__annotate__("vmp"))) // add this annotation long readDword(u_long addr) { long v=0; struct iovec local[1]; struct iovec remote[1]; local[0].iov_base = &v; local[0].iov_len = 4; remote[0].iov_base =...