r311563 - Headers: give _Unwind_Control_Block double-word alignment
Saleem Abdulrasool via cfe-commits
cfe-commits at lists.llvm.org
Wed Aug 23 08:35:33 PDT 2017
Author: compnerd
Date: Wed Aug 23 08:35:33 2017
New Revision: 311563
URL: http://llvm.org/viewvc/llvm-project?rev=311563&view=rev
Log:
Headers: give _Unwind_Control_Block double-word alignment
The C++ ABI requires that the exception object (which under AEABI is the
`_Unwind_Control_Block`) is double-word aligned. The attribute was
applied to the `_Unwind_Exception` type, but not the
`_Unwind_Control_Block`. This should fix the libunwind test for the
alignment of the exception type.
Modified:
cfe/trunk/lib/Headers/unwind.h
Modified: cfe/trunk/lib/Headers/unwind.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/unwind.h?rev=311563&r1=311562&r2=311563&view=diff
==============================================================================
--- cfe/trunk/lib/Headers/unwind.h (original)
+++ cfe/trunk/lib/Headers/unwind.h Wed Aug 23 08:35:33 2017
@@ -149,7 +149,7 @@ struct _Unwind_Control_Block {
uint32_t reserved1;
} pr_cache;
long long int : 0; /* force alignment of next item to 8-byte boundary */
-};
+} __attribute__((__aligned__));
#else
struct _Unwind_Exception {
_Unwind_Exception_Class exception_class;
More information about the cfe-commits
mailing list