NetBSD-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Fully tested GCC 4.6.2 pkgsrc compiler, results for 9 platforms
It's probably not well known, but lang/gnat-aux exists to bring a modern Ada
compiler to the BSDs, SunOS and Android. It originally supported just C and
Ada (the two languages needed to build itself), but by request it now
supports C++, Objective-C, and Fortran (the latter two are only available on
gnat-aux-20111026, committed to pkgsrc-trunk today).
With the additional languages, it appears that lang/gcc46 and lang/gnat-aux
are converging. The difference is that lang/gnat-aux needs to be bootstrapped
in order to build Ada, which is one reason why Ada is not available on any of
the lang/gcc* packages. These bootstraps are hard to develop, and only 9 exist:
- i386 and x86_64 DragonFly
- i386 and x86_64 NetBSD
- i386 and x86_64 FreeBSD (used by FreeBSD ports, also builds gnatdroid)
- i386 and x86_64 OpenBSD (not used anywhere)
- i386 Solaris
lang/gcc46 needs to support many more architectures and can't be hindered by
bootstrapping, so these packages will have to coexist. lang/gcc46 doesn't
actually build on DragonFly, needs a lot of TLC to work, and only has a few
advantages over lang/gnat-aux (NLS, extra libraries like libssp, libmudflap,
etc).
In the process of determining the quality of lang/gnat-aux, I ran every
applicable testsuite on 9 platforms. I haven't seen GCC testsuite results on
NetBSD before, so I thought others might find the results interesting.
Results: http://leaf.dragonflybsd.org/~marino/results/gnataux_test_results.pdf
Some general observations with an emphasis on NetBSD:
1) All platforms have perfect Ada support
2) Somebody at NetBSD needs to look at Fortran. i386-netbsdelf5.1 has good
results,
but x86_64-netbsd5.1 has nearly 12,000 failures. On NetBSD5.99 *both*
platforms are
showing 12,000 failures. So i386 regressed and x86_64 was always broken.
I thought this was due to missing functions in NetBSD's libm, but the i386
results
destroy that theory. It could still be a gcc configuration issue, though.
3) Objective-C support on NetBSD is pretty good, but 5.99 is showing 3 failures
on both
arches that don't appear on other platforms. (same with 5.1, no regression)
4) NetBSD has the highest marks for C++, no immediate concerns there
5) NetBSD has the lowest marks for libstdc++-v3. Some of that is artificial,
dejagnu
doesn't have specific NetBSD directives, but there's a major regression on
x86_64-NetBSD5.99. There's over 2300 failures compared to 5 for
x86_64-NetBSD5.1.
Somebody should look at that.
6) NetBSD has the highest marks for the "C" testsuite, but also suffers from
several
unexpected successes.
The 5.99 tests came from recent work:
x86_64 was built on Jan 6 with DIRECT_MAP disabled, tested on real hardware
i386 came from Jan 7 snapshot, tested inside vbox
These tests should be easily reproducible. Just get lang/gnat-aux-20111026
from pkgsrc-trunk, turn on all the testsuite options which are disabled by
default, and build with "make test". The test results will be found in:
${WRKDIR}/build/gcc/testsuite/(ada|g++|gcc|gfortran|gnat|objc) and
${WRKDIR}/build/${TARGET}/libstdc++-v3/testsuite
The log files are called ${LANGUAGE}.sum and ${LANGUAGE}.log
It would be interesting to see the results from lang/gcc46 for comparison
purposes.
I hope these results are of interest!
John
Home |
Main Index |
Thread Index |
Old Index