Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8342304

RISC-V: [21u, 17u] atomic_linux_riscv.hpp build warning of stringop-overflow with gcc13

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P4 P4
    • tbd
    • 17, 21
    • hotspot
    • riscv
    • linux

      Build log snipet:
      In file included from ../../src/hotspot/share/runtime/atomic.hpp:815,
                       from ../../src/hotspot/share/oops/oop.hpp:33,
                       from ../../src/hotspot/share/oops/weakHandle.hpp:28,
                       from ../../src/hotspot/share/classfile/classLoaderData.hpp:30,
                       from ../../src/hotspot/share/precompiled/precompiled.hpp:34:
      In member function 'T Atomic::PlatformOrderedLoad<byte_size, X_ACQUIRE>::operator()(const volatile T*) const [with T = ClassPathEntry*; long unsigned int byte_size = 8]',
          inlined from 'T Atomic::LoadImpl<T, PlatformOp, typename std::enable_if<(std::is_integral<_Tp>::value || std::is_pointer<_Tp>::value), void>::type>::operator()(const volatile T*) const [with T = ClassPathEntry*; PlatformOp = Atomic::PlatformOrderedLoad<8, X_ACQUIRE>]' at ../../src/hotspot/share/runtime/atomic.hpp:510:24,
          inlined from 'static T Atomic::load_acquire(const volatile T*) [with T = ClassPathEntry*]' at ../../src/hotspot/share/runtime/atomic.hpp:840:67,
          inlined from 'ClassPathEntry* ClassPathEntry::next() const' at ../../src/hotspot/share/classfile/classLoader.inline.hpp:34:82,
          inlined from 'static ClassPathEntry* ClassLoader::classpath_entry(int)' at ../../src/hotspot/share/classfile/classLoader.inline.hpp:55:18,
          inlined from 'static ClassPathEntry* ClassLoader::classpath_entry(int)' at ../../src/hotspot/share/classfile/classLoader.inline.hpp:41:24,
          inlined from 'static oop ClassLoader::get_system_package(const char*, JavaThread*)' at ../../src/hotspot/share/classfile/classLoader.cpp:1001:37:
      ../../src/hotspot/os_cpu/linux_riscv/atomic_linux_riscv.hpp:210:66: error: 'long unsigned int __atomic_load_8(const volatile void*, int)' writing 8 bytes into a region of size 0 overflows the destination [-Werror=stringop-overflow=]
        210 | T operator()(const volatile T* p) const { T data; __atomic_load(const_cast<T*>(p), &data, __ATOMIC_ACQUIRE); return data; }
            | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

      > gcc -v
      Using built-in specs.
      COLLECT_GCC=gcc
      COLLECT_LTO_WRAPPER=/usr/libexec/gcc/riscv64-redhat-linux/13/lto-wrapper
      Target: riscv64-redhat-linux
      Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,objc,obj-c++,ada,go,d,m2,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=/usr/share/zoneinfo --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-13.2.1-20230728/obj-riscv64-redhat-linux/isl-install --enable-gnu-indirect-function --with-arch=rv64gc --with-abi=lp64d --with-multilib-list=lp64d --build=riscv64-redhat-linux --with-build-config=bootstrap-lto --enable-link-serialization=1
      Thread model: posix
      Supported LTO compression algorithms: zlib zstd
      gcc version 13.2.1 20230728 (Red Hat 13.2.1-1) (GCC)

            syan Sendao Yan
            syan Sendao Yan
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: