diff --git a/packages/graalvm/src/main/kotlin/elide/runtime/gvm/internals/vfs/EmbeddedGuestVFSImpl.kt b/packages/graalvm/src/main/kotlin/elide/runtime/gvm/internals/vfs/EmbeddedGuestVFSImpl.kt index f561b71f8e..74f0ad7cc3 100644 --- a/packages/graalvm/src/main/kotlin/elide/runtime/gvm/internals/vfs/EmbeddedGuestVFSImpl.kt +++ b/packages/graalvm/src/main/kotlin/elide/runtime/gvm/internals/vfs/EmbeddedGuestVFSImpl.kt @@ -376,12 +376,25 @@ internal class EmbeddedGuestVFSImpl private constructor ( } } + private fun fixAttributeTypes(map: MutableMap): MutableMap { + return map.apply { + if (containsKey("ino")) { + val ino = this["ino"] + if (ino is Int) { + this["ino"] = ino.toLong() + } + } + } + } + override fun readAttributes(path: Path, attributes: String, vararg options: LinkOption): MutableMap { return embeddedForPathOrFallBack(path, { super.readAttributes(path, attributes, *options) }) { fs, info -> inflatePath(path, fs, info) - fs.provider().readAttributes(path, attributes, *options) + fs.provider().readAttributes(path, attributes, *options).let { + fixAttributeTypes(it) + } } } diff --git a/packages/runtime/build.gradle.kts b/packages/runtime/build.gradle.kts index 33b41c049d..dd93a8a299 100644 --- a/packages/runtime/build.gradle.kts +++ b/packages/runtime/build.gradle.kts @@ -761,7 +761,7 @@ val experimentalFlags = listOf( // CFlags for release mode. val releaseCFlags: List = listOf( "-flto", -) +).onlyIf(!HostManager.hostIsMac) // lto flag breaks macos builds // PGO profiles to specify in release mode. val profiles: List = listOf( @@ -813,7 +813,7 @@ val jvmDefs = mapOf( "java.net.preferIPv4Stack" to "true", "logback.statusListenerClass" to "ch.qos.logback.core.status.NopStatusListener", "networkaddress.cache.ttl" to "10", - "polyglotimpl.DisableVersionChecks" to "true", + "polyglotimpl.DisableVersionChecks" to "false", "user.country" to "US", "user.language" to "en", "org.sqlite.lib.path" to nativesPath, diff --git a/packages/runtime/src/main/resources/META-INF/native-image/reflect-config.json b/packages/runtime/src/main/resources/META-INF/native-image/reflect-config.json index bbd5aaa610..e3ac3d02ec 100644 --- a/packages/runtime/src/main/resources/META-INF/native-image/reflect-config.json +++ b/packages/runtime/src/main/resources/META-INF/native-image/reflect-config.json @@ -2438,6 +2438,118 @@ "name":"java.util.Arrays.ArrayList", "methods":[{"name":"toString","parameterTypes":[] }] }, +{ + "name": "tools.elide.vfs.Directory", + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true +}, +{ + "name": "tools.elide.vfs.Directory$Builder", + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true +}, +{ + "name": "tools.elide.vfs.File", + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true +}, +{ + "name": "tools.elide.vfs.File$Builder", + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true +}, +{ + "name": "tools.elide.vfs.Filesystem", + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true +}, +{ + "name": "tools.elide.vfs.Filesystem$Builder", + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true +}, +{ + "name": "tools.elide.vfs.Tree", + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true +}, +{ + "name": "tools.elide.vfs.Tree$Builder", + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true +}, +{ + "name": "tools.elide.vfs.TreeEntry", + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true +}, +{ + "name": "tools.elide.vfs.TreeEntry$Builder", + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true +}, +{ + "name": "tools.elide.vfs.Bundle", + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true +}, +{ + "name": "tools.elide.vfs.Bundle$Builder", + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true +}, +{ + "name": "tools.elide.vfs.BundleHeader", + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true +}, +{ + "name": "tools.elide.vfs.BundleHeader$Builder", + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true +}, +{ + "name": "tools.elide.vfs.BundleInfo", + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true +}, +{ + "name": "tools.elide.vfs.BundleInfo$Builder", + "allDeclaredMethods":true, + "allPublicMethods":true, + "allDeclaredConstructors":true, + "allPublicConstructors":true +}, { "name":"java.util.Base64$Decoder", "allDeclaredMethods":true,