Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index International Gentoo Users Deutsches Forum (German) Diskussionsforum
  • Search

Alternativen zum aktuellen gcc.

Unterhaltung über Gentoo und andere Themen: Alles was nicht in ein Support-Forum gehört.
Post Reply
  • Print view
Advanced search
104 posts
  • Previous
  • 1
  • 2
  • 3
  • 4
  • 5
  • Next
Author
Message
Klaus Meier
Advocate
Advocate
User avatar
Posts: 2908
Joined: Mon Apr 18, 2005 8:08 pm
Location: Bozen

  • Quote

Post by Klaus Meier » Sat Dec 05, 2015 8:46 am

Neue Erkenntnisse: Ich bin inzwischen auf gcc:5 umgestiegen. Und Clang bringt eigentlich gar nichts. Kompilierte so zwischen 5 und 10% schneller, der erzeugte Code ist langsamer, manchmal etwas kleiner aber oft auch deutlich größer als beim gcc.

Nun aber: Habe mal wieder den firefox ausprobiert. Ist bei mir ständig gecrasht. Sowohl unter KDE als auch Gnome. Jedenfalls, wenn ich ihn mit dem gcc kompiliert habe. Mit dem Clang kein Problem. Dieses Problem wurde dann aber auch durch ein Rebuild des Systems behoben.

Ok, unter KDE crasht bei mir der Dolpin auch ständig. Sowohl mit gcc:4 als auch gcc:5. Und jetzt habe ich ihn mal mit dem Clang kompiliert. Bislang noch kein Absturz.
Top
mv
Watchman
Watchman
User avatar
Posts: 6795
Joined: Wed Apr 20, 2005 12:12 pm

  • Quote

Post by mv » Sun Dec 06, 2015 8:56 am

firefox[system-cairo] stürzt bekanntermaßen ab - ev. nur mit gcc:5?
Das liegt anscheinend an irgendwelchen Patches, die Firefox dem gebündelten cairo verpasst hat; niemand weiß Genaues nix.

Die Bugfix-Release gcc-5.3.0 ist inzwischen offiziell draußen, aber anscheinend noch nicht in Gentoo. Vielleicht bringt die auch etwas.
Top
schmidicom
Advocate
Advocate
User avatar
Posts: 2013
Joined: Thu Mar 09, 2006 5:56 pm
Location: Schweiz

  • Quote

Post by schmidicom » Sun Dec 06, 2015 9:07 am

mv wrote:Das liegt anscheinend an irgendwelchen Patches, die Firefox dem gebündelten cairo verpasst hat; niemand weiß Genaues nix.
Und sowas von einer Organisation welche sich angeblich so sehr für OpenSource interessiert.
Lenovo - ThinkPad P16s Gen 2 - 21K9CTO1WW
Top
Klaus Meier
Advocate
Advocate
User avatar
Posts: 2908
Joined: Mon Apr 18, 2005 8:08 pm
Location: Bozen

  • Quote

Post by Klaus Meier » Sun Dec 06, 2015 10:18 am

Also, irgendwas muss sich wohl beim Firefox geändert haben. Aktuell läuft er ohne Probleme. Ich nutze aber lieber Chrome, deshalb kann ich da nichts mehr zu sagen.

Das Dolphin mit Clang besser funktionier nehme ich zurück. Aktuell stürzt er auch mit gcc übersetzt nicht mehr ab. Man braucht wohl heftige Rebuilds. Und der gcc-5.3 wird gerade geladen.
Top
Yamakuzure
Advocate
Advocate
User avatar
Posts: 2323
Joined: Wed Jun 21, 2006 11:06 am
Location: Adendorf, Germany
Contact:
Contact Yamakuzure
Website

  • Quote

Post by Yamakuzure » Mon Dec 07, 2015 2:13 pm

mv wrote:firefox[system-cairo] stürzt bekanntermaßen ab - ev. nur mit gcc:5?
Oh? Dann baue ich den mal neu... Abstürze sind zwar sehr selten, habe aber alle system-* USE Flags aktiviert und es ist nervig. Vor Allem sind die Abstürze absolut garnicht reproduzierbar.
Edited 220,176 times by Yamakuzure
Top
Yamakuzure
Advocate
Advocate
User avatar
Posts: 2323
Joined: Wed Jun 21, 2006 11:06 am
Location: Adendorf, Germany
Contact:
Contact Yamakuzure
Website

  • Quote

Post by Yamakuzure » Mon Dec 07, 2015 2:33 pm

Klaus Meier wrote:Und der gcc-5.3 wird gerade geladen.
Ist das wirklich nur ein Bugfix-release oder muss wieder das gesamte System neu gebaut werden?
Edited 220,176 times by Yamakuzure
Top
mv
Watchman
Watchman
User avatar
Posts: 6795
Joined: Wed Apr 20, 2005 12:12 pm

  • Quote

Post by mv » Mon Dec 07, 2015 2:38 pm

Yamakuzure wrote:Vor Allem sind die Abstürze absolut garnicht reproduzierbar.
Ja, genau: Irgendwann - selbst wenn man gar nichts macht - kommt auf einmal ein segfault.
Auf Klaus Maiers Bemerkung hni habe ich jetzt allerdings firefox-42.0-r3 mit gcc-5.3.0 neu gebaut, und derzeit trat das Problem nicht mehr auf - ist allerdings noch nicht allzu lange getestet. Es gibt jetzt auch eine neue USE-dependency cairo[xcb] (mein vorheriges cairo war mit -xcb gebaut), aber das alleine ist sicher nicht der Grund: Ich hatte zunächst emerge -O firefox ausgeführt, ohne cairo neu zu bauen, und auch da schien das Problem schon nicht mehr zu bestehen.
Top
mv
Watchman
Watchman
User avatar
Posts: 6795
Joined: Wed Apr 20, 2005 12:12 pm

  • Quote

Post by mv » Mon Dec 07, 2015 2:43 pm

Yamakuzure wrote:
Klaus Meier wrote:Und der gcc-5.3 wird gerade geladen.
Ist das wirklich nur ein Bugfix-release oder muss wieder das gesamte System neu gebaut werden?
Nur Bugfix. Das ist das neue gcc-Versionsschema: Das entspricht früher einem Umstieg von 4.x.öbbes auf 4.x.öbbes+1. Der nächste Compiler mit ev. ABI/API-Änderungen wird gcc-6.* sein.
Top
Yamakuzure
Advocate
Advocate
User avatar
Posts: 2323
Joined: Wed Jun 21, 2006 11:06 am
Location: Adendorf, Germany
Contact:
Contact Yamakuzure
Website

  • Quote

Post by Yamakuzure » Mon Dec 07, 2015 3:36 pm

Vielen Dank!

Nach Jahren (!!!) habe ich mir mal die Mühe gemacht, https://wiki.gentoo.org/wiki/Upgrading_GCC zu lesen, und das ist ja wirklich nett: Nur libtool muss neu gebaut werden, sonst nix. :)
Edited 220,176 times by Yamakuzure
Top
Klaus Meier
Advocate
Advocate
User avatar
Posts: 2908
Joined: Mon Apr 18, 2005 8:08 pm
Location: Bozen

  • Quote

Post by Klaus Meier » Tue Dec 08, 2015 11:30 am

gcc-5.3 ist nur ein Bugfix von 5.2. Und das mit dem System neu bauen ist ja sehr selten. Trat halt beim Wechsel von 4 zu 5 auf. Es ist nicht gesagt, dass beim Wechsel von 5 zu 6 das Gleiche noch mal passiert. Aktuell läuft der Firefox bei mir wieder bombenstabil.
Top
Klaus Meier
Advocate
Advocate
User avatar
Posts: 2908
Joined: Mon Apr 18, 2005 8:08 pm
Location: Bozen

  • Quote

Post by Klaus Meier » Tue Dec 22, 2015 4:31 pm

Eventuell wird der Clang doch noch interessant. Nachdem ich folgendes gelesen habe:
http://www.phoronix.com/scan.php?page=a ... lers&num=1
habe ich dann etwas gesucht und bin auf folgendes gestoßen:
https://www.reddit.com/r/Gentoo/comment ... llvmclang/

Da geht es ja auch genau darum, was mich damals bewogen hat, meine Tests einzustellen: Es gibt Anwendungen, die lassen sich übersetzen, stürzen dann aber ab. Und da ist der Zusammenhang ja nicht immer offensichtlich. Und aktuell habe ich bei mir nicht so große Unterschiede beim Kompilieren wie in dem Artikel. Eher so 10% besser. Und die Performance ist durch die Bank schlechter. Aber da gibt es jetzt ein paar aktuelle Hinweise, was so alles zur Laufzeit nicht funktioniert. Und wenn ich mir jetzt so die Werte vom Clang 3.8 anschaue, dann sollte man sich das doch mal anschauen.

Edit: Erste Versuche sahen gar nicht so schlecht aus, aber Clang als Systemkompiler funktioniert zusammen mit dem gcc-5 absolut nicht. Gibt nur Linkfehler.
Top
Klaus Meier
Advocate
Advocate
User avatar
Posts: 2908
Joined: Mon Apr 18, 2005 8:08 pm
Location: Bozen

  • Quote

Post by Klaus Meier » Wed Jan 06, 2016 4:25 pm

Zu meinem Problem habe ich etwas gefunden: https://bugs.launchpad.net/ubuntu/+sour ... ug/1488254
Und nun ist ja llvm 3.7.1 raus, welcher nun nicht mehr kompatibel mit 3.7.0 ist. http://www.phoronix.com/scan.php?page=n ... 1-Released

Weiß jemand etwas, wie es da mit der Kompatibilität in Bezug auf denn gcc-5 aussieht?
Top
franzf
Advocate
Advocate
User avatar
Posts: 4565
Joined: Tue Mar 29, 2005 9:06 am

  • Quote

Post by franzf » Fri Jan 08, 2016 8:02 am

Klaus Meier wrote:Weiß jemand etwas, wie es da mit der Kompatibilität in Bezug auf denn gcc-5 aussieht?
Bezüglich C++ gaaaanz düster...
https://llvm.org/bugs/show_bug.cgi?id=23529
Top
Klaus Meier
Advocate
Advocate
User avatar
Posts: 2908
Joined: Mon Apr 18, 2005 8:08 pm
Location: Bozen

  • Quote

Post by Klaus Meier » Sat Jan 09, 2016 1:00 pm

Nun ja, so trübe sehe ich das nicht. Das Problem ist ja erkannt und es wird an einer Lösung gearbeitet.

Aber es macht mir den gcc doch nicht gerade sympathischer. Der gcc-5 ist ja nun für Testing der gegebene Compiler. Und es ist ja nicht nur so, dass es Probleme mit Clang gibt, die gleiche Situation ist ja auch in Bezug auf den gcc-4 gegeben.

Das ist wirklich eine Situation, wo man verstehen kann, warum einige vom gcc zu clang wechseln.

Wie gesagt, ich hatte da einiges mit clang-3.7.0 als Compiler übersetzt. Und die Binaries waren immer kleiner und die Performance mindestens gleichwertig. Aber dann kamen die Probleme beim Linken.
Top
Yamakuzure
Advocate
Advocate
User avatar
Posts: 2323
Joined: Wed Jun 21, 2006 11:06 am
Location: Adendorf, Germany
Contact:
Contact Yamakuzure
Website

  • Quote

Post by Yamakuzure » Thu Jan 14, 2016 8:32 am

Wenn ich die Beschreibung richtig verstehe, dann ist "abi_tag" genau dafür da, für mehr Kompatibilität zu sorgen, wenn es ABI-Änderungen gibt. Man kann dann Funktionen, Variablen und Klassendefinitionen belassen, und per abi_tag einfach neue Varianten hinzufügen, so dass das eigene Produkt zur vorherigen ABI-Version kompatibel bleibt.
Dass andere Compiler dann ersteinmal Unterstützung hierfür einbauen müssen, ist ja klar.
Edited 220,176 times by Yamakuzure
Top
Klaus Meier
Advocate
Advocate
User avatar
Posts: 2908
Joined: Mon Apr 18, 2005 8:08 pm
Location: Bozen

  • Quote

Post by Klaus Meier » Thu Jan 14, 2016 9:35 am

Yamakuzure wrote:Wenn ich die Beschreibung richtig verstehe, dann ist "abi_tag" genau dafür da, für mehr Kompatibilität zu sorgen, wenn es ABI-Änderungen gibt. Man kann dann Funktionen, Variablen und Klassendefinitionen belassen, und per abi_tag einfach neue Varianten hinzufügen, so dass das eigene Produkt zur vorherigen ABI-Version kompatibel bleibt.
Dass andere Compiler dann ersteinmal Unterstützung hierfür einbauen müssen, ist ja klar.
Das Problem bei der Art der Implementation ist aber, dass damit ein Mischbetrieb gcc-4 und gcc-5 genauso verhindert wird. Mit anderen Worten, wenn man einmal das Update zum gcc-5 gemacht hat, was ja auch mit genug Stress verbunden ist und welcher inzwischen bei Testing aktuell ist, dann ist gar nichts anderes als der gcc-5 mehr möglich.

Ein System zu schaffen, was für mehr Kompatibilität sorgen soll, welches zur Folge hat, dass man zu allem anderen inkompatibel ist, ist für mich eine suboptimale Lösung.

Ich werde mal ein Testsystem mit maskiertem gcc-5 aufsetzen und sehen, was dann passiert. So langsam wird der gcc für mich wie der IE6 und llvm wie Firefox :roll: :roll: :roll:
Es gibt nun mal Standards und an die sollte man sich halten. Ok, dass kann man dem gcc nicht vorwerfen. Aber zum Standard inkompatible Erweiterungen einzubauen, das ist eigentlich die Spezialität von Microsoft.

Um das mal ganz direkt aus der Sicht des Anwenders (nicht des Entwicklers) zu sagen: Der gcc-5 bringt mir keine Vorteile. Der erzeugte Code ist, von einigen Ausnahmen abgesehen, weder schneller noch kleiner als beim gcc-4. Für die Kompilierzeiten gilt das Gleiche. Das Teil macht nur Stress.

Natürlich kann man das als Entwickler anders sehen und ich kann das ja auch nachvollziehen. Aber die Umsetzung ist genauso wie Microsoft es damals mit dem IE gemacht. Von oben herab mit der Arroganz des Monopolisten. Und das ist für mich die Motivation, davon unabhängig zu werden.
Top
schmidicom
Advocate
Advocate
User avatar
Posts: 2013
Joined: Thu Mar 09, 2006 5:56 pm
Location: Schweiz

  • Quote

Post by schmidicom » Thu Jan 14, 2016 10:31 am

@Klaus Meier
Manchmal muss man eben einfach mit der Kompatibilität brechen und so häufig kommt das beim GCC ja nun wirklich nicht vor, oder?
Auch vermute ich das möglichen Optimierungen welche eventuell seit GCC 5.0 existieren sich erst im Userland niederschlagen werden wenn die Devs der jeweiligen Programme diese Möglichkeiten auch anfangen zu nutzen.
Last edited by schmidicom on Fri Jan 15, 2016 5:54 pm, edited 1 time in total.
Lenovo - ThinkPad P16s Gen 2 - 21K9CTO1WW
Top
mv
Watchman
Watchman
User avatar
Posts: 6795
Joined: Wed Apr 20, 2005 12:12 pm

  • Quote

Post by mv » Fri Jan 15, 2016 5:51 pm

schmidicom wrote:wenn die Devs der jeweiligen Programme diese Möglichkeiten auch anfangen zu nutzen.
"Optimierungen" pauschal benötigen keine Kooperation des Programms - die passieren automatisch beim Übersetzen.
Vielleicht meinst Du spezielle neue Features, die Optimierungsmöglichkeitne bieten. Gibt es da etwas Wichiges beim gcc-5?
Top
schmidicom
Advocate
Advocate
User avatar
Posts: 2013
Joined: Thu Mar 09, 2006 5:56 pm
Location: Schweiz

  • Quote

Post by schmidicom » Fri Jan 15, 2016 5:56 pm

mv wrote:
schmidicom wrote:wenn die Devs der jeweiligen Programme diese Möglichkeiten auch anfangen zu nutzen.
"Optimierungen" pauschal benötigen keine Kooperation des Programms - die passieren automatisch beim Übersetzen.
Vielleicht meinst Du spezielle neue Features, die Optimierungsmöglichkeitne bieten. Gibt es da etwas Wichiges beim gcc-5?
Ich habe mich etwas unglücklich ausgedrückt, das mit den Optimierungen ist eigentlich nur eine Vermutung den grundlos werden die Devs vom GCC sicher nicht mit der Kompatibilität gebrochen haben.
Lenovo - ThinkPad P16s Gen 2 - 21K9CTO1WW
Top
mv
Watchman
Watchman
User avatar
Posts: 6795
Joined: Wed Apr 20, 2005 12:12 pm

  • Quote

Post by mv » Fri Jan 15, 2016 5:58 pm

Klaus Meier wrote:Ein System zu schaffen, was für mehr Kompatibilität sorgen soll, welches zur Folge hat, dass man zu allem anderen inkompatibel ist, ist für mich eine suboptimale Lösung.
In 2-3 Jahren wirst Du das anders sehen: Das macht zwar jetzt einmalig beim Upgrade Bauchschmerzen, sorgt aber dafür, dass man den Krampf, den man jetzt beim gcc-5-Upgrade hatte und der in einigen Grenzfällen auch schon bei einigen gcc-4-Versionen auftrat (wir hatten halt nur Glück, dass die ABI bislang keine wesntlichen Upgrades erfahren hat), in Zukunft nicht mehr auftretten wird.
Top
Klaus Meier
Advocate
Advocate
User avatar
Posts: 2908
Joined: Mon Apr 18, 2005 8:08 pm
Location: Bozen

  • Quote

Post by Klaus Meier » Sat Jan 16, 2016 2:19 pm

gcc 4.9.3 in Kombination mit clang 3.7.1 funktioniert auch nicht. Auch wenn in dem von mir weiter oben von mir verlinkten Artikel jemand schreibt, dass er den clang als Systemcompiler mit einer Ausnahmeliste einsetzt, nein, bei mir funktioniert das nicht.

Kann man wirklich zusammenfassen: Aktuell gibt es keine Alternative zum gcc. Na dann bin ich mal gespannt, ob das in drei Jahren anders aussieht.
Top
schmidicom
Advocate
Advocate
User avatar
Posts: 2013
Joined: Thu Mar 09, 2006 5:56 pm
Location: Schweiz

  • Quote

Post by schmidicom » Thu Jan 28, 2016 2:14 pm

Weil es gerade so schön dazu passt: GCC6 unterstützt AMDs HSA
Irgendwie finde ich es ja schon witzig, GCC 5 ist noch nicht einmal bei allen Distributionen angekommen und die reden schon von GCC 6. ;)
Und im Bezug auf dieses neue Flag will ich mal hoffen das Programme welche damit gebaut wurden auch noch auf einem System ohne HSA laufen denn sonst könnte die Verteilung von vorkompilierten Paketen "interessant" werden.
Lenovo - ThinkPad P16s Gen 2 - 21K9CTO1WW
Top
Yamakuzure
Advocate
Advocate
User avatar
Posts: 2323
Joined: Wed Jun 21, 2006 11:06 am
Location: Adendorf, Germany
Contact:
Contact Yamakuzure
Website

  • Quote

Post by Yamakuzure » Mon Feb 01, 2016 10:13 am

Also ich glaube nicht, dass "--with-hsa-runtime" irgendetwas mit der Verteilung vorkompilierter Pakete zu tun hat. Es kommt ja auch niemand auf die Idee, vorkompilierte Pakete mit "-march=native" zu kompilieren.

Interessant ist so ein Schalter ja nur für User, die a) so ein System haben, und b) sich ihre Pakete selber bauen.
Edited 220,176 times by Yamakuzure
Top
mv
Watchman
Watchman
User avatar
Posts: 6795
Joined: Wed Apr 20, 2005 12:12 pm

  • Quote

Post by mv » Mon Feb 01, 2016 10:25 am

Yamakuzure wrote:Interessant ist so ein Schalter ja nur für User, die a) so ein System haben, und b) sich ihre Pakete selber bauen.
Nicht unbedingt. Wenn das wirklich so wahnsinnig effizient ist, könnten Binärdistributionen dafür eine neue Architektur (neben x86, amd64) aufmachen.
Wenn sie es nicht tun, kann es sein, dass source-basierte Distributionen wie Gentoo mal wieder einen Ansturm der "OMG, I'm so fast --break-everything"-Fraktion erleben.
Top
py-ro
Veteran
Veteran
User avatar
Posts: 1734
Joined: Tue Sep 24, 2002 11:55 am
Location: Velbert
Contact:
Contact py-ro
Website

  • Quote

Post by py-ro » Mon Feb 01, 2016 11:36 am

Der Switch funktioniert auf allen Systemen, im Zweifel werden die Binarys nur nutzlos größer. Das ist ja das schöne am HSA, die Binarys sind so angelegt, dass Sie "überall" laufen können.
Top
Post Reply
  • Print view

104 posts
  • Previous
  • 1
  • 2
  • 3
  • 4
  • 5
  • Next

Return to “Diskussionsforum”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic