Patch for recent versions of glibc which always assume int64_t support. Fixes compilation error with aarch64 target: ./boost/atomic/atomic.hpp: At global scope: ./boost/atomic/atomic.hpp:202:16: error: 'uintptr_t' was not declared in this scope typedef atomic atomic_uintptr_t; ^ ./boost/atomic/atomic.hpp:202:25: error: template argument 1 is invalid typedef atomic atomic_uintptr_t; ^ ./boost/atomic/atomic.hpp:202:43: error: invalid type in declaration before ';' token typedef atomic atomic_uintptr_t; ^ Reported here: https://svn.boost.org/trac/boost/ticket/8973 Fix reported here: https://svn.boost.org/trac/boost/ticket/8731 Signed-off-by: Luca Ceresoli Backported-from: https://svn.boost.org/trac/boost/changeset/84950 --- a/boost/cstdint.hpp (revision 84805) +++ b/boost/cstdint.hpp (revision 84950) @@ -42,5 +42,8 @@ // See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990 // -#if defined(BOOST_HAS_STDINT_H) && (!defined(__GLIBC__) || defined(__GLIBC_HAVE_LONG_LONG)) +#if defined(BOOST_HAS_STDINT_H) \ + && (!defined(__GLIBC__) \ + || defined(__GLIBC_HAVE_LONG_LONG) \ + || (defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 17))))) // The following #include is an implementation artifact; not part of interface.