deprecation: don't enable TCG plugins by default on 32 bit hosts

The existing plugins already liberally use host pointer stuffing for
passing user data which will fail when doing 64 bit guests on 32 bit
hosts. We should discourage this by officially deprecating support and
adding another nail to the 32 bit host coffin.

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240916085400.1046925-2-alex.bennee@linaro.org>
This commit is contained in:
Alex Bennée
2024-09-16 09:53:43 +01:00
parent 14556211bc
commit cf2a78cbbb
2 changed files with 31 additions and 1 deletions
Vendored
+20 -1
View File
@@ -516,6 +516,25 @@ case "$cpu" in
;;
esac
# Now we have our CPU_CFLAGS we can check if we are targeting a 32 or
# 64 bit host.
check_64bit_host() {
cat > $TMPC <<EOF
#if __SIZEOF_POINTER__ != 8
#error not 64 bit system
#endif
int main(void) { return 0; }
EOF
compile_object "$1"
}
if check_64bit_host "$CPU_CFLAGS"; then
host_bits=64
else
host_bits=32
fi
if test -n "$host_arch" && {
! test -d "$source_path/linux-user/include/host/$host_arch" ||
! test -d "$source_path/common-user/host/$host_arch"; }; then
@@ -1028,7 +1047,7 @@ if test "$static" = "yes" ; then
fi
plugins="no"
fi
if test "$plugins" != "no"; then
if test "$plugins" != "no" && test $host_bits -eq 64; then
plugins=yes
subdirs="$subdirs contrib/plugins"
fi