]> granicus.if.org Git - llvm/commit
Fix the ManagedStatic list ordering when using DynamicLibrary::addPermanentLibrary.
authorFrederich Munch <colsebas@hotmail.com>
Fri, 26 May 2017 19:43:23 +0000 (19:43 +0000)
committerFrederich Munch <colsebas@hotmail.com>
Fri, 26 May 2017 19:43:23 +0000 (19:43 +0000)
commitb0d2323300624c7b23965149bbacc8d62a0d133a
tree3a383ce3121be2daf13473566546b0f079ba6757
parentb655a9ce9b40b53ac8f81e99334aee1161f557b6
Fix the ManagedStatic list ordering when using DynamicLibrary::addPermanentLibrary.

Summary:
r295737 included a fix for leaking libraries loaded via. DynamicLibrary::addPermanentLibrary.
This created a problem where static constructors in a library could insert llvm::ManagedStatic objects before DynamicLibrary would register it's own ManagedStatic, meaning a crash could occur at shutdown.

r301562 exasperated this problem by cleaning up the DynamicLibrary ManagedStatic during llvm_shutdown.

Reviewers: v.g.vassilev, lhames, efriedma

Reviewed By: efriedma

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D33581

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304027 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Support/DynamicLibrary.cpp