[mc] Fix ELF st_other flag.

ELF_Other_Weakref and ELF_Other_ThumbFunc seems to be LLVM
internal ELF symbol flags.  These should not be emitted to
object file.

This commit defines ELF_STO_Shift for the target-defined
flags for st_other, and increase the value of
ELF_Other_Shift to 16.

llvm-svn: 196440
diff --git a/llvm/lib/MC/MCELF.cpp b/llvm/lib/MC/MCELF.cpp
index ebb189e..0a9cd31 100644
--- a/llvm/lib/MC/MCELF.cpp
+++ b/llvm/lib/MC/MCELF.cpp
@@ -72,13 +72,13 @@
 // Other is stored in the last six bits of st_other
 // st_other values are stored in the second byte of get/setFlags
 void MCELF::setOther(MCSymbolData &SD, unsigned Other) {
-  uint32_t OtherFlags = SD.getFlags() & ~(0x3f << ELF_Other_Shift);
-  SD.setFlags(OtherFlags | (Other << ELF_Other_Shift));
+  uint32_t OtherFlags = SD.getFlags() & ~(0x3f << ELF_STO_Shift);
+  SD.setFlags(OtherFlags | (Other << ELF_STO_Shift));
 }
 
 unsigned MCELF::getOther(MCSymbolData &SD) {
   unsigned Other =
-    (SD.getFlags() & (0x3f << ELF_Other_Shift)) >> ELF_Other_Shift;
+    (SD.getFlags() & (0x3f << ELF_STO_Shift)) >> ELF_STO_Shift;
   return Other;
 }