summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/TargetInfo.cpp
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2014-05-14 06:29:32 +0000
committerRui Ueyama <ruiu@google.com>2014-05-14 06:29:32 +0000
commitb18489c8bf11c03df6e503f16bb5623905e62f8d (patch)
treec701ad4c27c5db0441937ff033dbe47edf191e47 /clang/lib/CodeGen/TargetInfo.cpp
parent551aacd6bc41a1422df1966b4d46761a6eb87adb (diff)
downloadbcm5719-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
OpenPOWER on IntegriCloud