Hello,

The fix looks correct, but I'm starting to think that maybe the conditional should be inverted and instead list the architectures that actually use -m64? It seems a whole lot of them don't.

/Erik


On 2018-03-21 23:24, Ao Qi wrote:
Hi,

I found configure of http://hg.openjdk.java.net/jdk/jdk was broken on MIPS.

the output of configure:
...
configure: Using default toolchain gcc (GNU Compiler Collection)
checking for gcc... /usr/bin/gcc
checking resolved symbolic links for CC...
/usr/bin/mips64el-linux-gnuabi64-gcc-6
configure: Using gcc C compiler version 6.3.0 [gcc (Debian 6.3.0-18)
6.3.0 20170516]
checking whether the C compiler works... no
configure: error: in `/home/loongson/aoqi/jdk':
configure: error: C compiler cannot create executables
See `config.log' for more details
configure exiting with result code 77
...

the related content of config.log:
...
configure:35256: checking whether the C compiler works
configure:35278: /usr/bin/gcc -m64    -m64   conftest.c  >&5
gcc: error: unrecognized command line option '-m64'
gcc: error: unrecognized command line option '-m64'
configure:35282: $? = 1
configure:35320: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "OpenJDK"
| #define PACKAGE_TARNAME "openjdk"
| #define PACKAGE_VERSION "jdk9"
| #define PACKAGE_STRING "OpenJDK jdk9"
| #define PACKAGE_BUGREPORT "build-dev@openjdk.java.net"
| #define PACKAGE_URL "http://openjdk.java.net";
| /* end confdefs.h.  */
|
| int
| main ()
| {
|
|   ;
|   return 0;
| }
configure:35325: error: in `/home/loongson/aoqi/jdk':
configure:35327: error: C compiler cannot create executables
See `config.log' for more details
...


I made a small patch to pass the configure:

$ hg diff make/autoconf/flags.m4
diff -r 3acb379b8672 make/autoconf/flags.m4
--- a/make/autoconf/flags.m4 Thu Mar 22 08:09:51 2018 +0800
+++ b/make/autoconf/flags.m4 Thu Mar 22 12:55:00 2018 +0800
@@ -237,7 +237,11 @@
      MACHINE_FLAG="-q${OPENJDK_TARGET_CPU_BITS}"
    elif test "x$TOOLCHAIN_TYPE" != xmicrosoft; then
      if test "x$OPENJDK_TARGET_CPU" != xaarch64 &&
-        test "x$OPENJDK_TARGET_CPU" != xarm; then
+        test "x$OPENJDK_TARGET_CPU" != xarm &&
+        test "x$OPENJDK_TARGET_CPU" != xmips &&
+        test "x$OPENJDK_TARGET_CPU" != xmipsel &&
+        test "x$OPENJDK_TARGET_CPU" != xmips64 &&
+        test "x$OPENJDK_TARGET_CPU" != xmips64el; then
        MACHINE_FLAG="-m${OPENJDK_TARGET_CPU_BITS}"
      fi
    fi


I think this is the same problem with bug 8199052 and 8199152. Could
someone help to review the change?

Thanks,
Ao Qi

Reply via email to