https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108408
--- Comment #4 from Corinna <vinschen at redhat dot com> --- I'm not sure what you mean with "hybrid". Cygwin is just one of the citizens in the newlib libc world, supporting 16, 32, and 64 bit targets. Usually the most full-featured one, but still... The underlying structures of newlib depend on the target in either case. Some small targets get a pretty reduced version of many structs and the rather monolithic _reent struct is even available in a split version for some targets. Having said that, there's no "one size fits all" for all supported targets in newlib, so to support newlib targets in general, a preprocessor based solution would be extremly helpful.