Merge r101216 into 2326.6.

llvm-svn: 101219
diff --git a/llvm-gcc-4.2/gcc/llvm-convert.cpp b/llvm-gcc-4.2/gcc/llvm-convert.cpp
index b0450ce..e3f6296 100644
--- a/llvm-gcc-4.2/gcc/llvm-convert.cpp
+++ b/llvm-gcc-4.2/gcc/llvm-convert.cpp
@@ -2090,7 +2090,7 @@
     foreach_reachable_handler(i, false, AddHandler, &Handlers);
 
     bool HasCleanup = false;
-    static Value *CatchAll = 0;
+    static GlobalVariable *CatchAll = 0;
 
     for (std::vector<struct eh_region *>::iterator I = Handlers.begin(),
          E = Handlers.end(); I != E; ++I) {
@@ -2125,6 +2125,7 @@
             CatchAll = new GlobalVariable(*TheModule, Init->getType(), true,
                                           GlobalVariable::LinkOnceAnyLinkage,
                                           Init, ".llvm.eh.catch.all.value");
+            CatchAll->setSection("llvm.metadata");
           }
 
           Args.push_back(CatchAll);
@@ -2167,6 +2168,7 @@
             CatchAll = new GlobalVariable(*TheModule, Init->getType(), true,
                                           GlobalVariable::LinkOnceAnyLinkage,
                                           Init, ".llvm.eh.catch.all.value");
+            CatchAll->setSection("llvm.metadata");
           }
 
           Args.push_back(CatchAll);