HomePhabricator

Insert padding before the __cxa_exception header to ensure the thrown

Description

Insert padding before the __cxa_exception header to ensure the thrown
object is sufficiently aligned.

r303175 annotated field unwindHeader of cxa_exception with attribute
'aligned' to ensure the thrown object following the
cxa_exception
header was sufficiently aligned. This caused changes in the field
offsets of __cxa_exception relative to the start of the thrown object,
which was an ABI breaking change for some clients.

Instead of annotating field unwindHeader, this commit inserts extra
space before the header. This ensures the thrown object following the
header is sufficiently aligned without changing the field offsets, thus
avoiding any ABI breakages.

rdar://problem/25364625
rdar://problem/35556163

Details

Committed
ahatanakNov 27 2017, 4:36 PM
Parents
rL319122: [X86] Remove duplicate calls to setOperationAction. NFCI
Branches
Unknown
Tags
Unknown