Mercurial > hg > truffle
annotate make/solaris/makefiles/saproc.make @ 8804:91bf0bdae37b
8008217: CDS: Class data sharing limits the malloc heap on Solaris
Summary: In 64bit VM move CDS archive address to 32G on all platforms using new flag SharedBaseAddress. In 32bit VM set CDS archive address to 3Gb on Linux and let other OSs pick the address.
Reviewed-by: kvn, dcubed, zgu, hseigel
author | coleenp |
---|---|
date | Wed, 20 Mar 2013 08:04:54 -0400 |
parents | 892acf0431ef |
children | 67d6392ed21e 8c76e844a7f9 |
rev | line source |
---|---|
0 | 1 # |
6020
d652a62d6e03
7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents:
4891
diff
changeset
|
2 # Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
0 | 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 # | |
5 # This code is free software; you can redistribute it and/or modify it | |
6 # under the terms of the GNU General Public License version 2 only, as | |
7 # published by the Free Software Foundation. | |
8 # | |
9 # This code is distributed in the hope that it will be useful, but WITHOUT | |
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
12 # version 2 for more details (a copy is included in the LICENSE file that | |
13 # accompanied this code). | |
14 # | |
15 # You should have received a copy of the GNU General Public License version | |
16 # 2 along with this work; if not, write to the Free Software Foundation, | |
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
18 # | |
1552
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
1123
diff
changeset
|
19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
1123
diff
changeset
|
20 # or visit www.oracle.com if you need additional information or have any |
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
1123
diff
changeset
|
21 # questions. |
0 | 22 # |
23 # | |
24 | |
25 # Rules to build serviceability agent library, used by vm.make | |
26 | |
7408
892acf0431ef
7153050: remove crufty '_g' support from HotSpot repo makefiles
dcubed
parents:
6782
diff
changeset
|
27 # libsaproc.so: serviceability agent |
1123
167c2986d91b
6843629: Make current hotspot build part of jdk5 control build
phh
parents:
196
diff
changeset
|
28 |
167c2986d91b
6843629: Make current hotspot build part of jdk5 control build
phh
parents:
196
diff
changeset
|
29 SAPROC = saproc |
6782 | 30 SADIS = sadis |
0 | 31 LIBSAPROC = lib$(SAPROC).so |
6782 | 32 SADISOBJ = $(SADIS).o |
0 | 33 |
3954 | 34 LIBSAPROC_DEBUGINFO = lib$(SAPROC).debuginfo |
6020
d652a62d6e03
7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents:
4891
diff
changeset
|
35 LIBSAPROC_DIZ = lib$(SAPROC).diz |
3954 | 36 |
0 | 37 AGENT_DIR = $(GAMMADIR)/agent |
38 | |
39 SASRCDIR = $(AGENT_DIR)/src/os/$(Platform_os_family)/proc | |
40 | |
41 SASRCFILES = $(SASRCDIR)/saproc.cpp | |
42 | |
6782 | 43 SADISSRCFILES = $(AGENT_DIR)/src/share/native/sadis.c |
44 | |
0 | 45 SAMAPFILE = $(SASRCDIR)/mapfile |
46 | |
3954 | 47 DEST_SAPROC = $(JDK_LIBDIR)/$(LIBSAPROC) |
48 DEST_SAPROC_DEBUGINFO = $(JDK_LIBDIR)/$(LIBSAPROC_DEBUGINFO) | |
6020
d652a62d6e03
7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents:
4891
diff
changeset
|
49 DEST_SAPROC_DIZ = $(JDK_LIBDIR)/$(LIBSAPROC_DIZ) |
0 | 50 |
51 # if $(AGENT_DIR) does not exist, we don't build SA | |
52 | |
1972 | 53 ifneq ($(wildcard $(AGENT_DIR)),) |
54 BUILDLIBSAPROC = $(LIBSAPROC) | |
55 endif | |
0 | 56 |
57 SA_LFLAGS = $(MAPFLAG:FILENAME=$(SAMAPFILE)) | |
58 | |
59 ifdef USE_GCC | |
60 SA_LFLAGS += -D_REENTRANT | |
61 else | |
62 SA_LFLAGS += -mt -xnolib -norunpath | |
63 endif | |
64 | |
3306
405c634f4aaa
7028172: 3/4 SA needs to adapt to Solaris libproc change made in 6748307
dcubed
parents:
2042
diff
changeset
|
65 # The libproc Pstack_iter() interface changed in Nevada-B159. |
3354
357d1f583599
7043298: 4/4 fix for 7028172 causes "Label too long: ..." error message
dcubed
parents:
3306
diff
changeset
|
66 # Use 'uname -r -v' to determine the Solaris version as per |
357d1f583599
7043298: 4/4 fix for 7028172 causes "Label too long: ..." error message
dcubed
parents:
3306
diff
changeset
|
67 # Solaris Nevada team request. This logic needs to match: |
3306
405c634f4aaa
7028172: 3/4 SA needs to adapt to Solaris libproc change made in 6748307
dcubed
parents:
2042
diff
changeset
|
68 # agent/src/os/solaris/proc/saproc.cpp: set_has_newer_Pstack_iter(): |
405c634f4aaa
7028172: 3/4 SA needs to adapt to Solaris libproc change made in 6748307
dcubed
parents:
2042
diff
changeset
|
69 # - skip SunOS 4 or older |
405c634f4aaa
7028172: 3/4 SA needs to adapt to Solaris libproc change made in 6748307
dcubed
parents:
2042
diff
changeset
|
70 # - skip Solaris 10 or older |
3354
357d1f583599
7043298: 4/4 fix for 7028172 causes "Label too long: ..." error message
dcubed
parents:
3306
diff
changeset
|
71 # - skip two digit internal Nevada builds |
357d1f583599
7043298: 4/4 fix for 7028172 causes "Label too long: ..." error message
dcubed
parents:
3306
diff
changeset
|
72 # - skip three digit internal Nevada builds thru 149 |
357d1f583599
7043298: 4/4 fix for 7028172 causes "Label too long: ..." error message
dcubed
parents:
3306
diff
changeset
|
73 # - skip internal Nevada builds 150-158 |
357d1f583599
7043298: 4/4 fix for 7028172 causes "Label too long: ..." error message
dcubed
parents:
3306
diff
changeset
|
74 # - if not skipped, print define for Nevada-B159 or later |
3306
405c634f4aaa
7028172: 3/4 SA needs to adapt to Solaris libproc change made in 6748307
dcubed
parents:
2042
diff
changeset
|
75 SOLARIS_11_B159_OR_LATER := \ |
405c634f4aaa
7028172: 3/4 SA needs to adapt to Solaris libproc change made in 6748307
dcubed
parents:
2042
diff
changeset
|
76 $(shell uname -r -v \ |
3354
357d1f583599
7043298: 4/4 fix for 7028172 causes "Label too long: ..." error message
dcubed
parents:
3306
diff
changeset
|
77 | sed -n \ |
357d1f583599
7043298: 4/4 fix for 7028172 causes "Label too long: ..." error message
dcubed
parents:
3306
diff
changeset
|
78 -e '/^[0-4]\. /b' \ |
357d1f583599
7043298: 4/4 fix for 7028172 causes "Label too long: ..." error message
dcubed
parents:
3306
diff
changeset
|
79 -e '/^5\.[0-9] /b' \ |
357d1f583599
7043298: 4/4 fix for 7028172 causes "Label too long: ..." error message
dcubed
parents:
3306
diff
changeset
|
80 -e '/^5\.10 /b' \ |
3846 | 81 -e '/ snv_[0-9][0-9]$$/b' \ |
82 -e '/ snv_[01][0-4][0-9]$$/b' \ | |
83 -e '/ snv_15[0-8]$$/b' \ | |
3354
357d1f583599
7043298: 4/4 fix for 7028172 causes "Label too long: ..." error message
dcubed
parents:
3306
diff
changeset
|
84 -e 's/.*/-DSOLARIS_11_B159_OR_LATER/' \ |
357d1f583599
7043298: 4/4 fix for 7028172 causes "Label too long: ..." error message
dcubed
parents:
3306
diff
changeset
|
85 -e 'p' \ |
357d1f583599
7043298: 4/4 fix for 7028172 causes "Label too long: ..." error message
dcubed
parents:
3306
diff
changeset
|
86 ) |
3306
405c634f4aaa
7028172: 3/4 SA needs to adapt to Solaris libproc change made in 6748307
dcubed
parents:
2042
diff
changeset
|
87 |
405c634f4aaa
7028172: 3/4 SA needs to adapt to Solaris libproc change made in 6748307
dcubed
parents:
2042
diff
changeset
|
88 # Uncomment the following to simulate building on Nevada-B159 or later |
405c634f4aaa
7028172: 3/4 SA needs to adapt to Solaris libproc change made in 6748307
dcubed
parents:
2042
diff
changeset
|
89 # when actually building on Nevada-B158 or earlier: |
405c634f4aaa
7028172: 3/4 SA needs to adapt to Solaris libproc change made in 6748307
dcubed
parents:
2042
diff
changeset
|
90 #SOLARIS_11_B159_OR_LATER=-DSOLARIS_11_B159_OR_LATER |
405c634f4aaa
7028172: 3/4 SA needs to adapt to Solaris libproc change made in 6748307
dcubed
parents:
2042
diff
changeset
|
91 |
6782 | 92 |
93 $(LIBSAPROC): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(SASRCFILES) $(SADISOBJ) $(SAMAPFILE) | |
0 | 94 $(QUIETLY) if [ "$(BOOT_JAVA_HOME)" = "" ]; then \ |
95 echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \ | |
96 exit 1; \ | |
97 fi | |
98 @echo Making SA debugger back-end... | |
6782 | 99 $(QUIETLY) $(CXX) \ |
0 | 100 $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \ |
101 -I$(SASRCDIR) \ | |
102 -I$(GENERATED) \ | |
103 -I$(BOOT_JAVA_HOME)/include \ | |
104 -I$(BOOT_JAVA_HOME)/include/$(Platform_os_family) \ | |
3306
405c634f4aaa
7028172: 3/4 SA needs to adapt to Solaris libproc change made in 6748307
dcubed
parents:
2042
diff
changeset
|
105 $(SOLARIS_11_B159_OR_LATER) \ |
0 | 106 $(SASRCFILES) \ |
6782 | 107 $(SADISOBJ) \ |
0 | 108 $(SA_LFLAGS) \ |
109 -o $@ \ | |
110 -ldl -ldemangle -lthread -lc | |
6782 | 111 |
112 $(SADISOBJ): $(SADISSRCFILES) | |
113 $(QUIETLY) $(CC) \ | |
114 $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \ | |
115 -I$(SASRCDIR) \ | |
116 -I$(GENERATED) \ | |
117 -I$(BOOT_JAVA_HOME)/include \ | |
118 -I$(BOOT_JAVA_HOME)/include/$(Platform_os_family) \ | |
119 $(SOLARIS_11_B159_OR_LATER) \ | |
120 $(SADISSRCFILES) \ | |
121 -c -o $(SADISOBJ) | |
122 | |
6020
d652a62d6e03
7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents:
4891
diff
changeset
|
123 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) |
6095
9c1709c4c80c
7165598: enable FDS on Solaris X64 when 7165593 is fixed
dcubed
parents:
6020
diff
changeset
|
124 # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set. |
9c1709c4c80c
7165598: enable FDS on Solaris X64 when 7165593 is fixed
dcubed
parents:
6020
diff
changeset
|
125 # Clear the SHF_ALLOC flag (if set) from empty section headers. |
9c1709c4c80c
7165598: enable FDS on Solaris X64 when 7165593 is fixed
dcubed
parents:
6020
diff
changeset
|
126 # An empty section header has sh_addr == 0 and sh_size == 0. |
9c1709c4c80c
7165598: enable FDS on Solaris X64 when 7165593 is fixed
dcubed
parents:
6020
diff
changeset
|
127 # This problem has only been seen on Solaris X64, but we call this tool |
9c1709c4c80c
7165598: enable FDS on Solaris X64 when 7165593 is fixed
dcubed
parents:
6020
diff
changeset
|
128 # on all Solaris builds just in case. |
9c1709c4c80c
7165598: enable FDS on Solaris X64 when 7165593 is fixed
dcubed
parents:
6020
diff
changeset
|
129 $(QUIETLY) $(FIX_EMPTY_SEC_HDR_FLAGS) $@ |
3954 | 130 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBSAPROC_DEBUGINFO) |
6095
9c1709c4c80c
7165598: enable FDS on Solaris X64 when 7165593 is fixed
dcubed
parents:
6020
diff
changeset
|
131 # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections. |
9c1709c4c80c
7165598: enable FDS on Solaris X64 when 7165593 is fixed
dcubed
parents:
6020
diff
changeset
|
132 # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available. |
9c1709c4c80c
7165598: enable FDS on Solaris X64 when 7165593 is fixed
dcubed
parents:
6020
diff
changeset
|
133 # $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBSAPROC_DEBUGINFO) $@ |
9c1709c4c80c
7165598: enable FDS on Solaris X64 when 7165593 is fixed
dcubed
parents:
6020
diff
changeset
|
134 $(QUIETLY) $(ADD_GNU_DEBUGLINK) $(LIBSAPROC_DEBUGINFO) $@ |
3954 | 135 ifeq ($(STRIP_POLICY),all_strip) |
136 $(QUIETLY) $(STRIP) $@ | |
137 else | |
138 ifeq ($(STRIP_POLICY),min_strip) | |
139 $(QUIETLY) $(STRIP) -x $@ | |
140 # implied else here is no stripping at all | |
141 endif | |
142 endif | |
6020
d652a62d6e03
7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents:
4891
diff
changeset
|
143 ifeq ($(ZIP_DEBUGINFO_FILES),1) |
7408
892acf0431ef
7153050: remove crufty '_g' support from HotSpot repo makefiles
dcubed
parents:
6782
diff
changeset
|
144 $(ZIPEXE) -q -y $(LIBSAPROC_DIZ) $(LIBSAPROC_DEBUGINFO) |
892acf0431ef
7153050: remove crufty '_g' support from HotSpot repo makefiles
dcubed
parents:
6782
diff
changeset
|
145 $(RM) $(LIBSAPROC_DEBUGINFO) |
6020
d652a62d6e03
7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents:
4891
diff
changeset
|
146 endif |
3954 | 147 endif |
0 | 148 |
1972 | 149 install_saproc: $(BULDLIBSAPROC) |
0 | 150 $(QUIETLY) if [ -f $(LIBSAPROC) ] ; then \ |
151 echo "Copying $(LIBSAPROC) to $(DEST_SAPROC)"; \ | |
3954 | 152 test -f $(LIBSAPROC_DEBUGINFO) && \ |
153 cp -f $(LIBSAPROC_DEBUGINFO) $(DEST_SAPROC_DEBUGINFO); \ | |
6020
d652a62d6e03
7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents:
4891
diff
changeset
|
154 test -f $(LIBSAPROC_DIZ) && \ |
d652a62d6e03
7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents:
4891
diff
changeset
|
155 cp -f $(LIBSAPROC_DIZ) $(DEST_SAPROC_DIZ); \ |
0 | 156 cp -f $(LIBSAPROC) $(DEST_SAPROC) && echo "Done"; \ |
157 fi | |
158 | |
1972 | 159 .PHONY: install_saproc |