comparison make/bsd/makefiles/dtrace.make @ 12859:f509b8f4699b

7165611: implement Full Debug Symbols on MacOS X hotspot Summary: Add MacOS X FDS support to hotspot; add minimal MacOS X FDS import support to jdk; add MacOS X FDS support to install; add MacOS X FDS support to root. Reviewed-by: erikj, sla, dholmes, rdurbin, tbell, ihse
author dcubed
date Tue, 15 Oct 2013 08:25:43 -0700
parents 8b46b0196eb0
children a3ba776d6ab6
comparison
equal deleted inserted replaced
12858:2f8728d92483 12859:f509b8f4699b
37 # Bsd does not build libjvm_db, does not compile on macosx 37 # Bsd does not build libjvm_db, does not compile on macosx
38 # disabled in build: rule in vm.make 38 # disabled in build: rule in vm.make
39 JVM_DB = libjvm_db 39 JVM_DB = libjvm_db
40 LIBJVM_DB = libjvm_db.dylib 40 LIBJVM_DB = libjvm_db.dylib
41 41
42 LIBJVM_DB_DEBUGINFO = libjvm_db.dylib.dSYM
43 LIBJVM_DB_DIZ = libjvm_db.diz
44
42 JVM_DTRACE = jvm_dtrace 45 JVM_DTRACE = jvm_dtrace
43 LIBJVM_DTRACE = libjvm_dtrace.dylib 46 LIBJVM_DTRACE = libjvm_dtrace.dylib
47
48 LIBJVM_DTRACE_DEBUGINFO = libjvm_dtrace.dylib.dSYM
49 LIBJVM_DTRACE_DIZ = libjvm_dtrace.diz
44 50
45 JVMOFFS = JvmOffsets 51 JVMOFFS = JvmOffsets
46 JVMOFFS.o = $(JVMOFFS).o 52 JVMOFFS.o = $(JVMOFFS).o
47 GENOFFS = generate$(JVMOFFS) 53 GENOFFS = generate$(JVMOFFS)
48 54
74 ISA = $(subst i386,i486,$(BUILDARCH)) 80 ISA = $(subst i386,i486,$(BUILDARCH))
75 81
76 # Making 64/libjvm_db.so: 64-bit version of libjvm_db.so which handles 32-bit libjvm.so 82 # Making 64/libjvm_db.so: 64-bit version of libjvm_db.so which handles 32-bit libjvm.so
77 ifneq ("${ISA}","${BUILDARCH}") 83 ifneq ("${ISA}","${BUILDARCH}")
78 84
79 XLIBJVM_DB = 64/$(LIBJVM_DB) 85 XLIBJVM_DIR = 64
80 XLIBJVM_DTRACE = 64/$(LIBJVM_DTRACE) 86 XLIBJVM_DB = $(XLIBJVM_DIR)/$(LIBJVM_DB)
87 XLIBJVM_DTRACE = $(XLIBJVM_DIR)/$(LIBJVM_DTRACE)
81 XARCH = $(subst sparcv9,v9,$(shell echo $(ISA))) 88 XARCH = $(subst sparcv9,v9,$(shell echo $(ISA)))
89
90 XLIBJVM_DB_DEBUGINFO = $(XLIBJVM_DIR)/$(LIBJVM_DB_DEBUGINFO)
91 XLIBJVM_DB_DIZ = $(XLIBJVM_DIR)/$(LIBJVM_DB_DIZ)
92 XLIBJVM_DTRACE_DEBUGINFO = $(XLIBJVM_DIR)/$(LIBJVM_DTRACE_DEBUGINFO)
93 XLIBJVM_DTRACE_DIZ = $(XLIBJVM_DIR)/$(LIBJVM_DTRACE_DIZ)
82 94
83 $(XLIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS).h $(LIBJVM_DB_MAPFILE) 95 $(XLIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS).h $(LIBJVM_DB_MAPFILE)
84 @echo Making $@ 96 @echo Making $@
85 $(QUIETLY) mkdir -p 64/ ; \ 97 $(QUIETLY) mkdir -p $(XLIBJVM_DIR) ; \
86 $(CC) $(SYMFLAG) -xarch=$(XARCH) -D$(TYPE) -I. -I$(GENERATED) \ 98 $(CC) $(SYMFLAG) -xarch=$(XARCH) -D$(TYPE) -I. -I$(GENERATED) \
87 $(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c #-lc 99 $(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c #-lc
100 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
101 ifeq ($(OS_VENDOR), Darwin)
102 $(DSYMUTIL) $@
103 ifeq ($(ZIP_DEBUGINFO_FILES),1)
104 # Do this part in the $(XLIBJVM_DIR) subdir so $(XLIBJVM_DIR)
105 # is not in the archived name:
106 ( cd $(XLIBJVM_DIR) && $(ZIPEXE) -q -r -y $(LIBJVM_DB_DIZ) $(LIBJVM_DB_DEBUGINFO) )
107 $(RM) -r $(XLIBJVM_DB_DEBUGINFO)
108 endif
109 else
110 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(XLIBJVM_DB_DEBUGINFO)
111 # Do this part in the $(XLIBJVM_DIR) subdir so $(XLIBJVM_DIR)
112 # is not in the link name:
113 $(QUIETLY) ( cd $(XLIBJVM_DIR) && $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DB_DEBUGINFO) $(LIBJVM_DB) )
114 ifeq ($(STRIP_POLICY),all_strip)
115 $(QUIETLY) $(STRIP) $@
116 else
117 ifeq ($(STRIP_POLICY),min_strip)
118 $(QUIETLY) $(STRIP) -x $@
119 # implied else here is no stripping at all
120 endif
121 endif
122 ifeq ($(ZIP_DEBUGINFO_FILES),1)
123 # Do this part in the $(XLIBJVM_DIR) subdir so $(XLIBJVM_DIR)
124 # is not in the archived name:
125 ( cd $(XLIBJVM_DIR) && $(ZIPEXE) -q -y $(LIBJVM_DB_DIZ) $(LIBJVM_DB_DEBUGINFO) )
126 $(RM) $(XLIBJVM_DB_DEBUGINFO)
127 endif
128 endif
129 endif
88 130
89 $(XLIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE) 131 $(XLIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE)
90 @echo Making $@ 132 @echo Making $@
91 $(QUIETLY) mkdir -p 64/ ; \ 133 $(QUIETLY) mkdir -p $(XLIBJVM_DIR) ; \
92 $(CC) $(SYMFLAG) -xarch=$(XARCH) -D$(TYPE) -I. \ 134 $(CC) $(SYMFLAG) -xarch=$(XARCH) -D$(TYPE) -I. \
93 $(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c #-lc -lthread -ldoor 135 $(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c #-lc -lthread -ldoor
136 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
137 ifeq ($(OS_VENDOR), Darwin)
138 $(DSYMUTIL) $@
139 ifeq ($(ZIP_DEBUGINFO_FILES),1)
140 # Do this part in the $(XLIBJVM_DIR) subdir so $(XLIBJVM_DIR)
141 # is not in the archived name:
142 ( cd $(XLIBJVM_DIR) && $(ZIPEXE) -q -r -y $(LIBJVM_DTRACE_DIZ) $(LIBJVM_DTRACE_DEBUGINFO) )
143 $(RM) -r $(XLIBJVM_DTRACE_DEBUGINFO)
144 endif
145 else
146 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(XLIBJVM_DTRACE_DEBUGINFO)
147 # Do this part in the $(XLIBJVM_DIR) subdir so $(XLIBJVM_DIR)
148 # is not in the link name:
149 ( cd $(XLIBJVM_DIR) && $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DTRACE_DEBUGINFO) $(LIBJVM_DTRACE) )
150 ifeq ($(STRIP_POLICY),all_strip)
151 $(QUIETLY) $(STRIP) $@
152 else
153 ifeq ($(STRIP_POLICY),min_strip)
154 $(QUIETLY) $(STRIP) -x $@
155 # implied else here is no stripping at all
156 endif
157 endif
158 ifeq ($(ZIP_DEBUGINFO_FILES),1)
159 # Do this part in the $(XLIBJVM_DIR) subdir so $(XLIBJVM_DIR)
160 # is not in the archived name:
161 ( cd $(XLIBJVM_DIR) && $(ZIPEXE) -q -y $(LIBJVM_DTRACE_DIZ) $(LIBJVM_DTRACE_DEBUGINFO) )
162 $(RM) $(XLIBJVM_DTRACE_DEBUGINFO)
163 endif
164 endif
165 endif
94 166
95 endif # ifneq ("${ISA}","${BUILDARCH}") 167 endif # ifneq ("${ISA}","${BUILDARCH}")
96 168
97 LFLAGS_GENOFFS += -L. 169 LFLAGS_GENOFFS += -L.
98 170
132 204
133 $(LIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS.o) $(XLIBJVM_DB) $(LIBJVM_DB_MAPFILE) 205 $(LIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS.o) $(XLIBJVM_DB) $(LIBJVM_DB_MAPFILE)
134 @echo Making $@ 206 @echo Making $@
135 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. -I$(GENERATED) \ 207 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. -I$(GENERATED) \
136 $(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -Wall # -lc 208 $(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -Wall # -lc
209 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
210 ifeq ($(OS_VENDOR), Darwin)
211 $(DSYMUTIL) $@
212 ifeq ($(ZIP_DEBUGINFO_FILES),1)
213 $(ZIPEXE) -q -r -y $(LIBJVM_DB_DIZ) $(LIBJVM_DB_DEBUGINFO)
214 $(RM) -r $(LIBJVM_DB_DEBUGINFO)
215 endif
216 else
217 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DB_DEBUGINFO)
218 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DB_DEBUGINFO) $@
219 ifeq ($(STRIP_POLICY),all_strip)
220 $(QUIETLY) $(STRIP) $@
221 else
222 ifeq ($(STRIP_POLICY),min_strip)
223 $(QUIETLY) $(STRIP) -x $@
224 # implied else here is no stripping at all
225 endif
226 endif
227 ifeq ($(ZIP_DEBUGINFO_FILES),1)
228 $(ZIPEXE) -q -y $(LIBJVM_DB_DIZ) $(LIBJVM_DB_DEBUGINFO)
229 $(RM) $(LIBJVM_DB_DEBUGINFO)
230 endif
231 endif
232 endif
137 233
138 $(LIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(XLIBJVM_DTRACE) $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE) 234 $(LIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(XLIBJVM_DTRACE) $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE)
139 @echo Making $@ 235 @echo Making $@
140 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. \ 236 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. \
141 $(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c #-lc -lthread -ldoor 237 $(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c #-lc -lthread -ldoor
238 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
239 ifeq ($(OS_VENDOR), Darwin)
240 $(DSYMUTIL) $@
241 ifeq ($(ZIP_DEBUGINFO_FILES),1)
242 $(ZIPEXE) -q -r -y $(LIBJVM_DTRACE_DIZ) $(LIBJVM_DTRACE_DEBUGINFO)
243 $(RM) -r $(LIBJVM_DTRACE_DEBUGINFO)
244 endif
245 else
246 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DTRACE_DEBUGINFO)
247 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DTRACE_DEBUGINFO) $@
248 ifeq ($(STRIP_POLICY),all_strip)
249 $(QUIETLY) $(STRIP) $@
250 else
251 ifeq ($(STRIP_POLICY),min_strip)
252 $(QUIETLY) $(STRIP) -x $@
253 # implied else here is no stripping at all
254 endif
255 endif
256 ifeq ($(ZIP_DEBUGINFO_FILES),1)
257 $(ZIPEXE) -q -y $(LIBJVM_DTRACE_DIZ) $(LIBJVM_DTRACE_DEBUGINFO)
258 $(RM) $(LIBJVM_DTRACE_DEBUGINFO)
259 endif
260 endif
261 endif
142 262
143 #$(DTRACE).d: $(DTRACE_SRCDIR)/hotspot.d $(DTRACE_SRCDIR)/hotspot_jni.d \ 263 #$(DTRACE).d: $(DTRACE_SRCDIR)/hotspot.d $(DTRACE_SRCDIR)/hotspot_jni.d \
144 # $(DTRACE_SRCDIR)/hs_private.d $(DTRACE_SRCDIR)/jhelper.d 264 # $(DTRACE_SRCDIR)/hs_private.d $(DTRACE_SRCDIR)/jhelper.d
145 # $(QUIETLY) cat $^ > $@ 265 # $(QUIETLY) cat $^ > $@
146 266