sparc: Define FFI_TARGET_SPECIFIC_VARIADIC for v9

This is a port of

  http://gcc.gnu.org/viewcvs?rev=207763&root=gcc&view=rev

aka GCC PR libffi/60073, to the rewritten Sparc codebase.
Supposedly, we should have seen failures with the existing
libffi.call/cls_double_va.c testcase, but I hadn't.
Perhaps a gcc newer than 4.6.3 is required to see that...
x86: Fix some unwind errors
x86: Handle void arguments as if an empty structure

Since libffi currently doesn't allow empty structures, libgo
currently maps them to ffi_type_void.  Given that we'll abort
on this case, handle it gracefully.
Merge pull request #156 from rth7680/sparc

sparc: Define FFI_TARGET_SPECIFIC_VARIADIC for v9
Merge pull request #157 from rth7680/x86

Two fixes for x86