aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2020-09-17 14:50:55 +0100
committerPeter Maydell <peter.maydell@linaro.org>2020-09-17 14:50:55 +0100
commit3af984709398d61ecdcd32fb61295e6332d94392 (patch)
tree767043f549c7a5f6bcdd72aed2eae4ede9751f8b
parent5e0a8fda65fc88e76bc50dc5467e143d89566dfa (diff)
parent3ffc7f013763bf4fc50c3b403cbacca2bee68cfa (diff)
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>
-rw-r--r--.gitlab-ci.yml15
-rw-r--r--.shippable.yml2
-rw-r--r--.travis.yml3
-rwxr-xr-xconfigure33
-rw-r--r--linux-user/elfload.c9
5 files changed, 37 insertions, 25 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 72e8604579..a18e18b57e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -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:
diff --git a/.shippable.yml b/.shippable.yml
index 89d8be4291..0b4fd6df1d 100644
--- a/.shippable.yml
+++ b/.shippable.yml
@@ -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
diff --git a/.travis.yml b/.travis.yml
index 65341634d0..c75221dca3 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -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"
diff --git a/configure b/configure
index ce27eafb0a..7564479008 100755
--- a/configure
+++ b/configure
@@ -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
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index 4961e6119e..f6022fd704 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -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,