[llvm] r301614 - COFF Import: expose both symbols
Saleem Abdulrasool via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 27 21:29:43 PDT 2017
Author: compnerd
Date: Thu Apr 27 23:29:43 2017
New Revision: 301614
URL: http://llvm.org/viewvc/llvm-project?rev=301614&view=rev
Log:
COFF Import: expose both symbols
COFF Import libraries which use the obsolete CONSTANT export are
supposed to get two symbols, one with the `_imp_` prefix and one
without. Ensure that we expose both for iteration. This is necessary
to fix the librarian with COFF CONSTANT exports.
Added:
llvm/trunk/test/tools/llvm-readobj/Inputs/const-import.lib
llvm/trunk/test/tools/llvm-readobj/coff-const-import.test
Modified:
llvm/trunk/include/llvm/Object/COFFImportFile.h
Modified: llvm/trunk/include/llvm/Object/COFFImportFile.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Object/COFFImportFile.h?rev=301614&r1=301613&r2=301614&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Object/COFFImportFile.h (original)
+++ llvm/trunk/include/llvm/Object/COFFImportFile.h Thu Apr 27 23:29:43 2017
@@ -53,7 +53,7 @@ public:
basic_symbol_iterator symbol_end() const override {
DataRefImpl Symb;
- Symb.p = isCode() ? 2 : 1;
+ Symb.p = isData() ? 1 : 2;
return BasicSymbolRef(Symb, this);
}
@@ -63,8 +63,8 @@ public:
}
private:
- bool isCode() const {
- return getCOFFImportHeader()->getType() == COFF::IMPORT_CODE;
+ bool isData() const {
+ return getCOFFImportHeader()->getType() == COFF::IMPORT_DATA;
}
};
Added: llvm/trunk/test/tools/llvm-readobj/Inputs/const-import.lib
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-readobj/Inputs/const-import.lib?rev=301614&view=auto
==============================================================================
Binary files llvm/trunk/test/tools/llvm-readobj/Inputs/const-import.lib (added) and llvm/trunk/test/tools/llvm-readobj/Inputs/const-import.lib Thu Apr 27 23:29:43 2017 differ
Added: llvm/trunk/test/tools/llvm-readobj/coff-const-import.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-readobj/coff-const-import.test?rev=301614&view=auto
==============================================================================
--- llvm/trunk/test/tools/llvm-readobj/coff-const-import.test (added)
+++ llvm/trunk/test/tools/llvm-readobj/coff-const-import.test Thu Apr 27 23:29:43 2017
@@ -0,0 +1,7 @@
+RUN: llvm-readobj -coff-exports %S/Inputs/const-import.lib | FileCheck %s
+
+CHECK: Type: const
+CHECK: Name type: noprefix
+CHECK: Symbol: __imp____CFConstantStringClassReference
+CHECK: Symbol: ___CFConstantStringClassReference
+
More information about the llvm-commits
mailing list