• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/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
9set -e
10
11# 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
36	echo 0
37fi
38