^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) #!/bin/sh
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) # SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) # Check if atomic headers are up-to-date
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) ATOMICDIR=$(dirname $0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) ATOMICTBL=${ATOMICDIR}/atomics.tbl
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) LINUXDIR=${ATOMICDIR}/../..
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) echo '' | sha1sum - > /dev/null 2>&1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) if [ $? -ne 0 ]; then
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) printf "sha1sum not available, skipping atomic header checks.\n"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) exit 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) fi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) cat <<EOF |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) asm-generic/atomic-instrumented.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) asm-generic/atomic-long.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) linux/atomic-arch-fallback.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) linux/atomic-fallback.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) EOF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) while read header; do
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) OLDSUM="$(tail -n 1 ${LINUXDIR}/include/${header})"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) OLDSUM="${OLDSUM#// }"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) NEWSUM="$(sed '$d' ${LINUXDIR}/include/${header} | sha1sum)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) NEWSUM="${NEWSUM%% *}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) if [ "${OLDSUM}" != "${NEWSUM}" ]; then
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) printf "warning: generated include/${header} has been modified.\n"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) fi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) done
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) exit 0