[LLVMdev] Objective-C code in lli

Chris Lattner clattner at apple.com
Sun Oct 18 21:01:39 PDT 2009


On Oct 18, 2009, at 6:32 PM, Eric Brunstad wrote:

> Hi,
>
> Is it possible to run Objective-C code in lli?  lli does not seem to  
> want to load Foundation.framework.

It is definitely possible, but we're not there yet.  LLI would have to  
know about objective-c metadata to register it properly with the  
runtime.  This is important for things like classes etc.  This isn't  
conceptually hard, but noone has done it yet.

-Chris

>
> Please see below.
>
> Thanks,
>
> Eric Brunstad
>
> #import <Foundation/Foundation.h>
>
> int main(int argc, char *argv[])
> {
> 	NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
> 	NSLog(@"test!");
> 	[pool drain];
> 	return EXIT_SUCCESS;
> }
>
> cmu-351714:llvm-2.5 ericbrunstad$ /Users/ericbrunstad/Downloads/ 
> llvm-2.5/Release/bin/lli -force-interpreter=true -stats  /Users/ 
> ericbrunstad/Desktop/test/test.o -load=/System/Library/Frameworks/ 
> Foundation.framework/Foundation
>
> Could not resolve external global address:  
> __CFConstantStringClassReference
> 0   lli               0x0000000100687556 (anonymous  
> namespace)::SignalHandler(int) + 470
> 1   libSystem.B.dylib 0x00007fff83ee10aa _sigtramp + 26
> 2   libSystem.B.dylib 0x0000000100a0b4ba _sigtramp + 2092082218
> 3   lli               0x00000001001e8374  
> llvm::ExecutionEngine::emitGlobals() + 6164
> 4   lli               0x00000001001dbd69  
> llvm::Interpreter::Interpreter(llvm::ModuleProvider*) + 185
> 5   lli               0x00000001001dbdd8 llvm::Interpreter::create 
> (llvm::ModuleProvider*, std::string*, bool) + 56
> 6   lli               0x0000000100010803 main + 243
> 7   lli               0x00000001000106e8 start + 52
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20091018/cbbb534d/attachment.html>


More information about the llvm-dev mailing list