JDK-8239514 : Build for arm-linux-gnueabihf fails with undefined reference 'read_polling_page'
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 15
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: linux_ubuntu
  • CPU: x86_64
  • Submitted: 2020-02-19
  • Updated: 2020-08-01
  • Resolved: 2020-03-07
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 15
15 b14Fixed
Related Reports
Relates :  
Description
ADDITIONAL SYSTEM INFORMATION :
Ubuntu 18.04.4 LTS
openjdk 13.0.2

A DESCRIPTION OF THE PROBLEM :
Building openjdk from master branch fails with missing hotspot function references. 
Building from jdk-14+36 results in a successful build
I have builds for 10,11,12,14 and all build successfully, just current master branch fails.
Have updated my devkit to Fedora 21, which brings in a newer gcc, but error is still the same

REGRESSION : Last worked in version 14

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Follow building.md instructions for 'arm-linux-gnueabihf' target. 

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
A successful build 
ACTUAL -
=== Output from failing command(s) repeated here ===
* For target hotspot_variant-client_libjvm_gtest_objs_BUILD_GTEST_LIBJVM_link:
/home/dell/Documents/MiscProjects/iw-openjdk/submodules/openjdk/build/linux-arm-normal-client-release/hotspot/variant-client/libjvm/objs/c1_LIRAssembler_arm.o:c1_LIRAssembler_arm.cpp:function LIR_Assembler::return_op(LIR_OprDesc*): error: undefined reference to 'MacroAssembler::read_polling_page(RegisterImpl*, relocInfo::relocType)'
/home/dell/Documents/MiscProjects/iw-openjdk/submodules/openjdk/build/linux-arm-normal-client-release/hotspot/variant-client/libjvm/objs/c1_LIRAssembler_arm.o:c1_LIRAssembler_arm.cpp:function LIR_Assembler::safepoint_poll(LIR_OprDesc*, CodeEmitInfo*): error: undefined reference to 'MacroAssembler::read_polling_page(RegisterImpl*, relocInfo::relocType)'
/home/dell/Documents/MiscProjects/iw-openjdk/submodules/openjdk/build/linux-arm-normal-client-release/hotspot/variant-client/libjvm/objs/sharedRuntime_arm.o:sharedRuntime_arm.cpp:function SharedRuntime::generate_native_wrapper(MacroAssembler*, methodHandle const&, int, BasicType*, VMRegPair*, BasicType, unsigned char*): error: undefined reference to 'MacroAssembler::safepoint_poll(RegisterImpl*, Label&)'
/home/dell/Documents/MiscProjects/iw-openjdk/submodules/openjdk/build/linux-arm-normal-client-release/hotspot/variant-client/libjvm/objs/templateInterpreterGenerator_arm.o:templateInterpreterGenerator_arm.cpp:function TemplateInterpreterGenerator::generate_native_entry(bool): error: undefined reference to 'MacroAssembler::safepoint_poll(RegisterImpl*, Label&)'
collect2: error: ld returned 1 exit status
* For target hotspot_variant-client_libjvm_objs_BUILD_LIBJVM_link:
/home/dell/Documents/MiscProjects/iw-openjdk/submodules/openjdk/build/linux-arm-normal-client-release/hotspot/variant-client/libjvm/objs/c1_LIRAssembler_arm.o:c1_LIRAssembler_arm.cpp:function LIR_Assembler::return_op(LIR_OprDesc*): error: undefined reference to 'MacroAssembler::read_polling_page(RegisterImpl*, relocInfo::relocType)'
/home/dell/Documents/MiscProjects/iw-openjdk/submodules/openjdk/build/linux-arm-normal-client-release/hotspot/variant-client/libjvm/objs/c1_LIRAssembler_arm.o:c1_LIRAssembler_arm.cpp:function LIR_Assembler::safepoint_poll(LIR_OprDesc*, CodeEmitInfo*): error: undefined reference to 'MacroAssembler::read_polling_page(RegisterImpl*, relocInfo::relocType)'
/home/dell/Documents/MiscProjects/iw-openjdk/submodules/openjdk/build/linux-arm-normal-client-release/hotspot/variant-client/libjvm/objs/sharedRuntime_arm.o:sharedRuntime_arm.cpp:function SharedRuntime::generate_native_wrapper(MacroAssembler*, methodHandle const&, int, BasicType*, VMRegPair*, BasicType, unsigned char*): error: undefined reference to 'MacroAssembler::safepoint_poll(RegisterImpl*, Label&)'
/home/dell/Documents/MiscProjects/iw-openjdk/submodules/openjdk/build/linux-arm-normal-client-release/hotspot/variant-client/libjvm/objs/templateInterpreterGenerator_arm.o:templateInterpreterGenerator_arm.cpp:function TemplateInterpreterGenerator::generate_native_entry(bool): error: undefined reference to 'MacroAssembler::safepoint_poll(RegisterImpl*, Label&)'
collect2: error: ld returned 1 exit status

* All command lines available in /home/dell/Documents/MiscProjects/iw-openjdk/submodules/openjdk/build/linux-arm-normal-client-release/make-support/fail
ure-logs.
=== End of repeated output ===

FREQUENCY : always



Comments
[~bulasevich], could you please confirm that the defect is fixed in jdk15 w/ the fix? if it's so, please close/verify this bug as 'verified'
15-07-2020

URL: https://hg.openjdk.java.net/jdk/jdk/rev/4b80c89e76ca User: bulasevich Date: 2020-03-07 13:27:21 +0000
07-03-2020

http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/2020-February/038203.html
21-02-2020

With linker issue fix I found runtime guarantee fail caused by missing "debug" info for the given PC: # Internal Error (compiledMethod.cpp:288), pid=7411, tid=7412 # guarantee(pd != NULL) failed: scope must be present Fix to address both issues: http://cr.openjdk.java.net/~bulasevich/8239514/webrev.01
21-02-2020

Moved to runtime and assigning to Boris.
20-02-2020

This problem was introduced by JDK-8229971. The missing methods are defined within an `ifdef COMPILER2` and the reporter is building COMPILER1.
20-02-2020