summaryrefslogtreecommitdiff
path: root/xserver/os/backtrace.c
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2012-01-31 07:52:37 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2012-01-31 07:52:37 +0000
commit1a90d395ebb1b3caf5c698b358d34ca6bbe775aa (patch)
treeb06881e6e0859ab79faf35af2fdae7b717c42071 /xserver/os/backtrace.c
parent973e4e72b90a98f23aa855f0c68b8ce8686cfb03 (diff)
Update to xserver 1.11.4. tested by krw@, shadchin@.
Diffstat (limited to 'xserver/os/backtrace.c')
-rw-r--r--xserver/os/backtrace.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/xserver/os/backtrace.c b/xserver/os/backtrace.c
index 7ca6dab6d..f3255c738 100644
--- a/xserver/os/backtrace.c
+++ b/xserver/os/backtrace.c
@@ -44,7 +44,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,