From 8015dbe8b79453b451dcdab161a8f87cbd25b71d Mon Sep 17 00:00:00 2001 From: Sebastian Sumpf Date: Mon, 26 Nov 2018 13:49:34 +0100 Subject: [PATCH] Move OpenJDK to the Genode world repository This reverts commit 58fb5ed722dc9f1909dc9da35e08ebb788f4ba62. fixes #3060 --- repos/ports/lib/import/import-jli.mk | 7 - repos/ports/lib/mk/java.inc | 47 - repos/ports/lib/mk/jdk_version.inc | 4 - repos/ports/lib/mk/jimage.mk | 23 - repos/ports/lib/mk/jli.mk | 26 - repos/ports/lib/mk/jnet.mk | 32 - repos/ports/lib/mk/jvm.inc | 610 --------- repos/ports/lib/mk/jzip.mk | 16 - repos/ports/lib/mk/nio.mk | 42 - repos/ports/lib/mk/spec/arm/java.mk | 3 - repos/ports/lib/mk/spec/arm/jvm.mk | 4 - repos/ports/lib/mk/spec/x86_64/java.mk | 3 - repos/ports/lib/mk/spec/x86_64/jvm.mk | 4 - repos/ports/ports/jdk.hash | 1 - repos/ports/ports/jdk.port | 22 - repos/ports/ports/jdk_generated.hash | 1 - repos/ports/ports/jdk_generated.port | 9 - repos/ports/run/java.run | 106 -- repos/ports/src/app/jdk/java/target.mk | 8 - repos/ports/src/app/jdk/lib/include/errno.h | 11 - .../ports/src/app/jdk/lib/include/os_bsd.hpp | 8 - .../ports/src/app/jdk/lib/include/ucontext.h | 1 - .../ports/src/app/jdk/lib/java/math_genode.c | 18 - repos/ports/src/app/jdk/lib/java/target.mk | 1 - repos/ports/src/app/jdk/lib/jvm/dummies.cpp | 97 -- repos/ports/src/app/jdk/lib/jvm/target.mk | 1 - repos/ports/src/app/jdk/patches/arm.patch | 36 - repos/ports/src/app/jdk/patches/jdk.patch | 101 -- repos/ports/src/app/jdk/patches/os_bsd.patch | 1147 ----------------- .../src/app/jdk/patches/os_bsd_zero.patch | 13 - .../jdk/patches/pollselectorprovider.patch | 28 - repos/ports/src/app/jdk/patches/size.patch | 85 -- 32 files changed, 2515 deletions(-) delete mode 100644 repos/ports/lib/import/import-jli.mk delete mode 100644 repos/ports/lib/mk/java.inc delete mode 100644 repos/ports/lib/mk/jdk_version.inc delete mode 100644 repos/ports/lib/mk/jimage.mk delete mode 100644 repos/ports/lib/mk/jli.mk delete mode 100644 repos/ports/lib/mk/jnet.mk delete mode 100644 repos/ports/lib/mk/jvm.inc delete mode 100644 repos/ports/lib/mk/jzip.mk delete mode 100644 repos/ports/lib/mk/nio.mk delete mode 100644 repos/ports/lib/mk/spec/arm/java.mk delete mode 100644 repos/ports/lib/mk/spec/arm/jvm.mk delete mode 100644 repos/ports/lib/mk/spec/x86_64/java.mk delete mode 100644 repos/ports/lib/mk/spec/x86_64/jvm.mk delete mode 100644 repos/ports/ports/jdk.hash delete mode 100644 repos/ports/ports/jdk.port delete mode 100644 repos/ports/ports/jdk_generated.hash delete mode 100644 repos/ports/ports/jdk_generated.port delete mode 100644 repos/ports/run/java.run delete mode 100644 repos/ports/src/app/jdk/java/target.mk delete mode 100644 repos/ports/src/app/jdk/lib/include/errno.h delete mode 100644 repos/ports/src/app/jdk/lib/include/os_bsd.hpp delete mode 100644 repos/ports/src/app/jdk/lib/include/ucontext.h delete mode 100644 repos/ports/src/app/jdk/lib/java/math_genode.c delete mode 100644 repos/ports/src/app/jdk/lib/java/target.mk delete mode 100644 repos/ports/src/app/jdk/lib/jvm/dummies.cpp delete mode 100644 repos/ports/src/app/jdk/lib/jvm/target.mk delete mode 100644 repos/ports/src/app/jdk/patches/arm.patch delete mode 100644 repos/ports/src/app/jdk/patches/jdk.patch delete mode 100644 repos/ports/src/app/jdk/patches/os_bsd.patch delete mode 100644 repos/ports/src/app/jdk/patches/os_bsd_zero.patch delete mode 100644 repos/ports/src/app/jdk/patches/pollselectorprovider.patch delete mode 100644 repos/ports/src/app/jdk/patches/size.patch diff --git a/repos/ports/lib/import/import-jli.mk b/repos/ports/lib/import/import-jli.mk deleted file mode 100644 index 4b75e1614..000000000 --- a/repos/ports/lib/import/import-jli.mk +++ /dev/null @@ -1,7 +0,0 @@ -JDK_BASE = $(call select_from_ports,jdk)/src/app/jdk/jdk/src/java.base -INC_DIR += $(JDK_BASE)/share/native/libjli \ - $(JDK_BASE)/share/native/include \ - $(JDK_BASE)/unix/native/include \ - $(JDK_BASE)/unix/native/libjli - - diff --git a/repos/ports/lib/mk/java.inc b/repos/ports/lib/mk/java.inc deleted file mode 100644 index cfd5f9774..000000000 --- a/repos/ports/lib/mk/java.inc +++ /dev/null @@ -1,47 +0,0 @@ -LIBS = libc -SHARED_LIB = yes -JDK_BASE = $(call select_from_ports,jdk)/src/app/jdk/jdk/src/java.base -JDK_GENERATED = $(call select_from_ports,jdk_generated)/src/app/jdk -JAVA_BASE = $(JDK_BASE)/share/native/libjava -VERIFY_BASE = $(JDK_BASE)/share/native/libverify - -CC_OLEVEL = -O0 - -SRC_C = $(notdir $(wildcard $(JAVA_BASE)/*.c)) -SRC_C += unix/native/libjava/canonicalize_md.c \ - unix/native/libjava/FileDescriptor_md.c \ - unix/native/libjava/FileInputStream_md.c \ - unix/native/libjava/FileOutputStream_md.c \ - unix/native/libjava/io_util_md.c \ - unix/native/libjava/java_props_md.c \ - unix/native/libjava/jdk_util_md.c \ - unix/native/libjava/jni_util_md.c \ - unix/native/libjava/ProcessEnvironment_md.c \ - unix/native/libjava/RandomAccessFile_md.c \ - unix/native/libjava/TimeZone_md.c \ - unix/native/libjava/UnixFileSystem_md.c - -SRC_C += check_format.c check_code.c -SRC_C += math_genode.c - - -include $(REP_DIR)/lib/mk/jdk_version.inc - -CC_C_OPT = $(JDK_VERSION) -CC_C_OPT += -D_ALLBSD_SOURCE -D__GENODE__ -CC_OPT_unix/native/libjava/TimeZone_md = -D__linux__ - -INC_DIR += $(REP_DIR)/src/app/jdk/lib/include \ - $(JDK_GENERATED)/include/java.base \ - $(JDK_BASE)/share/native/include \ - $(JDK_BASE)/share/native/libfdlibm \ - $(JDK_BASE)/share/native/libjava \ - $(JDK_BASE)/unix/native/include \ - $(JDK_BASE)/unix/native/libjava - -vpath %.c $(JAVA_BASE) -vpath %.c $(VERIFY_BASE) -vpath %.c $(JDK_BASE) -vpath %.c $(REP_DIR)/src/app/jdk/lib/java - -# vi: set ft=make : diff --git a/repos/ports/lib/mk/jdk_version.inc b/repos/ports/lib/mk/jdk_version.inc deleted file mode 100644 index c06493819..000000000 --- a/repos/ports/lib/mk/jdk_version.inc +++ /dev/null @@ -1,4 +0,0 @@ -JDK_VERSION = -DVERSION_SPECIFICATION='"9"' -DVERSION_SHORT='"9-internal"' \ - -DVERSION_MAJOR=9 -DVERSION_MINOR=0 -DVERSION_SECURITY=0 \ - -DVERSION_BUILD=0 -DVERSION_PATCH=0 \ - -DVERSION_STRING='"9-genode.openjdk"' diff --git a/repos/ports/lib/mk/jimage.mk b/repos/ports/lib/mk/jimage.mk deleted file mode 100644 index 9cb88b7bb..000000000 --- a/repos/ports/lib/mk/jimage.mk +++ /dev/null @@ -1,23 +0,0 @@ -LIBS = libc -SHARED_LIB = yes -JDK_BASE = $(call select_from_ports,jdk)/src/app/jdk/jdk/src/java.base -JDK_GENERATED = $(call select_from_ports,jdk_generated)/src/app/jdk - -CC_CXX_WARN_STRICT = - -SRC_CC = endian.cpp \ - imageDecompressor.cpp \ - imageFile.cpp \ - jimage.cpp \ - NativeImageBuffer.cpp \ - osSupport_unix.cpp - -INC_DIR += $(JDK_BASE)/share/native/include \ - $(JDK_BASE)/share/native/libjava \ - $(JDK_BASE)/share/native/libjimage \ - $(JDK_BASE)/unix/native/include \ - $(JDK_BASE)/unix/native/libjava \ - $(JDK_GENERATED)/include/java.base - -vpath %.cpp $(JDK_BASE)/share/native/libjimage -vpath %.cpp $(JDK_BASE)/unix/native/libjimage diff --git a/repos/ports/lib/mk/jli.mk b/repos/ports/lib/mk/jli.mk deleted file mode 100644 index 5035ac4f7..000000000 --- a/repos/ports/lib/mk/jli.mk +++ /dev/null @@ -1,26 +0,0 @@ -LIBS = libc zlib -SHARED_LIB = yes -JDK_BASE = $(call select_from_ports,jdk)/src/app/jdk/jdk/src/java.base - -CC_OLEVEL = -O0 - -SRC_C = args.c \ - java.c \ - java_md_common.c \ - java_md_solinux.c \ - jli_util.c \ - parse_manifest.c \ - splashscreen_stubs.c \ - wildcard.c - - -INC_DIR += $(JDK_BASE)/share/native/include \ - $(JDK_BASE)/share/native/libjli \ - $(JDK_BASE)/unix/native/include \ - $(JDK_BASE)/unix/native/libjli - -CC_C_OPT = -D__linux__ -D__GENODE__ -Dlseek64=lseek - -vpath %.c $(JDK_BASE)/share/native/libjli -vpath %.c $(JDK_BASE)/unix/native/libjli - diff --git a/repos/ports/lib/mk/jnet.mk b/repos/ports/lib/mk/jnet.mk deleted file mode 100644 index 2e5039ea9..000000000 --- a/repos/ports/lib/mk/jnet.mk +++ /dev/null @@ -1,32 +0,0 @@ -LIBS = libc -SHARED_LIB = yes -JDK_BASE = $(call select_from_ports,jdk)/src/app/jdk/jdk/src/java.base -JDK_GENERATED = $(call select_from_ports,jdk_generated)/src/app/jdk - -SRC_C = bsd_close.c \ - net_util.c \ - net_util_md.c \ - InetAddress.c \ - Inet4Address.c \ - Inet4AddressImpl.c \ - Inet6Address.c \ - InetAddressImplFactory.c \ - PlainSocketImpl.c - -INC_DIR += $(JDK_GENERATED)/include/java.base \ - $(JDK_BASE)/share/native/include \ - $(JDK_BASE)/share/native/libjava \ - $(JDK_BASE)/share/native/libnet \ - $(JDK_BASE)/share/native/libnio \ - $(JDK_BASE)/share/native/libnio/ch \ - $(JDK_BASE)/unix/native/include \ - $(JDK_BASE)/unix/native/libjava \ - $(JDK_BASE)/unix/native/libnet \ - $(JDK_BASE)/unix/native/libnio - -CC_C_OPT = -D_ALLBSD_SOURCE -include netinet/in.h -CC_OPT_net_util_md += -include sys/socket.h - -vpath %.c $(JDK_BASE)/unix/native/libnet -vpath %.c $(JDK_BASE)/share/native/libnet -vpath %.c $(JDK_BASE)/macosx/native/libnet diff --git a/repos/ports/lib/mk/jvm.inc b/repos/ports/lib/mk/jvm.inc deleted file mode 100644 index 7e3d6e46c..000000000 --- a/repos/ports/lib/mk/jvm.inc +++ /dev/null @@ -1,610 +0,0 @@ -#/build/jdk/openjdk-jdk9-jdk9/build/linux-x86_64-normal-zero-release/hotspot/variant-zero/gensrc/jvmtifiles/bytecodeInterpreterWithChecks.cpp -# /build/jdk/openjdk-jdk9-jdk9/build/linux-x86_64-normal-zero-release/hotspot/variant-zero/gensrc/jvmtifiles/jvmtiEnter.cpp -# /build/jdk/openjdk-jdk9-jdk9/build/linux-x86_64-normal-zero-release/hotspot/variant-zero/gensrc/jvmtifiles/jvmtiEnterTrace.cpp - -LIBS = stdcxx jzip jimage nio jnet ffi -SHARED_LIB = yes -HOTSPOT_BASE = $(call select_from_ports,jdk)/src/app/jdk/hotspot/src -JDK_GENERATED = $(call select_from_ports,jdk_generated)/src/app/jdk - -CC_CXX_WARN_STRICT = - -include $(REP_DIR)/lib/mk/jdk_version.inc - -CC_OPT += -fpermissive -Wno-comment -Wno-reorder -Wno-switch -Wno-unused-variable \ - -Wno-delete-non-virtual-dtor -Wno-unused-function -Wno-format \ - -Wno-unused-local-typedefs -Wno-unused-but-set-variable \ - -Wno-parentheses - -CC_OPT += -D__GENODE__ - -CC_OPT += -DINCLUDE_SUFFIX_OS=_bsd -DTARGET_COMPILER_gcc -D_ALLBSD_SOURCE -DUSE_LIBRARY_BASED_TLS_ONLY \ - -DVM_LITTLE_ENDIAN -DINCLUDE_SUFFIX_CPU=_zero -DZERO -DCC_INTERP -DTARGET_ARCH_zero \ - -DINCLUDE_JVMCI=0 -DRELEASE -DPRODUCT - - -INC_DIR += $(JDK_GENERATED)/include \ - $(REP_DIR)/src/app/jdk/lib/include \ - $(HOTSPOT_BASE)/os \ - $(HOTSPOT_BASE)/os/bsd/vm \ - $(HOTSPOT_BASE)/os/posix/vm \ - $(HOTSPOT_BASE)/os_cpu/bsd_zero/vm \ - $(HOTSPOT_BASE)/cpu/zero/vm \ - $(HOTSPOT_BASE)/share/vm \ - $(HOTSPOT_BASE)/share/vm/precompiled \ - $(HOTSPOT_BASE)/share/vm/prims - -# -# Genode specific -# -SRC_CC += dummies.cpp - - -# -# Generated -# -SRC_CC += jvmtiEnter.cpp jvmtiEnterTrace.cpp - - -# -# Hotspot -# -SRC_CC += cpu/zero/vm/abstractInterpreter_zero.cpp \ - cpu/zero/vm/assembler_zero.cpp \ - cpu/zero/vm/bytecodeInterpreter_zero.cpp \ - cpu/zero/vm/compiledIC_zero.cpp \ - cpu/zero/vm/cppInterpreterGenerator_zero.cpp \ - cpu/zero/vm/cppInterpreter_zero.cpp \ - cpu/zero/vm/debug_zero.cpp \ - cpu/zero/vm/depChecker_zero.cpp \ - cpu/zero/vm/disassembler_zero.cpp \ - cpu/zero/vm/frame_zero.cpp \ - cpu/zero/vm/icache_zero.cpp \ - cpu/zero/vm/icBuffer_zero.cpp \ - cpu/zero/vm/interpreterRT_zero.cpp \ - cpu/zero/vm/jniFastGetField_zero.cpp \ - cpu/zero/vm/metaspaceShared_zero.cpp \ - cpu/zero/vm/methodHandles_zero.cpp \ - cpu/zero/vm/nativeInst_zero.cpp \ - cpu/zero/vm/register_zero.cpp \ - cpu/zero/vm/relocInfo_zero.cpp \ - cpu/zero/vm/sharedRuntime_zero.cpp \ - cpu/zero/vm/stack_zero.cpp \ - cpu/zero/vm/stubGenerator_zero.cpp \ - cpu/zero/vm/stubRoutines_zero.cpp \ - cpu/zero/vm/vmreg_zero.cpp \ - cpu/zero/vm/vm_version_zero.cpp \ - cpu/zero/vm/vtableStubs_zero.cpp \ - os_cpu/bsd_zero/vm/assembler_bsd_zero.cpp \ - os_cpu/bsd_zero/vm/os_bsd_zero.cpp \ - os_cpu/bsd_zero/vm/thread_bsd_zero.cpp \ - os_cpu/bsd_zero/vm/vm_version_bsd_zero.cpp \ - os/bsd/vm/attachListener_bsd.cpp \ - os/bsd/vm/decoder_machO.cpp \ - os/bsd/vm/jvm_bsd.cpp \ - os/bsd/vm/os_bsd.cpp \ - os/bsd/vm/osThread_bsd.cpp \ - os/bsd/vm/perfMemory_bsd.cpp \ - os/bsd/vm/stubRoutines_bsd.cpp \ - os/bsd/vm/threadCritical_bsd.cpp \ - os/linux/vm/decoder_linux.cpp \ - os/posix/vm/os_posix.cpp \ - os/posix/vm/threadLocalStorage_posix.cpp \ - os/posix/vm/vmError_posix.cpp \ - share/vm/asm/assembler.cpp \ - share/vm/asm/codeBuffer.cpp \ - share/vm/asm/register.cpp \ - share/vm/ci/ciArray.cpp \ - share/vm/ci/ciArrayKlass.cpp \ - share/vm/ci/ciBaseObject.cpp \ - share/vm/ci/ciCallSite.cpp \ - share/vm/ci/ciConstant.cpp \ - share/vm/ci/ciConstantPoolCache.cpp \ - share/vm/ci/ciEnv.cpp \ - share/vm/ci/ciExceptionHandler.cpp \ - share/vm/ci/ciField.cpp \ - share/vm/ci/ciFlags.cpp \ - share/vm/ci/ciInstance.cpp \ - share/vm/ci/ciInstanceKlass.cpp \ - share/vm/ci/ciKlass.cpp \ - share/vm/ci/ciMemberName.cpp \ - share/vm/ci/ciMetadata.cpp \ - share/vm/ci/ciMethodBlocks.cpp \ - share/vm/ci/ciMethod.cpp \ - share/vm/ci/ciMethodData.cpp \ - share/vm/ci/ciMethodHandle.cpp \ - share/vm/ci/ciNullObject.cpp \ - share/vm/ci/ciObjArray.cpp \ - share/vm/ci/ciObjArrayKlass.cpp \ - share/vm/ci/ciObject.cpp \ - share/vm/ci/ciObjectFactory.cpp \ - share/vm/ci/ciReplay.cpp \ - share/vm/ci/ciSignature.cpp \ - share/vm/ci/ciStreams.cpp \ - share/vm/ci/ciSymbol.cpp \ - share/vm/ci/ciTypeArray.cpp \ - share/vm/ci/ciTypeArrayKlass.cpp \ - share/vm/ci/ciType.cpp \ - share/vm/ci/ciUtilities.cpp \ - share/vm/classfile/altHashing.cpp \ - share/vm/classfile/bytecodeAssembler.cpp \ - share/vm/classfile/classFileError.cpp \ - share/vm/classfile/classFileParser.cpp \ - share/vm/classfile/classFileStream.cpp \ - share/vm/classfile/classListParser.cpp \ - share/vm/classfile/classLoader.cpp \ - share/vm/classfile/classLoaderData.cpp \ - share/vm/classfile/classLoaderExt.cpp \ - share/vm/classfile/classLoaderStats.cpp \ - share/vm/classfile/compactHashtable.cpp \ - share/vm/classfile/defaultMethods.cpp \ - share/vm/classfile/dictionary.cpp \ - share/vm/classfile/javaAssertions.cpp \ - share/vm/classfile/javaClasses.cpp \ - share/vm/classfile/klassFactory.cpp \ - share/vm/classfile/loaderConstraints.cpp \ - share/vm/classfile/metadataOnStackMark.cpp \ - share/vm/classfile/moduleEntry.cpp \ - share/vm/classfile/modules.cpp \ - share/vm/classfile/packageEntry.cpp \ - share/vm/classfile/placeholders.cpp \ - share/vm/classfile/resolutionErrors.cpp \ - share/vm/classfile/sharedPathsMiscInfo.cpp \ - share/vm/classfile/stackMapFrame.cpp \ - share/vm/classfile/stackMapTable.cpp \ - share/vm/classfile/stringTable.cpp \ - share/vm/classfile/symbolTable.cpp \ - share/vm/classfile/systemDictionary.cpp \ - share/vm/classfile/verificationType.cpp \ - share/vm/classfile/verifier.cpp \ - share/vm/classfile/vmSymbols.cpp \ - share/vm/code/codeBlob.cpp \ - share/vm/code/codeCache.cpp \ - share/vm/code/compiledIC.cpp \ - share/vm/code/compiledMethod.cpp \ - share/vm/code/compressedStream.cpp \ - share/vm/code/debugInfo.cpp \ - share/vm/code/debugInfoRec.cpp \ - share/vm/code/dependencies.cpp \ - share/vm/code/dependencyContext.cpp \ - share/vm/code/exceptionHandlerTable.cpp \ - share/vm/code/icBuffer.cpp \ - share/vm/code/location.cpp \ - share/vm/code/nmethod.cpp \ - share/vm/code/oopRecorder.cpp \ - share/vm/code/pcDesc.cpp \ - share/vm/code/relocInfo.cpp \ - share/vm/code/relocInfo_ext.cpp \ - share/vm/code/scopeDesc.cpp \ - share/vm/code/stubs.cpp \ - share/vm/code/vmreg.cpp \ - share/vm/code/vtableStubs.cpp \ - share/vm/compiler/abstractCompiler.cpp \ - share/vm/compiler/compileBroker.cpp \ - share/vm/compiler/compileLog.cpp \ - share/vm/compiler/compilerDefinitions.cpp \ - share/vm/compiler/compilerDirectives.cpp \ - share/vm/compiler/compilerOracle.cpp \ - share/vm/compiler/compileTask.cpp \ - share/vm/compiler/directivesParser.cpp \ - share/vm/compiler/disassembler.cpp \ - share/vm/compiler/methodLiveness.cpp \ - share/vm/compiler/methodMatcher.cpp \ - share/vm/compiler/oopMap.cpp \ - share/vm/gc/cms/adaptiveFreeList.cpp \ - share/vm/gc/cms/allocationStats.cpp \ - share/vm/gc/cms/cmsCollectorPolicy.cpp \ - share/vm/gc/cms/cmsLockVerifier.cpp \ - share/vm/gc/cms/cmsOopClosures.cpp \ - share/vm/gc/cms/compactibleFreeListSpace.cpp \ - share/vm/gc/cms/concurrentMarkSweepGeneration.cpp \ - share/vm/gc/cms/concurrentMarkSweepThread.cpp \ - share/vm/gc/cms/freeChunk.cpp \ - share/vm/gc/cms/gSpaceCounters.cpp \ - share/vm/gc/cms/parCardTableModRefBS.cpp \ - share/vm/gc/cms/parNewGeneration.cpp \ - share/vm/gc/cms/parOopClosures.cpp \ - share/vm/gc/cms/promotionInfo.cpp \ - share/vm/gc/cms/vmCMSOperations.cpp \ - share/vm/gc/cms/yieldingWorkgroup.cpp \ - share/vm/gc/g1/collectionSetChooser.cpp \ - share/vm/gc/g1/concurrentG1Refine.cpp \ - share/vm/gc/g1/concurrentG1RefineThread.cpp \ - share/vm/gc/g1/concurrentMarkThread.cpp \ - share/vm/gc/g1/dirtyCardQueue.cpp \ - share/vm/gc/g1/g1Allocator.cpp \ - share/vm/gc/g1/g1Allocator_ext.cpp \ - share/vm/gc/g1/g1AllocRegion.cpp \ - share/vm/gc/g1/g1Analytics.cpp \ - share/vm/gc/g1/g1BiasedArray.cpp \ - share/vm/gc/g1/g1BlockOffsetTable.cpp \ - share/vm/gc/g1/g1CardCounts.cpp \ - share/vm/gc/g1/g1CardLiveData.cpp \ - share/vm/gc/g1/g1CodeBlobClosure.cpp \ - share/vm/gc/g1/g1CodeCacheRemSet.cpp \ - share/vm/gc/g1/g1CollectedHeap.cpp \ - share/vm/gc/g1/g1CollectedHeap_ext.cpp \ - share/vm/gc/g1/g1CollectionSet.cpp \ - share/vm/gc/g1/g1CollectorPolicy.cpp \ - share/vm/gc/g1/g1ConcurrentMark.cpp \ - share/vm/gc/g1/g1ConcurrentMarkObjArrayProcessor.cpp \ - share/vm/gc/g1/g1DefaultPolicy.cpp \ - share/vm/gc/g1/g1EvacFailure.cpp \ - share/vm/gc/g1/g1EvacStats.cpp \ - share/vm/gc/g1/g1FromCardCache.cpp \ - share/vm/gc/g1/g1GCPhaseTimes.cpp \ - share/vm/gc/g1/g1_globals.cpp \ - share/vm/gc/g1/g1HeapSizingPolicy.cpp \ - share/vm/gc/g1/g1HeapSizingPolicy_ext.cpp \ - share/vm/gc/g1/g1HeapTransition.cpp \ - share/vm/gc/g1/g1HeapVerifier.cpp \ - share/vm/gc/g1/g1HotCardCache.cpp \ - share/vm/gc/g1/g1IHOPControl.cpp \ - share/vm/gc/g1/g1MarkSweep.cpp \ - share/vm/gc/g1/g1MarkSweep_ext.cpp \ - share/vm/gc/g1/g1MMUTracker.cpp \ - share/vm/gc/g1/g1MonitoringSupport.cpp \ - share/vm/gc/g1/g1OopClosures.cpp \ - share/vm/gc/g1/g1PageBasedVirtualSpace.cpp \ - share/vm/gc/g1/g1ParScanThreadState.cpp \ - share/vm/gc/g1/g1ParScanThreadState_ext.cpp \ - share/vm/gc/g1/g1RegionToSpaceMapper.cpp \ - share/vm/gc/g1/g1RemSet.cpp \ - share/vm/gc/g1/g1RemSetSummary.cpp \ - share/vm/gc/g1/g1RootClosures.cpp \ - share/vm/gc/g1/g1RootClosures_ext.cpp \ - share/vm/gc/g1/g1RootProcessor.cpp \ - share/vm/gc/g1/g1SATBCardTableModRefBS.cpp \ - share/vm/gc/g1/g1StringDedup.cpp \ - share/vm/gc/g1/g1StringDedupQueue.cpp \ - share/vm/gc/g1/g1StringDedupStat.cpp \ - share/vm/gc/g1/g1StringDedupTable.cpp \ - share/vm/gc/g1/g1StringDedupThread.cpp \ - share/vm/gc/g1/g1SurvivorRegions.cpp \ - share/vm/gc/g1/g1YoungGenSizer.cpp \ - share/vm/gc/g1/g1YoungRemSetSamplingThread.cpp \ - share/vm/gc/g1/heapRegion.cpp \ - share/vm/gc/g1/heapRegionManager.cpp \ - share/vm/gc/g1/heapRegionRemSet.cpp \ - share/vm/gc/g1/heapRegionSet.cpp \ - share/vm/gc/g1/heapRegionTracer.cpp \ - share/vm/gc/g1/heapRegionType.cpp \ - share/vm/gc/g1/hSpaceCounters.cpp \ - share/vm/gc/g1/ptrQueue.cpp \ - share/vm/gc/g1/satbMarkQueue.cpp \ - share/vm/gc/g1/sparsePRT.cpp \ - share/vm/gc/g1/survRateGroup.cpp \ - share/vm/gc/g1/suspendibleThreadSet.cpp \ - share/vm/gc/g1/vm_operations_g1.cpp \ - share/vm/gc/g1/workerDataArray.cpp \ - share/vm/gc/parallel/adjoiningGenerations.cpp \ - share/vm/gc/parallel/adjoiningVirtualSpaces.cpp \ - share/vm/gc/parallel/asPSOldGen.cpp \ - share/vm/gc/parallel/asPSYoungGen.cpp \ - share/vm/gc/parallel/cardTableExtension.cpp \ - share/vm/gc/parallel/gcAdaptivePolicyCounters.cpp \ - share/vm/gc/parallel/gcTaskManager.cpp \ - share/vm/gc/parallel/gcTaskThread.cpp \ - share/vm/gc/parallel/generationSizer.cpp \ - share/vm/gc/parallel/immutableSpace.cpp \ - share/vm/gc/parallel/mutableNUMASpace.cpp \ - share/vm/gc/parallel/mutableSpace.cpp \ - share/vm/gc/parallel/objectStartArray.cpp \ - share/vm/gc/parallel/parallelScavengeHeap.cpp \ - share/vm/gc/parallel/parMarkBitMap.cpp \ - share/vm/gc/parallel/pcTasks.cpp \ - share/vm/gc/parallel/psAdaptiveSizePolicy.cpp \ - share/vm/gc/parallel/psCompactionManager.cpp \ - share/vm/gc/parallel/psGCAdaptivePolicyCounters.cpp \ - share/vm/gc/parallel/psGenerationCounters.cpp \ - share/vm/gc/parallel/psMarkSweep.cpp \ - share/vm/gc/parallel/psMarkSweepDecorator.cpp \ - share/vm/gc/parallel/psOldGen.cpp \ - share/vm/gc/parallel/psParallelCompact.cpp \ - share/vm/gc/parallel/psPromotionLAB.cpp \ - share/vm/gc/parallel/psPromotionManager.cpp \ - share/vm/gc/parallel/psScavenge.cpp \ - share/vm/gc/parallel/psTasks.cpp \ - share/vm/gc/parallel/psVirtualspace.cpp \ - share/vm/gc/parallel/psYoungGen.cpp \ - share/vm/gc/parallel/spaceCounters.cpp \ - share/vm/gc/parallel/vmPSOperations.cpp \ - share/vm/gc/serial/cSpaceCounters.cpp \ - share/vm/gc/serial/defNewGeneration.cpp \ - share/vm/gc/serial/genMarkSweep.cpp \ - share/vm/gc/serial/markSweep.cpp \ - share/vm/gc/serial/tenuredGeneration.cpp \ - share/vm/gc/shared/adaptiveSizePolicy.cpp \ - share/vm/gc/shared/ageTable.cpp \ - share/vm/gc/shared/ageTableTracer.cpp \ - share/vm/gc/shared/allocTracer.cpp \ - share/vm/gc/shared/barrierSet.cpp \ - share/vm/gc/shared/blockOffsetTable.cpp \ - share/vm/gc/shared/cardGeneration.cpp \ - share/vm/gc/shared/cardTableModRefBS.cpp \ - share/vm/gc/shared/cardTableModRefBSForCTRS.cpp \ - share/vm/gc/shared/cardTableRS.cpp \ - share/vm/gc/shared/collectedHeap.cpp \ - share/vm/gc/shared/collectorCounters.cpp \ - share/vm/gc/shared/collectorPolicy.cpp \ - share/vm/gc/shared/concurrentGCThread.cpp \ - share/vm/gc/shared/gcCause.cpp \ - share/vm/gc/shared/gcId.cpp \ - share/vm/gc/shared/gcLocker.cpp \ - share/vm/gc/shared/gcPolicyCounters.cpp \ - share/vm/gc/shared/gcStats.cpp \ - share/vm/gc/shared/gcTimer.cpp \ - share/vm/gc/shared/gcTrace.cpp \ - share/vm/gc/shared/gcTraceSend.cpp \ - share/vm/gc/shared/gcTraceTime.cpp \ - share/vm/gc/shared/gcUtil.cpp \ - share/vm/gc/shared/genCollectedHeap.cpp \ - share/vm/gc/shared/generationCounters.cpp \ - share/vm/gc/shared/generation.cpp \ - share/vm/gc/shared/generationSpec.cpp \ - share/vm/gc/shared/genOopClosures.cpp \ - share/vm/gc/shared/objectCountEventSender.cpp \ - share/vm/gc/shared/plab.cpp \ - share/vm/gc/shared/preservedMarks.cpp \ - share/vm/gc/shared/referencePolicy.cpp \ - share/vm/gc/shared/referenceProcessor.cpp \ - share/vm/gc/shared/space.cpp \ - share/vm/gc/shared/spaceDecorator.cpp \ - share/vm/gc/shared/strongRootsScope.cpp \ - share/vm/gc/shared/taskqueue.cpp \ - share/vm/gc/shared/threadLocalAllocBuffer.cpp \ - share/vm/gc/shared/vmGCOperations.cpp \ - share/vm/gc/shared/workgroup.cpp \ - share/vm/interpreter/abstractInterpreter.cpp \ - share/vm/interpreter/bytecode.cpp \ - share/vm/interpreter/bytecodeHistogram.cpp \ - share/vm/interpreter/bytecodeInterpreter.cpp \ - share/vm/interpreter/bytecodeInterpreterWithChecks.cpp \ - share/vm/interpreter/bytecodes.cpp \ - share/vm/interpreter/bytecodeStream.cpp \ - share/vm/interpreter/bytecodeTracer.cpp \ - share/vm/interpreter/cppInterpreter.cpp \ - share/vm/interpreter/cppInterpreterGenerator.cpp \ - share/vm/interpreter/interpreter.cpp \ - share/vm/interpreter/interpreterRuntime.cpp \ - share/vm/interpreter/invocationCounter.cpp \ - share/vm/interpreter/linkResolver.cpp \ - share/vm/interpreter/oopMapCache.cpp \ - share/vm/interpreter/rewriter.cpp \ - share/vm/interpreter/templateInterpreter.cpp \ - share/vm/interpreter/templateInterpreterGenerator.cpp \ - share/vm/interpreter/templateTable.cpp \ - share/vm/logging/logConfiguration.cpp \ - share/vm/logging/logDecorations.cpp \ - share/vm/logging/logDecorators.cpp \ - share/vm/logging/logDiagnosticCommand.cpp \ - share/vm/logging/logFileOutput.cpp \ - share/vm/logging/logFileStreamOutput.cpp \ - share/vm/logging/logLevel.cpp \ - share/vm/logging/logMessageBuffer.cpp \ - share/vm/logging/logOutput.cpp \ - share/vm/logging/logOutputList.cpp \ - share/vm/logging/logStream.cpp \ - share/vm/logging/logTag.cpp \ - share/vm/logging/logTagLevelExpression.cpp \ - share/vm/logging/logTagSet.cpp \ - share/vm/logging/logTagSetDescriptions.cpp \ - share/vm/memory/allocation.cpp \ - share/vm/memory/binaryTreeDictionary.cpp \ - share/vm/memory/filemap.cpp \ - share/vm/memory/freeBlockDictionary.cpp \ - share/vm/memory/freeList.cpp \ - share/vm/memory/guardedMemory.cpp \ - share/vm/memory/heap.cpp \ - share/vm/memory/heapInspection.cpp \ - share/vm/memory/iterator.cpp \ - share/vm/memory/memRegion.cpp \ - share/vm/memory/metachunk.cpp \ - share/vm/memory/metaspaceCounters.cpp \ - share/vm/memory/metaspace.cpp \ - share/vm/memory/metaspaceShared.cpp \ - share/vm/memory/metaspaceTracer.cpp \ - share/vm/memory/oopFactory.cpp \ - share/vm/memory/resourceArea.cpp \ - share/vm/memory/universe.cpp \ - share/vm/memory/universe_ext.cpp \ - share/vm/memory/virtualspace.cpp \ - share/vm/oops/annotations.cpp \ - share/vm/oops/arrayKlass.cpp \ - share/vm/oops/compiledICHolder.cpp \ - share/vm/oops/constantPool.cpp \ - share/vm/oops/constMethod.cpp \ - share/vm/oops/cpCache.cpp \ - share/vm/oops/generateOopMap.cpp \ - share/vm/oops/instanceKlass.cpp \ - share/vm/oops/instanceMirrorKlass.cpp \ - share/vm/oops/instanceOop.cpp \ - share/vm/oops/instanceRefKlass.cpp \ - share/vm/oops/klass.cpp \ - share/vm/oops/klassVtable.cpp \ - share/vm/oops/markOop.cpp \ - share/vm/oops/metadata.cpp \ - share/vm/oops/methodCounters.cpp \ - share/vm/oops/method.cpp \ - share/vm/oops/methodData.cpp \ - share/vm/oops/objArrayKlass.cpp \ - share/vm/oops/objArrayOop.cpp \ - share/vm/oops/oop.cpp \ - share/vm/oops/oopsHierarchy.cpp \ - share/vm/oops/symbol.cpp \ - share/vm/oops/typeArrayKlass.cpp \ - share/vm/prims/evmCompat.cpp \ - share/vm/prims/forte.cpp \ - share/vm/prims/jniCheck.cpp \ - share/vm/prims/jni.cpp \ - share/vm/prims/jniFastGetField.cpp \ - share/vm/prims/jvm.cpp \ - share/vm/prims/jvmtiClassFileReconstituter.cpp \ - share/vm/prims/jvmtiCodeBlobEvents.cpp \ - share/vm/prims/jvmtiEnvBase.cpp \ - share/vm/prims/jvmtiEnv.cpp \ - share/vm/prims/jvmtiEnvThreadState.cpp \ - share/vm/prims/jvmtiEventController.cpp \ - share/vm/prims/jvmtiExport.cpp \ - share/vm/prims/jvmtiExtensions.cpp \ - share/vm/prims/jvmtiGetLoadedClasses.cpp \ - share/vm/prims/jvmtiImpl.cpp \ - share/vm/prims/jvmtiManageCapabilities.cpp \ - share/vm/prims/jvmtiRawMonitor.cpp \ - share/vm/prims/jvmtiRedefineClasses.cpp \ - share/vm/prims/jvmtiTagMap.cpp \ - share/vm/prims/jvmtiThreadState.cpp \ - share/vm/prims/jvmtiTrace.cpp \ - share/vm/prims/jvmtiUtil.cpp \ - share/vm/prims/methodComparator.cpp \ - share/vm/prims/methodHandles.cpp \ - share/vm/prims/nativeLookup.cpp \ - share/vm/prims/perf.cpp \ - share/vm/prims/privilegedStack.cpp \ - share/vm/prims/stackwalk.cpp \ - share/vm/prims/unsafe.cpp \ - share/vm/prims/wbtestmethods/parserTests.cpp \ - share/vm/prims/whitebox.cpp \ - share/vm/prims/whitebox_ext.cpp \ - share/vm/runtime/advancedThresholdPolicy.cpp \ - share/vm/runtime/arguments.cpp \ - share/vm/runtime/arguments_ext.cpp \ - share/vm/runtime/basicLock.cpp \ - share/vm/runtime/biasedLocking.cpp \ - share/vm/runtime/commandLineFlagConstraintList.cpp \ - share/vm/runtime/commandLineFlagConstraintsCompiler.cpp \ - share/vm/runtime/commandLineFlagConstraintsGC.cpp \ - share/vm/runtime/commandLineFlagConstraintsRuntime.cpp \ - share/vm/runtime/commandLineFlagRangeList.cpp \ - share/vm/runtime/commandLineFlagWriteableList.cpp \ - share/vm/runtime/compilationPolicy.cpp \ - share/vm/runtime/deoptimization.cpp \ - share/vm/runtime/fieldDescriptor.cpp \ - share/vm/runtime/fieldType.cpp \ - share/vm/runtime/fprofiler.cpp \ - share/vm/runtime/frame.cpp \ - share/vm/runtime/globals.cpp \ - share/vm/runtime/handles.cpp \ - share/vm/runtime/icache.cpp \ - share/vm/runtime/init.cpp \ - share/vm/runtime/interfaceSupport.cpp \ - share/vm/runtime/javaCalls.cpp \ - share/vm/runtime/java.cpp \ - share/vm/runtime/jniHandles.cpp \ - share/vm/runtime/jniPeriodicChecker.cpp \ - share/vm/runtime/memprofiler.cpp \ - share/vm/runtime/monitorChunk.cpp \ - share/vm/runtime/mutex.cpp \ - share/vm/runtime/mutexLocker.cpp \ - share/vm/runtime/objectMonitor.cpp \ - share/vm/runtime/orderAccess.cpp \ - share/vm/runtime/os.cpp \ - share/vm/runtime/osThread.cpp \ - share/vm/runtime/park.cpp \ - share/vm/runtime/perfData.cpp \ - share/vm/runtime/perfMemory.cpp \ - share/vm/runtime/reflection.cpp \ - share/vm/runtime/reflectionUtils.cpp \ - share/vm/runtime/relocator.cpp \ - share/vm/runtime/rframe.cpp \ - share/vm/runtime/rtmLocking.cpp \ - share/vm/runtime/safepoint.cpp \ - share/vm/runtime/serviceThread.cpp \ - share/vm/runtime/sharedRuntime.cpp \ - share/vm/runtime/sharedRuntimeTrans.cpp \ - share/vm/runtime/sharedRuntimeTrig.cpp \ - share/vm/runtime/signature.cpp \ - share/vm/runtime/simpleThresholdPolicy.cpp \ - share/vm/runtime/stackValueCollection.cpp \ - share/vm/runtime/stackValue.cpp \ - share/vm/runtime/statSampler.cpp \ - share/vm/runtime/stubCodeGenerator.cpp \ - share/vm/runtime/stubRoutines.cpp \ - share/vm/runtime/sweeper.cpp \ - share/vm/runtime/synchronizer.cpp \ - share/vm/runtime/task.cpp \ - share/vm/runtime/thread.cpp \ - share/vm/runtime/thread_ext.cpp \ - share/vm/runtime/timer.cpp \ - share/vm/runtime/timerTrace.cpp \ - share/vm/runtime/unhandledOops.cpp \ - share/vm/runtime/vframeArray.cpp \ - share/vm/runtime/vframe.cpp \ - share/vm/runtime/vframe_hp.cpp \ - share/vm/runtime/vm_operations.cpp \ - share/vm/runtime/vmStructs.cpp \ - share/vm/runtime/vmThread.cpp \ - share/vm/runtime/vm_version.cpp \ - share/vm/services/attachListener.cpp \ - share/vm/services/classLoadingService.cpp \ - share/vm/services/diagnosticArgument.cpp \ - share/vm/services/diagnosticCommand.cpp \ - share/vm/services/diagnosticFramework.cpp \ - share/vm/services/dtraceAttacher.cpp \ - share/vm/services/g1MemoryPool.cpp \ - share/vm/services/gcNotifier.cpp \ - share/vm/services/heapDumper.cpp \ - share/vm/services/lowMemoryDetector.cpp \ - share/vm/services/mallocSiteTable.cpp \ - share/vm/services/mallocTracker.cpp \ - share/vm/services/management.cpp \ - share/vm/services/memBaseline.cpp \ - share/vm/services/memoryManager.cpp \ - share/vm/services/memoryPool.cpp \ - share/vm/services/memoryService.cpp \ - share/vm/services/memReporter.cpp \ - share/vm/services/memTracker.cpp \ - share/vm/services/nmtCommon.cpp \ - share/vm/services/nmtDCmd.cpp \ - share/vm/services/psMemoryPool.cpp \ - share/vm/services/runtimeService.cpp \ - share/vm/services/threadService.cpp \ - share/vm/services/virtualMemoryTracker.cpp \ - share/vm/services/writeableFlags.cpp \ - share/vm/trace/traceBackend.cpp \ - share/vm/trace/traceStream.cpp \ - share/vm/utilities/accessFlags.cpp \ - share/vm/utilities/bitMap.cpp \ - share/vm/utilities/constantTag.cpp \ - share/vm/utilities/copy.cpp \ - share/vm/utilities/debug.cpp \ - share/vm/utilities/decoder.cpp \ - share/vm/utilities/decoder_elf.cpp \ - share/vm/utilities/elfFile.cpp \ - share/vm/utilities/elfFuncDescTable.cpp \ - share/vm/utilities/elfStringTable.cpp \ - share/vm/utilities/elfSymbolTable.cpp \ - share/vm/utilities/errorReporter.cpp \ - share/vm/utilities/events.cpp \ - share/vm/utilities/exceptions.cpp \ - share/vm/utilities/globalDefinitions.cpp \ - share/vm/utilities/growableArray.cpp \ - share/vm/utilities/hashtable.cpp \ - share/vm/utilities/histogram.cpp \ - share/vm/utilities/internalVMTests.cpp \ - share/vm/utilities/intHisto.cpp \ - share/vm/utilities/json.cpp \ - share/vm/utilities/nativeCallStack.cpp \ - share/vm/utilities/numberSeq.cpp \ - share/vm/utilities/ostream.cpp \ - share/vm/utilities/preserveException.cpp \ - share/vm/utilities/sizes.cpp \ - share/vm/utilities/stringUtils.cpp \ - share/vm/utilities/ticks.cpp \ - share/vm/utilities/utf8.cpp \ - share/vm/utilities/vmError.cpp \ - share/vm/utilities/xmlstream.cpp - -CC_OPT_share/vm/runtime/vm_version += $(JDK_VERSION) \ - -DHOTSPOT_VERSION_STRING='"9-internal+0-adhoc.genode.openjdk-jdk9-jdk9"'\ - -DDEBUG_LEVEL='"release"' -DHOTSPOT_VM_DISTRO='"OpenJDK"' \ - -DHOTSPOT_BUILD_USER='"genode"' - -CC_OPT_share/vm/interpreter/bytecodeInterpreterWithChecks += -DVM_JVMTI - -vpath dummies.cpp $(REP_DIR)/src/app/jdk/lib/jvm -vpath jvmtiEnter.cpp $(JDK_GENERATED)/src -vpath jvmtiEnterTrace.cpp $(JDK_GENERATED)/src -vpath %.cpp $(HOTSPOT_BASE) - -# vi: set ft=make : diff --git a/repos/ports/lib/mk/jzip.mk b/repos/ports/lib/mk/jzip.mk deleted file mode 100644 index 6de6ad73d..000000000 --- a/repos/ports/lib/mk/jzip.mk +++ /dev/null @@ -1,16 +0,0 @@ -LIBS = libc zlib -SHARED_LIB = yes -JDK_BASE = $(call select_from_ports,jdk)/src/app/jdk/jdk/src/java.base -JDK_GENERATED = $(call select_from_ports,jdk_generated)/src/app/jdk - -SRC_C = Adler32.c CRC32.c Deflater.c Inflater.c zip_util.c - -INC_DIR += $(JDK_BASE)/share/native/include \ - $(JDK_BASE)/share/native/libjava \ - $(JDK_BASE)/unix/native/include \ - $(JDK_BASE)/unix/native/libjava \ - $(JDK_GENERATED)/include/java.base - -CC_C_OPT = -D_ALLBSD_SOURCE - -vpath %.c $(JDK_BASE)/share/native/libzip diff --git a/repos/ports/lib/mk/nio.mk b/repos/ports/lib/mk/nio.mk deleted file mode 100644 index 6ed2e2615..000000000 --- a/repos/ports/lib/mk/nio.mk +++ /dev/null @@ -1,42 +0,0 @@ -LIBS = libc -SHARED_LIB = yes -JDK_BASE = $(call select_from_ports,jdk)/src/app/jdk/jdk/src/java.base -JDK_GENERATED = $(call select_from_ports,jdk_generated)/src/app/jdk - -SRC_C = fs/UnixNativeDispatcher.c \ - fs/UnixCopyFile.c \ - MappedByteBuffer.c \ - ch/UnixAsynchronousServerSocketChannelImpl.c \ - ch/FileKey.c \ - ch/UnixAsynchronousSocketChannelImpl.c \ - ch/SocketDispatcher.c \ - ch/NativeThread.c \ - ch/DatagramChannelImpl.c \ - ch/FileChannelImpl.c \ - ch/PollArrayWrapper.c \ - ch/InheritedChannel.c \ - ch/Net.c \ - ch/FileDispatcherImpl.c \ - ch/IOUtil.c \ - ch/DatagramDispatcher.c \ - ch/ServerSocketChannelImpl.c \ - ch/SocketChannelImpl.c - - -INC_DIR += $(JDK_GENERATED)/include/java.base \ - $(JDK_BASE)/share/native/include \ - $(JDK_BASE)/share/native/libjava \ - $(JDK_BASE)/share/native/libnet \ - $(JDK_BASE)/share/native/libnio \ - $(JDK_BASE)/share/native/libnio/ch \ - $(JDK_BASE)/unix/native/include \ - $(JDK_BASE)/unix/native/libjava \ - $(JDK_BASE)/unix/native/libnet \ - $(JDK_BASE)/unix/native/libnio - -CC_C_OPT = -D_ALLBSD_SOURCE -include netinet/in.h - -CC_OPT_ch/Net += -DIPV6_ADD_MEMBERSHIP=IPV6_JOIN_GROUP -DIPV6_DROP_MEMBERSHIP=IPV6_LEAVE_GROUP -CC_OPT_net_util_md += -include sys/socket.h - -vpath %.c $(JDK_BASE)/unix/native/libnio diff --git a/repos/ports/lib/mk/spec/arm/java.mk b/repos/ports/lib/mk/spec/arm/java.mk deleted file mode 100644 index ad243f0ba..000000000 --- a/repos/ports/lib/mk/spec/arm/java.mk +++ /dev/null @@ -1,3 +0,0 @@ -CC_OPT = -DARCHPROPNAME='"arm"' - -include $(REP_DIR)/lib/mk/java.inc diff --git a/repos/ports/lib/mk/spec/arm/jvm.mk b/repos/ports/lib/mk/spec/arm/jvm.mk deleted file mode 100644 index 271e117ba..000000000 --- a/repos/ports/lib/mk/spec/arm/jvm.mk +++ /dev/null @@ -1,4 +0,0 @@ -CC_OPT = -DHOTSPOT_LIB_ARCH='"arm"' -DARM -DARM32 \ - -DZERO_LIBARCH='"arm"' - -include $(REP_DIR)/lib/mk/jvm.inc diff --git a/repos/ports/lib/mk/spec/x86_64/java.mk b/repos/ports/lib/mk/spec/x86_64/java.mk deleted file mode 100644 index 6a307554b..000000000 --- a/repos/ports/lib/mk/spec/x86_64/java.mk +++ /dev/null @@ -1,3 +0,0 @@ -CC_OPT = -DARCHPROPNAME='"amd64"' - -include $(REP_DIR)/lib/mk/java.inc diff --git a/repos/ports/lib/mk/spec/x86_64/jvm.mk b/repos/ports/lib/mk/spec/x86_64/jvm.mk deleted file mode 100644 index 72c51b3c7..000000000 --- a/repos/ports/lib/mk/spec/x86_64/jvm.mk +++ /dev/null @@ -1,4 +0,0 @@ -CC_OPT = -DAMD64 -DHOTSPOT_LIB_ARCH='"amd64"' \ - -DZERO_LIBARCH='"amd64"' - -include $(REP_DIR)/lib/mk/jvm.inc diff --git a/repos/ports/ports/jdk.hash b/repos/ports/ports/jdk.hash deleted file mode 100644 index 4783a6f33..000000000 --- a/repos/ports/ports/jdk.hash +++ /dev/null @@ -1 +0,0 @@ -ce1c22ae10fce9ba28837e47c25262a1b819e4ad diff --git a/repos/ports/ports/jdk.port b/repos/ports/ports/jdk.port deleted file mode 100644 index 0a90441ff..000000000 --- a/repos/ports/ports/jdk.port +++ /dev/null @@ -1,22 +0,0 @@ -LICENSE := GPLv2 -VERSION := 64892f1c9874938dfcdc235b5c051dd761cdd833 -DOWNLOADS := jdk.archive - -NAME(jdk) := jdk.tgz -URL(jdk) := https://api.github.com/repos/dmlloyd/openjdk/tarball/$(VERSION) -SHA(jdk) := d5b032d5d312148d1c15cde975aa43c4dfa4f2441472d70270ffd6aa22a33694 -DIR(jdk) := src/app/jdk - -PATCHES := $(addprefix src/app/jdk/patches/,jdk.patch arm.patch size.patch \ - pollselectorprovider.patch os_bsd.patch \ - os_bsd_zero.patch) -PATCH_OPT := -p1 -d src/app/jdk - -gen_file := src/app/jdk/hotspot/src/share/vm/interpreter/bytecodeInterpreterWithChecks.cpp - -default: $(gen_file) - -$(gen_file): _patch - $(VERBOSE)cp $(@D)/bytecodeInterpreter.cpp $(gen_file) - -# vi: set ft=make : diff --git a/repos/ports/ports/jdk_generated.hash b/repos/ports/ports/jdk_generated.hash deleted file mode 100644 index 3acc0a03e..000000000 --- a/repos/ports/ports/jdk_generated.hash +++ /dev/null @@ -1 +0,0 @@ -a122728151284665ca99aa71cec49a81347fac76 diff --git a/repos/ports/ports/jdk_generated.port b/repos/ports/ports/jdk_generated.port deleted file mode 100644 index 9f8a4254a..000000000 --- a/repos/ports/ports/jdk_generated.port +++ /dev/null @@ -1,9 +0,0 @@ -LICENSE := GPLv2 -VERSION := git -DOWNLOADS := jdk_generated.git - -URL(jdk_generated) := https://github.com/ssumpf/jdk_generated.git -REV(jdk_generated) := cede347a20501628db7feb43e4beacefdb6761b2 -DIR(jdk_generated) := src/app/jdk - -# vi: set ft=make : diff --git a/repos/ports/run/java.run b/repos/ports/run/java.run deleted file mode 100644 index 5853c9397..000000000 --- a/repos/ports/run/java.run +++ /dev/null @@ -1,106 +0,0 @@ -set build_components { - core init - drivers/timer - app/jdk/java -} - -build $build_components -create_boot_directory - -proc copy_test_data { } { - set ::env(MAKEFLAGS) s - set jdk_data [exec [genode_dir]/tool/ports/current jdk_generated]/src/app/jdk/bin - exec cp $jdk_data/classes.tar bin/. - exec cp $jdk_data/hello.tar bin/. - exec cp $jdk_data/tzdb.dat bin/. -} - -copy_test_data - -set config { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2000-01-01 00:00 - - - - - - - -server KNOWN --client IGNORE - - - - - - - - - - - - - - - - -} - -install_config $config - -set boot_modules { - core init ld.lib.so timer - java jli.lib.so - java.lib.so jvm.lib.so jzip.lib.so jimage.lib.so - libc.lib.so libm.lib.so libc_pipe.lib.so - zlib.lib.so nio.lib.so jnet.lib.so - posix.lib.so stdcxx.lib.so ffi.lib.so - vfs.lib.so - classes.tar hello.tar -} - - -build_boot_image $boot_modules - -append qemu_args " -nographic" - -run_genode_until {.*Hello, Genode.*} 180 - -exec rm bin/classes.tar bin/hello.tar bin/tzdb.dat diff --git a/repos/ports/src/app/jdk/java/target.mk b/repos/ports/src/app/jdk/java/target.mk deleted file mode 100644 index f7b7f82ac..000000000 --- a/repos/ports/src/app/jdk/java/target.mk +++ /dev/null @@ -1,8 +0,0 @@ -TARGET = java -SRC_C = main.c -LIBS = jli java jvm libc posix libc_pipe - -CC_C_OPT = -DVERSION_STRING='"9-genode.openjdk"' -D__GENODE__ - -JDK_PATH = $(call select_from_ports,jdk)/src/app/jdk -vpath main.c $(JDK_PATH)/jdk/src/java.base/share/native/launcher diff --git a/repos/ports/src/app/jdk/lib/include/errno.h b/repos/ports/src/app/jdk/lib/include/errno.h deleted file mode 100644 index 052a9211f..000000000 --- a/repos/ports/src/app/jdk/lib/include/errno.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef _INCLUDE__ERRNO_H_ -#define _INCLUDE__ERRNO_H_ - -#include - -#define ENOSTR 60 -#define ENODATA 61 -#define ETIME 62 -#define ENOSR 63 - -#endif /* _INCLUDE__ERRNO_H_ */ diff --git a/repos/ports/src/app/jdk/lib/include/os_bsd.hpp b/repos/ports/src/app/jdk/lib/include/os_bsd.hpp deleted file mode 100644 index 299ff5aec..000000000 --- a/repos/ports/src/app/jdk/lib/include/os_bsd.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef _INCLUDE__OS_BSD_HPP_ -#define _INCLUDE__OS_BSD_HPP_ - -#include - -static int cmpxchg(int oldval, int newval, volatile int *ptr); - -#endif /* _INCLUDE__OS_BSD_HPP_ */ diff --git a/repos/ports/src/app/jdk/lib/include/ucontext.h b/repos/ports/src/app/jdk/lib/include/ucontext.h deleted file mode 100644 index 73c2166c8..000000000 --- a/repos/ports/src/app/jdk/lib/include/ucontext.h +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/repos/ports/src/app/jdk/lib/java/math_genode.c b/repos/ports/src/app/jdk/lib/java/math_genode.c deleted file mode 100644 index c0fb5a16d..000000000 --- a/repos/ports/src/app/jdk/lib/java/math_genode.c +++ /dev/null @@ -1,18 +0,0 @@ -#include - -double jacos(double d) { return acos(d); } -double jasin(double d) { return asin(d); } -double jatan(double d) { return atan(d); } -double jatan2(double d1, double d2) { return atan2(d1, d2); } -double jcos(double d) { return cos(d); } -double jcosh(double d) { return cosh(d); } -double jexpm1(double d) { return expm1(d); } -double jlog(double d) { return log(d); } -double jlog10(double d) { return log10(d); } -double jlog1p(double d) { return log1p(d); } -double jremainder(double d1, double d2) { return remainder(d1, d2); } -double jsin(double d) { return sin(d); } -double jsinh(double d) { return sinh(d); } -double jsqrt(double d) { return sqrt(d); } -double jtan(double d) { return tan(d); } -double jtanh(double d) { return tanh(d); } diff --git a/repos/ports/src/app/jdk/lib/java/target.mk b/repos/ports/src/app/jdk/lib/java/target.mk deleted file mode 100644 index 3a0ad9090..000000000 --- a/repos/ports/src/app/jdk/lib/java/target.mk +++ /dev/null @@ -1 +0,0 @@ -LIBS = java diff --git a/repos/ports/src/app/jdk/lib/jvm/dummies.cpp b/repos/ports/src/app/jdk/lib/jvm/dummies.cpp deleted file mode 100644 index a1fd475af..000000000 --- a/repos/ports/src/app/jdk/lib/jvm/dummies.cpp +++ /dev/null @@ -1,97 +0,0 @@ -#include -#include - -extern "C" { -#include -#include -#include -#include -#include -#include -} - -#if 0 -#define WARN_NOT_IMPL Genode::warning(__func__, " not implemented (jvm)"); -#else -#define WARN_NOT_IMPL -#endif - -extern "C" void collector_func_load(char* name, - void* null_argument_1, - void* null_argument_2, - void *vaddr, - int size, - int zero_argument, - void* null_argument_3) -{ } - - -int getpwuid_r(uid_t uid, struct passwd *pwd, - char *buf, size_t buflen, struct passwd **result) -{ - *result = nullptr; - return -1; -} - - -int getpwnam_r(const char *name, struct passwd *pwd, - char *buf, size_t buflen, struct passwd **result) -{ - WARN_NOT_IMPL; - return -1; -} - - -int mincore(const void *, size_t, char *) -{ - WARN_NOT_IMPL; - return -1; -} - - -int msync(void *addr, size_t length, int flags) -{ - WARN_NOT_IMPL; - return -1; -} - - -int lchown(const char *pathname, uid_t owner, gid_t group) -{ - WARN_NOT_IMPL; - return -1; -} - - -int futimes(int fd, const struct timeval tv[2]) -{ - WARN_NOT_IMPL; - return -1; -} - - -ssize_t sendmsg(int sockfd, const struct msghdr *msg, int flags) -{ - WARN_NOT_IMPL; - return -1; -} - - -int socketpair(int domain, int type, int protocol, int sv[2]) -{ - WARN_NOT_IMPL; - return 0; -} - -int sigaction(int signum, const struct sigaction *act, - struct sigaction *oldact) -{ - WARN_NOT_IMPL; - return 0; -} - - -extern "C" void backtrace() -{ - Genode::backtrace(); -} diff --git a/repos/ports/src/app/jdk/lib/jvm/target.mk b/repos/ports/src/app/jdk/lib/jvm/target.mk deleted file mode 100644 index af67ffa4d..000000000 --- a/repos/ports/src/app/jdk/lib/jvm/target.mk +++ /dev/null @@ -1 +0,0 @@ -LIBS = jvm diff --git a/repos/ports/src/app/jdk/patches/arm.patch b/repos/ports/src/app/jdk/patches/arm.patch deleted file mode 100644 index 322c0d616..000000000 --- a/repos/ports/src/app/jdk/patches/arm.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/hotspot/src/os_cpu/bsd_zero/vm/atomic_bsd_zero.hpp b/hotspot/src/os_cpu/bsd_zero/vm/atomic_bsd_zero.hpp -index e808340..560a8d3 100644 ---- a/hotspot/src/os_cpu/bsd_zero/vm/atomic_bsd_zero.hpp -+++ b/hotspot/src/os_cpu/bsd_zero/vm/atomic_bsd_zero.hpp -@@ -111,8 +111,12 @@ static inline int m68k_lock_test_and_set(volatile int *ptr, int newval) { - */ - - typedef int (__kernel_cmpxchg_t)(int oldval, int newval, volatile int *ptr); --#define __kernel_cmpxchg (*(__kernel_cmpxchg_t *) 0xffff0fc0) - -+#ifdef __GENODE__ -+#define __kernel_cmpxchg os::cmpxchg -+#else -+#define __kernel_cmpxchg (*(__kernel_cmpxchg_t *) 0xffff0fc0) -+#endif - - - /* Perform an atomic compare and swap: if the current value of `*PTR' -diff --git a/hotspot/src/os_cpu/bsd_zero/vm/orderAccess_bsd_zero.inline.hpp b/hotspot/src/os_cpu/bsd_zero/vm/orderAccess_bsd_zero.inline.hpp -index fb3017c..f5c2d37 100644 ---- a/hotspot/src/os_cpu/bsd_zero/vm/orderAccess_bsd_zero.inline.hpp -+++ b/hotspot/src/os_cpu/bsd_zero/vm/orderAccess_bsd_zero.inline.hpp -@@ -37,7 +37,13 @@ - * helper for all gcc versions so it is unreliable to use as well. - */ - typedef void (__kernel_dmb_t) (void); -+ -+#ifdef __GENODE__ -+static inline void __kernel_dmb(void) { asm volatile ("dmb ish": : :"memory"); } -+#else - #define __kernel_dmb (*(__kernel_dmb_t *) 0xffff0fa0) -+#endif -+ - - #define FULL_MEM_BARRIER __kernel_dmb() - #define LIGHT_MEM_BARRIER __kernel_dmb() diff --git a/repos/ports/src/app/jdk/patches/jdk.patch b/repos/ports/src/app/jdk/patches/jdk.patch deleted file mode 100644 index 0737da414..000000000 --- a/repos/ports/src/app/jdk/patches/jdk.patch +++ /dev/null @@ -1,101 +0,0 @@ -commit 9521d3210cb2979888d3c9ed5a7c8e0e4dd548da -Author: Sebastian Sumpf -Date: Wed Sep 27 09:58:20 2017 +0200 - - hotspot: Genode patches - -diff --git a/hotspot/src/cpu/x86/vm/vm_version_x86.cpp b/hotspot/src/cpu/x86/vm/vm_version_x86.cpp -index 197079ba1..b1972ca31 100644 ---- a/hotspot/src/cpu/x86/vm/vm_version_x86.cpp -+++ b/hotspot/src/cpu/x86/vm/vm_version_x86.cpp -@@ -426,7 +426,7 @@ class VM_Version_StubGenerator: public StubCodeGenerator { - __ xorl(rsi, rsi); - VM_Version::set_cpuinfo_segv_addr(__ pc()); - // Generate SEGV -- __ movl(rax, Address(rsi, 0)); -+ //__ movl(rax, Address(rsi, 0)); - - VM_Version::set_cpuinfo_cont_addr(__ pc()); - // Returns here after signal. Save xmm0 to check it later. -diff --git a/hotspot/src/os/bsd/vm/jvm_bsd.h b/hotspot/src/os/bsd/vm/jvm_bsd.h -index f099198d1..5fa636a7d 100644 ---- a/hotspot/src/os/bsd/vm/jvm_bsd.h -+++ b/hotspot/src/os/bsd/vm/jvm_bsd.h -@@ -68,7 +68,7 @@ - #define AGENT_ONUNLOAD_SYMBOLS {"Agent_OnUnload"} - #define AGENT_ONATTACH_SYMBOLS {"Agent_OnAttach"} - --#define JNI_LIB_PREFIX "lib" -+#define JNI_LIB_PREFIX "" - #ifdef __APPLE__ - #define JNI_LIB_SUFFIX ".dylib" - #else -diff --git a/hotspot/src/os/bsd/vm/os_bsd.inline.hpp b/hotspot/src/os/bsd/vm/os_bsd.inline.hpp -index 3a405dec2..e5963f3fc 100644 ---- a/hotspot/src/os/bsd/vm/os_bsd.inline.hpp -+++ b/hotspot/src/os/bsd/vm/os_bsd.inline.hpp -@@ -44,7 +44,7 @@ inline bool os::obsolete_option(const JavaVMOption *option) { - } - - inline bool os::uses_stack_guard_pages() { -- return true; -+ return false; - } - - inline bool os::must_commit_stack_guard_pages() { -diff --git a/hotspot/src/os/posix/vm/os_posix.cpp b/hotspot/src/os/posix/vm/os_posix.cpp -index 5885906f6..e482a405a 100644 ---- a/hotspot/src/os/posix/vm/os_posix.cpp -+++ b/hotspot/src/os/posix/vm/os_posix.cpp -@@ -185,7 +185,7 @@ int os::log_vsnprintf(char* buf, size_t len, const char* fmt, va_list args) { - } - - int os::get_fileno(FILE* fp) { -- return NOT_AIX(::)fileno(fp); -+ return fileno(fp); - } - - struct tm* os::gmtime_pd(const time_t* clock, struct tm* res) { -diff --git a/jdk/src/java.base/unix/native/include/jvm_md.h b/jdk/src/java.base/unix/native/include/jvm_md.h -index 818ab732a..23692e9ac 100644 ---- a/jdk/src/java.base/unix/native/include/jvm_md.h -+++ b/jdk/src/java.base/unix/native/include/jvm_md.h -@@ -40,10 +40,18 @@ - #define JNI_ONLOAD_SYMBOLS {"JNI_OnLoad"} - #define JNI_ONUNLOAD_SYMBOLS {"JNI_OnUnload"} - -+#ifdef __GENODE__ -+#define JNI_LIB_PREFIX "" -+#else - #define JNI_LIB_PREFIX "lib" -+#endif -+ - #ifdef __APPLE__ - #define JNI_LIB_SUFFIX ".dylib" - #define VERSIONED_JNI_LIB_NAME(NAME, VERSION) JNI_LIB_PREFIX NAME "." VERSION JNI_LIB_SUFFIX -+#elif defined(__GENODE__) -+#define JNI_LIB_SUFFIX ".lib.so" -+#define VERSIONED_JNI_LIB_NAME(NAME, VERSION) JNI_LIB_PREFIX NAME JNI_LIB_SUFFIX "." VERSION - #else - #define JNI_LIB_SUFFIX ".so" - #define VERSIONED_JNI_LIB_NAME(NAME, VERSION) JNI_LIB_PREFIX NAME JNI_LIB_SUFFIX "." VERSION -diff --git a/jdk/src/java.base/unix/native/libjli/java_md_solinux.c b/jdk/src/java.base/unix/native/libjli/java_md_solinux.c -index cb9afc098..2d5af9fc6 100644 ---- a/jdk/src/java.base/unix/native/libjli/java_md_solinux.c -+++ b/jdk/src/java.base/unix/native/libjli/java_md_solinux.c -@@ -37,9 +37,14 @@ - #include - #include "manifest_info.h" - -- -+#ifdef __GENODE__ -+#define JVM_DLL "jvm.lib.so" -+#define JAVA_DLL "java.lib.so" -+#else - #define JVM_DLL "libjvm.so" - #define JAVA_DLL "libjava.so" -+#endif -+ - #ifdef AIX - #define LD_LIBRARY_PATH "LIBPATH" - #else diff --git a/repos/ports/src/app/jdk/patches/os_bsd.patch b/repos/ports/src/app/jdk/patches/os_bsd.patch deleted file mode 100644 index 9b7a5f897..000000000 --- a/repos/ports/src/app/jdk/patches/os_bsd.patch +++ /dev/null @@ -1,1147 +0,0 @@ -diff --git a/hotspot/src/os/bsd/vm/os_bsd.cpp b/hotspot/src/os/bsd/vm/os_bsd.cpp -index 9261440..2348f1a 100644 ---- a/hotspot/src/os/bsd/vm/os_bsd.cpp -+++ b/hotspot/src/os/bsd/vm/os_bsd.cpp -@@ -21,6 +21,26 @@ - * questions. - * - */ -+#ifdef ZERO -+#undef ZERO -+#define ZERO_ENABLE -+#endif -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#ifdef ZERO_ENABLE -+#define ZERO -+#endif -+ -+/* libc includes */ -+#include /* 'malloc'/ 'exit' */ - - // no precompiled headers - #include "classfile/classLoader.hpp" -@@ -97,7 +117,6 @@ - # include - # include - # include --# include - #ifndef __APPLE__ - # include - #endif -@@ -106,17 +125,21 @@ - # include - # include - -+ - #if defined(__FreeBSD__) || defined(__NetBSD__) - #include - #endif - --#ifdef __APPLE__ -- #include // semaphore_* API -- #include -- #include -- #include -+#if 0 -+#define NOT_IMPL ({ \ -+ PDBG("called not implmemented\n"); \ -+}) -+#else -+#define NOT_IMPL - #endif - -+extern "C" void backtrace(); -+ - #ifndef MAP_ANONYMOUS - #define MAP_ANONYMOUS MAP_ANON - #endif -@@ -141,6 +164,13 @@ int (*os::Bsd::_clock_gettime)(clockid_t, struct timespec *) = NULL; - pthread_t os::Bsd::_main_thread; - int os::Bsd::_page_size = -1; - -+int clock_getres(clockid_t, struct timespec *res) -+{ -+ res->tv_sec = 0; -+ res->tv_nsec = 1000*1000; /* 1ms */ -+ return 0; -+} -+ - static jlong initial_time_count=0; - - static int clock_tics_per_sec = 100; -@@ -547,52 +577,6 @@ bool os::Bsd::is_sig_ignored(int sig) { - } - } - --void os::Bsd::signal_sets_init() { -- // Should also have an assertion stating we are still single-threaded. -- assert(!signal_sets_initialized, "Already initialized"); -- // Fill in signals that are necessarily unblocked for all threads in -- // the VM. Currently, we unblock the following signals: -- // SHUTDOWN{1,2,3}_SIGNAL: for shutdown hooks support (unless over-ridden -- // by -Xrs (=ReduceSignalUsage)); -- // BREAK_SIGNAL which is unblocked only by the VM thread and blocked by all -- // other threads. The "ReduceSignalUsage" boolean tells us not to alter -- // the dispositions or masks wrt these signals. -- // Programs embedding the VM that want to use the above signals for their -- // own purposes must, at this time, use the "-Xrs" option to prevent -- // interference with shutdown hooks and BREAK_SIGNAL thread dumping. -- // (See bug 4345157, and other related bugs). -- // In reality, though, unblocking these signals is really a nop, since -- // these signals are not blocked by default. -- sigemptyset(&unblocked_sigs); -- sigemptyset(&allowdebug_blocked_sigs); -- sigaddset(&unblocked_sigs, SIGILL); -- sigaddset(&unblocked_sigs, SIGSEGV); -- sigaddset(&unblocked_sigs, SIGBUS); -- sigaddset(&unblocked_sigs, SIGFPE); -- sigaddset(&unblocked_sigs, SR_signum); -- -- if (!ReduceSignalUsage) { -- if (!os::Bsd::is_sig_ignored(SHUTDOWN1_SIGNAL)) { -- sigaddset(&unblocked_sigs, SHUTDOWN1_SIGNAL); -- sigaddset(&allowdebug_blocked_sigs, SHUTDOWN1_SIGNAL); -- } -- if (!os::Bsd::is_sig_ignored(SHUTDOWN2_SIGNAL)) { -- sigaddset(&unblocked_sigs, SHUTDOWN2_SIGNAL); -- sigaddset(&allowdebug_blocked_sigs, SHUTDOWN2_SIGNAL); -- } -- if (!os::Bsd::is_sig_ignored(SHUTDOWN3_SIGNAL)) { -- sigaddset(&unblocked_sigs, SHUTDOWN3_SIGNAL); -- sigaddset(&allowdebug_blocked_sigs, SHUTDOWN3_SIGNAL); -- } -- } -- // Fill in signals that are blocked by all but the VM thread. -- sigemptyset(&vm_sigs); -- if (!ReduceSignalUsage) { -- sigaddset(&vm_sigs, BREAK_SIGNAL); -- } -- debug_only(signal_sets_initialized = true); -- --} - - // These are signals that are unblocked while a thread is running Java. - // (For some reason, they get blocked by default.) -@@ -1180,14 +1144,18 @@ int os::current_process_id() { - - // DLL functions - --#define JNI_LIB_PREFIX "lib" -+#define JNI_LIB_PREFIX "" - #ifdef __APPLE__ - #define JNI_LIB_SUFFIX ".dylib" - #else -- #define JNI_LIB_SUFFIX ".so" -+ #undef JNI_LIB_SUFFIX -+ #define JNI_LIB_SUFFIX ".lib.so" - #endif - --const char* os::dll_file_extension() { return JNI_LIB_SUFFIX; } -+const char* os::dll_file_extension() -+{ -+ return JNI_LIB_SUFFIX; -+} - - // This must be hard coded because it's the system's temporary - // directory not the java application's temp directory, ala java.io.tmpdir. -@@ -1375,6 +1343,7 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) { - } - #else - void * os::dll_load(const char *filename, char *ebuf, int ebuflen) { -+ - #ifdef STATIC_BUILD - return os::get_default_process_handle(); - #else -@@ -1617,6 +1586,7 @@ int os::get_loaded_modules_info(os::LoadedModulesCallbackFunc callback, void *pa - } - - dlclose(handle); -+ return 1; - #elif defined(__APPLE__) - for (uint32_t i = 1; i < _dyld_image_count(); i++) { - // Value for top_address is returned as 0 since we don't have any information about module size -@@ -1675,30 +1645,7 @@ void os::pd_print_cpu_info(outputStream* st, char* buf, size_t buflen) { - } - - void os::get_summary_cpu_info(char* buf, size_t buflen) { -- unsigned int mhz; -- size_t size = sizeof(mhz); -- int mib[] = { CTL_HW, HW_CPU_FREQ }; -- if (sysctl(mib, 2, &mhz, &size, NULL, 0) < 0) { -- mhz = 1; // looks like an error but can be divided by -- } else { -- mhz /= 1000000; // reported in millions -- } -- -- char model[100]; -- size = sizeof(model); -- int mib_model[] = { CTL_HW, HW_MODEL }; -- if (sysctl(mib_model, 2, model, &size, NULL, 0) < 0) { -- strncpy(model, cpu_arch, sizeof(model)); -- } -- -- char machine[100]; -- size = sizeof(machine); -- int mib_machine[] = { CTL_HW, HW_MACHINE }; -- if (sysctl(mib_machine, 2, machine, &size, NULL, 0) < 0) { -- strncpy(machine, "", sizeof(machine)); -- } -- -- snprintf(buf, buflen, "%s %s %d MHz", model, machine, mhz); -+ NOT_IMPL; - } - - void os::print_memory_info(outputStream* st) { -@@ -1888,6 +1835,8 @@ void* os::signal(int signal_number, void* handler) { - } - - void os::signal_raise(int signal_number) { -+ printf("%s called from", __func__); -+ backtrace(); - ::raise(signal_number); - } - -@@ -2131,58 +2080,6 @@ static void warn_fail_commit_memory(char* addr, size_t size, bool exec, - os::errno_name(err), err); - } - --// NOTE: Bsd kernel does not really reserve the pages for us. --// All it does is to check if there are enough free pages --// left at the time of mmap(). This could be a potential --// problem. --bool os::pd_commit_memory(char* addr, size_t size, bool exec) { -- int prot = exec ? PROT_READ|PROT_WRITE|PROT_EXEC : PROT_READ|PROT_WRITE; --#ifdef __OpenBSD__ -- // XXX: Work-around mmap/MAP_FIXED bug temporarily on OpenBSD -- if (::mprotect(addr, size, prot) == 0) { -- return true; -- } --#else -- uintptr_t res = (uintptr_t) ::mmap(addr, size, prot, -- MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0); -- if (res != (uintptr_t) MAP_FAILED) { -- return true; -- } --#endif -- -- // Warn about any commit errors we see in non-product builds just -- // in case mmap() doesn't work as described on the man page. -- NOT_PRODUCT(warn_fail_commit_memory(addr, size, exec, errno);) -- -- return false; --} -- --bool os::pd_commit_memory(char* addr, size_t size, size_t alignment_hint, -- bool exec) { -- // alignment_hint is ignored on this OS -- return pd_commit_memory(addr, size, exec); --} -- --void os::pd_commit_memory_or_exit(char* addr, size_t size, bool exec, -- const char* mesg) { -- assert(mesg != NULL, "mesg must be specified"); -- if (!pd_commit_memory(addr, size, exec)) { -- // add extra info in product mode for vm_exit_out_of_memory(): -- PRODUCT_ONLY(warn_fail_commit_memory(addr, size, exec, errno);) -- vm_exit_out_of_memory(size, OOM_MMAP_ERROR, "%s", mesg); -- } --} -- --void os::pd_commit_memory_or_exit(char* addr, size_t size, -- size_t alignment_hint, bool exec, -- const char* mesg) { -- // alignment_hint is ignored on this OS -- pd_commit_memory_or_exit(addr, size, exec, mesg); --} -- --void os::pd_realign_memory(char *addr, size_t bytes, size_t alignment_hint) { --} -- - void os::pd_free_memory(char *addr, size_t bytes, size_t alignment_hint) { - ::madvise(addr, bytes, MADV_DONTNEED); - } -@@ -2220,19 +2117,9 @@ char *os::scan_pages(char *start, char* end, page_info* page_expected, page_info - } - - --bool os::pd_uncommit_memory(char* addr, size_t size) { --#ifdef __OpenBSD__ -- // XXX: Work-around mmap/MAP_FIXED bug temporarily on OpenBSD -- return ::mprotect(addr, size, PROT_NONE) == 0; --#else -- uintptr_t res = (uintptr_t) ::mmap(addr, size, PROT_NONE, -- MAP_PRIVATE|MAP_FIXED|MAP_NORESERVE|MAP_ANONYMOUS, -1, 0); -- return res != (uintptr_t) MAP_FAILED; --#endif --} -- - bool os::pd_create_stack_guard_pages(char* addr, size_t size) { -- return os::commit_memory(addr, size, !ExecMem); -+ NOT_IMPL; -+ return true; - } - - // If this is a growable mapping, remove the guard pages entirely by -@@ -2270,15 +2157,6 @@ static int anon_munmap(char * addr, size_t size) { - return ::munmap(addr, size) == 0; - } - --char* os::pd_reserve_memory(size_t bytes, char* requested_addr, -- size_t alignment_hint) { -- return anon_mmap(requested_addr, bytes, (requested_addr != NULL)); --} -- --bool os::pd_release_memory(char* addr, size_t size) { -- return anon_munmap(addr, size); --} -- - static bool bsd_mprotect(char* addr, size_t size, int prot) { - // Bsd wants the mprotect address argument to be page aligned. - char* bottom = (char*)align_size_down((intptr_t)addr, os::Bsd::page_size()); -@@ -2331,80 +2209,13 @@ void os::large_page_init() { - - - char* os::reserve_memory_special(size_t bytes, size_t alignment, char* req_addr, bool exec) { -- fatal("This code is not used or maintained."); -- -- // "exec" is passed in but not used. Creating the shared image for -- // the code cache doesn't have an SHM_X executable permission to check. -- assert(UseLargePages && UseSHM, "only for SHM large pages"); -- -- key_t key = IPC_PRIVATE; -- char *addr; -- -- bool warn_on_failure = UseLargePages && -- (!FLAG_IS_DEFAULT(UseLargePages) || -- !FLAG_IS_DEFAULT(LargePageSizeInBytes)); -- -- // Create a large shared memory region to attach to based on size. -- // Currently, size is the total size of the heap -- int shmid = shmget(key, bytes, IPC_CREAT|SHM_R|SHM_W); -- if (shmid == -1) { -- // Possible reasons for shmget failure: -- // 1. shmmax is too small for Java heap. -- // > check shmmax value: cat /proc/sys/kernel/shmmax -- // > increase shmmax value: echo "0xffffffff" > /proc/sys/kernel/shmmax -- // 2. not enough large page memory. -- // > check available large pages: cat /proc/meminfo -- // > increase amount of large pages: -- // echo new_value > /proc/sys/vm/nr_hugepages -- // Note 1: different Bsd may use different name for this property, -- // e.g. on Redhat AS-3 it is "hugetlb_pool". -- // Note 2: it's possible there's enough physical memory available but -- // they are so fragmented after a long run that they can't -- // coalesce into large pages. Try to reserve large pages when -- // the system is still "fresh". -- if (warn_on_failure) { -- warning("Failed to reserve shared memory (errno = %d).", errno); -- } -- return NULL; -- } -- -- // attach to the region -- addr = (char*)shmat(shmid, req_addr, 0); -- int err = errno; -- -- // Remove shmid. If shmat() is successful, the actual shared memory segment -- // will be deleted when it's detached by shmdt() or when the process -- // terminates. If shmat() is not successful this will remove the shared -- // segment immediately. -- shmctl(shmid, IPC_RMID, NULL); -- -- if ((intptr_t)addr == -1) { -- if (warn_on_failure) { -- warning("Failed to attach shared memory (errno = %d).", err); -- } -- return NULL; -- } -- -- // The memory is committed -- MemTracker::record_virtual_memory_reserve_and_commit((address)addr, bytes, CALLER_PC); -- -- return addr; -+ NOT_IMPL; -+ return nullptr; - } - - bool os::release_memory_special(char* base, size_t bytes) { -- if (MemTracker::tracking_level() > NMT_minimal) { -- Tracker tkr = MemTracker::get_virtual_memory_release_tracker(); -- // detaching the SHM segment will also delete it, see reserve_memory_special() -- int rslt = shmdt(base); -- if (rslt == 0) { -- tkr.record((address)base, bytes); -- return true; -- } else { -- return false; -- } -- } else { -- return shmdt(base) == 0; -- } -+ NOT_IMPL; -+ return false; - } - - size_t os::large_page_size() { -@@ -2422,82 +2233,6 @@ bool os::can_execute_large_page_memory() { - return UseHugeTLBFS; - } - --// Reserve memory at an arbitrary address, only if that area is --// available (and not reserved for something else). -- --char* os::pd_attempt_reserve_memory_at(size_t bytes, char* requested_addr) { -- const int max_tries = 10; -- char* base[max_tries]; -- size_t size[max_tries]; -- const size_t gap = 0x000000; -- -- // Assert only that the size is a multiple of the page size, since -- // that's all that mmap requires, and since that's all we really know -- // about at this low abstraction level. If we need higher alignment, -- // we can either pass an alignment to this method or verify alignment -- // in one of the methods further up the call chain. See bug 5044738. -- assert(bytes % os::vm_page_size() == 0, "reserving unexpected size block"); -- -- // Repeatedly allocate blocks until the block is allocated at the -- // right spot. -- -- // Bsd mmap allows caller to pass an address as hint; give it a try first, -- // if kernel honors the hint then we can return immediately. -- char * addr = anon_mmap(requested_addr, bytes, false); -- if (addr == requested_addr) { -- return requested_addr; -- } -- -- if (addr != NULL) { -- // mmap() is successful but it fails to reserve at the requested address -- anon_munmap(addr, bytes); -- } -- -- int i; -- for (i = 0; i < max_tries; ++i) { -- base[i] = reserve_memory(bytes); -- -- if (base[i] != NULL) { -- // Is this the block we wanted? -- if (base[i] == requested_addr) { -- size[i] = bytes; -- break; -- } -- -- // Does this overlap the block we wanted? Give back the overlapped -- // parts and try again. -- -- size_t top_overlap = requested_addr + (bytes + gap) - base[i]; -- if (top_overlap >= 0 && top_overlap < bytes) { -- unmap_memory(base[i], top_overlap); -- base[i] += top_overlap; -- size[i] = bytes - top_overlap; -- } else { -- size_t bottom_overlap = base[i] + bytes - requested_addr; -- if (bottom_overlap >= 0 && bottom_overlap < bytes) { -- unmap_memory(requested_addr, bottom_overlap); -- size[i] = bytes - bottom_overlap; -- } else { -- size[i] = bytes; -- } -- } -- } -- } -- -- // Give back the unused reserved pieces. -- -- for (int j = 0; j < i; ++j) { -- if (base[j] != NULL) { -- unmap_memory(base[j], size[j]); -- } -- } -- -- if (i < max_tries) { -- return requested_addr; -- } else { -- return NULL; -- } --} - - size_t os::read(int fd, void *buf, unsigned int nBytes) { - RESTARTABLE_RETURN_INT(::read(fd, buf, nBytes)); -@@ -2618,53 +2353,13 @@ static int prio_init() { - } - - OSReturn os::set_native_priority(Thread* thread, int newpri) { -- if (!UseThreadPriorities || ThreadPriorityPolicy == 0) return OS_OK; -- --#ifdef __OpenBSD__ -- // OpenBSD pthread_setprio starves low priority threads -- return OS_OK; --#elif defined(__FreeBSD__) -- int ret = pthread_setprio(thread->osthread()->pthread_id(), newpri); --#elif defined(__APPLE__) || defined(__NetBSD__) -- struct sched_param sp; -- int policy; -- pthread_t self = pthread_self(); -- -- if (pthread_getschedparam(self, &policy, &sp) != 0) { -- return OS_ERR; -- } -- -- sp.sched_priority = newpri; -- if (pthread_setschedparam(self, policy, &sp) != 0) { -- return OS_ERR; -- } -- -+ NOT_IMPL; - return OS_OK; --#else -- int ret = setpriority(PRIO_PROCESS, thread->osthread()->thread_id(), newpri); -- return (ret == 0) ? OS_OK : OS_ERR; --#endif - } - - OSReturn os::get_native_priority(const Thread* const thread, int *priority_ptr) { -- if (!UseThreadPriorities || ThreadPriorityPolicy == 0) { -- *priority_ptr = java_to_os_priority[NormPriority]; -- return OS_OK; -- } -- -- errno = 0; --#if defined(__OpenBSD__) || defined(__FreeBSD__) -- *priority_ptr = pthread_getprio(thread->osthread()->pthread_id()); --#elif defined(__APPLE__) || defined(__NetBSD__) -- int policy; -- struct sched_param sp; -- -- pthread_getschedparam(pthread_self(), &policy, &sp); -- *priority_ptr = sp.sched_priority; --#else -- *priority_ptr = getpriority(PRIO_PROCESS, thread->osthread()->thread_id()); --#endif -- return (*priority_ptr != -1 || errno == 0 ? OS_OK : OS_ERR); -+ NOT_IMPL; -+ return OS_OK; - } - - // Hint to the underlying OS that a task switch would not be good. -@@ -2786,47 +2481,6 @@ static void SR_handler(int sig, siginfo_t* siginfo, ucontext_t* context) { - } - - --static int SR_initialize() { -- struct sigaction act; -- char *s; -- // Get signal number to use for suspend/resume -- if ((s = ::getenv("_JAVA_SR_SIGNUM")) != 0) { -- int sig = ::strtol(s, 0, 10); -- if (sig > MAX2(SIGSEGV, SIGBUS) && // See 4355769. -- sig < NSIG) { // Must be legal signal and fit into sigflags[]. -- SR_signum = sig; -- } else { -- warning("You set _JAVA_SR_SIGNUM=%d. It must be in range [%d, %d]. Using %d instead.", -- sig, MAX2(SIGSEGV, SIGBUS)+1, NSIG-1, SR_signum); -- } -- } -- -- assert(SR_signum > SIGSEGV && SR_signum > SIGBUS, -- "SR_signum must be greater than max(SIGSEGV, SIGBUS), see 4355769"); -- -- sigemptyset(&SR_sigset); -- sigaddset(&SR_sigset, SR_signum); -- -- // Set up signal handler for suspend/resume -- act.sa_flags = SA_RESTART|SA_SIGINFO; -- act.sa_handler = (void (*)(int)) SR_handler; -- -- // SR_signum is blocked by default. -- // 4528190 - We also need to block pthread restart signal (32 on all -- // supported Bsd platforms). Note that BsdThreads need to block -- // this signal for all threads to work properly. So we don't have -- // to use hard-coded signal number when setting up the mask. -- pthread_sigmask(SIG_BLOCK, NULL, &act.sa_mask); -- -- if (sigaction(SR_signum, &act, 0) == -1) { -- return -1; -- } -- -- // Save signal flag -- os::Bsd::set_our_sigflags(SR_signum, act.sa_flags); -- return 0; --} -- - static int sr_notify(OSThread* osthread) { - int status = pthread_kill(osthread->pthread_id(), SR_signum); - assert_status(status == 0, status, "pthread_kill"); -@@ -3119,85 +2773,6 @@ void os::Bsd::set_signal_handler(int sig, bool set_installed) { - assert(oldhand2 == oldhand, "no concurrent signal handler installation"); - } - --// install signal handlers for signals that HotSpot needs to --// handle in order to support Java-level exception handling. -- --void os::Bsd::install_signal_handlers() { -- if (!signal_handlers_are_installed) { -- signal_handlers_are_installed = true; -- -- // signal-chaining -- typedef void (*signal_setting_t)(); -- signal_setting_t begin_signal_setting = NULL; -- signal_setting_t end_signal_setting = NULL; -- begin_signal_setting = CAST_TO_FN_PTR(signal_setting_t, -- dlsym(RTLD_DEFAULT, "JVM_begin_signal_setting")); -- if (begin_signal_setting != NULL) { -- end_signal_setting = CAST_TO_FN_PTR(signal_setting_t, -- dlsym(RTLD_DEFAULT, "JVM_end_signal_setting")); -- get_signal_action = CAST_TO_FN_PTR(get_signal_t, -- dlsym(RTLD_DEFAULT, "JVM_get_signal_action")); -- libjsig_is_loaded = true; -- assert(UseSignalChaining, "should enable signal-chaining"); -- } -- if (libjsig_is_loaded) { -- // Tell libjsig jvm is setting signal handlers -- (*begin_signal_setting)(); -- } -- -- set_signal_handler(SIGSEGV, true); -- set_signal_handler(SIGPIPE, true); -- set_signal_handler(SIGBUS, true); -- set_signal_handler(SIGILL, true); -- set_signal_handler(SIGFPE, true); -- set_signal_handler(SIGXFSZ, true); -- --#if defined(__APPLE__) -- // In Mac OS X 10.4, CrashReporter will write a crash log for all 'fatal' signals, including -- // signals caught and handled by the JVM. To work around this, we reset the mach task -- // signal handler that's placed on our process by CrashReporter. This disables -- // CrashReporter-based reporting. -- // -- // This work-around is not necessary for 10.5+, as CrashReporter no longer intercedes -- // on caught fatal signals. -- // -- // Additionally, gdb installs both standard BSD signal handlers, and mach exception -- // handlers. By replacing the existing task exception handler, we disable gdb's mach -- // exception handling, while leaving the standard BSD signal handlers functional. -- kern_return_t kr; -- kr = task_set_exception_ports(mach_task_self(), -- EXC_MASK_BAD_ACCESS | EXC_MASK_ARITHMETIC, -- MACH_PORT_NULL, -- EXCEPTION_STATE_IDENTITY, -- MACHINE_THREAD_STATE); -- -- assert(kr == KERN_SUCCESS, "could not set mach task signal handler"); --#endif -- -- if (libjsig_is_loaded) { -- // Tell libjsig jvm finishes setting signal handlers -- (*end_signal_setting)(); -- } -- -- // We don't activate signal checker if libjsig is in place, we trust ourselves -- // and if UserSignalHandler is installed all bets are off -- if (CheckJNICalls) { -- if (libjsig_is_loaded) { -- if (PrintJNIResolving) { -- tty->print_cr("Info: libjsig is activated, all active signal checking is disabled"); -- } -- check_signals = false; -- } -- if (AllowUserSignalHandlers) { -- if (PrintJNIResolving) { -- tty->print_cr("Info: AllowUserSignalHandlers is activated, all active signal checking is disabled"); -- } -- check_signals = false; -- } -- } -- } --} -- - - ///// - // glibc on Bsd platform uses non-documented flag -@@ -3469,14 +3044,6 @@ jint os::init_2(void) { - log_info(os)("Memory Serialize Page address: " INTPTR_FORMAT, p2i(mem_serialize_page)); - } - -- // initialize suspend/resume support - must do this before signal_sets_init() -- if (SR_initialize() != 0) { -- perror("SR_initialize failed"); -- return JNI_ERR; -- } -- -- Bsd::signal_sets_init(); -- Bsd::install_signal_handlers(); - - // Check and sets minimum stack sizes against command line options - if (Posix::set_minimum_stack_sizes() == JNI_ERR) { -@@ -3542,16 +3109,18 @@ jint os::init_2(void) { - - // Mark the polling page as unreadable - void os::make_polling_page_unreadable(void) { -- if (!guard_memory((char*)_polling_page, Bsd::page_size())) { -- fatal("Could not disable polling page"); -- } -+ //if (!guard_memory((char*)_polling_page, Bsd::page_size())) { -+ // fatal("Could not disable polling page"); -+ //} -+ NOT_IMPL; - } - - // Mark the polling page as readable - void os::make_polling_page_readable(void) { -- if (!bsd_mprotect((char *)_polling_page, Bsd::page_size(), PROT_READ)) { -- fatal("Could not enable polling page"); -- } -+ //if (!bsd_mprotect((char *)_polling_page, Bsd::page_size(), PROT_READ)) { -+ // fatal("Could not enable polling page"); -+ //} -+ NOT_IMPL; - } - - int os::active_processor_count() { -@@ -3581,6 +3150,9 @@ bool os::bind_to_processor(uint processor_id) { - } - - void os::SuspendedThreadTask::internal_do_task() { -+ printf("%s called from", __func__); -+ backtrace(); -+ - if (do_suspend(_thread->osthread())) { - SuspendedThreadTaskContext context(_thread, _thread->osthread()->ucontext()); - do_task(context); -@@ -3721,7 +3293,7 @@ static inline struct timespec get_mtime(const char* filename) { - #ifdef __APPLE__ - return st.st_mtimespec; - #else -- return st.st_mtim; -+ return st.st_mtimespec; - #endif - } - -@@ -3910,11 +3482,6 @@ char* os::pd_remap_memory(int fd, const char* file_name, size_t file_offset, - } - - --// Unmap a block of memory. --bool os::pd_unmap_memory(char* addr, size_t bytes) { -- return munmap(addr, bytes) == 0; --} -- - // current_thread_cpu_time(bool) and thread_cpu_time(Thread*, bool) - // are used by JVM M&M and JVMTI to get user+sys or user CPU time - // of a thread. -@@ -4555,3 +4122,407 @@ bool os::start_debugging(char *buf, int buflen) { - } - return yes; - } -+ -+/************************** -+ ** VM region management ** -+ **************************/ -+ -+ -+namespace Genode { -+ class Vm_area; -+ class Vm_area_registry; -+ class Vm_region_map; -+}; -+ -+class Genode::Vm_region_map -+{ -+ public: -+ -+ typedef Region_map_client::Local_addr Local_addr; -+ -+ private: -+ -+ enum { VM_SIZE = 384ul * 1024 * 1024 }; -+ Env &_env; -+ Rm_connection _rm_connection { _env }; -+ Region_map_client _rm { _rm_connection.create(VM_SIZE) }; -+ addr_t const _base { _env.rm().attach(_rm.dataspace()) }; -+ Allocator_avl _range; -+ -+ public: -+ -+ Vm_region_map(Env &env, Allocator &md_alloc) -+ : _env(env), _range(&md_alloc) -+ { -+ _range.add_range(_base, VM_SIZE); -+ } -+ -+ addr_t alloc_region(size_t size, int align) -+ { -+ addr_t addr = 0; -+ if (_range.alloc_aligned(size, (void **)&addr, -+ align > 12 ? align : 12).error()) -+ throw -1; -+ -+ return addr; -+ } -+ -+ void free_region(addr_t vaddr) { _range.free((void *)vaddr); } -+ -+ Local_addr attach_at(Dataspace_capability ds, addr_t local_addr) -+ { -+ return retry( -+ [&] () { -+ return _rm.attach_at(ds, local_addr - _base); -+ }, -+ [&] () { _env.upgrade(Parent::Env::pd(), "ram_quota=8K"); }); -+ } -+ -+ Local_addr attach_executable(Dataspace_capability ds, addr_t local_addr) -+ { -+ return retry( -+ [&] () { -+ return _rm.attach_executable(ds, local_addr - _base); -+ }, -+ [&] () { _env.upgrade(Parent::Env::pd(), "ram_quota=8K"); }); -+ } -+ -+ void detach(Local_addr local_addr) { _rm.detach((addr_t)local_addr - _base); } -+}; -+ -+class Genode::Vm_area -+{ -+ private: -+ -+ struct Vm_area_ds -+ { -+ addr_t base; -+ size_t size; -+ Ram_dataspace_capability ds; -+ -+ Vm_area_ds(addr_t base, size_t size, Ram_dataspace_capability ds) -+ : base(base), size(size), ds(ds) { } -+ -+ virtual ~Vm_area_ds() { }; -+ }; -+ -+ typedef Registered Vm_handle; -+ -+ Env &_env; -+ Heap &_heap; -+ Vm_region_map &_rm; -+ size_t const _base; -+ addr_t const _size; -+ Registry _ds; -+ -+ public: -+ -+ Vm_area(Env &env, Heap &heap, Vm_region_map &rm, addr_t base, size_t size) -+ : _env(env), _heap(heap), _rm(rm), _base(base), _size(size) -+ { } -+ -+ addr_t base() const { return _base; } -+ size_t size() const { return _size; } -+ -+ bool inside(addr_t base, size_t size) { -+ return base >= _base && (base + size) <= (_base + _size); } -+ -+ bool commit(addr_t base, size_t size, bool executable) -+ { -+ if (!inside(base, size)) -+ return false; -+ -+ Ram_dataspace_capability ds = _env.ram().alloc(size); -+ -+ try { -+ if (executable) -+ _rm.attach_executable(ds, base); -+ else -+ _rm.attach_at(ds, base); -+ } catch (...) { -+ _env.ram().free(ds); -+ return false; -+ } -+ -+ new (_heap) Vm_handle(_ds, base, size, ds); -+ -+ return true; -+ } -+ -+ virtual ~Vm_area() -+ { -+ _ds.for_each([&] (Vm_handle &vm) { -+ -+ _rm.detach(vm.base); -+ _env.ram().free(vm.ds); -+ destroy(_heap, &vm); -+ }); -+ } -+}; -+ -+ -+class Genode::Vm_area_registry -+{ -+ private: -+ -+ typedef Registered Vm_area_handle; -+ -+ Env &_env; -+ Heap _heap { _env.ram(), _env.rm() }; -+ Registry _registry; -+ Vm_region_map _rm { _env, _heap }; -+ -+ public: -+ -+ Vm_area_registry(Env &env) : _env(env) -+ { } -+ -+ addr_t reserve(size_t size, addr_t base, int align) -+ { -+ if (base) { -+ Genode::error("vm_start set"); -+ while(1); -+ } -+ base = _rm.alloc_region(size, align); -+ Vm_area *vm = new (&_heap) Vm_area_handle(_registry, _env, _heap, _rm, base, size); -+ return base; -+ } -+ -+ bool commit(addr_t base, size_t size, bool executable) -+ { -+ bool success = false; -+ -+ _registry.for_each([&] (Vm_area_handle &vm) { -+ if (success) return; -+ success = vm.commit(base, size, executable); -+ }); -+ -+ return success; -+ } -+ -+ bool release(addr_t base, size_t size) -+ { -+ bool success = false; -+ -+ _registry.for_each([&] (Vm_area_handle &vm) { -+ if (success || !vm.inside(base, size)) return; -+ -+ if (base != vm.base() || size != vm.size()) { -+ error(__func__, " sub region release ", " addr: ", Hex(base), " vm addr: ", Hex(vm.base()), -+ " size: ", Hex(size), " vm size: ", Hex(vm.size())); -+ while (1); -+ } -+ -+ _rm.free_region(vm.base()); -+ destroy(_heap, &vm); -+ success = true; -+ }); -+ -+ if (!success) error(__func__, " failed"); -+ -+ return success; -+ } -+}; -+ -+static Genode::Constructible vm_reg; -+ -+char* os::pd_reserve_memory(size_t bytes, char* requested_addr, -+ size_t alignment_hint) -+{ -+ try { -+ Genode::addr_t addr = vm_reg->reserve(bytes, (Genode::addr_t)requested_addr, -+ alignment_hint ? Genode::log2(alignment_hint) : 12); -+ return (char *)addr; -+ } catch (...) { -+ Genode::error(__PRETTY_FUNCTION__, " exception!"); -+ } -+ return nullptr; -+} -+ -+ -+/* -+ * Reserve memory at an arbitrary address, only if that area is -+ * available (and not reserved for something else) -+ */ -+char* os::pd_attempt_reserve_memory_at(size_t bytes, char* requested_addr) -+{ -+ return pd_reserve_memory(bytes, requested_addr, 0); -+} -+ -+ -+bool os::pd_release_memory(char* addr, size_t size) { -+ return vm_reg->release((Genode::addr_t)addr, size); -+} -+ -+ -+bool os::pd_unmap_memory(char* addr, size_t bytes) { -+ return vm_reg->release((Genode::addr_t)addr, bytes); -+} -+ -+ -+bool os::pd_commit_memory(char* addr, size_t size, bool exec) { -+ -+ if (!addr) { -+ Genode::error(__PRETTY_FUNCTION__, " addr == 0"); -+ while(1); -+ } -+ -+ return vm_reg->commit((Genode::addr_t)addr, size, exec); -+} -+ -+ -+bool os::pd_commit_memory(char* addr, size_t size, size_t alignment_hint, -+ bool exec) { -+ // alignment_hint is ignored on this OS -+ return pd_commit_memory(addr, size, exec); -+} -+ -+ -+void os::pd_commit_memory_or_exit(char* addr, size_t size, bool exec, -+ const char* mesg) { -+ assert(mesg != NULL, "mesg must be specified"); -+ if (!pd_commit_memory(addr, size, exec)) { -+ // add extra info in product mode for vm_exit_out_of_memory(): -+ PRODUCT_ONLY(warn_fail_commit_memory(addr, size, exec, errno);) -+ vm_exit_out_of_memory(size, OOM_MMAP_ERROR, "%s", mesg); -+ } -+} -+ -+ -+void os::pd_commit_memory_or_exit(char* addr, size_t size, -+ size_t alignment_hint, bool exec, -+ const char* mesg) { -+ // alignment_hint is ignored on this OS -+ pd_commit_memory_or_exit(addr, size, exec, mesg); -+} -+ -+ -+void os::pd_realign_memory(char *addr, size_t bytes, size_t alignment_hint) { -+ NOT_IMPL; -+} -+ -+ -+bool os::pd_uncommit_memory(char* addr, size_t size) { -+ Genode::error(__PRETTY_FUNCTION__, "addr: ", (void *)addr, " size: ", (void *)size); -+ while (1); -+#ifdef __OpenBSD__ -+ // XXX: Work-around mmap/MAP_FIXED bug temporarily on OpenBSD -+ return ::mprotect(addr, size, PROT_NONE) == 0; -+#else -+ uintptr_t res = (uintptr_t) ::mmap(addr, size, PROT_NONE, -+ MAP_PRIVATE|MAP_FIXED|MAP_NORESERVE|MAP_ANONYMOUS, -1, 0); -+ return res != (uintptr_t) MAP_FAILED; -+#endif -+} -+ -+ -+/************ -+ ** atomic ** -+ ************/ -+ -+int os::cmpxchg(int oldval, int newval, volatile int *ptr) -+{ -+ return !Genode::cmpxchg(ptr, oldval, newval); -+} -+ -+ -+/****************** -+ ** Startup code ** -+ ******************/ -+ -+extern char **genode_argv; -+extern int genode_argc; -+extern char **genode_envp; -+ -+/* initial environment for the FreeBSD libc implementation */ -+extern char **environ; -+ -+/* provided by the application */ -+extern "C" int main(int argc, char ** argv, char **envp); -+ -+ -+static void construct_component(Libc::Env &env) -+{ -+ using Genode::Xml_node; -+ using Genode::Xml_attribute; -+ -+ env.config([&] (Xml_node const &node) { -+ int argc = 0; -+ int envc = 0; -+ char **argv; -+ char **envp; -+ -+ /* count the number of arguments and environment variables */ -+ node.for_each_sub_node([&] (Xml_node const &node) { -+ /* check if the 'value' attribute exists */ -+ if (node.has_type("arg") && node.has_attribute("value")) -+ ++argc; -+ else -+ if (node.has_type("env") && node.has_attribute("key") && node.has_attribute("value")) -+ ++envc; -+ }); -+ -+ if (argc == 0 && envc == 0) -+ return; /* from lambda */ -+ -+ /* arguments and environment are a contiguous array (but don't count on it) */ -+ argv = (char**)malloc((argc + envc + 1) * sizeof(char*)); -+ envp = &argv[argc]; -+ -+ /* read the arguments */ -+ int arg_i = 0; -+ int env_i = 0; -+ node.for_each_sub_node([&] (Xml_node const &node) { -+ /* insert an argument */ -+ if (node.has_type("arg")) try { -+ Xml_attribute attr = node.attribute("value"); -+ -+ Genode::size_t const arg_len = attr.value_size()+1; -+ char *arg = argv[arg_i] = (char*)malloc(arg_len); -+ -+ attr.value(arg, arg_len); -+ ++arg_i; -+ -+ } catch (Xml_node::Nonexistent_sub_node) { } -+ -+ else -+ -+ /* insert an environment variable */ -+ if (node.has_type("env")) try { -+ Xml_attribute key_attr = node.attribute("key"); -+ Xml_attribute val_attr = node.attribute("value"); -+ -+ Genode::size_t const pair_len = -+ key_attr.value_size() + -+ val_attr.value_size() + 1; -+ char *env = envp[env_i] = (char*)malloc(pair_len); -+ -+ Genode::size_t off = 0; -+ key_attr.value(&env[off], key_attr.value_size()+1); -+ off = key_attr.value_size(); -+ env[off++] = '='; -+ val_attr.value(&env[off], val_attr.value_size()+1); -+ ++env_i; -+ -+ } catch (Xml_node::Nonexistent_sub_node) { } -+ }); -+ -+ envp[env_i] = NULL; -+ -+ /* register command-line arguments at Genode's startup code */ -+ genode_argc = argc; -+ genode_argv = argv; -+ genode_envp = environ = envp; -+ }); -+ -+ exit(main(genode_argc, genode_argv, genode_envp)); -+} -+ -+ -+void Libc::Component::construct(Libc::Env &env) -+{ -+ vm_reg.construct(env); -+ -+ Libc::with_libc([&] () { construct_component(env); }); -+} -+ diff --git a/repos/ports/src/app/jdk/patches/os_bsd_zero.patch b/repos/ports/src/app/jdk/patches/os_bsd_zero.patch deleted file mode 100644 index 4016ef35e..000000000 --- a/repos/ports/src/app/jdk/patches/os_bsd_zero.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/hotspot/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp b/hotspot/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp -index 15a5b7d..e4d30f7 100644 ---- a/hotspot/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp -+++ b/hotspot/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp -@@ -63,7 +63,7 @@ - extern sigjmp_buf* get_jmp_buf_for_continuation(); - - address os::current_stack_pointer() { -- address dummy = (address) &dummy; -+ volatile address dummy = (address) &dummy; - return dummy; - } - diff --git a/repos/ports/src/app/jdk/patches/pollselectorprovider.patch b/repos/ports/src/app/jdk/patches/pollselectorprovider.patch deleted file mode 100644 index b3afb3492..000000000 --- a/repos/ports/src/app/jdk/patches/pollselectorprovider.patch +++ /dev/null @@ -1,28 +0,0 @@ -Use PollSelectorProvider instead of EPollSelectorProvider - -diff --git a/jdk/src/java.base/linux/classes/sun/nio/ch/DefaultSelectorProvider.java b/jdk/src/java.base/linux/classes/sun/nio/ch/DefaultSelectorProvider.java -index 1278f15..3f23cc4 100644 ---- a/jdk/src/java.base/linux/classes/sun/nio/ch/DefaultSelectorProvider.java -+++ b/jdk/src/java.base/linux/classes/sun/nio/ch/DefaultSelectorProvider.java -@@ -42,7 +42,7 @@ public class DefaultSelectorProvider { - * Returns the default SelectorProvider. - */ - public static SelectorProvider create() { -- return new sun.nio.ch.EPollSelectorProvider(); -+ return new sun.nio.ch.PollSelectorProvider(); - } - - } -diff --git a/make/CompileJavaModules.gmk b/make/CompileJavaModules.gmk -index 090434a..507dd10 100644 ---- a/make/CompileJavaModules.gmk -+++ b/make/CompileJavaModules.gmk -@@ -55,7 +55,7 @@ java.base_EXCLUDES += java/lang/doc-files - # data files and shouldn't go in the product - java.base_EXCLUDE_FILES += sun/text/resources/BreakIteratorRules.java - --ifneq ($(filter solaris macosx linux windows,$(OPENJDK_TARGET_OS)), ) -+ifneq ($(filter solaris macosx windows,$(OPENJDK_TARGET_OS)), ) - java.base_EXCLUDE_FILES += \ - sun/nio/ch/AbstractPollSelectorImpl.java \ - sun/nio/ch/PollSelectorImpl.java \ diff --git a/repos/ports/src/app/jdk/patches/size.patch b/repos/ports/src/app/jdk/patches/size.patch deleted file mode 100644 index 8d65c14ef..000000000 --- a/repos/ports/src/app/jdk/patches/size.patch +++ /dev/null @@ -1,85 +0,0 @@ -commit 7a6a25557a0b21e0d3202f04a4172b3fa5e9a4e9 -Author: Sebastian Sumpf -Date: Mon Apr 16 11:08:15 2018 +0200 - - jdk: size_t patch - -diff --git a/hotspot/src/share/vm/gc/g1/g1PageBasedVirtualSpace.cpp b/hotspot/src/share/vm/gc/g1/g1PageBasedVirtualSpace.cpp -index 0a2a462..7bc5011 100644 ---- a/hotspot/src/share/vm/gc/g1/g1PageBasedVirtualSpace.cpp -+++ b/hotspot/src/share/vm/gc/g1/g1PageBasedVirtualSpace.cpp -@@ -99,7 +99,7 @@ size_t G1PageBasedVirtualSpace::uncommitted_size() const { - return reserved_size() - committed_size(); - } - --size_t G1PageBasedVirtualSpace::addr_to_page_index(char* addr) const { -+uintptr_t G1PageBasedVirtualSpace::addr_to_page_index(char* addr) const { - return (addr - _low_boundary) / _page_size; - } - -diff --git a/hotspot/src/share/vm/prims/whitebox.cpp b/hotspot/src/share/vm/prims/whitebox.cpp -index 952aa5f..ab3c3b8 100644 ---- a/hotspot/src/share/vm/prims/whitebox.cpp -+++ b/hotspot/src/share/vm/prims/whitebox.cpp -@@ -1022,7 +1022,7 @@ WB_ENTRY(jobject, WB_GetUint64VMFlag(JNIEnv* env, jobject o, jstring name)) - WB_END - - WB_ENTRY(jobject, WB_GetSizeTVMFlag(JNIEnv* env, jobject o, jstring name)) -- uintx result; -+ size_t result; - if (GetVMFlag (thread, env, name, &result, &CommandLineFlags::size_tAt)) { - ThreadToNativeFromVM ttnfv(thread); // can't be in VM when we call JNI - return longBox(thread, env, result); -diff --git a/hotspot/src/share/vm/runtime/arguments.cpp b/hotspot/src/share/vm/runtime/arguments.cpp -index 92f18dd..9164cbf 100644 ---- a/hotspot/src/share/vm/runtime/arguments.cpp -+++ b/hotspot/src/share/vm/runtime/arguments.cpp -@@ -78,7 +78,7 @@ SystemProperty* Arguments::_system_properties = NULL; - const char* Arguments::_gc_log_filename = NULL; - bool Arguments::_has_profile = false; - size_t Arguments::_conservative_max_heap_alignment = 0; --size_t Arguments::_min_heap_size = 0; -+uintx Arguments::_min_heap_size = 0; - Arguments::Mode Arguments::_mode = _mixed; - bool Arguments::_java_compiler = false; - bool Arguments::_xdebug_mode = false; -diff --git a/hotspot/src/share/vm/utilities/globalDefinitions.hpp b/hotspot/src/share/vm/utilities/globalDefinitions.hpp -index dbb080e..11c3278 100644 ---- a/hotspot/src/share/vm/utilities/globalDefinitions.hpp -+++ b/hotspot/src/share/vm/utilities/globalDefinitions.hpp -@@ -284,8 +284,7 @@ inline size_t byte_size_in_exact_unit(size_t s) { - - // intx and uintx are the 'extended' int and 'extended' unsigned int types; - // they are 32bit wide on a 32-bit platform, and 64bit wide on a 64bit platform. -- --typedef intptr_t intx; -+typedef intptr_t intx; - typedef uintptr_t uintx; - - const intx min_intx = (intx)1 << (sizeof(intx)*BitsPerByte-1); -@@ -1106,10 +1105,10 @@ inline intptr_t bitfield(intptr_t x, int start_bit_no, int field_length) { - // and 64-bit overloaded functions, which does not work, and having - // explicitly-typed versions of these routines (i.e., MAX2I, MAX2L) - // will be even more error-prone than macros. --template inline T MAX2(T a, T b) { return (a > b) ? a : b; } --template inline T MIN2(T a, T b) { return (a < b) ? a : b; } -+template inline T MAX2(T a, U b) { return (a > b) ? a : b; } -+template inline T MIN2(T a, U b) { return (a < b) ? a : b; } - template inline T MAX3(T a, T b, T c) { return MAX2(MAX2(a, b), c); } --template inline T MIN3(T a, T b, T c) { return MIN2(MIN2(a, b), c); } -+template inline T MIN3(T a, U b, V c) { return MIN2(MIN2(a, b), c); } - template inline T MAX4(T a, T b, T c, T d) { return MAX2(MAX3(a, b, c), d); } - template inline T MIN4(T a, T b, T c, T d) { return MIN2(MIN3(a, b, c), d); } - -diff --git a/hotspot/src/share/vm/utilities/macros.hpp b/hotspot/src/share/vm/utilities/macros.hpp -index f24e4ff..534cb29 100644 ---- a/hotspot/src/share/vm/utilities/macros.hpp -+++ b/hotspot/src/share/vm/utilities/macros.hpp -@@ -334,7 +334,6 @@ - #endif - - #if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) --#define BSD - #define BSD_ONLY(code) code - #define NOT_BSD(code) - #else