lifting-bits / remill

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

Fix Linux AArch64 compilation for SPARC32 runtime #674

Closed ekilmer closed 1 year ago

ekilmer commented 1 year ago

Issue with conflicting compilation target(s).

Tests fail though.

Test project /app/builds/remill-build
    Start 1: small_diff_test
1/4 Test #1: small_diff_test ..................***Failed    0.78 sec
  0%|          | 0/1 [00:00<?, ?it/s]F20230510 16:26:03.200791 47053 InstructionLifter.cpp:651] Check failed: arg_type->isIntegerTy(impl->arch->address_size) Bad semantics function implementation for instruction at deadbe00. Integer constants that are smaller than the machine word size should be represented as machine word sized arguments to semantics functions.
*** Check failure stack trace: ***
    @     0xaaaae0483be8  google::LogMessage::SendToLog()
    @     0xaaaae0480580  google::LogMessage::Flush()
    @     0xaaaae0484200  google::LogMessageFatal::~LogMessageFatal()
    @     0xaaaae04991d0  remill::InstructionLifter::LiftImmediateOperand()
    @     0xaaaae04966d0  remill::InstructionLifter::LiftIntoBlock()
    @     0xaaaae049434c  test_runner::LiftingTester::LiftInstructionFunction()
    @     0xaaaae04946b0  test_runner::LiftingTester::LiftInstructionFunction()
    @     0xaaaae0473f44  DifferentialModuleBuilder::build()
    @     0xaaaae0472454  runTestCase()
    @     0xaaaae0473208  main
    @     0xffffa9be73fc  (unknown)
    @     0xffffa9be74cc  __libc_start_main
    @     0xaaaae0472030  _start
    @              (nil)  (unknown)
100%|██████████| 1/1 [00:00<00:00,  1.41it/s]
Ran 530 with 530 failing. Success rate of: 0.0

    Start 2: thumb-tests
2/4 Test #2: thumb-tests ......................   Passed    5.60 sec
    Start 3: ppc-tests
3/4 Test #3: ppc-tests ........................   Passed   10.93 sec
    Start 4: aarch64
Could not find executable /app/builds/remill-build/tests/AArch64/run-aarch64-tests
Looked in the following places:
/app/builds/remill-build/tests/AArch64/run-aarch64-tests
/app/builds/remill-build/tests/AArch64/run-aarch64-tests
/app/builds/remill-build/tests/AArch64/Release/run-aarch64-tests
/app/builds/remill-build/tests/AArch64/Release/run-aarch64-tests
/app/builds/remill-build/tests/AArch64/Debug/run-aarch64-tests
/app/builds/remill-build/tests/AArch64/Debug/run-aarch64-tests
/app/builds/remill-build/tests/AArch64/MinSizeRel/run-aarch64-tests
/app/builds/remill-build/tests/AArch64/MinSizeRel/run-aarch64-tests
/app/builds/remill-build/tests/AArch64/RelWithDebInfo/run-aarch64-tests
/app/builds/remill-build/tests/AArch64/RelWithDebInfo/run-aarch64-tests
/app/builds/remill-build/tests/AArch64/Deployment/run-aarch64-tests
/app/builds/remill-build/tests/AArch64/Deployment/run-aarch64-tests
/app/builds/remill-build/tests/AArch64/Development/run-aarch64-tests
/app/builds/remill-build/tests/AArch64/Development/run-aarch64-tests
app/builds/remill-build/tests/AArch64/run-aarch64-tests
app/builds/remill-build/tests/AArch64/run-aarch64-tests
app/builds/remill-build/tests/AArch64/Release/run-aarch64-tests
app/builds/remill-build/tests/AArch64/Release/run-aarch64-tests
app/builds/remill-build/tests/AArch64/Debug/run-aarch64-tests
app/builds/remill-build/tests/AArch64/Debug/run-aarch64-tests
app/builds/remill-build/tests/AArch64/MinSizeRel/run-aarch64-tests
app/builds/remill-build/tests/AArch64/MinSizeRel/run-aarch64-tests
app/builds/remill-build/tests/AArch64/RelWithDebInfo/run-aarch64-tests
app/builds/remill-build/tests/AArch64/RelWithDebInfo/run-aarch64-tests
app/builds/remill-build/tests/AArch64/Deployment/run-aarch64-tests
app/builds/remill-build/tests/AArch64/Deployment/run-aarch64-tests
app/builds/remill-build/tests/AArch64/Development/run-aarch64-tests
app/builds/remill-build/tests/AArch64/Development/run-aarch64-tests
Unable to find executable: /app/builds/remill-build/tests/AArch64/run-aarch64-tests
4/4 Test #4: aarch64 ..........................***Not Run   0.00 sec

50% tests passed, 2 tests failed out of 4

Total Test time (real) =  17.32 sec

The following tests FAILED:
          1 - small_diff_test (Failed)
          4 - aarch64 (Not Run)