[libcxx-commits] [PATCH] D72543: [libcxxabi] Insert padding in __cxa_exception struct for compatibility
Shoaib Meenai via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Jan 16 16:22:03 PST 2020
smeenai added a comment.
In D72543#1825454 <https://reviews.llvm.org/D72543#1825454>, @rjmccall wrote:
> In D72543#1825422 <https://reviews.llvm.org/D72543#1825422>, @smeenai wrote:
>
> > In D72543#1825178 <https://reviews.llvm.org/D72543#1825178>, @rjmccall wrote:
> >
> > > In D72543#1825150 <https://reviews.llvm.org/D72543#1825150>, @smeenai wrote:
> > >
> > > > From spelunking through history, it looks like D33030 <https://reviews.llvm.org/D33030> tried to solve the same problem, and then rL319123 <https://reviews.llvm.org/rL319123> undid that solution and came up with a different one to solve the same underlying issue. rL319123 <https://reviews.llvm.org/rL319123> is still in place; does it need to be adjusted for the change in this diff?
> > >
> > >
> > > It looks like those patches were attempts to ensure adequate alignment of the exception object given the absence of an alignment attribute on the `_Unwind_Exception` type itself. rL319123 <https://reviews.llvm.org/rL319123> became inadequate after `_Unwind_Exception` became an aligned type because that change still affected the layout of the C++ exception types. What we're fixing here is essentially the same problem that was introduced by D33030 <https://reviews.llvm.org/D33030>.
> >
> >
> > Makes sense. Should rL319123 <https://reviews.llvm.org/rL319123> be reverted then? The extra space that's being allocated by that change doesn't do what it's meant to do, so it seems wasteful to keep allocating it.
>
>
> If `__cxa_exception` is already sufficiently aligned, I believe that patch does not allocate any extra space.
You're right; I understand the case rL319123 <https://reviews.llvm.org/rL319123> was intended for now.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D72543/new/
https://reviews.llvm.org/D72543
More information about the libcxx-commits
mailing list