use-correct-dwarf-default: Update test
* The default version is now 5. If clang version is older than 18 then fall back to version 4. * Added optional env var to overwrite required dwarf version. * Updated fmf metadata to use dwarf4 in distros that don't support v5 * Fedora 38 is EOL, removed dead code.
This commit is contained in:
parent
5100dc7cf0
commit
dade06cfdd
2 changed files with 11 additions and 14 deletions
|
|
@ -25,3 +25,7 @@ adjust+:
|
|||
- llvm-toolset-15.0-clang
|
||||
- llvm-toolset-15.0-llvm
|
||||
when: "collection == llvm-toolset-15.0"
|
||||
|
||||
- environment+:
|
||||
DWARF_VERSION: 4
|
||||
when: distro < rhel-10 or distro < centos-stream-10
|
||||
|
|
|
|||
|
|
@ -1,23 +1,16 @@
|
|||
#!/bin/sh -eux
|
||||
|
||||
# Determine correct DWARF version to use. If Clang is newer or equal to version
|
||||
# 18, we want to use DWARF5 except for Fedora 38 where we still want DWARF4.
|
||||
|
||||
required_dwarf_version=4
|
||||
# Determine correct DWARF version to use. Defaults to version 5, but older
|
||||
# distros might need to use version 4, which can be configured using the
|
||||
# DWARF_VERSION env var
|
||||
required_dwarf_version=${DWARF_VERSION:-5}
|
||||
|
||||
# Get clang version
|
||||
CLANG_PKG=$(rpm -qf --queryformat '%{name}' $(readlink -f $(type -p clang)))
|
||||
clang_version=$(rpm -q --queryformat "%{version}" $CLANG_PKG | grep -ioP "^[0-9]+")
|
||||
if [ $clang_version -ge 18 ]; then
|
||||
>&2 echo "clang is greater or equal version 18";
|
||||
required_dwarf_version=5
|
||||
fi
|
||||
|
||||
if [ -e /etc/fedora-release ]; then
|
||||
fedora_version=$(grep -ioP "Fedora release \K[0-9]+" /etc/fedora-release)
|
||||
if [ $fedora_version -le 38 ]; then
|
||||
required_dwarf_version=4
|
||||
fi
|
||||
if [ $clang_version -lt 18 ]; then
|
||||
>&2 echo "clang is older than version 18";
|
||||
required_dwarf_version=4
|
||||
fi
|
||||
|
||||
echo "int main(){ return 0; }" | clang -g -v -x c - 2> build.log
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue