diff options
author | Rui Ueyama <ruiu@google.com> | 2014-10-21 02:28:28 +0000 |
---|---|---|
committer | Rui Ueyama <ruiu@google.com> | 2014-10-21 02:28:28 +0000 |
commit | f3208b808d96f14abf44faca9f7b21a1fb397d7b (patch) | |
tree | 8584ea5e9243545396ba54fb00e3050876909f8b | |
parent | 2bafc2d5aee50e37ef06d9ce27c4a104400f803c (diff) | |
download | bcm5719-llvm-f3208b808d96f14abf44faca9f7b21a1fb397d7b.tar.gz bcm5719-llvm-f3208b808d96f14abf44faca9f7b21a1fb397d7b.zip |
[PECOFF] Look for decorated entry symbol name.
Entry symbol name can be decorated. When we look for _WinMain, we
also have to look for _WinMain@16.
llvm-svn: 220259
-rw-r--r-- | lld/lib/ReaderWriter/PECOFF/LinkerGeneratedSymbolFile.h | 6 | ||||
-rw-r--r-- | lld/test/pecoff/entry.test | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/lld/lib/ReaderWriter/PECOFF/LinkerGeneratedSymbolFile.h b/lld/lib/ReaderWriter/PECOFF/LinkerGeneratedSymbolFile.h index 0c44037e8a4..a42673c5fd8 100644 --- a/lld/lib/ReaderWriter/PECOFF/LinkerGeneratedSymbolFile.h +++ b/lld/lib/ReaderWriter/PECOFF/LinkerGeneratedSymbolFile.h @@ -337,7 +337,11 @@ private: // Returns true if a given name exists in an input object file. auto defined = [&](StringRef name) -> bool { - return _syms->defined().count(_ctx->decorateSymbol(name)); + StringRef sym = _ctx->decorateSymbol(name); + if (_syms->defined().count(sym)) + return true; + std::string ignore; + return findDecoratedSymbol(_ctx, _syms.get(), sym, ignore); }; switch (_ctx->getSubsystem()) { diff --git a/lld/test/pecoff/entry.test b/lld/test/pecoff/entry.test index fd0e1833b24..b48e5a03829 100644 --- a/lld/test/pecoff/entry.test +++ b/lld/test/pecoff/entry.test @@ -17,6 +17,9 @@ WMAIN: _wmainCRTStartup # RUN: not lld -flavor link /out:%t.exe /alternatename:_WinMain=_foo \ # RUN: -- %t.obj 2> %t.log # RUN: FileCheck -check-prefix=WINMAIN %s < %t.log +# RUN: not lld -flavor link /out:%t.exe /alternatename:_WinMain@16=_foo \ +# RUN: -- %t.obj 2> %t.log +# RUN: FileCheck -check-prefix=WINMAIN %s < %t.log WINMAIN: _WinMainCRTStartup |