diff options
author | Sebastian Pop <sebpop@gmail.com> | 2019-02-20 23:17:50 -0600 |
---|---|---|
committer | jonathanmetzman <31354670+jonathanmetzman@users.noreply.github.com> | 2019-02-20 21:17:50 -0800 |
commit | f58939a944065e2b6d455755dd7715f294f18266 (patch) | |
tree | 39a89ae8101833c4d17f325e83367ef19cfb9b92 /infra/base-images | |
parent | 050f713538e9529f088261ffbcd3d863182aef61 (diff) |
fix build check for aarch64 (#2179)
Diffstat (limited to 'infra/base-images')
-rwxr-xr-x | infra/base-images/base-runner/bad_build_check | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/infra/base-images/base-runner/bad_build_check b/infra/base-images/base-runner/bad_build_check index 238875eb..30aa1232 100755 --- a/infra/base-images/base-runner/bad_build_check +++ b/infra/base-images/base-runner/bad_build_check @@ -200,10 +200,22 @@ function check_ubsan_build { function check_mixed_sanitizers { local FUZZER=$1 local result=0 - - local ASAN_CALLS=$(objdump -dC $FUZZER | egrep "callq\s+[0-9a-f]+\s+<__asan" -c) - local MSAN_CALLS=$(objdump -dC $FUZZER | egrep "callq\s+[0-9a-f]+\s+<__msan" -c) - local UBSAN_CALLS=$(objdump -dC $FUZZER | egrep "callq\s+[0-9a-f]+\s+<__ubsan" -c) + local CALL_INSN= + case $(uname -m) in + x86_64) + CALL_INSN="callq\s+[0-9a-f]+\s+<" + ;; + aarch64) + CALL_INSN="bl\s+[0-9a-f]+\s+<" + ;; + *) + echo "Error: unsupported machine hardware $(uname -m)" + exit 1 + ;; + esac + local ASAN_CALLS=$(objdump -dC $FUZZER | egrep "${CALL_INSN}__asan" -c) + local MSAN_CALLS=$(objdump -dC $FUZZER | egrep "${CALL_INSN}__msan" -c) + local UBSAN_CALLS=$(objdump -dC $FUZZER | egrep "${CALL_INSN}__ubsan" -c) if [[ "$SANITIZER" = address ]]; then check_asan_build $FUZZER $ASAN_CALLS $MSAN_CALLS $UBSAN_CALLS |