Insert padding in __cxa_exception struct for compatibility Similar to https://github.com/llvm/llvm-project/commit/f2a436058fcb, the addition of __attribute__((__aligned__)) to _Unwind_Exception (in commit b9616964) causes implicit padding to be inserted before the unwindHeader field in __cxa_exception. Applications attempt to get at the earlier fields in __cxa_exception, so preserve the same negative offsets in __cxa_exception, by moving the padding to the beginning of the struct. The assumption here is that if the ABI is not aware of the padding before unwindHeader and put the referenceCount/primaryException in there, no padding should exist before unwindHeader. This should make libreoffice's custom exception handling mechanisms work correctly, even if it was built against an older cxxabi.h/unwind.h pair. PR: 263370 MFC after: 3 days |
||
---|---|---|
.. | ||
abi_namespace.h | ||
atomic.h | ||
auxhelper.cc | ||
cxxabi.h | ||
dwarf_eh.h | ||
dynamic_cast.cc | ||
exception.cc | ||
FREEBSD-upgrade | ||
guard.cc | ||
libelftc_dem_gnu3.c | ||
LICENSE | ||
memory.cc | ||
noexception.cc | ||
stdexcept.cc | ||
stdexcept.h | ||
terminate.cc | ||
typeinfo.cc | ||
typeinfo.h | ||
unwind-arm.h | ||
unwind-itanium.h | ||
unwind.h |