scons: fix disable_partial logic for fast binary
authorHoa Nguyen <hoanguyen@ucdavis.edu>
Fri, 1 Mar 2019 01:51:51 +0000 (17:51 -0800)
committerGabe Black <gabeblack@google.com>
Mon, 18 Mar 2019 22:22:25 +0000 (22:22 +0000)
Partial linking should be disabled on darwin; however, the script
fails to do so when force_lto is set, which results in gem5 building
with fast option fails on macOS. This fix changes disable_partial
logic, which should be True once it's True.

Signed-off-by: Hoa Nguyen <hoanguyen@ucdavis.edu>
Change-Id: I77d2a4cc4a9bf5c92c800c004eb744bb7081c42e
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/16888
Reviewed-by: Gabe Black <gabeblack@google.com>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>

src/SConscript

index 1d65649f8900375ece88a8927af7a7bb198092d9..d21feeac9e548690fde4cb310bd06b231da68a4b 100644 (file)
@@ -1388,9 +1388,9 @@ if 'opt' in needed_envs:
 
 # "Fast" binary
 if 'fast' in needed_envs:
-    disable_partial = disable_partial and \
-            env.get('BROKEN_INCREMENTAL_LTO', False) and \
-            GetOption('force_lto')
+    disable_partial = disable_partial or \
+            (env.get('BROKEN_INCREMENTAL_LTO', False) and \
+            GetOption('force_lto'))
     makeEnv(env, 'fast', '.fo', strip = True,
             CCFLAGS = Split(ccflags['fast']),
             CPPDEFINES = ['NDEBUG', 'TRACING_ON=0'],