diff options
Diffstat (limited to 'xorg-server/os/backtrace.c')
-rw-r--r-- | xorg-server/os/backtrace.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/xorg-server/os/backtrace.c b/xorg-server/os/backtrace.c index 58b4b1f34..298bf1898 100644 --- a/xorg-server/os/backtrace.c +++ b/xorg-server/os/backtrace.c @@ -46,7 +46,11 @@ void xorg_backtrace(void) ErrorF("\nBacktrace:\n"); size = backtrace(array, 64); for (i = 0; i < size; i++) { - dladdr(array[i], &info); + int rc = dladdr(array[i], &info); + if (rc == 0) { + ErrorF("%d: ?? [%p]\n", i, array[i]); + continue; + } mod = (info.dli_fname && *info.dli_fname) ? info.dli_fname : "(vdso)"; if (info.dli_saddr) ErrorF("%d: %s (%s+0x%lx) [%p]\n", i, mod, |