ports mit clang auf FreeBSD 9-Stable

metro

i² = -1
Ich will auf einem 9-Stable System clang für ports einsetzen.
z.Zt. fahre ich kein current System, wo das jetzt schon von Hause aus so ist.
Da noch nicht alle ports mit clang bauen, und daher einige Holperer zu erwarten sind, meine Frage:
Hat oder kennt jemand eine Liste von ports (aus current oder stable), die nicht mit clang bauen ?
(ausgenommen https://wiki.freebsd.org/PortsAndClang, die Links nach pointyhat sind kaputt )
 
Zuletzt bearbeitet:
Müsste ich mal wieder überprüfen.
Code:
	# Don't force clang.
	*/audio/ladspa		{!FORCE_CLANG}
	*/audio/libtunepimp	{!FORCE_CLANG}
	*/audio/penguinsap	{!FORCE_CLANG}
	*/converters/tnef	{!FORCE_CLANG}
	*/databases/mysql51-*	{!FORCE_CLANG}
	*/devel/avr-binutils	{!FORCE_CLANG}
	*/devel/icu		{!FORCE_CLANG}
	*/devel/subversion	{!FORCE_CLANG}
	*/emulators/dosbox		{!FORCE_CLANG}
	*/emulators/virtualbox-ose*	{!FORCE_CLANG}
	*/games/gtkradiant	{!FORCE_CLANG}
	*/games/openttd		{!FORCE_CLANG}
	*/graphics/gimp-app	{!FORCE_CLANG}
	*/graphics/graphite2	{!FORCE_CLANG}
	#*/graphics/evas-core	{!FORCE_CLANG}
	*/graphics/imlib	{!FORCE_CLANG}
	*/graphics/inkscape	{!FORCE_CLANG}
	*/graphics/libwpg	{!FORCE_CLANG}
	*/graphics/netpbm	{!FORCE_CLANG}
	*/graphics/opencv*	{!FORCE_CLANG}
	*/graphics/openshadinglanguage	{!FORCE_CLANG}
	*/graphics/podofo	{!FORCE_CLANG}
	*/graphics/vigra	{!FORCE_CLANG}
	*/lang/ruby18		{!FORCE_CLANG}
	*/mail/*thunderbird	{!FORCE_CLANG}
	*/multimedia/gstreamer-ffmpeg	{!FORCE_CLANG}
	*/multimedia/kdemultimedia4	{!FORCE_CLANG}
	*/multimedia/mjpegtools	{!FORCE_CLANG}
	*/multimedia/mlt	{!FORCE_CLANG}
	*/net/libcmis		{!FORCE_CLANG}
	*/net/socat		{!FORCE_CLANG}
	*/net-p2p/libtorrent	{!FORCE_CLANG}
	*/net-p2p/rtorrent	{!FORCE_CLANG}
	*/palm/jpilot		{!FORCE_CLANG}
	*/print/freetype2	{!FORCE_CLANG}
	*/science/paraview	{!FORCE_CLANG}
	*/security/openvpn	{!FORCE_CLANG}
	*/sysutils/fusefs-*	{!FORCE_CLANG} # Needs testing
	*/textproc/libexttextcat	{!FORCE_CLANG}
	*/textproc/libwps	{!FORCE_CLANG}
	*/www/libxul		{!FORCE_CLANG}
	*/x11/kdelibs4		{!FORCE_CLANG}
 
Vielen Dank.
Einige aus der Liste haben hier erfolgreich mit clang gebaut, aber sind nicht installiert, also sagt das noch nichts über die Gebrauchsfähigkeit.
 
Firefox baut inzwischen mit Clang ich vermute da werden dann demnächst auch Libxul und Thunderbird nachziehen. Ich warte aber noch, bis die auf dem gleichen Versionsstand sind wie Firefox jetzt ist.

Ich habe gerade mal meinen eigenen C++ Code mit GCC 4.7 getestet und ich muss zugeben, dass der Performancevorsprung von Clang da nur noch marginal ist. Der GCC 4.7 Code brauchte weniger als 1% länger. Das Ergebnis war stabil, die Streuung ist da überraschend klein. Der GCC 4.2 bewegt sich noch im Rahmen von 6-8% mehr Laufzeit. Das war mal deutlich mehr. Aber seit dem letzten Versuch habe ich halt ordentlich an den Algorithmen gefeilt, da fällt der Compiler einfach nicht mehr so ins Gewicht.
 
Meinst du Performance in der Kompilierzeit oder in der Qualität des generierten Maschinecodes und dessen Performance ? Bisher laufen alle ( allerdings gefühlt, nicht gebenchmarked) mit clang generierten binaries deutlich schneller und irgendwie (wieder gefühlt) stabiler als zuvor mit gcc(4.2)
Ist ziemlich cool ;) .
Ich lass das demnächst mal durchlaufen.

Was clang bisher erfolgreich (CFLAGS+=-mssse3 und sonst nix in make.conf) baute:
firefox
libxul
virtualbox-ose
ffmpeg
webkit-gtk2
Image-Magick
 
Meinst du Performance in der Kompilierzeit oder in der Qualität des generierten Maschinecodes und dessen Performance ?
Ich rede vom generierten Code.

Bisher laufen alle ( allerdings gefühlt, nicht gebenchmarked) mit clang generierten binaries deutlich schneller und irgendwie (wieder gefühlt) stabiler als zuvor mit gcc(4.2)
Ist ziemlich cool ;) .
Ich lass das demnächst mal durchlaufen.
Uuuuh. Algorithmus > Compiler. Kurz gesagt halte ich solche subjektiven Wahrnehmungen, wenn sie nicht Ausdruck eines besonders schlimmen Bottlenecks sind, für reine Einbildung.

Was clang bisher erfolgreich (CFLAGS+=-mssse3 und sonst nix in make.conf) baute:
firefox
libxul
virtualbox-ose
ffmpeg
webkit-gtk2
Image-Magick
Disqualifiziere Dich doch nicht. -mssse3? Messe lieber mal bevor du solche Dinge tust.

Ich habe solche Dinge auch mal getan. Gemessen. Gelassen.
 
ave, disqualificadis te salutant ;)

der Job war ja erstmal: schaue-welche-ports-auf-9-mit clang-bauen.
Dann kommt benchmark-peformanceunterschiede-zwischen-[...]

Übrigens: -mssse3
Nicht gemessen. Gelassen. Gut. :)
 
Setze einfach CPUTYPE, der Rest macht der Compiler von alleine.

Bei Code den ich schreibe bringen auch so Späße wie -O3 in der Regel nichts. Wenn man Glück hat bleibt der Durchsatz gleich, aber tendenziell würde ich eher sagen es wird mit -O3 langsamer.
 
Bisher läuft fast alles durch, nur übliche poetterisierte Verdächtige (boost-* ) weigern sich. Nächster Kandidat ist gcc4.6, ich erwarte eigentluich, dass der sich für clang verweigert.
Allerdings,nachdem cups-* ghostscript9 und gutenprint* 'clangisiert' wurden und korrekt installiert sind, weigert sich der Drucker mit den zuvor einwandfrei funktionierenden cups zusammenzuarbeiten. Er tut, ähnlich wie in einem anderen thread, einfach nix. Gar nix. :(

Alle wieder zurück mit system cc und cupsd restart spuckt der Drucker dann sofort die zuvor verweigerten Testseiten alle auf einmal aus. :confused: Keine Lust auf debugging.
 
Boost bauen wurde seinerzeit bei LLVM/Clang als großer Milestone gefeirt. Das sollte eigentlich gehen.
 
Zurück
Oben