[Object/ELF] sh_type is not a bitfield. Fixes RuntimeDyld test failure on ARM.
authorMichael J. Spencer <bigcheesegs@gmail.com>
Mon, 12 Aug 2013 22:59:14 +0000 (22:59 +0000)
committerMichael J. Spencer <bigcheesegs@gmail.com>
Mon, 12 Aug 2013 22:59:14 +0000 (22:59 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188220 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Object/ELFObjectFile.h

index 08cac04ac6d28ab697de0b91228ce6955c1a879f..f799f7e26a1841d665d81f41a7600eb339954fc1 100644 (file)
@@ -577,14 +577,14 @@ ELFObjectFile<ELFT>::isSectionRequiredForExecution(DataRefImpl Sec,
 template <class ELFT>
 error_code ELFObjectFile<ELFT>::isSectionVirtual(DataRefImpl Sec,
                                                  bool &Result) const {
-  Result = toELFShdrIter(Sec)->sh_type & ELF::SHT_NOBITS;
+  Result = toELFShdrIter(Sec)->sh_type == ELF::SHT_NOBITS;
   return object_error::success;
 }
 
 template <class ELFT>
 error_code ELFObjectFile<ELFT>::isSectionZeroInit(DataRefImpl Sec,
                                                   bool &Result) const {
-  Result = toELFShdrIter(Sec)->sh_type & ELF::SHT_NOBITS;
+  Result = toELFShdrIter(Sec)->sh_type == ELF::SHT_NOBITS;
   return object_error::success;
 }