Abo
  • Services:
Anzeige
Der Compiler GCC verursachte einen Fehler in der Testversion des Linux-Kernels 3.16.
Der Compiler GCC verursachte einen Fehler in der Testversion des Linux-Kernels 3.16. (Bild: Ben Tubby/CC-BY 2.0)

Betriebssysteme: Fehler im Linux-Kernel wegen GCC

Ein Fehler hat Abstürze in einer Testversion des Linux-Kernels 3.16rc6 verursacht. Es handelte sich nicht um einen Programmierfehler der Kernel-Entwickler, sondern um einen Bug im Compiler GCC.

Anzeige

Ein Fehler in der GNU Compiler Collection hat für einen der berüchtigten Wutausbrüche von Linus Torvalds in der Mailingliste des Linux-Kernels gesorgt. Er führte dazu, dass die sechste Testversion des nächsten Linux-Kernels 3.16 sporadisch abstürzte. Der Bug in GCC ist bereits behoben. Allerdings könnten einige aktuelle Linux-Kernel noch fehlerhaft generierten Code enthalten.

Aufgefallen war der Fehler in einer Testversion des Linux-Kernels 3.16rc6, der mit GCC 4.9.0 kompiliert wurde. Der Entwickler berichtete von zufälligen Abstürzen der Funktion Load_Balance() im Scheduler des Kernels. Zunächst konnte das Problem nicht lokalisiert werden. Torvalds entdeckte die Ursache etwa eine Woche später. Der mit GCC 4.9.0 generierte Code enthielt einen Fehler, wodurch der Kernel auf Speicher in der sogenannten Red Zone zugreifen konnte.

Dieser 128 Bytes große Speicherbereich direkt unterhalb des Stapelzeigers kann von Anwendungen reserviert werden. Im Kernel ist das nicht der Fall, da Hardware spezielle Berechtigungen benötigt, um auf Stapelspeicher zuzugreifen. Daher wurde zumindest zeitweilig bei der Kompilierung des Kernels der Schalter -mno-red-zone verwendet, um das Red-Zoning abzuschalten. GCC ignorierte jedoch den Schalter in bestimmten Konfigurationen. Das führte dazu, dass Daten von anderen Interrupts in der Red Zone überschrieben werden konnten.

Nachdem Torvalds GCC 4.9.0 als "komplette Scheiße" bezeichnet hatte, begannen die sachliche Ursachenforschung und Fehlerbehebung. Es stellte sich heraus, dass der Fehler bereits behoben war, der Patch aber noch nicht in aktuelle Versionen von GCC umgesetzt wurde, auch nicht in Version 4.9.1. Er bestand wohl seit GCC 4.5, war aber bis dahin nicht aufgefallen. Erst durch Codeänderungen in GCC 4.9.0 trat er zum Vorschein. Die meisten Linux-Distributionen verwenden gegenwärtig GCC 4.8, um ihre Kernel zu kompilieren.


eye home zur Startseite
UNIXOID 29. Jul 2014

Eines ist ziemlich sicher, IHR werdet es nie verstehen... EUCH hat die Microsoft und...

sektion31 29. Jul 2014

Da Linus selbst für Linux kaum noch codet (ja lyncht mich ich sage und schreibe das so...

George99 28. Jul 2014

Lass mich raten: Studiengang Informatik für BWLer? :D *SCNR*

SelfEsteem 28. Jul 2014

Man sollte Phoronix imho anders lesen. Bei Phoronix erfaehrt man eigentlich nur, "dass...

Scorcher24 28. Jul 2014

... und ist wohl eine finnische Eigenart. Wusste das vorher auch nicht. http://www.reddit...



Anzeige

Stellenmarkt
  1. Computec Media GmbH, Fürth
  2. Karlsruher Institut für Technologie, Karlsruhe
  3. Hisense Europe Research & Development Center GmbH, Düsseldorf
  4. GIS Gesellschaft für InformationsSysteme AG, Hannover oder Hamburg (Home-Office möglich)


Anzeige
Spiele-Angebote
  1. 349,99€
  2. 44,99€
  3. 299,00€

Folgen Sie uns
       


  1. Gear S3 im Hands on

    Samsungs neue runde Smartwatch soll drei Tage lang laufen

  2. Geleakte Zugangsdaten

    Der Dropbox-Hack im Jahr 2012 ist wirklich passiert

  3. Forerunner 35

    Garmin zeigt Schnickschnack-freie Sportuhr

  4. Nahverkehr

    Hamburg und Berlin kaufen gemeinsam saubere Busse

  5. Zertifizierungsstelle

    Wosign stellt unberechtigtes Zertifikat für Github aus

  6. Logitech M330 und M220

    Silent-Mäuse für Lautstärkeempfindliche

  7. Virb Ultra 30

    Garmins neue Actionkamera reagiert auf Sprachkommandos

  8. Smart Home

    Bosch stellt neue Kameras und Multifunktionsrauchmelder vor

  9. Deepmind

    Googles KI soll Strahlentherapie bei Krebs optimieren

  10. Transformer Book 3 ausprobiert

    Asus' Surface dockt bei Spielern an



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
25 Jahre Linux: Besichtigungstour zu den skurrilsten Linux-Distributionen
25 Jahre Linux
Besichtigungstour zu den skurrilsten Linux-Distributionen
  1. Linux-Paketmanager RPM-Entwicklung verläuft chaotisch
  2. Exploits Treiber der Android-Hersteller verursachen Kernel-Lücken
  3. Hans de Goede Red-Hat-Entwickler soll Hybridgrafik unter Linux verbessern

Master of Orion im Kurztest: Geradlinig wie der Himmelsäquator
Master of Orion im Kurztest
Geradlinig wie der Himmelsäquator
  1. Inside im Test Großartiges Abenteuer mit kleinem Jungen
  2. Mighty No. 9 im Test Mittelmaß für 4 Millionen US-Dollar
  3. Warp Shift im Test Zauberhaftes Kistenschieben

Galaxy Note 7 im Test: Schaut dir in die Augen, Kleine/r/s!
Galaxy Note 7 im Test
Schaut dir in die Augen, Kleine/r/s!
  1. Samsung Display des Galaxy Note 7 ist offenbar nicht kratzfest
  2. PM1643 & PM1735 Samsung zeigt V-NAND v4 und drei Rekord-SSDs
  3. Gear IconX im Test Anderthalb Stunden Trainingsspaß

  1. Re: PC Specs: läuft erstaunlich gut

    HubertHans | 18:04

  2. Re: Das Problem ist... (Vorsicht Aufgabenstellung!)

    crazypsycho | 18:03

  3. Re: Neeeeeiiiinnnnn

    eXXogene | 17:58

  4. Das veröffentliche Dokument ist extrem manipulativ.

    Pjörn | 17:56

  5. Re: Wie bescheuert muss man eigentlich sein

    Hotohori | 17:55


  1. 18:00

  2. 17:59

  3. 17:13

  4. 16:45

  5. 16:05

  6. 15:48

  7. 15:34

  8. 14:40


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel