summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/TargetLoweringObjectFile.cpp
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2009-09-18 21:14:36 +0000
committerBill Wendling <isanbard@gmail.com>2009-09-18 21:14:36 +0000
commit43f2cd7757fe9587d904d11a63dae2f698ebfc30 (patch)
treea611c4f7f66c925c9f8cbc421864a408dc4b40a2 /llvm/lib/Target/TargetLoweringObjectFile.cpp
parent270d0f986f795101d39439b550bf6db3fe286f46 (diff)
downloadbcm5719-llvm-43f2cd7757fe9587d904d11a63dae2f698ebfc30.tar.gz
bcm5719-llvm-43f2cd7757fe9587d904d11a63dae2f698ebfc30.zip
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
Diffstat (limited to 'llvm/lib/Target/TargetLoweringObjectFile.cpp')
-rw-r--r--llvm/lib/Target/TargetLoweringObjectFile.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/TargetLoweringObjectFile.cpp b/llvm/lib/Target/TargetLoweringObjectFile.cpp
index c1aab9921fb..b49164aa177 100644
--- a/llvm/lib/Target/TargetLoweringObjectFile.cpp
+++ b/llvm/lib/Target/TargetLoweringObjectFile.cpp
@@ -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 |
OpenPOWER on IntegriCloud