Re: [RFC] Replace Java with Go in default languages
> Right now Go does not build on a range of targets, notably including > Windows, MacOS, AIX, and most embedded systems. We would have to > disable it by default on targets that are not supported, which is > straightforward (we already have rules to disable java on targets it > does not support). But to the extent that there are options like > -fnon-call-exceptions that are tested primarily by Java and Go, we > would get less coverage of those options, since we would not test them > on systems that Java supports but Go does not. Let me make the case for Ada here: it's a general purpose, highly portable language, which is regularly built and tested on a significant range of platforms (I personally test it on x86/Linux, x86-64/Linux, PowerPC/Linux, IA-64/Linux, SPARC/Solaris and SPARC64/Solaris). It exercices some features of the compiler that aren't exercised by other languages and stretches some common features much more than the other languages. It turns out that it also enables -fnon-call-exceptions by default. It seamlessly works with LTO. While the fact that a big part of the front-end is written in Ada could be seen as an annoyance (although GNAT has been largely available for about a decade on many systems), it can also be seen a boon; for example, a LTO bootstrap with Ada enabled really exercises cross-language optimizations. Bootstrapping with Ada is marginally slower than with Go (a few percents) and the testsuite is small (4-way parallelizable, testing time of 6 minutes on a fast machine). > More seriously, the Go sources live in a separate repository, and are > copied to the GCC repo. In practice this means that when Go breaks, > it can't be fixed until I am online to fix it. I don't think it would > be good for GCC for a bootstrap break to depend on me. In contrast to that, the FSF repository is the master repository for GNAT and breakages can be quickly fixed by anyone with write access. -- Eric Botcazou
Re: [RFC] Replace Java with Go in default languages
If Java must go, and it must have a replacement Ada makes sense. The issues with Go (sadly, you guys are doing superb work) do make sense. I don't know enough about Java (the GCC front end and such) to know if it should go, if it does go why should it be replaced? Alec On 09/11/13 11:55, Eric Botcazou wrote: Right now Go does not build on a range of targets, notably including Windows, MacOS, AIX, and most embedded systems. We would have to disable it by default on targets that are not supported, which is straightforward (we already have rules to disable java on targets it does not support). But to the extent that there are options like -fnon-call-exceptions that are tested primarily by Java and Go, we would get less coverage of those options, since we would not test them on systems that Java supports but Go does not. Let me make the case for Ada here: it's a general purpose, highly portable language, which is regularly built and tested on a significant range of platforms (I personally test it on x86/Linux, x86-64/Linux, PowerPC/Linux, IA-64/Linux, SPARC/Solaris and SPARC64/Solaris). It exercices some features of the compiler that aren't exercised by other languages and stretches some common features much more than the other languages. It turns out that it also enables -fnon-call-exceptions by default. It seamlessly works with LTO. While the fact that a big part of the front-end is written in Ada could be seen as an annoyance (although GNAT has been largely available for about a decade on many systems), it can also be seen a boon; for example, a LTO bootstrap with Ada enabled really exercises cross-language optimizations. Bootstrapping with Ada is marginally slower than with Go (a few percents) and the testsuite is small (4-way parallelizable, testing time of 6 minutes on a fast machine). More seriously, the Go sources live in a separate repository, and are copied to the GCC repo. In practice this means that when Go breaks, it can't be fixed until I am online to fix it. I don't think it would be good for GCC for a bootstrap break to depend on me. In contrast to that, the FSF repository is the master repository for GNAT and breakages can be quickly fixed by anyone with write access.
Re: [RFC] Replace Java with Go in default languages
On 11/09/2013 03:44 PM, Alec Teal wrote: > If Java must go, and it must have a replacement Ada makes sense. The > issues with Go (sadly, you guys are doing superb work) do make sense. > > I don't know enough about Java (the GCC front end and such) to know if > it should go, if it does go why should it be replaced? It always was very useful for detecting bugs in GCC: the code flow tends to trigger bugs that don't get detected by the usual GCC testsuites. Andrew.
Bootstrap broken on x86_64 Linux?
Trying to build trunk rev. 204619 with --enable-languages=c,c++,fortran on x86_64-unknown-linux-gnu, I get a build error in stage1-target-libsanitizer: > ../../../../trunk/libsanitizer/sanitizer_common/sanitizer_linux.cc: Assembler > messages: > ../../../../trunk/libsanitizer/sanitizer_common/sanitizer_linux.cc:821: > Error: .cfi_endproc without corresponding .cfi_startproc > :21806: Error: open CFI at the end of file; missing .cfi_endproc directive I’m building with binutils 2.17.50.0.6, which is a bit old but I cannot find any mention of needing later binutils on the installation notes. Is bootstrap broken, or am I missing something? FX
Re: Bootstrap broken on x86_64 Linux?
> I’m building with binutils 2.17.50.0.6, which is a bit old but I cannot find > any mention of needing later binutils on the installation notes. > Is bootstrap broken, or am I missing something? Second build, this time with trunk binutils. Still fails in libsanitizer at stage1, this time with: > ../../../../trunk/libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cc:25:30: > fatal error: linux/perf_event.h: No such file or directory I run a Linux 2.6.18, with kernel headers installed. Are there stricter requirements on the linux version in GCC? Where is it documented? I don’t remember that bootstraping used to be so hard :( Thanks for any help, FX