[llvm-branch-commits] [llvm-branch] r142870 - in /llvm/branches/release_30: ./ lib/CodeGen/TargetLoweringObjectFileImpl.cpp test/CodeGen/ARM/gv-stubs-crash.ll

Bill Wendling isanbard at gmail.com
Mon Oct 24 16:06:48 PDT 2011


Author: void
Date: Mon Oct 24 18:06:48 2011
New Revision: 142870

URL: http://llvm.org/viewvc/llvm-project?rev=142870&view=rev
Log:
Merging r142869:
------------------------------------------------------------------------
r142869 | void | 2011-10-24 16:05:43 -0700 (Mon, 24 Oct 2011) | 4 lines

Check the visibility of the global variable before placing it into the stubs
table. A hidden variable could potentially end up in both lists.
<rdar://problem/10336715>

------------------------------------------------------------------------

Added:
    llvm/branches/release_30/test/CodeGen/ARM/gv-stubs-crash.ll
      - copied unchanged from r142869, llvm/trunk/test/CodeGen/ARM/gv-stubs-crash.ll
Modified:
    llvm/branches/release_30/   (props changed)
    llvm/branches/release_30/lib/CodeGen/TargetLoweringObjectFileImpl.cpp

Propchange: llvm/branches/release_30/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Oct 24 18:06:48 2011
@@ -1,3 +1,3 @@
 /llvm/branches/Apple/Pertwee:110850,110961
 /llvm/branches/type-system-rewrite:133420-134817
-/llvm/trunk:142039,142055,142058,142112,142123,142125,142165,142168,142243,142350,142482,142486,142489,142491-142493,142537,142550,142559,142573-142574,142801,142806,142841
+/llvm/trunk:142039,142055,142058,142112,142123,142125,142165,142168,142243,142350,142482,142486,142489,142491-142493,142537,142550,142559,142573-142574,142801,142806,142841,142869

Modified: llvm/branches/release_30/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_30/lib/CodeGen/TargetLoweringObjectFileImpl.cpp?rev=142870&r1=142869&r2=142870&view=diff
==============================================================================
--- llvm/branches/release_30/lib/CodeGen/TargetLoweringObjectFileImpl.cpp (original)
+++ llvm/branches/release_30/lib/CodeGen/TargetLoweringObjectFileImpl.cpp Mon Oct 24 18:06:48 2011
@@ -506,7 +506,9 @@
     // Add information about the stub reference to MachOMMI so that the stub
     // gets emitted by the asmprinter.
     MCSymbol *SSym = getContext().GetOrCreateSymbol(Name.str());
-    MachineModuleInfoImpl::StubValueTy &StubSym = MachOMMI.getGVStubEntry(SSym);
+    MachineModuleInfoImpl::StubValueTy &StubSym =
+      GV->hasHiddenVisibility() ? MachOMMI.getHiddenGVStubEntry(SSym) :
+                                  MachOMMI.getGVStubEntry(SSym);
     if (StubSym.getPointer() == 0) {
       MCSymbol *Sym = Mang->getSymbol(GV);
       StubSym = MachineModuleInfoImpl::StubValueTy(Sym, !GV->hasLocalLinkage());
@@ -534,7 +536,9 @@
   // Add information about the stub reference to MachOMMI so that the stub
   // gets emitted by the asmprinter.
   MCSymbol *SSym = getContext().GetOrCreateSymbol(Name.str());
-  MachineModuleInfoImpl::StubValueTy &StubSym = MachOMMI.getGVStubEntry(SSym);
+  MachineModuleInfoImpl::StubValueTy &StubSym =
+      GV->hasHiddenVisibility() ? MachOMMI.getHiddenGVStubEntry(SSym) :
+                                  MachOMMI.getGVStubEntry(SSym);
   if (StubSym.getPointer() == 0) {
     MCSymbol *Sym = Mang->getSymbol(GV);
     StubSym = MachineModuleInfoImpl::StubValueTy(Sym, !GV->hasLocalLinkage());





More information about the llvm-branch-commits mailing list