make/test/JtregNativeHotspot.gmk
author iignatyev
Wed, 02 May 2018 16:43:56 -0700
changeset 49958 cc29d7717e3a
parent 49934 44839fbb20db
child 50018 3ba0d8631f24
permissions -rw-r--r--
8199375: [TESTBUG] Open source vm testbase monitoring tests Reviewed-by: kvn, ihse, sspitsyn
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
29179
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
     1
#
48790
423faefc77df 8153629: Need to cover JVMTI's GetOwnedMonitorStackDepthInfo function
dtitov
parents: 48631
diff changeset
     2
# Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
29179
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
     3
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
     4
#
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
     5
# This code is free software; you can redistribute it and/or modify it
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
     6
# under the terms of the GNU General Public License version 2 only, as
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
     7
# published by the Free Software Foundation.  Oracle designates this
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
     8
# particular file as subject to the "Classpath" exception as provided
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
     9
# by Oracle in the LICENSE file that accompanied this code.
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    10
#
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    11
# This code is distributed in the hope that it will be useful, but WITHOUT
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    12
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    13
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    14
# version 2 for more details (a copy is included in the LICENSE file that
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    15
# accompanied this code).
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    16
#
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    17
# You should have received a copy of the GNU General Public License version
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    18
# 2 along with this work; if not, write to the Free Software Foundation,
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    19
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    20
#
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    21
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    22
# or visit www.oracle.com if you need additional information or have any
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    23
# questions.
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    24
#
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    25
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    26
################################################################################
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    27
# This file builds the native component of the JTReg tests for Hotspot.
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    28
# It also covers the test-image part, where the built files are copied to the
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    29
# test image.
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    30
################################################################################
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    31
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    32
default: all
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    33
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    34
include $(SPEC)
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    35
include MakeBase.gmk
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    36
include TestFilesCompilation.gmk
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    37
47326
00f9fe99736e 8188050: UnsatisfiedLinkError after repo consolidation
erikj
parents: 47314
diff changeset
    38
$(eval $(call IncludeCustomExtension, test/JtregNativeHotspot.gmk))
46302
89b28b206eb2 8136650: Add support for custom jtreg native tests
rehn
parents: 42646
diff changeset
    39
29179
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    40
################################################################################
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    41
# Targets for building the native tests themselves.
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    42
################################################################################
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    43
49253
26f624b33218 8199681: Remove boilerplate code from creating native jtreg tests
ihse
parents: 49241
diff changeset
    44
# This might have been added to by a custom extension.
26f624b33218 8199681: Remove boilerplate code from creating native jtreg tests
ihse
parents: 49241
diff changeset
    45
BUILD_HOTSPOT_JTREG_NATIVE_SRC += $(TOPDIR)/test/hotspot/jtreg
26f624b33218 8199681: Remove boilerplate code from creating native jtreg tests
ihse
parents: 49241
diff changeset
    46
26f624b33218 8199681: Remove boilerplate code from creating native jtreg tests
ihse
parents: 49241
diff changeset
    47
BUILD_HOTSPOT_JTREG_OUTPUT_DIR := $(OUTPUTDIR)/support/test/hotspot/jtreg/native
29179
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
    48
49253
26f624b33218 8199681: Remove boilerplate code from creating native jtreg tests
ihse
parents: 49241
diff changeset
    49
BUILD_HOTSPOT_JTREG_IMAGE_DIR := $(TEST_IMAGE_DIR)/hotspot/jtreg
39972
2c3c3b7c20d2 8081770: [TESTBUG] regression Test7107135 needs to remove dependence on locally installed gcc
gthornbr
parents: 39706
diff changeset
    50
49934
44839fbb20db 8199643: [TESTBUG] Open source common VM testbase code
iignatyev
parents: 49662
diff changeset
    51
################################################################################
44839fbb20db 8199643: [TESTBUG] Open source common VM testbase code
iignatyev
parents: 49662
diff changeset
    52
# Former VM TestBase tests.
44839fbb20db 8199643: [TESTBUG] Open source common VM testbase code
iignatyev
parents: 49662
diff changeset
    53
################################################################################
44839fbb20db 8199643: [TESTBUG] Open source common VM testbase code
iignatyev
parents: 49662
diff changeset
    54
44839fbb20db 8199643: [TESTBUG] Open source common VM testbase code
iignatyev
parents: 49662
diff changeset
    55
VM_TESTBASE_DIR := $(TOPDIR)/test/hotspot/jtreg/vmTestbase
44839fbb20db 8199643: [TESTBUG] Open source common VM testbase code
iignatyev
parents: 49662
diff changeset
    56
44839fbb20db 8199643: [TESTBUG] Open source common VM testbase code
iignatyev
parents: 49662
diff changeset
    57
VM_SHARE_INCLUDES := \
44839fbb20db 8199643: [TESTBUG] Open source common VM testbase code
iignatyev
parents: 49662
diff changeset
    58
    -I$(VM_TESTBASE_DIR)/vm/share \
44839fbb20db 8199643: [TESTBUG] Open source common VM testbase code
iignatyev
parents: 49662
diff changeset
    59
    -I$(VM_TESTBASE_DIR)/nsk/share/native \
44839fbb20db 8199643: [TESTBUG] Open source common VM testbase code
iignatyev
parents: 49662
diff changeset
    60
    -I$(VM_TESTBASE_DIR)/nsk/share/jni
44839fbb20db 8199643: [TESTBUG] Open source common VM testbase code
iignatyev
parents: 49662
diff changeset
    61
49958
cc29d7717e3a 8199375: [TESTBUG] Open source vm testbase monitoring tests
iignatyev
parents: 49934
diff changeset
    62
NSK_MONITORING_INCLUDES := \
cc29d7717e3a 8199375: [TESTBUG] Open source vm testbase monitoring tests
iignatyev
parents: 49934
diff changeset
    63
    -I$(VM_TESTBASE_DIR)/nsk/share/native \
cc29d7717e3a 8199375: [TESTBUG] Open source vm testbase monitoring tests
iignatyev
parents: 49934
diff changeset
    64
    -I$(VM_TESTBASE_DIR)/nsk/share/jni
cc29d7717e3a 8199375: [TESTBUG] Open source vm testbase monitoring tests
iignatyev
parents: 49934
diff changeset
    65
49934
44839fbb20db 8199643: [TESTBUG] Open source common VM testbase code
iignatyev
parents: 49662
diff changeset
    66
BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libProcessUtils := $(VM_SHARE_INCLUDES)
44839fbb20db 8199643: [TESTBUG] Open source common VM testbase code
iignatyev
parents: 49662
diff changeset
    67
49958
cc29d7717e3a 8199375: [TESTBUG] Open source vm testbase monitoring tests
iignatyev
parents: 49934
diff changeset
    68
BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libThreadController := $(NSK_MONITORING_INCLUDES)
cc29d7717e3a 8199375: [TESTBUG] Open source vm testbase monitoring tests
iignatyev
parents: 49934
diff changeset
    69
BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libDeadlock := $(NSK_MONITORING_INCLUDES)
cc29d7717e3a 8199375: [TESTBUG] Open source vm testbase monitoring tests
iignatyev
parents: 49934
diff changeset
    70
BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libRecursiveMonitoringThread := $(NSK_MONITORING_INCLUDES)
cc29d7717e3a 8199375: [TESTBUG] Open source vm testbase monitoring tests
iignatyev
parents: 49934
diff changeset
    71
BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libLockingThreads := $(NSK_MONITORING_INCLUDES)
cc29d7717e3a 8199375: [TESTBUG] Open source vm testbase monitoring tests
iignatyev
parents: 49934
diff changeset
    72
BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libStackTraceController := $(NSK_MONITORING_INCLUDES)
cc29d7717e3a 8199375: [TESTBUG] Open source vm testbase monitoring tests
iignatyev
parents: 49934
diff changeset
    73
49934
44839fbb20db 8199643: [TESTBUG] Open source common VM testbase code
iignatyev
parents: 49662
diff changeset
    74
################################################################################
44839fbb20db 8199643: [TESTBUG] Open source common VM testbase code
iignatyev
parents: 49662
diff changeset
    75
49253
26f624b33218 8199681: Remove boilerplate code from creating native jtreg tests
ihse
parents: 49241
diff changeset
    76
# Platform specific setup
26f624b33218 8199681: Remove boilerplate code from creating native jtreg tests
ihse
parents: 49241
diff changeset
    77
ifneq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
26f624b33218 8199681: Remove boilerplate code from creating native jtreg tests
ihse
parents: 49241
diff changeset
    78
  BUILD_HOTSPOT_JTREG_EXCLUDE += liboverflow.c exeThreadSignalMask.c
34233
2cf348387c44 8141445: Use of Solaris/SPARC M7 libadimalloc.so can generate unknown signal in hs_err file
gthornbr
parents: 33791
diff changeset
    79
endif
2cf348387c44 8141445: Use of Solaris/SPARC M7 libadimalloc.so can generate unknown signal in hs_err file
gthornbr
parents: 33791
diff changeset
    80
39972
2c3c3b7c20d2 8081770: [TESTBUG] regression Test7107135 needs to remove dependence on locally installed gcc
gthornbr
parents: 39706
diff changeset
    81
ifeq ($(OPENJDK_TARGET_OS), linux)
2c3c3b7c20d2 8081770: [TESTBUG] regression Test7107135 needs to remove dependence on locally installed gcc
gthornbr
parents: 39706
diff changeset
    82
    BUILD_HOTSPOT_JTREG_LIBRARIES_LDFLAGS_libtest-rw := -z noexecstack
2c3c3b7c20d2 8081770: [TESTBUG] regression Test7107135 needs to remove dependence on locally installed gcc
gthornbr
parents: 39706
diff changeset
    83
    BUILD_HOTSPOT_JTREG_LIBRARIES_LDFLAGS_libtest-rwx := -z execstack
40630
661bccd1031a 8164297: Jtreg test exeinvoke fails to link on Ubuntu
erikj
parents: 40342
diff changeset
    84
    BUILD_HOTSPOT_JTREG_EXECUTABLES_LIBS_exeinvoke := -ljvm -lpthread
49407
7fa5375fa6fd 8197429: Increased stack guard causes segfaults on x86-32
aph
parents: 49379
diff changeset
    85
    BUILD_HOTSPOT_JTREG_EXECUTABLES_LIBS_exestack-gap := -ljvm -lpthread
49253
26f624b33218 8199681: Remove boilerplate code from creating native jtreg tests
ihse
parents: 49241
diff changeset
    86
    BUILD_TEST_exeinvoke_exeinvoke.c_OPTIMIZATION := NONE
42562
05d726daa164 8169261: Fix for JDK-8067744 creates build failures with some versions of gcc and/or linux
kvn
parents: 42076
diff changeset
    87
    BUILD_HOTSPOT_JTREG_EXECUTABLES_LIBS_exeFPRegs := -ldl
49253
26f624b33218 8199681: Remove boilerplate code from creating native jtreg tests
ihse
parents: 49241
diff changeset
    88
else
26f624b33218 8199681: Remove boilerplate code from creating native jtreg tests
ihse
parents: 49241
diff changeset
    89
  BUILD_HOTSPOT_JTREG_EXCLUDE += libtest-rw.c libtest-rwx.c libTestJNI.c \
49412
jwilhelm
parents: 49253 49407
diff changeset
    90
      exeinvoke.c exestack-gap.c
42076
d6c3ecec1d34 8067744: XMM/SSE float register values corrupted by JNI_CreateVM call in JRE 8 (Windows)
kvn
parents: 41669
diff changeset
    91
endif
d6c3ecec1d34 8067744: XMM/SSE float register values corrupted by JNI_CreateVM call in JRE 8 (Windows)
kvn
parents: 41669
diff changeset
    92
49662
3614cbddd005 8200126: [TESTBUG] Open source VM runtime signal tests
mseledtsov
parents: 49412
diff changeset
    93
BUILD_HOTSPOT_JTREG_EXECUTABLES_LIBS_exesigtest := -ljvm
3614cbddd005 8200126: [TESTBUG] Open source VM runtime signal tests
mseledtsov
parents: 49412
diff changeset
    94
42076
d6c3ecec1d34 8067744: XMM/SSE float register values corrupted by JNI_CreateVM call in JRE 8 (Windows)
kvn
parents: 41669
diff changeset
    95
ifeq ($(OPENJDK_TARGET_OS), windows)
d6c3ecec1d34 8067744: XMM/SSE float register values corrupted by JNI_CreateVM call in JRE 8 (Windows)
kvn
parents: 41669
diff changeset
    96
    BUILD_HOTSPOT_JTREG_EXECUTABLES_CFLAGS_exeFPRegs := -MT
49662
3614cbddd005 8200126: [TESTBUG] Open source VM runtime signal tests
mseledtsov
parents: 49412
diff changeset
    97
    BUILD_HOTSPOT_JTREG_EXCLUDE += exesigtest.c
39972
2c3c3b7c20d2 8081770: [TESTBUG] regression Test7107135 needs to remove dependence on locally installed gcc
gthornbr
parents: 39706
diff changeset
    98
endif
2c3c3b7c20d2 8081770: [TESTBUG] regression Test7107135 needs to remove dependence on locally installed gcc
gthornbr
parents: 39706
diff changeset
    99
29179
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   100
$(eval $(call SetupTestFilesCompilation, BUILD_HOTSPOT_JTREG_LIBRARIES, \
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   101
    TYPE := LIBRARY, \
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   102
    SOURCE_DIRS := $(BUILD_HOTSPOT_JTREG_NATIVE_SRC), \
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   103
    OUTPUT_DIR := $(BUILD_HOTSPOT_JTREG_OUTPUT_DIR), \
49253
26f624b33218 8199681: Remove boilerplate code from creating native jtreg tests
ihse
parents: 49241
diff changeset
   104
    EXCLUDE := $(BUILD_HOTSPOT_JTREG_EXCLUDE), \
29179
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   105
))
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   106
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   107
$(eval $(call SetupTestFilesCompilation, BUILD_HOTSPOT_JTREG_EXECUTABLES, \
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   108
    TYPE := PROGRAM, \
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   109
    SOURCE_DIRS := $(BUILD_HOTSPOT_JTREG_NATIVE_SRC), \
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   110
    OUTPUT_DIR := $(BUILD_HOTSPOT_JTREG_OUTPUT_DIR), \
49253
26f624b33218 8199681: Remove boilerplate code from creating native jtreg tests
ihse
parents: 49241
diff changeset
   111
    EXCLUDE := $(BUILD_HOTSPOT_JTREG_EXCLUDE), \
29179
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   112
))
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   113
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   114
build-test-hotspot-jtreg-native: $(BUILD_HOTSPOT_JTREG_LIBRARIES) $(BUILD_HOTSPOT_JTREG_EXECUTABLES)
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   115
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   116
################################################################################
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   117
# Targets for building test-image.
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   118
################################################################################
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   119
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   120
# Copy to hotspot jtreg test image
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   121
$(eval $(call SetupCopyFiles,COPY_HOTSPOT_JTREG_NATIVE, \
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   122
    SRC := $(BUILD_HOTSPOT_JTREG_OUTPUT_DIR), \
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   123
    DEST := $(TEST_IMAGE_DIR)/hotspot/jtreg/native, \
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   124
    FILES := $(BUILD_HOTSPOT_JTREG_LIBRARIES) $(BUILD_HOTSPOT_JTREG_EXECUTABLES), \
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   125
    FLATTEN := true))
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   126
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   127
test-image-hotspot-jtreg-native: $(COPY_HOTSPOT_JTREG_NATIVE)
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   128
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   129
all: build-test-hotspot-jtreg-native
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   130
test-image: test-image-hotspot-jtreg-native
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   131
8836e3bd543b 8072842: Add support for building native JTReg tests
ihse
parents:
diff changeset
   132
.PHONY: default all build-test-hotspot-jtreg-native test-image-hotspot-jtreg-native test-image