Revert "Revert "Enable lld for windows""
This reverts commit 61166dc0. One difference from the earlier change is that import libraries are now using the '.lib' extension instead of '.a' to prevent clash with AdbWinApi.a. Bug: http://b/110800681 The following flags that the binutils linkers support are not available in lld for Windows: -soname --no-undefined -rpath Windows also uses "import libraries", which are stub libraries used only for linking. The binutils linkers accepted a DLL and treated them as an import library. But lld issues the following error: lld-link: error: ...DLL: bad file type. Did you specify a DLL instead of an import library? To resolve this, pass '-out-implib=libFoo.lib' to lld when linking libFoo.dll to get lld to generate an import library. Add libFoo.lib as an implicit output to the 'ld' build rule. Rewrite the shared libraries when building a library/binary to use the import library instead of the DLL. As a side-effect, this also uses the newly-created AdbWinApi.lib that's alongside development/host/windows/prebuilt/usb/AdbWinApi.dll Test: Run Windows tests (go/android-llvm-windows-testing) and check absence of regressions. Also check that the following commands pass: $ adb.exe devices $ fastboot.exe devices Change-Id: I34e07d345e0207086ac8e8ea12525d8c322b20fd
Loading
Please register or sign in to comment