Fix SConstruct for asan build
Sometimes it's easier to debug gem5 built with ASan enabled. This CL fixes some build error when using --with-asan. Bug: None Test: ./scripts/build_gem5 --with-asan --with-ubsan build/ARM/gem5.debug Change-Id: Iaaaaebc3f25749e11f97bf454ddd0153b3de56e7 Reviewed-on: https://gem5-review.googlesource.com/12511 Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com> Maintainer: Anthony Gutierrez <anthony.gutierrez@amd.com>
This commit is contained in:
16
SConstruct
16
SConstruct
@@ -484,11 +484,11 @@ if main['GCC']:
|
||||
compareVersions(main['GCC_VERSION'], '4.9') >= 0:
|
||||
main.Append(CCFLAGS=['-fsanitize=address,undefined',
|
||||
'-fno-omit-frame-pointer'],
|
||||
LINKFLAGS='-fsanitize=address,undefined')
|
||||
LINKFLAGS='-fsanitize=address,undefined')
|
||||
else:
|
||||
main.Append(CCFLAGS=['-fsanitize=address',
|
||||
'-fno-omit-frame-pointer'],
|
||||
LINKFLAGS='-fsanitize=address')
|
||||
LINKFLAGS='-fsanitize=address')
|
||||
# Only gcc >= 4.9 supports UBSan, so check both the version
|
||||
# and the command-line option before adding the compiler and
|
||||
# linker flags.
|
||||
@@ -541,16 +541,16 @@ elif main['CLANG']:
|
||||
# versions here.
|
||||
if GetOption('with_ubsan'):
|
||||
if GetOption('with_asan'):
|
||||
env.Append(CCFLAGS=['-fsanitize=address,undefined',
|
||||
'-fno-omit-frame-pointer'],
|
||||
main.Append(CCFLAGS=['-fsanitize=address,undefined',
|
||||
'-fno-omit-frame-pointer'],
|
||||
LINKFLAGS='-fsanitize=address,undefined')
|
||||
else:
|
||||
env.Append(CCFLAGS='-fsanitize=undefined',
|
||||
LINKFLAGS='-fsanitize=undefined')
|
||||
main.Append(CCFLAGS='-fsanitize=undefined',
|
||||
LINKFLAGS='-fsanitize=undefined')
|
||||
|
||||
elif GetOption('with_asan'):
|
||||
env.Append(CCFLAGS=['-fsanitize=address',
|
||||
'-fno-omit-frame-pointer'],
|
||||
main.Append(CCFLAGS=['-fsanitize=address',
|
||||
'-fno-omit-frame-pointer'],
|
||||
LINKFLAGS='-fsanitize=address')
|
||||
|
||||
else:
|
||||
|
||||
@@ -461,7 +461,7 @@ namespace ArmISA
|
||||
return INTREG_SP0;
|
||||
default:
|
||||
panic("Invalid exception level");
|
||||
break;
|
||||
return 0; // Never happens.
|
||||
}
|
||||
} else {
|
||||
return flattenIntRegModeIndex(reg);
|
||||
|
||||
@@ -84,7 +84,7 @@ class RegId {
|
||||
static constexpr size_t Scale = TheISA::NumVecElemPerVecReg;
|
||||
friend struct std::hash<RegId>;
|
||||
public:
|
||||
RegId() {};
|
||||
RegId() : regClass(IntRegClass), regIdx(0), elemIdx(-1) {}
|
||||
RegId(RegClass reg_class, RegIndex reg_idx)
|
||||
: regClass(reg_class), regIdx(reg_idx), elemIdx(-1)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user