Comments (10)
You can patch the source by replacing createConstantPropagationPass with createInstSimplifyPass
This is an LLVM API change, I thought it was in 13, not 12 though.
from mcsema.
You can patch the source by replacing createConstantPropagationPass with createInstSimplifyPass
This is an LLVM API change, I thought it was in 13, not 12 though.
got this error
Optimize.cpp:913:17: error: no member named 'createInstSimplifyPass' in namespace 'llvm'
fpm.add(llvm::createInstSimplifyPass());
~~~~~~^
1 error generated.
make[2]: *** [anvill/CMakeFiles/anvill.dir/build.make:314: anvill/CMakeFiles/anvill.dir/src/Optimize.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:405: anvill/CMakeFiles/anvill.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
from mcsema.
simply removed that optimization and it compiles.
// fpm.add(llvm::createInstSimplifyPass());
Also "getTypeByName" is not in "llvm::Module" it seems? https://reviews.llvm.org/D78793
had to remove this code to get it compiling on llvm 12.
Line 106 in 87239ee
auto seg_type = gModule->getTypeByName(type_name);
if (seg_type) {
return seg_type;
}
from mcsema.
@michaelbrownuc
any updates on issue?
I tried build latest version(82c3106) but error still occur. File compiles after removing optimization. But other error occurs.
After removing quotes and next try other error occur.
from mcsema.
IIRC there are a few API changes to make, including the one in the second screenshot. In that case removing the -1
parameter should solve that compiler error.
from mcsema.
@michaelbrownuc
now have this error
from mcsema.
@michaelbrownuc now have this error
from mcsema.
@invlpg seg_type is used and returned later in function GetSegmentType so just removing code doesnt work.
from mcsema.
simply removed that optimization and it compiles.
// fpm.add(llvm::createInstSimplifyPass());
Also "getTypeByName" is not in "llvm::Module" it seems? https://reviews.llvm.org/D78793
had to remove this code to get it compiling on llvm 12.
Line 106 in 87239ee
auto seg_type = gModule->getTypeByName(type_name); if (seg_type) { return seg_type; }
getTypeByName is moved to other place. Try this, it work for me
auto seg_type = llvm::StructType::getTypeByName(gModule->getContext(), type_name);
from mcsema.
Thanks, it works.
from mcsema.
Related Issues (20)
- Docker build error HOT 1
- dyninst frontend is not gettting built on Linux HOT 4
- Segfault while running lifted binary HOT 1
- How not to be explicit about "runtime's memory" HOT 4
- Decompiling Windows binaries (32bit and 64bit) does not work at all HOT 3
- Official support for running mcsema with rizin/cutter HOT 2
- build error on ubuntu 20.04
- Dockerfile is not up-to-date with remill dependency HOT 2
- Feature request: Improve installation process with precompiled binaries HOT 1
- to see details in the generated 'xxx.cfg'
- fatal error: 'anvill/Program.h' file not found HOT 1
- Can you walk through the example on docs/McSemaWalkthrough.md and check if it still works?
- Unable to build the docker image
- error while translating function with function pointer as parameter HOT 5
- wsl-1.0 ubuntu20+win ida7.5 counter a error of
- Converting 64 bit program to 32 bit HOT 2
- Use mcsema with IDA Home
- Issue in disassembling binaries
- how to make llvm ir "store" volatile? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mcsema.