util: u_dl: add Fuchsia support

Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Acked-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29539>
This commit is contained in:
C Stout
2024-06-04 11:35:59 -07:00
committed by Marge Bot
parent 2a3f53bd3b
commit d39faf7f3d

View File

@@ -29,7 +29,7 @@
#include "detect_os.h"
#if DETECT_OS_POSIX
#if DETECT_OS_POSIX_LITE
#include <dlfcn.h>
#endif
#if DETECT_OS_WINDOWS
@@ -43,7 +43,7 @@
struct util_dl_library *
util_dl_open(const char *filename)
{
#if DETECT_OS_POSIX
#if DETECT_OS_POSIX_LITE
return (struct util_dl_library *)dlopen(filename, RTLD_LAZY | RTLD_LOCAL);
#elif DETECT_OS_WINDOWS
return (struct util_dl_library *)LoadLibraryA(filename);
@@ -57,7 +57,7 @@ util_dl_proc
util_dl_get_proc_address(struct util_dl_library *library,
const char *procname)
{
#if DETECT_OS_POSIX
#if DETECT_OS_POSIX_LITE
return (util_dl_proc) pointer_to_func(dlsym((void *)library, procname));
#elif DETECT_OS_WINDOWS
return (util_dl_proc)GetProcAddress((HMODULE)library, procname);
@@ -70,7 +70,7 @@ util_dl_get_proc_address(struct util_dl_library *library,
void
util_dl_close(struct util_dl_library *library)
{
#if DETECT_OS_POSIX
#if DETECT_OS_POSIX_LITE
dlclose((void *)library);
#elif DETECT_OS_WINDOWS
FreeLibrary((HMODULE)library);
@@ -83,7 +83,7 @@ util_dl_close(struct util_dl_library *library)
const char *
util_dl_error(void)
{
#if DETECT_OS_POSIX
#if DETECT_OS_POSIX_LITE
return dlerror();
#elif DETECT_OS_WINDOWS
return "unknown error";