C:\t>type a.c #include <stdio.h> int main() { puts("hello"); return 0; } C:\t>cl /c a.c Microsoft (R) C/C++ Optimizing Compiler Version 19.00.23026 for x64 Copyright (C) Microsoft Corporation. All rights reserved. a.c C:\t>lld Select the appropriate flavor OVERVIEW: LLVM Linker USAGE: lld [options] <inputs> OPTIONS: -core CORE linking -flavor <value> Flavor for linking, options are gnu/darwin/link -help Display this help message -target <value> Select the target -version Display the version C:\t>lld -flavor link a.obj Cannot open /GUARDSYM:__C_specific_handler,S.obj: no such file or directory On Thu, Sep 3, 2015 at 4:45 PM, Rui Ueyama <ruiu at google.com> wrote:> What error message did you get? What > http://lld.llvm.org/windows_support.html says is correct -- except debug > info, the linker should be pretty much usable as a drop-in replacement for > MSVC linker. > > On Thu, Sep 3, 2015 at 5:11 PM, Russell Wallace via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> What's the current state of affairs regarding lld on Windows - how much >> of it is supposed to work? The documentation at >> http://lld.llvm.org/windows_support.html suggests it should pretty much >> work provided you don't need exceptions or debug info (though that >> documentation seems to be from last year), but when I tried it on a 'hello >> world' C program, it gave error messages; is it the case that lld is not >> yet expected to work on Windows, or that it should and I'm probably getting >> a command wrong, or something else? >> >> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev at lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >> >> >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150903/ee656338/attachment.html>
You seems to be using MSVC 2015 which I don't use yet, and /GUARDSYM seems to be a new option added in MSVC 2015. I'll try to support that. On Fri, Sep 4, 2015 at 12:56 AM, Russell Wallace <russell.wallace at gmail.com> wrote:> C:\t>type a.c > #include <stdio.h> > > int main() { > puts("hello"); > return 0; > } > > C:\t>cl /c a.c > Microsoft (R) C/C++ Optimizing Compiler Version 19.00.23026 for x64 > Copyright (C) Microsoft Corporation. All rights reserved. > > a.c > > C:\t>lld > Select the appropriate flavor > OVERVIEW: LLVM Linker > > USAGE: lld [options] <inputs> > > OPTIONS: > -core CORE linking > -flavor <value> Flavor for linking, options are gnu/darwin/link > -help Display this help message > -target <value> Select the target > -version Display the version > > C:\t>lld -flavor link a.obj > Cannot open /GUARDSYM:__C_specific_handler,S.obj: no such file or directory > > On Thu, Sep 3, 2015 at 4:45 PM, Rui Ueyama <ruiu at google.com> wrote: > >> What error message did you get? What >> http://lld.llvm.org/windows_support.html says is correct -- except debug >> info, the linker should be pretty much usable as a drop-in replacement for >> MSVC linker. >> >> On Thu, Sep 3, 2015 at 5:11 PM, Russell Wallace via llvm-dev < >> llvm-dev at lists.llvm.org> wrote: >> >>> What's the current state of affairs regarding lld on Windows - how much >>> of it is supposed to work? The documentation at >>> http://lld.llvm.org/windows_support.html suggests it should pretty much >>> work provided you don't need exceptions or debug info (though that >>> documentation seems to be from last year), but when I tried it on a 'hello >>> world' C program, it gave error messages; is it the case that lld is not >>> yet expected to work on Windows, or that it should and I'm probably getting >>> a command wrong, or something else? >>> >>> _______________________________________________ >>> LLVM Developers mailing list >>> llvm-dev at lists.llvm.org >>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >>> >>> >> >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150904/281f77df/attachment.html>
Ah! I don't know what GUARDSYM does or whether there is any way to turn it off at the compiler end; a Google search doesn't seem to find anything; but it would be great if you could add support for msvc 2015. When I try using clang as the compiler, I get a different error message. In this case it seems to be just not finding the standard libraries? C:\t>clang -c a.c C:\t>lld -flavor link a.o Undefined symbol: <entry>: mainCRTStartup Undefined symbol: a.o: puts symbol(s) not found On Thu, Sep 3, 2015 at 4:59 PM, Rui Ueyama <ruiu at google.com> wrote:> You seems to be using MSVC 2015 which I don't use yet, and /GUARDSYM seems > to be a new option added in MSVC 2015. I'll try to support that. > > On Fri, Sep 4, 2015 at 12:56 AM, Russell Wallace < > russell.wallace at gmail.com> wrote: > >> C:\t>type a.c >> #include <stdio.h> >> >> int main() { >> puts("hello"); >> return 0; >> } >> >> C:\t>cl /c a.c >> Microsoft (R) C/C++ Optimizing Compiler Version 19.00.23026 for x64 >> Copyright (C) Microsoft Corporation. All rights reserved. >> >> a.c >> >> C:\t>lld >> Select the appropriate flavor >> OVERVIEW: LLVM Linker >> >> USAGE: lld [options] <inputs> >> >> OPTIONS: >> -core CORE linking >> -flavor <value> Flavor for linking, options are gnu/darwin/link >> -help Display this help message >> -target <value> Select the target >> -version Display the version >> >> C:\t>lld -flavor link a.obj >> Cannot open /GUARDSYM:__C_specific_handler,S.obj: no such file or >> directory >> >> On Thu, Sep 3, 2015 at 4:45 PM, Rui Ueyama <ruiu at google.com> wrote: >> >>> What error message did you get? What >>> http://lld.llvm.org/windows_support.html says is correct -- except >>> debug info, the linker should be pretty much usable as a drop-in >>> replacement for MSVC linker. >>> >>> On Thu, Sep 3, 2015 at 5:11 PM, Russell Wallace via llvm-dev < >>> llvm-dev at lists.llvm.org> wrote: >>> >>>> What's the current state of affairs regarding lld on Windows - how much >>>> of it is supposed to work? The documentation at >>>> http://lld.llvm.org/windows_support.html suggests it should pretty >>>> much work provided you don't need exceptions or debug info (though that >>>> documentation seems to be from last year), but when I tried it on a 'hello >>>> world' C program, it gave error messages; is it the case that lld is not >>>> yet expected to work on Windows, or that it should and I'm probably getting >>>> a command wrong, or something else? >>>> >>>> _______________________________________________ >>>> LLVM Developers mailing list >>>> llvm-dev at lists.llvm.org >>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >>>> >>>> >>> >> >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150903/1a56b3b9/attachment.html>