annotate make/linux/makefiles/dtrace.make @ 14319:a00b8f42c4c4

8032462: Change the linux SDT implementation to use USDT2 instead of USDT1 Reviewed-by: coleenp, sspitsyn, kamg
author sla
date Mon, 03 Feb 2014 13:41:26 +0100
parents 75982791ddb6
children 4ca6dc0799b6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 #
6837
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
2 # Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
3 # Copyright (c) 2012 Red Hat, Inc.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
4 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
a61af66fc99e Initial load
duke
parents:
diff changeset
5 #
a61af66fc99e Initial load
duke
parents:
diff changeset
6 # This code is free software; you can redistribute it and/or modify it
a61af66fc99e Initial load
duke
parents:
diff changeset
7 # under the terms of the GNU General Public License version 2 only, as
a61af66fc99e Initial load
duke
parents:
diff changeset
8 # published by the Free Software Foundation.
a61af66fc99e Initial load
duke
parents:
diff changeset
9 #
a61af66fc99e Initial load
duke
parents:
diff changeset
10 # This code is distributed in the hope that it will be useful, but WITHOUT
a61af66fc99e Initial load
duke
parents:
diff changeset
11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
a61af66fc99e Initial load
duke
parents:
diff changeset
12 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
a61af66fc99e Initial load
duke
parents:
diff changeset
13 # version 2 for more details (a copy is included in the LICENSE file that
a61af66fc99e Initial load
duke
parents:
diff changeset
14 # accompanied this code).
a61af66fc99e Initial load
duke
parents:
diff changeset
15 #
a61af66fc99e Initial load
duke
parents:
diff changeset
16 # You should have received a copy of the GNU General Public License version
a61af66fc99e Initial load
duke
parents:
diff changeset
17 # 2 along with this work; if not, write to the Free Software Foundation,
a61af66fc99e Initial load
duke
parents:
diff changeset
18 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
a61af66fc99e Initial load
duke
parents:
diff changeset
19 #
1552
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 196
diff changeset
20 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 196
diff changeset
21 # or visit www.oracle.com if you need additional information or have any
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 196
diff changeset
22 # questions.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
23 #
a61af66fc99e Initial load
duke
parents:
diff changeset
24 #
a61af66fc99e Initial load
duke
parents:
diff changeset
25
a61af66fc99e Initial load
duke
parents:
diff changeset
26 # Linux does not build jvm_db
a61af66fc99e Initial load
duke
parents:
diff changeset
27 LIBJVM_DB =
a61af66fc99e Initial load
duke
parents:
diff changeset
28
6837
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
29 # Only OPENJDK builds test and support SDT probes currently.
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
30 ifndef OPENJDK
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
31 REASON = "This JDK does not support SDT probes"
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
32 else
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
33
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
34 # We need a recent GCC for the default
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
35 ifeq "$(shell expr \( $(CC_VER_MAJOR) \>= 4 \) \& \( $(CC_VER_MINOR) \>= 4 \) )" "0"
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
36 REASON = "gcc version is too old"
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
37 else
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
38
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
39 # But it does have a SystemTap dtrace compatible sys/sdt.h
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
40 ifneq ($(ALT_SDT_H),)
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
41 SDT_H_FILE = $(ALT_SDT_H)
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
42 else
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
43 SDT_H_FILE = /usr/include/sys/sdt.h
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
44 endif
14319
a00b8f42c4c4 8032462: Change the linux SDT implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
45
6837
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
46 DTRACE_ENABLED = $(shell test -f $(SDT_H_FILE) && echo $(SDT_H_FILE))
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
47 REASON = "$(SDT_H_FILE) not found"
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
48
14319
a00b8f42c4c4 8032462: Change the linux SDT implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
49 endif # GCC version
a00b8f42c4c4 8032462: Change the linux SDT implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
50 endif # OPENJDK
a00b8f42c4c4 8032462: Change the linux SDT implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
51
a00b8f42c4c4 8032462: Change the linux SDT implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
52
a00b8f42c4c4 8032462: Change the linux SDT implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
53 DTRACE_COMMON_SRCDIR = $(GAMMADIR)/src/os/posix/dtrace
a00b8f42c4c4 8032462: Change the linux SDT implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
54 DTRACE_PROG = dtrace
a00b8f42c4c4 8032462: Change the linux SDT implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
55 DtraceOutDir = $(GENERATED)/dtracefiles
a00b8f42c4c4 8032462: Change the linux SDT implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
56
a00b8f42c4c4 8032462: Change the linux SDT implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
57 $(DtraceOutDir):
a00b8f42c4c4 8032462: Change the linux SDT implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
58 mkdir $(DtraceOutDir)
a00b8f42c4c4 8032462: Change the linux SDT implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
59
a00b8f42c4c4 8032462: Change the linux SDT implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
60 $(DtraceOutDir)/hotspot.h: $(DTRACE_COMMON_SRCDIR)/hotspot.d | $(DtraceOutDir)
a00b8f42c4c4 8032462: Change the linux SDT implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
61 $(QUIETLY) $(DTRACE_PROG) $(DTRACE_OPTS) -C -I. -h -o $@ -s $(DTRACE_COMMON_SRCDIR)/hotspot.d
a00b8f42c4c4 8032462: Change the linux SDT implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
62
a00b8f42c4c4 8032462: Change the linux SDT implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
63 $(DtraceOutDir)/hotspot_jni.h: $(DTRACE_COMMON_SRCDIR)/hotspot_jni.d | $(DtraceOutDir)
a00b8f42c4c4 8032462: Change the linux SDT implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
64 $(QUIETLY) $(DTRACE_PROG) $(DTRACE_OPTS) -C -I. -h -o $@ -s $(DTRACE_COMMON_SRCDIR)/hotspot_jni.d
a00b8f42c4c4 8032462: Change the linux SDT implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
65
a00b8f42c4c4 8032462: Change the linux SDT implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
66 $(DtraceOutDir)/hs_private.h: $(DTRACE_COMMON_SRCDIR)/hs_private.d | $(DtraceOutDir)
a00b8f42c4c4 8032462: Change the linux SDT implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
67 $(QUIETLY) $(DTRACE_PROG) $(DTRACE_OPTS) -C -I. -h -o $@ -s $(DTRACE_COMMON_SRCDIR)/hs_private.d
a00b8f42c4c4 8032462: Change the linux SDT implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
68
6837
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
69 ifneq ($(DTRACE_ENABLED),)
14319
a00b8f42c4c4 8032462: Change the linux SDT implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
70 CFLAGS += -DDTRACE_ENABLED
a00b8f42c4c4 8032462: Change the linux SDT implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
71 dtrace_gen_headers: $(DtraceOutDir)/hotspot.h $(DtraceOutDir)/hotspot_jni.h $(DtraceOutDir)/hs_private.h
a00b8f42c4c4 8032462: Change the linux SDT implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
72 else
a00b8f42c4c4 8032462: Change the linux SDT implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
73 dtrace_gen_headers:
a00b8f42c4c4 8032462: Change the linux SDT implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
74 $(QUIETLY) echo "**NOTICE** Dtrace support disabled: $(REASON)"
6837
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
75 endif
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
76
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
77 # Phony target used in vm.make build target to check whether enabled.
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
78 ifeq ($(DTRACE_ENABLED),)
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
79 dtraceCheck:
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
80 $(QUIETLY) echo "**NOTICE** Dtrace support disabled: $(REASON)"
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
81 else
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
82 dtraceCheck:
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
83 endif
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
84
14319
a00b8f42c4c4 8032462: Change the linux SDT implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
85 .PHONY: dtrace_gen_headers dtraceCheck
a00b8f42c4c4 8032462: Change the linux SDT implementation to use USDT2 instead of USDT1
sla
parents: 6837
diff changeset
86
6837
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
87 # It doesn't support HAVE_DTRACE_H though.
75982791ddb6 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
coleenp
parents: 1552
diff changeset
88