[lld] r197803 - [PECOFF] Create noname or data symbols as such.
Rui Ueyama
ruiu at google.com
Fri Dec 20 03:50:19 PST 2013
Author: ruiu
Date: Fri Dec 20 05:50:19 2013
New Revision: 197803
URL: http://llvm.org/viewvc/llvm-project?rev=197803&view=rev
Log:
[PECOFF] Create noname or data symbols as such.
If a symbol in an import library is marked as "data", the linker will not
create a jump table entry for the symbol, since jump table makes sense only
for a symbol pointing to a function.
I don't think NONAME attribute has a meaning when creating an import library.
The attribute is emitted for debugging purpose.
Modified:
lld/trunk/lib/ReaderWriter/PECOFF/WriterImportLibrary.cpp
Modified: lld/trunk/lib/ReaderWriter/PECOFF/WriterImportLibrary.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/WriterImportLibrary.cpp?rev=197803&r1=197802&r2=197803&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/PECOFF/WriterImportLibrary.cpp (original)
+++ lld/trunk/lib/ReaderWriter/PECOFF/WriterImportLibrary.cpp Fri Dec 20 05:50:19 2013
@@ -41,8 +41,14 @@ createModuleDefinitionFile(const PECOFFL
os << "LIBRARY \"" << llvm::sys::path::filename(ctx.outputPath()) << "\"\n"
<< "EXPORTS\n";
- for (const PECOFFLinkingContext::ExportDesc &desc : ctx.getDllExports())
- os << " " << desc.name << " @" << desc.ordinal << "\n";
+ for (const PECOFFLinkingContext::ExportDesc &desc : ctx.getDllExports()) {
+ os << " " << desc.name << " @" << desc.ordinal;
+ if (desc.noname)
+ os << " NONAME";
+ if (desc.isData)
+ os << " DATA";
+ os << "\n";
+ }
return defFile.str();
}
More information about the llvm-commits
mailing list