]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - opencl/llvm.git/commitdiff
Centralize handling of ELF_Other_ThumbFunc.
authorRafael Espindola <rafael.espindola@gmail.com>
Wed, 23 Apr 2014 14:42:32 +0000 (14:42 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Wed, 23 Apr 2014 14:42:32 +0000 (14:42 +0000)
No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206988 91177308-0d34-0410-b5e6-96231b3b80d8

lib/MC/ELFObjectWriter.cpp

index 636d449e2077100b82b8e308b84240812f42749d..f11ec79210a595a5dddab71d81119d278f708879 100644 (file)
@@ -513,7 +513,8 @@ uint64_t ELFObjectWriter::SymbolValue(MCSymbolData &OrigData,
     }
   }
 
-  if (Data && Data->getFlags() & ELF_Other_ThumbFunc)
+  if ((Data && Data->getFlags() & ELF_Other_ThumbFunc) ||
+      OrigData.getFlags() & ELF_Other_ThumbFunc)
     Res |= 1;
 
   if (!Symbol || !Symbol->isInSection())
@@ -644,8 +645,6 @@ void ELFObjectWriter::WriteSymbol(SymbolTableWriter &Writer, ELFSymbolData &MSD,
   Other |= Visibility;
 
   uint64_t Value = SymbolValue(OrigData, Layout);
-  if (OrigData.getFlags() & ELF_Other_ThumbFunc)
-    Value |= 1;
   uint64_t Size = 0;
 
   const MCExpr *ESize = OrigData.getSize();