new_env.Append(LINKFLAGS='-fsanitize=undefined')
# The address sanitizer is available for gcc >= 4.8
- if GetOption('with_asan') and \
- compareVersions(env['GCC_VERSION'], '4.8') >= 0:
- new_env.Append(CCFLAGS='-fsanitize=address')
+ if GetOption('with_asan'):
+ new_env.Append(CCFLAGS=['-fsanitize=address',
+ '-fno-omit-frame-pointer'])
new_env.Append(LINKFLAGS='-fsanitize=address')
if env['CLANG']:
new_env.Append(LINKFLAGS='-fsanitize=undefined')
if GetOption('with_asan'):
- new_env.Append(CCFLAGS='-fsanitize=address')
+ new_env.Append(CCFLAGS=['-fsanitize=address',
+ '-fno-omit-frame-pointer'])
new_env.Append(LINKFLAGS='-fsanitize=address')
werror_env = new_env.Clone()
if 'all' in needed_envs:
needed_envs += target_types
-gem5_root = Dir('.').up().up().abspath
def makeEnvirons(target, source, env):
# cause any later Source() calls to be fatal, as a diagnostic.
Source.done()
# Set up the regression tests for each build.
for e in envList:
- SConscript(os.path.join(gem5_root, 'tests', 'SConscript'),
+ SConscript(os.path.join(env.root.abspath, 'tests', 'SConscript'),
variant_dir = variantd('tests', e.Label),
exports = { 'env' : e }, duplicate = False)