https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88422
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rguenth at gcc dot gnu.org --- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- The question would be what (simple-object-common.h) the following resolves to: /* Define ulong_type as an unsigned 64-bit type if available. Otherwise just make it unsigned long. */ #ifdef UNSIGNED_64BIT_TYPE __extension__ typedef UNSIGNED_64BIT_TYPE ulong_type; #else typedef unsigned long ulong_type; #endif it is tested by configure: # Look for a 64-bit type. AC_MSG_CHECKING([for a 64-bit type]) AC_CACHE_VAL(liberty_cv_uint64, [AC_TRY_COMPILE( [#ifdef HAVE_STDINT_H #include <stdint.h> #endif], [extern uint64_t foo;], liberty_cv_uint64=uint64_t, [AC_TRY_COMPILE( [#ifdef HAVE_LIMITS_H #include <limits.h> #endif #ifndef CHAR_BIT #define CHAR_BIT 8 #endif], [extern char foo[sizeof(long) * CHAR_BIT >= 64 ? 1 : -1];], liberty_cv_uint64="unsigned long", [AC_TRY_COMPILE( [#ifdef HAVE_LIMITS_H #include <limits.h> #endif #ifndef CHAR_BIT #define CHAR_BIT 8 #endif], [extern char foo[sizeof(long long) * CHAR_BIT >= 64 ? 1 : -1];], liberty_cv_uint64="unsigned long long", liberty_cv_uint64=none)])])]) AC_MSG_RESULT($liberty_cv_uint64) if test "$liberty_cv_uint64" != none; then AC_DEFINE_UNQUOTED(UNSIGNED_64BIT_TYPE, $liberty_cv_uint64, [Define to an unsigned 64-bit type available in the compiler.]) fi the fallback for using unsigned long should probably be #error instead. Not sure if we actually need this given arm-eabi should be ELF32?