99 XLIBJVM_DB_DEBUGINFO = $(XLIBJVM_DIR)/$(LIBJVM_DB_DEBUGINFO) |
99 XLIBJVM_DB_DEBUGINFO = $(XLIBJVM_DIR)/$(LIBJVM_DB_DEBUGINFO) |
100 XLIBJVM_DB_DIZ = $(XLIBJVM_DIR)/$(LIBJVM_DB_DIZ) |
100 XLIBJVM_DB_DIZ = $(XLIBJVM_DIR)/$(LIBJVM_DB_DIZ) |
101 XLIBJVM_DTRACE_DEBUGINFO = $(XLIBJVM_DIR)/$(LIBJVM_DTRACE_DEBUGINFO) |
101 XLIBJVM_DTRACE_DEBUGINFO = $(XLIBJVM_DIR)/$(LIBJVM_DTRACE_DEBUGINFO) |
102 XLIBJVM_DTRACE_DIZ = $(XLIBJVM_DIR)/$(LIBJVM_DTRACE_DIZ) |
102 XLIBJVM_DTRACE_DIZ = $(XLIBJVM_DIR)/$(LIBJVM_DTRACE_DIZ) |
103 |
103 |
104 $(XLIBJVM_DB): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS).h $(LIBJVM_DB_MAPFILE) |
104 $(XLIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS).h $(LIBJVM_DB_MAPFILE) |
105 @echo $(LOG_INFO) Making $@ |
105 @echo $(LOG_INFO) Making $@ |
106 $(QUIETLY) mkdir -p $(XLIBJVM_DIR) ; \ |
106 $(QUIETLY) mkdir -p $(XLIBJVM_DIR) ; \ |
107 $(CC) $(SYMFLAG) $(ARCHFLAG/$(ISA)) -D$(TYPE) -I. -I$(GENERATED) \ |
107 $(CC) $(SYMFLAG) $(ARCHFLAG/$(ISA)) -D$(TYPE) -I. -I$(GENERATED) \ |
108 $(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -lc |
108 $(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -lc |
109 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) |
109 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) |
110 # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set. |
|
111 # Clear the SHF_ALLOC flag (if set) from empty section headers. |
|
112 # An empty section header has sh_addr == 0 and sh_size == 0. |
|
113 # This problem has only been seen on Solaris X64, but we call this tool |
|
114 # on all Solaris builds just in case. |
|
115 $(QUIETLY) $(FIX_EMPTY_SEC_HDR_FLAGS) $@ |
|
116 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(XLIBJVM_DB_DEBUGINFO) |
110 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(XLIBJVM_DB_DEBUGINFO) |
117 # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections. |
|
118 # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available. |
|
119 # $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DB_DEBUGINFO) $(LIBJVM_DB) ; |
|
120 # Do this part in the $(XLIBJVM_DIR) subdir so $(XLIBJVM_DIR) is not |
111 # Do this part in the $(XLIBJVM_DIR) subdir so $(XLIBJVM_DIR) is not |
121 # in the link name: |
112 # in the link name: |
122 ( cd $(XLIBJVM_DIR) && $(ADD_GNU_DEBUGLINK) $(LIBJVM_DB_DEBUGINFO) $(LIBJVM_DB) ) |
113 ( cd $(XLIBJVM_DIR) && $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DB_DEBUGINFO) $(LIBJVM_DB) ) |
123 ifeq ($(STRIP_POLICY),all_strip) |
114 ifeq ($(STRIP_POLICY),all_strip) |
124 $(QUIETLY) $(STRIP) $@ |
115 $(QUIETLY) $(STRIP) $@ |
125 else |
116 else |
126 ifeq ($(STRIP_POLICY),min_strip) |
117 ifeq ($(STRIP_POLICY),min_strip) |
127 $(QUIETLY) $(STRIP) -x $@ |
118 $(QUIETLY) $(STRIP) -x $@ |
134 ( cd $(XLIBJVM_DIR) && $(ZIPEXE) -q -y $(LIBJVM_DB_DIZ) $(LIBJVM_DB_DEBUGINFO) ) |
125 ( cd $(XLIBJVM_DIR) && $(ZIPEXE) -q -y $(LIBJVM_DB_DIZ) $(LIBJVM_DB_DEBUGINFO) ) |
135 $(RM) $(XLIBJVM_DB_DEBUGINFO) |
126 $(RM) $(XLIBJVM_DB_DEBUGINFO) |
136 endif |
127 endif |
137 endif |
128 endif |
138 |
129 |
139 $(XLIBJVM_DTRACE): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE) |
130 $(XLIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE) |
140 @echo $(LOG_INFO) Making $@ |
131 @echo $(LOG_INFO) Making $@ |
141 $(QUIETLY) mkdir -p $(XLIBJVM_DIR) ; \ |
132 $(QUIETLY) mkdir -p $(XLIBJVM_DIR) ; \ |
142 $(CC) $(SYMFLAG) $(ARCHFLAG/$(ISA)) -D$(TYPE) -I. \ |
133 $(CC) $(SYMFLAG) $(ARCHFLAG/$(ISA)) -D$(TYPE) -I. \ |
143 $(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c -lc -lthread -ldoor |
134 $(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c -lc -lthread -ldoor |
144 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) |
135 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) |
145 # Clear the SHF_ALLOC flag (if set) from empty section headers. |
|
146 $(QUIETLY) $(FIX_EMPTY_SEC_HDR_FLAGS) $@ |
|
147 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(XLIBJVM_DTRACE_DEBUGINFO) |
136 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(XLIBJVM_DTRACE_DEBUGINFO) |
148 # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections. |
|
149 # $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DTRACE_DEBUGINFO) $(LIBJVM_DTRACE) ; |
|
150 # Do this part in the $(XLIBJVM_DIR) subdir so $(XLIBJVM_DIR) is not |
137 # Do this part in the $(XLIBJVM_DIR) subdir so $(XLIBJVM_DIR) is not |
151 # in the link name: |
138 # in the link name: |
152 ( cd $(XLIBJVM_DIR) && $(ADD_GNU_DEBUGLINK) $(LIBJVM_DTRACE_DEBUGINFO) $(LIBJVM_DTRACE) ) |
139 ( cd $(XLIBJVM_DIR) && $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DTRACE_DEBUGINFO) $(LIBJVM_DTRACE) ) |
153 ifeq ($(STRIP_POLICY),all_strip) |
140 ifeq ($(STRIP_POLICY),all_strip) |
154 $(QUIETLY) $(STRIP) $@ |
141 $(QUIETLY) $(STRIP) $@ |
155 else |
142 else |
156 ifeq ($(STRIP_POLICY),min_strip) |
143 ifeq ($(STRIP_POLICY),min_strip) |
157 $(QUIETLY) $(STRIP) -x $@ |
144 $(QUIETLY) $(STRIP) -x $@ |
204 $(QUIETLY) $(CONDITIONALLY_UPDATE_JVMOFFS_TARGET) |
191 $(QUIETLY) $(CONDITIONALLY_UPDATE_JVMOFFS_TARGET) |
205 |
192 |
206 $(JVMOFFS.o): $(JVMOFFS).h $(JVMOFFS).cpp |
193 $(JVMOFFS.o): $(JVMOFFS).h $(JVMOFFS).cpp |
207 $(QUIETLY) $(CXX) -c -I. -o $@ $(ARCHFLAG) -D$(TYPE) $(JVMOFFS).cpp |
194 $(QUIETLY) $(CXX) -c -I. -o $@ $(ARCHFLAG) -D$(TYPE) $(JVMOFFS).cpp |
208 |
195 |
209 $(LIBJVM_DB): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS.o) $(XLIBJVM_DB) $(LIBJVM_DB_MAPFILE) |
196 $(LIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS.o) $(XLIBJVM_DB) $(LIBJVM_DB_MAPFILE) |
210 @echo $(LOG_INFO) Making $@ |
197 @echo $(LOG_INFO) Making $@ |
211 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. -I$(GENERATED) \ |
198 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. -I$(GENERATED) \ |
212 $(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -lc |
199 $(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -lc |
213 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) |
200 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) |
214 # Clear the SHF_ALLOC flag (if set) from empty section headers. |
|
215 $(QUIETLY) $(FIX_EMPTY_SEC_HDR_FLAGS) $@ |
|
216 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DB_DEBUGINFO) |
201 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DB_DEBUGINFO) |
217 # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections. |
202 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DB_DEBUGINFO) $@ |
218 # $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DB_DEBUGINFO) $@ |
|
219 $(QUIETLY) $(ADD_GNU_DEBUGLINK) $(LIBJVM_DB_DEBUGINFO) $@ |
|
220 ifeq ($(STRIP_POLICY),all_strip) |
203 ifeq ($(STRIP_POLICY),all_strip) |
221 $(QUIETLY) $(STRIP) $@ |
204 $(QUIETLY) $(STRIP) $@ |
222 else |
205 else |
223 ifeq ($(STRIP_POLICY),min_strip) |
206 ifeq ($(STRIP_POLICY),min_strip) |
224 $(QUIETLY) $(STRIP) -x $@ |
207 $(QUIETLY) $(STRIP) -x $@ |
229 $(ZIPEXE) -q -y $(LIBJVM_DB_DIZ) $(LIBJVM_DB_DEBUGINFO) |
212 $(ZIPEXE) -q -y $(LIBJVM_DB_DIZ) $(LIBJVM_DB_DEBUGINFO) |
230 $(RM) $(LIBJVM_DB_DEBUGINFO) |
213 $(RM) $(LIBJVM_DB_DEBUGINFO) |
231 endif |
214 endif |
232 endif |
215 endif |
233 |
216 |
234 $(LIBJVM_DTRACE): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(XLIBJVM_DTRACE) $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE) |
217 $(LIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(XLIBJVM_DTRACE) $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE) |
235 @echo $(LOG_INFO) Making $@ |
218 @echo $(LOG_INFO) Making $@ |
236 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. \ |
219 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. \ |
237 $(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c -lc -lthread -ldoor |
220 $(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c -lc -lthread -ldoor |
238 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) |
221 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) |
239 # Clear the SHF_ALLOC flag (if set) from empty section headers. |
|
240 $(QUIETLY) $(FIX_EMPTY_SEC_HDR_FLAGS) $@ |
|
241 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DTRACE_DEBUGINFO) |
222 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DTRACE_DEBUGINFO) |
242 # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections. |
223 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DTRACE_DEBUGINFO) $@ |
243 # $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DTRACE_DEBUGINFO) $@ |
|
244 $(QUIETLY) $(ADD_GNU_DEBUGLINK) $(LIBJVM_DTRACE_DEBUGINFO) $@ |
|
245 ifeq ($(STRIP_POLICY),all_strip) |
224 ifeq ($(STRIP_POLICY),all_strip) |
246 $(QUIETLY) $(STRIP) $@ |
225 $(QUIETLY) $(STRIP) $@ |
247 else |
226 else |
248 ifeq ($(STRIP_POLICY),min_strip) |
227 ifeq ($(STRIP_POLICY),min_strip) |
249 $(QUIETLY) $(STRIP) -x $@ |
228 $(QUIETLY) $(STRIP) -x $@ |