From: Sergey Matveev Date: Tue, 8 Jul 2025 09:32:39 +0000 (+0300) Subject: Try to make deterministic .a X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=170bcf9c87baf7412f8fd9e833f6584ab2e97325bd21d8d8010d9dcc0b13cd64;p=keks.git Try to make deterministic .a --- diff --git a/c/clean b/c/clean index 65b03d1..9a27508 100755 --- a/c/clean +++ b/c/clean @@ -2,6 +2,7 @@ cd "$(dirname "$(realpath -- "$0")")" cmd/clean +conf/clean doc/clean lib/clean exec rm -f compile_flags.txt diff --git a/c/conf/.gitignore b/c/conf/.gitignore index ffcde75..7b6198f 100644 --- a/c/conf/.gitignore +++ b/c/conf/.gitignore @@ -1 +1,2 @@ +/objcopy /version diff --git a/c/conf/clean b/c/conf/clean new file mode 100755 index 0000000..b58141a --- /dev/null +++ b/c/conf/clean @@ -0,0 +1,3 @@ +#!/bin/sh -e + +rm -f objcopy version diff --git a/c/conf/objcopy.do b/c/conf/objcopy.do new file mode 100644 index 0000000..46791cd --- /dev/null +++ b/c/conf/objcopy.do @@ -0,0 +1,3 @@ +command -v llvm-objcopy 2>/dev/null || +command -v objcopy 2>/dev/null || +echo : diff --git a/c/lib/cm/libkekscm.a.do b/c/lib/cm/libkekscm.a.do index 437e92a..f0ffecb 100644 --- a/c/lib/cm/libkekscm.a.do +++ b/c/lib/cm/libkekscm.a.do @@ -1,6 +1,8 @@ redo-ifchange o.list objs=$(cat o.list) -redo-ifchange $objs ../../conf/ar +redo-ifchange $objs ../../conf/ar ../../conf/objcopy read AR <../../conf/ar $AR -rcs $3.a $objs +read OBJCOPY <../../conf/objcopy +$OBJCOPY --enable-deterministic-archives $3.a mv $3.a $3 diff --git a/c/lib/libkeks.a.do b/c/lib/libkeks.a.do index 0d627bd..8d1012c 100644 --- a/c/lib/libkeks.a.do +++ b/c/lib/libkeks.a.do @@ -1,6 +1,8 @@ redo-ifchange o.list objs=$(cat o.list) -redo-ifchange $objs ../conf/ar +redo-ifchange $objs ../conf/ar ../conf/objcopy read AR <../conf/ar $AR -rcs $3.a $objs +read OBJCOPY <../conf/objcopy +$OBJCOPY --enable-deterministic-archives $3.a mv $3.a $3