Java platform and application experts

JVM Tools

You stumbled upon a page for engineers like us, who like to have the tools handy that help develop HotSpot JVM. One of such tools is the HotSpot disassembler library called hsdis (source code available from OpenJDK), for which we provide binaries for the following platforms: Linux 64, Linux ARM64, Linux ARM32 HardFloat.

hsdis.so binaries

Date Platform JDK Library SHA1 Binutils
2017-12-29 Linux ARMv7l 9 hsdis-armv7l.so 3721327284862e45c6757d6c7511c9989f80630c 2.28
2017-06-22 Linux x86-64 9 hsdis-amd64.so 73fe914734490666032b865aac53fc155196d558 2.28
2017-06-14 Linux ARMv8 9 hsdis-aarch64.so 3de8038ea3799c47d03826e6d9286ce11d4f6c9d 2.28

Note, when more recent binutils are used, the library knows more instructions.

Building hsdis.so

To build hsdis.so

■ Download the following GNU source packages: m4 (fresh version for bison), bison, texinfo, binutils:

http://ftp.gnu.org/gnu/m4/m4-1.4.tar.gz http://ftp.gnu.org/gnu/bison/bison-3.0.tar.gz http://ftp.gnu.org/gnu/texinfo/texinfo-6.3.tar.gz http://ftp.gnu.org/gnu/binutils/binutils-2.28.tar.gz

■ install m4, bison, texinfo, but not binutils:

cd ...
./configure
make ## on amd64 it'll probably require "make all64" instead
sudo make install

■ scp openjdk 9 source tree tip

e.g. to get snapshot from cross-build tree use

zip -9 -r --exclude=*.hg* --exclude=*build* open9.zip open9

■ unpack jdk sources

■ unpack binutils as hotspot/src/share/tools/hsdis/build/binutils

■ build the library:

cd hotspot/src/share/tools/hsdis
make

■ Get the image in build/linux-aarch64/

Known issues

Raspbian

'sudo make install' of m4 may not work, workaround is to install it elsewhere.

For m4:

./configure --prefix=/home/pi/m4bin

For bison

./configure M4=/home/pi/m4bin/bin/m4