В файле AddressSanitizer.cpp
есть функция AddressSanitizer::instrumentStoreInstruction(...)
void AddressSanitizer::instrumentStoreInstruction(StoreInst *S, Instruction *I) {
assert(nullptr != S);
assert(nullptr != I);
Value* V = S->getValueOperand();
assert(nullptr != V);
Value* P = S->getPointerOperand();
assert(nullptr != P);
DEBUG(dbgs() << "ASAN Store Value : " << " " <<*V << "\n");
DEBUG(dbgs() << "ASAN Store Pointer" << " " <<*P << "\n");
Value* vL = 0;
if (isa<Instruction>(V)) {
vL = getStoreInstructionValueShadowBit(V, I);
handleStorePointerOperand(P, I, vL);
} else if (isa<ConstantExpr>(V)) {
instrumentConstantExprStoreInstruction(V, P, I);
} else if (isa<ConstantInt>(V) || isa<ConstantFP>(V)) {
//TODO: need to change to ConstantData after LLVM porting
instrumentConstantIntStoreInstruction(V, P, I);
}
}
Нужно в нем добавить проверку является ли V
параметром функции.
Как это реализовать?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Какие функции в Visual Studio (помимо system("pause");) останавливают закрытие консоли
Имееться код hash-алгоритмаТак как его надо исследовать, необходимо его запустить (для начала)
Привет всемВозникла задача, на основе XML и XSD динамически подгружать интерфейс