8183262: noexecstack check in os::dll_load on Linux is too expensive
Summary: convert ElfFile::specifies_noexecstack() to static method which read file header and check executable stack flag.
Reviewed-by: iklam, stuefe
#
# Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
hotspot_all = \
/
hotspot_compiler = \
compiler
hotspot_gc = \
gc
hotspot_runtime = \
runtime
hotspot_serviceability = \
serviceability
hotspot_misc = \
/ \
-applications \
-:hotspot_compiler \
-:hotspot_gc \
-:hotspot_runtime \
-:hotspot_serviceability
hotspot_native_sanity = \
native_sanity
hotspot_tier1_common = \
sanity/BasicVMTest.java \
native/GTestWrapper.java
hotspot_tier1_compiler_1 = \
compiler/aot/ \
compiler/arraycopy/ \
compiler/c1/ \
compiler/c2/ \
-compiler/c2/Test6850611.java \
-compiler/c2/cr6890943/Test6890943.java \
-compiler/c2/Test6905845.java \
-compiler/c2/cr6340864 \
-compiler/c2/cr6589834 \
-compiler/c2/cr8004867 \
-compiler/c2/stemmer \
-compiler/c2/Test6792161.java \
-compiler/c2/Test6603011.java \
-compiler/c2/Test6912517.java \
hotspot_tier1_compiler_2 = \
compiler/classUnloading/ \
compiler/codecache/ \
compiler/codegen/ \
compiler/cpuflags/ \
compiler/dependencies/ \
compiler/eliminateAutobox/ \
compiler/escapeAnalysis/ \
compiler/exceptions/ \
compiler/floatingpoint/ \
compiler/gcbarriers/ \
compiler/inlining/ \
compiler/integerArithmetic/ \
compiler/interpreter/ \
compiler/jvmci/ \
-compiler/codegen/aes \
-compiler/codecache/stress \
-compiler/gcbarriers/PreserveFPRegistersTest.java
hotspot_tier1_compiler_3 = \
compiler/intrinsics/ \
compiler/jsr292/ \
compiler/loopopts/ \
compiler/macronodes/ \
compiler/memoryinitialization/ \
compiler/osr/ \
compiler/regalloc/ \
compiler/runtime/ \
compiler/startup/ \
compiler/types/ \
compiler/uncommontrap/ \
compiler/unsafe/ \
-compiler/intrinsics/bmi \
-compiler/intrinsics/mathexact \
-compiler/intrinsics/sha \
-compiler/intrinsics/bigInteger/TestMultiplyToLen.java \
-compiler/intrinsics/zip/TestAdler32.java \
-compiler/loopopts/Test7052494.java \
-compiler/runtime/Test6826736.java
hotspot_tier1_compiler_closed = \
sanity/ExecuteInternalVMTests.java
hotspot_not_fast_compiler = \
:hotspot_compiler \
-:hotspot_tier1_compiler_1 \
-:hotspot_tier1_compiler_2 \
-:hotspot_tier1_compiler_3 \
-:hotspot_tier1_compiler_closed
hotspot_tier1_gc_1 = \
gc/g1/
hotspot_tier1_gc_2 = \
sanity/ExecuteInternalVMTests.java \
gc/ \
-gc/g1/ \
-gc/logging/TestUnifiedLoggingSwitchStress.java \
-gc/stress \
-gc/survivorAlignment/TestPromotionFromSurvivorToTenuredAfterMinorGC.java \
-gc/cms/TestMBeanCMS.java \
-gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java
hotspot_tier1_gc_closed = \
sanity/ExecuteInternalVMTests.java
hotspot_tier1_gc_gcold = \
gc/stress/gcold/TestGCOldWithG1.java
gc/stress/gcold/TestGCOldWithCMS.java
gc/stress/gcold/TestGCOldWithSerial.java
gc/stress/gcold/TestGCOldWithParallel.java
hotspot_tier1_gc_gcbasher = \
gc/stress/gcbasher/TestGCBasherWithG1.java \
gc/stress/gcbasher/TestGCBasherWithCMS.java \
gc/stress/gcbasher/TestGCBasherWithSerial.java \
gc/stress/gcbasher/TestGCBasherWithParallel.java
hotspot_tier1_runtime = \
runtime/ \
-runtime/6626217/Test6626217.sh \
-runtime/7100935 \
-runtime/7158988/FieldMonitor.java \
-runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java \
-runtime/CommandLine/PrintGCApplicationConcurrentTime.java \
-runtime/ConstantPool/IntfMethod.java \
-runtime/ErrorHandling/CreateCoredumpOnCrash.java \
-runtime/ErrorHandling/ErrorHandler.java \
-runtime/ErrorHandling/TimeoutInErrorHandlingTest.java \
-runtime/logging/MonitorMismatchTest.java \
-runtime/memory/ReserveMemory.java \
-runtime/memory/RunUnitTestsConcurrently.java \
-runtime/Metaspace/FragmentMetaspace.java \
-runtime/Metaspace/FragmentMetaspaceSimple.java \
-runtime/MirrorFrame/Test8003720.java \
-runtime/modules/LoadUnloadModuleStress.java \
-runtime/modules/ModuleStress/ExportModuleStressTest.java \
-runtime/modules/ModuleStress/ModuleStressGC.java \
-runtime/NMT \
-runtime/RedefineObject/TestRedefineObject.java \
-runtime/RedefineTests/RedefineLeak.java \
-runtime/RedefineTests/RedefinePreviousVersions.java \
-runtime/RedefineTests/RedefineRunningMethods.java \
-runtime/RedefineTests/RedefineRunningMethodsWithBacktrace.java \
-runtime/ReservedStack \
-runtime/SelectionResolution/AbstractMethodErrorTest.java \
-runtime/SelectionResolution/IllegalAccessErrorTest.java \
-runtime/SelectionResolution/InvokeInterfaceICCE.java \
-runtime/SelectionResolution/InvokeInterfaceSuccessTest.java \
-runtime/SelectionResolution/InvokeSpecialICCE.java \
-runtime/SelectionResolution/InvokeSpecialSuccessTest.java \
-runtime/SelectionResolution/InvokeStaticICCE.java \
-runtime/SelectionResolution/InvokeVirtualICCE.java \
-runtime/SelectionResolution/InvokeVirtualSuccessTest.java \
-runtime/SharedArchiveFile/CdsSameObjectAlignment.java \
-runtime/SharedArchiveFile/DefaultUseWithClient.java \
-runtime/SharedArchiveFile/SharedBaseAddress.java \
-runtime/Thread/CancellableThreadTest.java \
-runtime/Thread/TestThreadDumpMonitorContention.java \
-runtime/Unsafe/RangeCheck.java \
sanity/ \
testlibrary_tests/TestMutuallyExclusivePlatformPredicates.java
hotspot_cds = \
runtime/SharedArchiveFile/ \
runtime/CompressedOops/
hotspot_tier1_serviceability = \
serviceability/dcmd/compiler \
serviceability/logging
hotspot_tier1 = \
:hotspot_tier1_common \
:hotspot_tier1_compiler_1 \
:hotspot_tier1_compiler_2 \
:hotspot_tier1_compiler_3 \
:hotspot_tier1_compiler_closed \
:hotspot_tier1_gc_1 \
:hotspot_tier1_gc_2 \
:hotspot_tier1_gc_closed \
:hotspot_tier1_gc_gcold \
:hotspot_tier1_runtime \
:hotspot_tier1_serviceability
hotspot_tier2_runtime = \
runtime/ \
serviceability/ \
-runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java \
-runtime/Thread/TestThreadDumpMonitorContention.java \
-:hotspot_tier1_runtime \
-:hotspot_tier1_serviceability \
-:hotspot_tier2_runtime_platform_agnostic
hotspot_tier2_runtime_platform_agnostic = \
runtime/SelectionResolution \
-:hotspot_tier1_runtime
hotspot_tier3_runtime = \
runtime/ \
serviceability/ \
-:hotspot_tier1_runtime \
-:hotspot_tier1_serviceability \
-:hotspot_tier2_runtime_platform_agnostic \
-:hotspot_tier2_runtime
hotspot_runtime_minimalvm = \
runtime/MinimalVM \
runtime/ErrorHandling \
runtime/logging