void-packages/srcpkgs/ladish/patches/musl-no-dlvsym.patch

43 lines
2.5 KiB
Diff

--- a/alsapid/lib.c 2016-06-06 16:35:46.734195397 +0200
+++ b/alsapid/lib.c 2016-06-06 16:35:54.209195783 +0200
@@ -73,16 +73,29 @@
//static int (* real_snd_seq_create_port)(snd_seq_t * handle, snd_seq_port_info_t * info);
//static int (* real_snd_seq_create_simple_port)(snd_seq_t * seq, const char * name, unsigned int caps, unsigned int type);
-#define CHECK_FUNC(func) \
- if (real_ ## func == NULL) \
- { \
- real_ ## func = dlvsym(RTLD_NEXT, #func, API_VERSION); \
- if (real_ ## func == NULL) \
- { \
- fprintf(stderr, "dlvsym(\""#func"\", \""API_VERSION"\") failed. %s\n", dlerror()); \
- return -1; \
- } \
- }
+#if defined(__GLIBC__)
+ #define CHECK_FUNC(func) \
+ if (real_ ## func == NULL) \
+ { \
+ real_ ## func = dlvsym(RTLD_NEXT, #func, API_VERSION); \
+ if (real_ ## func == NULL) \
+ { \
+ fprintf(stderr, "dlvsym(\""#func"\", \""API_VERSION"\") failed. %s\n", dlerror()); \
+ return -1; \
+ } \
+ }
+#else
+ #define CHECK_FUNC(func) \
+ if (real_ ## func == NULL) \
+ { \
+ real_ ## func = dlsym(RTLD_NEXT, #func); \
+ if (real_ ## func == NULL) \
+ { \
+ fprintf(stderr, "dlsym(\""#func"\") failed. %s\n", dlerror()); \
+ return -1; \
+ } \
+ }
+#endif
#if 0
LADISH_PUBLIC