[PATCH] D49362: [ThinLTO] Internalize read only globals

Steven Wu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 13 09:53:07 PST 2018


steven_wu added a comment.

I reverted this in r346768.

I think this is indeed a caching problem. There are some dylib/binary in clang projects that toggles whether to enable the recovery context but some does not. I can reproduce the issue by thin link libclang.dylib first, then link clang-func-mapping on Darwin.
libclang.dylib thinks the file scope variable gCrashRecoveryEnabled not read-only, so it promotes it.
clang-func-mapping thinks gCrashRecoveryEnabled read-only, so it internalize and constant propagate the variable but ParseAST.o in the cache is still expecting gCrashRecoveryEnabled to be available.

Let me know if you need more information.


Repository:
  rL LLVM

https://reviews.llvm.org/D49362





More information about the llvm-commits mailing list