1234567891011121314151617181920212223242526272829303132333435363738394041 |
- # HG changeset patch
- # User Paul Cercueil <paul@crapouillou.net>
- # Date 1576820863 28800
- # Node ID 4f5bef55183c677d12a7da8f3392879ed50670a3
- # Parent 01f16d7f36cb9f4fa02016e57fbe915fdea71cc8
- kmsdrm: Fix busy-loop within libc's dlopen()
- For some obscure reason, the order in which the libdrm/libgbm libraries
- are loaded matters.
- Without this fix, the first call to check_modesetting() will work and
- load then unload all symbols properly, but the second call to this
- function will lock up as soon as dlopen() is called on libdrm.
- Swapping the order in which the libdrm and libgbm libraries are loaded
- is enough to fix (or work around?) this issue.
- Fixes #4891:
- https://bugzilla.libsdl.org/show_bug.cgi?id=4891
- Upstream: https://hg.libsdl.org/SDL/rev/4f5bef55183c
- Signed-off-by: Paul Cercueil <paul@crapouillou.net>
- [yann.morin.1998@free.fr: add upstream commit URL]
- Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
- diff -r 01f16d7f36cb -r 4f5bef55183c src/video/kmsdrm/SDL_kmsdrmdyn.c
- --- a/src/video/kmsdrm/SDL_kmsdrmdyn.c Thu Dec 19 21:45:44 2019 -0800
- +++ b/src/video/kmsdrm/SDL_kmsdrmdyn.c Thu Dec 19 21:47:43 2019 -0800
- @@ -50,8 +50,8 @@
- #endif
-
- static kmsdrmdynlib kmsdrmlibs[] = {
- - {NULL, SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC},
- - {NULL, SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC_GBM}
- + {NULL, SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC_GBM},
- + {NULL, SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC}
- };
-
- static void *
|