-
- Downloads
Implement external dlopen wrapping
We need to intercept dlopen calls made by DSOs outside the capsule so that we can update the GOTs of new DSOs as they appear (for example when libSDL dlopen()s DSOs that use libGL's symbols but don't link against it directly. In order to do this we need to wrap dlopen(), but unlike dlsym() (which we already wrap) we cannot do so unconditionally: To support this we introduce a restricted relocate call which blacklists certain DSOs.
parent
7e75c101
No related branches found
No related tags found
Showing
- capsule/capsule-relocate.c 48 additions, 14 deletionscapsule/capsule-relocate.c
- capsule/capsule-wrappers.c 36 additions, 0 deletionscapsule/capsule-wrappers.c
- capsule/capsule.h 11 additions, 8 deletionscapsule/capsule.h
- data/capsule-init-project 17 additions, 0 deletionsdata/capsule-init-project
- data/capsule-mkstublib 102 additions, 40 deletionsdata/capsule-mkstublib
- tests/shim/libnotgl.so.c.dlopen 6 additions, 0 deletionstests/shim/libnotgl.so.c.dlopen
Loading
Please register or sign in to comment