-
Notifications
You must be signed in to change notification settings - Fork 80
llgo produces debug data incompatible with LLVM 3.2 #79
Comments
Unfortunately although there is capability to specify a debug format version via LLVMDebugVersion, from what I can tell llvm does not actually handle the different versions:
In other words, there's no backwards compatibility and thus two (or more) versions of the debug code would have to be maintained if the code is going to be functional for different llvm releases. IMO any branch should just have to deal with a single LLVM/Go/go.types/etc version and any other version is "use at your own risk". It's too early to talk about different release branches, so for now that means Even better would be if all dependencies are added as git submodules or some other tagged/versioned approach to ensure everyone is using the exact same versions of everything. That would be a bit broader perspective tying in #59 and #18 here too which I think is the preferred long term approach. |
Fair points. BTW, #59 was fixed upstream by rsc. While we should probably pin revisions at some point, I'd rather not until things are settled right down in go/types. That may sound counter-intuitive, but I don't want llgo to fall so far behind go/types that updating becomes difficult to manage. |
Yeah, IMO the "development" branch should be tip-ish for all dependencies and for now it doesn't make sense to maintain any release branches. |
#78 reintroduces and expands debug data. The format has been updated, and is now incompatible with LLVM 3.2. The drone.io config has been updated, but we should either disable generating debug data pre-3.3, or otherwise generate debug-data differently for different versions (I opt for sticking to the latest released version).
The text was updated successfully, but these errors were encountered: