Here's fun! It turns out that these filter functions can be internal. If they're
internal, they shouldn't use the indirect pointer stuff. In the case of
throw_rethrow_test, it was marked as 'internal' and calculated its own offset to
its contents.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82354 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/AsmPrinter/DwarfException.cpp b/lib/CodeGen/AsmPrinter/DwarfException.cpp
index d6000e6..ebe5410 100644
--- a/lib/CodeGen/AsmPrinter/DwarfException.cpp
+++ b/lib/CodeGen/AsmPrinter/DwarfException.cpp
@@ -906,7 +906,8 @@
     const GlobalVariable *TI = *I;
 
     if (TI) {
-      if (TTypeFormat == dwarf::DW_EH_PE_absptr) {
+      if (TTypeFormat == dwarf::DW_EH_PE_absptr ||
+          TI->getLinkage() == GlobalValue::InternalLinkage) {
         // Print out the unadorned name of the type info.
         PrintRelDirective();
         O << Asm->Mang->getMangledName(TI);