diff options
author | Alex Bennée <alex.bennee@linaro.org> | 2024-09-16 09:53:43 +0100 |
---|---|---|
committer | Alex Bennée <alex.bennee@linaro.org> | 2024-09-19 15:58:01 +0100 |
commit | cf2a78cbbb463d5716da9805c8fc5758937924d8 (patch) | |
tree | 7858480ab07b834a822e27d514f1069f5a390ee5 /configure | |
parent | 14556211bc6d7125a44d5b5df90caba019b0ec0e (diff) |
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>
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 21 |
1 files changed, 20 insertions, 1 deletions
@@ -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 |