MC-COFF: Fix .bss section size. Fixes PR8335. Patch by NAKAMUTA Takumi!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116155 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Michael J. Spencer 2010-10-09 16:04:45 +00:00
parent 2e09a25c0b
commit 28ca86aa19
2 changed files with 16 additions and 1 deletions

View File

@ -801,7 +801,7 @@ void WinCOFFObjectWriter::WriteObject(MCAssembler &Asm,
if (Sec->Number == -1) if (Sec->Number == -1)
continue; continue;
Sec->Header.SizeOfRawData = Layout.getSectionFileSize(i); Sec->Header.SizeOfRawData = Layout.getSectionAddressSize(i);
if (IsPhysicalSection(Sec)) { if (IsPhysicalSection(Sec)) {
Sec->Header.PointerToRawData = offset; Sec->Header.PointerToRawData = offset;

15
test/MC/COFF/bss.s Normal file
View File

@ -0,0 +1,15 @@
// The purpose of this test is to verify that bss sections are emited correctly.
// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s | coff-dump.py | FileCheck %s
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s | coff-dump.py | FileCheck %s
.bss
.globl _g0
.align 4
_g0:
.long 0
// CHECK: Name = .bss
// CHECK-NEXT: VirtualSize = 0
// CHECK-NEXT: VirtualAddress = 0
// CHECK-NEXT: SizeOfRawData = 4