summaryrefslogtreecommitdiffstats
path: root/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'runtime')
-rw-r--r--runtime/ChangeLog4
-rw-r--r--runtime/runtime.h5
-rw-r--r--runtime/transport/ChangeLog2
-rw-r--r--runtime/transport/symbols.c11
4 files changed, 17 insertions, 5 deletions
diff --git a/runtime/ChangeLog b/runtime/ChangeLog
index 7c6dbbea..e6d8ed72 100644
--- a/runtime/ChangeLog
+++ b/runtime/ChangeLog
@@ -1,3 +1,7 @@
+2008-03-31 Martin Hunt <hunt@redhat.com>
+
+ * runtime.h (STP_USE_DWARF_UNWINDER): Define.
+
2008-03-30 Martin Hunt <hunt@redhat.com>
* runtime.h (STP_USE_FRAME_POINTER): Define when frame pointers
diff --git a/runtime/runtime.h b/runtime/runtime.h
index 6d8d9dc9..8d267173 100644
--- a/runtime/runtime.h
+++ b/runtime/runtime.h
@@ -77,6 +77,11 @@ static struct
#endif
#endif
+/* dwarf unwinder only tested so far on i386 and x86_64 */
+#if !defined(STP_USE_FRAME_BUFFER) && (defined(__i386__) || defined(__x86_64__))
+#define STP_USE_DWARF_UNWINDER
+#endif
+
#include "alloc.c"
#include "print.c"
#include "string.c"
diff --git a/runtime/transport/ChangeLog b/runtime/transport/ChangeLog
index 56f4477b..0bb62497 100644
--- a/runtime/transport/ChangeLog
+++ b/runtime/transport/ChangeLog
@@ -1,5 +1,7 @@
2008-03-31 Martin Hunt <hunt@redhat.com>
+ * symbols.c (_stp_init_modules): Use STP_USE_DWARF_UNWINDER.
+
* transport.c (_stp_get_root_dir): Remove misleading error message.
2008-03-30 Martin Hunt <hunt@redhat.com>
diff --git a/runtime/transport/symbols.c b/runtime/transport/symbols.c
index 118d5693..8bab1e70 100644
--- a/runtime/transport/symbols.c
+++ b/runtime/transport/symbols.c
@@ -581,10 +581,7 @@ static int _stp_init_modules(void)
/* unlocks the list */
modules_op->stop(NULL, NULL);
-#ifdef STP_USE_FRAME_POINTER
- /* done with modules, now go */
- _stp_ctl_send(STP_TRANSPORT, NULL, 0);
-#else
+#ifdef STP_USE_DWARF_UNWINDER
/* now that we have all the modules, ask for their unwind info */
{
unsigned long flags;
@@ -616,7 +613,11 @@ static int _stp_init_modules(void)
left -= 2;
_stp_ctl_send(STP_UNWIND, buf, sizeof(buf) - left);
}
-#endif
+#else
+ /* done with modules, now go */
+ _stp_ctl_send(STP_TRANSPORT, NULL, 0);
+#endif /* STP_USE_DWARF_UNWINDER */
+
return 0;
}