annotate make/solaris/makefiles/jsig.make @ 13117:99dcb236aaad

fixed faulty logic in makefiles when compressed FDS builds are disabled
author Doug Simon <doug.simon@oracle.com>
date Fri, 22 Nov 2013 12:15:22 +0100
parents eb9ac998b46f
children d8041d695d19
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 #
6020
d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
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 #
a61af66fc99e Initial load
duke
parents:
diff changeset
24
a61af66fc99e Initial load
duke
parents:
diff changeset
25 # Rules to build signal interposition library, used by vm.make
a61af66fc99e Initial load
duke
parents:
diff changeset
26
7408
892acf0431ef 7153050: remove crufty '_g' support from HotSpot repo makefiles
dcubed
parents: 6095
diff changeset
27 # libjsig.so: signal interposition library
1123
167c2986d91b 6843629: Make current hotspot build part of jdk5 control build
phh
parents: 196
diff changeset
28 JSIG = jsig
167c2986d91b 6843629: Make current hotspot build part of jdk5 control build
phh
parents: 196
diff changeset
29 LIBJSIG = lib$(JSIG).so
167c2986d91b 6843629: Make current hotspot build part of jdk5 control build
phh
parents: 196
diff changeset
30
3954
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1552
diff changeset
31 LIBJSIG_DEBUGINFO = lib$(JSIG).debuginfo
6020
d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 3954
diff changeset
32 LIBJSIG_DIZ = lib$(JSIG).diz
3954
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1552
diff changeset
33
0
a61af66fc99e Initial load
duke
parents:
diff changeset
34 JSIGSRCDIR = $(GAMMADIR)/src/os/$(Platform_os_family)/vm
a61af66fc99e Initial load
duke
parents:
diff changeset
35
3954
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1552
diff changeset
36 DEST_JSIG = $(JDK_LIBDIR)/$(LIBJSIG)
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1552
diff changeset
37 DEST_JSIG_DEBUGINFO = $(JDK_LIBDIR)/$(LIBJSIG_DEBUGINFO)
6020
d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 3954
diff changeset
38 DEST_JSIG_DIZ = $(JDK_LIBDIR)/$(LIBJSIG_DIZ)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
39
a61af66fc99e Initial load
duke
parents:
diff changeset
40 LIBJSIG_MAPFILE = $(MAKEFILES_DIR)/mapfile-vers-jsig
a61af66fc99e Initial load
duke
parents:
diff changeset
41
a61af66fc99e Initial load
duke
parents:
diff changeset
42 LFLAGS_JSIG += $(MAPFLAG:FILENAME=$(LIBJSIG_MAPFILE))
a61af66fc99e Initial load
duke
parents:
diff changeset
43
a61af66fc99e Initial load
duke
parents:
diff changeset
44 ifdef USE_GCC
a61af66fc99e Initial load
duke
parents:
diff changeset
45 LFLAGS_JSIG += -D_REENTRANT
a61af66fc99e Initial load
duke
parents:
diff changeset
46 else
a61af66fc99e Initial load
duke
parents:
diff changeset
47 LFLAGS_JSIG += -mt -xnolib
a61af66fc99e Initial load
duke
parents:
diff changeset
48 endif
a61af66fc99e Initial load
duke
parents:
diff changeset
49
6095
9c1709c4c80c 7165598: enable FDS on Solaris X64 when 7165593 is fixed
dcubed
parents: 6020
diff changeset
50 $(LIBJSIG): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
51 @echo Making signal interposition lib...
a61af66fc99e Initial load
duke
parents:
diff changeset
52 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
6095
9c1709c4c80c 7165598: enable FDS on Solaris X64 when 7165593 is fixed
dcubed
parents: 6020
diff changeset
53 $(LFLAGS_JSIG) -o $@ $(JSIGSRCDIR)/jsig.c -ldl
6020
d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 3954
diff changeset
54 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
6095
9c1709c4c80c 7165598: enable FDS on Solaris X64 when 7165593 is fixed
dcubed
parents: 6020
diff changeset
55 # 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
56 # 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
57 # 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
58 # 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
59 # on all Solaris builds just in case.
9c1709c4c80c 7165598: enable FDS on Solaris X64 when 7165593 is fixed
dcubed
parents: 6020
diff changeset
60 $(QUIETLY) $(FIX_EMPTY_SEC_HDR_FLAGS) $@
3954
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1552
diff changeset
61 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJSIG_DEBUGINFO)
6095
9c1709c4c80c 7165598: enable FDS on Solaris X64 when 7165593 is fixed
dcubed
parents: 6020
diff changeset
62 # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
9c1709c4c80c 7165598: enable FDS on Solaris X64 when 7165593 is fixed
dcubed
parents: 6020
diff changeset
63 # 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
64 # $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJSIG_DEBUGINFO) $@
9c1709c4c80c 7165598: enable FDS on Solaris X64 when 7165593 is fixed
dcubed
parents: 6020
diff changeset
65 $(QUIETLY) $(ADD_GNU_DEBUGLINK) $(LIBJSIG_DEBUGINFO) $@
3954
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1552
diff changeset
66 ifeq ($(STRIP_POLICY),all_strip)
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1552
diff changeset
67 $(QUIETLY) $(STRIP) $@
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1552
diff changeset
68 else
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1552
diff changeset
69 ifeq ($(STRIP_POLICY),min_strip)
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1552
diff changeset
70 $(QUIETLY) $(STRIP) -x $@
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1552
diff changeset
71 # implied else here is no stripping at all
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1552
diff changeset
72 endif
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1552
diff changeset
73 endif
6020
d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 3954
diff changeset
74 ifeq ($(ZIP_DEBUGINFO_FILES),1)
7408
892acf0431ef 7153050: remove crufty '_g' support from HotSpot repo makefiles
dcubed
parents: 6095
diff changeset
75 $(ZIPEXE) -q -y $(LIBJSIG_DIZ) $(LIBJSIG_DEBUGINFO)
892acf0431ef 7153050: remove crufty '_g' support from HotSpot repo makefiles
dcubed
parents: 6095
diff changeset
76 $(RM) $(LIBJSIG_DEBUGINFO)
6020
d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 3954
diff changeset
77 endif
3954
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1552
diff changeset
78 endif
0
a61af66fc99e Initial load
duke
parents:
diff changeset
79
a61af66fc99e Initial load
duke
parents:
diff changeset
80 install_jsig: $(LIBJSIG)
a61af66fc99e Initial load
duke
parents:
diff changeset
81 @echo "Copying $(LIBJSIG) to $(DEST_JSIG)"
13117
99dcb236aaad fixed faulty logic in makefiles when compressed FDS builds are disabled
Doug Simon <doug.simon@oracle.com>
parents: 12541
diff changeset
82 $(QUIETLY) test ! -f $(LIBJSIG_DEBUGINFO) || \
3954
da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols
dcubed
parents: 1552
diff changeset
83 cp -f $(LIBJSIG_DEBUGINFO) $(DEST_JSIG_DEBUGINFO)
13117
99dcb236aaad fixed faulty logic in makefiles when compressed FDS builds are disabled
Doug Simon <doug.simon@oracle.com>
parents: 12541
diff changeset
84 $(QUIETLY) test ! -f $(LIBJSIG_DIZ) || \
6020
d652a62d6e03 7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents: 3954
diff changeset
85 cp -f $(LIBJSIG_DIZ) $(DEST_JSIG_DIZ)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
86 $(QUIETLY) cp -f $(LIBJSIG) $(DEST_JSIG) && echo "Done"
a61af66fc99e Initial load
duke
parents:
diff changeset
87
a61af66fc99e Initial load
duke
parents:
diff changeset
88 .PHONY: install_jsig