scons: CheckLinkFlag() only adds to flags if test succeeds

Previously, did not check the return of TryLink() before appending, so
unsupported flags can be used when building shared libraries. This
patch adds checking.

Jira Issue: https://gem5.atlassian.net/browse/GEM5-1115

Change-Id: Ief62be15009cae9e02aaaa81b4d9c2d7b26e0223
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/53025
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Reviewed-by: Gabe Black <gabe.black@gmail.com>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Maintainer: Gabe Black <gabe.black@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Arun Rodrigues
2021-11-19 17:16:18 -07:00
committed by Bobby R. Bruce
parent 56c57db298
commit 353d2063b1

View File

@@ -61,7 +61,7 @@ def CheckLinkFlag(context, flag, autoadd=True, set_for_shared=True):
ret = context.TryLink('int main(int, char *[]) { return 0; }', '.cc')
if not (ret and autoadd):
context.env['LINKFLAGS'] = last_linkflags
if set_for_shared:
if (ret and set_for_shared):
assert(autoadd)
context.env.Append(SHLINKFLAGS=[flag])
context.Result(ret)