JDK-8253167 : ARM32 builds fail after JDK-8247910
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 16
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • OS: linux
  • CPU: arm
  • Submitted: 2020-09-15
  • Updated: 2024-11-22
  • Resolved: 2020-09-21
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11 JDK 16
11.0.12Fixed 16 b17Fixed
Related Reports
Duplicate :  
Relates :  
Relates :  
Description
Oh, this is a fun failure:

* For target hotspot_variant-server_libjvm_objs_ageTable.o:
In file included from /home/buildbot/worker/build-jdkX-linux/build/src/hotspot/share/utilities/globalDefinitions.hpp:514:0,
                 from /home/buildbot/worker/build-jdkX-linux/build/src/hotspot/share/memory/allocation.hpp:29,
                 from /home/buildbot/worker/build-jdkX-linux/build/src/hotspot/share/metaprogramming/primitiveConversions.hpp:28,
                 from /home/buildbot/worker/build-jdkX-linux/build/src/hotspot/share/oops/markWord.hpp:29,
                 from /home/buildbot/worker/build-jdkX-linux/build/src/hotspot/share/gc/shared/ageTable.hpp:28,
                 from /home/buildbot/worker/build-jdkX-linux/build/src/hotspot/share/gc/shared/ageTable.inline.hpp:28,
                 from /home/buildbot/worker/build-jdkX-linux/build/src/hotspot/share/gc/shared/ageTable.cpp:27:
/home/buildbot/worker/build-jdkX-linux/build/src/hotspot/share/utilities/align.hpp: In function 'constexpr T alignment_mask(T)':
/home/buildbot/worker/build-jdkX-linux/build/src/hotspot/cpu/arm/globalDefinitions_arm.hpp:61:20: error: 'asm' in 'constexpr' function
 #define BREAKPOINT __asm__ volatile ("bkpt")
                    ^
/home/buildbot/worker/build-jdkX-linux/build/src/hotspot/share/utilities/debug.hpp:59:5: note: in expansion of macro 'BREAKPOINT'
     BREAKPOINT;                                                                \
     ^~~~~~~~~~
/home/buildbot/worker/build-jdkX-linux/build/src/hotspot/share/utilities/debug.hpp:65:24: note: in expansion of macro 'vmassert'
   ... (rest of output omitted)

Comments
Fix Request (11u): Patch doesn't apply cleanly, because of a different copyright year. This is not technically an issue for 11u, but since the fix for JDK-8213483 (which is relevant for 11u and should be fixed) also fixes this issue, I request to fix this one as well. Webrev: https://cr.openjdk.java.net/~cgo/8213483/webrev.11u.01/ Review: https://mail.openjdk.java.net/pipermail/jdk-updates-dev/2021-April/005908.html
22-04-2021

Changeset: bca9e55b Author: Kim Barrett <kbarrett@openjdk.org> Date: 2020-09-21 00:31:26 +0000 URL: https://git.openjdk.java.net/jdk/commit/bca9e55b
21-09-2020

constexpr functions are not permitted to contain asm statements (until C++20), even if not executed by a constexpr invocation. This means assert (for example) can't be used in a constexpr function on arm32, because of the implementation of the BREAKPOINT macro as an asm statement. I expect win32 to have the same problem, but don't currently have a way to attempt a build to demonstrate that. I think the way to deal with both is to remove the asm-based implementations of BREAKPOINT and use the default that calls ::breakpoint(), as all the other platform variants do.
18-09-2020

ILW = HML = P2
15-09-2020