Building OpenJDK9 on Mac

java
この記事は約2分で読めます。

Javaをデバッグ実行したくOpenJDKをmac上でビルドした時のメモ。僕の環境は以下の通り。

ビルド環境

  • OS X EL Captain 10.11.5
  • XCode7.3.1
  • JDK1.8.0_77

  • OpenJDK9

ビルド

OpenJDKのリポジトリはmercurialでホスティングされているのでインストールする。

続いてOpenJDK9のビルド。OpenJDK9からは、clangコンパイラに対応しているらしい。README-builds.htmlを読むと、以下のようなビルド環境が前提となっている。

Base OS and Architecture OS C/C++ Compiler Bootstrap JDK
Mac OS X X64 (64-bit) Mac OS X 10.9 “Mavericks” Xcode 6.3 or newer JDK 8

無事にビルドが終わるとbuildディレクトリ下に各種バイナリファイルが生成される。

デバッグ実行

今回は、lldbを使って行なう。ちなみに、gdbの場合はコード署名が必要となる(参考リンク参照)。

Javaのサンプルプログラムは以下の通り。

続いてサンプルプログラムをコンパイルしjavaを実行してみる。

ステップ実行していくと、get_cpu_info_stub(&_cpuid_info);の所でSIGSEGVで落ちる。。この先は深くてまだ追えていない。

参考リンク

  • http://openjdk.java.net
  • http://jcdav.is/2015/08/26/building-a-debug-jvm/
  • https://bugs.openjdk.java.net/browse/JDK-8152856
  • http://d.hatena.ne.jp/torazuka/20150102/buildjdk9
  • http://qiita.com/takahashim/items/204ffa698afe09bd4e28
  • http://lldb.llvm.org/lldb-gdb.html

コメント

タイトルとURLをコピーしました