aboutsummaryrefslogtreecommitdiff
path: root/trace
diff options
context:
space:
mode:
authorLluís Vilanova <vilanova@ac.upc.edu>2014-05-30 14:11:56 +0200
committerStefan Hajnoczi <stefanha@redhat.com>2014-08-12 14:26:12 +0100
commit341ea69185239eeb7da73434ac2803790a429e9c (patch)
tree3803d2f7c4c9b7aeb3295f021103e3f7f3966f52 /trace
parent707c8a98e4c42a559ad8d1ec0e77e28ffd666346 (diff)
downloadqemu-341ea69185239eeb7da73434ac2803790a429e9c.zip
qemu-341ea69185239eeb7da73434ac2803790a429e9c.tar.gz
qemu-341ea69185239eeb7da73434ac2803790a429e9c.tar.bz2
trace: [tcg] Define TCG tracing helper routines
Generates file "trace/generated-helpers.c" with TCG helper definitions to trace events in guest code at execution time. The helpers ('helper_trace_${event}_exec_proxy') cast the TCG-compatible native argument types to their original types (as defined in "trace-events") and call the tracing routine ('trace_${event}_exec'). Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'trace')
-rw-r--r--trace/Makefile.objs12
1 files changed, 12 insertions, 0 deletions
diff --git a/trace/Makefile.objs b/trace/Makefile.objs
index 0a2e6cd..2d36142 100644
--- a/trace/Makefile.objs
+++ b/trace/Makefile.objs
@@ -107,6 +107,18 @@ $(obj)/generated-helpers.h-timestamp: $(SRC_PATH)/trace-events $(BUILD_DIR)/conf
< $< > $@," GEN $(patsubst %-timestamp,%,$@)")
@cmp -s $@ $(patsubst %-timestamp,%,$@) || cp $@ $(patsubst %-timestamp,%,$@)
+$(obj)/generated-helpers.c: $(obj)/generated-helpers.c-timestamp
+$(obj)/generated-helpers.c-timestamp: $(SRC_PATH)/trace-events $(BUILD_DIR)/config-host.mak
+ $(call quiet-command,$(TRACETOOL) \
+ --format=tcg-helper-c \
+ --backend=$(TRACE_BACKENDS) \
+ < $< > $@," GEN $(patsubst %-timestamp,%,$@)")
+ @cmp -s $@ $(patsubst %-timestamp,%,$@) || cp $@ $(patsubst %-timestamp,%,$@)
+
+$(obj)/generated-helpers.o: $(obj)/generated-helpers.c
+
+target-obj-y += generated-helpers.o
+
######################################################################
# Backend code