make/solaris/makefiles/vm.make

Print this page




 138 else
 139 LIBS += -ldl -lthread -lsocket $(LIBM) -lsched -ldoor -ldemangle
 140 endif # 502
 141 endif # 505
 142 else
 143 LIBS += -lsocket -lsched -ldl $(LIBM) -lthread -lc -ldemangle
 144 endif # sparcWorks
 145 
 146 LIBS += -lkstat
 147 
 148 # By default, link the *.o into the library, not the executable.
 149 LINK_INTO$(LINK_INTO) = LIBJVM
 150 
 151 JDK_LIBDIR = $(JAVA_HOME)/jre/lib/$(LIBARCH)
 152 
 153 #----------------------------------------------------------------------
 154 # jvm_db & dtrace
 155 include $(MAKEFILES_DIR)/dtrace.make
 156 
 157 #----------------------------------------------------------------------
 158 # add_gnu_debuglink tool
 159 include $(MAKEFILES_DIR)/add_gnu_debuglink.make
 160 
 161 #----------------------------------------------------------------------
 162 # fix_empty_sec_hdr_flags tool
 163 include $(MAKEFILES_DIR)/fix_empty_sec_hdr_flags.make
 164 
 165 #----------------------------------------------------------------------
 166 # JVM
 167 
 168 JVM      = jvm
 169 LIBJVM   = lib$(JVM).so
 170 
 171 LIBJVM_DEBUGINFO   = lib$(JVM).debuginfo
 172 LIBJVM_DIZ         = lib$(JVM).diz
 173 
 174 SPECIAL_PATHS:=adlc c1 dist gc_implementation opto shark libadt
 175 
 176 SOURCE_PATHS=\
 177   $(shell find $(HS_COMMON_SRC)/share/vm/* -type d \! \
 178       \( -name DUMMY $(foreach dir,$(SPECIAL_PATHS),-o -name $(dir)) \))
 179 SOURCE_PATHS+=$(HS_COMMON_SRC)/os/$(Platform_os_family)/vm
 180 SOURCE_PATHS+=$(HS_COMMON_SRC)/os/posix/vm
 181 SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm
 182 SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_arch)/vm
 183 
 184 CORE_PATHS=$(foreach path,$(SOURCE_PATHS),$(call altsrc,$(path)) $(path))
 185 CORE_PATHS+=$(GENERATED)/jvmtifiles $(GENERATED)/tracefiles


 285   LFLAGS_VM$(LDNOMAP)      += $(MAPFLAG:FILENAME=$(LIBJVM_MAPFILE))
 286   LFLAGS_VM                += $(SONAMEFLAG:SONAME=$(LIBJVM))
 287   LFLAGS_VM                += -Wl,-z,defs
 288 ifndef USE_GCC
 289   LIBS_VM                  = $(LIBS)
 290 else
 291   # JVM is statically linked with libgcc[_s] and libstdc++; this is needed to
 292   # get around library dependency and compatibility issues. Must use gcc not
 293   # g++ to link.
 294   LFLAGS_VM                += $(STATIC_LIBGCC)
 295   LIBS_VM                  += $(STATIC_STDCXX) $(LIBS)
 296 endif
 297 endif
 298 
 299 ifdef USE_GCC
 300 LINK_VM = $(LINK_LIB.CC)
 301 else
 302 LINK_VM = $(LINK_LIB.CXX)
 303 endif
 304 # making the library:
 305 $(LIBJVM): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(LIBJVM.o) $(LIBJVM_MAPFILE)
 306 ifeq ($(filter -sbfast -xsbfast, $(CFLAGS_BROWSE)),)
 307         @echo $(LOG_INFO) Linking vm...
 308         $(QUIETLY) $(LINK_LIB.CXX/PRE_HOOK)
 309         $(QUIETLY) $(LINK_VM) $(LFLAGS_VM) -o $@ $(sort $(LIBJVM.o)) $(LIBS_VM)
 310         $(QUIETLY) $(LINK_LIB.CXX/POST_HOOK)
 311         $(QUIETLY) rm -f $@.1 && ln -s $@ $@.1
 312 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
 313 # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
 314 # Clear the SHF_ALLOC flag (if set) from empty section headers.
 315 # An empty section header has sh_addr == 0 and sh_size == 0.
 316 # This problem has only been seen on Solaris X64, but we call this tool
 317 # on all Solaris builds just in case.
 318         $(QUIETLY) $(FIX_EMPTY_SEC_HDR_FLAGS) $@
 319         $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DEBUGINFO)
 320 # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
 321 # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.
 322 #       $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DEBUGINFO) $@
 323         $(QUIETLY) $(ADD_GNU_DEBUGLINK) $(LIBJVM_DEBUGINFO) $@
 324   ifeq ($(STRIP_POLICY),all_strip)
 325         $(QUIETLY) $(STRIP) $@
 326   else
 327     ifeq ($(STRIP_POLICY),min_strip)
 328         $(QUIETLY) $(STRIP) -x $@
 329     # implied else here is no stripping at all
 330     endif
 331   endif
 332   ifeq ($(ZIP_DEBUGINFO_FILES),1)
 333         $(ZIPEXE) -q -y $(LIBJVM_DIZ) $(LIBJVM_DEBUGINFO)
 334         $(RM) $(LIBJVM_DEBUGINFO)
 335   endif
 336 endif
 337 endif # filter -sbfast -xsbfast
 338 
 339 
 340 DEST_SUBDIR        = $(JDK_LIBDIR)/$(VM_SUBDIR)
 341 DEST_JVM           = $(DEST_SUBDIR)/$(LIBJVM)
 342 DEST_JVM_DEBUGINFO = $(DEST_SUBDIR)/$(LIBJVM_DEBUGINFO)
 343 DEST_JVM_DIZ       = $(DEST_SUBDIR)/$(LIBJVM_DIZ)




 138 else
 139 LIBS += -ldl -lthread -lsocket $(LIBM) -lsched -ldoor -ldemangle
 140 endif # 502
 141 endif # 505
 142 else
 143 LIBS += -lsocket -lsched -ldl $(LIBM) -lthread -lc -ldemangle
 144 endif # sparcWorks
 145 
 146 LIBS += -lkstat
 147 
 148 # By default, link the *.o into the library, not the executable.
 149 LINK_INTO$(LINK_INTO) = LIBJVM
 150 
 151 JDK_LIBDIR = $(JAVA_HOME)/jre/lib/$(LIBARCH)
 152 
 153 #----------------------------------------------------------------------
 154 # jvm_db & dtrace
 155 include $(MAKEFILES_DIR)/dtrace.make
 156 
 157 #----------------------------------------------------------------------








 158 # JVM
 159 
 160 JVM      = jvm
 161 LIBJVM   = lib$(JVM).so
 162 
 163 LIBJVM_DEBUGINFO   = lib$(JVM).debuginfo
 164 LIBJVM_DIZ         = lib$(JVM).diz
 165 
 166 SPECIAL_PATHS:=adlc c1 dist gc_implementation opto shark libadt
 167 
 168 SOURCE_PATHS=\
 169   $(shell find $(HS_COMMON_SRC)/share/vm/* -type d \! \
 170       \( -name DUMMY $(foreach dir,$(SPECIAL_PATHS),-o -name $(dir)) \))
 171 SOURCE_PATHS+=$(HS_COMMON_SRC)/os/$(Platform_os_family)/vm
 172 SOURCE_PATHS+=$(HS_COMMON_SRC)/os/posix/vm
 173 SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm
 174 SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_arch)/vm
 175 
 176 CORE_PATHS=$(foreach path,$(SOURCE_PATHS),$(call altsrc,$(path)) $(path))
 177 CORE_PATHS+=$(GENERATED)/jvmtifiles $(GENERATED)/tracefiles


 277   LFLAGS_VM$(LDNOMAP)      += $(MAPFLAG:FILENAME=$(LIBJVM_MAPFILE))
 278   LFLAGS_VM                += $(SONAMEFLAG:SONAME=$(LIBJVM))
 279   LFLAGS_VM                += -Wl,-z,defs
 280 ifndef USE_GCC
 281   LIBS_VM                  = $(LIBS)
 282 else
 283   # JVM is statically linked with libgcc[_s] and libstdc++; this is needed to
 284   # get around library dependency and compatibility issues. Must use gcc not
 285   # g++ to link.
 286   LFLAGS_VM                += $(STATIC_LIBGCC)
 287   LIBS_VM                  += $(STATIC_STDCXX) $(LIBS)
 288 endif
 289 endif
 290 
 291 ifdef USE_GCC
 292 LINK_VM = $(LINK_LIB.CC)
 293 else
 294 LINK_VM = $(LINK_LIB.CXX)
 295 endif
 296 # making the library:
 297 $(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE)
 298 ifeq ($(filter -sbfast -xsbfast, $(CFLAGS_BROWSE)),)
 299         @echo $(LOG_INFO) Linking vm...
 300         $(QUIETLY) $(LINK_LIB.CXX/PRE_HOOK)
 301         $(QUIETLY) $(LINK_VM) $(LFLAGS_VM) -o $@ $(sort $(LIBJVM.o)) $(LIBS_VM)
 302         $(QUIETLY) $(LINK_LIB.CXX/POST_HOOK)
 303         $(QUIETLY) rm -f $@.1 && ln -s $@ $@.1
 304 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)






 305         $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DEBUGINFO)
 306         $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DEBUGINFO) $@



 307   ifeq ($(STRIP_POLICY),all_strip)
 308         $(QUIETLY) $(STRIP) $@
 309   else
 310     ifeq ($(STRIP_POLICY),min_strip)
 311         $(QUIETLY) $(STRIP) -x $@
 312     # implied else here is no stripping at all
 313     endif
 314   endif
 315   ifeq ($(ZIP_DEBUGINFO_FILES),1)
 316         $(ZIPEXE) -q -y $(LIBJVM_DIZ) $(LIBJVM_DEBUGINFO)
 317         $(RM) $(LIBJVM_DEBUGINFO)
 318   endif
 319 endif
 320 endif # filter -sbfast -xsbfast
 321 
 322 
 323 DEST_SUBDIR        = $(JDK_LIBDIR)/$(VM_SUBDIR)
 324 DEST_JVM           = $(DEST_SUBDIR)/$(LIBJVM)
 325 DEST_JVM_DEBUGINFO = $(DEST_SUBDIR)/$(LIBJVM_DEBUGINFO)
 326 DEST_JVM_DIZ       = $(DEST_SUBDIR)/$(LIBJVM_DIZ)