Incorrect ARM64 compact unwind documentation in compact_unwind_encoding.h

Originator:landon.j.fuller
Number:rdar://15057141 Date Originated:23-Sep-2013
Status:Open Resolved:
Product:iOS SDK Product Version:7.0 SDK (11A465)
Classification:Serious Bug Reproducible:Always
 
Summary:
The comments in the ARM64 compact_unwind_encoding.h section document do not match the header, or the libunwind implementation.

Steps to Reproduce:


Expected Results:


Actual Results:
UNWIND_ARM64_MODE_LEAF is documented, but unused, seemingly replaced by UNWIND_ARM64_MODE_FRAMELESS.

The actual implementation of UNWIND_ARM64_MODE_FRAMELESS appears to be modeled on the x86 frameless immediate mode, with the actual offset being (UNWIND_ARM64_FRAMELESS_STACK_SIZE_MASK * (sizeof(uint64_t) * 2), but this is not documented.

UNWIND_ARM64_MODE_FRAME_OLD is defined but not documented; it's unclear whether it is actually used in any publicly shipped software.

Version:
iPhoneOS7.0 SDK (11A465)

Notes:


Configuration:


Attachments:

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!