Compiler-Meldungen bei Broadcom Ethernet Treiber bcm4400
Hallo, hier ein weiteres Problem: Da mr bei der heutigen Installation von SuSE Linux 9.0 die Erkennung der Ethernet-Karte unter Yast als "Asustek A7V8X motherboard" spanisch vorkam (ich habe ein P4PE Board mit Broadcom Ethernet controller), installierte ich stattdessen das bcm4400 Source-RPM, das ich im Update-Verzeichnis (kernel/certified_by_suse/) am SuSE-FTP-Server "gefunden" hatte. Folgende Meldungen wurden beim Kompilieren schön bunt dargestellt: b44lm.c: In function `b44_LM_InitializeAdapter': b44lm.c:291: Warnung: dereferencing type-punned pointer will break strict-aliasing rules Im Archiv der SuSE-Programmier-Liste habe ich gelesen, dass sowas böse enden kann. Sollte man hier im Speziellen etwas gegen tun, oder kann ich die Meldungen getrost vergessen? Tschüs, Christian
Christian Schneider
b44lm.c: In function `b44_LM_InitializeAdapter': b44lm.c:291: Warnung: dereferencing type-punned pointer will break strict-aliasing rules
Im Archiv der SuSE-Programmier-Liste habe ich gelesen, dass sowas böse enden kann. Sollte man hier im Speziellen etwas gegen tun, oder kann ich die Meldungen getrost vergessen?
Auf keinen Fall kannst du sie getrost vergessen! Die Gefahr, dass der Compiler Code erzeugt, der nicht das tut, was der Programmierer eigentlich im Sinn hatte, ist dafür viel zu hoch. Entweder korrigierst du den Code an der Stelle oder aber du fügst den Compilerschaltern im Makefile ein -fno-strict-aliasing hinzu. Damit werden zwar einige Optimierungen nicht mehr vorgenommen, aber wenigstens funktioniert der Code wie gedacht. Philipp
participants (2)
-
Christian Schneider
-
Philipp Thomas