RFR: 8319570: Change to GCC 13.2.0 for building on Linux at Oracle [v2]

Mikael Vidstedt mikael at openjdk.org
Wed Nov 8 22:10:20 UTC 2023


> Oracle is updating the version of GCC for building the JDK on Linux to 13.2.0.
> 
> Apart from the "obvious" changes, I'll add some color to the CompileJvm.gmk changes. In particular, I ran into two different types of new warnings with GCC 13.2.0:
> 
> 1. linux-aarch64-debug + stringop-overflow
> 
> `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=]`
> 
> Only reproduces with fastdebug on linux-aarch64. I tried to understand why the warning is generated and how the code could be fixed but eventually had to give up.. I ended up disabling the warning for linux-aarch64-debug specifically but open to feedback and other alternatives.
> 
> 2. linux + zero + dangling-pointer
> 
> 
> `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=]`
> 
> The linux/zero build generates lots and lots of dangling pointer warnings. As with the first warning I tried to understand why but also gave up in the end. Like the first warning I disabled it instead, for zero builds. Again appreciating feedback/suggestions.

Mikael Vidstedt has updated the pull request incrementally with one additional commit since the last revision:

  Move ASSERT ResourceMark constructor to resourceArea.cpp to avoid dangling pointer warning with zero

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/16550/files
  - new: https://git.openjdk.org/jdk/pull/16550/files/be29a987..19a9a1b7

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=16550&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=16550&range=00-01

  Stats: 27 lines in 3 files changed: 12 ins; 14 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/16550.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16550/head:pull/16550

PR: https://git.openjdk.org/jdk/pull/16550


More information about the build-dev mailing list