[LLVMdev] lli unable to resolve symbol _ZNKSt3__16locale9use_facetERNS0_2idE in bitcode

Nick Lewycky nicholas at mxc.ca
Tue May 22 21:34:10 PDT 2012


Ashok Nalkund wrote:
>
> Resending :(. Any pointers?

Fundamentally the issue is that the system linker is supposed to define 
__dso_handle when linking, but since there is no system linker between 
your build of the .bc files and running lli, nobody has defined it.

It seems reasonable to me that lli should define __dso_handle if it's 
declared in the module.

You could module tools/lli/lli.cpp to add a global:

   char *dummy_dso_handle = 0;

and tie it to __dso_handle via.

   if (GlobalVariable *DSO = Mod->getGlobalVariable("__dso_handle"))
     if (!DSO->hasInitializer())
       EE->updateGlobalMapping(DSO, &dummy_dso_handle);

somewhere in main(), say after disabling lazy compilation. Entirely 
untested though; we might need to give dummy_dso_handle a real value.

Nick

> tia
>
> On 5/21/2012 2:46 PM, Ashok Nalkund wrote:
>> On 5/21/2012 11:15 AM, Nick Lewycky wrote:
>>> Ashok Nalkund wrote:
>>>> Resending, any pointers? I demangled the symbol and it turns out to be:
>>>> std::__1::locale::use_facet(std::__1::locale::id&) const
>>>
>>> My guess is that you've got a .bc file produced on a mac using libc++
>>> (hence the ::_1 part) and you're trying to run it on linux with
>>> libstdc++ (which doesn't use inline namespaces, the '::_1::' part). That
>>> won't work.
>>>
>>> Nick
>>
>> Thanks for the clue. I had earlier tried to use libc++ and there were
>> some remnants of that try. I've now cleaned up and now it gets past the
>> use_facet error.
>>
>> It now complains about '__dso_handle'. I saw a bug already reported but
>> its status is still NEW:
>> http://llvm.org/bugs/show_bug.cgi?id=7847
>>
>> As mentioned in the bug, the problem seems to be when the interpreter is
>> used.
>>
>> There is another post on cfe-dev list:
>> http://clang-developers.42468.n3.nabble.com/Configuring-HAVE-DSO-HANDLE-by-CMake-td3423707.html
>>
>>
>> Any thoughts?
>>
>> thanks
>> ashok
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>




More information about the llvm-dev mailing list