It's inefficient to have place the exception tables (which contain the LSDA)
into the __DATA section. At launch time, dyld has to update most of the section to fix up the type info pointers. It's better to place it into the __TEXT section and use pc-rel indirect pointer encodings. Similar to the personality routine. llvm-svn: 82274
This commit is contained in:
@@ -782,8 +782,8 @@ void TargetLoweringObjectFileMachO::Initialize(MCContext &Ctx,
|
||||
}
|
||||
|
||||
// Exception Handling.
|
||||
LSDASection = getMachOSection("__DATA", "__gcc_except_tab", 0,
|
||||
SectionKind::getDataRel());
|
||||
LSDASection = getMachOSection("__TEXT", "__gcc_except_tab", 0,
|
||||
SectionKind::getReadOnly());
|
||||
EHFrameSection =
|
||||
getMachOSection("__TEXT", "__eh_frame",
|
||||
MCSectionMachO::S_COALESCED |
|
||||
|
||||
Reference in New Issue
Block a user