RFR: 8315794: RISC-V: build fails with GCC 12.3
Antonios Printezis
tonyp at openjdk.org
Thu Sep 7 21:27:38 UTC 2023
On Wed, 6 Sep 2023 14:29:56 GMT, Antonios Printezis <tonyp at openjdk.org> wrote:
> The build failure happens when building on RISC-V with GCC 12.3. Is there a better way to address this than disabling the stringop-overflow warnings for the two files in question?
I should have included the full error messages (my bad):
In file included from /home/tony/dev/ws/git/jdk-devel/src/hotspot/share/runtime/atomic.hpp:814,
from /home/tony/dev/ws/git/jdk-devel/src/hotspot/share/oops/oop.hpp:34,
from /home/tony/dev/ws/git/jdk-devel/src/hotspot/share/oops/weakHandle.hpp:28,
from /home/tony/dev/ws/git/jdk-devel/src/hotspot/share/classfile/classLoaderData.hpp:30,
from /home/tony/dev/ws/git/jdk-devel/src/hotspot/share/precompiled/precompiled.hpp:34:
In member function 'D Atomic::PlatformAdd<byte_size>::add_then_fetch(volatile D*, I, atomic_memory_order) const [with D = long unsigned int; I = long unsigned int; long unsigned int byte_size = 8]',
inlined from 'static D Atomic::AddImpl<D, I, typename std::enable_if<(((std::is_integral<From>::value && std::is_integral<_Tp>::value) && (sizeof (I) <= sizeof (D))) && (std::is_signed<I>::value == std::is_signed<_Tp>::value)), void>::type>::add_then_fetch(volatile D*, I, atomic_memory_order) [with D = long unsigned int; I = long unsigned int]' at /home/tony/dev/ws/git/jdk-devel/src/hotspot/share/runtime/atomic.hpp:888:51,
inlined from 'static D Atomic::add(volatile D*, I, atomic_memory_order) [with D = long unsigned int; I = long unsigned int]' at /home/tony/dev/ws/git/jdk-devel/src/hotspot/share/runtime/atomic.hpp:869:39,
inlined from 'size_t XPageAllocator::uncommit(uint64_t*)' at /home/tony/dev/ws/git/jdk-devel/src/hotspot/share/gc/x/xPageAllocator.cpp:789:16:
/home/tony/dev/ws/git/jdk-devel/src/hotspot/os_cpu/linux_riscv/atomic_linux_riscv.hpp:44:31: error: 'long unsigned int __atomic_add_fetch_8(volatile void*, long unsigned int, int)' writing 8 bytes into a region of size 0 overflows the destination [-Werror=stringop-overflow=]
44 | D res = __atomic_add_fetch(dest, add_value, __ATOMIC_RELAXED);
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/tony/dev/ws/git/jdk-devel/src/hotspot/share/runtime/atomic.hpp:814,
from /home/tony/dev/ws/git/jdk-devel/src/hotspot/share/oops/oop.hpp:34,
from /home/tony/dev/ws/git/jdk-devel/src/hotspot/share/oops/weakHandle.hpp:28,
from /home/tony/dev/ws/git/jdk-devel/src/hotspot/share/classfile/classLoaderData.hpp:30,
from /home/tony/dev/ws/git/jdk-devel/src/hotspot/share/precompiled/precompiled.hpp:34:
In member function 'D Atomic::PlatformAdd<byte_size>::add_then_fetch(volatile D*, I, atomic_memory_order) const [with D = long unsigned int; I = long unsigned int; long unsigned int byte_size = 8]',
inlined from 'static D Atomic::AddImpl<D, I, typename std::enable_if<(((std::is_integral<From>::value && std::is_integral<_Tp>::value) && (sizeof (I) <= sizeof (D))) && (std::is_signed<I>::value == std::is_signed<_Tp>::value)), void>::type>::add_then_fetch(volatile D*, I, atomic_memory_order) [with D = long unsigned int; I = long unsigned int]' at /home/tony/dev/ws/git/jdk-devel/src/hotspot/share/runtime/atomic.hpp:888:51,
inlined from 'static D Atomic::add(volatile D*, I, atomic_memory_order) [with D = long unsigned int; I = long unsigned int]' at /home/tony/dev/ws/git/jdk-devel/src/hotspot/share/runtime/atomic.hpp:869:39,
inlined from 'size_t ZPageAllocator::uncommit(uint64_t*)' at /home/tony/dev/ws/git/jdk-devel/src/hotspot/share/gc/z/zPageAllocator.cpp:887:16:
/home/tony/dev/ws/git/jdk-devel/src/hotspot/os_cpu/linux_riscv/atomic_linux_riscv.hpp:44:31: error: 'long unsigned int __atomic_add_fetch_8(volatile void*, long unsigned int, int)' writing 8 bytes into a region of size 0 overflows the destination [-Werror=stringop-overflow=]
44 | D res = __atomic_add_fetch(dest, add_value, __ATOMIC_RELAXED);
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
Looks the same as [JDK-8299580](https://bugs.openjdk.org/browse/JDK-8299580) that @RealFYang had reported?
-------------
PR Comment: https://git.openjdk.org/jdk/pull/15593#issuecomment-1710788551
More information about the build-dev
mailing list