Object, COFF: Relax aux symbols for section definitions
authorDavid Majnemer <david.majnemer@gmail.com>
Fri, 10 Oct 2014 06:58:11 +0000 (06:58 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Fri, 10 Oct 2014 06:58:11 +0000 (06:58 +0000)
We, I suppose naïvely, believed the COFF specification with regard to
auxiliary symbol records which defined sections: they specified that the
symbol value should be zero.  However, dumpbin and MinGW's objdump do
not consider the symbol value as a restriction.  Relaxing this allows us
to properly dump MinGW linked executables.

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

include/llvm/Object/COFF.h

index c3428cdd1aabd5f3722ca157644738a3723f9427..d9cd2a6e6d0ac5a7de10e70342411926f026a790 100644 (file)
@@ -328,8 +328,7 @@ public:
     bool isAppdomainGlobal =
         getStorageClass() == COFF::IMAGE_SYM_CLASS_EXTERNAL &&
         getSectionNumber() == COFF::IMAGE_SYM_ABSOLUTE;
-    bool isOrdinarySection =
-        getStorageClass() == COFF::IMAGE_SYM_CLASS_STATIC && getValue() == 0;
+    bool isOrdinarySection = getStorageClass() == COFF::IMAGE_SYM_CLASS_STATIC;
     return isAppdomainGlobal || isOrdinarySection;
   }