diff options
author | Josh Gao <jmgao@google.com> | 2019-04-02 17:53:12 -0700 |
---|---|---|
committer | Pirama Arumuga Nainar <pirama@google.com> | 2019-04-03 00:59:14 +0000 |
commit | 61166dc047ff30869667a58cf0daca68d20e38ab (patch) | |
tree | 0489920cd601d01124c2637dd3449bb020222db1 | |
parent | 9a4f3f7ea87d983ddf69831a9e197f6b62d4d873 (diff) | |
download | build_soong-61166dc047ff30869667a58cf0daca68d20e38ab.tar.gz build_soong-61166dc047ff30869667a58cf0daca68d20e38ab.tar.bz2 build_soong-61166dc047ff30869667a58cf0daca68d20e38ab.zip |
Revert "Enable lld for windows"
This reverts commit 3c21c0b1d9bab0d51100ca03aa157a1d8545c2ea.
Reason for revert: appears to break AdbWinUsb.dll usage by fastboot (and adb?)
Bug: http://b/129420419
Bug: http://b/110800681
Change-Id: I36d6d87f2e830e08e257ab42d470e49cdbb95819
-rw-r--r-- | cc/binary.go | 2 | ||||
-rw-r--r-- | cc/builder.go | 20 | ||||
-rw-r--r-- | cc/library.go | 17 | ||||
-rw-r--r-- | cc/linker.go | 8 |
4 files changed, 18 insertions, 29 deletions
diff --git a/cc/binary.go b/cc/binary.go index 51e68fcd..35c3d85d 100644 --- a/cc/binary.go +++ b/cc/binary.go @@ -384,7 +384,7 @@ func (binary *binaryDecorator) link(ctx ModuleContext, TransformObjToDynamicBinary(ctx, objs.objFiles, sharedLibs, deps.StaticLibs, deps.LateStaticLibs, deps.WholeStaticLibs, linkerDeps, deps.CrtBegin, deps.CrtEnd, true, - builderFlags, outputFile, nil) + builderFlags, outputFile) objs.coverageFiles = append(objs.coverageFiles, deps.StaticLibObjs.coverageFiles...) objs.coverageFiles = append(objs.coverageFiles, deps.WholeStaticLibObjs.coverageFiles...) diff --git a/cc/builder.go b/cc/builder.go index 24c9377d..c64243f6 100644 --- a/cc/builder.go +++ b/cc/builder.go @@ -26,7 +26,6 @@ import ( "strings" "github.com/google/blueprint" - "github.com/google/blueprint/pathtools" "android/soong/android" "android/soong/cc/config" @@ -596,7 +595,7 @@ func transformDarwinObjToStaticLib(ctx android.ModuleContext, objFiles android.P // and shared libraries, to a shared library (.so) or dynamic executable func TransformObjToDynamicBinary(ctx android.ModuleContext, objFiles, sharedLibs, staticLibs, lateStaticLibs, wholeStaticLibs, deps android.Paths, - crtBegin, crtEnd android.OptionalPath, groupLate bool, flags builderFlags, outputFile android.WritablePath, implicitOutputs android.WritablePaths) { + crtBegin, crtEnd android.OptionalPath, groupLate bool, flags builderFlags, outputFile android.WritablePath) { ldCmd := "${config.ClangBin}/clang++" @@ -633,11 +632,7 @@ func TransformObjToDynamicBinary(ctx android.ModuleContext, } for _, lib := range sharedLibs { - libFile := lib.String() - if ctx.Windows() { - libFile = pathtools.ReplaceExtension(libFile, "a") - } - libFlagsList = append(libFlagsList, libFile) + libFlagsList = append(libFlagsList, lib.String()) } deps = append(deps, staticLibs...) @@ -648,12 +643,11 @@ func TransformObjToDynamicBinary(ctx android.ModuleContext, } ctx.Build(pctx, android.BuildParams{ - Rule: ld, - Description: "link " + outputFile.Base(), - Output: outputFile, - ImplicitOutputs: implicitOutputs, - Inputs: objFiles, - Implicits: deps, + Rule: ld, + Description: "link " + outputFile.Base(), + Output: outputFile, + Inputs: objFiles, + Implicits: deps, Args: map[string]string{ "ldCmd": ldCmd, "crtBegin": crtBegin.String(), diff --git a/cc/library.go b/cc/library.go index 5556fd4f..cf207473 100644 --- a/cc/library.go +++ b/cc/library.go @@ -357,10 +357,9 @@ func (library *libraryDecorator) linkerFlags(ctx ModuleContext, flags Flags) Fla ) } } else { - f = append(f, "-shared") - if !ctx.Windows() { - f = append(f, "-Wl,-soname,"+libName+flags.Toolchain.ShlibSuffix()) - } + f = append(f, + "-shared", + "-Wl,-soname,"+libName+flags.Toolchain.ShlibSuffix()) } flags.LdFlags = append(f, flags.LdFlags...) @@ -684,14 +683,6 @@ func (library *libraryDecorator) linkShared(ctx ModuleContext, outputFile := android.PathForModuleOut(ctx, fileName) ret := outputFile - var implicitOutputs android.WritablePaths - if ctx.Windows() { - importLibraryPath := android.PathForModuleOut(ctx, pathtools.ReplaceExtension(fileName, "a")) - - flags.LdFlags = append(flags.LdFlags, "-Wl,--out-implib="+importLibraryPath.String()) - implicitOutputs = append(implicitOutputs, importLibraryPath) - } - builderFlags := flagsToBuilderFlags(flags) // Optimize out relinking against shared libraries whose interface hasn't changed by @@ -743,7 +734,7 @@ func (library *libraryDecorator) linkShared(ctx ModuleContext, TransformObjToDynamicBinary(ctx, objs.objFiles, sharedLibs, deps.StaticLibs, deps.LateStaticLibs, deps.WholeStaticLibs, - linkerDeps, deps.CrtBegin, deps.CrtEnd, false, builderFlags, outputFile, implicitOutputs) + linkerDeps, deps.CrtBegin, deps.CrtEnd, false, builderFlags, outputFile) objs.coverageFiles = append(objs.coverageFiles, deps.StaticLibObjs.coverageFiles...) objs.coverageFiles = append(objs.coverageFiles, deps.WholeStaticLibObjs.coverageFiles...) diff --git a/cc/linker.go b/cc/linker.go index 179a9985..fd958ba8 100644 --- a/cc/linker.go +++ b/cc/linker.go @@ -290,6 +290,10 @@ func (linker *baseLinker) useClangLld(ctx ModuleContext) bool { if ctx.Darwin() { return false } + // http://b/110800681 - lld cannot link Android's Windows modules yet. + if ctx.Windows() { + return false + } if linker.Properties.Use_clang_lld != nil { return Bool(linker.Properties.Use_clang_lld) } @@ -343,7 +347,7 @@ func (linker *baseLinker) linkerFlags(ctx ModuleContext, flags Flags) Flags { // darwin defaults to treating undefined symbols as errors flags.LdFlags = append(flags.LdFlags, "-Wl,-undefined,dynamic_lookup") } - } else if !ctx.Darwin() && !ctx.Windows() { + } else if !ctx.Darwin() { flags.LdFlags = append(flags.LdFlags, "-Wl,--no-undefined") } @@ -380,7 +384,7 @@ func (linker *baseLinker) linkerFlags(ctx ModuleContext, flags Flags) Flags { flags.LdFlags = append(flags.LdFlags, proptools.NinjaAndShellEscapeList(linker.Properties.Ldflags)...) - if ctx.Host() && !ctx.Windows() { + if ctx.Host() { rpath_prefix := `\$$ORIGIN/` if ctx.Darwin() { rpath_prefix = "@loader_path/" |