1.1 --- a/make/linux/makefiles/vm.make Thu Sep 15 20:56:24 2011 -0700 1.2 +++ b/make/linux/makefiles/vm.make Fri Sep 16 16:21:20 2011 -0700 1.3 @@ -60,10 +60,16 @@ 1.4 # The order is important for the precompiled headers to work. 1.5 INCLUDES += $(PRECOMPILED_HEADER_DIR:%=-I%) $(Src_Dirs_I:%=-I%) 1.6 1.7 -ifeq (${VERSION}, debug) 1.8 +# SYMFLAG is used by {jsig,saproc}.make 1.9 +ifneq ($(OBJCOPY),) 1.10 + # always build with debug info when we can create .debuginfo files 1.11 SYMFLAG = -g 1.12 else 1.13 - SYMFLAG = 1.14 + ifeq (${VERSION}, debug) 1.15 + SYMFLAG = -g 1.16 + else 1.17 + SYMFLAG = 1.18 + endif 1.19 endif 1.20 1.21 # HOTSPOT_RELEASE_VERSION and HOTSPOT_BUILD_VERSION are defined 1.22 @@ -124,6 +130,9 @@ 1.23 LIBJVM = lib$(JVM).so 1.24 LIBJVM_G = lib$(JVM)$(G_SUFFIX).so 1.25 1.26 +LIBJVM_DEBUGINFO = lib$(JVM).debuginfo 1.27 +LIBJVM_G_DEBUGINFO = lib$(JVM)$(G_SUFFIX).debuginfo 1.28 + 1.29 SPECIAL_PATHS:=adlc c1 gc_implementation opto shark libadt 1.30 1.31 SOURCE_PATHS=\ 1.32 @@ -307,11 +316,30 @@ 1.33 fi \ 1.34 fi \ 1.35 } 1.36 +ifeq ($(CROSS_COMPILE_ARCH),) 1.37 + ifneq ($(OBJCOPY),) 1.38 + $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DEBUGINFO) 1.39 + $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DEBUGINFO) $@ 1.40 + ifeq ($(STRIP_POLICY),all_strip) 1.41 + $(QUIETLY) $(STRIP) $@ 1.42 + else 1.43 + ifeq ($(STRIP_POLICY),min_strip) 1.44 + $(QUIETLY) $(STRIP) -g $@ 1.45 + # implied else here is no stripping at all 1.46 + endif 1.47 + endif 1.48 + $(QUIETLY) [ -f $(LIBJVM_G_DEBUGINFO) ] || ln -s $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO) 1.49 + endif 1.50 +endif 1.51 1.52 -DEST_JVM = $(JDK_LIBDIR)/$(VM_SUBDIR)/$(LIBJVM) 1.53 +DEST_SUBDIR = $(JDK_LIBDIR)/$(VM_SUBDIR) 1.54 +DEST_JVM = $(DEST_SUBDIR)/$(LIBJVM) 1.55 +DEST_JVM_DEBUGINFO = $(DEST_SUBDIR)/$(LIBJVM_DEBUGINFO) 1.56 1.57 install_jvm: $(LIBJVM) 1.58 @echo "Copying $(LIBJVM) to $(DEST_JVM)" 1.59 + $(QUIETLY) test -f $(LIBJVM_DEBUGINFO) && \ 1.60 + cp -f $(LIBJVM_DEBUGINFO) $(DEST_JVM_DEBUGINFO) 1.61 $(QUIETLY) cp -f $(LIBJVM) $(DEST_JVM) && echo "Done" 1.62 1.63 #----------------------------------------------------------------------