Comments (8)
a quick research on how other projects are reading the dwarf section in wasm:
binaryen: llvm DWARFContext https://github.com/WebAssembly/binaryen/blob/d6c5e4ab15df271521df7b35665c7463b2c490ca/src/wasm/wasm-debug.cpp#L96-L116
cranelift: https://github.com/gimli-rs/gimli (something written in rust)
from wasm-micro-runtime.
btw, i wonder why dwarf_extractor.cpp uses the LLDB API, rather than, say, llvm/DebugInfo/DWARF/ api.
@wenyongh do you remember?
from wasm-micro-runtime.
btw, i wonder why dwarf_extractor.cpp uses the LLDB API, rather than, say, llvm/DebugInfo/DWARF/ api. @wenyongh do you remember?
The source debugger feature was implemented by Ant group long time ago, I just cannot remember the details now. Maybe the LLDB API provides more capability?
from wasm-micro-runtime.
It seems that AOT debugging now only has limited functionality. It was aimed to support C first It hardly covers any additional C++ features. Thus the current function-to-function debug symbol mapping only supports C styles function. And I think that's why it error when it comes to Cpp compiled wasm or Rust compiled wasm
from wasm-micro-runtime.
It seems that AOT debugging now only has limited functionality. It was aimed to support C first It hardly covers any additional C++ features. Thus the current function-to-function debug symbol mapping only supports C styles function. And I think that's why it error when it comes to Cpp compiled wasm or Rust compiled wasm
i agree.
i tend to think a fix involves a major surgery like switching from lldb api to llvm api to read dwarf. how do you think?
from wasm-micro-runtime.
I think it's feasible, but as you said it would be non-trivial changes. BTW, besides the extractor, will there also be some major modifications for code emission and file generation?
from wasm-micro-runtime.
I think it's feasible, but as you said it would be non-trivial changes. BTW, besides the extractor, will there also be some major modifications for code emission and file generation?
i guess it will be mostly contained in dwarf_extractor.cpp.
from wasm-micro-runtime.
i guess it will be mostly contained in dwarf_extractor.cpp.
Got it, thanks
from wasm-micro-runtime.
Related Issues (20)
- Heap Buffer Overflow inside "reserve_block_ret" Function HOT 1
- Heap Buffer Overflow inside "wasm_loader_prepare_bytecode" Function HOT 3
- Allocated memory not cleared (only on zephyr?) HOT 5
- Issue with running Pico on wamr through Zephyr HOT 1
- OSS-Fuzz issue 69574 HOT 2
- OSS-Fuzz issue 69576 HOT 2
- OSS-Fuzz issue 69577 HOT 3
- OSS-Fuzz issue 69579 HOT 2
- OSS-Fuzz issue 69598 HOT 2
- OSS-Fuzz issue 69608 HOT 2
- Fail allocate but print success?
- File allocation bug?
- fd_datasync failure.
- Set right difference?
- Wasm shared heap HOT 3
- Enabling GC and AOT in multi-module sample causes IOT Instruction crash
- [RFC] Assign part of wasm address space to a shared heap to share memory among wasm modules with zero-copying HOT 11
- [RFC] New option to do software bounds check by runtime API instead of inline it in IR in AOT/JIT mode HOT 2
- What's the difference between bound check of fast interpreter mode and bound check of classic interpreter mode
- [wasi-nn] Got unexpected results when running tflite_birds_v1_image example 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 wasm-micro-runtime.