COFF: Fix resource table size.
authorRui Ueyama <ruiu@google.com>
Mon, 15 Jun 2015 01:35:56 +0000 (01:35 +0000)
committerRui Ueyama <ruiu@google.com>
Mon, 15 Jun 2015 01:35:56 +0000 (01:35 +0000)
The size field shouldn't include trailing padding.

llvm-svn: 239712

lld/COFF/Writer.cpp
lld/test/COFF/resource.test

index 576e3c8..b734469 100644 (file)
@@ -290,7 +290,7 @@ void Writer::writeHeader() {
   }
   if (OutputSection *Sec = findSection(".rsrc")) {
     DataDirectory[RESOURCE_TABLE].RelativeVirtualAddress = Sec->getRVA();
-    DataDirectory[RESOURCE_TABLE].Size = Sec->getRawSize();
+    DataDirectory[RESOURCE_TABLE].Size = Sec->getVirtualSize();
   }
   if (OutputSection *Sec = findSection(".reloc")) {
     DataDirectory[BASE_RELOCATION_TABLE].RelativeVirtualAddress = Sec->getRVA();
index 025a52e..6f1f5bf 100644 (file)
@@ -11,4 +11,4 @@ EXE: {{H.e.l.l.o}}
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck  --check-prefix=HEADER %s
 
 HEADER: ResourceTableRVA: 0x1000
-HEADER: ResourceTableSize: 0x200
+HEADER: ResourceTableSize: 0x88