Arches, please keyword: sys-devel/llvm-2.7 sys-devel/llvm-gcc-2.7 Target keywords: ~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd mips, sh: please also keyword dev-lang/ocaml or mask the ocaml USE flag. This was ok'ed by voyageur on IRC. LLVM will be used by the upcoming mesa-7.9 release.
Well, this is going to be a bit impossible on ia64 and mips... http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=561132 And indeed it fails to configure on ia64...
You are correct that ia64 is no longer supported in llvm. mips however should still work, maybe requiring a small patch from http://llvm.org/bugs/show_bug.cgi?id=5828
And fails to configure on sh as well
Removing sh since it fails there too
No go for HPPA either.
Fails to build on sparc: /var/tmp/portage/sys-devel/llvm-gcc-2.7/work/llvm-gcc-4.2-2.7.source/obj/./gcc/xgcc -B/var/tmp/portage/sys-devel/llvm-gcc-2.7/work/llvm-gcc-4.2-2.7.source/obj/./gcc/ -B/usr/lib/llvm-gcc-4.2-2.7/sparc-unknown-linux-gnu/bin/ -B/usr/lib/llvm-gcc-4.2-2.7/sparc-unknown-linux-gnu/lib/ -isystem /usr/lib/llvm-gcc-4.2-2.7/sparc-unknown-linux-gnu/include -isystem /usr/lib/llvm-gcc-4.2-2.7/sparc-unknown-linux-gnu/sys-include -O2 -O2 -O2 -mcpu=ultrasparc -pipe -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I/var/tmp/portage/sys-devel/llvm-gcc-2.7/work/llvm-gcc-4.2-2.7.source/gcc -I/var/tmp/portage/sys-devel/llvm-gcc-2.7/work/llvm-gcc-4.2-2.7.source/gcc/. -I/var/tmp/portage/sys-devel/llvm-gcc-2.7/work/llvm-gcc-4.2-2.7.source/gcc/../include -I/var/tmp/portage/sys-devel/llvm-gcc-2.7/work/llvm-gcc-4.2-2.7.source/gcc/../libcpp/include -I/var/tmp/portage/sys-devel/llvm-gcc-2.7/work/llvm-gcc-4.2-2.7.source/gcc/../libdecnumber -I../libdecnumber -I/usr/include -DL_powitf2 -fvisibility=hidden -DHIDE_EXPORTS -c /var/tmp/portage/sys-devel/llvm-gcc-2.7/work/llvm-gcc-4.2-2.7.source/gcc/libgcc2.c -o libgcc/./_powitf2.o /var/tmp/portage/sys-devel/llvm-gcc-2.7/work/llvm-gcc-4.2-2.7.source/gcc/libgcc2.c:1765: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://llvm.org/bugs/> for instructions. make[4]: *** [libgcc/./_powitf2.o] Error 1 make[4]: Leaving directory `/var/tmp/portage/sys-devel/llvm-gcc-2.7/work/llvm-gcc-4.2-2.7.source/obj/gcc' make[3]: *** [libgcc.a] Error 2 make[3]: Leaving directory `/var/tmp/portage/sys-devel/l
Fails to build on alpha: /var/tmp/portage/sys-devel/llvm-gcc-2.7/work/llvm-gcc-4.2-2.7.source/obj/./gcc/xgcc -B/var/tmp/portage/sys-devel/llvm-gcc-2.7/work/llvm-gcc-4.2-2.7.source/obj/./gcc/ -B/usr/lib/llvm-gcc-4.2-2.7/alpha-unknown-linux-gnu/bin/ -B/usr/lib/llvm-gcc-4.2-2.7/alpha-unknown-linux-gnu/lib/ -isystem /usr/lib/llvm-gcc-4.2-2.7/alpha-unknown-linux-gnu/include -isystem /usr/lib/llvm-gcc-4.2-2.7/alpha-unknown-linux-gnu/sys-include -O2 -O2 -mieee -pipe -O2 -mcpu=ev67 -mieee -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -mieee -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I/var/tmp/portage/sys-devel/llvm-gcc-2.7/work/llvm-gcc-4.2-2.7.source/gcc -I/var/tmp/portage/sys-devel/llvm-gcc-2.7/work/llvm-gcc-4.2-2.7.source/gcc/. -I/var/tmp/portage/sys-devel/llvm-gcc-2.7/work/llvm-gcc-4.2-2.7.source/gcc/../include -I/var/tmp/portage/sys-devel/llvm-gcc-2.7/work/llvm-gcc-4.2-2.7.source/gcc/../libcpp/include -I/var/tmp/portage/sys-devel/llvm-gcc-2.7/work/llvm-gcc-4.2-2.7.source/gcc/../libdecnumber -I../libdecnumber -I/usr/include -DL_gcov_execl -c /var/tmp/portage/sys-devel/llvm-gcc-2.7/work/llvm-gcc-4.2-2.7.source/gcc/libgcov.c -o libgcc/./_gcov_execl.o Bitcast operand must not be aggregate %4 = bitcast %struct.va_list %3 to i8*, !dbg !11 ; <i8*> [#uses=1] Instruction does not dominate all uses! %4 = bitcast %struct.va_list %3 to i8*, !dbg !11 ; <i8*> [#uses=1] call void @llvm.va_copy(i8* %aq2, i8* %4), !dbg !11 Broken module found, compilation aborted! /var/tmp/portage/sys-devel/llvm-gcc-2.7/work/llvm-gcc-4.2-2.7.source/gcc/libgcov.c: In function '__gcov_execl': /var/tmp/portage/sys-devel/llvm-gcc-2.7/work/llvm-gcc-4.2-2.7.source/gcc/libgcov.c:817: internal compiler error: Aborted Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://llvm.org/bugs/> for instructions. make[4]: *** [libgcc/./_gcov_execl.o] Error 1 make[4]: Leaving directory `/var/tmp/portage/sys-devel/llvm-gcc-2.7/work/llvm-gc
Created attachment 234215 [details] build log [hppa, fail]
(In reply to comment #7) > Fails to build on alpha: Although llvm-gcc fails to build, sys-devel/llvm-2.7 builds fine. And since the real reason for this bug report is to keyword llvm for use with Mesa's LLVMpipe driver, we can keyword sys-devel/llvm. (I'm working on llvm-gcc.)
Created attachment 253395 [details] Testsuite failures on ppc64 We get the following testsuite failures when building on ppc64.
No go for alpha/mips. use.mask'd ocaml on mips.
llvm 2.8-r2 builds successfully on SPARC, could keyword it for testing and for bug reports to go upstream.
llvm-gcc will be dropped upstream by next release (dragonegg and clang being cleaner alternatives), so let's drop it from the keywording request (mesa should only need llvm itself) Also, I just added llvm-2.9 to tree, with some arm fixes (and possibly others) chithanh, what is the status on needed keywords? Still aiming for these in original description?
It would be good to have it keyworded on all arches which have mesa keyworded. As that is probably not possible due to hppa, use.mask entries would have to be maintained anyway. So if one or more arches decides that they don't want llvm that is ok with me.
Just having LLVM isn't enough for Mesa, I don't think. The LLVM actually has to support JIT compiling, which isn't true for all architectures. [1] says that x86 (and amd64) and PPC are the only architectures with full JIT compilation support. And [2] says that even PPC JIT support doesn't work. Some research needs to be done before filing keyword requests for things like this. [1] http://llvm.org/docs/CodeGenerator.html#targetfeatures [2] http://stackoverflow.com/questions/5430336/llvm-jit-support-on-powerpc I'd say that Mesa's USE="llvm" needs to be masked for anything but x86 and amd64.
03 Aug 2011; Sergei Trofimovich <slyfox@gentoo.org> ppc64/package.use.mask: masked dev-lang/ghc[llvm]
03 Aug 2011; Sergei Trofimovich <slyfox@gentoo.org> sparc/package.use.mask: masked dev-lang/ghc[llvm]
~x86-fbsd done.
(In reply to comment #18) > ~x86-fbsd done.
Keyworded ~arm.
cc back ppc64 when 446900 is resolved.
@sparc: ping. interested in this?
ppc64 done
(In reply to Agostino Sarubbo from comment #21) > cc back ppc64 when 446900 is resolved. Should be solved (also would be nice to get this done as gnome-shell fallback mode relies on mesa[llvm] for llvmpipe)
ppc64 keywording was already done by ago on 13 October
No jit for sparc. No point in keywording it for mesa.