mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2026-07-19 23:24:47 -04:00
[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
This commit is contained in:
@@ -2272,9 +2272,13 @@ MCSection *TargetLoweringObjectFileXCOFF::getSectionForConstant(
|
||||
void TargetLoweringObjectFileXCOFF::Initialize(MCContext &Ctx,
|
||||
const TargetMachine &TgtM) {
|
||||
TargetLoweringObjectFile::Initialize(Ctx, TgtM);
|
||||
TTypeEncoding = 0;
|
||||
TTypeEncoding =
|
||||
dwarf::DW_EH_PE_indirect | dwarf::DW_EH_PE_datarel |
|
||||
(TgtM.getTargetTriple().isArch32Bit() ? dwarf::DW_EH_PE_sdata4
|
||||
: dwarf::DW_EH_PE_sdata8);
|
||||
PersonalityEncoding = 0;
|
||||
LSDAEncoding = 0;
|
||||
CallSiteEncoding = dwarf::DW_EH_PE_udata4;
|
||||
}
|
||||
|
||||
MCSection *TargetLoweringObjectFileXCOFF::getStaticCtorSection(
|
||||
|
||||
Reference in New Issue
Block a user