On Mon, 22 Aug 2016, Andy Ross wrote: > And gcc, as seen by this patch, sets it to a long because it thinks > that's what newlib *wants*.
That would be because a newlib version that included the change commit 843e635aaa02f16f314688ba5dd8a5edc3929095 Author: Jeff Johnston <jjohn...@redhat.com> Date: Fri Dec 16 19:03:12 2005 +0000 2005-12-16 Ralf Corsepius <ralf.corsep...@rtems.org> * libc/include/stdint.h: Prefer long over int for int32_t. Use __have_long32 to set up int32_t. * libc/include/inttypes.h: Use "#if xxx" instead of "#ifdef xxx" (Sync with stdint.h). was the basis for GCC's understanding of the types used by newlib, but at some subsequent point newlib changed its choice of type again. -- Joseph S. Myers jos...@codesourcery.com