Mercurial > hg > graal-jvmci-8
comparison make/bsd/makefiles/vm.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 | f2110083203d |
children | 096c224171c4 67d6392ed21e f933a15469d4 |
comparison
equal
deleted
inserted
replaced
12858:2f8728d92483 | 12859:f509b8f4699b |
---|---|
58 # set INCLUDES for C preprocessor. | 58 # set INCLUDES for C preprocessor. |
59 Src_Dirs_I += $(GENERATED) | 59 Src_Dirs_I += $(GENERATED) |
60 # The order is important for the precompiled headers to work. | 60 # The order is important for the precompiled headers to work. |
61 INCLUDES += $(PRECOMPILED_HEADER_DIR:%=-I%) $(Src_Dirs_I:%=-I%) | 61 INCLUDES += $(PRECOMPILED_HEADER_DIR:%=-I%) $(Src_Dirs_I:%=-I%) |
62 | 62 |
63 ifeq (${VERSION}, debug) | 63 # SYMFLAG is used by {jsig,saproc}.make |
64 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) | |
65 # always build with debug info when we can create .dSYM/.debuginfo files | |
64 SYMFLAG = -g | 66 SYMFLAG = -g |
65 else | 67 else |
66 SYMFLAG = | 68 ifeq (${VERSION}, debug) |
69 SYMFLAG = -g | |
70 else | |
71 SYMFLAG = | |
72 endif | |
67 endif | 73 endif |
68 | 74 |
69 # HOTSPOT_RELEASE_VERSION and HOTSPOT_BUILD_VERSION are defined | 75 # HOTSPOT_RELEASE_VERSION and HOTSPOT_BUILD_VERSION are defined |
70 # in $(GAMMADIR)/make/defs.make | 76 # in $(GAMMADIR)/make/defs.make |
71 ifeq ($(HOTSPOT_BUILD_VERSION),) | 77 ifeq ($(HOTSPOT_BUILD_VERSION),) |
145 LIBJVM = lib$(JVM).dylib | 151 LIBJVM = lib$(JVM).dylib |
146 CFLAGS += -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE | 152 CFLAGS += -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE |
147 ifeq (${VERSION}, $(filter ${VERSION}, debug fastdebug)) | 153 ifeq (${VERSION}, $(filter ${VERSION}, debug fastdebug)) |
148 CFLAGS += -DALLOW_OPERATOR_NEW_USAGE | 154 CFLAGS += -DALLOW_OPERATOR_NEW_USAGE |
149 endif | 155 endif |
156 | |
157 LIBJVM_DEBUGINFO = lib$(JVM).dylib.dSYM | |
158 LIBJVM_DIZ = lib$(JVM).diz | |
150 else | 159 else |
151 LIBJVM = lib$(JVM).so | 160 LIBJVM = lib$(JVM).so |
161 | |
162 LIBJVM_DEBUGINFO = lib$(JVM).debuginfo | |
163 LIBJVM_DIZ = lib$(JVM).diz | |
152 endif | 164 endif |
153 | 165 |
154 SPECIAL_PATHS:=adlc c1 gc_implementation opto shark libadt | 166 SPECIAL_PATHS:=adlc c1 gc_implementation opto shark libadt |
155 | 167 |
156 SOURCE_PATHS=\ | 168 SOURCE_PATHS=\ |
320 $(LFLAGS_VM) -o $@ $(sort $(LIBJVM.o)) $(LIBS_VM); \ | 332 $(LFLAGS_VM) -o $@ $(sort $(LIBJVM.o)) $(LIBS_VM); \ |
321 $(LINK_LIB.CXX/POST_HOOK) \ | 333 $(LINK_LIB.CXX/POST_HOOK) \ |
322 rm -f $@.1; ln -s $@ $@.1; \ | 334 rm -f $@.1; ln -s $@ $@.1; \ |
323 } | 335 } |
324 | 336 |
325 DEST_JVM = $(JDK_LIBDIR)/$(VM_SUBDIR)/$(LIBJVM) | 337 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) |
338 ifeq ($(OS_VENDOR), Darwin) | |
339 $(DSYMUTIL) $@ | |
340 ifeq ($(ZIP_DEBUGINFO_FILES),1) | |
341 $(ZIPEXE) -q -r -y $(LIBJVM_DIZ) $(LIBJVM_DEBUGINFO) | |
342 $(RM) -r $(LIBJVM_DEBUGINFO) | |
343 endif | |
344 else | |
345 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DEBUGINFO) | |
346 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DEBUGINFO) $@ | |
347 ifeq ($(STRIP_POLICY),all_strip) | |
348 $(QUIETLY) $(STRIP) $@ | |
349 else | |
350 ifeq ($(STRIP_POLICY),min_strip) | |
351 $(QUIETLY) $(STRIP) -g $@ | |
352 # implied else here is no stripping at all | |
353 endif | |
354 endif | |
355 ifeq ($(ZIP_DEBUGINFO_FILES),1) | |
356 $(ZIPEXE) -q -y $(LIBJVM_DIZ) $(LIBJVM_DEBUGINFO) | |
357 $(RM) $(LIBJVM_DEBUGINFO) | |
358 endif | |
359 endif | |
360 endif | |
361 | |
362 DEST_SUBDIR = $(JDK_LIBDIR)/$(VM_SUBDIR) | |
363 DEST_JVM = $(DEST_SUBDIR)/$(LIBJVM) | |
364 DEST_JVM_DEBUGINFO = $(DEST_SUBDIR)/$(LIBJVM_DEBUGINFO) | |
365 DEST_JVM_DIZ = $(DEST_SUBDIR)/$(LIBJVM_DIZ) | |
326 | 366 |
327 install_jvm: $(LIBJVM) | 367 install_jvm: $(LIBJVM) |
328 @echo "Copying $(LIBJVM) to $(DEST_JVM)" | 368 @echo "Copying $(LIBJVM) to $(DEST_JVM)" |
369 ifeq ($(OS_VENDOR), Darwin) | |
370 $(QUIETLY) test -d $(LIBJVM_DEBUGINFO) && \ | |
371 cp -f -r $(LIBJVM_DEBUGINFO) $(DEST_JVM_DEBUGINFO) | |
372 else | |
373 $(QUIETLY) test -f $(LIBJVM_DEBUGINFO) && \ | |
374 cp -f $(LIBJVM_DEBUGINFO) $(DEST_JVM_DEBUGINFO) | |
375 endif | |
376 $(QUIETLY) test -f $(LIBJVM_DIZ) && \ | |
377 cp -f $(LIBJVM_DIZ) $(DEST_JVM_DIZ) | |
329 $(QUIETLY) cp -f $(LIBJVM) $(DEST_JVM) && echo "Done" | 378 $(QUIETLY) cp -f $(LIBJVM) $(DEST_JVM) && echo "Done" |
330 | 379 |
331 #---------------------------------------------------------------------- | 380 #---------------------------------------------------------------------- |
332 # Other files | 381 # Other files |
333 | 382 |
338 include $(MAKEFILES_DIR)/saproc.make | 387 include $(MAKEFILES_DIR)/saproc.make |
339 | 388 |
340 #---------------------------------------------------------------------- | 389 #---------------------------------------------------------------------- |
341 | 390 |
342 ifeq ($(OS_VENDOR), Darwin) | 391 ifeq ($(OS_VENDOR), Darwin) |
343 $(LIBJVM).dSYM: $(LIBJVM) | |
344 dsymutil $(LIBJVM) | |
345 | |
346 # no libjvm_db for macosx | 392 # no libjvm_db for macosx |
347 build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(BUILDLIBSAPROC) dtraceCheck $(LIBJVM).dSYM | 393 build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(BUILDLIBSAPROC) dtraceCheck |
348 echo "Doing vm.make build:" | 394 echo "Doing vm.make build:" |
349 else | 395 else |
350 build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC) | 396 build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC) |
351 endif | 397 endif |
352 | 398 |