lifting-bits / remill

Library for lifting machine code to LLVM bitcode
Apache License 2.0
1.26k stars 142 forks source link

Tests fail on `arm64` machine #518

Closed ekilmer closed 2 years ago

ekilmer commented 3 years ago

We test remill in cxx-common repo with an arm64 machine. Unfortunately, it seems tests have been failing for a while that weren't caught to a bad || true after the actual test invocation 🤦 . (Edit: We still do that now, just so we can continue with testing the other tools, but that's okay because this issue now tracks the test failures---it will be removed after fixing this issue.)

From the logs, it looks like there are 4 tests that fail with the following first few lines of output:


fmadd_s_pos_floatdp3_2

[ RUN      ] GeneralInstrTest/InstrTest.SemanticsMatchNative/239
E0525 17:32:28.360159  2413 Run.cpp:450] States did not match for fmadd_s_pos_floatdp3_2 with X0=3fffffff, X1=1 and N=0, Z=0, C=0, V=0
../tests/AArch64/Run.cpp:451: Failure
Value of: !"Lifted and native states did not match."
  Actual: false
Expected: true
../tests/AArch64/Run.cpp:487: Failure
Expected equality of these values:
  lifted_state->sr.ixc
    Which is: '\0'
  native_state->sr.ixc
    Which is: '\x1' (1)
E0525 17:32:28.362192  2413 Run.cpp:502] Bytes at offset 1145 are different

fmadd_s_neg_floatdp3_2

[ RUN      ] GeneralInstrTest/InstrTest.SemanticsMatchNative/240
E0525 17:32:28.387243  2413 Run.cpp:450] States did not match for fmadd_s_neg_floatdp3_2 with X0=3fffffff, X1=1 and N=0, Z=0, C=0, V=0
../tests/AArch64/Run.cpp:451: Failure
Value of: !"Lifted and native states did not match."
  Actual: false
Expected: true
../tests/AArch64/Run.cpp:487: Failure
Expected equality of these values:
  lifted_state->sr.ixc
    Which is: '\0'
  native_state->sr.ixc
    Which is: '\x1' (1)
E0525 17:32:28.387449  2413 Run.cpp:502] Bytes at offset 1145 are different

fmadd_d_pos_floatdp3_2

[ RUN      ] GeneralInstrTest/InstrTest.SemanticsMatchNative/241
E0525 17:32:28.410369  2413 Run.cpp:450] States did not match for fmadd_d_pos_floatdp3_2 with X0=3fffffffffffffff, X1=1 and N=0, Z=0, C=0, V=0
../tests/AArch64/Run.cpp:451: Failure
Value of: !"Lifted and native states did not match."
  Actual: false
Expected: true
../tests/AArch64/Run.cpp:487: Failure
Expected equality of these values:
  lifted_state->sr.ixc
    Which is: '\0'
  native_state->sr.ixc
    Which is: '\x1' (1)
E0525 17:32:28.410548  2413 Run.cpp:502] Bytes at offset 1145 are different

fmadd_d_neg_floatdp3_2

[ RUN      ] GeneralInstrTest/InstrTest.SemanticsMatchNative/242
E0525 17:32:28.433482  2413 Run.cpp:450] States did not match for fmadd_d_neg_floatdp3_2 with X0=3fffffffffffffff, X1=1 and N=0, Z=0, C=0, V=0
../tests/AArch64/Run.cpp:451: Failure
Value of: !"Lifted and native states did not match."
  Actual: false
Expected: true
../tests/AArch64/Run.cpp:487: Failure
Expected equality of these values:
  lifted_state->sr.ixc
    Which is: '\0'
  native_state->sr.ixc
    Which is: '\x1' (1)
E0525 17:32:28.433655  2413 Run.cpp:502] Bytes at offset 1145 are different

Full output logs from CI run here: https://github.com/trailofbits/cxx-common/pull/756/checks?check_run_id=2667780025#step:17:797

arm64_failures.txt

ekilmer commented 2 years ago

Closing this because it's outdated by now