Hotspot broken on linux-sparc, most likely after JDK-8199712 (Flight Recorder)

John Paul Adrian Glaubitz glaubitz at physik.fu-berlin.de
Wed May 16 13:49:52 UTC 2018


On 05/16/2018 03:39 PM, Aleksey Shipilev wrote:
> It is there already:
>  ./src/hotspot/cpu/sparc/vm_version_ext_sparc.cpp
> 
> ...but you probably need:

Yes, I saw that. Sorry if that wasn't clear. I just meant that
while it's there, it's not being built for linux-sparc.

> diff -r 781f36c0831e src/hotspot/os/linux/os_perf_linux.cpp
> --- a/src/hotspot/os/linux/os_perf_linux.cpp	Wed May 16 13:14:58 2018 +0200
> +++ b/src/hotspot/os/linux/os_perf_linux.cpp	Wed May 16 15:39:14 2018 +0200
> @@ -40,6 +40,9 @@
>  #include "vm_version_ext_aarch64.hpp"
>  #endif
>  #endif
> +#ifdef SPARC
> +#include "vm_version_ext_sparc.hpp"
> +#endif
> 
>  #include <stdio.h>
>  #include <stdarg.h>

Yes, this seems to be the case. However, it seems that vm_version_ext_sparc.hpp
seems to be written with Solaris-only in mind :(

=== Output from failing command(s) repeated here ===
/usr/bin/printf "* For target hotspot_variant-server_libjvm_objs_os_perf_linux.o:\n" 
* For target hotspot_variant-server_libjvm_objs_os_perf_linux.o:
(/bin/grep -v -e "^Note: including file:" <  /srv/glaubitz/jdk/build/linux-sparcv9-normal-server-release/make-support/failure-logs/hotspot_variant-server_libjvm_objs_os_perf_linux.o.log || true) | /usr/bin/head -n 12 
In file included from /srv/glaubitz/jdk/src/hotspot/os/linux/os_perf_linux.cpp:43:0:
/srv/glaubitz/jdk/src/hotspot/cpu/sparc/vm_version_ext_sparc.hpp:30:10: fatal error: kstat.h: No such file or directory
 #include <kstat.h>
          ^~~~~~~~~
compilation terminated.
if test `/usr/bin/wc -l < /srv/glaubitz/jdk/build/linux-sparcv9-normal-server-release/make-support/failure-logs/hotspot_variant-server_libjvm_objs_os_perf_linux.o.log` -gt 12; then /bin/echo "   ... (rest of output omitted)" ; fi 
/usr/bin/printf "\n* All command lines available in /srv/glaubitz/jdk/build/linux-sparcv9-normal-server-release/make-support/failure-logs.\n" 

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

I assume this will need some more work as just commenting out this include
results in:

=== Output from failing command(s) repeated here ===
/usr/bin/printf "* For target hotspot_variant-server_libjvm_objs_os_perf_linux.o:\n" 
* For target hotspot_variant-server_libjvm_objs_os_perf_linux.o:
(/bin/grep -v -e "^Note: including file:" <  /srv/glaubitz/jdk/build/linux-sparcv9-normal-server-release/make-support/failure-logs/hotspot_variant-server_libjvm_objs_os_perf_linux.o.log || true) | /usr/bin/head -n 12 
In file included from /srv/glaubitz/jdk/src/hotspot/os/linux/os_perf_linux.cpp:43:0:
/srv/glaubitz/jdk/src/hotspot/cpu/sparc/vm_version_ext_sparc.hpp:50:10: error: ‘kid_t’ does not name a type; did you mean ‘id_t’?
   static kid_t             _kcid;
          ^~~~~
          id_t
if test `/usr/bin/wc -l < /srv/glaubitz/jdk/build/linux-sparcv9-normal-server-release/make-support/failure-logs/hotspot_variant-server_libjvm_objs_os_perf_linux.o.log` -gt 12; then /bin/echo "   ... (rest of output omitted)" ; fi 
/usr/bin/printf "\n* All command lines available in /srv/glaubitz/jdk/build/linux-sparcv9-normal-server-release/make-support/failure-logs.\n" 

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

Adrian

-- 
 .''`.  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