RFR: 8319818: Address GCC 13.2.0 warnings (stringop-overflow and dangling-pointer)

Mikael Vidstedt mikael at openjdk.org
Thu Nov 9 19:06:57 UTC 2023


On Thu, 9 Nov 2023 16:07:53 GMT, Mikael Vidstedt <mikael at openjdk.org> wrote:

> This PR is splitting out the GCC 13.2.0 warning related changes from #16550, excluding the Oracle/devkit parts, for clarity and to make potential backports more straightforward.
> 
> GCC 13.2.0 generates two new warnings:
> 
> * linux-aarch64-debug
> 
> src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.hpp:203: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=]
> 
> I did not find any way to adjust the code to avoid this warning, so I instead chose to disable it in `CompileJvm.gmk` for linux-aarch64-(fast)debug only.
> 
> * linux-zero
> 
> src/hotspot/share/runtime/thread.hpp:579:77: error: storing the address of local variable 'rm' in '*_thr_current.Thread::_current_resource_mark' [-Werror=dangling-pointer=]
> 
> Lots and lots of warnings related to ResourceMark. Thanks to @stefank for suggesting moving the ASSERT implementation of the ResourceMark constructor to the .cpp file. With that change there's no need to explicitly disable the warning.

My plan is the rest of #16550 - devkit creation logic and the actual (Oracle) bump.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/16584#issuecomment-1804426349


More information about the build-dev mailing list