diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2011-04-27 23:08:15 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2011-04-27 23:08:15 +0000 |
commit | 7afec9cc0ff1654619d30b6f30e2a4d13369c8bf (patch) | |
tree | e05b8b886775447f332990351dd63d8ab493e3b6 /lib/Target/TargetLoweringObjectFile.cpp | |
parent | 685f07fac2754f98f5273f3a9a32da27027c2172 (diff) | |
download | external_llvm-7afec9cc0ff1654619d30b6f30e2a4d13369c8bf.zip external_llvm-7afec9cc0ff1654619d30b6f30e2a4d13369c8bf.tar.gz external_llvm-7afec9cc0ff1654619d30b6f30e2a4d13369c8bf.tar.bz2 |
Rename getPersonalityPICSymbol to getCFIPersonalitySymbol, document it, and
give it a bit more responsibility. Also implement it for MachO.
If hacked to use cfi, 32 bit MachO will produce
.cfi_personality 155, L___gxx_personality_v0$non_lazy_ptr
and 64 bit will produce
.cfi_presonality ___gxx_personality_v0
The general idea is that .cfi_personality gets passed the final symbol. It is
up to codegen to produce it if using indirect representation (like 32 bit
MachO), but it is up to MC to decide which relocations to create.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130341 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/TargetLoweringObjectFile.cpp')
-rw-r--r-- | lib/Target/TargetLoweringObjectFile.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/lib/Target/TargetLoweringObjectFile.cpp b/lib/Target/TargetLoweringObjectFile.cpp index 040e0f9..07f9773 100644 --- a/lib/Target/TargetLoweringObjectFile.cpp +++ b/lib/Target/TargetLoweringObjectFile.cpp @@ -120,16 +120,15 @@ static bool IsNullTerminatedString(const Constant *C) { return false; } -MCSymbol * -TargetLoweringObjectFile::getPersonalityPICSymbol(StringRef Name) const { - assert(0 && "Not Available in this format."); - return 0; +MCSymbol *TargetLoweringObjectFile:: +getCFIPersonalitySymbol(const GlobalValue *GV, unsigned Encoding, Mangler *Mang, + MachineModuleInfo *MMI) const { + return Mang->getSymbol(GV); } void TargetLoweringObjectFile::emitPersonalityValue(MCStreamer &Streamer, const TargetMachine &TM, const MCSymbol *Sym) const { - assert(0 && "Not Available in this format."); } |