diff options
author | Duncan Sands <baldrick@free.fr> | 2008-05-08 12:33:11 +0000 |
---|---|---|
committer | Duncan Sands <baldrick@free.fr> | 2008-05-08 12:33:11 +0000 |
commit | 9897eee4839d105dd5e9c988503e018aa65c05c7 (patch) | |
tree | 8121f507dbb54956451c505a9dc9afe796a331a9 /llvm/lib/CodeGen/DwarfWriter.cpp | |
parent | 15cb669039cf26cf018460c8a18901f023bcc7dd (diff) | |
download | bcm5719-llvm-9897eee4839d105dd5e9c988503e018aa65c05c7.tar.gz bcm5719-llvm-9897eee4839d105dd5e9c988503e018aa65c05c7.zip |
Get exception handling working again on 64 bit
Darwin. This is a hack of course, but it does
at least look at the right thing: gotpcrel means
that this is already an offset, so an explicit
offset is not needed (and wrong). I think this
is good enough for the moment: Anton is working
on something better.
llvm-svn: 50850
Diffstat (limited to 'llvm/lib/CodeGen/DwarfWriter.cpp')
-rw-r--r-- | llvm/lib/CodeGen/DwarfWriter.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/DwarfWriter.cpp b/llvm/lib/CodeGen/DwarfWriter.cpp index 5063d63f06b..fc7ba6db046 100644 --- a/llvm/lib/CodeGen/DwarfWriter.cpp +++ b/llvm/lib/CodeGen/DwarfWriter.cpp @@ -2856,7 +2856,8 @@ private: O << TAI->getPersonalityPrefix(); Asm->EmitExternalGlobal((const GlobalVariable *)(Personality)); O << TAI->getPersonalitySuffix(); - O << "-" << TAI->getPCSymbol(); + if (strcmp(TAI->getPersonalitySuffix(), "+4@GOTPCREL")) + O << "-" << TAI->getPCSymbol(); Asm->EOL("Personality"); Asm->EmitInt8(DW_EH_PE_pcrel | DW_EH_PE_sdata4); |