]> sourceware.org Git - systemtap.git/commitdiff
Add new define STP_USE_DWARF_UNWINDER which is set based on which archs
authorMartin Hunt <hunt@redhat.com>
Mon, 31 Mar 2008 15:05:13 +0000 (11:05 -0400)
committerMartin Hunt <hunt@redhat.com>
Mon, 31 Mar 2008 15:05:13 +0000 (11:05 -0400)
work with the unwinder.

runtime/ChangeLog
runtime/runtime.h
runtime/transport/ChangeLog
runtime/transport/symbols.c

index 7c6dbbea6f6fd89b614a6492657b5bd1edafa3e9..e6d8ed72b69f4c9ccd2fbec25fc395ca4e4964ff 100644 (file)
@@ -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
index 6d8d9dc91b75d72eadec1e04e6e175dde7471b70..8d2671733f8958434d8b3e258430eacd36366b06 100644 (file)
@@ -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"
index 56f4477bbbfa83b10c4c47855752aba3db94ae30..0bb624978ca1b3880831281f8c14658632b8df4e 100644 (file)
@@ -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>
index 118d569316d009106a62807120860e05957004f5..8bab1e70266e9bb2473815270eebe7c94c356cc8 100644 (file)
@@ -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;
 }
 
This page took 0.034539 seconds and 5 git commands to generate.