Current state of the lld project

Hello list,

"lld is in its early stages of development.
It can currently self host on Linux x86-64 with -static."

Is this information up-to-date?

I made a quick test on a Windows 8 64bit system:

test.c: int main () { return 42; }

clang -c test.c
lld -flavor link test.o
.\test.exe

This application can not be run in Win32 mode.

Maybe I can produce correct results by specifying -target, but I
couldn't get it to even accept -flavor and -target arguments in the
same command line.

lld -target x86_64-pc-win32 -flavor link test.o

warning: ignoring unknown argument: -flavor

Greetings,
Daniel Albuschat

Hi Daniel,

Thanks for testing lld on windows. This is really useful.

On the status page, we are consistently testing Linux binaries with ELF to work on x86_64.

They also work on other architectures too like Hexagon.

Currently the windows link flavor doesnot handle targets, I am not sure of what kind of binaries it can run, but I have heard that it can build windows binaries and run them. I am adding Ruiu here, who has been working on making windows work on lld.

Thanks

Shankar Easwaran

>
> "lld is in its early stages of development.
> It can currently self host on Linux x86-64 with -static."
>
> Is this information up-to-date?

I made a quick test on a Windows 8 64bit system:

test.c: int main () { return 42; }
> clang -c test.c
> lld -flavor link test.o
> .\test.exe
This application can not be run in Win32 mode.

I think you need to add /subsystem:console for a console application.

The current status of Windows port of LLD is that it can link a small
program like yours or little bit more complicated ones. I haven't tried to
self-host LLD, but I believe it cannot do yet. The linker depends on some
third party tools, namely cvtres.exe and rc.exe, for resource file. I want
to eliminate that dependency in the future, though.

Maybe I can produce correct results by specifying -target, but I