diff options
author | Rui Ueyama <ruiu@google.com> | 2014-05-14 06:29:32 +0000 |
---|---|---|
committer | Rui Ueyama <ruiu@google.com> | 2014-05-14 06:29:32 +0000 |
commit | b18489c8bf11c03df6e503f16bb5623905e62f8d (patch) | |
tree | c701ad4c27c5db0441937ff033dbe47edf191e47 /clang/lib/CodeGen/TargetInfo.cpp | |
parent | 551aacd6bc41a1422df1966b4d46761a6eb87adb (diff) | |
download | bcm5719-llvm-b18489c8bf11c03df6e503f16bb5623905e62f8d.tar.gz bcm5719-llvm-b18489c8bf11c03df6e503f16bb5623905e62f8d.zip |
[PECOFF] Find symbols with @number suffix for dllexported symbols
As written in the comment in this patch, symbol names specified with
/export option is resolved in a special way; for /export:foo, linker
finds a foo@<number> symbol if such symbols exists.
On Windows, a function in stdcall calling convention is mangled with
a leading underscore and following "@" and numbers. This name
mangling is kind of automatic, so you can sometimes omit _ and @number
when specifying a symbol. /export option is that case.
Previously, if a file in an archive file foo.lib provides a symbol
_fn@8, and /export:fn is specified, LLD failed to resolve the symbol.
It only tried to find _fn, and failed to find _fn@8. With this patch,
_fn@8 will be searched on the second iteration.
Differential Revision: http://reviews.llvm.org/D3736
llvm-svn: 208754
Diffstat (limited to 'clang/lib/CodeGen/TargetInfo.cpp')
0 files changed, 0 insertions, 0 deletions