Comments (6)
Pin's release notes say:
Note, however, that you cannot use gcc versions 4.5 or newer to compile
Probe mode tools, since these versions create files with a new OS ABI version
which is not compatible with the pin kit. You can also use Intel(R) C++
compiler.
This might be referring to the new C++11 libstdc++ ABI which has a new std::string
implementation and changed its mangling to avoid cross-linking. (Well, it seems that gcc 4.5 does have a new ABI which did not get enabled by default, so the blame still goes to gcc 5+.) To get around this you can try building an /opt
prefix with all libraries built using -D_GLIBCXX_USE_CXX11_ABI=0 -fabi-version=2
. Or just grab an older system and put it under systemd-nspawn
.
from mcsema.
That's fine then, the llvm38 branch eliminates PIN dependencies ;-)
from mcsema.
same issue with gcc 6.2 on arch linux
namely, the following two sections are triggered
/* compiler_version_check2.H:101-103 */
#if !defined(__GXX_ABI_VERSION) || CC_USED_ABI_VERSION != __GXX_ABI_VERSION
#error The C++ ABI of your compiler does not match the ABI of the pin kit.
#endif
// ...
/* compiler_version_check2.H:116-118 */
#if CC_USED_ABI_VERSION != __GXX_ABI_VERSION
#error This kit requires gcc 3.4 or later
#endif
from mcsema.
Hrmm... can you run echo | clang -dM -E -
and echo | gcc -dM -E -
and grep out and paste here the relevant macros uses in the #if
checks posted by @incertia?
from mcsema.
Closing this unless the issue remains on the llvm38 branch.
from mcsema.
Hey.... This is an Intel Pin/libstdc++ compatibility problem. It's expected to persist in all future versions of mcsema until Intel switches to the new (gcc 4.5+) C++ ABI.
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
- Building mcsema with clang12 error HOT 10
- 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.