hotspot/make/solaris/makefiles/dtrace.make
changeset 27657 f4fcaa1bb2d4
parent 26691 40ea2c41f53b
child 28613 b78d7c133e56
equal deleted inserted replaced
27656:edf22ab2020b 27657:f4fcaa1bb2d4
    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 $@