diff options
| author | Saleem Abdulrasool <compnerd@compnerd.org> | 2017-08-23 15:33:45 +0000 |
|---|---|---|
| committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2017-08-23 15:33:45 +0000 |
| commit | 5b389f1cf769ce628e0df866cdda866de7c35631 (patch) | |
| tree | c8dad6301761f3cc5d564c3677c618cf83013d81 /libunwind/include | |
| parent | 699670e764ed4f76fc028180baa2aca979790f94 (diff) | |
| download | bcm5719-llvm-5b389f1cf769ce628e0df866cdda866de7c35631.tar.gz bcm5719-llvm-5b389f1cf769ce628e0df866cdda866de7c35631.zip | |
unwind: explicitly align `_Unwind_Control_Block`
The C++ ABI requires that the exception object is double-word aligned.
The alignment attribute was applied to the `_Unwind_Exception` type
which is used on non-EHABI targets. On EHABI, the exception object type
is `_Unwind_Control_Block`. Apply the explicit maximal alignment on the
type to ensure that the allocation has the correct alignment.
Resolves PR33858!
llvm-svn: 311562
Diffstat (limited to 'libunwind/include')
| -rw-r--r-- | libunwind/include/unwind.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libunwind/include/unwind.h b/libunwind/include/unwind.h index fc7d122ab12..a1a84e9e700 100644 --- a/libunwind/include/unwind.h +++ b/libunwind/include/unwind.h @@ -100,7 +100,7 @@ struct _Unwind_Control_Block { } pr_cache; long long int :0; /* Enforce the 8-byte alignment */ -}; +} __attribute__((__aligned__)); typedef _Unwind_Reason_Code (*_Unwind_Stop_Fn) (_Unwind_State state, |

