Comments (7)
That's an interesting one. Leaving complexities of parsing Itanium ABI aside, adding wrappers for vtables would require adding stubs for all virtual methods referenced in them. This is possible iff each virtual method is exported which is not always true: methods might be hidden via __attribute((visibility("hidden")))
or simply -fvisibility-inlines-hidden
. So I'm afraid in general the answer is "no".
from implib.so.
In theory if virtual method is hidden we could still lazily read it's address from library's vtable at runtime using offset from vtable start. But I'm still not sure how to identify if a given unnamed vtable entry is atually a method (vs typeinfo or virtual offset).
from implib.so.
Generating these symbols could be optional. If required symbol is missing (not exported) the tool could just report an error.
from implib.so.
Ok, I should be able to support a limited use-case. It's kind of non-trivial thing to add/debug so might take time to add though.
from implib.so.
That would be great. Thanks a lot!
from implib.so.
Please check ToT, I've added vtable support and it seems to work in simple cases.
from implib.so.
Thanks, I'll give it a try
from implib.so.
Related Issues (20)
- Option to hide global symbols HOT 3
- Android support? HOT 5
- --no-dlopen option defines NO_DLOPEN in *.so.init.c not correctly HOT 1
- Suggestion for an alternative implementation for --no-dlopen option HOT 15
- function called during library load HOT 7
- Implib IMPLIB_EXPORT_SHIMS triggers an assertion when imported DSO has initializers referring to its public symbols. HOT 3
- question regarding multi-threading limitation HOT 1
- question about cfi_adjust_cfa_offset after just entering into fuction HOT 9
- [Feature Request] mipsel support HOT 17
- Creating a shared library from init.c and tramp.S HOT 5
- Invalid asm for arm when there are more than 256/4096 functions HOT 4
- Aarch64 trampoline asm can't handle large $number HOT 3
- Library soname should be used as load name HOT 4
- Calling exit after library loading failure is not really safe HOT 2
- Shebang should use python3 from path HOT 1
- Support for exported variables HOT 2
- Question about LLVM HOT 4
- Hide the generated symbols HOT 3
- missing .note.GNU-stack section implies executable stack HOT 2
- Add support for the POWER architecture HOT 6
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 implib.so.