1*4882a593SmuzhiyunFrom 0dcae7668b878b7db5da83643a8dfd7709865d3b Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Hongxu Jia <hongxu.jia@windriver.com>
3*4882a593SmuzhiyunDate: Fri, 22 Jan 2021 00:02:25 +0800
4*4882a593SmuzhiyunSubject: [PATCH] avoid link latomic failure on CentOS 8 host
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunWhen host (such as CentOS 8) did not install libatomic, there was a
7*4882a593Smuzhiyunlink failure on native. In fact, only target requires to link atomic,
8*4882a593Smuzhiyunthe native does not. So link atomic for target only
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunUpstream-Status: Inappropriate [oe specific]
11*4882a593Smuzhiyun
12*4882a593SmuzhiyunSigned-off-by: Hongxu Jia <hongxu.jia@windriver.com>
13*4882a593SmuzhiyunSigned-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun---
16*4882a593Smuzhiyun base/BUILD.gn               | 2 ++
17*4882a593Smuzhiyun build/config/linux/BUILD.gn | 2 ++
18*4882a593Smuzhiyun 2 files changed, 4 insertions(+)
19*4882a593Smuzhiyun
20*4882a593Smuzhiyundiff --git a/base/BUILD.gn b/base/BUILD.gn
21*4882a593Smuzhiyunindex 1f0e5cc5f0fae..f75c71d26f727 100644
22*4882a593Smuzhiyun--- a/base/BUILD.gn
23*4882a593Smuzhiyun+++ b/base/BUILD.gn
24*4882a593Smuzhiyun@@ -1544,7 +1544,9 @@ component("base") {
25*4882a593Smuzhiyun   # Needed for <atomic> if using newer C++ library than sysroot, except if
26*4882a593Smuzhiyun   # building inside the cros_sdk environment - use host_toolchain as a
27*4882a593Smuzhiyun   # more robust check for this.
28*4882a593Smuzhiyun+  # Only target requires <atomic>
29*4882a593Smuzhiyun   if (!use_sysroot && (is_android || is_chromeos || (is_linux && !is_castos)) &&
30*4882a593Smuzhiyun+      (current_toolchain != host_toolchain) &&
31*4882a593Smuzhiyun       host_toolchain != "//build/toolchain/cros:host") {
32*4882a593Smuzhiyun     libs += [ "atomic" ]
33*4882a593Smuzhiyun   }
34*4882a593Smuzhiyundiff --git a/build/config/linux/BUILD.gn b/build/config/linux/BUILD.gn
35*4882a593Smuzhiyunindex 131bb71d1d3b8..20f918ab82c9b 100644
36*4882a593Smuzhiyun--- a/build/config/linux/BUILD.gn
37*4882a593Smuzhiyun+++ b/build/config/linux/BUILD.gn
38*4882a593Smuzhiyun@@ -40,7 +40,9 @@ config("runtime_library") {
39*4882a593Smuzhiyun     defines = [ "OS_CHROMEOS" ]
40*4882a593Smuzhiyun   }
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun+  # Only target requires <atomic>
43*4882a593Smuzhiyun   if ((!is_chromeos || default_toolchain != "//build/toolchain/cros:target") &&
44*4882a593Smuzhiyun+      (current_toolchain != host_toolchain) &&
45*4882a593Smuzhiyun       (!use_custom_libcxx || current_cpu == "mipsel")) {
46*4882a593Smuzhiyun     libs = [ "atomic" ]
47*4882a593Smuzhiyun   }
48