Compare commits
3 commits
main
...
use-correc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0f7bbde4ae | ||
|
|
8ec2e68a96 | ||
|
|
be1f55b4be |
4 changed files with 30 additions and 9 deletions
2
use-correct-dwarf-default/.gitignore
vendored
Normal file
2
use-correct-dwarf-default/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
a.out
|
||||
build.log
|
||||
|
|
@ -7,8 +7,8 @@ tier: 1
|
|||
component:
|
||||
- llvm-toolset
|
||||
- clang
|
||||
extra-summary: /tools/clang/use-dwarf4-by-default
|
||||
extra-task: /tools/clang/use-dwarf4-by-default
|
||||
extra-summary: /tools/clang/use-correct-dwarf-default
|
||||
extra-task: /tools/clang/use-correct-dwarf-default
|
||||
extra-nitrate: TC#0614134
|
||||
|
||||
adjust:
|
||||
26
use-correct-dwarf-default/test.sh
Executable file
26
use-correct-dwarf-default/test.sh
Executable file
|
|
@ -0,0 +1,26 @@
|
|||
#!/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
|
||||
|
||||
# Get clang version
|
||||
clang_version=$(rpm -q --queryformat "%{version}" clang | 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
|
||||
fi
|
||||
|
||||
echo "int main(){ return 0; }" | clang -g -v -x c - 2> build.log
|
||||
# Make sure that clang is using the expected flag to use the required DWARF version
|
||||
grep -q "\-dwarf-version=$required_dwarf_version" build.log
|
||||
# Inspect the binary to double check expected DWARF version
|
||||
llvm-dwarfdump a.out | grep -ioP "version\s*=\s*0x000$required_dwarf_version"
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
#!/bin/sh -eux
|
||||
|
||||
echo "int main(){ return 0; }" | clang -g -v -x c - 2> build.log
|
||||
# Make sure that clang is using the expected flag to use DWARF 4
|
||||
grep -q "\-dwarf-version=4" build.log
|
||||
# Inspect the binary to double check expected DWARF version
|
||||
llvm-dwarfdump a.out | grep -i version | grep 0x0004
|
||||
Loading…
Add table
Add a link
Reference in a new issue