summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Mustacchi <rm@joyent.com>2011-07-25 22:34:47 +0000
committerRobert Mustacchi <rm@joyent.com>2011-07-25 22:34:47 +0000
commit3ba2ad4f4cc1bca8d1bc5121b9516acfb9688938 (patch)
tree0072ed203022579e64dca0c53655149c9aedd41b
parent6909a825bfa33c572b5ab3a38cd52a93d4a50272 (diff)
downloadillumos-kvm-cmd-3ba2ad4f4cc1bca8d1bc5121b9516acfb9688938.tar.gz
HVM-514 get kvm-cmd tracetool working
-rw-r--r--Makefile2
-rw-r--r--Makefile.target13
-rwxr-xr-xbuild.sh3
-rwxr-xr-xconfigure7
-rw-r--r--rules.mak11
5 files changed, 34 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index c70070d..c6aae63 100644
--- a/Makefile
+++ b/Makefile
@@ -140,7 +140,7 @@ trace-dtrace.dtrace-timestamp: $(SRC_PATH)/trace-events config-host.mak
@cmp -s $@ trace-dtrace.dtrace || cp $@ trace-dtrace.dtrace
trace-dtrace.o: trace-dtrace.dtrace $(GENERATED_HEADERS)
- $(call quiet-command,dtrace -o $@ -G -s $<, " GEN trace-dtrace.o")
+ $(call quiet-command,dtrace $(CONFIG_DTRACE_FLAGS) -o $@ -G -s $<, " GEN trace-dtrace.o")
simpletrace.o: simpletrace.c $(GENERATED_HEADERS)
diff --git a/Makefile.target b/Makefile.target
index e3d4951..9913dd7 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -375,8 +375,21 @@ endif # CONFIG_SOFTMMU
obj-y += $(addprefix ../, $(trace-obj-y))
obj-$(CONFIG_GDBSTUB_XML) += gdbstub-xml.o
+ifeq ($(TRACE_BACKEND),dtrace)
+ifneq ($(strip $(CONFIG_SOLARIS)),)
$(QEMU_PROG): $(obj-y) $(obj-$(TARGET_BASE_ARCH)-y)
+ $(call quiet-command, dtrace $(CONFIG_DTRACE_FLAGS) -o ../trace-dtrace.o -s ../trace-dtrace.dtrace -G $(obj-y) $(obj-$(TARGET_BASE_ARCH)-y)," LINK $(TARGET_DIR)$@.dtrace")
$(call LINK,$(obj-y) $(obj-$(TARGET_BASE_ARCH)-y))
+else
+$(QEMU_PROG): $(obj-y) $(obj-$(TARGET_BASE_ARCH)-y)
+ $(call LINK,$(obj-y) $(obj-$(TARGET_BASE_ARCH)-y))
+endif
+else
+$(QEMU_PROG): $(obj-y) $(obj-$(TARGET_BASE_ARCH)-y)
+ $(call LINK,$(obj-y) $(obj-$(TARGET_BASE_ARCH)-y))
+endif
+
+
gdbstub-xml.c: $(TARGET_XML_FILES) $(SRC_PATH)/scripts/feature_to_c.sh
diff --git a/build.sh b/build.sh
index d421466..a8cae99 100755
--- a/build.sh
+++ b/build.sh
@@ -24,6 +24,7 @@ echo "==> Running configure"
--disable-vnc-jpeg \
--disable-vnc-sasl \
--disable-vnc-tls \
+ --enable-trace-backend=dtrace \
--kerneldir=$(cd `pwd`/../kvm; pwd) \
--cpu=x86_64
@@ -33,4 +34,4 @@ if [[ $? != 0 ]]; then
fi
echo "==> Make"
-gmake -j10
+gmake
diff --git a/configure b/configure
index 46f2142..c169eb3 100755
--- a/configure
+++ b/configure
@@ -2968,6 +2968,13 @@ fi
if test "$trace_backend" = "dtrace" -a "$trace_backend_stap" = "yes" ; then
echo "CONFIG_SYSTEMTAP_TRACE=y" >> $config_host_mak
fi
+if test "$trace_backend" = "dtrace" -a "$trace_backend_stap" != "yes" ; then
+ if test "$cpu" = "x86_64" -o "$cpu" = "sparc64" ; then
+ echo "CONFIG_DTRACE_FLAGS=-64" >> $config_host_mak
+ else
+ echo "CONFIG_DTRACE_FLAGS=-32" >> $config_host_mak
+ fi
+fi
echo "CONFIG_TRACE_FILE=$trace_file" >> $config_host_mak
echo "TOOLS=$tools" >> $config_host_mak
diff --git a/rules.mak b/rules.mak
index ed59c9e..d48bd91 100644
--- a/rules.mak
+++ b/rules.mak
@@ -25,8 +25,19 @@ QEMU_DGFLAGS += -MMD -MP -MT $@ -MF $(*D)/$(*F).d
LINK = $(call quiet-command,$(CC) $(QEMU_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $(1) $(LIBS)," LINK $(TARGET_DIR)$@")
+ifeq ($(TRACE_BACKEND),dtrace)
+ifneq ($(strip $(CONFIG_SOLARIS)),)
%$(EXESUF): %.o
+ $(call quiet-command, dtrace $(CONFIG_DTRACE_FLAGS) -o trace-dtrace.o -s trace-dtrace.dtrace -G $^," LINK $(TARGET_DIR)$@.dtrace")
$(call LINK,$^)
+else
+%$(EXESUF): %.o
+ $(call LINK,$^)
+endif
+else
+%$(EXESUF): %.o
+ $(call LINK,$^)
+endif
%.a:
$(call quiet-command,rm -f $@ && $(AR) rcs $@ $^," AR $(TARGET_DIR)$@")