The modications work on Tru64 and IRIX. cc has understood .s suffixes
for a long time. You use cc instead of as because it knows how to run
the C preprocessor (often /lib/cpp, but not on all systems).
Looking at the Solaris cc manual page (via google), I see that its cc
has the same .S and .s distinction that gcc has, so my patch will not
work with Solaris either. IRIX has a separate issue in that it has
libffi support for n32 binaries, but doesn't have the ffi_closure
support, so while libffi compiles, _ctypes still fails to compile (same
would be true if gcc were used).