Hallo, Wenn ich GCC verschiedene Flags mitgebe, wie zum Beispiel "-Os", dann führt dies intern oftmals zu weiteren Flags, die damit implizit gesetzt werden. Gibt es eine Möglichkeit zu sehen, welche Flags (also explizit und implizit) letztlich Anwendung bei der Kompilierung einer C-Quellcode-Datei finden? Wird diese Information beispielsweise in temporären Daten gesichert, die mit "-save-temps" erhalten werden könnten? Michael
-save-temps -fverbose-asm IIRC auch -v -Q, aber manche Flags werden da verwirrend angezeigt (z.B. welche die mit -1 initialisiert sind).
Johann L. schrieb: > -save-temps -fverbose-asm Das führt bei mir seltsamerweise dazu, dass das Binary größer wird?! Was kann das denn sein? Johann L. schrieb: > IIRC auch -v -Q, aber manche Flags werden da verwirrend angezeigt (z.B. > welche die mit -1 initialisiert sind). Ganz herzlichen Dank, das habe ich gesucht! Ich bin nämlich einem komischen Fehler in meinem Code auf der Spur, der nur bei bestimmten Optimierungseinstellungen auftritt. Anhand der Flags habe ich die Hoffnung die Stelle im Code eingrenzen zu können, wenn ich das Listing vorher und nachher vergleiche nachdem ich gezielt ein Flag aktiviere bzw. deaktiviere.
Michael schrieb: > Johann L. schrieb: >> -save-temps -fverbose-asm > > Das führt bei mir seltsamerweise dazu, dass das Binary größer wird?! Was > kann das denn sein? Debug-Info? > Ich bin nämlich einem komischen Fehler in meinem Code auf der Spur, der > nur bei bestimmten Optimierungseinstellungen auftritt. Anhand der Flags > habe ich die Hoffnung die Stelle im Code eingrenzen zu können, wenn ich > das Listing vorher und nachher vergleiche nachdem ich gezielt ein Flag > aktiviere bzw. deaktiviere. Im Makefile kann man einfach Optionen für bestimmte Mudule setzen wie
1 | modul.o: CFLAGS += -fno-lto |
Ohne modulübergreifende Optimierung ist es schon mal einfacher, ein Modul einzugrenzen.
Eben gefunden auf https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html "... You can invoke GCC with -Q --help=optimizers to find out the exact set of optimizations that are enabled at each level. ..."
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.