#!/bin/sh # SPDX-License-Identifier: GPL-2.0 # # Usage: $ ./scripts/lld-version.sh ld.lld # # Print the linker version of `ld.lld' in a 5 or 6-digit form # such as `100001' for ld.lld 10.0.1 etc. set -e # Convert the version string x.y.z to a canonical 5 or 6-digit form. get_canonical_version() { IFS=. set -- $1 # If the 2nd or 3rd field is missing, fill it with a zero. echo $((10000 * $1 + 100 * ${2:-0} + ${3:-0})) } # Get the first line of the --version output. IFS=' ' set -- $(LC_ALL=C "$@" --version) # Split the line on spaces. IFS=' ' set -- $1 while [ $# -gt 1 -a "$1" != "LLD" ]; do shift done if [ "$1" = LLD ]; then echo $(get_canonical_version ${2%-*}) else echo 0 fi