[PATCH] Object: Add support for bigobj

Rui Ueyama ruiu at google.com
Tue Sep 9 13:06:16 PDT 2014


================
Comment at: include/llvm/Object/COFF.h:72-73
@@ +71,4 @@
+  support::ulittle16_t Machine;
+  support::ulittle32_t TimeDateStamp;
+  support::ulittle8_t  UUID[16];
+  support::ulittle32_t unused1;
----------------
We have ulittle8_t and even ubig8_t? That made me think of the definition of endianness for a brief moment. It's weird at least.

================
Comment at: include/llvm/Object/COFF.h:231
@@ +230,3 @@
+  const void *getRawPtr() const {
+    return CS16 ? static_cast<const void *>(CS16) : CS32;
+  }
----------------
Why do you need to cast only CS16?

================
Comment at: include/llvm/Object/COFF.h:248
@@ +247,3 @@
+        return CS16->SectionNumber;
+      return static_cast<int16_t>(CS16->SectionNumber);
+    }
----------------
This needs a comment saying that the reserved section numbers are returned as negative numbers.

================
Comment at: include/llvm/Object/COFF.h:427
@@ +426,3 @@
+public:
+  bool isReservedSectionNumber(int32_t SectionNumber) const {
+    if (SymbolTable16)
----------------
Do we still need this? Looks like we can now just use <=0.

http://reviews.llvm.org/D5259






More information about the llvm-commits mailing list