2021-04-13 12:08:29 |
Matthias Klose |
description |
we want to collect information which most recent hwcap is supported by a machine. The result should be a string like "x86-64-v2", "x86-64-v3", "x86-64-v4", "z13", "z14", "p9", "p10" depending on "ld-linux --help" output. The string should be empty for architectures without glibc hwcaps (currently armhf, arm64, i386, riscv64). The string should be empty if no specific hwcaps is supported (e.g. on a power8 machine). The string should be "N/A" (not available), when trying to run ld-linux on a release with glibc (<< 2.33).
Note that lexical sorting won't work for "p9", "p10".
if test -x /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2; then
lddynload=/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
elif test -x /lib/powerpc64le-linux-gnu/ld64.so.2; then
lddynload=/lib/powerpc64le-linux-gnu/ld64.so.2
elif test -x /lib/s390x-linux-gnu/ld64.so.1; then
lddynload=/lib/s390x-linux-gnu/ld64.so.1
fi
supported=
if [ -n "$lddynload" ]; then
$lddynload --help 2>&1 | awk '/^Subdirectories/,/^$/'
supported=$($lddynload --help 2>&1 | awk '/^Subdirectories/,/^$/' | awk '/supported/ {print $1}')
fi
Here, $supported has listed all supported hwcaps, not just the best supported one. |
FFe: We would like to collect that information with 21.04 to get a better view of supported hardware for the new hwcaps. The risk should be minimal, only adding an extra flag, and the server side collecting the data can handle that, according to Didier.
pull request at https://github.com/ubuntu/ubuntu-report/pull/34
we want to collect information which most recent hwcap is supported by a machine. The result should be a string like "x86-64-v2", "x86-64-v3", "x86-64-v4", "z13", "z14", "p9", "p10" depending on "ld-linux --help" output. The string should be empty for architectures without glibc hwcaps (currently armhf, arm64, i386, riscv64). The string should be empty if no specific hwcaps is supported (e.g. on a power8 machine). The string should be "" (empty), when trying to run ld-linux on a release with glibc (<< 2.33). The string should be "-" (dash) when not having any hwcaps mentioned.
Note that lexical sorting won't work for "p9", "p10".
if test -x /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2; then
lddynload=/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
elif test -x /lib/powerpc64le-linux-gnu/ld64.so.2; then
lddynload=/lib/powerpc64le-linux-gnu/ld64.so.2
elif test -x /lib/s390x-linux-gnu/ld64.so.1; then
lddynload=/lib/s390x-linux-gnu/ld64.so.1
fi
supported=
if [ -n "$lddynload" ]; then
$lddynload --help 2>&1 | awk '/^Subdirectories/,/^$/'
supported=$($lddynload --help 2>&1 | awk '/^Subdirectories/,/^$/' | awk '/supported/ {print $1}')
fi
Here, $supported has listed all supported hwcaps, not just the best supported one. |
|