diff --git a/src/loadso/dlopen/SDL_sysloadso.c b/src/loadso/dlopen/SDL_sysloadso.c index bfcf5fe33..0c5bcc001 100644 --- a/src/loadso/dlopen/SDL_sysloadso.c +++ b/src/loadso/dlopen/SDL_sysloadso.c @@ -47,11 +47,12 @@ SDL_LoadFunction(void *handle, const char *name) { void *symbol = dlsym(handle, name); if (symbol == NULL) { + /* append an underscore for platforms that need that. */ size_t len = 1 + SDL_strlen(name) + 1; char *_name = SDL_stack_alloc(char, len); _name[0] = '_'; SDL_strlcpy(&_name[1], name, len); - symbol = dlsym(handle, name); + symbol = dlsym(handle, _name); SDL_stack_free(_name); if (symbol == NULL) { SDL_SetError("Failed loading %s: %s", name,