Record dynamic dependencies in .note.dlopen elf section

This commit is contained in:
Anonymous Maarten
2025-08-27 18:11:39 +02:00
committed by GitHub
parent 152ba829a1
commit 0a6b80717c
26 changed files with 435 additions and 36 deletions

View File

@@ -44,9 +44,17 @@ static bool (*AsyncIOFromFile)(const char *file, const char *mode, SDL_AsyncIO *
// we never link directly to liburing.
// (this says "-ffi" which sounds like a scripting language binding thing, but the non-ffi version
// is static-inline code we can't lookup with dlsym. This is by design.)
static const char *liburing_library = "liburing-ffi.so.2";
#define SDL_DRIVER_LIBURING_DYNAMIC "liburing-ffi.so.2"
static const char *liburing_library = SDL_DRIVER_LIBURING_DYNAMIC;
static void *liburing_handle = NULL;
SDL_ELF_NOTE_DLOPEN(
"io-io_uring",
"Support for async IO through liburing",
SDL_ELF_NOTE_DLOPEN_PRIORITY_SUGGESTED,
SDL_DRIVER_LIBURING_DYNAMIC
);
#define SDL_LIBURING_FUNCS \
SDL_LIBURING_FUNC(int, io_uring_queue_init, (unsigned entries, struct io_uring *ring, unsigned flags)) \
SDL_LIBURING_FUNC(struct io_uring_probe *,io_uring_get_probe,(void)) \