Fix a minor bug in the map - since this pass adds a global symbol, it must be
accounted for in the map (at least, in its current format).
llvm-svn: 14075
diff --git a/llvm/lib/Target/SparcV9/InternalGlobalMapper.cpp b/llvm/lib/Target/SparcV9/InternalGlobalMapper.cpp
index 8df87fd..7d4a40a 100644
--- a/llvm/lib/Target/SparcV9/InternalGlobalMapper.cpp
+++ b/llvm/lib/Target/SparcV9/InternalGlobalMapper.cpp
@@ -54,6 +54,10 @@
// Populate the vector with internal global values and their names.
for (Module::giterator i = M.gbegin (), e = M.gend (); i != e; ++i)
maybeAddInternalValueToVector (gvvector, *i);
+ // Add an extra global for _llvm_internalGlobals itself (null,
+ // because it's not internal)
+ gvvector.push_back (ConstantPointerNull::get
+ (PointerType::get (Type::SByteTy)));
for (Module::iterator i = M.begin (), e = M.end (); i != e; ++i)
maybeAddInternalValueToVector (gvvector, *i);