scons: Fix how partial linking is disabled.
authorGabe Black <gabeblack@google.com>
Tue, 19 May 2020 00:20:14 +0000 (17:20 -0700)
committerGabe Black <gabeblack@google.com>
Fri, 12 Jun 2020 08:48:14 +0000 (08:48 +0000)
commitd45c4b7523cfcdc68c5cd82ba523e2bda9ad6f53
treeb45186904b59a12c6184ebf908661fe100d33a5d
parent1008b70f316b1528198f3bd9bfc58c865daf0ebb
scons: Fix how partial linking is disabled.

Setting disable_partial part way through the checks for various build
targets is incorrect and will affect targets based on the order they're
checked.

This change moves the check earlier, makes it consistent across all
builds whether fast is included or not, and stops passing it in as an
option to makeEnv since it now applies universally.

By disabling partial linking consistently, we avoid missing bugs where
only the "fast" version of gem5 doesn't build correctly because of the
multitude of g++ bugs having to do with combining LTO and partial
linking.

This also simplifies the logic in the SConscript by having fewer
independently moving parts.

Change-Id: Iff69f39868e948d3b9a5b11ea80bbfed19419b59
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/29303
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Gabe Black <gabeblack@google.com>
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
src/SConscript