From c09746dc9ced3d21b0bfd9ac308ef8c06832808e Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Wed, 16 Apr 2014 06:22:53 +0000 Subject: [PATCH] COFF: fix an off by one error Adjust the tests to validate the number of auxiliary entries used to store the filename. Thanks to majnemer's sharp eye for catching the missing - 1 in the round up calculation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206359 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/MC/WinCOFFObjectWriter.cpp | 2 +- test/MC/COFF/file.s | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/MC/WinCOFFObjectWriter.cpp b/lib/MC/WinCOFFObjectWriter.cpp index e98777894a7..27dc5a12a69 100644 --- a/lib/MC/WinCOFFObjectWriter.cpp +++ b/lib/MC/WinCOFFObjectWriter.cpp @@ -638,7 +638,7 @@ void WinCOFFObjectWriter::ExecutePostLayoutBinding(MCAssembler &Asm, for (auto FI = Asm.file_names_begin(), FE = Asm.file_names_end(); FI != FE; ++FI) { // round up to calculate the number of auxiliary symbols required - unsigned Count = (FI->size() + COFF::SymbolSize) / COFF::SymbolSize; + unsigned Count = (FI->size() + COFF::SymbolSize - 1) / COFF::SymbolSize; COFFSymbol *file = createSymbol(".file"); file->Data.StorageClass = COFF::IMAGE_SYM_CLASS_FILE; diff --git a/test/MC/COFF/file.s b/test/MC/COFF/file.s index a258693839c..72eee90842a 100644 --- a/test/MC/COFF/file.s +++ b/test/MC/COFF/file.s @@ -2,16 +2,16 @@ // RUN: | FileCheck %s -check-prefix CHECK-PRINT .file "null-padded.asm" -// CHECK-PRINT: .file +// CHECK-PRINT: (nx 1) {{0x[0-9]+}} .file // CHECK-PRINT-NEXT: AUX null-padded.asm{{$}} .file "eighteen-chars.asm" -// CHECK-PRINT: .file +// CHECK-PRINT: (nx 1) {{0x[0-9]+}} .file // CHECK-PRINT-NEXT: AUX eighteen-chars.asm{{$}} .file "multiple-auxiliary-entries.asm" -// CHECK-PRINT: .file +// CHECK-PRINT: (nx 2) {{0x[0-9]+}} .file // CHECK-PRINT-NEXT: AUX multiple-auxiliary-entries.asm{{$}} -- 2.34.1