Mercurial > hg > truffle
annotate make/linux/makefiles/jsig.make @ 17716:cdb71841f4bc
6498581: ThreadInterruptTest3 produces wrong output on Windows
Summary: There is race condition between os::interrupt and os::is_interrupted on Windows. In JVM_Sleep(Thread.sleep), check if thread gets interrupted, it may see interrupted but not really interrupted so cause spurious waking up (early return from sleep). Fix by checking if interrupt event really gets set thus prevent false return. For intrinsic of _isInterrupted, on Windows, go fastpath only on bit not set.
Reviewed-by: acorn, kvn
Contributed-by: david.holmes@oracle.com, yumin.qi@oracle.com
author | minqi |
---|---|
date | Wed, 26 Feb 2014 15:20:41 -0800 |
parents | 55fb97c4c58d |
children | 67d6392ed21e |
rev | line source |
---|---|
0 | 1 # |
17467
55fb97c4c58d
8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013
mikael
parents:
10316
diff
changeset
|
2 # Copyright (c) 2005, 2013, 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 signal interposition library, used by vm.make | |
26 | |
7408
892acf0431ef
7153050: remove crufty '_g' support from HotSpot repo makefiles
dcubed
parents:
6020
diff
changeset
|
27 # libjsig.so: signal interposition library |
1123
167c2986d91b
6843629: Make current hotspot build part of jdk5 control build
phh
parents:
844
diff
changeset
|
28 JSIG = jsig |
0 | 29 LIBJSIG = lib$(JSIG).so |
30 | |
3954 | 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 | 33 |
0 | 34 JSIGSRCDIR = $(GAMMADIR)/src/os/$(Platform_os_family)/vm |
35 | |
3954 | 36 DEST_JSIG = $(JDK_LIBDIR)/$(LIBJSIG) |
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 | 39 |
40 LIBJSIG_MAPFILE = $(MAKEFILES_DIR)/mapfile-vers-jsig | |
41 | |
42 # On Linux we really dont want a mapfile, as this library is small | |
43 # and preloaded using LD_PRELOAD, making functions private will | |
44 # cause problems with interposing. See CR: 6466665 | |
45 # LFLAGS_JSIG += $(MAPFLAG:FILENAME=$(LIBJSIG_MAPFILE)) | |
46 | |
757
f96f285ed3dd
6838154: make/linux/makefiles/sa.make needs hash-style fix
never
parents:
196
diff
changeset
|
47 LFLAGS_JSIG += -D_GNU_SOURCE -D_REENTRANT $(LDFLAGS_HASH_STYLE) |
0 | 48 |
767
5d4dd2f5f6a1
6829575: 100028: Debug information is incomplete or missing
aph
parents:
196
diff
changeset
|
49 # DEBUG_BINARIES overrides everything, use full -g debug information |
5d4dd2f5f6a1
6829575: 100028: Debug information is incomplete or missing
aph
parents:
196
diff
changeset
|
50 ifeq ($(DEBUG_BINARIES), true) |
5d4dd2f5f6a1
6829575: 100028: Debug information is incomplete or missing
aph
parents:
196
diff
changeset
|
51 JSIG_DEBUG_CFLAGS = -g |
5d4dd2f5f6a1
6829575: 100028: Debug information is incomplete or missing
aph
parents:
196
diff
changeset
|
52 endif |
5d4dd2f5f6a1
6829575: 100028: Debug information is incomplete or missing
aph
parents:
196
diff
changeset
|
53 |
0 | 54 $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE) |
55 @echo Making signal interposition lib... | |
56 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \ | |
10316
26579ac80ce9
8014669: arch specific flags not passed to some link commands
bpittore
parents:
7408
diff
changeset
|
57 $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) $(EXTRA_CFLAGS) -o $@ $< -ldl |
6020
d652a62d6e03
7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents:
3954
diff
changeset
|
58 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) |
3954 | 59 $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJSIG_DEBUGINFO) |
60 $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJSIG_DEBUGINFO) $@ | |
61 ifeq ($(STRIP_POLICY),all_strip) | |
62 $(QUIETLY) $(STRIP) $@ | |
63 else | |
64 ifeq ($(STRIP_POLICY),min_strip) | |
65 $(QUIETLY) $(STRIP) -g $@ | |
66 # implied else here is no stripping at all | |
67 endif | |
68 endif | |
6020
d652a62d6e03
7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents:
3954
diff
changeset
|
69 ifeq ($(ZIP_DEBUGINFO_FILES),1) |
7408
892acf0431ef
7153050: remove crufty '_g' support from HotSpot repo makefiles
dcubed
parents:
6020
diff
changeset
|
70 $(ZIPEXE) -q -y $(LIBJSIG_DIZ) $(LIBJSIG_DEBUGINFO) |
892acf0431ef
7153050: remove crufty '_g' support from HotSpot repo makefiles
dcubed
parents:
6020
diff
changeset
|
71 $(RM) $(LIBJSIG_DEBUGINFO) |
6020
d652a62d6e03
7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents:
3954
diff
changeset
|
72 endif |
3954 | 73 endif |
0 | 74 |
75 install_jsig: $(LIBJSIG) | |
76 @echo "Copying $(LIBJSIG) to $(DEST_JSIG)" | |
3954 | 77 $(QUIETLY) test -f $(LIBJSIG_DEBUGINFO) && \ |
78 cp -f $(LIBJSIG_DEBUGINFO) $(DEST_JSIG_DEBUGINFO) | |
6020
d652a62d6e03
7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents:
3954
diff
changeset
|
79 $(QUIETLY) test -f $(LIBJSIG_DIZ) && \ |
d652a62d6e03
7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents:
3954
diff
changeset
|
80 cp -f $(LIBJSIG_DIZ) $(DEST_JSIG_DIZ) |
0 | 81 $(QUIETLY) cp -f $(LIBJSIG) $(DEST_JSIG) && echo "Done" |
82 | |
83 .PHONY: install_jsig |