From Fedora Project Wiki

Revision as of 17:48, 8 April 2014 by Ajax (talk | contribs) (start writing this stuff down)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Running collection of notes about how to do LLVM rebases in Fedora, and in particular, how to verify them. This page currently covers F20's 3.3->3.4 rebase; presumably future updates will need more detail as more things grow LLVM dependencies.


First, get test results from the existing version of llvm. (XXX links to previous rebase results would be useful...)

Next, get it all building. Once you've got the new version of llvm building, mockchain it, then mockchain the rest of the affected packages into the same root.

Once you've done that you can rpm -Fvh from the mockchain repo to update your running system to the new version of llvm, and then re-do the tests against the new llvm version to see what broke.


llvm itself

Run the testsuite. It runs out of %check, you probably need to enable it on some of the non-PC arches though.


make check from the built source.



No testsuite. But the IDE is self-hosting.



Edit ghc.spec to do %define cabal_configure_options --ghc-option=-fllvm to force the llvm code generator (XXX: is this enough?). Testsuite is run by doing make test or make fulltest from the top-level source directory; the former ought to pass completely, but on non-arm it probably does have failures since the llvm generator is not the default elsewhere.



Somewhat tricky to test, if you're not used to doing piglit runs, but piglit against Xvfb will exercise llvmpipe. The r600 and radeonsi drivers also use llvm (XXX more detail on which cards here, please) and I think that's true of the corresponding vdpau drivers too (XXX how to test vdpau).



make check from the built source.