diff options
author | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
---|---|---|
committer | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
commit | 709c4d66e0b107ca606941b988bad717c0b45d9b (patch) | |
tree | 37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/llvm/llvm-2.4/fix-static-initialization.patch | |
parent | fa6cd5a3b993f16c27de4ff82b42684516d433ba (diff) |
rename packages/ to recipes/ per earlier agreement
See links below for more details:
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816
Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Acked-by: Mike Westerhof <mwester@dls.net>
Acked-by: Philip Balister <philip@balister.org>
Acked-by: Khem Raj <raj.khem@gmail.com>
Acked-by: Marcin Juszkiewicz <hrw@openembedded.org>
Acked-by: Koen Kooi <koen@openembedded.org>
Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/llvm/llvm-2.4/fix-static-initialization.patch')
-rw-r--r-- | recipes/llvm/llvm-2.4/fix-static-initialization.patch | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/recipes/llvm/llvm-2.4/fix-static-initialization.patch b/recipes/llvm/llvm-2.4/fix-static-initialization.patch new file mode 100644 index 0000000000..a3ec2d6374 --- /dev/null +++ b/recipes/llvm/llvm-2.4/fix-static-initialization.patch @@ -0,0 +1,60 @@ +Index: llvm-2.4/include/llvm/System/DynamicLibrary.h +=================================================================== +--- llvm-2.4.orig/include/llvm/System/DynamicLibrary.h 2008-05-06 03:32:53.000000000 +0200 ++++ llvm-2.4/include/llvm/System/DynamicLibrary.h 2009-01-24 11:24:12.000000000 +0100 +@@ -16,6 +16,7 @@ + + #include "llvm/System/Path.h" + #include <string> ++#include <map> + + namespace llvm { + namespace sys { +@@ -90,6 +91,10 @@ + DynamicLibrary(const DynamicLibrary&); ///< Do not implement + DynamicLibrary& operator=(const DynamicLibrary&); ///< Do not implement + /// @} ++ ++ private: ++ static std::map<std::string, void *> &g_symbols(); ++ + }; + + } // End sys namespace +Index: llvm-2.4/lib/System/DynamicLibrary.cpp +=================================================================== +--- llvm-2.4.orig/lib/System/DynamicLibrary.cpp 2008-07-10 02:52:20.000000000 +0200 ++++ llvm-2.4/lib/System/DynamicLibrary.cpp 2009-01-24 11:27:42.000000000 +0100 +@@ -14,14 +14,18 @@ + #include "llvm/System/DynamicLibrary.h" + #include "llvm/Config/config.h" + #include <cstring> +-#include <map> + + // Collection of symbol name/value pairs to be searched prior to any libraries. +-static std::map<std::string, void *> g_symbols; ++std::map<std::string, void *> &llvm::sys::DynamicLibrary::g_symbols() { ++ static std::map<std::string, void *> *symbols ++ = new std::map<std::string, void *>(); ++ ++ return *symbols; ++} + + void llvm::sys::DynamicLibrary::AddSymbol(const char* symbolName, + void *symbolValue) { +- g_symbols[symbolName] = symbolValue; ++ g_symbols()[symbolName] = symbolValue; + } + + // It is not possible to use ltdl.c on VC++ builds as the terms of its LGPL +@@ -75,8 +79,8 @@ + // check_ltdl_initialization(); + + // First check symbols added via AddSymbol(). +- std::map<std::string, void *>::iterator I = g_symbols.find(symbolName); +- if (I != g_symbols.end()) ++ std::map<std::string, void *>::iterator I = g_symbols().find(symbolName); ++ if (I != g_symbols().end()) + return I->second; + + // Now search the libraries. |