/*
- * Copyright (c) 2008, 2009 Nicira Networks.
+ * Copyright (c) 2008, 2009, 2010 Nicira Networks.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
#include <stdbool.h>
#include <stdio.h>
#include "compiler.h"
-
-#define THIS_MODULE VLM_backtrace
#include "vlog.h"
-static uintptr_t UNUSED
+VLOG_DEFINE_THIS_MODULE(backtrace)
+
+static uintptr_t OVS_UNUSED
get_max_stack(void)
{
static const char file_name[] = "/proc/self/maps";
for (line_number = 1; fgets(line, sizeof line, f); line_number++) {
if (strstr(line, "[stack]")) {
uintptr_t end;
- if (sscanf(line, "%*"SCNxPTR"-%"SCNxPTR, &end) != 1) {
+ if (sscanf(line, "%*x-%"SCNxPTR, &end) != 1) {
VLOG_WARN("%s:%d: parse error", file_name, line_number);
continue;
}
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;
-#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