annotate make/linux/makefiles/saproc.make @ 14094:3f27e57439ed

Truffle/Instrumentation: significant rearrangement (including moved class) and extension of the Truffle Instrumentation Framework. New interfaces include DebugContext (which can be attached to the ExecutionContext), through which access is provided to possibly language-specific (a) node instrumentation, (b) debug services manager, (c) notification when programs halt, (d) display of language values, and (e) display of variable identifiers.
author Michael Van De Vanter <michael.van.de.vanter@oracle.com>
date Mon, 03 Feb 2014 20:58:23 -0800
parents 26579ac80ce9
children de6a9e811145
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 #
4919
54d3535a6dd3 7009098: SA cannot open core files larger than 2GB on Linux 32-bit
poonam
parents: 3954
diff changeset
2 # Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
a61af66fc99e Initial load
duke
parents:
diff changeset
4 #
a61af66fc99e Initial load
duke
parents:
diff changeset
5 # This code is free software; you can redistribute it and/or modify it
a61af66fc99e Initial load
duke
parents:
diff changeset
6 # under the terms of the GNU General Public License version 2 only, as
a61af66fc99e Initial load
duke
parents:
diff changeset
7 # published by the Free Software Foundation.
a61af66fc99e Initial load
duke
parents:
diff changeset
8 #
a61af66fc99e Initial load
duke
parents:
diff changeset
9 # This code is distributed in the hope that it will be useful, but WITHOUT
a61af66fc99e Initial load
duke
parents:
diff changeset
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
a61af66fc99e Initial load
duke
parents:
diff changeset
11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
a61af66fc99e Initial load
duke
parents:
diff changeset
12 # version 2 for more details (a copy is included in the LICENSE file that
a61af66fc99e Initial load
duke
parents:
diff changeset
13 # accompanied this code).
a61af66fc99e Initial load
duke
parents:
diff changeset
14 #
a61af66fc99e Initial load
duke
parents:
diff changeset
15 # You should have received a copy of the GNU General Public License version
a61af66fc99e Initial load
duke
parents:
diff changeset
16 # 2 along with this work; if not, write to the Free Software Foundation,
a61af66fc99e Initial load
duke
parents:
diff changeset
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
a61af66fc99e Initial load
duke
parents:
diff changeset
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
a61af66fc99e Initial load
duke
parents:
diff changeset
22 #
a61af66fc99e Initial load
duke
parents:
diff changeset
23 #
6641
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 6020
diff changeset
24 include $(GAMMADIR)/make/defs.make
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 6020
diff changeset
25 include $(GAMMADIR)/make/altsrc.make
0
a61af66fc99e Initial load
duke
parents:
diff changeset
26
a61af66fc99e Initial load
duke
parents:
diff changeset
27 # Rules to build serviceability agent library, used by vm.make
a61af66fc99e Initial load
duke
parents:
diff changeset
28
7408
892acf0431ef 7153050: remove crufty '_g' support from HotSpot repo makefiles
dcubed
parents: 6782
diff changeset
29 # libsaproc.so: serviceability agent
1123
167c2986d91b 6843629: Make current hotspot build part of jdk5 control build
phh
parents: 1010
diff changeset
30
167c2986d91b 6843629: Make current hotspot build part of jdk5 control build
phh
parents: 1010
diff changeset
31 SAPROC = saproc
0
a61af66fc99e Initial load
duke
parents:
diff changeset
32 LIBSAPROC = lib$(SAPROC).so
a61af66fc99e Initial load
duke
parents:
diff changeset
33
3954
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 2042
diff changeset
34 LIBSAPROC_DEBUGINFO = lib$(SAPROC).debuginfo
6020
d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 4919
diff changeset
35 LIBSAPROC_DIZ = lib$(SAPROC).diz
3954
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 2042
diff changeset
36
0
a61af66fc99e Initial load
duke
parents:
diff changeset
37 AGENT_DIR = $(GAMMADIR)/agent
a61af66fc99e Initial load
duke
parents:
diff changeset
38
a61af66fc99e Initial load
duke
parents:
diff changeset
39 SASRCDIR = $(AGENT_DIR)/src/os/$(Platform_os_family)
a61af66fc99e Initial load
duke
parents:
diff changeset
40
a61af66fc99e Initial load
duke
parents:
diff changeset
41 SASRCFILES = $(SASRCDIR)/salibelf.c \
a61af66fc99e Initial load
duke
parents:
diff changeset
42 $(SASRCDIR)/symtab.c \
a61af66fc99e Initial load
duke
parents:
diff changeset
43 $(SASRCDIR)/libproc_impl.c \
a61af66fc99e Initial load
duke
parents:
diff changeset
44 $(SASRCDIR)/ps_proc.c \
a61af66fc99e Initial load
duke
parents:
diff changeset
45 $(SASRCDIR)/ps_core.c \
6782
5a98bf7d847b 6879063: SA should use hsdis for disassembly
minqi
parents: 6641
diff changeset
46 $(SASRCDIR)/LinuxDebuggerLocal.c \
5a98bf7d847b 6879063: SA should use hsdis for disassembly
minqi
parents: 6641
diff changeset
47 $(AGENT_DIR)/src/share/native/sadis.c
0
a61af66fc99e Initial load
duke
parents:
diff changeset
48
6641
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 6020
diff changeset
49 -include $(HS_ALT_MAKE)/linux/makefiles/saproc.make
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 6020
diff changeset
50
0
a61af66fc99e Initial load
duke
parents:
diff changeset
51 SAMAPFILE = $(SASRCDIR)/mapfile
a61af66fc99e Initial load
duke
parents:
diff changeset
52
3954
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 2042
diff changeset
53 DEST_SAPROC = $(JDK_LIBDIR)/$(LIBSAPROC)
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 2042
diff changeset
54 DEST_SAPROC_DEBUGINFO = $(JDK_LIBDIR)/$(LIBSAPROC_DEBUGINFO)
6020
d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 4919
diff changeset
55 DEST_SAPROC_DIZ = $(JDK_LIBDIR)/$(LIBSAPROC_DIZ)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
56
767
5d4dd2f5f6a1 6829575: 100028: Debug information is incomplete or missing
aph
parents: 196
diff changeset
57 # DEBUG_BINARIES overrides everything, use full -g debug information
5d4dd2f5f6a1 6829575: 100028: Debug information is incomplete or missing
aph
parents: 196
diff changeset
58 ifeq ($(DEBUG_BINARIES), true)
5d4dd2f5f6a1 6829575: 100028: Debug information is incomplete or missing
aph
parents: 196
diff changeset
59 SA_DEBUG_CFLAGS = -g
5d4dd2f5f6a1 6829575: 100028: Debug information is incomplete or missing
aph
parents: 196
diff changeset
60 endif
5d4dd2f5f6a1 6829575: 100028: Debug information is incomplete or missing
aph
parents: 196
diff changeset
61
0
a61af66fc99e Initial load
duke
parents:
diff changeset
62 # if $(AGENT_DIR) does not exist, we don't build SA
6641
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 6020
diff changeset
63 # also, we don't build SA on Itanium or zero.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
64
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1681
diff changeset
65 ifneq ($(wildcard $(AGENT_DIR)),)
6641
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 6020
diff changeset
66 ifneq ($(filter-out ia64 zero,$(SRCARCH)),)
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1681
diff changeset
67 BUILDLIBSAPROC = $(LIBSAPROC)
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1681
diff changeset
68 endif
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1681
diff changeset
69 endif
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1681
diff changeset
70
6641
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 6020
diff changeset
71 ifneq ($(ALT_SASRCDIR),)
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 6020
diff changeset
72 ALT_SAINCDIR=-I$(ALT_SASRCDIR)
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 6020
diff changeset
73 else
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 6020
diff changeset
74 ALT_SAINCDIR=
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 6020
diff changeset
75 endif
757
f96f285ed3dd 6838154: make/linux/makefiles/sa.make needs hash-style fix
never
parents: 196
diff changeset
76 SA_LFLAGS = $(MAPFLAG:FILENAME=$(SAMAPFILE)) $(LDFLAGS_HASH_STYLE)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
77
a61af66fc99e Initial load
duke
parents:
diff changeset
78 $(LIBSAPROC): $(SASRCFILES) $(SAMAPFILE)
a61af66fc99e Initial load
duke
parents:
diff changeset
79 $(QUIETLY) if [ "$(BOOT_JAVA_HOME)" = "" ]; then \
a61af66fc99e Initial load
duke
parents:
diff changeset
80 echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
81 exit 1; \
a61af66fc99e Initial load
duke
parents:
diff changeset
82 fi
a61af66fc99e Initial load
duke
parents:
diff changeset
83 @echo Making SA debugger back-end...
a61af66fc99e Initial load
duke
parents:
diff changeset
84 $(QUIETLY) $(CC) -D$(BUILDARCH) -D_GNU_SOURCE \
4919
54d3535a6dd3 7009098: SA cannot open core files larger than 2GB on Linux 32-bit
poonam
parents: 3954
diff changeset
85 -D_FILE_OFFSET_BITS=64 \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
86 $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
a61af66fc99e Initial load
duke
parents:
diff changeset
87 -I$(SASRCDIR) \
a61af66fc99e Initial load
duke
parents:
diff changeset
88 -I$(GENERATED) \
a61af66fc99e Initial load
duke
parents:
diff changeset
89 -I$(BOOT_JAVA_HOME)/include \
a61af66fc99e Initial load
duke
parents:
diff changeset
90 -I$(BOOT_JAVA_HOME)/include/$(Platform_os_family) \
6641
a9fed06c01d2 7154641: Servicability agent should work on platforms other than x86, sparc
bpittore
parents: 6020
diff changeset
91 $(ALT_SAINCDIR) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
92 $(SASRCFILES) \
a61af66fc99e Initial load
duke
parents:
diff changeset
93 $(SA_LFLAGS) \
767
5d4dd2f5f6a1 6829575: 100028: Debug information is incomplete or missing
aph
parents: 196
diff changeset
94 $(SA_DEBUG_CFLAGS) \
10316
26579ac80ce9 8014669: arch specific flags not passed to some link commands
bpittore
parents: 7408
diff changeset
95 $(EXTRA_CFLAGS) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
96 -o $@ \
a61af66fc99e Initial load
duke
parents:
diff changeset
97 -lthread_db
6020
d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 4919
diff changeset
98 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
3954
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 2042
diff changeset
99 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBSAPROC_DEBUGINFO)
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 2042
diff changeset
100 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBSAPROC_DEBUGINFO) $@
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 2042
diff changeset
101 ifeq ($(STRIP_POLICY),all_strip)
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 2042
diff changeset
102 $(QUIETLY) $(STRIP) $@
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 2042
diff changeset
103 else
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 2042
diff changeset
104 ifeq ($(STRIP_POLICY),min_strip)
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 2042
diff changeset
105 $(QUIETLY) $(STRIP) -g $@
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 2042
diff changeset
106 # implied else here is no stripping at all
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 2042
diff changeset
107 endif
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 2042
diff changeset
108 endif
6020
d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 4919
diff changeset
109 ifeq ($(ZIP_DEBUGINFO_FILES),1)
7408
892acf0431ef 7153050: remove crufty '_g' support from HotSpot repo makefiles
dcubed
parents: 6782
diff changeset
110 $(ZIPEXE) -q -y $(LIBSAPROC_DIZ) $(LIBSAPROC_DEBUGINFO)
892acf0431ef 7153050: remove crufty '_g' support from HotSpot repo makefiles
dcubed
parents: 6782
diff changeset
111 $(RM) $(LIBSAPROC_DEBUGINFO)
6020
d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 4919
diff changeset
112 endif
3954
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 2042
diff changeset
113 endif
0
a61af66fc99e Initial load
duke
parents:
diff changeset
114
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1681
diff changeset
115 install_saproc: $(BUILDLIBSAPROC)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
116 $(QUIETLY) if [ -e $(LIBSAPROC) ] ; then \
a61af66fc99e Initial load
duke
parents:
diff changeset
117 echo "Copying $(LIBSAPROC) to $(DEST_SAPROC)"; \
3954
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 2042
diff changeset
118 test -f $(LIBSAPROC_DEBUGINFO) && \
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 2042
diff changeset
119 cp -f $(LIBSAPROC_DEBUGINFO) $(DEST_SAPROC_DEBUGINFO); \
6020
d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 4919
diff changeset
120 test -f $(LIBSAPROC_DIZ) && \
d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 4919
diff changeset
121 cp -f $(LIBSAPROC_DIZ) $(DEST_SAPROC_DIZ); \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
122 cp -f $(LIBSAPROC) $(DEST_SAPROC) && echo "Done"; \
a61af66fc99e Initial load
duke
parents:
diff changeset
123 fi
a61af66fc99e Initial load
duke
parents:
diff changeset
124
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1681
diff changeset
125 .PHONY: install_saproc