diff -rupN --no-dereference binutils-2.37/bfd/configure binutils-2.37-new/bfd/configure
--- binutils-2.37/bfd/configure	2021-07-18 18:36:53.000000000 +0200
+++ binutils-2.37-new/bfd/configure	2021-07-24 21:59:26.907727053 +0200
@@ -12751,11 +12751,13 @@ if test "x${ac_cv_sizeof_long}" = "x8";
   BFD_HOST_64BIT_LONG=1
   test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long"
   test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long"
-elif test "x${ac_cv_sizeof_long_long}" = "x8"; then
+fi
+if test "x${ac_cv_sizeof_long_long}" = "x8"; then
   BFD_HOST_64BIT_LONG_LONG=1
   test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long long"
   test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long long"
-  if test "x${ac_cv_sizeof_void_p}" = "x8"; then
+  if test "x${ac_cv_sizeof_void_p}" = "x8" \
+          -a "x${ac_cv_sizeof_long}" != "x8"; then
     BFD_HOSTPTR_T="unsigned long long"
   fi
 fi
diff -rupN --no-dereference binutils-2.37/bfd/configure.ac binutils-2.37-new/bfd/configure.ac
--- binutils-2.37/bfd/configure.ac	2021-07-08 13:37:19.000000000 +0200
+++ binutils-2.37-new/bfd/configure.ac	2021-07-24 21:59:26.908727043 +0200
@@ -230,11 +230,13 @@ if test "x${ac_cv_sizeof_long}" = "x8";
   BFD_HOST_64BIT_LONG=1
   test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long"
   test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long"
-elif test "x${ac_cv_sizeof_long_long}" = "x8"; then
+fi
+if test "x${ac_cv_sizeof_long_long}" = "x8"; then
   BFD_HOST_64BIT_LONG_LONG=1
   test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long long"
   test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long long"
-  if test "x${ac_cv_sizeof_void_p}" = "x8"; then
+  if test "x${ac_cv_sizeof_void_p}" = "x8" \
+          -a "x${ac_cv_sizeof_long}" != "x8"; then
     BFD_HOSTPTR_T="unsigned long long"
   fi
 fi
