RFR: 8295795: hsdis does not build with binutils 2.39+ [v6]

Robbin Ehn rehn at openjdk.org
Thu Oct 19 12:58:40 UTC 2023


> Hi please consider.
> 
> This works with 2.30, 2.34, 2.38, 2.39, 2.40, 2.41 and current master head. (tested x64 and some RV)
> 
> There are 4 changes in binutils we work around.
> - zstd compressed debug sections
> - libsframe added
> - init_disassemble_info() change
> - libbfd.a is only present in .lib directory in newer binutils builds (older it is in both directories) (I think the issue is that we never do make install, thus have dependency on internal artifact placement)
> 
> Specific to RV, there is a bug in binutils causing the standard extensions not being added to disassembler if we pass in NULL.
> 
> This no way near perfect, but at least we can build hsdis with any contemporary binutils.
> 
> Todo better I think we need to build and install binutils to check the version and then use that version to figure out what options to use when re-building and re-installing binutils for hsdis.
> 
> I asked tool-chain people about our issues, they said, you can't do that. I.e. have source dependencies on many binutils versions.
> 
> As RV is new and have new instructions added to it frequently we really need to be able to build with bleeding-edge binutils. (capstone RV is not actively worked on, llvm have many more dependencies)

Robbin Ehn has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains eight additional commits since the last revision:

 - Fixed include
 - Fix installed binutils
 - Merge branch 'master' into binutils-working
 - Minor fixes
 - Check API during conf
 - Reverted bad change
 - Added parameter name
 - Binutils fix

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/15138/files
  - new: https://git.openjdk.org/jdk/pull/15138/files/b514c33b..ae9624c2

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=15138&range=05
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=15138&range=04-05

  Stats: 182899 lines in 4985 files changed: 89966 ins; 38557 del; 54376 mod
  Patch: https://git.openjdk.org/jdk/pull/15138.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/15138/head:pull/15138

PR: https://git.openjdk.org/jdk/pull/15138


More information about the hotspot-compiler-dev mailing list