make/solaris/makefiles/vm.make

Print this page




 132 endif # sparcWorks
 133 
 134 ifeq ("${Platform_arch}", "sparc")
 135 LIBS += -lkstat
 136 endif
 137 
 138 # By default, link the *.o into the library, not the executable.
 139 LINK_INTO$(LINK_INTO) = LIBJVM
 140 
 141 JDK_LIBDIR = $(JAVA_HOME)/jre/lib/$(LIBARCH)
 142 
 143 #----------------------------------------------------------------------
 144 # jvm_db & dtrace
 145 include $(MAKEFILES_DIR)/dtrace.make
 146 
 147 #----------------------------------------------------------------------
 148 # add_gnu_debuglink tool
 149 include $(MAKEFILES_DIR)/add_gnu_debuglink.make
 150 
 151 #----------------------------------------------------------------------




 152 # JVM
 153 
 154 JVM      = jvm
 155 LIBJVM   = lib$(JVM).so
 156 LIBJVM_G = lib$(JVM)$(G_SUFFIX).so
 157 
 158 LIBJVM_DEBUGINFO   = lib$(JVM).debuginfo
 159 LIBJVM_DIZ         = lib$(JVM).diz
 160 LIBJVM_G_DEBUGINFO = lib$(JVM)$(G_SUFFIX).debuginfo
 161 LIBJVM_G_DIZ       = lib$(JVM)$(G_SUFFIX).diz
 162 
 163 SPECIAL_PATHS:=adlc c1 dist gc_implementation opto shark libadt
 164 
 165 SOURCE_PATHS=\
 166   $(shell find $(HS_COMMON_SRC)/share/vm/* -type d \! \
 167       \( -name DUMMY $(foreach dir,$(SPECIAL_PATHS),-o -name $(dir)) \))
 168 SOURCE_PATHS+=$(HS_COMMON_SRC)/os/$(Platform_os_family)/vm
 169 SOURCE_PATHS+=$(HS_COMMON_SRC)/os/posix/vm
 170 SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm
 171 SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_arch)/vm


 263   LIBJVM_MAPFILE$(LDNOMAP) = mapfile_reorder
 264   LFLAGS_VM$(LDNOMAP)      += $(MAPFLAG:FILENAME=$(LIBJVM_MAPFILE))
 265   LFLAGS_VM                += $(SONAMEFLAG:SONAME=$(LIBJVM))
 266 ifndef USE_GCC
 267   LIBS_VM                  = $(LIBS)
 268 else
 269   # JVM is statically linked with libgcc[_s] and libstdc++; this is needed to
 270   # get around library dependency and compatibility issues. Must use gcc not
 271   # g++ to link.
 272   LFLAGS_VM                += $(STATIC_LIBGCC)
 273   LIBS_VM                  += $(STATIC_STDCXX) $(LIBS)
 274 endif
 275 endif
 276 
 277 ifdef USE_GCC
 278 LINK_VM = $(LINK_LIB.CC)
 279 else
 280 LINK_VM = $(LINK_LIB.CXX)
 281 endif
 282 # making the library:
 283 $(LIBJVM): $(ADD_GNU_DEBUGLINK) $(LIBJVM.o) $(LIBJVM_MAPFILE) 
 284 ifeq ($(filter -sbfast -xsbfast, $(CFLAGS_BROWSE)),)
 285         @echo Linking vm...
 286         $(QUIETLY) $(LINK_LIB.CXX/PRE_HOOK)
 287         $(QUIETLY) $(LINK_VM) $(LFLAGS_VM) -o $@ $(LIBJVM.o) $(LIBS_VM)
 288         $(QUIETLY) $(LINK_LIB.CXX/POST_HOOK)
 289         $(QUIETLY) rm -f $@.1 && ln -s $@ $@.1
 290         $(QUIETLY) [ -f $(LIBJVM_G) ] || ln -s $@ $(LIBJVM_G)
 291         $(QUIETLY) [ -f $(LIBJVM_G).1 ] || ln -s $@.1 $(LIBJVM_G).1
 292 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)






 293         $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DEBUGINFO)
 294 # $(OBJCOPY) --add-gnu-debuglink=... corrupts the SUNW_dof section
 295 # in libjvm.so. Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY)
 296 # is available.
 297 #       $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DEBUGINFO) $@
 298         $(QUIETLY) $(ADD_GNU_DEBUGLINK) $(LIBJVM_DEBUGINFO) $@
 299   ifeq ($(STRIP_POLICY),all_strip)
 300         $(QUIETLY) $(STRIP) $@
 301   else
 302     ifeq ($(STRIP_POLICY),min_strip)
 303         $(QUIETLY) $(STRIP) -x $@
 304     # implied else here is no stripping at all
 305     endif
 306   endif
 307         $(QUIETLY) [ -f $(LIBJVM_G_DEBUGINFO) ] || ln -s $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO)
 308   ifeq ($(ZIP_DEBUGINFO_FILES),1)
 309         $(ZIPEXE) -q -y $(LIBJVM_DIZ) $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO)
 310         $(RM) $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO)
 311         [ -f $(LIBJVM_G_DIZ) ] || { ln -s $(LIBJVM_DIZ) $(LIBJVM_G_DIZ); }
 312   endif
 313 endif
 314 endif # filter -sbfast -xsbfast
 315 
 316 




 132 endif # sparcWorks
 133 
 134 ifeq ("${Platform_arch}", "sparc")
 135 LIBS += -lkstat
 136 endif
 137 
 138 # By default, link the *.o into the library, not the executable.
 139 LINK_INTO$(LINK_INTO) = LIBJVM
 140 
 141 JDK_LIBDIR = $(JAVA_HOME)/jre/lib/$(LIBARCH)
 142 
 143 #----------------------------------------------------------------------
 144 # jvm_db & dtrace
 145 include $(MAKEFILES_DIR)/dtrace.make
 146 
 147 #----------------------------------------------------------------------
 148 # add_gnu_debuglink tool
 149 include $(MAKEFILES_DIR)/add_gnu_debuglink.make
 150 
 151 #----------------------------------------------------------------------
 152 # fix_empty_sec_hdr_flags tool
 153 include $(MAKEFILES_DIR)/fix_empty_sec_hdr_flags.make
 154 
 155 #----------------------------------------------------------------------
 156 # JVM
 157 
 158 JVM      = jvm
 159 LIBJVM   = lib$(JVM).so
 160 LIBJVM_G = lib$(JVM)$(G_SUFFIX).so
 161 
 162 LIBJVM_DEBUGINFO   = lib$(JVM).debuginfo
 163 LIBJVM_DIZ         = lib$(JVM).diz
 164 LIBJVM_G_DEBUGINFO = lib$(JVM)$(G_SUFFIX).debuginfo
 165 LIBJVM_G_DIZ       = lib$(JVM)$(G_SUFFIX).diz
 166 
 167 SPECIAL_PATHS:=adlc c1 dist gc_implementation opto shark libadt
 168 
 169 SOURCE_PATHS=\
 170   $(shell find $(HS_COMMON_SRC)/share/vm/* -type d \! \
 171       \( -name DUMMY $(foreach dir,$(SPECIAL_PATHS),-o -name $(dir)) \))
 172 SOURCE_PATHS+=$(HS_COMMON_SRC)/os/$(Platform_os_family)/vm
 173 SOURCE_PATHS+=$(HS_COMMON_SRC)/os/posix/vm
 174 SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm
 175 SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_arch)/vm


 267   LIBJVM_MAPFILE$(LDNOMAP) = mapfile_reorder
 268   LFLAGS_VM$(LDNOMAP)      += $(MAPFLAG:FILENAME=$(LIBJVM_MAPFILE))
 269   LFLAGS_VM                += $(SONAMEFLAG:SONAME=$(LIBJVM))
 270 ifndef USE_GCC
 271   LIBS_VM                  = $(LIBS)
 272 else
 273   # JVM is statically linked with libgcc[_s] and libstdc++; this is needed to
 274   # get around library dependency and compatibility issues. Must use gcc not
 275   # g++ to link.
 276   LFLAGS_VM                += $(STATIC_LIBGCC)
 277   LIBS_VM                  += $(STATIC_STDCXX) $(LIBS)
 278 endif
 279 endif
 280 
 281 ifdef USE_GCC
 282 LINK_VM = $(LINK_LIB.CC)
 283 else
 284 LINK_VM = $(LINK_LIB.CXX)
 285 endif
 286 # making the library:
 287 $(LIBJVM): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(LIBJVM.o) $(LIBJVM_MAPFILE) 
 288 ifeq ($(filter -sbfast -xsbfast, $(CFLAGS_BROWSE)),)
 289         @echo Linking vm...
 290         $(QUIETLY) $(LINK_LIB.CXX/PRE_HOOK)
 291         $(QUIETLY) $(LINK_VM) $(LFLAGS_VM) -o $@ $(LIBJVM.o) $(LIBS_VM)
 292         $(QUIETLY) $(LINK_LIB.CXX/POST_HOOK)
 293         $(QUIETLY) rm -f $@.1 && ln -s $@ $@.1
 294         $(QUIETLY) [ -f $(LIBJVM_G) ] || ln -s $@ $(LIBJVM_G)
 295         $(QUIETLY) [ -f $(LIBJVM_G).1 ] || ln -s $@.1 $(LIBJVM_G).1
 296 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
 297 # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
 298 # Clear the SHF_ALLOC flag (if set) from empty section headers.
 299 # An empty section header has sh_addr == 0 and sh_size == 0.
 300 # This problem has only been seen on Solaris X64, but we call this tool
 301 # on all Solaris builds just in case.
 302         $(QUIETLY) $(FIX_EMPTY_SEC_HDR_FLAGS) $@
 303         $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DEBUGINFO)
 304 # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
 305 # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.

 306 #       $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DEBUGINFO) $@
 307         $(QUIETLY) $(ADD_GNU_DEBUGLINK) $(LIBJVM_DEBUGINFO) $@
 308   ifeq ($(STRIP_POLICY),all_strip)
 309         $(QUIETLY) $(STRIP) $@
 310   else
 311     ifeq ($(STRIP_POLICY),min_strip)
 312         $(QUIETLY) $(STRIP) -x $@
 313     # implied else here is no stripping at all
 314     endif
 315   endif
 316         $(QUIETLY) [ -f $(LIBJVM_G_DEBUGINFO) ] || ln -s $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO)
 317   ifeq ($(ZIP_DEBUGINFO_FILES),1)
 318         $(ZIPEXE) -q -y $(LIBJVM_DIZ) $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO)
 319         $(RM) $(LIBJVM_DEBUGINFO) $(LIBJVM_G_DEBUGINFO)
 320         [ -f $(LIBJVM_G_DIZ) ] || { ln -s $(LIBJVM_DIZ) $(LIBJVM_G_DIZ); }
 321   endif
 322 endif
 323 endif # filter -sbfast -xsbfast
 324 
 325