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