Comments (1)
I apologize for the delay in answering - I wanted to get to the bottom of the issue first. I've now pushed a number of commits that solve some of the problems causing the aforementioned warnings, and generally improve compatibility to C++ programs.
Pin tool log: Error ...
That message is a bit misleading, and it can be safely ignored. This is caused by Intel Pin executing portions of libc before it tells Microwalk that the library is loaded, and the message is mostly a sanity check. I've changed the wording appropriately.
Free of address ...
This was caused due to a tail call in calloc
, which the compiler converted into a jmp
and thus led Microwalk to miss the allocation. I've made some updates to the Pin tool to catch such cases, so the warning should no longer appear (well, there may still be a handful instances, but you can safely ignore those).
Could not resolve target ...
Many of those were caused by the missing heap allocations above, but not all. I've done some more testing with Botan, and it seems that the C++ runtime uses a memory region that is neither part of the heap nor the stack. I'm still investigating this.
Apart from the concrete issues, I noticed that you are using Microwalk for analyzing Botan's blinded EC point multiplication. Blinded implementations use randomness, which is not supported by Microwalk at the moment (i.e., it only yields reliable results for deterministic code).
A workaround is forcing use of processor-based randomness and then setting the return value of rdrand
to a constant through the corresponding configuration option, but this may yield lots of false positives by exposing leakage which is normally hidden by blinding.
Instead, you may want to wait until I have added an analysis module that supports randomness, which is something I definitely plan to do in the near future.
from microwalk.
Related Issues (12)
- Bugs in RandomTestcaseGenerator
- Passthrough module for preprocessing
- reproducing results for "crypto-js" library HOT 3
- Add support for pretty print using MAP file HOT 1
- Full Windows & Linux build compatibility
- Load existing preprocessed trace files
- Load existing test cases
- Add more leakage measures
- Test pipeline performance
- Load existing raw trace files
- "Empty call stack" warning for PinNotifyTestcaseStart return HOT 1
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 microwalk.