[RFR]: 8190570: Zero fails to build on linux-sparc due undefined reference

John Paul Adrian Glaubitz glaubitz at physik.fu-berlin.de
Mon Nov 6 18:50:04 UTC 2017


Hi!

Trying to build Zero on linux-sparc currently fails with:

=== Output from failing command(s) repeated here ===
/usr/bin/printf "* For target hotspot_variant-zero_libjvm_gtest_objs_BUILD_GTEST_LIBJVM_link:\n"
* For target hotspot_variant-zero_libjvm_gtest_objs_BUILD_GTEST_LIBJVM_link:
(/bin/grep -v -e "^Note: including file:" <
/home/glaubitz/openjdk/hs/build/linux-sparcv9-normal-zero-release/make-support/failure-logs/hotspot_variant-zero_libjvm_gtest_objs_BUILD_GTEST_LIBJVM_link.log
|| true) | /usr/bin/head -n 12
/home/glaubitz/openjdk/hs/build/linux-sparcv9-normal-zero-release/hotspot/variant-zero/libjvm/objs/init.o: In function `init_globals()':
/home/glaubitz/openjdk/hs/src/hotspot/share/runtime/init.cpp:120: undefined reference to `g1_barrier_stubs_init()'
collect2: error: ld returned 1 exit status
if test `/usr/bin/wc -l <
/home/glaubitz/openjdk/hs/build/linux-sparcv9-normal-zero-release/make-support/failure-logs/hotspot_variant-zero_libjvm_gtest_objs_BUILD_GTEST_LIBJVM_link.log`
-gt 12; then /bin/echo " ... (rest of output omitted)" ; fi
/usr/bin/printf "* For target hotspot_variant-zero_libjvm_objs_BUILD_LIBJVM_link:\n"
* For target hotspot_variant-zero_libjvm_objs_BUILD_LIBJVM_link:
(/bin/grep -v -e "^Note: including file:" <
/home/glaubitz/openjdk/hs/build/linux-sparcv9-normal-zero-release/make-support/failure-logs/hotspot_variant-zero_libjvm_objs_BUILD_LIBJVM_link.log || true) |
/usr/bin/head -n 12
/home/glaubitz/openjdk/hs/build/linux-sparcv9-normal-zero-release/hotspot/variant-zero/libjvm/objs/init.o: In function `init_globals()':
/home/glaubitz/openjdk/hs/src/hotspot/share/runtime/init.cpp:120: undefined reference to `g1_barrier_stubs_init()'
collect2: error: ld returned 1 exit status
if test `/usr/bin/wc -l <
/home/glaubitz/openjdk/hs/build/linux-sparcv9-normal-zero-release/make-support/failure-logs/hotspot_variant-zero_libjvm_objs_BUILD_LIBJVM_link.log` -gt 12; then
/bin/echo " ... (rest of output omitted)" ; fi
/usr/bin/printf "\n* All command lines available in /home/glaubitz/openjdk/hs/build/linux-sparcv9-normal-zero-release/make-support/failure-logs.\n"

* All command lines available in /home/glaubitz/openjdk/hs/build/linux-sparcv9-normal-zero-release/make-support/failure-logs.
/usr/bin/printf "=== End of repeated output ===\n"
=== End of repeated output ===

This happens because of this snippet of code in src/hotspot/share/runtime/init.cpp:

#if INCLUDE_ALL_GCS
// depends on universe_init, must be before interpreter_init (currently only on SPARC)
void g1_barrier_stubs_init() NOT_SPARC({});
#endif

I have submitted a possible fix to webrev in [1]. Please review.

Thanks,
Adrian

> [1] http://cr.openjdk.java.net/~glaubitz/8190570/webrev.00/

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaubitz at debian.org
`. `'   Freie Universitaet Berlin - glaubitz at physik.fu-berlin.de
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913


More information about the hotspot-dev mailing list