blob: f1eeee450a23cd8a08aac89969fe2778f1193a3d [file] [log] [blame]
Nathan Chancellord5750cd2020-11-19 13:46:58 -07001#!/bin/sh
2# SPDX-License-Identifier: GPL-2.0
3#
4# Usage: $ ./scripts/lld-version.sh ld.lld
5#
6# Print the linker version of `ld.lld' in a 5 or 6-digit form
7# such as `100001' for ld.lld 10.0.1 etc.
8
Nathan Chancellordf58fb42021-11-15 09:43:23 -07009set -e
Nathan Chancellord5750cd2020-11-19 13:46:58 -070010
Nathan Chancellordf58fb42021-11-15 09:43:23 -070011# Convert the version string x.y.z to a canonical 5 or 6-digit form.
12get_canonical_version()
13{
14 IFS=.
15 set -- $1
16
17 # If the 2nd or 3rd field is missing, fill it with a zero.
18 echo $((10000 * $1 + 100 * ${2:-0} + ${3:-0}))
19}
20
21# Get the first line of the --version output.
22IFS='
23'
24set -- $(LC_ALL=C "$@" --version)
25
26# Split the line on spaces.
27IFS=' '
28set -- $1
29
30while [ $# -gt 1 -a "$1" != "LLD" ]; do
31 shift
32done
33if [ "$1" = LLD ]; then
34 echo $(get_canonical_version ${2%-*})
35else
Nathan Chancellord5750cd2020-11-19 13:46:58 -070036 echo 0
Nathan Chancellord5750cd2020-11-19 13:46:58 -070037fi