annotate make/solaris/makefiles/dtrace.make @ 4155:394404b2d9bd

Removed strict requirement for GRAAL environment variable. It only needs to be set now if the graal directory is not in the directory hierarchy of GraalVM JDK.
author Doug Simon <doug.simon@oracle.com>
date Wed, 21 Dec 2011 11:25:27 +0100
parents da0999c4b733
children 719f7007c8e8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 #
3954
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
2 # Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
a61af66fc99e Initial load
duke
parents:
diff changeset
4 #
a61af66fc99e Initial load
duke
parents:
diff changeset
5 # This code is free software; you can redistribute it and/or modify it
a61af66fc99e Initial load
duke
parents:
diff changeset
6 # under the terms of the GNU General Public License version 2 only, as
a61af66fc99e Initial load
duke
parents:
diff changeset
7 # published by the Free Software Foundation.
a61af66fc99e Initial load
duke
parents:
diff changeset
8 #
a61af66fc99e Initial load
duke
parents:
diff changeset
9 # This code is distributed in the hope that it will be useful, but WITHOUT
a61af66fc99e Initial load
duke
parents:
diff changeset
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
a61af66fc99e Initial load
duke
parents:
diff changeset
11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
a61af66fc99e Initial load
duke
parents:
diff changeset
12 # version 2 for more details (a copy is included in the LICENSE file that
a61af66fc99e Initial load
duke
parents:
diff changeset
13 # accompanied this code).
a61af66fc99e Initial load
duke
parents:
diff changeset
14 #
a61af66fc99e Initial load
duke
parents:
diff changeset
15 # You should have received a copy of the GNU General Public License version
a61af66fc99e Initial load
duke
parents:
diff changeset
16 # 2 along with this work; if not, write to the Free Software Foundation,
a61af66fc99e Initial load
duke
parents:
diff changeset
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
a61af66fc99e Initial load
duke
parents:
diff changeset
18 #
1552
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1123
diff changeset
19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1123
diff changeset
20 # or visit www.oracle.com if you need additional information or have any
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1123
diff changeset
21 # questions.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
22 #
a61af66fc99e Initial load
duke
parents:
diff changeset
23 #
a61af66fc99e Initial load
duke
parents:
diff changeset
24
a61af66fc99e Initial load
duke
parents:
diff changeset
25 # Rules to build jvm_db/dtrace, used by vm.make
a61af66fc99e Initial load
duke
parents:
diff changeset
26
1123
167c2986d91b 6843629: Make current hotspot build part of jdk5 control build
phh
parents: 443
diff changeset
27 # We build libjvm_dtrace/libjvm_db/dtrace for COMPILER1 and COMPILER2
167c2986d91b 6843629: Make current hotspot build part of jdk5 control build
phh
parents: 443
diff changeset
28 # but not for CORE or KERNEL configurations.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
29
a61af66fc99e Initial load
duke
parents:
diff changeset
30 ifneq ("${TYPE}", "CORE")
a61af66fc99e Initial load
duke
parents:
diff changeset
31 ifneq ("${TYPE}", "KERNEL")
a61af66fc99e Initial load
duke
parents:
diff changeset
32
a61af66fc99e Initial load
duke
parents:
diff changeset
33 ifdef USE_GCC
a61af66fc99e Initial load
duke
parents:
diff changeset
34
a61af66fc99e Initial load
duke
parents:
diff changeset
35 dtraceCheck:
a61af66fc99e Initial load
duke
parents:
diff changeset
36 $(QUIETLY) echo "**NOTICE** Dtrace support disabled for gcc builds"
a61af66fc99e Initial load
duke
parents:
diff changeset
37
a61af66fc99e Initial load
duke
parents:
diff changeset
38 else
a61af66fc99e Initial load
duke
parents:
diff changeset
39
a61af66fc99e Initial load
duke
parents:
diff changeset
40 JVM_DB = libjvm_db
1123
167c2986d91b 6843629: Make current hotspot build part of jdk5 control build
phh
parents: 443
diff changeset
41 LIBJVM_DB = libjvm_db.so
167c2986d91b 6843629: Make current hotspot build part of jdk5 control build
phh
parents: 443
diff changeset
42 LIBJVM_DB_G = libjvm$(G_SUFFIX)_db.so
0
a61af66fc99e Initial load
duke
parents:
diff changeset
43
3954
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
44 LIBJVM_DB_DEBUGINFO = libjvm_db.debuginfo
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
45 LIBJVM_DB_G_DEBUGINFO = libjvm$(G_SUFFIX)_db.debuginfo
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
46
0
a61af66fc99e Initial load
duke
parents:
diff changeset
47 JVM_DTRACE = jvm_dtrace
1123
167c2986d91b 6843629: Make current hotspot build part of jdk5 control build
phh
parents: 443
diff changeset
48 LIBJVM_DTRACE = libjvm_dtrace.so
167c2986d91b 6843629: Make current hotspot build part of jdk5 control build
phh
parents: 443
diff changeset
49 LIBJVM_DTRACE_G = libjvm$(G_SUFFIX)_dtrace.so
0
a61af66fc99e Initial load
duke
parents:
diff changeset
50
3954
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
51 LIBJVM_DTRACE_DEBUGINFO = libjvm_dtrace.debuginfo
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
52 LIBJVM_DTRACE_G_DEBUGINFO = libjvm$(G_SUFFIX)_dtrace.debuginfo
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
53
0
a61af66fc99e Initial load
duke
parents:
diff changeset
54 JVMOFFS = JvmOffsets
a61af66fc99e Initial load
duke
parents:
diff changeset
55 JVMOFFS.o = $(JVMOFFS).o
a61af66fc99e Initial load
duke
parents:
diff changeset
56 GENOFFS = generate$(JVMOFFS)
a61af66fc99e Initial load
duke
parents:
diff changeset
57
a61af66fc99e Initial load
duke
parents:
diff changeset
58 DTRACE_SRCDIR = $(GAMMADIR)/src/os/$(Platform_os_family)/dtrace
a61af66fc99e Initial load
duke
parents:
diff changeset
59 DTRACE = dtrace
a61af66fc99e Initial load
duke
parents:
diff changeset
60 DTRACE.o = $(DTRACE).o
a61af66fc99e Initial load
duke
parents:
diff changeset
61
a61af66fc99e Initial load
duke
parents:
diff changeset
62 # to remove '-g' option which causes link problems
a61af66fc99e Initial load
duke
parents:
diff changeset
63 # also '-z nodefs' is used as workaround
a61af66fc99e Initial load
duke
parents:
diff changeset
64 GENOFFS_CFLAGS = $(shell echo $(CFLAGS) | sed -e 's/ -g / /g' -e 's/ -g0 / /g';)
a61af66fc99e Initial load
duke
parents:
diff changeset
65
a61af66fc99e Initial load
duke
parents:
diff changeset
66 ifdef LP64
a61af66fc99e Initial load
duke
parents:
diff changeset
67 DTRACE_OPTS = -64 -D_LP64
a61af66fc99e Initial load
duke
parents:
diff changeset
68 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
69
a61af66fc99e Initial load
duke
parents:
diff changeset
70 # making libjvm_db
a61af66fc99e Initial load
duke
parents:
diff changeset
71
a61af66fc99e Initial load
duke
parents:
diff changeset
72 # Use mapfile with libjvm_db.so
a61af66fc99e Initial load
duke
parents:
diff changeset
73 LIBJVM_DB_MAPFILE = $(MAKEFILES_DIR)/mapfile-vers-jvm_db
a61af66fc99e Initial load
duke
parents:
diff changeset
74 LFLAGS_JVM_DB += $(MAPFLAG:FILENAME=$(LIBJVM_DB_MAPFILE))
a61af66fc99e Initial load
duke
parents:
diff changeset
75
a61af66fc99e Initial load
duke
parents:
diff changeset
76 # Use mapfile with libjvm_dtrace.so
a61af66fc99e Initial load
duke
parents:
diff changeset
77 LIBJVM_DTRACE_MAPFILE = $(MAKEFILES_DIR)/mapfile-vers-jvm_dtrace
a61af66fc99e Initial load
duke
parents:
diff changeset
78 LFLAGS_JVM_DTRACE += $(MAPFLAG:FILENAME=$(LIBJVM_DTRACE_MAPFILE))
a61af66fc99e Initial load
duke
parents:
diff changeset
79
a61af66fc99e Initial load
duke
parents:
diff changeset
80 ifdef USE_GCC
a61af66fc99e Initial load
duke
parents:
diff changeset
81 LFLAGS_JVM_DB += -D_REENTRANT $(PICFLAG)
a61af66fc99e Initial load
duke
parents:
diff changeset
82 LFLAGS_JVM_DTRACE += -D_REENTRANT $(PICFLAG)
a61af66fc99e Initial load
duke
parents:
diff changeset
83 else
a61af66fc99e Initial load
duke
parents:
diff changeset
84 LFLAGS_JVM_DB += -mt $(PICFLAG) -xnolib
1123
167c2986d91b 6843629: Make current hotspot build part of jdk5 control build
phh
parents: 443
diff changeset
85 LFLAGS_JVM_DTRACE += -mt $(PICFLAG) -xnolib -ldl
0
a61af66fc99e Initial load
duke
parents:
diff changeset
86 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
87
a61af66fc99e Initial load
duke
parents:
diff changeset
88 ISA = $(subst i386,i486,$(shell isainfo -n))
a61af66fc99e Initial load
duke
parents:
diff changeset
89
a61af66fc99e Initial load
duke
parents:
diff changeset
90 # Making 64/libjvm_db.so: 64-bit version of libjvm_db.so which handles 32-bit libjvm.so
a61af66fc99e Initial load
duke
parents:
diff changeset
91 ifneq ("${ISA}","${BUILDARCH}")
a61af66fc99e Initial load
duke
parents:
diff changeset
92
a61af66fc99e Initial load
duke
parents:
diff changeset
93 XLIBJVM_DB = 64/$(LIBJVM_DB)
1123
167c2986d91b 6843629: Make current hotspot build part of jdk5 control build
phh
parents: 443
diff changeset
94 XLIBJVM_DB_G = 64/$(LIBJVM_DB_G)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
95 XLIBJVM_DTRACE = 64/$(LIBJVM_DTRACE)
1123
167c2986d91b 6843629: Make current hotspot build part of jdk5 control build
phh
parents: 443
diff changeset
96 XLIBJVM_DTRACE_G = 64/$(LIBJVM_DTRACE_G)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
97
3954
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
98 XLIBJVM_DB_DEBUGINFO = 64/$(LIBJVM_DB_DEBUGINFO)
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
99 XLIBJVM_DB_G_DEBUGINFO = 64/$(LIBJVM_DB_G_DEBUGINFO)
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
100 XLIBJVM_DTRACE_DEBUGINFO = 64/$(LIBJVM_DTRACE_DEBUGINFO)
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
101 XLIBJVM_DTRACE_G_DEBUGINFO = 64/$(LIBJVM_DTRACE_G_DEBUGINFO)
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
102
0
a61af66fc99e Initial load
duke
parents:
diff changeset
103 $(XLIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS).h $(LIBJVM_DB_MAPFILE)
a61af66fc99e Initial load
duke
parents:
diff changeset
104 @echo Making $@
a61af66fc99e Initial load
duke
parents:
diff changeset
105 $(QUIETLY) mkdir -p 64/ ; \
433
c1345e85f901 6767659: Conversion from i486 to x86 missed some entries in makefiles
kvn
parents: 196
diff changeset
106 $(CC) $(SYMFLAG) $(ARCHFLAG/$(ISA)) -D$(TYPE) -I. -I$(GENERATED) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
107 $(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -lc
1123
167c2986d91b 6843629: Make current hotspot build part of jdk5 control build
phh
parents: 443
diff changeset
108 [ -f $(XLIBJVM_DB_G) ] || { ln -s $(LIBJVM_DB) $(XLIBJVM_DB_G); }
3954
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
109 ifneq ($(OBJCOPY),)
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
110 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(XLIBJVM_DB_DEBUGINFO)
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
111 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(XLIBJVM_DB_DEBUGINFO) $@
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
112 ifeq ($(STRIP_POLICY),all_strip)
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
113 $(QUIETLY) $(STRIP) $@
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
114 else
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
115 ifeq ($(STRIP_POLICY),min_strip)
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
116 $(QUIETLY) $(STRIP) -x $@
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
117 # implied else here is no stripping at all
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
118 endif
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
119 endif
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
120 [ -f $(XLIBJVM_DB_G_DEBUGINFO) ] || { ln -s $(LIBJVM_DB_DEBUGINFO) $(XLIBJVM_DB_G_DEBUGINFO); }
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
121 endif
1123
167c2986d91b 6843629: Make current hotspot build part of jdk5 control build
phh
parents: 443
diff changeset
122
0
a61af66fc99e Initial load
duke
parents:
diff changeset
123 $(XLIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE)
a61af66fc99e Initial load
duke
parents:
diff changeset
124 @echo Making $@
a61af66fc99e Initial load
duke
parents:
diff changeset
125 $(QUIETLY) mkdir -p 64/ ; \
433
c1345e85f901 6767659: Conversion from i486 to x86 missed some entries in makefiles
kvn
parents: 196
diff changeset
126 $(CC) $(SYMFLAG) $(ARCHFLAG/$(ISA)) -D$(TYPE) -I. \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
127 $(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c -lc -lthread -ldoor
1123
167c2986d91b 6843629: Make current hotspot build part of jdk5 control build
phh
parents: 443
diff changeset
128 [ -f $(XLIBJVM_DTRACE_G) ] || { ln -s $(LIBJVM_DTRACE) $(XLIBJVM_DTRACE_G); }
3954
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
129 ifneq ($(OBJCOPY),)
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
130 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(XLIBJVM_DTRACE_DEBUGINFO)
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
131 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(XLIBJVM_DTRACE_DEBUGINFO) $@
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
132 ifeq ($(STRIP_POLICY),all_strip)
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
133 $(QUIETLY) $(STRIP) $@
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
134 else
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
135 ifeq ($(STRIP_POLICY),min_strip)
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
136 $(QUIETLY) $(STRIP) -x $@
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
137 # implied else here is no stripping at all
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
138 endif
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
139 endif
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
140 [ -f $(XLIBJVM_DTRACE_G_DEBUGINFO) ] || { ln -s $(LIBJVM_DTRACE_DEBUGINFO) $(XLIBJVM_DTRACE_G_DEBUGINFO); }
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
141 endif
1123
167c2986d91b 6843629: Make current hotspot build part of jdk5 control build
phh
parents: 443
diff changeset
142
0
a61af66fc99e Initial load
duke
parents:
diff changeset
143 endif # ifneq ("${ISA}","${BUILDARCH}")
a61af66fc99e Initial load
duke
parents:
diff changeset
144
a61af66fc99e Initial load
duke
parents:
diff changeset
145 ifdef USE_GCC
a61af66fc99e Initial load
duke
parents:
diff changeset
146 LFLAGS_GENOFFS += -D_REENTRANT
a61af66fc99e Initial load
duke
parents:
diff changeset
147 else
a61af66fc99e Initial load
duke
parents:
diff changeset
148 LFLAGS_GENOFFS += -mt -xnolib -norunpath
a61af66fc99e Initial load
duke
parents:
diff changeset
149 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
150
a61af66fc99e Initial load
duke
parents:
diff changeset
151 lib$(GENOFFS).so: $(DTRACE_SRCDIR)/$(GENOFFS).cpp $(DTRACE_SRCDIR)/$(GENOFFS).h \
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1799
diff changeset
152 $(LIBJVM.o)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
153 $(QUIETLY) $(CCC) $(CPPFLAGS) $(GENOFFS_CFLAGS) $(SHARED_FLAG) $(PICFLAG) \
a61af66fc99e Initial load
duke
parents:
diff changeset
154 $(LFLAGS_GENOFFS) -o $@ $(DTRACE_SRCDIR)/$(GENOFFS).cpp -lc
a61af66fc99e Initial load
duke
parents:
diff changeset
155
a61af66fc99e Initial load
duke
parents:
diff changeset
156 $(GENOFFS): $(DTRACE_SRCDIR)/$(GENOFFS)Main.c lib$(GENOFFS).so
a61af66fc99e Initial load
duke
parents:
diff changeset
157 $(QUIETLY) $(LINK.CC) -z nodefs -o $@ $(DTRACE_SRCDIR)/$(GENOFFS)Main.c \
a61af66fc99e Initial load
duke
parents:
diff changeset
158 ./lib$(GENOFFS).so
a61af66fc99e Initial load
duke
parents:
diff changeset
159
440
96c6da8f095c 6769128: failure to run generateJvmOffsets is ignored
jcoomes
parents: 196
diff changeset
160 CONDITIONALLY_UPDATE_JVMOFFS_TARGET = \
96c6da8f095c 6769128: failure to run generateJvmOffsets is ignored
jcoomes
parents: 196
diff changeset
161 cmp -s $@ $@.tmp; \
96c6da8f095c 6769128: failure to run generateJvmOffsets is ignored
jcoomes
parents: 196
diff changeset
162 case $$? in \
96c6da8f095c 6769128: failure to run generateJvmOffsets is ignored
jcoomes
parents: 196
diff changeset
163 0) rm -f $@.tmp;; \
96c6da8f095c 6769128: failure to run generateJvmOffsets is ignored
jcoomes
parents: 196
diff changeset
164 *) rm -f $@ && mv $@.tmp $@ && echo Updated $@;; \
96c6da8f095c 6769128: failure to run generateJvmOffsets is ignored
jcoomes
parents: 196
diff changeset
165 esac
96c6da8f095c 6769128: failure to run generateJvmOffsets is ignored
jcoomes
parents: 196
diff changeset
166
96c6da8f095c 6769128: failure to run generateJvmOffsets is ignored
jcoomes
parents: 196
diff changeset
167 # $@.tmp is created first to avoid an empty $(JVMOFFS).h if an error occurs.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
168 $(JVMOFFS).h: $(GENOFFS)
440
96c6da8f095c 6769128: failure to run generateJvmOffsets is ignored
jcoomes
parents: 196
diff changeset
169 $(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -header > $@.tmp
96c6da8f095c 6769128: failure to run generateJvmOffsets is ignored
jcoomes
parents: 196
diff changeset
170 $(QUIETLY) $(CONDITIONALLY_UPDATE_JVMOFFS_TARGET)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
171
a61af66fc99e Initial load
duke
parents:
diff changeset
172 $(JVMOFFS)Index.h: $(GENOFFS)
440
96c6da8f095c 6769128: failure to run generateJvmOffsets is ignored
jcoomes
parents: 196
diff changeset
173 $(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -index > $@.tmp
96c6da8f095c 6769128: failure to run generateJvmOffsets is ignored
jcoomes
parents: 196
diff changeset
174 $(QUIETLY) $(CONDITIONALLY_UPDATE_JVMOFFS_TARGET)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
175
a61af66fc99e Initial load
duke
parents:
diff changeset
176 $(JVMOFFS).cpp: $(GENOFFS) $(JVMOFFS).h $(JVMOFFS)Index.h
440
96c6da8f095c 6769128: failure to run generateJvmOffsets is ignored
jcoomes
parents: 196
diff changeset
177 $(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -table > $@.tmp
96c6da8f095c 6769128: failure to run generateJvmOffsets is ignored
jcoomes
parents: 196
diff changeset
178 $(QUIETLY) $(CONDITIONALLY_UPDATE_JVMOFFS_TARGET)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
179
a61af66fc99e Initial load
duke
parents:
diff changeset
180 $(JVMOFFS.o): $(JVMOFFS).h $(JVMOFFS).cpp
a61af66fc99e Initial load
duke
parents:
diff changeset
181 $(QUIETLY) $(CCC) -c -I. -o $@ $(ARCHFLAG) -D$(TYPE) $(JVMOFFS).cpp
a61af66fc99e Initial load
duke
parents:
diff changeset
182
a61af66fc99e Initial load
duke
parents:
diff changeset
183 $(LIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS.o) $(XLIBJVM_DB) $(LIBJVM_DB_MAPFILE)
a61af66fc99e Initial load
duke
parents:
diff changeset
184 @echo Making $@
a61af66fc99e Initial load
duke
parents:
diff changeset
185 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. -I$(GENERATED) \
a61af66fc99e Initial load
duke
parents:
diff changeset
186 $(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -lc
1123
167c2986d91b 6843629: Make current hotspot build part of jdk5 control build
phh
parents: 443
diff changeset
187 [ -f $(LIBJVM_DB_G) ] || { ln -s $@ $(LIBJVM_DB_G); }
3954
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
188 ifneq ($(OBJCOPY),)
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
189 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DB_DEBUGINFO)
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
190 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DB_DEBUGINFO) $@
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
191 ifeq ($(STRIP_POLICY),all_strip)
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
192 $(QUIETLY) $(STRIP) $@
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
193 else
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
194 ifeq ($(STRIP_POLICY),min_strip)
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
195 $(QUIETLY) $(STRIP) -x $@
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
196 # implied else here is no stripping at all
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
197 endif
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
198 endif
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
199 [ -f $(LIBJVM_DB_G_DEBUGINFO) ] || { ln -s $(LIBJVM_DB_DEBUGINFO) $(LIBJVM_DB_G_DEBUGINFO); }
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
200 endif
0
a61af66fc99e Initial load
duke
parents:
diff changeset
201
a61af66fc99e Initial load
duke
parents:
diff changeset
202 $(LIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(XLIBJVM_DTRACE) $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE)
a61af66fc99e Initial load
duke
parents:
diff changeset
203 @echo Making $@
a61af66fc99e Initial load
duke
parents:
diff changeset
204 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. \
a61af66fc99e Initial load
duke
parents:
diff changeset
205 $(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c -lc -lthread -ldoor
1123
167c2986d91b 6843629: Make current hotspot build part of jdk5 control build
phh
parents: 443
diff changeset
206 [ -f $(LIBJVM_DTRACE_G) ] || { ln -s $@ $(LIBJVM_DTRACE_G); }
3954
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
207 ifneq ($(OBJCOPY),)
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
208 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DTRACE_DEBUGINFO)
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
209 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DTRACE_DEBUGINFO) $@
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
210 ifeq ($(STRIP_POLICY),all_strip)
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
211 $(QUIETLY) $(STRIP) $@
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
212 else
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
213 ifeq ($(STRIP_POLICY),min_strip)
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
214 $(QUIETLY) $(STRIP) -x $@
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
215 # implied else here is no stripping at all
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
216 endif
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
217 endif
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
218 [ -f $(LIBJVM_DTRACE_G_DEBUGINFO) ] || { ln -s $(LIBJVM_DTRACE_DEBUGINFO) $(LIBJVM_DTRACE_G_DEBUGINFO); }
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1972
diff changeset
219 endif
0
a61af66fc99e Initial load
duke
parents:
diff changeset
220
a61af66fc99e Initial load
duke
parents:
diff changeset
221 $(DTRACE).d: $(DTRACE_SRCDIR)/hotspot.d $(DTRACE_SRCDIR)/hotspot_jni.d \
a61af66fc99e Initial load
duke
parents:
diff changeset
222 $(DTRACE_SRCDIR)/hs_private.d $(DTRACE_SRCDIR)/jhelper.d
a61af66fc99e Initial load
duke
parents:
diff changeset
223 $(QUIETLY) cat $^ > $@
a61af66fc99e Initial load
duke
parents:
diff changeset
224
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1799
diff changeset
225 DTraced_Files = ciEnv.o \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1799
diff changeset
226 classLoadingService.o \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1799
diff changeset
227 compileBroker.o \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1799
diff changeset
228 hashtable.o \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1799
diff changeset
229 instanceKlass.o \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1799
diff changeset
230 java.o \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1799
diff changeset
231 jni.o \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1799
diff changeset
232 jvm.o \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1799
diff changeset
233 memoryManager.o \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1799
diff changeset
234 nmethod.o \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1799
diff changeset
235 objectMonitor.o \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1799
diff changeset
236 runtimeService.o \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1799
diff changeset
237 sharedRuntime.o \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1799
diff changeset
238 synchronizer.o \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1799
diff changeset
239 thread.o \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1799
diff changeset
240 unsafe.o \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1799
diff changeset
241 vmThread.o \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1799
diff changeset
242 vmCMSOperations.o \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1799
diff changeset
243 vmPSOperations.o \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1799
diff changeset
244 vmGCOperations.o \
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1799
diff changeset
245
0
a61af66fc99e Initial load
duke
parents:
diff changeset
246 # Dtrace is available, so we build $(DTRACE.o)
a61af66fc99e Initial load
duke
parents:
diff changeset
247 $(DTRACE.o): $(DTRACE).d $(JVMOFFS).h $(JVMOFFS)Index.h $(DTraced_Files)
a61af66fc99e Initial load
duke
parents:
diff changeset
248 @echo Compiling $(DTRACE).d
a61af66fc99e Initial load
duke
parents:
diff changeset
249
1799
4094f07967ca 6974813: JVM needs to use demand loading for its DTrace probes
kamg
parents: 1552
diff changeset
250 $(QUIETLY) $(DTRACE_PROG) $(DTRACE_OPTS) -C -I. -G -xlazyload -o $@ -s $(DTRACE).d \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
251 $(DTraced_Files) ||\
a61af66fc99e Initial load
duke
parents:
diff changeset
252 STATUS=$$?;\
a61af66fc99e Initial load
duke
parents:
diff changeset
253 if [ x"$$STATUS" = x"1" -a \
a61af66fc99e Initial load
duke
parents:
diff changeset
254 x`uname -r` = x"5.10" -a \
a61af66fc99e Initial load
duke
parents:
diff changeset
255 x`uname -p` = x"sparc" ]; then\
a61af66fc99e Initial load
duke
parents:
diff changeset
256 echo "*****************************************************************";\
a61af66fc99e Initial load
duke
parents:
diff changeset
257 echo "* If you are building server compiler, and the error message is ";\
a61af66fc99e Initial load
duke
parents:
diff changeset
258 echo "* \"incorrect ELF machine type...\", you have run into solaris bug ";\
a61af66fc99e Initial load
duke
parents:
diff changeset
259 echo "* 6213962, \"dtrace -G doesn't work on sparcv8+ object files\".";\
a61af66fc99e Initial load
duke
parents:
diff changeset
260 echo "* Either patch/upgrade your system (>= S10u1_15), or set the ";\
a61af66fc99e Initial load
duke
parents:
diff changeset
261 echo "* environment variable HOTSPOT_DISABLE_DTRACE_PROBES to disable ";\
a61af66fc99e Initial load
duke
parents:
diff changeset
262 echo "* dtrace probes for this build.";\
a61af66fc99e Initial load
duke
parents:
diff changeset
263 echo "*****************************************************************";\
a61af66fc99e Initial load
duke
parents:
diff changeset
264 fi;\
a61af66fc99e Initial load
duke
parents:
diff changeset
265 exit $$STATUS
a61af66fc99e Initial load
duke
parents:
diff changeset
266 # Since some DTraced_Files are in LIBJVM.o and they are touched by this
a61af66fc99e Initial load
duke
parents:
diff changeset
267 # command, and libgenerateJvmOffsets.so depends on LIBJVM.o, 'make' will
a61af66fc99e Initial load
duke
parents:
diff changeset
268 # think it needs to rebuild libgenerateJvmOffsets.so and thus JvmOffsets*
a61af66fc99e Initial load
duke
parents:
diff changeset
269 # files, but it doesn't, so we touch the necessary files to prevent later
a61af66fc99e Initial load
duke
parents:
diff changeset
270 # recompilation. Note: we only touch the necessary files if they already
a61af66fc99e Initial load
duke
parents:
diff changeset
271 # exist in order to close a race where an empty file can be created
a61af66fc99e Initial load
duke
parents:
diff changeset
272 # before the real build rule is executed.
a61af66fc99e Initial load
duke
parents:
diff changeset
273 # But, we can't touch the *.h files: This rule depends
a61af66fc99e Initial load
duke
parents:
diff changeset
274 # on them, and that would cause an infinite cycle of rebuilding.
a61af66fc99e Initial load
duke
parents:
diff changeset
275 # Neither the *.h or *.ccp files need to be touched, since they have
a61af66fc99e Initial load
duke
parents:
diff changeset
276 # rules which do not update them when the generator file has not
a61af66fc99e Initial load
duke
parents:
diff changeset
277 # changed their contents.
a61af66fc99e Initial load
duke
parents:
diff changeset
278 $(QUIETLY) if [ -f lib$(GENOFFS).so ]; then touch lib$(GENOFFS).so; fi
a61af66fc99e Initial load
duke
parents:
diff changeset
279 $(QUIETLY) if [ -f $(GENOFFS) ]; then touch $(GENOFFS); fi
a61af66fc99e Initial load
duke
parents:
diff changeset
280 $(QUIETLY) if [ -f $(JVMOFFS.o) ]; then touch $(JVMOFFS.o); fi
a61af66fc99e Initial load
duke
parents:
diff changeset
281
a61af66fc99e Initial load
duke
parents:
diff changeset
282 .PHONY: dtraceCheck
a61af66fc99e Initial load
duke
parents:
diff changeset
283
116
018d5b58dd4f 6537506: Provide a mechanism for specifying Java-level USDT-like dtrace probes
kamg
parents: 91
diff changeset
284 SYSTEM_DTRACE_H = /usr/include/dtrace.h
0
a61af66fc99e Initial load
duke
parents:
diff changeset
285 SYSTEM_DTRACE_PROG = /usr/sbin/dtrace
a61af66fc99e Initial load
duke
parents:
diff changeset
286 PATCH_DTRACE_PROG = /opt/SUNWdtrd/sbin/dtrace
a61af66fc99e Initial load
duke
parents:
diff changeset
287 systemDtraceFound := $(wildcard ${SYSTEM_DTRACE_PROG})
a61af66fc99e Initial load
duke
parents:
diff changeset
288 patchDtraceFound := $(wildcard ${PATCH_DTRACE_PROG})
116
018d5b58dd4f 6537506: Provide a mechanism for specifying Java-level USDT-like dtrace probes
kamg
parents: 91
diff changeset
289 systemDtraceHdrFound := $(wildcard $(SYSTEM_DTRACE_H))
018d5b58dd4f 6537506: Provide a mechanism for specifying Java-level USDT-like dtrace probes
kamg
parents: 91
diff changeset
290
018d5b58dd4f 6537506: Provide a mechanism for specifying Java-level USDT-like dtrace probes
kamg
parents: 91
diff changeset
291 ifneq ("$(systemDtraceHdrFound)", "")
018d5b58dd4f 6537506: Provide a mechanism for specifying Java-level USDT-like dtrace probes
kamg
parents: 91
diff changeset
292 CFLAGS += -DHAVE_DTRACE_H
018d5b58dd4f 6537506: Provide a mechanism for specifying Java-level USDT-like dtrace probes
kamg
parents: 91
diff changeset
293 endif
0
a61af66fc99e Initial load
duke
parents:
diff changeset
294
a61af66fc99e Initial load
duke
parents:
diff changeset
295 ifneq ("$(patchDtraceFound)", "")
a61af66fc99e Initial load
duke
parents:
diff changeset
296 DTRACE_PROG=$(PATCH_DTRACE_PROG)
a61af66fc99e Initial load
duke
parents:
diff changeset
297 DTRACE_INCL=-I/opt/SUNWdtrd/include
a61af66fc99e Initial load
duke
parents:
diff changeset
298 else
a61af66fc99e Initial load
duke
parents:
diff changeset
299 ifneq ("$(systemDtraceFound)", "")
a61af66fc99e Initial load
duke
parents:
diff changeset
300 DTRACE_PROG=$(SYSTEM_DTRACE_PROG)
a61af66fc99e Initial load
duke
parents:
diff changeset
301 else
a61af66fc99e Initial load
duke
parents:
diff changeset
302
a61af66fc99e Initial load
duke
parents:
diff changeset
303 endif # ifneq ("$(systemDtraceFound)", "")
a61af66fc99e Initial load
duke
parents:
diff changeset
304 endif # ifneq ("$(patchDtraceFound)", "")
a61af66fc99e Initial load
duke
parents:
diff changeset
305
a61af66fc99e Initial load
duke
parents:
diff changeset
306 ifneq ("${DTRACE_PROG}", "")
a61af66fc99e Initial load
duke
parents:
diff changeset
307 ifeq ("${HOTSPOT_DISABLE_DTRACE_PROBES}", "")
a61af66fc99e Initial load
duke
parents:
diff changeset
308
a61af66fc99e Initial load
duke
parents:
diff changeset
309 DTRACE_OBJS = $(DTRACE.o) $(JVMOFFS.o)
a61af66fc99e Initial load
duke
parents:
diff changeset
310 CFLAGS += $(DTRACE_INCL) -DDTRACE_ENABLED
a61af66fc99e Initial load
duke
parents:
diff changeset
311 MAPFILE_DTRACE_OPT = $(MAPFILE_DTRACE)
a61af66fc99e Initial load
duke
parents:
diff changeset
312
a61af66fc99e Initial load
duke
parents:
diff changeset
313 dtraceCheck:
a61af66fc99e Initial load
duke
parents:
diff changeset
314
a61af66fc99e Initial load
duke
parents:
diff changeset
315 else # manually disabled
a61af66fc99e Initial load
duke
parents:
diff changeset
316
a61af66fc99e Initial load
duke
parents:
diff changeset
317 dtraceCheck:
a61af66fc99e Initial load
duke
parents:
diff changeset
318 $(QUIETLY) echo "**NOTICE** Dtrace support disabled via environment variable"
a61af66fc99e Initial load
duke
parents:
diff changeset
319
a61af66fc99e Initial load
duke
parents:
diff changeset
320 endif # ifeq ("${HOTSPOT_DISABLE_DTRACE_PROBES}", "")
a61af66fc99e Initial load
duke
parents:
diff changeset
321
a61af66fc99e Initial load
duke
parents:
diff changeset
322 else # No dtrace program found
a61af66fc99e Initial load
duke
parents:
diff changeset
323
a61af66fc99e Initial load
duke
parents:
diff changeset
324 dtraceCheck:
a61af66fc99e Initial load
duke
parents:
diff changeset
325 $(QUIETLY) echo "**NOTICE** Dtrace support disabled: not supported by system"
a61af66fc99e Initial load
duke
parents:
diff changeset
326
a61af66fc99e Initial load
duke
parents:
diff changeset
327 endif # ifneq ("${dtraceFound}", "")
a61af66fc99e Initial load
duke
parents:
diff changeset
328
a61af66fc99e Initial load
duke
parents:
diff changeset
329 endif # ifdef USE_GCC
a61af66fc99e Initial load
duke
parents:
diff changeset
330
a61af66fc99e Initial load
duke
parents:
diff changeset
331 else # KERNEL build
a61af66fc99e Initial load
duke
parents:
diff changeset
332
a61af66fc99e Initial load
duke
parents:
diff changeset
333 dtraceCheck:
a61af66fc99e Initial load
duke
parents:
diff changeset
334 $(QUIETLY) echo "**NOTICE** Dtrace support disabled for KERNEL builds"
a61af66fc99e Initial load
duke
parents:
diff changeset
335
a61af66fc99e Initial load
duke
parents:
diff changeset
336 endif # ifneq ("${TYPE}", "KERNEL")
a61af66fc99e Initial load
duke
parents:
diff changeset
337
a61af66fc99e Initial load
duke
parents:
diff changeset
338 else # CORE build
a61af66fc99e Initial load
duke
parents:
diff changeset
339
a61af66fc99e Initial load
duke
parents:
diff changeset
340 dtraceCheck:
a61af66fc99e Initial load
duke
parents:
diff changeset
341 $(QUIETLY) echo "**NOTICE** Dtrace support disabled for CORE builds"
a61af66fc99e Initial load
duke
parents:
diff changeset
342
a61af66fc99e Initial load
duke
parents:
diff changeset
343 endif # ifneq ("${TYPE}", "CORE")