configure tweaks for deprecation

- iotest fix for readlink -f
   - linux-user, report rather than assert on mmap failure
   - clean-up and re-factor the logic
   - add tilegx-linux-user to deprecated_targets_list
   - add [lm32|unicore32]-softmmu deprecated_targets_list
   - add a gitlab deprecated builds test
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEZoWumedRZ7yvyN81+9DbCVqeKkQFAl9h1s0ACgkQ+9DbCVqe
 KkQuNwf/YoTMJNMYdny9Q4/qPv/Vo7QsBAlCSQCqoHygR1YKcbz452rJ+pXpPUG3
 Dc/9mLRPzH9RLQHGLUkBco2Mon+MK6dGgDhZuZZ6e0tEwZUCMkDzWpmwaJE+Dk8l
 vyU5n9YO/WfCxCpZsI4DWnEYoTrDB0q8pJh32dSxRfnN/va8cVGy5up8aYYqKypK
 03yFjq5nldvGB/4O26jy6ypJpcEuLJO3Id99WOUDLyPWGyIetLHA1G9q0WxwZS5h
 w6iN8Kf85t5VjO+AmNQbRdyOaC3zGc1344RGHw7eYvalXhqGx73hwoSi4O7sYqzF
 wS9RtfF+5CkirCUDYRYrDlS4Q1REWg==
 =L6JD
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/stsquad/tags/pull-configure-fixes-160920-1' into staging

configure tweaks for deprecation

  - iotest fix for readlink -f
  - linux-user, report rather than assert on mmap failure
  - clean-up and re-factor the logic
  - add tilegx-linux-user to deprecated_targets_list
  - add [lm32|unicore32]-softmmu deprecated_targets_list
  - add a gitlab deprecated builds test

# gpg: Signature made Wed 16 Sep 2020 10:11:41 BST
# gpg:                using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44
# gpg: Good signature from "Alex Bennée (Master Work Key) <alex.bennee@linaro.org>" [full]
# Primary key fingerprint: 6685 AE99 E751 67BC AFC8  DF35 FBD0 DB09 5A9E 2A44

* remotes/stsquad/tags/pull-configure-fixes-160920-1:
  configure: add [lm32|unicore32]-softmmu to deprecation logic
  gitlab: create a build-deprecated target
  configure: include tilegx-linux-user in the deprecation logic
  configure: clean-up the target-list-exclude logic
  configure: also skip deprecated targets with target-list-exclude
  configure: move deprecated feature processing to supported_target
  iotests: Drop readlink -f
  linux-user: test, don't assert addr != test in pgb_reserved_va

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Peter Maydell 2020-09-17 14:50:55 +01:00
commit 3af9847093
5 changed files with 37 additions and 25 deletions

View File

@ -134,7 +134,7 @@ build-system-fedora:
variables:
IMAGE: fedora
CONFIGURE_ARGS: --disable-gcrypt --enable-nettle
TARGETS: tricore-softmmu unicore32-softmmu microblaze-softmmu mips-softmmu
TARGETS: tricore-softmmu microblaze-softmmu mips-softmmu
xtensa-softmmu m68k-softmmu riscv32-softmmu ppc-softmmu sparc64-softmmu
MAKE_CHECK_ARGS: check-build
artifacts:
@ -166,7 +166,7 @@ build-system-centos:
variables:
IMAGE: centos8
CONFIGURE_ARGS: --disable-nettle --enable-gcrypt
TARGETS: ppc64-softmmu lm32-softmmu or1k-softmmu s390x-softmmu
TARGETS: ppc64-softmmu or1k-softmmu s390x-softmmu
x86_64-softmmu rx-softmmu sh4-softmmu nios2-softmmu
MAKE_CHECK_ARGS: check-build
artifacts:
@ -254,6 +254,17 @@ build-clang:
ppc-softmmu s390x-softmmu arm-linux-user
MAKE_CHECK_ARGS: check
# These targets are on the way out
build-deprecated:
<<: *native_build_job_definition
variables:
IMAGE: debian-all-test-cross
CONFIGURE_ARGS: --disable-docs --disable-tools
MAKE_CHECK_ARGS: check-tcg
TARGETS: ppc64abi32-linux-user tilegx-linux-user lm32-softmmu
unicore32-softmmu
allow_failure: true
build-oss-fuzz:
<<: *native_build_job_definition
variables:

View File

@ -8,7 +8,7 @@ env:
- IMAGE=debian-amd64
TARGET_LIST=x86_64-softmmu,x86_64-linux-user
- IMAGE=debian-win32-cross
TARGET_LIST=arm-softmmu,i386-softmmu,lm32-softmmu
TARGET_LIST=arm-softmmu,i386-softmmu
- IMAGE=debian-win64-cross
TARGET_LIST=aarch64-softmmu,sparc64-softmmu,x86_64-softmmu
- IMAGE=debian-armel-cross

View File

@ -344,10 +344,9 @@ jobs:
# Run check-tcg against linux-user (with plugins)
# we skip sparc64-linux-user until it has been fixed somewhat
# we skip cris-linux-user as it doesn't use the common run loop
# we skip ppc64abi32-linux-user as it seems to have a broken libc
- name: "GCC plugins check-tcg (user)"
env:
- CONFIG="--disable-system --enable-plugins --enable-debug-tcg --target-list-exclude=sparc64-linux-user,cris-linux-user,ppc64abi32-linux-user"
- CONFIG="--disable-system --enable-plugins --enable-debug-tcg --target-list-exclude=sparc64-linux-user,cris-linux-user"
- TEST_BUILD_CMD="make build-tcg"
- TEST_CMD="make check-tcg"
- CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug-tcg"

33
configure vendored
View File

@ -280,6 +280,9 @@ supported_whpx_target() {
return 1
}
deprecated_targets_list=ppc64abi32-linux-user,tilegx-linux-user,lm32-softmmu,unicore32-softmmu
deprecated_features=""
supported_target() {
case "$1" in
*-softmmu)
@ -301,6 +304,12 @@ supported_target() {
return 1
;;
esac
# if a deprecated target is enabled we note it here
if echo "$deprecated_targets_list" | grep -q "$1"; then
add_to deprecated_features $1
fi
test "$tcg" = "yes" && return 0
supported_kvm_target "$1" && return 0
supported_xen_target "$1" && return 0
@ -542,8 +551,6 @@ gettext=""
bogus_os="no"
malloc_trim=""
deprecated_features=""
# parse CC options first
for opt do
optarg=$(expr "x$opt" : 'x[^=]*=\(.*\)')
@ -1722,22 +1729,19 @@ if [ "$bsd_user" = "yes" ]; then
mak_wilds="${mak_wilds} $source_path/default-configs/*-bsd-user.mak"
fi
if test -z "$target_list_exclude" -a -z "$target_list"; then
# if the user doesn't specify anything lets skip deprecating stuff
target_list_exclude=ppc64abi32-linux-user
# If the user doesn't explicitly specify a deprecated target we will
# skip it.
if test -z "$target_list"; then
if test -z "$target_list_exclude"; then
target_list_exclude="$deprecated_targets_list"
else
target_list_exclude="$target_list_exclude,$deprecated_targets_list"
fi
fi
exclude_list=$(echo "$target_list_exclude" | sed -e 's/,/ /g')
for config in $mak_wilds; do
target="$(basename "$config" .mak)"
exclude="no"
for excl in $exclude_list; do
if test "$excl" = "$target"; then
exclude="yes"
break;
fi
done
if test "$exclude" = "no"; then
if echo "$target_list_exclude" | grep -vq "$target"; then
default_target_list="${default_target_list} $target"
fi
done
@ -7668,7 +7672,6 @@ case "$target_name" in
TARGET_SYSTBL_ABI=common,nospu,32
echo "TARGET_ABI32=y" >> $config_target_mak
gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml power-vsx.xml"
deprecated_features="ppc64abi32 ${deprecated_features}"
;;
riscv32)
TARGET_BASE_ARCH=riscv

View File

@ -2331,14 +2331,13 @@ static void pgb_reserved_va(const char *image_name, abi_ulong guest_loaddr,
assert(guest_base != 0);
test = g2h(0);
addr = mmap(test, reserved_va, PROT_NONE, flags, -1, 0);
if (addr == MAP_FAILED) {
if (addr == MAP_FAILED || addr != test) {
error_report("Unable to reserve 0x%lx bytes of virtual address "
"space (%s) for use as guest address space (check your "
"virtual memory ulimit setting or reserve less "
"using -R option)", reserved_va, strerror(errno));
"space at %p (%s) for use as guest address space (check your"
"virtual memory ulimit setting, min_mmap_addr or reserve less "
"using -R option)", reserved_va, test, strerror(errno));
exit(EXIT_FAILURE);
}
assert(addr == test);
}
void probe_guest_base(const char *image_name, abi_ulong guest_loaddr,