Comments (4)
So to give an example, if I apply implib-gen
to say /usr/lib/x86_64-linux-gnu/libkrb5.so.3.3
it will currently try to load that same library:
lib_handle = dlopen("libkrb5.so.3.3", RTLD_LAZY | RTLD_GLOBAL);
You suggest to change that to use SONAME instead:
lib_handle = dlopen("libkrb5.so.3", RTLD_LAZY | RTLD_GLOBAL);
Sounds like a reasonable change.
from implib.so.
My use-case is to call implib-gen from cmake. I have a cmake function that accepts library name like wayland-client
and then gets a full path with cmake's find_library
. It ends with something like /usr/lib64/libwayland-client.so
. This makes the code generated by implib to not to work on production systems as it loads libwayland-client.so
which is not present as it's a part of -dev package. I don't see a way to get the right library name from cmake other than parsing readelf output with cmake which really feels too much.
Of course, implib-gen shouldn't use the parsed soname as the prefix for generated files as ninja (used by cmake) excepts the command to generate output files and I should know their name in advance to specify them (as well as to be able to add them to a target). Or there should be an option to override the prefix.
from implib.so.
Thanks, I understand the problem now.
Of course, implib-gen shouldn't use the parsed soname as the prefix for generated files as ninja (used by cmake) excepts the command to generate output files and I should know their name in advance to specify them (as well as to be able to add them to a target)
Agreed. I think the same should apply to prefixes of helper functions (_XXX_tramp_resolve_all
, etc.).
from implib.so.
Should be fixed on master now.
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
- 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
- Generating vtables and typeinfos HOT 7
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.