[LLVMdev] dyld: lazy symbol binding failed: fast lazy bind offset out of range

Nick Kledzik kledzik at apple.com
Mon Oct 22 11:40:32 PDT 2012


On Oct 22, 2012, at 11:34 AM, Jack Howarth wrote:

> Nick,
>   I have uploaded the full walk with 'set env DYLD_PRINT_INITIALIZERS'. It didn't seem very informative
> as the dyld error occurs right after...
> 
> (gdb)
> llvm::sys::DynamicLibrary::getPermanentLibrary (filename=0x142903da8 "/sw/opt/llvm-3.2/lib/LLVMPolly.so", errMsg=0x7fff5fbfe6e0) at /sw/src/fink.build/llvm32-3.2-0/llvm-3.2/lib/Support/DynamicLibrary.cpp:77
> 77        void *handle = dlopen(filename, RTLD_LAZY|RTLD_GLOBAL);
> (gdb)
> Reading symbols for shared libraries ... done
> dyld: calling initializer function 0x100eea5b0 in /sw/opt/llvm-3.2/lib/LLVMPolly.so

You need to set a break point at 0x100eea5b0 and run again until that break is hit, then start stepping.

> Are there any tricks for identifying the order that the symbols are being resolved?
(gdb) set env DYLD_PRINT_BINDINGS 1
will show each use of a symbol as it is bound.  This can be *a lot* of information.  

-Nick




More information about the llvm-dev mailing list