RFR: 8316645: RISC-V: Remove dependency on libatomic by adding cmpxchg 1b

Magnus Ihse Bursie ihse at openjdk.org
Wed Sep 27 07:42:15 UTC 2023


On Tue, 26 Sep 2023 12:04:49 GMT, Robbin Ehn <rehn at openjdk.org> wrote:

> Hi all, please consider.
> 
> latomic is used for non native atomic operation which causes problems with extra dependency.
> This have been fixed in recent gcc, so latomic is no longer needed.
> 
> Added new gtest, passes t1 on vf2/qemu.

Looks good from a build perspective. It's nice to get rid of such special cases.

> This have been fixed in recent gcc, so latomic is no longer needed.

I just noticed this. Does this mean RISC-V requires a higher version of gcc than the current minimum of 6.0?

make/autoconf/libraries.m4 line 108:

> 106:          test "x$OPENJDK_$1_CPU" = xsh ||
> 107:          test "x$OPENJDK_$1_CPU" = xriscv32); then
> 108:       BASIC_JVM_LIBS_$1="$BASIC_JVM_LIBS_$1 -latomic"

... unrelated to your fix, I noted that this use of libatomic should probably check if we're on zero and a 32-bit CPU, not list all known 32-bit CPUs...

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

Marked as reviewed by ihse (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/15919#pullrequestreview-1645804267
PR Comment: https://git.openjdk.org/jdk/pull/15919#issuecomment-1736868585
PR Review Comment: https://git.openjdk.org/jdk/pull/15919#discussion_r1338174783


More information about the build-dev mailing list