RFR: 8295033: hsdis configure error when cross-compiling with --with-binutils-src [v4]
Aleksey Shipilev
shade at openjdk.org
Wed Oct 12 07:24:13 UTC 2022
On Wed, 12 Oct 2022 01:25:22 GMT, Dingli Zhang <dzhang at openjdk.org> wrote:
>> I built hsdis with the following parameters from source code of binutils while cross-compiling:
>>
>> --with-hsdis=binutils \
>> --with-binutils-src=/home/dingli/jdk-tools/binutils-2.38
>>
>>
>> But configure will exit with the following error:
>>
>> checking whether we are cross compiling... configure: error: in `/home/dingli/jdk-tools/binutils-2.38-src':
>> configure: error: cannot run C compiled programs.
>> If you meant to cross compile, use `--host'.
>> See `config.log' for more details
>> configure: Automatic building of binutils failed on configure. Try building it manually
>> configure: error: Cannot continue
>> configure exiting with result code 1
>>
>>
>> The reason for the error is that binutils wants to be configured with --host during cross-compilation. So we can determine if we are currently cross-compiling and add the --host parameter to binutils_target:
>>
>> diff --git a/make/autoconf/lib-hsdis.m4 b/make/autoconf/lib-hsdis.m4
>> index d72bbf6df32..dddc1cf6a4d 100644
>> --- a/make/autoconf/lib-hsdis.m4
>> +++ b/make/autoconf/lib-hsdis.m4
>> @@ -175,7 +175,11 @@ AC_DEFUN([LIB_BUILD_BINUTILS],
>> fi
>> else
>> binutils_cc="$CC $SYSROOT_CFLAGS"
>> - binutils_target=""
>> + if test "x$host" = "x$build"; then
>> + binutils_target=""
>> + else
>> + binutils_target="--host=$host"
>> + fi
>> fi
>> binutils_cflags="$binutils_cflags $MACHINE_FLAG $JVM_PICFLAG $C_O_FLAG_NORM"
>>
>>
>>
>> In the meantime, I removed some useless code about hsdis-demo because hsdis-demo.c was removed in [JDK-8275128](https://bugs.openjdk.org/browse/JDK-8275128) .
>>
>> ## Testing:
>>
>> - cross compile for RISC-V on x86_64
>
> Dingli Zhang has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains two commits:
>
> - Use COMPILE_TYPE and OPENJDK_TARGET_AUTOCONF_NAME instead
> - Add hsdis-src support for cross-compile
Marked as reviewed by shade (Reviewer).
-------------
PR: https://git.openjdk.org/jdk/pull/10628
More information about the build-dev
mailing list