Есть похожие вопросы, которые я нашел, но я полный новичок ie для llvm, и мне трудно понять, как работает llvm. Итак, я хочу написать программу, которая может печатать адреса возврата вызова другой программы C прямо перед ее возвратом, это эквивалентно этому.
int foo()
{
printf("%p\n", __builtin_return_address(0));
return 0;
}
Интересно, есть ли у llvm такие инструменты, позволяющие мне это делать? Я посмотрел на Module и BasicBlock, но не нашел ничего, связанного с тем, что я хочу сделать.