Skip to content

hsdis fails to build under binutils-2.39 #3

@DingliZhang

Description

@DingliZhang

When I cross-compile jdk, hsdis will fail to build when using binutils2.39. The configure script like this:

$ CC=/home/dingli/toolchain-rvv/riscv64/bin/riscv64-unknown-linux-gnu-gcc \
CXX=/home/dingli/toolchain-rvv/riscv64/bin/riscv64-unknown-linux-gnu-g++ \
bash configure \
--with-boot-jdk=/home/dingli/jdk-bin/jdk-19.0.1 \
--openjdk-target=riscv64-unknown-linux-gnu \
--with-sysroot=/home/dingli/toolchain-rvv/riscv64/sysroot \
--disable-warnings-as-errors \
--with-native-debug-symbols=internal \
--with-debug-level=fastdebug \
--with-hsdis=binutils \
--with-binutils-src=/home/dingli/jdk-tools/binutils-2.39
$ make build-hsdis -j && make install-hsdis -j

And fails like this:

ERROR: Build failed for target 'build-hsdis' in configuration 'linux-riscv64-server-fastdebug' (exit code 2) 

=== Output from failing command(s) repeated here ===
* For target support_hsdis_hsdis-binutils.o:
/home/dingli/jdk-rvv/src/utils/hsdis/binutils/hsdis-binutils.c: In function 'init_disassemble_info_from_bfd':
/home/dingli/jdk-rvv/src/utils/hsdis/binutils/hsdis-binutils.c:564:3: error: too few arguments to function 'init_disassemble_info'
  564 |   init_disassemble_info(dinfo, stream, fprintf_func);
      |   ^~~~~~~~~~~~~~~~~~~~~
In file included from /home/dingli/jdk-rvv/src/utils/hsdis/binutils/hsdis-binutils.c:62:
/home/dingli/jdk-tools/binutils-2.39/include/dis-asm.h:472:13: note: declared here
  472 | extern void init_disassemble_info (struct disassemble_info *dinfo, void *stream,
      |             ^~~~~~~~~~~~~~~~~~~~~

* All command lines available in /home/dingli/jdk-rvv/build/linux-riscv64-server-fastdebug/make-support/failure-logs.
=== End of repeated output ===

No indication of failed target found.
HELP: Try searching the build log for '] Error'.
HELP: Run 'make doctor' to diagnose build problems.

The reasson is that binutils add additional parameter of init_disassemble_info()[1], which now causes compilation failures.

[1] https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=60a3da00bd5407f07d64dff82a4dae98230dfaac

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions