From 2ed00dc29e85db08e099cd067db6a3a47549b915 Mon Sep 17 00:00:00 2001 From: Eric Kilmer Date: Tue, 2 Mar 2021 16:05:45 -0500 Subject: [PATCH] Fix bad LoadInst compat for LLVM 11 (#739) * Fix bad LoadInst compat for LLVM 11 * Add lifter smoketest. Just check for 0 return * Use macos 10.15 CI runner --- .github/workflows/vcpkg_ci.yml | 4 +++- mcsema/BC/Optimize.cpp | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/vcpkg_ci.yml b/.github/workflows/vcpkg_ci.yml index a387086ff..cc94ab684 100644 --- a/.github/workflows/vcpkg_ci.yml +++ b/.github/workflows/vcpkg_ci.yml @@ -66,13 +66,15 @@ jobs: # --help return non-zero and fails... mcsema-lift-${{ matrix.llvm }}.0 --version mcsema-disass-2 --help + mcsema-lift-${{ matrix.llvm }}.0 --arch amd64 --os linux --cfg ./tests/test_suite_generator/generated/prebuilt_cfg/amd64/linux/cfg/hello_world --output hello_world.bc + mcsema-lift-${{ matrix.llvm }}.0 --arch x86 --os linux --cfg ./tests/test_suite_generator/generated/prebuilt_cfg/x86/linux/cfg/hello_world --output hello_world.bc build_mac: strategy: fail-fast: false matrix: os: [ - 'macos-11.0' + 'macos-10.15' ] llvm: [ '11' diff --git a/mcsema/BC/Optimize.cpp b/mcsema/BC/Optimize.cpp index 0c648b0d1..63994bf8d 100644 --- a/mcsema/BC/Optimize.cpp +++ b/mcsema/BC/Optimize.cpp @@ -1542,7 +1542,7 @@ static void GlobalizeStateStructures(void) { #if LLVM_VERSION_NUMBER < LLVM_VERSION(11, 0) new llvm::LoadInst(ptr, load->getName(), load) #else - new llvm::LoadInst(ptr->getType(), ptr, load->getName(), load) + new llvm::LoadInst(ptr->getType()->getPointerElementType(), ptr, load->getName(), load) #endif ); to_remove.push_back(itp);