HomePhabricator

[XCOFF][AIX] Generate LSDA data and compact unwind section on AIX

Authored by jasonliu on Dec 2 2020, 6:48 AM.

Description

[XCOFF][AIX] Generate LSDA data and compact unwind section on AIX

Summary:
AIX uses the existing EH infrastructure in clang and llvm.
The major differences would be

  1. AIX do not have CFI instructions.
  2. AIX uses a new personality routine, named __xlcxx_personality_v1. It doesn't use the GCC personality rountine, because the interoperability is not there yet on AIX.
  3. AIX do not use eh_frame sections. Instead, it would use a eh_info

section (compat unwind section) to store the information about
personality routine and LSDA data address.

Reviewed By: daltenty, hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D91455