diff options
-rw-r--r-- | runtime/ChangeLog | 4 | ||||
-rw-r--r-- | runtime/runtime.h | 5 | ||||
-rw-r--r-- | runtime/transport/ChangeLog | 2 | ||||
-rw-r--r-- | runtime/transport/symbols.c | 11 |
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; } |