Skip to content

document when 'clang' gained support for S_D_E

recently i noticed that my SOURCE_DATE_EPOCH variable where not honored on one my build machines, running macOS/12 (Monterey) with XCode 14.3. Apparently, this version of XCode comes with Apple clang 14.0.3:

% cc --version
Apple clang version 14.0.3 (clang-1403.0.22.14.1)
Target: arm64-apple-darwin21.6.0
Thread model: posix
InstalledDir: /Applications/Xcode-14.3.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

after a bit of research, I found that newer versions of clang (e.g. Apple clang 15.0.0 (clang-1500.0.40.1)), do indeed honor S_D_E.

finally I've check with the various clang versions installed on my Debian/Sid machine:

clang honours S_D_E?
14.0.6 🚫
15.0.7 🚫
16.0.6
17.0.6
18.1.5

the clang release notes claim that support for S_D_E was introduced with clang 16.0.0 (which aligns with my check on Debian). I do not know about the differences between Apple clang and LLVM clang.

Anyhow, the sole point of this issue is to ask, whether the support for S_D_E in clang could be documented at https://reproducible-builds.org/docs/source-date-epoch/#tool-support

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information