2021/7/5

-Werr=date-time

gcc 4.9 之後新增了一個 檢查的 option: date-time
  -Wdate-time
           Warn when macros "__TIME__", "__DATE__" or "__TIMESTAMP__"
           are encountered as they might prevent bit-wise-identical
           reproducible compilations.
這個好像是為了 reproducible build
就是讓任何人任何時間都能 build 出一樣的 binary 檔。

大概是 5.8 開始,修改了 source,不再用一些 _DATE_, _TIME_ 這種 build time 產生的 code。
因為這樣不同時間 build, binary image 就會不一樣。
然後 compiler 也增加了這個檢查 -Werror=date-time
compiler 檢查有用到DATE, TIME 這些 macro就會報錯。

所以 kernel 的 Makefile 增加了這個 compile option,配上 gcc 版本小於 4.9 的話,就會出現 Error,說不認識這個 option。
例如: rpi-linux 5.10,使用 default 的 pitools (4.8) 來 build 就會出錯。

沒有留言:

張貼留言