diff options
author | Bill Wendling <isanbard@gmail.com> | 2009-09-18 21:14:36 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2009-09-18 21:14:36 +0000 |
commit | 8c065b334c41ba54d98ad45a6c5b4fdd60c06d2c (patch) | |
tree | fd057fa26ae18da3a708fec29f684670c68601bc /lib/Target | |
parent | d7dc983029cf293dd67637c27b92c04c0baf968b (diff) | |
download | external_llvm-8c065b334c41ba54d98ad45a6c5b4fdd60c06d2c.zip external_llvm-8c065b334c41ba54d98ad45a6c5b4fdd60c06d2c.tar.gz external_llvm-8c065b334c41ba54d98ad45a6c5b4fdd60c06d2c.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')
-rw-r--r-- | lib/Target/TargetLoweringObjectFile.cpp | 4 |
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 | |