首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为openJDK11构建hsdis-amd64.dll?

如何为openJDK11构建hsdis-amd64.dll?
EN

Stack Overflow用户
提问于 2019-03-24 11:11:46
回答 1查看 1.2K关注 0票数 0

我正在上一门关于Java性能优化的课程,我只能下载所有所需的文件,这样我就可以构建这个DLL -- hsdis-amd64.dll。它应该允许我在本课程中使用JITWatch并了解JIT。

无论如何,这里提供的下载热点的说明都是为您的JDK提供的。我的JDK是11构建11+28。

这是openJDK存储库

  1. 我应该看看look /MYVERSION/hotspot
  2. 单击“标签”,选择“我的确切版本”
  3. 单击bz2下载
  4. 之后,我应该修补我刚刚下载的hotspot hsdiss库,然后
  5. 我们成功了。
  6. 将输出DLL抛入我的java/bin/

我看到DLL不能因为许可证问题而预先建立。知道人们是如何在JITWatch中使用openJDK11的吗?

EN

回答 1

Stack Overflow用户

发布于 2019-10-08 23:30:22

我最近根据这里的一篇文章建立了它:https://dropzone.nfshost.com/hsdis/

  1. 安装Cygwin。在Select屏幕上,添加以下软件包(展开All/Devel类别,搜索包的名称,并将包的New状态从Skip更改为最新的非测试版本): gcc-核心制明64-i 686-gcc-核心(只适用于hsdis-i386.dll),明w64-x86_64-核(仅适用于hsdis-amd64.dll)
  2. 在终端外壳中运行Cygwin
  3. 将GNU 2.32下载到Cygwin主目录,并使用tar xvf binutils-2.32.tar.xz将其解压缩到可以轻松从cygwin路径访问的位置。
  4. 改为JDK/src/utils/hsdis目录
  5. 构建这样的64位Windows: 使OS=Linux MINGW=x86_64-w64-mingw32 BINUTILS=/cygdrive/c/cygwin/binutils-2.32
  6. 如果上面的命令失败(与某些未修补的JDK构建一样),则使用: C:(.text+0x5b):未定义的对`inflateInit_的引用

编辑Makefile,查找libiberty.a并将库列表更改为包含libz.a,如下所示:

代码语言:javascript
复制
   LIBRARIES =  $(TARGET_DIR)/bfd/libbfd.a \
        $(TARGET_DIR)/opcodes/libopcodes.a \
        $(TARGET_DIR)/libiberty/libiberty.a \
        $(TARGET_DIR)/zlib/libz.a
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55323194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档