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 | 43f2cd7757fe9587d904d11a63dae2f698ebfc30 (patch) | |
tree | a611c4f7f66c925c9f8cbc421864a408dc4b40a2 /llvm/lib/Target/TargetLoweringObjectFile.cpp | |
parent | 270d0f986f795101d39439b550bf6db3fe286f46 (diff) | |
download | bcm5719-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.cpp | 4 |
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 | |