[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 5/6] target/riscv/vector_helper: Fix build on 32-bit big endian ho
From: |
Thomas Huth |
Subject: |
[PULL 5/6] target/riscv/vector_helper: Fix build on 32-bit big endian hosts |
Date: |
Wed, 5 Aug 2020 11:57:54 +0200 |
The code currently fails to compile on 32-bit big endian hosts:
target/riscv/vector_helper.c: In function 'vext_clear':
target/riscv/vector_helper.c:154:16: error: cast to pointer from integer
of different size [-Werror=int-to-pointer-cast]
memset((void *)((uintptr_t)tail & ~(7ULL)), 0, part1);
^
target/riscv/vector_helper.c:155:16: error: cast to pointer from integer
of different size [-Werror=int-to-pointer-cast]
memset((void *)(((uintptr_t)tail + 8) & ~(7ULL)), 0, part2);
^
cc1: all warnings being treated as errors
We should not use "long long" (i.e. 64-bit) values here to avoid the
problem. Switch to our QEMU_ALIGN_PTR_DOWN/UP macros instead.
Fixes: 751538d5da ("add vector stride load and store instructions")
Suggested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200804170055.2851-3-thuth@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
target/riscv/vector_helper.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c
index 39f44d1029..793af99067 100644
--- a/target/riscv/vector_helper.c
+++ b/target/riscv/vector_helper.c
@@ -151,8 +151,8 @@ static void vext_clear(void *tail, uint32_t cnt, uint32_t
tot)
if (cnt % 8) {
part1 = 8 - (cnt % 8);
part2 = tot - cnt - part1;
- memset((void *)((uintptr_t)tail & ~(7ULL)), 0, part1);
- memset((void *)(((uintptr_t)tail + 8) & ~(7ULL)), 0, part2);
+ memset(QEMU_ALIGN_PTR_DOWN(tail, 8), 0, part1);
+ memset(QEMU_ALIGN_PTR_UP(tail, 8), 0, part2);
} else {
memset(tail, 0, part2);
}
--
2.18.1
- [PULL 0/6] Improve gitlab-CI and fix a compiler warning, Thomas Huth, 2020/08/05
- [PULL 1/6] tests/docker: Add python3-venv and netcat to the debian-amd64 container, Thomas Huth, 2020/08/05
- [PULL 2/6] tests/acceptance: Disable the rx sash and arm cubieboard replay test on Gitlab, Thomas Huth, 2020/08/05
- [PULL 3/6] gitlab-ci.yml: Add build-system-debian and build-system-centos jobs, Thomas Huth, 2020/08/05
- [PULL 4/6] gitlab-ci: Fix Avocado cache usage, Thomas Huth, 2020/08/05
- [PULL 5/6] target/riscv/vector_helper: Fix build on 32-bit big endian hosts,
Thomas Huth <=
- [PULL 6/6] Get rid of the libqemustub.a remainders, Thomas Huth, 2020/08/05
- Re: [PULL 0/6] Improve gitlab-CI and fix a compiler warning, Peter Maydell, 2020/08/05
- Re: [PULL 0/6] Improve gitlab-CI and fix a compiler warning, Alistair Francis, 2020/08/06