On 2017-07-18 I wrote: > + [# In the n32 ABI, _ABIN32 is defined, _ABIO32 is not defined, and > + # _MIPS_SIM == _ABIN32. > + # In the 32 ABI, _ABIO32 is defined, _ABIN32 is not defined, and > + # _MIPS_SIM == _ABIO32. > AC_EGREP_CPP([yes], > - [#if __mips >= 3 > + [#if defined _ABIN32 > yes > #endif], > [gl_cv_host_cpu_c_abi=mipsn32],
Well, it turns out it is not a good practice to test 'defined _ABIN32' or 'defined _ABIO32' because once <sgidefs.h> gets included, they are both defined! It's better to test _MIPS_SIM. 2017-08-19 Bruno Haible <[email protected]> host-cpu-c-abi: Improve detection of MIPS ABI. * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, test the value of _MIPS_SIM. diff --git a/m4/host-cpu-c-abi.m4 b/m4/host-cpu-c-abi.m4 index 01c5a66..02f7b8a 100644 --- a/m4/host-cpu-c-abi.m4 +++ b/m4/host-cpu-c-abi.m4 @@ -1,4 +1,4 @@ -# host-cpu-c-abi.m4 serial 6 +# host-cpu-c-abi.m4 serial 7 dnl Copyright (C) 2002-2017 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -157,12 +157,12 @@ changequote([,])dnl yes #endif], [gl_cv_host_cpu_c_abi=mips64], - [# In the n32 ABI, _ABIN32 is defined, _ABIO32 is not defined, and - # _MIPS_SIM == _ABIN32. - # In the 32 ABI, _ABIO32 is defined, _ABIN32 is not defined, and - # _MIPS_SIM == _ABIO32. + [# In the n32 ABI, _ABIN32 is defined, _ABIO32 is not defined (but + # may later get defined by <sgidefs.h>), and _MIPS_SIM == _ABIN32. + # In the 32 ABI, _ABIO32 is defined, _ABIN32 is not defined (but + # may later get defined by <sgidefs.h>), and _MIPS_SIM == _ABIO32. AC_EGREP_CPP([yes], - [#if defined _ABIN32 + [#if (_MIPS_SIM == _ABIN32) yes #endif], [gl_cv_host_cpu_c_abi=mipsn32],
