projects
/
openvswitch
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vswitch.xml: s/switchs/switches/g
[openvswitch]
/
lib
/
backtrace.c
diff --git
a/lib/backtrace.c
b/lib/backtrace.c
index 80cae54a6a15310643631fae55718bbb623a2424..91549db347812b516e2eb4fb27b93c54349deb62 100644
(file)
--- a/
lib/backtrace.c
+++ b/
lib/backtrace.c
@@
-21,10
+21,10
@@
#include <stdbool.h>
#include <stdio.h>
#include "compiler.h"
#include <stdbool.h>
#include <stdio.h>
#include "compiler.h"
-
-#define THIS_MODULE VLM_backtrace
#include "vlog.h"
#include "vlog.h"
+VLOG_DEFINE_THIS_MODULE(backtrace);
+
static uintptr_t OVS_UNUSED
get_max_stack(void)
{
static uintptr_t OVS_UNUSED
get_max_stack(void)
{
@@
-69,20
+69,8
@@
stack_high(void)
static uintptr_t
stack_low(void)
{
static uintptr_t
stack_low(void)
{
-#ifdef __i386__
- uintptr_t low;
- asm("movl %%esp,%0" : "=g" (low));
+ uintptr_t low = (uintptr_t) &low;
return low;
return low;
-#elif __x86_64__
- uintptr_t low;
- asm("movq %%rsp,%0" : "=g" (low));
- return low;
-#else
- /* This causes a warning in GCC that cannot be disabled, so use it only on
- * non-x86. */
- int dummy;
- return (uintptr_t) &dummy;
-#endif
}
static bool
}
static bool
@@
-95,6
+83,7
@@
in_stack(void *p)
void
backtrace_capture(struct backtrace *backtrace)
{
void
backtrace_capture(struct backtrace *backtrace)
{
+#ifdef __GNUC__
void **frame;
size_t n;
void **frame;
size_t n;
@@
-107,4
+96,7
@@
backtrace_capture(struct backtrace *backtrace)
backtrace->frames[n++] = (uintptr_t) frame[1];
}
backtrace->n_frames = n;
backtrace->frames[n++] = (uintptr_t) frame[1];
}
backtrace->n_frames = n;
+#else
+ backtrace->n_frames = 0;
+#endif
}
}