GNU Make新增--shuffle模式:发现并解决并行构建中的隐藏bug

2024-12-16

十一年来,GNU Make的并行构建中一直存在一些难以重现的bug。作者受到启发,开发了`--shuffle`模式,该模式随机打乱makefile中目标的执行顺序,从而模拟非确定性构建,有效地发现了30多个软件包(包括gcc、vim、ghc等)中的隐藏bug。该模式已集成到GNU Make 4.4版本中,可以通过`make --shuffle`或设置环境变量`GNUMAKEFLAGS=--shuffle`使用。这个功能不仅能帮助开发者发现并解决并行构建中的问题,更体现了持续改进软件开发工具的重要性。

开发