comparison make/solaris/makefiles/dtrace.make @ 6020:d652a62d6e03

7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris Summary: Add support for ENABLE_FULL_DEBUG_SYMBOLS and ZIP_DEBUGINFO_FILES build flags. Add support for .diz files. Reviewed-by: dholmes, ohair, sspitsyn
author dcubed
date Fri, 23 Mar 2012 11:50:33 -0700
parents 719f7007c8e8
children 9c1709c4c80c
comparison
equal deleted inserted replaced
4958:3b24e7e01d20 6020:d652a62d6e03
1 # 1 #
2 # Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. 2 # Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 # 4 #
5 # This code is free software; you can redistribute it and/or modify it 5 # This code is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU General Public License version 2 only, as 6 # under the terms of the GNU General Public License version 2 only, as
7 # published by the Free Software Foundation. 7 # published by the Free Software Foundation.
39 39
40 JVM_DB = libjvm_db 40 JVM_DB = libjvm_db
41 LIBJVM_DB = libjvm_db.so 41 LIBJVM_DB = libjvm_db.so
42 LIBJVM_DB_G = libjvm$(G_SUFFIX)_db.so 42 LIBJVM_DB_G = libjvm$(G_SUFFIX)_db.so
43 43
44 LIBJVM_DB_DEBUGINFO = libjvm_db.debuginfo 44 LIBJVM_DB_DEBUGINFO = libjvm_db.debuginfo
45 LIBJVM_DB_DIZ = libjvm_db.diz
45 LIBJVM_DB_G_DEBUGINFO = libjvm$(G_SUFFIX)_db.debuginfo 46 LIBJVM_DB_G_DEBUGINFO = libjvm$(G_SUFFIX)_db.debuginfo
47 LIBJVM_DB_G_DIZ = libjvm$(G_SUFFIX)_db.diz
46 48
47 JVM_DTRACE = jvm_dtrace 49 JVM_DTRACE = jvm_dtrace
48 LIBJVM_DTRACE = libjvm_dtrace.so 50 LIBJVM_DTRACE = libjvm_dtrace.so
49 LIBJVM_DTRACE_G = libjvm$(G_SUFFIX)_dtrace.so 51 LIBJVM_DTRACE_G = libjvm$(G_SUFFIX)_dtrace.so
50 52
51 LIBJVM_DTRACE_DEBUGINFO = libjvm_dtrace.debuginfo 53 LIBJVM_DTRACE_DEBUGINFO = libjvm_dtrace.debuginfo
54 LIBJVM_DTRACE_DIZ = libjvm_dtrace.diz
52 LIBJVM_DTRACE_G_DEBUGINFO = libjvm$(G_SUFFIX)_dtrace.debuginfo 55 LIBJVM_DTRACE_G_DEBUGINFO = libjvm$(G_SUFFIX)_dtrace.debuginfo
56 LIBJVM_DTRACE_G_DIZ = libjvm$(G_SUFFIX)_dtrace.diz
53 57
54 JVMOFFS = JvmOffsets 58 JVMOFFS = JvmOffsets
55 JVMOFFS.o = $(JVMOFFS).o 59 JVMOFFS.o = $(JVMOFFS).o
56 GENOFFS = generate$(JVMOFFS) 60 GENOFFS = generate$(JVMOFFS)
57 61
93 XLIBJVM_DB = 64/$(LIBJVM_DB) 97 XLIBJVM_DB = 64/$(LIBJVM_DB)
94 XLIBJVM_DB_G = 64/$(LIBJVM_DB_G) 98 XLIBJVM_DB_G = 64/$(LIBJVM_DB_G)
95 XLIBJVM_DTRACE = 64/$(LIBJVM_DTRACE) 99 XLIBJVM_DTRACE = 64/$(LIBJVM_DTRACE)
96 XLIBJVM_DTRACE_G = 64/$(LIBJVM_DTRACE_G) 100 XLIBJVM_DTRACE_G = 64/$(LIBJVM_DTRACE_G)
97 101
98 XLIBJVM_DB_DEBUGINFO = 64/$(LIBJVM_DB_DEBUGINFO) 102 XLIBJVM_DB_DEBUGINFO = 64/$(LIBJVM_DB_DEBUGINFO)
99 XLIBJVM_DB_G_DEBUGINFO = 64/$(LIBJVM_DB_G_DEBUGINFO) 103 XLIBJVM_DB_DIZ = 64/$(LIBJVM_DB_DIZ)
100 XLIBJVM_DTRACE_DEBUGINFO = 64/$(LIBJVM_DTRACE_DEBUGINFO) 104 XLIBJVM_DB_G_DEBUGINFO = 64/$(LIBJVM_DB_G_DEBUGINFO)
105 XLIBJVM_DB_G_DIZ = 64/$(LIBJVM_DB_G_DIZ)
106 XLIBJVM_DTRACE_DEBUGINFO = 64/$(LIBJVM_DTRACE_DEBUGINFO)
107 XLIBJVM_DTRACE_DIZ = 64/$(LIBJVM_DTRACE_DIZ)
101 XLIBJVM_DTRACE_G_DEBUGINFO = 64/$(LIBJVM_DTRACE_G_DEBUGINFO) 108 XLIBJVM_DTRACE_G_DEBUGINFO = 64/$(LIBJVM_DTRACE_G_DEBUGINFO)
109 XLIBJVM_DTRACE_G_DIZ = 64/$(LIBJVM_DTRACE_G_DIZ)
102 110
103 $(XLIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS).h $(LIBJVM_DB_MAPFILE) 111 $(XLIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS).h $(LIBJVM_DB_MAPFILE)
104 @echo Making $@ 112 @echo Making $@
105 $(QUIETLY) mkdir -p 64/ ; \ 113 $(QUIETLY) mkdir -p 64/ ; \
106 $(CC) $(SYMFLAG) $(ARCHFLAG/$(ISA)) -D$(TYPE) -I. -I$(GENERATED) \ 114 $(CC) $(SYMFLAG) $(ARCHFLAG/$(ISA)) -D$(TYPE) -I. -I$(GENERATED) \
107 $(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -lc 115 $(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -lc
108 [ -f $(XLIBJVM_DB_G) ] || { ln -s $(LIBJVM_DB) $(XLIBJVM_DB_G); } 116 [ -f $(XLIBJVM_DB_G) ] || { ln -s $(LIBJVM_DB) $(XLIBJVM_DB_G); }
109 ifneq ($(OBJCOPY),) 117 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
110 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(XLIBJVM_DB_DEBUGINFO) 118 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(XLIBJVM_DB_DEBUGINFO)
111 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(XLIBJVM_DB_DEBUGINFO) $@ 119 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(XLIBJVM_DB_DEBUGINFO) $@
112 ifeq ($(STRIP_POLICY),all_strip) 120 ifeq ($(STRIP_POLICY),all_strip)
113 $(QUIETLY) $(STRIP) $@ 121 $(QUIETLY) $(STRIP) $@
114 else 122 else
115 ifeq ($(STRIP_POLICY),min_strip) 123 ifeq ($(STRIP_POLICY),min_strip)
116 $(QUIETLY) $(STRIP) -x $@ 124 $(QUIETLY) $(STRIP) -x $@
117 # implied else here is no stripping at all 125 # implied else here is no stripping at all
118 endif 126 endif
119 endif 127 endif
120 [ -f $(XLIBJVM_DB_G_DEBUGINFO) ] || { ln -s $(LIBJVM_DB_DEBUGINFO) $(XLIBJVM_DB_G_DEBUGINFO); } 128 [ -f $(XLIBJVM_DB_G_DEBUGINFO) ] || { ln -s $(XLIBJVM_DB_DEBUGINFO) $(XLIBJVM_DB_G_DEBUGINFO); }
129 ifeq ($(ZIP_DEBUGINFO_FILES),1)
130 $(ZIPEXE) -q -y $(XLIBJVM_DB_DIZ) $(XLIBJVM_DB_DEBUGINFO) $(XLIBJVM_DB_G_DEBUGINFO)
131 $(RM) $(XLIBJVM_DB_DEBUGINFO) $(XLIBJVM_DB_G_DEBUGINFO)
132 [ -f $(XLIBJVM_DB_G_DIZ) ] || { ln -s $(XLIBJVM_DB_DIZ) $(XLIBJVM_DB_G_DIZ); }
133 endif
121 endif 134 endif
122 135
123 $(XLIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE) 136 $(XLIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE)
124 @echo Making $@ 137 @echo Making $@
125 $(QUIETLY) mkdir -p 64/ ; \ 138 $(QUIETLY) mkdir -p 64/ ; \
126 $(CC) $(SYMFLAG) $(ARCHFLAG/$(ISA)) -D$(TYPE) -I. \ 139 $(CC) $(SYMFLAG) $(ARCHFLAG/$(ISA)) -D$(TYPE) -I. \
127 $(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c -lc -lthread -ldoor 140 $(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c -lc -lthread -ldoor
128 [ -f $(XLIBJVM_DTRACE_G) ] || { ln -s $(LIBJVM_DTRACE) $(XLIBJVM_DTRACE_G); } 141 [ -f $(XLIBJVM_DTRACE_G) ] || { ln -s $(LIBJVM_DTRACE) $(XLIBJVM_DTRACE_G); }
129 ifneq ($(OBJCOPY),) 142 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
130 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(XLIBJVM_DTRACE_DEBUGINFO) 143 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(XLIBJVM_DTRACE_DEBUGINFO)
131 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(XLIBJVM_DTRACE_DEBUGINFO) $@ 144 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(XLIBJVM_DTRACE_DEBUGINFO) $@
132 ifeq ($(STRIP_POLICY),all_strip) 145 ifeq ($(STRIP_POLICY),all_strip)
133 $(QUIETLY) $(STRIP) $@ 146 $(QUIETLY) $(STRIP) $@
134 else 147 else
135 ifeq ($(STRIP_POLICY),min_strip) 148 ifeq ($(STRIP_POLICY),min_strip)
136 $(QUIETLY) $(STRIP) -x $@ 149 $(QUIETLY) $(STRIP) -x $@
137 # implied else here is no stripping at all 150 # implied else here is no stripping at all
138 endif 151 endif
139 endif 152 endif
140 [ -f $(XLIBJVM_DTRACE_G_DEBUGINFO) ] || { ln -s $(LIBJVM_DTRACE_DEBUGINFO) $(XLIBJVM_DTRACE_G_DEBUGINFO); } 153 [ -f $(XLIBJVM_DTRACE_G_DEBUGINFO) ] || { ln -s $(XLIBJVM_DTRACE_DEBUGINFO) $(XLIBJVM_DTRACE_G_DEBUGINFO); }
154 ifeq ($(ZIP_DEBUGINFO_FILES),1)
155 $(ZIPEXE) -q -y $(XLIBJVM_DTRACE_DIZ) $(XLIBJVM_DTRACE_DEBUGINFO) $(XLIBJVM_DTRACE_G_DEBUGINFO)
156 $(RM) $(XLIBJVM_DTRACE_DEBUGINFO) $(XLIBJVM_DTRACE_G_DEBUGINFO)
157 [ -f $(XLIBJVM_DTRACE_G_DIZ) ] || { ln -s $(XLIBJVM_DTRACE_DIZ) $(XLIBJVM_DTRACE_G_DIZ); }
158 endif
141 endif 159 endif
142 160
143 endif # ifneq ("${ISA}","${BUILDARCH}") 161 endif # ifneq ("${ISA}","${BUILDARCH}")
144 162
145 ifdef USE_GCC 163 ifdef USE_GCC
183 $(LIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS.o) $(XLIBJVM_DB) $(LIBJVM_DB_MAPFILE) 201 $(LIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS.o) $(XLIBJVM_DB) $(LIBJVM_DB_MAPFILE)
184 @echo Making $@ 202 @echo Making $@
185 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. -I$(GENERATED) \ 203 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. -I$(GENERATED) \
186 $(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -lc 204 $(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -lc
187 [ -f $(LIBJVM_DB_G) ] || { ln -s $@ $(LIBJVM_DB_G); } 205 [ -f $(LIBJVM_DB_G) ] || { ln -s $@ $(LIBJVM_DB_G); }
188 ifneq ($(OBJCOPY),) 206 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
189 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DB_DEBUGINFO) 207 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DB_DEBUGINFO)
190 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DB_DEBUGINFO) $@ 208 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DB_DEBUGINFO) $@
191 ifeq ($(STRIP_POLICY),all_strip) 209 ifeq ($(STRIP_POLICY),all_strip)
192 $(QUIETLY) $(STRIP) $@ 210 $(QUIETLY) $(STRIP) $@
193 else 211 else
195 $(QUIETLY) $(STRIP) -x $@ 213 $(QUIETLY) $(STRIP) -x $@
196 # implied else here is no stripping at all 214 # implied else here is no stripping at all
197 endif 215 endif
198 endif 216 endif
199 [ -f $(LIBJVM_DB_G_DEBUGINFO) ] || { ln -s $(LIBJVM_DB_DEBUGINFO) $(LIBJVM_DB_G_DEBUGINFO); } 217 [ -f $(LIBJVM_DB_G_DEBUGINFO) ] || { ln -s $(LIBJVM_DB_DEBUGINFO) $(LIBJVM_DB_G_DEBUGINFO); }
218 ifeq ($(ZIP_DEBUGINFO_FILES),1)
219 $(ZIPEXE) -q -y $(LIBJVM_DB_DIZ) $(LIBJVM_DB_DEBUGINFO) $(LIBJVM_DB_G_DEBUGINFO)
220 $(RM) $(LIBJVM_DB_DEBUGINFO) $(LIBJVM_DB_G_DEBUGINFO)
221 [ -f $(LIBJVM_DB_G_DIZ) ] || { ln -s $(LIBJVM_DB_DIZ) $(LIBJVM_DB_G_DIZ); }
222 endif
200 endif 223 endif
201 224
202 $(LIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(XLIBJVM_DTRACE) $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE) 225 $(LIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(XLIBJVM_DTRACE) $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE)
203 @echo Making $@ 226 @echo Making $@
204 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. \ 227 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. \
205 $(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c -lc -lthread -ldoor 228 $(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c -lc -lthread -ldoor
206 [ -f $(LIBJVM_DTRACE_G) ] || { ln -s $@ $(LIBJVM_DTRACE_G); } 229 [ -f $(LIBJVM_DTRACE_G) ] || { ln -s $@ $(LIBJVM_DTRACE_G); }
207 ifneq ($(OBJCOPY),) 230 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
208 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DTRACE_DEBUGINFO) 231 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DTRACE_DEBUGINFO)
209 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DTRACE_DEBUGINFO) $@ 232 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DTRACE_DEBUGINFO) $@
210 ifeq ($(STRIP_POLICY),all_strip) 233 ifeq ($(STRIP_POLICY),all_strip)
211 $(QUIETLY) $(STRIP) $@ 234 $(QUIETLY) $(STRIP) $@
212 else 235 else
214 $(QUIETLY) $(STRIP) -x $@ 237 $(QUIETLY) $(STRIP) -x $@
215 # implied else here is no stripping at all 238 # implied else here is no stripping at all
216 endif 239 endif
217 endif 240 endif
218 [ -f $(LIBJVM_DTRACE_G_DEBUGINFO) ] || { ln -s $(LIBJVM_DTRACE_DEBUGINFO) $(LIBJVM_DTRACE_G_DEBUGINFO); } 241 [ -f $(LIBJVM_DTRACE_G_DEBUGINFO) ] || { ln -s $(LIBJVM_DTRACE_DEBUGINFO) $(LIBJVM_DTRACE_G_DEBUGINFO); }
242 ifeq ($(ZIP_DEBUGINFO_FILES),1)
243 $(ZIPEXE) -q -y $(LIBJVM_DTRACE_DIZ) $(LIBJVM_DTRACE_DEBUGINFO) $(LIBJVM_DTRACE_G_DEBUGINFO)
244 $(RM) $(LIBJVM_DTRACE_DEBUGINFO) $(LIBJVM_DTRACE_G_DEBUGINFO)
245 [ -f $(LIBJVM_DTRACE_G_DIZ) ] || { ln -s $(LIBJVM_DTRACE_DIZ) $(LIBJVM_DTRACE_G_DIZ); }
246 endif
219 endif 247 endif
220 248
221 $(DTRACE).d: $(DTRACE_SRCDIR)/hotspot.d $(DTRACE_SRCDIR)/hotspot_jni.d \ 249 $(DTRACE).d: $(DTRACE_SRCDIR)/hotspot.d $(DTRACE_SRCDIR)/hotspot_jni.d \
222 $(DTRACE_SRCDIR)/hs_private.d $(DTRACE_SRCDIR)/jhelper.d 250 $(DTRACE_SRCDIR)/hs_private.d $(DTRACE_SRCDIR)/jhelper.d
223 $(QUIETLY) cat $^ > $@ 251 $(QUIETLY) cat $^ > $@