┌──../../../src/EGL/libegl.c─────────────────────────────────────────────────────────────────────────┐ │153 { │ │154 if (_eglPointerIsDereferencable(ptr)) │ │155 return *((void **)ptr); │ │156 return NULL; │ │157 } │ │158 │ │159 static EGLBoolean IsGbmDisplay(void *native_display) │ │160 { │ │161 void *first_pointer = SafeDereference(native_display); │ │162 Dl_info info; │ │163 │ │164 if (dladdr(first_pointer, &info) == 0) { │ │165 return EGL_FALSE; │ │166 } │ │167 │ >│168 return !strcmp(info.dli_sname, "gbm_create_device"); │ │169 } │ │170 │ │171 static EGLBoolean IsX11Display(void *dpy) │ │172 { │ │173 void *alloc; │ │174 void *handle; │ │175 void *XAllocID = NULL; │ │176 │ │177 alloc = SafeDereference(&((_XPrivDisplay)dpy)->resource_alloc); │ │178 if (alloc == NULL) { │ │179 return EGL_FALSE; │ │180 } │ │181 │ │182 handle = dlopen("libX11.so.6", RTLD_LOCAL | RTLD_LAZY | RTLD_NOLOAD); │ │183 if (handle != NULL) { │ │184 XAllocID = dlsym(handle, "_XAllocID"); │ │185 dlclose(handle); │ └────────────────────────────────────────────────────────────────────────────────────────────────────┘ multi-thre Thread 0x7fffce3fe7 In: IsGbmDisplay L168 PC: 0x7ffff52391c1 (gdb) up #1 0x00007ffff52391c1 in IsGbmDisplay (native_display=0x9c89d0) at ../../../src/EGL/libegl.c:168 #2 0x00007ffff5239425 in GuessPlatformType (display_id=0x9c89d0) at ../../../src/EGL/libegl.c:243 #3 0x00007ffff5239841 in eglGetDisplay (display_id=0x9c89d0) at ../../../src/EGL/libegl.c:386 (gdb) up #4 0x00007ffff5c8e1a4 in MirEglApp::MirEglApp (this=0x7fffc0000b70, connection=0x9c89d0, pixel_format=mir_pixel_format_argb_8888) at /home/chris/Canonical/Mir/mir/examples/miral-shell/spinner/miregl.cpp:133 (gdb) down #3 0x00007ffff5239841 in eglGetDisplay (display_id=0x9c89d0) at ../../../src/EGL/libegl.c:386 #2 0x00007ffff5239425 in GuessPlatformType (display_id=0x9c89d0) at ../../../src/EGL/libegl.c:243 #1 0x00007ffff52391c1 in IsGbmDisplay (native_display=0x9c89d0) at ../../../src/EGL/libegl.c:168 (gdb)