RFR: 8295033: hsdis configure error when cross-compiling with --with-binutils-src

Aleksey Shipilev shade at openjdk.org
Tue Oct 11 13:09:14 UTC 2022


On Tue, 11 Oct 2022 11:38:02 GMT, Magnus Ihse Bursie <ihse at openjdk.org> wrote:

> Ok, we already have an exported value for `$host`, which is `$OPENJDK_TARGET_AUTOCONF_NAME`. Also, `$conf_openjdk_target` is used in the wrapper configure script. It is probably leaking into the main generated autoconf script, but it is definitely not supposed to be used there. Instead, it should only be used to setup the `--host=` option to autoconf. So looking for `$host` is fine I suppose, but we should do it using the OPENJDK_TARGET_AUTOCONF_NAME variable.

Quite!

Applying this patch over the PR:


diff --git a/make/autoconf/lib-hsdis.m4 b/make/autoconf/lib-hsdis.m4
index dddc1cf6a4d..72bd08c7108 100644
--- a/make/autoconf/lib-hsdis.m4
+++ b/make/autoconf/lib-hsdis.m4
@@ -175,10 +175,10 @@ AC_DEFUN([LIB_BUILD_BINUTILS],
       fi
     else
       binutils_cc="$CC $SYSROOT_CFLAGS"
-      if test "x$host" = "x$build"; then
-        binutils_target=""
+      if test "x$COMPILE_TYPE" = xcross; then
+        binutils_target="--host=$OPENJDK_TARGET_AUTOCONF_NAME"
       else
-        binutils_target="--host=$host"
+        binutils_target=""
       fi
     fi
     binutils_cflags="$binutils_cflags $MACHINE_FLAG $JVM_PICFLAG $C_O_FLAG_NORM"


...successfully produces the hsdis binaries on all these platforms:


server-release-aarch64-linux-gnu-10
server-release-arm-linux-gnueabihf-10
server-release-i686-linux-gnu-10
server-release-powerpc64le-linux-gnu-10
server-release-powerpc64-linux-gnu-10
server-release-riscv64-linux-gnu-10
server-release-s390x-linux-gnu-10
server-release-x86_64-linux-gnu-10
zero-release-aarch64-linux-gnu-10
zero-release-alpha-linux-gnu-10
zero-release-arm-linux-gnueabi-10
zero-release-arm-linux-gnueabihf-10
zero-release-i686-linux-gnu-10
zero-release-m68k-linux-gnu-10
zero-release-mips64el-linux-gnuabi64-10
zero-release-mipsel-linux-gnu-10
zero-release-powerpc64le-linux-gnu-10
zero-release-powerpc64-linux-gnu-10
zero-release-powerpc-linux-gnu-10
zero-release-riscv64-linux-gnu-10
zero-release-s390x-linux-gnu-10
zero-release-sh4-linux-gnu-10
zero-release-sparc64-linux-gnu-10
zero-release-x86_64-linux-gnu-10


Therefore, I believe this is what we should do and then call it a day. (Then I also need to start building all these hsdis-es at [https://builds.shipilev.net/hsdis/](https://builds.shipilev.net/hsdis/))

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

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



More information about the build-dev mailing list