[8] RFR: Shenandoah: fix runtime linking failure due to non-compiled shenandoahBarrierSetC1

Aleksey Shipilev shade at redhat.com
Wed Jun 3 11:50:17 UTC 2020


Turns out, C1 build configuration is odd: it explicitly lists the directories that contain
C1-related files. Without the patch below, the VM would not start and fail with runtime linking
failure. What is surprising, this would only manifest when you actually try to run the VM. The
builds would succeed either way.

Fix:

diff -r e16a3f855bf3 make/linux/makefiles/vm.make
--- a/make/linux/makefiles/vm.make      Tue Jun 02 22:34:25 2020 +0200
+++ b/make/linux/makefiles/vm.make      Wed Jun 03 13:14:50 2020 +0200
@@ -168,6 +168,7 @@

 COMPILER1_PATHS := $(call altsrc,$(HS_COMMON_SRC)/share/vm/c1)
 COMPILER1_PATHS += $(HS_COMMON_SRC)/share/vm/c1
+COMPILER1_PATHS += $(HS_COMMON_SRC)/share/vm/gc_implementation/shenandoah/c1

 COMPILER2_PATHS := $(call altsrc,$(HS_COMMON_SRC)/share/vm/opto)
 COMPILER2_PATHS += $(call altsrc,$(HS_COMMON_SRC)/share/vm/libadt)

Testing: Linux x86_64 builds and tests

-- 
Thanks,
-Aleksey



More information about the shenandoah-dev mailing list