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) |