Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
45a902bd
D
dragonwell8_hotspot
项目概览
openanolis
/
dragonwell8_hotspot
通知
2
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_hotspot
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
45a902bd
编写于
9月 19, 2011
作者:
D
dcubed
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
0f3635ab
fc3d26ad
变更
21
隐藏空白更改
内联
并排
Showing
21 changed file
with
488 addition
and
35 deletion
+488
-35
make/Makefile
make/Makefile
+14
-0
make/linux/Makefile
make/linux/Makefile
+1
-0
make/linux/makefiles/build_vm_def.sh
make/linux/makefiles/build_vm_def.sh
+7
-3
make/linux/makefiles/buildtree.make
make/linux/makefiles/buildtree.make
+4
-0
make/linux/makefiles/defs.make
make/linux/makefiles/defs.make
+76
-1
make/linux/makefiles/gcc.make
make/linux/makefiles/gcc.make
+26
-0
make/linux/makefiles/jsig.make
make/linux/makefiles/jsig.make
+21
-2
make/linux/makefiles/product.make
make/linux/makefiles/product.make
+4
-7
make/linux/makefiles/saproc.make
make/linux/makefiles/saproc.make
+21
-2
make/linux/makefiles/vm.make
make/linux/makefiles/vm.make
+31
-3
make/solaris/Makefile
make/solaris/Makefile
+2
-1
make/solaris/makefiles/build_vm_def.sh
make/solaris/makefiles/build_vm_def.sh
+10
-0
make/solaris/makefiles/buildtree.make
make/solaris/makefiles/buildtree.make
+4
-0
make/solaris/makefiles/defs.make
make/solaris/makefiles/defs.make
+96
-1
make/solaris/makefiles/dtrace.make
make/solaris/makefiles/dtrace.make
+64
-1
make/solaris/makefiles/jsig.make
make/solaris/makefiles/jsig.make
+21
-2
make/solaris/makefiles/mapfile-vers
make/solaris/makefiles/mapfile-vers
+4
-1
make/solaris/makefiles/product.make
make/solaris/makefiles/product.make
+3
-2
make/solaris/makefiles/saproc.make
make/solaris/makefiles/saproc.make
+20
-1
make/solaris/makefiles/sparcWorks.make
make/solaris/makefiles/sparcWorks.make
+16
-2
make/solaris/makefiles/vm.make
make/solaris/makefiles/vm.make
+43
-6
未找到文件。
make/Makefile
浏览文件 @
45a902bd
...
...
@@ -346,6 +346,20 @@ $(EXPORT_SERVER_DIR)/%.so: $(C2_DIR)/%.so
$
(
install-file
)
$(EXPORT_SERVER_DIR)/64/%.so
:
$(C2_DIR)/%.so
$
(
install-file
)
# Debug info for shared library
$(EXPORT_JRE_LIB_ARCH_DIR)/%.debuginfo
:
$(C1_DIR)/%.debuginfo
$
(
install-file
)
$(EXPORT_JRE_LIB_ARCH_DIR)/%.debuginfo
:
$(C2_DIR)/%.debuginfo
$
(
install-file
)
$(EXPORT_CLIENT_DIR)/%.debuginfo
:
$(C1_DIR)/%.debuginfo
$
(
install-file
)
$(EXPORT_CLIENT_DIR)/64/%.debuginfo
:
$(C1_DIR)/%.debuginfo
$
(
install-file
)
$(EXPORT_SERVER_DIR)/%.debuginfo
:
$(C2_DIR)/%.debuginfo
$
(
install-file
)
$(EXPORT_SERVER_DIR)/64/%.debuginfo
:
$(C2_DIR)/%.debuginfo
$
(
install-file
)
endif
endif
...
...
make/linux/Makefile
浏览文件 @
45a902bd
...
...
@@ -210,6 +210,7 @@ TARGETS_SHARK = $(addsuffix shark,$(TARGETS))
BUILDTREE_MAKE
=
$(GAMMADIR)
/make/
$(OSNAME)
/makefiles/buildtree.make
BUILDTREE_VARS
=
GAMMADIR
=
$(GAMMADIR)
OS_FAMILY
=
$(OSNAME)
SRCARCH
=
$(SRCARCH)
BUILDARCH
=
$(BUILDARCH)
LIBARCH
=
$(LIBARCH)
BUILDTREE_VARS
+=
HOTSPOT_RELEASE_VERSION
=
$(HOTSPOT_RELEASE_VERSION)
HOTSPOT_BUILD_VERSION
=
$(HOTSPOT_BUILD_VERSION)
JRE_RELEASE_VERSION
=
$(JRE_RELEASE_VERSION)
BUILDTREE_VARS
+=
OBJCOPY
=
$(OBJCOPY)
STRIP_POLICY
=
$(STRIP_POLICY)
BUILDTREE
=
$(MAKE)
-f
$(BUILDTREE_MAKE)
$(BUILDTREE_VARS)
...
...
make/linux/makefiles/build_vm_def.sh
浏览文件 @
45a902bd
...
...
@@ -7,6 +7,10 @@ else
NM
=
nm
fi
$NM
--defined-only
$*
|
awk
'
{ if ($3 ~ /^_ZTV/ || $3 ~ /^gHotSpotVM/) print "\t" $3 ";" }
'
$NM
--defined-only
$*
\
|
awk
'{
if ($3 ~ /^_ZTV/ || $3 ~ /^gHotSpotVM/) print "\t" $3 ";"
if ($3 ~ /^UseSharedSpaces$/) print "\t" $3 ";"
if ($3 ~ /^_ZN9Arguments17SharedArchivePathE$/) print "\t" $3 ";"
}'
\
|
sort
-u
make/linux/makefiles/buildtree.make
浏览文件 @
45a902bd
...
...
@@ -233,6 +233,10 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
echo
"
$(
call
gamma-path,commonsrc,os/posix/vm
)
"
;
\
[
-n
"
$(CFLAGS_BROWSE)
"
]
&&
\
echo
&&
echo
"CFLAGS_BROWSE =
$(CFLAGS_BROWSE)
"
;
\
[
-n
"
$(OBJCOPY)
"
]
&&
\
echo
&&
echo
"OBJCOPY =
$(OBJCOPY)
"
;
\
[
-n
"
$(STRIP_POLICY)
"
]
&&
\
echo
&&
echo
"STRIP_POLICY =
$(STRIP_POLICY)
"
;
\
[
-n
"
$(HOTSPOT_EXTRA_SYSDEFS)
"
]
&&
\
echo
&&
\
echo
"HOTSPOT_EXTRA_SYSDEFS
\$
$(HOTSPOT_EXTRA_SYSDEFS)
=
$(HOTSPOT_EXTRA_SYSDEFS)
"
&&
\
...
...
make/linux/makefiles/defs.make
浏览文件 @
45a902bd
#
# Copyright (c) 2006, 201
0
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2006, 201
1
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
...
...
@@ -114,6 +114,67 @@ ifeq ($(ARCH), ppc)
HS_ARCH
=
ppc
endif
# determine if HotSpot is being built in JDK6 or earlier version
JDK6_OR_EARLIER
=
0
ifeq
"$(shell expr \( '$(JDK_MAJOR_VERSION)' != '' \& '$(JDK_MINOR_VERSION)' != '' \& '$(JDK_MICRO_VERSION)' != '' \))" "1"
# if the longer variable names (newer build style) are set, then check those
ifeq
"$(shell expr \( $(JDK_MAJOR_VERSION) = 1 \& $(JDK_MINOR_VERSION) \< 7 \))" "1"
JDK6_OR_EARLIER
=
1
endif
else
# the longer variables aren't set so check the shorter variable names
ifeq
"$(shell expr \( '$(JDK_MAJOR_VER)' = 1 \& '$(JDK_MINOR_VER)' \< 7 \))" "1"
JDK6_OR_EARLIER
=
1
endif
endif
ifeq
($(JDK6_OR_EARLIER),0)
# Full Debug Symbols is supported on JDK7 or newer
# Default OBJCOPY comes from GNU Binutils on Linux:
DEF_OBJCOPY
=
/usr/bin/objcopy
ifdef
CROSS_COMPILE_ARCH
# don't try to generate .debuginfo files when cross compiling
_JUNK_
:=
$(
shell
\
echo
>
&2
"INFO: cross compiling for ARCH
$(CROSS_COMPILE_ARCH)
,"
\
"skipping .debuginfo generation."
)
OBJCOPY
=
else
OBJCOPY
=
$(
shell
test
-x
$(DEF_OBJCOPY)
&&
echo
$(DEF_OBJCOPY)
)
ifneq
($(ALT_OBJCOPY),)
_JUNK_
:=
$(
shell
echo
>
&2
"INFO: ALT_OBJCOPY=
$(ALT_OBJCOPY)
"
)
# disable .debuginfo support by setting ALT_OBJCOPY to a non-existent path
OBJCOPY
=
$(
shell
test
-x
$(ALT_OBJCOPY)
&&
echo
$(ALT_OBJCOPY)
)
endif
endif
ifeq
($(OBJCOPY),)
_JUNK_
:=
$(
shell
\
echo
>
&2
"INFO: no objcopy cmd found so cannot create .debuginfo files."
)
else
_JUNK_
:=
$(
shell
\
echo
>
&2
"INFO:
$(OBJCOPY)
cmd found so will create .debuginfo files."
)
# Library stripping policies for .debuginfo configs:
# all_strip - strips everything from the library
# min_strip - strips most stuff from the library; leaves minimum symbols
# no_strip - does not strip the library at all
#
# Oracle security policy requires "all_strip". A waiver was granted on
# 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
#
DEF_STRIP_POLICY
=
"min_strip"
ifeq
($(ALT_STRIP_POLICY),)
STRIP_POLICY
=
$(DEF_STRIP_POLICY)
else
STRIP_POLICY
=
$(ALT_STRIP_POLICY)
endif
_JUNK_
:=
$(
shell
\
echo
>
&2
"INFO: STRIP_POLICY=
$(STRIP_POLICY)
"
)
endif
endif
JDK_INCLUDE_SUBDIR
=
linux
# FIXUP: The subdirectory for a debug build is NOT the same on all platforms
...
...
@@ -123,18 +184,28 @@ EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html
# client and server subdirectories have symbolic links to ../libjsig.so
EXPORT_LIST
+=
$(EXPORT_JRE_LIB_ARCH_DIR)
/libjsig.so
ifneq
($(OBJCOPY),)
EXPORT_LIST
+=
$(EXPORT_JRE_LIB_ARCH_DIR)
/libjsig.debuginfo
endif
EXPORT_SERVER_DIR
=
$(EXPORT_JRE_LIB_ARCH_DIR)
/server
EXPORT_CLIENT_DIR
=
$(EXPORT_JRE_LIB_ARCH_DIR)
/client
ifndef
BUILD_CLIENT_ONLY
EXPORT_LIST
+=
$(EXPORT_SERVER_DIR)
/Xusage.txt
EXPORT_LIST
+=
$(EXPORT_SERVER_DIR)
/libjvm.so
ifneq
($(OBJCOPY),)
EXPORT_LIST
+=
$(EXPORT_SERVER_DIR)
/libjvm.debuginfo
endif
endif
ifneq
($(ZERO_BUILD), true)
ifeq
($(ARCH_DATA_MODEL), 32)
EXPORT_LIST
+=
$(EXPORT_CLIENT_DIR)
/Xusage.txt
EXPORT_LIST
+=
$(EXPORT_CLIENT_DIR)
/libjvm.so
ifneq
($(OBJCOPY),)
EXPORT_LIST
+=
$(EXPORT_CLIENT_DIR)
/libjvm.debuginfo
endif
endif
endif
...
...
@@ -144,6 +215,10 @@ ADD_SA_BINARIES/x86 = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.so \
$(EXPORT_LIB_DIR)
/sa-jdi.jar
ADD_SA_BINARIES/
sparc
=
$(EXPORT_JRE_LIB_ARCH_DIR)
/libsaproc.so
\
$(EXPORT_LIB_DIR)
/sa-jdi.jar
ifneq
($(OBJCOPY),)
ADD_SA_BINARIES/
x86
+=
$(EXPORT_JRE_LIB_ARCH_DIR)
/libsaproc.debuginfo
ADD_SA_BINARIES/
sparc
+=
$(EXPORT_JRE_LIB_ARCH_DIR)
/libsaproc.debuginfo
endif
ADD_SA_BINARIES/
ppc
=
ADD_SA_BINARIES/
ia64
=
ADD_SA_BINARIES/
arm
=
...
...
make/linux/makefiles/gcc.make
浏览文件 @
45a902bd
...
...
@@ -225,6 +225,26 @@ ifeq ($(DEBUG_CFLAGS/$(BUILDARCH)),)
DEBUG_CFLAGS
+=
-gstabs
endif
ifneq
($(OBJCOPY),)
FASTDEBUG_CFLAGS/
ia64
=
-g
FASTDEBUG_CFLAGS/
amd64
=
-g
FASTDEBUG_CFLAGS/
arm
=
-g
FASTDEBUG_CFLAGS/
ppc
=
-g
FASTDEBUG_CFLAGS
+=
$
(
DEBUG_CFLAGS/
$(BUILDARCH)
)
ifeq
($(FASTDEBUG_CFLAGS/$(BUILDARCH)),)
FASTDEBUG_CFLAGS
+=
-gstabs
endif
OPT_CFLAGS/
ia64
=
-g
OPT_CFLAGS/
amd64
=
-g
OPT_CFLAGS/
arm
=
-g
OPT_CFLAGS/
ppc
=
-g
OPT_CFLAGS
+=
$
(
OPT_CFLAGS/
$(BUILDARCH)
)
ifeq
($(OPT_CFLAGS/$(BUILDARCH)),)
OPT_CFLAGS
+=
-gstabs
endif
endif
# DEBUG_BINARIES overrides everything, use full -g debug information
ifeq
($(DEBUG_BINARIES), true)
DEBUG_CFLAGS
=
-g
...
...
@@ -242,3 +262,9 @@ endif
ifdef
MINIMIZE_RAM_USAGE
CFLAGS
+=
-DMINIMIZE_RAM_USAGE
endif
ifdef
CROSS_COMPILE_ARCH
STRIP
=
$(ALT_COMPILER_PATH)
/strip
else
STRIP
=
strip
endif
make/linux/makefiles/jsig.make
浏览文件 @
45a902bd
#
# Copyright (c) 2005, 20
09
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2005, 20
11
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
...
...
@@ -31,9 +31,13 @@ LIBJSIG = lib$(JSIG).so
JSIG_G
=
$(JSIG)$(G_SUFFIX)
LIBJSIG_G
=
lib
$(JSIG_G)
.so
LIBJSIG_DEBUGINFO
=
lib
$(JSIG)
.debuginfo
LIBJSIG_G_DEBUGINFO
=
lib
$(JSIG_G)
.debuginfo
JSIGSRCDIR
=
$(GAMMADIR)
/src/os/
$(Platform_os_family)
/vm
DEST_JSIG
=
$(JDK_LIBDIR)
/
$(LIBJSIG)
DEST_JSIG
=
$(JDK_LIBDIR)
/
$(LIBJSIG)
DEST_JSIG_DEBUGINFO
=
$(JDK_LIBDIR)
/
$(LIBJSIG_DEBUGINFO)
LIBJSIG_MAPFILE
=
$(MAKEFILES_DIR)
/mapfile-vers-jsig
...
...
@@ -54,9 +58,24 @@ $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
$(QUIETLY)
$(CC)
$(SYMFLAG)
$(ARCHFLAG)
$(SHARED_FLAG)
$(PICFLAG)
\
$(LFLAGS_JSIG)
$(JSIG_DEBUG_CFLAGS)
-o
$@
$<
-ldl
$(QUIETLY)
[
-f
$(LIBJSIG_G)
]
||
{
ln
-s
$@
$(LIBJSIG_G)
;
}
ifneq
($(OBJCOPY),)
$(QUIETLY)
$(OBJCOPY)
--only-keep-debug
$@
$(LIBJSIG_DEBUGINFO)
$(QUIETLY)
$(OBJCOPY)
--add-gnu-debuglink
=
$(LIBJSIG_DEBUGINFO)
$@
ifeq
($(STRIP_POLICY),all_strip)
$(QUIETLY)
$(STRIP)
$@
else
ifeq
($(STRIP_POLICY),min_strip)
$(QUIETLY)
$(STRIP)
-g
$@
# implied else here is no stripping at all
endif
endif
[
-f
$(LIBJSIG_G_DEBUGINFO)
]
||
{
ln
-s
$(LIBJSIG_DEBUGINFO)
$(LIBJSIG_G_DEBUGINFO);
}
endif
install_jsig
:
$(LIBJSIG)
@
echo
"Copying
$(LIBJSIG)
to
$(DEST_JSIG)
"
$(QUIETLY)
test
-f
$(LIBJSIG_DEBUGINFO)
&&
\
cp
-f
$(LIBJSIG_DEBUGINFO)
$(DEST_JSIG_DEBUGINFO)
$(QUIETLY)
cp
-f
$(LIBJSIG)
$(DEST_JSIG)
&&
echo
"Done"
.PHONY
:
install_jsig
make/linux/makefiles/product.make
浏览文件 @
45a902bd
#
# Copyright (c) 1999, 201
0
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 1999, 201
1
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
...
...
@@ -46,13 +46,10 @@ VERSION = optimized
# use -g to strip library as -x will discard its symbol table; -x is fine for
# executables.
ifdef
CROSS_COMPILE_ARCH
STRIP
=
$(ALT_COMPILER_PATH)
/strip
else
STRIP
=
strip
endif
# Note: these macros are not used in .debuginfo configs
STRIP_LIBJVM
=
$(STRIP)
-g
$@
||
exit
1
;
STRIP_AOUT
=
$(STRIP)
-x
$@
||
exit
1
;
# Don't strip in VM build; JDK build will strip libraries later
# If we can create .debuginfo files, then the VM is stripped in vm.make
# and this macro is not used.
# LINK_LIB.CC/POST_HOOK += $(STRIP_$(LINK_INTO))
make/linux/makefiles/saproc.make
浏览文件 @
45a902bd
#
# Copyright (c) 2005, 201
0
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2005, 201
1
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
...
...
@@ -32,6 +32,9 @@ LIBSAPROC = lib$(SAPROC).so
SAPROC_G
=
$(SAPROC)$(G_SUFFIX)
LIBSAPROC_G
=
lib
$(SAPROC_G)
.so
LIBSAPROC_DEBUGINFO
=
lib
$(SAPROC)
.debuginfo
LIBSAPROC_G_DEBUGINFO
=
lib
$(SAPROC_G)
.debuginfo
AGENT_DIR
=
$(GAMMADIR)
/agent
SASRCDIR
=
$(AGENT_DIR)
/src/os/
$(Platform_os_family)
...
...
@@ -45,7 +48,8 @@ SASRCFILES = $(SASRCDIR)/salibelf.c \
SAMAPFILE
=
$(SASRCDIR)
/mapfile
DEST_SAPROC
=
$(JDK_LIBDIR)
/
$(LIBSAPROC)
DEST_SAPROC
=
$(JDK_LIBDIR)
/
$(LIBSAPROC)
DEST_SAPROC_DEBUGINFO
=
$(JDK_LIBDIR)
/
$(LIBSAPROC_DEBUGINFO)
# DEBUG_BINARIES overrides everything, use full -g debug information
ifeq
($(DEBUG_BINARIES), true)
...
...
@@ -82,10 +86,25 @@ $(LIBSAPROC): $(SASRCFILES) $(SAMAPFILE)
-o
$@
\
-lthread_db
$(QUIETLY)
[
-f
$(LIBSAPROC_G)
]
||
{
ln
-s
$@
$(LIBSAPROC_G)
;
}
ifneq
($(OBJCOPY),)
$(QUIETLY)
$(OBJCOPY)
--only-keep-debug
$@
$(LIBSAPROC_DEBUGINFO)
$(QUIETLY)
$(OBJCOPY)
--add-gnu-debuglink
=
$(LIBSAPROC_DEBUGINFO)
$@
ifeq
($(STRIP_POLICY),all_strip)
$(QUIETLY)
$(STRIP)
$@
else
ifeq
($(STRIP_POLICY),min_strip)
$(QUIETLY)
$(STRIP)
-g
$@
# implied else here is no stripping at all
endif
endif
[
-f
$(LIBSAPROC_G_DEBUGINFO)
]
||
{
ln
-s
$(LIBSAPROC_DEBUGINFO)
$(LIBSAPROC_G_DEBUGINFO);
}
endif
install_saproc
:
$(BUILDLIBSAPROC)
$(QUIETLY)
if
[
-e
$(LIBSAPROC)
]
;
then
\
echo
"Copying
$(LIBSAPROC)
to
$(DEST_SAPROC)
"
;
\
test
-f
$(LIBSAPROC_DEBUGINFO)
&&
\
cp
-f
$(LIBSAPROC_DEBUGINFO)
$(DEST_SAPROC_DEBUGINFO)
;
\
cp
-f
$(LIBSAPROC)
$(DEST_SAPROC)
&&
echo
"Done"
;
\
fi
...
...
make/linux/makefiles/vm.make
浏览文件 @
45a902bd
...
...
@@ -60,10 +60,16 @@ Src_Dirs_I += $(GENERATED)
# The order is important for the precompiled headers to work.
INCLUDES
+=
$
(
PRECOMPILED_HEADER_DIR:%
=
-I
%
)
$
(
Src_Dirs_I:%
=
-I
%
)
ifeq
(${VERSION}, debug)
# SYMFLAG is used by {jsig,saproc}.make
ifneq
($(OBJCOPY),)
# always build with debug info when we can create .debuginfo files
SYMFLAG
=
-g
else
SYMFLAG
=
ifeq
(${VERSION}, debug)
SYMFLAG
=
-g
else
SYMFLAG
=
endif
endif
# HOTSPOT_RELEASE_VERSION and HOTSPOT_BUILD_VERSION are defined
...
...
@@ -124,6 +130,9 @@ JVM = jvm
LIBJVM
=
lib
$(JVM)
.so
LIBJVM_G
=
lib
$(JVM)$(G_SUFFIX)
.so
LIBJVM_DEBUGINFO
=
lib
$(JVM)
.debuginfo
LIBJVM_G_DEBUGINFO
=
lib
$(JVM)$(G_SUFFIX)
.debuginfo
SPECIAL_PATHS
:=
adlc c1 gc_implementation opto shark libadt
SOURCE_PATHS
=
\
...
...
@@ -307,11 +316,30 @@ $(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) $(LD_SCRIPT)
fi
\
fi
\
}
ifeq
($(CROSS_COMPILE_ARCH),)
ifneq
($(OBJCOPY),)
$(QUIETLY)
$(OBJCOPY)
--only-keep-debug
$@
$(LIBJVM_DEBUGINFO)
$(QUIETLY)
$(OBJCOPY)
--add-gnu-debuglink
=
$(LIBJVM_DEBUGINFO)
$@
ifeq
($(STRIP_POLICY),all_strip)
$(QUIETLY)
$(STRIP)
$@
else
ifeq
($(STRIP_POLICY),min_strip)
$(QUIETLY)
$(STRIP)
-g
$@
# implied else here is no stripping at all
endif
endif
$(QUIETLY)
[
-f
$(LIBJVM_G_DEBUGINFO)
]
||
ln
-s
$(LIBJVM_DEBUGINFO)
$(LIBJVM_G_DEBUGINFO)
endif
endif
DEST_JVM
=
$(JDK_LIBDIR)
/
$(VM_SUBDIR)
/
$(LIBJVM)
DEST_SUBDIR
=
$(JDK_LIBDIR)
/
$(VM_SUBDIR)
DEST_JVM
=
$(DEST_SUBDIR)
/
$(LIBJVM)
DEST_JVM_DEBUGINFO
=
$(DEST_SUBDIR)
/
$(LIBJVM_DEBUGINFO)
install_jvm
:
$(LIBJVM)
@
echo
"Copying
$(LIBJVM)
to
$(DEST_JVM)
"
$(QUIETLY)
test
-f
$(LIBJVM_DEBUGINFO)
&&
\
cp
-f
$(LIBJVM_DEBUGINFO)
$(DEST_JVM_DEBUGINFO)
$(QUIETLY)
cp
-f
$(LIBJVM)
$(DEST_JVM)
&&
echo
"Done"
#----------------------------------------------------------------------
...
...
make/solaris/Makefile
浏览文件 @
45a902bd
#
# Copyright (c) 1998, 201
0
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 1998, 201
1
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
...
...
@@ -168,6 +168,7 @@ TARGETS_KERNEL = $(addsuffix kernel,$(TARGETS))
BUILDTREE_MAKE
=
$(GAMMADIR)
/make/
$(OSNAME)
/makefiles/buildtree.make
BUILDTREE_VARS
=
GAMMADIR
=
$(GAMMADIR)
OS_FAMILY
=
$(OSNAME)
ARCH
=
$(SRCARCH)
BUILDARCH
=
$(BUILDARCH)
LIBARCH
=
$(LIBARCH)
BUILDTREE_VARS
+=
HOTSPOT_RELEASE_VERSION
=
$(HOTSPOT_RELEASE_VERSION)
HOTSPOT_BUILD_VERSION
=
$(HOTSPOT_BUILD_VERSION)
JRE_RELEASE_VERSION
=
$(JRE_RELEASE_VERSION)
BUILDTREE_VARS
+=
OBJCOPY
=
$(OBJCOPY)
STRIP_POLICY
=
$(STRIP_POLICY)
BUILDTREE
=
$(MAKE)
-f
$(BUILDTREE_MAKE)
$(BUILDTREE_VARS)
...
...
make/solaris/makefiles/build_vm_def.sh
0 → 100644
浏览文件 @
45a902bd
#!/bin/sh
/usr/ccs/bin/nm
-p
$*
\
|
awk
'{
if ($2 == "U") next
if ($3 ~ /^__1c.*__vtbl_$/ || $3 ~ /^gHotSpotVM/) print "\t" $3 ";"
if ($3 ~ /^UseSharedSpaces$/) print "\t" $3 ";"
if ($3 ~ /^__1cJArgumentsRSharedArchivePath_$/) print "\t" $3 ";"
}'
\
|
sort
-u
make/solaris/makefiles/buildtree.make
浏览文件 @
45a902bd
...
...
@@ -226,6 +226,10 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
echo
"
$(
call
gamma-path,commonsrc,os/posix/vm
)
"
;
\
[
-n
"
$(CFLAGS_BROWSE)
"
]
&&
\
echo
&&
echo
"CFLAGS_BROWSE =
$(CFLAGS_BROWSE)
"
;
\
[
-n
"
$(OBJCOPY)
"
]
&&
\
echo
&&
echo
"OBJCOPY =
$(OBJCOPY)
"
;
\
[
-n
"
$(STRIP_POLICY)
"
]
&&
\
echo
&&
echo
"STRIP_POLICY =
$(STRIP_POLICY)
"
;
\
[
-n
"
$(HOTSPOT_EXTRA_SYSDEFS)
"
]
&&
\
echo
&&
\
echo
"HOTSPOT_EXTRA_SYSDEFS
\$
$(HOTSPOT_EXTRA_SYSDEFS)
=
$(HOTSPOT_EXTRA_SYSDEFS)
"
&&
\
...
...
make/solaris/makefiles/defs.make
浏览文件 @
45a902bd
#
# Copyright (c) 2006, 201
0
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2006, 201
1
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
...
...
@@ -59,6 +59,79 @@ else
endif
endif
# determine if HotSpot is being built in JDK6 or earlier version
JDK6_OR_EARLIER
=
0
ifeq
"$(shell expr \( '$(JDK_MAJOR_VERSION)' != '' \& '$(JDK_MINOR_VERSION)' != '' \& '$(JDK_MICRO_VERSION)' != '' \))" "1"
# if the longer variable names (newer build style) are set, then check those
ifeq
"$(shell expr \( $(JDK_MAJOR_VERSION) = 1 \& $(JDK_MINOR_VERSION) \< 7 \))" "1"
JDK6_OR_EARLIER
=
1
endif
else
# the longer variables aren't set so check the shorter variable names
ifeq
"$(shell expr \( '$(JDK_MAJOR_VER)' = 1 \& '$(JDK_MINOR_VER)' \< 7 \))" "1"
JDK6_OR_EARLIER
=
1
endif
endif
ifeq
($(JDK6_OR_EARLIER),0)
# Full Debug Symbols is supported on JDK7 or newer
ifdef
ENABLE_FULL_DEBUG_SYMBOLS
# Only check for Full Debug Symbols support on Solaris if it is
# specifically enabled. Hopefully, it can be enabled by default
# once the .debuginfo size issues are worked out.
# Default OBJCOPY comes from the SUNWbinutils package:
DEF_OBJCOPY
=
/usr/sfw/bin/gobjcopy
ifeq
($(VM_PLATFORM),solaris_amd64)
# On Solaris AMD64/X64, gobjcopy is not happy and fails:
#
# usr/sfw/bin/gobjcopy --add-gnu-debuglink=<lib>.debuginfo <lib>.so
# BFD: stKPaiop: Not enough room for program headers, try linking with -N
# /usr/sfw/bin/gobjcopy: stKPaiop: Bad value
# BFD: stKPaiop: Not enough room for program headers, try linking with -N
# /usr/sfw/bin/gobjcopy: libsaproc.debuginfo: Bad value
# BFD: stKPaiop: Not enough room for program headers, try linking with -N
# /usr/sfw/bin/gobjcopy: stKPaiop: Bad value
_JUNK_
:=
$(
shell
\
echo
>
&2
"INFO:
$(DEF_OBJCOPY)
is not working on Solaris AMD64/X64"
)
OBJCOPY
=
else
OBJCOPY
=
$(
shell
test
-x
$(DEF_OBJCOPY)
&&
echo
$(DEF_OBJCOPY)
)
ifneq
($(ALT_OBJCOPY),)
_JUNK_
:=
$(
shell
echo
>
&2
"INFO: ALT_OBJCOPY=
$(ALT_OBJCOPY)
"
)
# disable .debuginfo support by setting ALT_OBJCOPY to a non-existent path
OBJCOPY
=
$(
shell
test
-x
$(ALT_OBJCOPY)
&&
echo
$(ALT_OBJCOPY)
)
endif
endif
endif
ifeq
($(OBJCOPY),)
_JUNK_
:=
$(
shell
\
echo
>
&2
"INFO: no objcopy cmd found so cannot create .debuginfo files."
)
else
_JUNK_
:=
$(
shell
\
echo
>
&2
"INFO:
$(OBJCOPY)
cmd found so will create .debuginfo files."
)
# Library stripping policies for .debuginfo configs:
# all_strip - strips everything from the library
# min_strip - strips most stuff from the library; leaves minimum symbols
# no_strip - does not strip the library at all
#
# Oracle security policy requires "all_strip". A waiver was granted on
# 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
#
DEF_STRIP_POLICY
=
"min_strip"
ifeq
($(ALT_STRIP_POLICY),)
STRIP_POLICY
=
$(DEF_STRIP_POLICY)
else
STRIP_POLICY
=
$(ALT_STRIP_POLICY)
endif
_JUNK_
:=
$(
shell
\
echo
>
&2
"INFO: STRIP_POLICY=
$(STRIP_POLICY)
"
)
endif
endif
JDK_INCLUDE_SUBDIR
=
solaris
# FIXUP: The subdirectory for a debug build is NOT the same on all platforms
...
...
@@ -68,6 +141,9 @@ EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html
# client and server subdirectories have symbolic links to ../libjsig.so
EXPORT_LIST
+=
$(EXPORT_JRE_LIB_ARCH_DIR)
/libjsig.so
ifneq
($(OBJCOPY),)
EXPORT_LIST
+=
$(EXPORT_JRE_LIB_ARCH_DIR)
/libjsig.debuginfo
endif
EXPORT_SERVER_DIR
=
$(EXPORT_JRE_LIB_ARCH_DIR)
/server
EXPORT_CLIENT_DIR
=
$(EXPORT_JRE_LIB_ARCH_DIR)
/client
...
...
@@ -77,6 +153,11 @@ EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
EXPORT_LIST
+=
$(EXPORT_SERVER_DIR)
/libjvm.so
EXPORT_LIST
+=
$(EXPORT_SERVER_DIR)
/libjvm_db.so
EXPORT_LIST
+=
$(EXPORT_SERVER_DIR)
/libjvm_dtrace.so
ifneq
($(OBJCOPY),)
EXPORT_LIST
+=
$(EXPORT_SERVER_DIR)
/libjvm.debuginfo
EXPORT_LIST
+=
$(EXPORT_SERVER_DIR)
/libjvm_db.debuginfo
EXPORT_LIST
+=
$(EXPORT_SERVER_DIR)
/libjvm_dtrace.debuginfo
endif
endif
ifeq
($(ARCH_DATA_MODEL), 32)
EXPORT_LIST
+=
$(EXPORT_CLIENT_DIR)
/Xusage.txt
...
...
@@ -85,11 +166,25 @@ ifeq ($(ARCH_DATA_MODEL), 32)
EXPORT_LIST
+=
$(EXPORT_CLIENT_DIR)
/libjvm_dtrace.so
EXPORT_LIST
+=
$(EXPORT_CLIENT_DIR)
/64/libjvm_db.so
EXPORT_LIST
+=
$(EXPORT_CLIENT_DIR)
/64/libjvm_dtrace.so
ifneq
($(OBJCOPY),)
EXPORT_LIST
+=
$(EXPORT_CLIENT_DIR)
/libjvm.debuginfo
EXPORT_LIST
+=
$(EXPORT_CLIENT_DIR)
/libjvm_db.debuginfo
EXPORT_LIST
+=
$(EXPORT_CLIENT_DIR)
/libjvm_dtrace.debuginfo
EXPORT_LIST
+=
$(EXPORT_CLIENT_DIR)
/64/libjvm_db.debuginfo
EXPORT_LIST
+=
$(EXPORT_CLIENT_DIR)
/64/libjvm_dtrace.debuginfo
endif
ifneq
($(BUILD_CLIENT_ONLY), true)
EXPORT_LIST
+=
$(EXPORT_SERVER_DIR)
/64/libjvm_db.so
EXPORT_LIST
+=
$(EXPORT_SERVER_DIR)
/64/libjvm_dtrace.so
ifneq
($(OBJCOPY),)
EXPORT_LIST
+=
$(EXPORT_SERVER_DIR)
/64/libjvm_db.debuginfo
EXPORT_LIST
+=
$(EXPORT_SERVER_DIR)
/64/libjvm_dtrace.debuginfo
endif
endif
endif
EXPORT_LIST
+=
$(EXPORT_JRE_LIB_ARCH_DIR)
/libsaproc.so
ifneq
($(OBJCOPY),)
EXPORT_LIST
+=
$(EXPORT_JRE_LIB_ARCH_DIR)
/libsaproc.debuginfo
endif
EXPORT_LIST
+=
$(EXPORT_LIB_DIR)
/sa-jdi.jar
make/solaris/makefiles/dtrace.make
浏览文件 @
45a902bd
#
# Copyright (c) 2005, 201
0
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2005, 201
1
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
...
...
@@ -41,10 +41,16 @@ JVM_DB = libjvm_db
LIBJVM_DB
=
libjvm_db.so
LIBJVM_DB_G
=
libjvm
$(G_SUFFIX)
_db.so
LIBJVM_DB_DEBUGINFO
=
libjvm_db.debuginfo
LIBJVM_DB_G_DEBUGINFO
=
libjvm
$(G_SUFFIX)
_db.debuginfo
JVM_DTRACE
=
jvm_dtrace
LIBJVM_DTRACE
=
libjvm_dtrace.so
LIBJVM_DTRACE_G
=
libjvm
$(G_SUFFIX)
_dtrace.so
LIBJVM_DTRACE_DEBUGINFO
=
libjvm_dtrace.debuginfo
LIBJVM_DTRACE_G_DEBUGINFO
=
libjvm
$(G_SUFFIX)
_dtrace.debuginfo
JVMOFFS
=
JvmOffsets
JVMOFFS.o
=
$(JVMOFFS)
.o
GENOFFS
=
generate
$(JVMOFFS)
...
...
@@ -89,12 +95,30 @@ XLIBJVM_DB_G = 64/$(LIBJVM_DB_G)
XLIBJVM_DTRACE
=
64/
$(LIBJVM_DTRACE)
XLIBJVM_DTRACE_G
=
64/
$(LIBJVM_DTRACE_G)
XLIBJVM_DB_DEBUGINFO
=
64/
$(LIBJVM_DB_DEBUGINFO)
XLIBJVM_DB_G_DEBUGINFO
=
64/
$(LIBJVM_DB_G_DEBUGINFO)
XLIBJVM_DTRACE_DEBUGINFO
=
64/
$(LIBJVM_DTRACE_DEBUGINFO)
XLIBJVM_DTRACE_G_DEBUGINFO
=
64/
$(LIBJVM_DTRACE_G_DEBUGINFO)
$(XLIBJVM_DB)
:
$(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS).h $(LIBJVM_DB_MAPFILE)
@
echo
Making
$@
$(QUIETLY)
mkdir
-p
64/
;
\
$(CC)
$(SYMFLAG)
$
(
ARCHFLAG/
$(ISA)
)
-D
$(TYPE)
-I
.
-I
$(GENERATED)
\
$(SHARED_FLAG)
$(LFLAGS_JVM_DB)
-o
$@
$(DTRACE_SRCDIR)
/
$(JVM_DB)
.c
-lc
[
-f
$(XLIBJVM_DB_G)
]
||
{
ln
-s
$(LIBJVM_DB)
$(XLIBJVM_DB_G)
;
}
ifneq
($(OBJCOPY),)
$(QUIETLY)
$(OBJCOPY)
--only-keep-debug
$@
$(XLIBJVM_DB_DEBUGINFO)
$(QUIETLY)
$(OBJCOPY)
--add-gnu-debuglink
=
$(XLIBJVM_DB_DEBUGINFO)
$@
ifeq
($(STRIP_POLICY),all_strip)
$(QUIETLY)
$(STRIP)
$@
else
ifeq
($(STRIP_POLICY),min_strip)
$(QUIETLY)
$(STRIP)
-x
$@
# implied else here is no stripping at all
endif
endif
[
-f
$(XLIBJVM_DB_G_DEBUGINFO)
]
||
{
ln
-s
$(LIBJVM_DB_DEBUGINFO)
$(XLIBJVM_DB_G_DEBUGINFO);
}
endif
$(XLIBJVM_DTRACE)
:
$(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE)
@
echo
Making
$@
...
...
@@ -102,6 +126,19 @@ $(XLIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(DTRACE_SRCDIR)/$(JVM_DTRAC
$(CC)
$(SYMFLAG)
$
(
ARCHFLAG/
$(ISA)
)
-D
$(TYPE)
-I
.
\
$(SHARED_FLAG)
$(LFLAGS_JVM_DTRACE)
-o
$@
$(DTRACE_SRCDIR)
/
$(JVM_DTRACE)
.c
-lc
-lthread
-ldoor
[
-f
$(XLIBJVM_DTRACE_G)
]
||
{
ln
-s
$(LIBJVM_DTRACE)
$(XLIBJVM_DTRACE_G)
;
}
ifneq
($(OBJCOPY),)
$(QUIETLY)
$(OBJCOPY)
--only-keep-debug
$@
$(XLIBJVM_DTRACE_DEBUGINFO)
$(QUIETLY)
$(OBJCOPY)
--add-gnu-debuglink
=
$(XLIBJVM_DTRACE_DEBUGINFO)
$@
ifeq
($(STRIP_POLICY),all_strip)
$(QUIETLY)
$(STRIP)
$@
else
ifeq
($(STRIP_POLICY),min_strip)
$(QUIETLY)
$(STRIP)
-x
$@
# implied else here is no stripping at all
endif
endif
[
-f
$(XLIBJVM_DTRACE_G_DEBUGINFO)
]
||
{
ln
-s
$(LIBJVM_DTRACE_DEBUGINFO)
$(XLIBJVM_DTRACE_G_DEBUGINFO);
}
endif
endif
# ifneq ("${ISA}","${BUILDARCH}")
...
...
@@ -148,12 +185,38 @@ $(LIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS.o) $(XLIBJVM_DB) $(LIBJVM_D
$(QUIETLY)
$(CC)
$(SYMFLAG)
$(ARCHFLAG)
-D
$(TYPE)
-I
.
-I
$(GENERATED)
\
$(SHARED_FLAG)
$(LFLAGS_JVM_DB)
-o
$@
$(DTRACE_SRCDIR)
/
$(JVM_DB)
.c
-lc
[
-f
$(LIBJVM_DB_G)
]
||
{
ln
-s
$@
$(LIBJVM_DB_G)
;
}
ifneq
($(OBJCOPY),)
$(QUIETLY)
$(OBJCOPY)
--only-keep-debug
$@
$(LIBJVM_DB_DEBUGINFO)
$(QUIETLY)
$(OBJCOPY)
--add-gnu-debuglink
=
$(LIBJVM_DB_DEBUGINFO)
$@
ifeq
($(STRIP_POLICY),all_strip)
$(QUIETLY)
$(STRIP)
$@
else
ifeq
($(STRIP_POLICY),min_strip)
$(QUIETLY)
$(STRIP)
-x
$@
# implied else here is no stripping at all
endif
endif
[
-f
$(LIBJVM_DB_G_DEBUGINFO)
]
||
{
ln
-s
$(LIBJVM_DB_DEBUGINFO)
$(LIBJVM_DB_G_DEBUGINFO);
}
endif
$(LIBJVM_DTRACE)
:
$(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(XLIBJVM_DTRACE) $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE)
@
echo
Making
$@
$(QUIETLY)
$(CC)
$(SYMFLAG)
$(ARCHFLAG)
-D
$(TYPE)
-I
.
\
$(SHARED_FLAG)
$(LFLAGS_JVM_DTRACE)
-o
$@
$(DTRACE_SRCDIR)
/
$(JVM_DTRACE)
.c
-lc
-lthread
-ldoor
[
-f
$(LIBJVM_DTRACE_G)
]
||
{
ln
-s
$@
$(LIBJVM_DTRACE_G)
;
}
ifneq
($(OBJCOPY),)
$(QUIETLY)
$(OBJCOPY)
--only-keep-debug
$@
$(LIBJVM_DTRACE_DEBUGINFO)
$(QUIETLY)
$(OBJCOPY)
--add-gnu-debuglink
=
$(LIBJVM_DTRACE_DEBUGINFO)
$@
ifeq
($(STRIP_POLICY),all_strip)
$(QUIETLY)
$(STRIP)
$@
else
ifeq
($(STRIP_POLICY),min_strip)
$(QUIETLY)
$(STRIP)
-x
$@
# implied else here is no stripping at all
endif
endif
[
-f
$(LIBJVM_DTRACE_G_DEBUGINFO)
]
||
{
ln
-s
$(LIBJVM_DTRACE_DEBUGINFO)
$(LIBJVM_DTRACE_G_DEBUGINFO);
}
endif
$(DTRACE).d
:
$(DTRACE_SRCDIR)/hotspot.d $(DTRACE_SRCDIR)/hotspot_jni.d
\
$(DTRACE_SRCDIR)/hs_private.d $(DTRACE_SRCDIR)/jhelper.d
...
...
make/solaris/makefiles/jsig.make
浏览文件 @
45a902bd
#
# Copyright (c) 2005, 20
08
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2005, 20
11
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
...
...
@@ -31,9 +31,13 @@ LIBJSIG = lib$(JSIG).so
JSIG_G
=
$(JSIG)$(G_SUFFIX)
LIBJSIG_G
=
lib
$(JSIG_G)
.so
LIBJSIG_DEBUGINFO
=
lib
$(JSIG)
.debuginfo
LIBJSIG_G_DEBUGINFO
=
lib
$(JSIG_G)
.debuginfo
JSIGSRCDIR
=
$(GAMMADIR)
/src/os/
$(Platform_os_family)
/vm
DEST_JSIG
=
$(JDK_LIBDIR)
/
$(LIBJSIG)
DEST_JSIG
=
$(JDK_LIBDIR)
/
$(LIBJSIG)
DEST_JSIG_DEBUGINFO
=
$(JDK_LIBDIR)
/
$(LIBJSIG_DEBUGINFO)
LIBJSIG_MAPFILE
=
$(MAKEFILES_DIR)
/mapfile-vers-jsig
...
...
@@ -50,9 +54,24 @@ $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
$(QUIETLY)
$(CC)
$(SYMFLAG)
$(ARCHFLAG)
$(SHARED_FLAG)
$(PICFLAG)
\
$(LFLAGS_JSIG)
-o
$@
$<
-ldl
[
-f
$(LIBJSIG_G)
]
||
{
ln
-s
$@
$(LIBJSIG_G)
;
}
ifneq
($(OBJCOPY),)
$(QUIETLY)
$(OBJCOPY)
--only-keep-debug
$@
$(LIBJSIG_DEBUGINFO)
$(QUIETLY)
$(OBJCOPY)
--add-gnu-debuglink
=
$(LIBJSIG_DEBUGINFO)
$@
ifeq
($(STRIP_POLICY),all_strip)
$(QUIETLY)
$(STRIP)
$@
else
ifeq
($(STRIP_POLICY),min_strip)
$(QUIETLY)
$(STRIP)
-x
$@
# implied else here is no stripping at all
endif
endif
[
-f
$(LIBJSIG_G_DEBUGINFO)
]
||
{
ln
-s
$(LIBJSIG_DEBUGINFO)
$(LIBJSIG_G_DEBUGINFO);
}
endif
install_jsig
:
$(LIBJSIG)
@
echo
"Copying
$(LIBJSIG)
to
$(DEST_JSIG)
"
$(QUIETLY)
test
-f
$(LIBJSIG_DEBUGINFO)
&&
\
cp
-f
$(LIBJSIG_DEBUGINFO)
$(DEST_JSIG_DEBUGINFO)
$(QUIETLY)
cp
-f
$(LIBJSIG)
$(DEST_JSIG)
&&
echo
"Done"
.PHONY
:
install_jsig
make/solaris/makefiles/mapfile-vers
浏览文件 @
45a902bd
...
...
@@ -3,7 +3,7 @@
#
#
# Copyright (c) 2000, 20
08
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2000, 20
11
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
...
...
@@ -256,6 +256,9 @@ SUNWprivate_1.1 {
# This is for Forte Analyzer profiling support.
AsyncGetCallTrace;
# INSERT VTABLE SYMBOLS HERE
local:
*;
};
make/solaris/makefiles/product.make
浏览文件 @
45a902bd
#
# Copyright (c) 1999, 201
0
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 1999, 201
1
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
...
...
@@ -68,7 +68,8 @@ MAPFILE_DTRACE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-$(TYPE)
REORDERFILE
=
$(GAMMADIR)
/make/solaris/makefiles/reorder_
$(TYPE)
_
$(BUILDARCH)
endif
# Don't strip in VM build; JDK build will strip libraries later
# If we can create .debuginfo files, then the VM is stripped in vm.make
# and this macro is not used.
# LINK_LIB.CC/POST_HOOK += $(STRIP_LIB.CC/POST_HOOK)
G_SUFFIX
=
...
...
make/solaris/makefiles/saproc.make
浏览文件 @
45a902bd
...
...
@@ -32,6 +32,9 @@ LIBSAPROC = lib$(SAPROC).so
SAPROC_G
=
$(SAPROC)$(G_SUFFIX)
LIBSAPROC_G
=
lib
$(SAPROC_G)
.so
LIBSAPROC_DEBUGINFO
=
lib
$(SAPROC)
.debuginfo
LIBSAPROC_G_DEBUGINFO
=
lib
$(SAPROC_G)
.debuginfo
AGENT_DIR
=
$(GAMMADIR)
/agent
SASRCDIR
=
$(AGENT_DIR)
/src/os/
$(Platform_os_family)
/proc
...
...
@@ -40,7 +43,8 @@ SASRCFILES = $(SASRCDIR)/saproc.cpp
SAMAPFILE
=
$(SASRCDIR)
/mapfile
DEST_SAPROC
=
$(JDK_LIBDIR)
/
$(LIBSAPROC)
DEST_SAPROC
=
$(JDK_LIBDIR)
/
$(LIBSAPROC)
DEST_SAPROC_DEBUGINFO
=
$(JDK_LIBDIR)
/
$(LIBSAPROC_DEBUGINFO)
# if $(AGENT_DIR) does not exist, we don't build SA
...
...
@@ -101,10 +105,25 @@ $(LIBSAPROC): $(SASRCFILES) $(SAMAPFILE)
-o
$@
\
-ldl
-ldemangle
-lthread
-lc
[
-f
$(LIBSAPROC_G)
]
||
{
ln
-s
$@
$(LIBSAPROC_G)
;
}
ifneq
($(OBJCOPY),)
$(QUIETLY)
$(OBJCOPY)
--only-keep-debug
$@
$(LIBSAPROC_DEBUGINFO)
$(QUIETLY)
$(OBJCOPY)
--add-gnu-debuglink
=
$(LIBSAPROC_DEBUGINFO)
$@
ifeq
($(STRIP_POLICY),all_strip)
$(QUIETLY)
$(STRIP)
$@
else
ifeq
($(STRIP_POLICY),min_strip)
$(QUIETLY)
$(STRIP)
-x
$@
# implied else here is no stripping at all
endif
endif
[
-f
$(LIBSAPROC_G_DEBUGINFO)
]
||
{
ln
-s
$(LIBSAPROC_DEBUGINFO)
$(LIBSAPROC_G_DEBUGINFO);
}
endif
install_saproc
:
$(BULDLIBSAPROC)
$(QUIETLY)
if
[
-f
$(LIBSAPROC)
]
;
then
\
echo
"Copying
$(LIBSAPROC)
to
$(DEST_SAPROC)
"
;
\
test
-f
$(LIBSAPROC_DEBUGINFO)
&&
\
cp
-f
$(LIBSAPROC_DEBUGINFO)
$(DEST_SAPROC_DEBUGINFO)
;
\
cp
-f
$(LIBSAPROC)
$(DEST_SAPROC)
&&
echo
"Done"
;
\
fi
...
...
make/solaris/makefiles/sparcWorks.make
浏览文件 @
45a902bd
#
# Copyright (c) 1998, 201
0
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 1998, 201
1
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
...
...
@@ -481,9 +481,18 @@ CFLAGS += -DCC_INTERP
endif
# Flags for Debugging
# The -g0 setting allows the C++ frontend to inline, which is a big win.
# The -xs setting disables 'lazy debug info' which puts everything in
# the .so instead of requiring the '.o' files.
ifneq
($(OBJCOPY),)
OPT_CFLAGS
+=
-g0
-xs
endif
DEBUG_CFLAGS
=
-g
FASTDEBUG_CFLAGS
=
-g0
# The -g0 setting allows the C++ frontend to inline, which is a big win.
ifneq
($(OBJCOPY),)
DEBUG_CFLAGS
+=
-xs
FASTDEBUG_CFLAGS
+=
-xs
endif
# Special global options for SS12
ifeq
($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1)
...
...
@@ -502,6 +511,9 @@ endif
# data using a unique globalization prefix. Instead force the use of
# a static globalization prefix based on the source filepath so the
# objects from two identical compilations are the same.
# EXTRA_CFLAGS only covers vm_version.cpp for some reason
#EXTRA_CFLAGS += -Qoption ccfe -xglobalstatic
#OPT_CFLAGS += -Qoption ccfe -xglobalstatic
#DEBUG_CFLAGS += -Qoption ccfe -xglobalstatic
#FASTDEBUG_CFLAGS += -Qoption ccfe -xglobalstatic
...
...
@@ -562,6 +574,8 @@ LINK_LIB.CC/POST_HOOK += $(MCS) -c $@ || exit 1;
# since the hook must terminate itself as a valid command.)
# Also, strip debug and line number information (worth about 1.7Mb).
# If we can create .debuginfo files, then the VM is stripped in vm.make
# and this macro is not used.
STRIP_LIB.CC/
POST_HOOK
=
$(STRIP)
-x
$@
||
exit
1
;
# STRIP_LIB.CC/POST_HOOK is incorporated into LINK_LIB.CC/POST_HOOK
# in certain configurations, such as product.make. Other configurations,
...
...
make/solaris/makefiles/vm.make
浏览文件 @
45a902bd
...
...
@@ -55,10 +55,17 @@ VPATH += $(Src_Dirs_V:%=%:)
Src_Dirs_I
+=
$(GENERATED)
INCLUDES
+=
$
(
Src_Dirs_I:%
=
-I
%
)
ifeq
(${VERSION}, debug)
SYMFLAG
=
-g
# SYMFLAG is used by {dtrace,jsig,saproc}.make.
ifneq
($(OBJCOPY),)
# always build with debug info when we can create .debuginfo files
# and disable 'lazy debug info' so the .so has everything.
SYMFLAG
=
-g
-xs
else
SYMFLAG
=
ifeq
(${VERSION}, debug)
SYMFLAG
=
-g
else
SYMFLAG
=
endif
endif
# The following variables are defined in the generated flags.make file.
...
...
@@ -140,6 +147,9 @@ JVM = jvm
LIBJVM
=
lib
$(JVM)
.so
LIBJVM_G
=
lib
$(JVM)$(G_SUFFIX)
.so
LIBJVM_DEBUGINFO
=
lib
$(JVM)
.debuginfo
LIBJVM_G_DEBUGINFO
=
lib
$(JVM)$(G_SUFFIX)
.debuginfo
SPECIAL_PATHS
:=
adlc c1 dist gc_implementation opto shark libadt
SOURCE_PATHS
=
\
...
...
@@ -212,14 +222,24 @@ JVM_OBJ_FILES = $(Obj_Files) $(DTRACE_OBJS)
vm_version.o
:
$(filter-out vm_version.o
,
$(JVM_OBJ_FILES))
mapfile
:
$(MAPFILE) $(MAPFILE_DTRACE_OPT)
mapfile
:
$(MAPFILE) $(MAPFILE_DTRACE_OPT)
vm.def
rm
-f
$@
cat
$^
>
$@
cat
$(MAPFILE)
$(MAPFILE_DTRACE_OPT)
\
|
$(NAWK)
'{ \
if ($$0 ~ "INSERT VTABLE SYMBOLS HERE") { \
system ("cat vm.def"); \
} else { \
print $$0; \
} \
}'
>
$@
mapfile_reorder
:
mapfile $(MAPFILE_DTRACE_OPT) $(REORDERFILE)
rm
-f
$@
cat
$^
>
$@
vm.def
:
$(Obj_Files)
sh
$(GAMMADIR)
/make/solaris/makefiles/build_vm_def.sh
*
.o
>
$@
ifeq
($(LINK_INTO),AOUT)
LIBJVM.o
=
LIBJVM_MAPFILE
=
...
...
@@ -255,13 +275,30 @@ ifeq ($(filter -sbfast -xsbfast, $(CFLAGS_BROWSE)),)
$(QUIETLY)
rm
-f
$@
.1
&&
ln
-s
$@
$@
.1
$(QUIETLY)
[
-f
$(LIBJVM_G)
]
||
ln
-s
$@
$(LIBJVM_G)
$(QUIETLY)
[
-f
$(LIBJVM_G)
.1
]
||
ln
-s
$@
.1
$(LIBJVM_G)
.1
ifneq
($(OBJCOPY),)
$(QUIETLY)
$(OBJCOPY)
--only-keep-debug
$@
$(LIBJVM_DEBUGINFO)
$(QUIETLY)
$(OBJCOPY)
--add-gnu-debuglink
=
$(LIBJVM_DEBUGINFO)
$@
ifeq
($(STRIP_POLICY),all_strip)
$(QUIETLY)
$(STRIP)
$@
else
ifeq
($(STRIP_POLICY),min_strip)
$(QUIETLY)
$(STRIP)
-x
$@
# implied else here is no stripping at all
endif
endif
$(QUIETLY)
[
-f
$(LIBJVM_G_DEBUGINFO)
]
||
ln
-s
$(LIBJVM_DEBUGINFO)
$(LIBJVM_G_DEBUGINFO)
endif
endif
# filter -sbfast -xsbfast
DEST_JVM
=
$(JDK_LIBDIR)
/
$(VM_SUBDIR)
/
$(LIBJVM)
DEST_SUBDIR
=
$(JDK_LIBDIR)
/
$(VM_SUBDIR)
DEST_JVM
=
$(DEST_SUBDIR)
/
$(LIBJVM)
DEST_JVM_DEBUGINFO
=
$(DEST_SUBDIR)
/
$(LIBJVM_DEBUGINFO)
install_jvm
:
$(LIBJVM)
@
echo
"Copying
$(LIBJVM)
to
$(DEST_JVM)
"
$(QUIETLY)
test
-f
$(LIBJVM_DEBUGINFO)
&&
\
cp
-f
$(LIBJVM_DEBUGINFO)
$(DEST_JVM_DEBUGINFO)
$(QUIETLY)
cp
-f
$(LIBJVM)
$(DEST_JVM)
&&
echo
"Done"
#----------------------------------------------------------------------
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录