Features 15.1

Wechseln zu: Navigation, Suche

openSUSE 15.1 – Leap

Die folgenden Seiten gehen auf einige Details zu den Neuerungen in dieser openSUSE Version ein. Zu viele Informationen? Schauen Sie sich stattdessen die Funktionshöhepunkte an.

Basis Betriebssystem

Linux Kernel

  • Leap 15.1 wird den Linux Kernel 4.12 verwenden. Grafikhardware, die vom 4.19er Linux Kernel unterstützt wird, wurde für die Veröffentlichung von Leap 15.1 zurückportiert. Leap 15.1 unterstützt mehr Grafiktreiber für die Grafik Prozessor Einheit (engl. Graphics Processing Unit (GPU) und eine bessere Unterstützung für AMD Vega Karten. Der Kernel wechselt zu CONFIG_PREEMPT_VOLUNTARY https://bugzilla.suse.com/show_bug.cgi?id=1125004

Eine Liste mit herausragenden Funktionen und komplizierten Details finden Sie auf kernelnewbies.org.

Hardware Unterstützung

Leap 15.1 arbeitet mit X86_64, und es können Einsatzszenarien für physische und virtuelle Systeme, Host- und Gastsysteme sowie Cloud Anwendungen ausgeführt werden. Portierungen auf andere Architekturen wie ARM64 und POWER werden von der Gemeinschaft zur Verfügung gestellt.

GNU Compiler Sammlung

Die GNU Compiler Collection 8 ist zusätzlich zum GCC 7 verfügbar.

Allgemeine Verbesserungen

  • Verbesserungen der interprozeduralen Optimierung:
    • Überarbeitete Laufzeitschätzungs Metriken, die zu realistischeren Schätzungen führen, die Inliner- und Klon Heuristiken steuern.
    • Der ipa-pure-const Pass wurde erweitert, um das Attribut malloc zu verbreiten, und die entsprechende Warnoption -Wsuggest-attribute=malloc gibt eine Diagnose für Funktionen aus, die mit dem malloc Attribut bezeichnet werden können.
  • Verbesserungen der profilgesteuerten Optimierung:
    • Neue Infrastruktur zur Darstellung von Profilen (sowohl statisch geschätzt als auch Profil Rückmeldungen), die die Verbreitung von zusätzlichen Informationen über die Zuverlässigkeit des Profils ermöglicht.
    • Eine Reihe von Verbesserungen im Profil Aktualisierungscode, die Probleme lösen, die durch den neuen Verifizierungscode gefunden wurden.
    • Statische Erkennung von Code, der bei einem gültigen Programmlauf nicht ausgeführt wird. Dazu gehören Pfade, die ein undefiniertes Verhalten auslösen, sowie Aufrufe von Funktionen, die mit dem Attribut cold deklariert sind. Neuerdings beinhaltet das noreturn-Attribut nicht alle Auswirkungen von cold, um zwischen exit (was noreturn ist) und abort (was zusätzlich nicht in gültigen Läufen ausgeführt wird) zu unterscheiden.
    • -freorder-blocks-and-partition, ein Lauf, der Funktionskörper in hot und cold Bereiche aufteilt, ist jetzt standardmäßig bei -O2 und höher für x86 und x86-64 aktiviert.
  • Verbesserungen bei der Verbindungszeitoptimierung:
    • Wir haben die Fehlerinformationen über ELF Ziele mit DWARF erheblich verbessert, indem wir die sprachspezifischen Informationen korrekt bewahrt haben. Dies ermöglicht es beispielsweise den libstdc++ Pretty-Druckern, mit LTO-optimierten ausführbaren Dateien zu arbeiten.
  • Eine neue Option -fcf-protection=[full|branch|return|none] wird eingeführt, um die Code Ausstattung zur Erhöhung der Programmsicherheit durchzuführen, indem geprüft wird, ob die Zieladressen von Kontrollfluss Transferbefehlen (wie z.B. indirekter Funktionsaufruf, Funktionsrückgabe, indirekter Sprung) gültig sind. Derzeit wird die Ausstattung nur auf x86 GNU/Linux Zielen unterstützt. Weitere Informationen über die Optionssyntax finden Sie im Benutzerhandbuch und im Abschnitt "Neue Ziele und zielspezifische Verbesserungen" für IA-32/x86-64.
  • Die Option -gcolumn-info ist jetzt standardmäßig aktiviert. Sie enthält zusätzlich zu den Dateinamen und Zeilennummern in den DWARF Fehlerinformationen auch Spalteninformationen.
  • Der polyederbasierte Schleifenverschachtelungs Optimierungsdurchlauf -floop-nest-optimize wurde überarbeitet. Er gilt immer noch als experimentell und führt möglicherweise nicht zu Laufzeitverbesserungen.
  • Zwei neue klassische Schleifenverschachtelungs Optimierungsdurchläufe wurden hinzugefügt. -floop-unroll-and-jam führt das Abwickeln der äußeren Schleife und die Verschmelzung der inneren Schleifenkopien durch. -floop-interchange tauscht Schleifen in einer Schleifenverschachtelung aus, um die Datenlokalisierung zu verbessern. Beide Durchläufe sind standardmäßig bei -O3 und darüber aktiviert.
  • Der klassische Schleifenverschachtelungs Optimierungsdurchlauf -ftree-loop-distribution wurde verbessert und ist standardmäßig bei -O3 und höher aktiviert. Sie unterstützt die Verteilung von Schleifenverschachtelung in einigen eingeschränkten Szenarien; sie unterstützt auch die aufhebbare innerste Schleifenverteilung mit Schleifenversionierung unter Laufzeit Aliasprüfungen.

Die neue Option -fstack-clash-protection veranlasst den Compiler, bei jeder statischen oder dynamischen Zuweisung von Stapelraum Sonden einzufügen, um Stapelüberläufe zuverlässig zu erkennen und so den Angriffsvektor zu mildern, der auf dem Überspringen einer Stapelschutzseite beruht, wie vom Betriebssystem bereitgestellt.

    • weitere Übersetzung erfolgt noch..