All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Alex Bennée" <alex.bennee@linaro.org>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
	"Cleber Rosa" <crosa@redhat.com>
Subject: [PATCH 7/7] linux-user: limit check to HOST_LONG_BITS < TARGET_ABI_BITS
Date: Mon, 25 May 2020 15:18:23 +0200	[thread overview]
Message-ID: <20200525131823.715-8-thuth@redhat.com> (raw)
In-Reply-To: <20200525131823.715-1-thuth@redhat.com>

From: Alex Bennée <alex.bennee@linaro.org>

Newer clangs rightly spot that you can never exceed the full address
space of 64 bit hosts with:

  linux-user/elfload.c:2076:41: error: result of comparison 'unsigned
  long' > 18446744073709551615 is always false
  [-Werror,-Wtautological-type-limit-compare]
  4685         if ((guest_hiaddr - guest_base) > ~(uintptr_t)0) {
  4686             ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~
  4687 1 error generated.

So lets limit the check to 32 bit hosts only.

Fixes: ee94743034bf
Reported-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
[thuth: Use HOST_LONG_BITS < TARGET_ABI_BITS instead of HOST_LONG_BITS == 32]
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 linux-user/elfload.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index 01a9323a63..ebc663ea0b 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -2073,12 +2073,14 @@ static void pgb_have_guest_base(const char *image_name, abi_ulong guest_loaddr,
             exit(EXIT_FAILURE);
         }
     } else {
+#if HOST_LONG_BITS < TARGET_ABI_BITS
         if ((guest_hiaddr - guest_base) > ~(uintptr_t)0) {
             error_report("%s: requires more virtual address space "
                          "than the host can provide (0x%" PRIx64 ")",
                          image_name, (uint64_t)guest_hiaddr - guest_base);
             exit(EXIT_FAILURE);
         }
+#endif
     }
 
     /*
-- 
2.18.1



  parent reply	other threads:[~2020-05-25 13:23 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-25 13:18 [PATCH 0/7] Gitlab CI improvements and fixes Thomas Huth
2020-05-25 13:18 ` [PATCH 1/7] MAINTAINERS: Add Philippe, Alex and Wainer to the Gitlab-CI section Thomas Huth
2020-05-25 13:18 ` [PATCH 2/7] gitlab-ci: Remove flex/bison packages Thomas Huth
2020-05-27 16:47   ` Alex Bennée
2020-05-25 13:18 ` [PATCH 3/7] GitLab CI: avoid calling before_scripts on unintended jobs Thomas Huth
2020-05-27 17:33   ` Alex Bennée
2020-05-25 13:18 ` [PATCH 4/7] gitlab-ci: Move edk2 and opensbi YAML files to .gitlab-ci.d folder Thomas Huth
2020-05-25 13:32   ` Philippe Mathieu-Daudé
2020-05-27 17:34   ` Alex Bennée
2020-05-25 13:18 ` [PATCH 5/7] gitlab-ci: Do not use the standard container images from gitlab Thomas Huth
2020-05-28  8:37   ` Alex Bennée
2020-05-25 13:18 ` [PATCH 6/7] gitlab-ci: Determine the number of jobs dynamically Thomas Huth
2020-05-28  8:41   ` Alex Bennée
2020-05-28  9:11     ` Thomas Huth
2020-05-25 13:18 ` Thomas Huth [this message]
2020-05-27 14:44   ` [PATCH 7/7] linux-user: limit check to HOST_LONG_BITS < TARGET_ABI_BITS Laurent Vivier
2020-05-27 14:51     ` Thomas Huth
2020-05-27 16:36       ` Alex Bennée
2020-05-28  6:45         ` Thomas Huth
2020-05-28  8:31           ` Alex Bennée

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200525131823.715-8-thuth@redhat.com \
    --to=thuth@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=crosa@redhat.com \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=wainersm@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.