aboutsummaryrefslogtreecommitdiffstats
path: root/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
commit296ab7e5445f0402d0aae3814c38f964d6f547fb (patch)
treefd057fa26ae18da3a708fec29f684670c68601bc /lib/Target/TargetLoweringObjectFile.cpp
parentfb2e752e4175920d0531f2afc93a23d0cdf4db14 (diff)
downloadexternal_llvm-296ab7e5445f0402d0aae3814c38f964d6f547fb.zip
external_llvm-296ab7e5445f0402d0aae3814c38f964d6f547fb.tar.gz
external_llvm-296ab7e5445f0402d0aae3814c38f964d6f547fb.tar.bz2
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82274 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/TargetLoweringObjectFile.cpp')
-rw-r--r--lib/Target/TargetLoweringObjectFile.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Target/TargetLoweringObjectFile.cpp b/lib/Target/TargetLoweringObjectFile.cpp
index c1aab99..b49164a 100644
--- a/lib/Target/TargetLoweringObjectFile.cpp
+++ b/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 |