Der neue --shuffle-Modus von GNU Make: Versteckte Bugs in parallelen Builds entdeckt

2024-12-16

Elf Jahre lang plagten schwer reproduzierbare Bugs die parallelen Builds in GNU Make. Angeregt davon, wurde ein neuer `--shuffle`-Modus entwickelt, der die Ziele in Makefiles zufällig neu anordnet und so eine nicht-deterministische Build-Reihenfolge simuliert. Dies enthüllte effektiv versteckte Bugs in über 30 Paketen, darunter gcc, vim und ghc. Jetzt Teil von GNU Make 4.4, ist dieser Modus über `make --shuffle` oder die Umgebungsvariable `GNUMAKEFLAGS=--shuffle` zugänglich. Diese leistungsstarke Funktion hilft Entwicklern, Probleme bei parallelen Builds zu identifizieren und zu lösen und unterstreicht die kontinuierliche Verbesserung von Software-Entwicklungstools.