22 # |
22 # |
23 # |
23 # |
24 |
24 |
25 # Rules to build jvm_db/dtrace, used by vm.make |
25 # Rules to build jvm_db/dtrace, used by vm.make |
26 |
26 |
27 # we build libjvm_dtrace/libjvm_db/dtrace for COMPILER1 and COMPILER2 |
27 # We build libjvm_dtrace/libjvm_db/dtrace for COMPILER1 and COMPILER2 |
28 # but not for CORE configuration |
28 # but not for CORE or KERNEL configurations. |
29 |
29 |
30 ifneq ("${TYPE}", "CORE") |
30 ifneq ("${TYPE}", "CORE") |
31 ifneq ("${TYPE}", "KERNEL") |
31 ifneq ("${TYPE}", "KERNEL") |
32 |
32 |
33 ifdef USE_GCC |
33 ifdef USE_GCC |
35 dtraceCheck: |
35 dtraceCheck: |
36 $(QUIETLY) echo "**NOTICE** Dtrace support disabled for gcc builds" |
36 $(QUIETLY) echo "**NOTICE** Dtrace support disabled for gcc builds" |
37 |
37 |
38 else |
38 else |
39 |
39 |
40 |
|
41 JVM_DB = libjvm_db |
40 JVM_DB = libjvm_db |
42 LIBJVM_DB = libjvm$(G_SUFFIX)_db.so |
41 LIBJVM_DB = libjvm_db.so |
|
42 LIBJVM_DB_G = libjvm$(G_SUFFIX)_db.so |
43 |
43 |
44 JVM_DTRACE = jvm_dtrace |
44 JVM_DTRACE = jvm_dtrace |
45 LIBJVM_DTRACE = libjvm$(G_SUFFIX)_dtrace.so |
45 LIBJVM_DTRACE = libjvm_dtrace.so |
|
46 LIBJVM_DTRACE_G = libjvm$(G_SUFFIX)_dtrace.so |
46 |
47 |
47 JVMOFFS = JvmOffsets |
48 JVMOFFS = JvmOffsets |
48 JVMOFFS.o = $(JVMOFFS).o |
49 JVMOFFS.o = $(JVMOFFS).o |
49 GENOFFS = generate$(JVMOFFS) |
50 GENOFFS = generate$(JVMOFFS) |
50 |
51 |
75 ifdef USE_GCC |
76 ifdef USE_GCC |
76 LFLAGS_JVM_DB += -D_REENTRANT $(PICFLAG) |
77 LFLAGS_JVM_DB += -D_REENTRANT $(PICFLAG) |
77 LFLAGS_JVM_DTRACE += -D_REENTRANT $(PICFLAG) |
78 LFLAGS_JVM_DTRACE += -D_REENTRANT $(PICFLAG) |
78 else |
79 else |
79 LFLAGS_JVM_DB += -mt $(PICFLAG) -xnolib |
80 LFLAGS_JVM_DB += -mt $(PICFLAG) -xnolib |
80 LFLAGS_JVM_DTRACE += -mt $(PICFLAG) -xnolib |
81 LFLAGS_JVM_DTRACE += -mt $(PICFLAG) -xnolib -ldl |
81 endif |
82 endif |
82 |
83 |
83 ISA = $(subst i386,i486,$(shell isainfo -n)) |
84 ISA = $(subst i386,i486,$(shell isainfo -n)) |
84 |
85 |
85 # Making 64/libjvm_db.so: 64-bit version of libjvm_db.so which handles 32-bit libjvm.so |
86 # Making 64/libjvm_db.so: 64-bit version of libjvm_db.so which handles 32-bit libjvm.so |
86 ifneq ("${ISA}","${BUILDARCH}") |
87 ifneq ("${ISA}","${BUILDARCH}") |
87 |
88 |
88 XLIBJVM_DB = 64/$(LIBJVM_DB) |
89 XLIBJVM_DB = 64/$(LIBJVM_DB) |
|
90 XLIBJVM_DB_G = 64/$(LIBJVM_DB_G) |
89 XLIBJVM_DTRACE = 64/$(LIBJVM_DTRACE) |
91 XLIBJVM_DTRACE = 64/$(LIBJVM_DTRACE) |
|
92 XLIBJVM_DTRACE_G = 64/$(LIBJVM_DTRACE_G) |
90 |
93 |
91 $(XLIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS).h $(LIBJVM_DB_MAPFILE) |
94 $(XLIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS).h $(LIBJVM_DB_MAPFILE) |
92 @echo Making $@ |
95 @echo Making $@ |
93 $(QUIETLY) mkdir -p 64/ ; \ |
96 $(QUIETLY) mkdir -p 64/ ; \ |
94 $(CC) $(SYMFLAG) $(ARCHFLAG/$(ISA)) -D$(TYPE) -I. -I$(GENERATED) \ |
97 $(CC) $(SYMFLAG) $(ARCHFLAG/$(ISA)) -D$(TYPE) -I. -I$(GENERATED) \ |
95 $(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -lc |
98 $(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -lc |
|
99 [ -f $(XLIBJVM_DB_G) ] || { ln -s $(LIBJVM_DB) $(XLIBJVM_DB_G); } |
|
100 |
96 $(XLIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE) |
101 $(XLIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE) |
97 @echo Making $@ |
102 @echo Making $@ |
98 $(QUIETLY) mkdir -p 64/ ; \ |
103 $(QUIETLY) mkdir -p 64/ ; \ |
99 $(CC) $(SYMFLAG) $(ARCHFLAG/$(ISA)) -D$(TYPE) -I. \ |
104 $(CC) $(SYMFLAG) $(ARCHFLAG/$(ISA)) -D$(TYPE) -I. \ |
100 $(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c -lc -lthread -ldoor |
105 $(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c -lc -lthread -ldoor |
|
106 [ -f $(XLIBJVM_DTRACE_G) ] || { ln -s $(LIBJVM_DTRACE) $(XLIBJVM_DTRACE_G); } |
|
107 |
101 endif # ifneq ("${ISA}","${BUILDARCH}") |
108 endif # ifneq ("${ISA}","${BUILDARCH}") |
102 |
109 |
103 ifdef USE_GCC |
110 ifdef USE_GCC |
104 LFLAGS_GENOFFS += -D_REENTRANT |
111 LFLAGS_GENOFFS += -D_REENTRANT |
105 else |
112 else |
140 |
147 |
141 $(LIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS.o) $(XLIBJVM_DB) $(LIBJVM_DB_MAPFILE) |
148 $(LIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS.o) $(XLIBJVM_DB) $(LIBJVM_DB_MAPFILE) |
142 @echo Making $@ |
149 @echo Making $@ |
143 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. -I$(GENERATED) \ |
150 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. -I$(GENERATED) \ |
144 $(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -lc |
151 $(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -lc |
|
152 [ -f $(LIBJVM_DB_G) ] || { ln -s $@ $(LIBJVM_DB_G); } |
145 |
153 |
146 $(LIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(XLIBJVM_DTRACE) $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE) |
154 $(LIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(XLIBJVM_DTRACE) $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE) |
147 @echo Making $@ |
155 @echo Making $@ |
148 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. \ |
156 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. \ |
149 $(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c -lc -lthread -ldoor |
157 $(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c -lc -lthread -ldoor |
|
158 [ -f $(LIBJVM_DTRACE_G) ] || { ln -s $@ $(LIBJVM_DTRACE_G); } |
150 |
159 |
151 $(DTRACE).d: $(DTRACE_SRCDIR)/hotspot.d $(DTRACE_SRCDIR)/hotspot_jni.d \ |
160 $(DTRACE).d: $(DTRACE_SRCDIR)/hotspot.d $(DTRACE_SRCDIR)/hotspot_jni.d \ |
152 $(DTRACE_SRCDIR)/hs_private.d $(DTRACE_SRCDIR)/jhelper.d |
161 $(DTRACE_SRCDIR)/hs_private.d $(DTRACE_SRCDIR)/jhelper.d |
153 $(QUIETLY) cat $^ > $@ |
162 $(QUIETLY) cat $^ > $@ |
154 |
163 |