Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 320221

Summary: >=sys-devel/llvm-2.8 keywording request
Product: Gentoo Linux Reporter: Chí-Thanh Christopher Nguyễn <chithanh>
Component: New packagesAssignee: Bernard Cafarelli <voyageur>
Status: RESOLVED FIXED    
Severity: normal CC: mattst88, pacho, slyfox
Priority: High Keywords: KEYWORDREQ
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 317149, 362833, 446900, 487842    
Bug Blocks: 490930    
Attachments: build log [hppa, fail]
Testsuite failures on ppc64

Description Chí-Thanh Christopher Nguyễn gentoo-dev 2010-05-17 16:24:08 UTC
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.
Comment 1 Raúl Porcel (RETIRED) gentoo-dev 2010-05-30 18:09:49 UTC
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...
Comment 2 Chí-Thanh Christopher Nguyễn gentoo-dev 2010-05-30 18:24:32 UTC
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
Comment 3 Raúl Porcel (RETIRED) gentoo-dev 2010-05-31 05:12:38 UTC
And fails to configure on sh as well
Comment 4 Raúl Porcel (RETIRED) gentoo-dev 2010-06-01 18:42:01 UTC
Removing sh since it fails there too
Comment 5 Jeroen Roovers (RETIRED) gentoo-dev 2010-06-03 04:12:22 UTC
No go for HPPA either.
Comment 6 Raúl Porcel (RETIRED) gentoo-dev 2010-06-05 14:45:03 UTC
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
Comment 7 Raúl Porcel (RETIRED) gentoo-dev 2010-06-05 14:46:08 UTC
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
Comment 8 Jeroen Roovers (RETIRED) gentoo-dev 2010-06-05 17:04:03 UTC
Created attachment 234215 [details]
build log [hppa, fail]
Comment 9 Matt Turner gentoo-dev 2010-09-12 22:34:30 UTC
(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.)
Comment 10 Mark Loeser (RETIRED) gentoo-dev 2010-11-06 16:57:59 UTC
Created attachment 253395 [details]
Testsuite failures on ppc64

We get the following testsuite failures when building on ppc64.
Comment 11 Matt Turner gentoo-dev 2010-12-14 02:48:53 UTC
No go for alpha/mips. use.mask'd ocaml on mips.
Comment 12 Alex Buell 2011-02-19 00:04:51 UTC
llvm 2.8-r2 builds successfully on SPARC, could keyword it for testing and for bug reports to go upstream.
Comment 13 Bernard Cafarelli gentoo-dev 2011-04-07 09:36:11 UTC
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?
Comment 14 Chí-Thanh Christopher Nguyễn gentoo-dev 2011-04-07 15:18:05 UTC
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.
Comment 15 Matt Turner gentoo-dev 2011-04-07 15:47:04 UTC
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.
Comment 16 Sergei Trofimovich (RETIRED) gentoo-dev 2011-08-03 13:04:03 UTC
03 Aug 2011; Sergei Trofimovich <slyfox@gentoo.org> ppc64/package.use.mask:
masked dev-lang/ghc[llvm]
Comment 17 Sergei Trofimovich (RETIRED) gentoo-dev 2011-08-03 15:55:57 UTC
03 Aug 2011; Sergei Trofimovich <slyfox@gentoo.org> sparc/package.use.mask:
masked dev-lang/ghc[llvm]
Comment 18 Naohiro Aota gentoo-dev 2011-12-13 11:54:10 UTC
~x86-fbsd done.
Comment 19 Alexis Ballier gentoo-dev 2012-04-23 17:45:39 UTC
(In reply to comment #18)
> ~x86-fbsd done.
Comment 20 Chí-Thanh Christopher Nguyễn gentoo-dev 2012-06-02 09:59:04 UTC
Keyworded ~arm.
Comment 21 Agostino Sarubbo gentoo-dev 2012-12-17 16:05:08 UTC
cc back ppc64 when 446900 is resolved.
Comment 22 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2013-10-12 12:19:26 UTC
@sparc: ping. interested in this?
Comment 23 Agostino Sarubbo gentoo-dev 2013-10-13 07:56:08 UTC
ppc64 done
Comment 24 Pacho Ramos gentoo-dev 2013-11-10 13:11:49 UTC
(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)
Comment 25 Chí-Thanh Christopher Nguyễn gentoo-dev 2013-11-10 15:16:44 UTC
ppc64 keywording was already done by ago on 13 October
Comment 26 Matt Turner gentoo-dev 2014-02-01 05:57:32 UTC
No jit for sparc. No point in keywording it for mesa.