r276215 made a change to annotate _Unwind_Exception with "attribute((aligned))" so that exception objects are double-word aligned. This fix hasn't been incorporated to unwind.h on Darwin yet and, since it is an ABI breaking change, I'm not sure it will ever happen in the future.
Instead of annotating struct _Unwind_Exception with the attribute, this patch annotates field unwindHeader of __cxa_exception. This fixes the test case (exception_object_alignment.sh.cpp) that used to crash because of the under-aligned object.
rdar://problem/25364625