This change allows users manually calling memprof public C API (e.g. __memprof_profile_dump).
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
compiler-rt/include/CMakeLists.txt | ||
---|---|---|
90 | What are the implications of putting both of these files in the sanitizer subdirectory? I notice that one of them normally lives under profile/. I guess that file (MemProfData.inc) probably doesn't matter as it won't be called by user code? |
compiler-rt/include/CMakeLists.txt | ||
---|---|---|
90 |
Yes, MemProfData.inc lives under profile/ directory, and this file won't be called by user code. memprof_interface.h is the one that matters. Currently in user code, #include <sanitizer/memprof_interface.h> will cause a compilation failed due to memprof_interface.h not found. Maybe we should only install memprof_interface.h to sanitizer/ directory? WDYT? |
compiler-rt/include/CMakeLists.txt | ||
---|---|---|
90 | Yeah only installing the interface header might be best for now. If it turns out we need MemProfData.inc installed in the future we can add that and it will be helpful to understand the context of that need so we know where to install it. |
Could you please fix this to respect COMPILER_RT_BUILD_MEMPROF? We build separate packages for different compiler-rt components, and now memprof headers end up in every one of them, causing file collision errors.
compiler-rt/include/CMakeLists.txt | ||
---|---|---|
87 | This causes memprof headers to be installed even if COMPILER_RT_BUILD_MEMPROF is disabled. |
This causes memprof headers to be installed even if COMPILER_RT_BUILD_MEMPROF is disabled.