You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have been trying to build FreeBSD (well CheriBSD actually) with llvm binutils instead of elftoolchain utilities.
I noticed that building static archives was failing because ranlib is invoked with the -D flag which is not supported by llvm-ranlib.
FreeBSD manpage:
-D When used in combination with the -r or -q option, with the -s
option without other options, or when invoked as ranlib, insert
0's instead of the real mtime, uid and gid values and 0644
instead of file mode from the members named by arguments file
.... This ensures that checksums on the resulting archives are
reproducible when member contents are identical. This option is
enabled by default. If multiple -D and -U options are specified
on the command line, the final one takes precedence.
GNU manpage:
-D Operate in deterministic mode. The symbol map archive member's header will show zero for the UID, GID, and timestamp. When this option is used, multiple runs will produce identical
output files.
If binutils was configured with --enable-deterministic-archives, then this mode is on by default. It can be disabled with the -U option, described below.
The text was updated successfully, but these errors were encountered:
llvm-ar supports both D and U, but it looks like we don't have that hooked up for the ranlib entry point. We should add those.
As for local workarounds: deterministic is the default for llvm-ar/llvm-ranlib, so you can just remove it. Or you can run "llvm-ar Ds" since ranlib == ar s.
Extended Description
I have been trying to build FreeBSD (well CheriBSD actually) with llvm binutils instead of elftoolchain utilities.
I noticed that building static archives was failing because ranlib is invoked with the -D flag which is not supported by llvm-ranlib.
FreeBSD manpage:
GNU manpage:
-D Operate in deterministic mode. The symbol map archive member's header will show zero for the UID, GID, and timestamp. When this option is used, multiple runs will produce identical
output files.
The text was updated successfully, but these errors were encountered: