aboutsummaryrefslogtreecommitdiffstats
path: root/cc/config/global.go
diff options
context:
space:
mode:
authorChih-Hung Hsieh <chh@google.com>2018-04-03 11:33:34 -0700
committerChih-Hung Hsieh <chh@google.com>2018-04-12 14:37:35 -0700
commit02b4da53a76b4ba18e3e14588826d7af45ccd6b5 (patch)
tree8e8611f2c424d3db7685e7ad831498c48b63c330 /cc/config/global.go
parent18f568f651fdc7fb17f620aab005ae3af882c199 (diff)
downloadbuild_soong-02b4da53a76b4ba18e3e14588826d7af45ccd6b5.tar.gz
build_soong-02b4da53a76b4ba18e3e14588826d7af45ccd6b5.tar.bz2
build_soong-02b4da53a76b4ba18e3e14588826d7af45ccd6b5.zip
Add USE_CLANG_LLD and use_clang_lld.android-o-mr1-iot-preview-8
* USE_CLANG_LLD is unedefined in current builds. * When USE_CLANG_LLD is defined to 'true' or '1', use clang's lld instead of ld or ld.gold. * When lld is enabled: * ld-only flags are not passed to 'lld'. * location_packer is disabled. * Use new lld's --pack-dyn-relocs=android. * When lld does not work: * In Android.mk files use LOCAL_USE_CLANG_LLD := false. * In Android.bp files use use_clang_lld: false. * Only arm, arm64, x86, and x86_64_devices have LLD flags; all other hosts and targets do not call lld yet. Bug: 73768157 Test: make checkbuild and boot Change-Id: I06b8a1e868a600997a7e70fe05c299d751d23d5f
Diffstat (limited to 'cc/config/global.go')
-rw-r--r--cc/config/global.go10
1 files changed, 10 insertions, 0 deletions
diff --git a/cc/config/global.go b/cc/config/global.go
index 989c7ee0..051eba54 100644
--- a/cc/config/global.go
+++ b/cc/config/global.go
@@ -87,12 +87,20 @@ var (
"-Wl,--no-undefined-version",
}
+ deviceGlobalLldflags = append(ClangFilterUnknownLldflags(deviceGlobalLdflags),
+ []string{
+ "-Wl,--pack-dyn-relocs=android",
+ "-fuse-ld=lld",
+ }...)
+
hostGlobalCflags = []string{}
hostGlobalCppflags = []string{}
hostGlobalLdflags = []string{}
+ hostGlobalLldflags = []string{}
+
commonGlobalCppflags = []string{
"-Wsign-promo",
}
@@ -141,9 +149,11 @@ func init() {
pctx.StaticVariable("DeviceGlobalCflags", strings.Join(deviceGlobalCflags, " "))
pctx.StaticVariable("DeviceGlobalCppflags", strings.Join(deviceGlobalCppflags, " "))
pctx.StaticVariable("DeviceGlobalLdflags", strings.Join(deviceGlobalLdflags, " "))
+ pctx.StaticVariable("DeviceGlobalLldflags", strings.Join(deviceGlobalLldflags, " "))
pctx.StaticVariable("HostGlobalCflags", strings.Join(hostGlobalCflags, " "))
pctx.StaticVariable("HostGlobalCppflags", strings.Join(hostGlobalCppflags, " "))
pctx.StaticVariable("HostGlobalLdflags", strings.Join(hostGlobalLdflags, " "))
+ pctx.StaticVariable("HostGlobalLldflags", strings.Join(hostGlobalLldflags, " "))
pctx.StaticVariable("NoOverrideGlobalCflags", strings.Join(noOverrideGlobalCflags, " "))
pctx.StaticVariable("CommonGlobalCppflags", strings.Join(commonGlobalCppflags, " "))