[llvm] r246532 - Object: Fix COFF import file's symbols.

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 31 23:01:53 PDT 2015


Author: ruiu
Date: Tue Sep  1 01:01:53 2015
New Revision: 246532

URL: http://llvm.org/viewvc/llvm-project?rev=246532&view=rev
Log:
Object: Fix COFF import file's symbols.

If a symbol is marked as "data", the symbol should be exported
with __imp_ prefix. Previously, the symbol was exported as-is.

Modified:
    llvm/trunk/include/llvm/Object/COFFImportFile.h
    llvm/trunk/test/Object/archive-symtab.test
    llvm/trunk/test/tools/llvm-readobj/file-headers.test

Modified: llvm/trunk/include/llvm/Object/COFFImportFile.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Object/COFFImportFile.h?rev=246532&r1=246531&r2=246532&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Object/COFFImportFile.h (original)
+++ llvm/trunk/include/llvm/Object/COFFImportFile.h Tue Sep  1 01:01:53 2015
@@ -37,7 +37,7 @@ public:
 
   std::error_code printSymbolName(raw_ostream &OS,
                                   DataRefImpl Symb) const override {
-    if (Symb.p == 1)
+    if (Symb.p == 0)
       OS << "__imp_";
     OS << StringRef(Data.getBufferStart() + sizeof(coff_import_header));
     return std::error_code();

Modified: llvm/trunk/test/Object/archive-symtab.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Object/archive-symtab.test?rev=246532&r1=246531&r2=246532&view=diff
==============================================================================
--- llvm/trunk/test/Object/archive-symtab.test (original)
+++ llvm/trunk/test/Object/archive-symtab.test Tue Sep  1 01:01:53 2015
@@ -104,10 +104,10 @@ RUN: llvm-ar --format=gnu rcsU %t.a %p/I
 RUN: llvm-nm -M %t.a | FileCheck --check-prefix=COFF-SHORT-IMPORT %s
 
 COFF-SHORT-IMPORT:      Archive map
-COFF-SHORT-IMPORT-NEXT: _foo in coff-short-import-code
 COFF-SHORT-IMPORT-NEXT: __imp__foo in coff-short-import-code
-COFF-SHORT-IMPORT-NEXT: _bar in coff-short-import-data
-COFF-SHORT-IMPORT-NOT:  __imp__bar in coff-short-import-data
+COFF-SHORT-IMPORT-NEXT: _foo in coff-short-import-code
+COFF-SHORT-IMPORT-NEXT: __imp__bar in coff-short-import-data
+COFF-SHORT-IMPORT-NOT:  _bar in coff-short-import-data
 
 Test that we pad the symbol table so that it ends in a multiple of 4 bytes:
 8 + 60 + 36 == 104

Modified: llvm/trunk/test/tools/llvm-readobj/file-headers.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-readobj/file-headers.test?rev=246532&r1=246531&r2=246532&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-readobj/file-headers.test (original)
+++ llvm/trunk/test/tools/llvm-readobj/file-headers.test Tue Sep  1 01:01:53 2015
@@ -333,5 +333,5 @@ COFF-UNKNOWN-NEXT: }
 COFF-IMPORTLIB:      Format: COFF-import-file
 COFF-IMPORTLIB-NEXT: Type: code
 COFF-IMPORTLIB-NEXT: Name type: noprefix
-COFF-IMPORTLIB-NEXT: Symbol: _func
 COFF-IMPORTLIB-NEXT: Symbol: __imp__func
+COFF-IMPORTLIB-NEXT: Symbol: _func




More information about the llvm-commits mailing list