patch to do away with caching of __CFConstantStringClassReference
jahanian
fjahanian at apple.com
Mon Apr 15 13:38:36 PDT 2013
Here is the patch.
On Apr 15, 2013, at 1:36 PM, jahanian <fjahanian at apple.com> wrote:
> This is // rdar://13598026
> We cache uses of __CFConstantStringClassReference external symbol when generating the API for
> cfstring. This, however, causes a crash in extreme rare case where user has chosen to provide a tentative
> definition of __CFConstantStringClassReference followed by build of a cfstring followed by delayed
> generation of another cfstring. This sequence of events causes the 2nd access to this cached symbol to be
> a dangling reference because in the course of completing the tentative definition, the cached __CFConstantStringClassReference
> has been erased. I fix this by removing caching of __CFConstantStringClassReference altogether. This is because
> all global symbols are cached in llvm’s global symbol table which is tightly managed. There is no need to have our own
> cache of this symbol.
> Please review.
>
> - Fariborz
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130415/57a698f3/attachment.html>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: diff.txt
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130415/57a698f3/attachment.txt>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130415/57a698f3/attachment-0001.html>
More information about the cfe-commits
mailing list