linux-user, bsd-user: disable on unsupported host architectures
Safe signal handling around system calls is mandatory for user-mode emulation, and requires a small piece of handwritten assembly code. So refuse to compile unless the common-user/host subdirectory exists for the host architecture that was detected or selected with --cpu. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
17780edd81
commit
473cd070b1
20
configure
vendored
20
configure
vendored
@ -871,12 +871,16 @@ fi
|
|||||||
default_target_list=""
|
default_target_list=""
|
||||||
mak_wilds=""
|
mak_wilds=""
|
||||||
|
|
||||||
|
if [ -n "$host_arch" ] && [ -d "$source_path/common-user/host/$host_arch" ]; then
|
||||||
if [ "$linux_user" != no ]; then
|
if [ "$linux_user" != no ]; then
|
||||||
if [ "$targetos" = linux ] && [ -n "$host_arch" ]; then
|
if [ "$targetos" = linux ]; then
|
||||||
linux_user=yes
|
linux_user=yes
|
||||||
elif [ "$linux_user" = yes ]; then
|
elif [ "$linux_user" = yes ]; then
|
||||||
error_exit "linux-user not supported on this architecture"
|
error_exit "linux-user not supported on this architecture"
|
||||||
fi
|
fi
|
||||||
|
if [ "$linux_user" = "yes" ]; then
|
||||||
|
mak_wilds="${mak_wilds} $source_path/configs/targets/*-linux-user.mak"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
if [ "$bsd_user" != no ]; then
|
if [ "$bsd_user" != no ]; then
|
||||||
if [ "$bsd_user" = "" ]; then
|
if [ "$bsd_user" = "" ]; then
|
||||||
@ -885,16 +889,18 @@ if [ "$bsd_user" != no ]; then
|
|||||||
if [ "$bsd_user" = yes ] && ! [ -d "$source_path/bsd-user/$targetos" ]; then
|
if [ "$bsd_user" = yes ] && ! [ -d "$source_path/bsd-user/$targetos" ]; then
|
||||||
error_exit "bsd-user not supported on this host OS"
|
error_exit "bsd-user not supported on this host OS"
|
||||||
fi
|
fi
|
||||||
|
if [ "$bsd_user" = "yes" ]; then
|
||||||
|
mak_wilds="${mak_wilds} $source_path/configs/targets/*-bsd-user.mak"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [ "$linux_user" = yes ] || [ "$bsd_user" = yes ]; then
|
||||||
|
error_exit "user mode emulation not supported on this architecture"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
if [ "$softmmu" = "yes" ]; then
|
if [ "$softmmu" = "yes" ]; then
|
||||||
mak_wilds="${mak_wilds} $source_path/configs/targets/*-softmmu.mak"
|
mak_wilds="${mak_wilds} $source_path/configs/targets/*-softmmu.mak"
|
||||||
fi
|
fi
|
||||||
if [ "$linux_user" = "yes" ]; then
|
|
||||||
mak_wilds="${mak_wilds} $source_path/configs/targets/*-linux-user.mak"
|
|
||||||
fi
|
|
||||||
if [ "$bsd_user" = "yes" ]; then
|
|
||||||
mak_wilds="${mak_wilds} $source_path/configs/targets/*-bsd-user.mak"
|
|
||||||
fi
|
|
||||||
|
|
||||||
for config in $mak_wilds; do
|
for config in $mak_wilds; do
|
||||||
target="$(basename "$config" .mak)"
|
target="$(basename "$config" .mak)"
|
||||||
|
Loading…
Reference in New Issue
Block a user