[MacRuby-devel] LLVM 2.8
Laurent Sansonetti
lsansonetti at apple.com
Mon Sep 27 22:20:14 PDT 2010
Hi Craig,
On Sep 27, 2010, at 9:48 AM, Craig Bosma wrote:
> Thanks Laurent,
>
> I am interested in learning more about MacRuby/LLVM internals, so
> perhaps this is a good opportunity. I created a patch (attached) that
> gets MacRuby building with LLVM 2.8rc2, but I'm quite certain that
> this bit:
>
> dbg_mdkind = context.getMDKindID("dbg");
> - assert(dbg_mdkind != 0);
> + //assert(dbg_mdkind != 0);
>
> is all wrong. I presume that the assertion is there to verify the
> presence of debug metadata, but beyond that -- where the debug
> metadata is created, what may have changed in 2.8 pertaining to
> metadata, or even the basic metadata model/API of LLVM are currently
> beyond me. Any suggestions for a basic primer on LLVM's architecture,
> or pointers on where to start digging?
I guess the debug metadata API changed again. I am not aware of any documentation about LLVM internals except its source code :)
However, strange enough, Watson tried your patch and was able to get debugging backtraces working. So, some investigation is required I think. I will have a quick look tomorrow.
> I *think* the other changes are straightforward (per the 2.8 release notes).
Indeed, looks straightforward. Thanks for working on this :)
We might need to adapt the patch a little bit since the project must still build with an older version of LLVM, but I will do the necessary tweaks.
> Also, I see there are a lot of rake tests; which one(s) would be a
> good sanity check when hacking on MacRuby?
We generally use the RubySpec suite for that. You can run it using:
$ rake spec:ci
Laurent
More information about the MacRuby-devel
mailing list