[LLVMdev] Getting started with GC

Chris Lattner sabre at nondot.org
Wed Oct 27 09:16:11 PDT 2004


On Wed, 27 Oct 2004, Tom Brown wrote:

> On Tue, Oct 26, 2004 at 11:17:00PM -0500, Chris Lattner wrote:
> > On Tue, 26 Oct 2004, Tom Brown wrote:
> > > $ llvm-as alloc_loop.ll
> > > $ lli alloc_loop.bc
> > > lli: Globals.cpp:81: llvm::GlobalVariable::GlobalVariable(const llvm::Type*, bool, llvm::GlobalValue::LinkageTypes, llvm::Constant*, const std::string&, llvm::Module*): Assertion `Initializer->getType() == Ty && "Initializer should be the same type as the GlobalVariable!"' failed.
> > > lli((anonymous namespace)::PrintStackTrace()+0x1a)[0x857f21a]
> > > lli((anonymous namespace)::SignalHandler(int)+0xcb)[0x857f48d]
> > > [0xffffe420]
> > > How should we get this to run?
> >
> > Sorry about that, patch for this problem here:
> > http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20041025/019891.html
> That patch does fix the problem. Thank you. I used the following
> llvm-link -f -o linked.bc alloc_loop.bc ~/llvm/runtime/GC/SemiSpace/Debug/semispace.bc
> because it seemed easier than working out if and how to get dynamic
> loading and linking to work. Perhaps the process will be smoother when
> I restart using projects/sample/.

Okay, sounds good.

Running linked.bc outputs

> Garbage collecting!!
> process_root[0x0xbffff3f0] = 0x0x41257008
> process_root[0x0xbffff3ec] = 0x0x41257012
> lli(llvm::ExecutionEngine::runFunctionAsMain...
>
> Which is too be expected since llvm_gc_collect in
> llvm/runtime/GC/SemiSpace/semispace.c ends with abort();

> I believe we have our work cut out for us. Hopefully you'll have a
> working GC by Christmas time.

Yes, indeed :)  That would be great!  Thanks! :)

-Chris

-- 
http://llvm.org/
http://nondot.org/sabre/




More information about the llvm-dev mailing list