ELF_STB_Local is 0 so setting and checking it must be done specially



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113375 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/MC/ELFObjectWriter.cpp b/lib/MC/ELFObjectWriter.cpp
index ed4f972..5713f47 100644
--- a/lib/MC/ELFObjectWriter.cpp
+++ b/lib/MC/ELFObjectWriter.cpp
@@ -439,7 +439,7 @@
     assert((Data.getFlags() & ELF_STB_Global) &&
            "External symbol requires STB_GLOBAL flag");
     WriteSymbol(F, MSD, Layout);
-    if (Data.getFlags() & ELF_STB_Local)
+    if ((Data.getFlags() & (0xf << ELF_STB_Shift)) == ELF_STB_Local)
       LastLocalSymbolIndex++;
   }
 
@@ -448,7 +448,7 @@
     MCSymbolData &Data = *MSD.SymbolData;
     Data.setFlags(Data.getFlags() | ELF_STB_Global);
     WriteSymbol(F, MSD, Layout);
-    if (Data.getFlags() & ELF_STB_Local)
+    if ((Data.getFlags() & (0xf << ELF_STB_Shift)) == ELF_STB_Local)
       LastLocalSymbolIndex++;
   }
 }