GJDuck / EffectiveSan

Runtime type and bounds-error checking for C/C++

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Clang 4?

STashakkori opened this issue · comments

commented

I see this is using llvm 4. Any reason why so old? Does this imply this tool is not relevant with today's C and C++? Just wondering as it currently isn't building on ubuntu20 and so don't want to go down the rabbit hole if there is not much value. Thank you

LLVM 4 was relatively recent when EffectiveSan was first developed (cira 2017).

Unfortunately, it is very hard to port EffectiveSan to newer versions of clang/LLVM. The problem is that EffectiveSan uses a hacked clang front-end to save type information necessary for the LLVM EffectiveSan backend, and these hacks are not easy to maintain as the code changes (compared to the LLVM component, which is relatively stable).

So I think EffectiveSan will remain clang/LLVM-4 for the forseeable future. Fortunately, clang-4 can still compile most projects.