This will allow linking in the callbacks directly instead of using PLT.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
I suspect Driver part is going to be reverted a couple of time. Maybe extract it into a separate patch?
compiler-rt/lib/asan/CMakeLists.txt | ||
---|---|---|
171 | why no changes for APPLE? |
I don't like the name "asan_dso". DSO means "dynamic shared object", and this is the very opposite of that. Maybe "asan_private" or "asan_helper"?
I got a couple of options myself:
adan_instrumentation
asan_fast_path
asan_mini
What do you think?
Renamed it 'dso' to 'static'. I know it could be a little bit confusing. I was considering 'static_link' or 'always_static', but it seems too long.
compiler-rt/lib/asan/CMakeLists.txt | ||
---|---|---|
198 | Can you explain the motivation here? RTAsan_static object library isn't built on Apple & Apple ASAN doesn't support static libraries. is there a reason why this was added to Apple that I'm missing? I don't believe this actually builds anything on Apple platforms since no OS is passed and in add_compiler_rt_runtime no libnames get set. Even the tests added are not-apple specific. |
compiler-rt/lib/asan/CMakeLists.txt | ||
---|---|---|
198 | As far as I remember it was because of the __asan_report_(load|store)n functions defined in asan_rtl_static.cpp. They are defined as weak so that we could link the binary without providing the implementation, which was later loaded from asan_rtl DSO. It is possible that we don't need this on Apple, but we will most likely need that on Windows. So if you are planning to make changes here you might have to revisit the 'NOT WIN32 AND NOT APPLE' statements to make sure we don't break the Windows build. |
why no changes for APPLE?