add platform-specific function to get the error number for HermitOS

Extending `std` to get the last error number for HermitOS.

HermitOS is a tier 3 platform and this PR changes only files,
wich are related to the tier 3 platform.
This commit is contained in:
Stefan Lankes 2024-02-28 23:01:56 +01:00
parent d377991bad
commit 3726cbb5fe
3 changed files with 8 additions and 8 deletions

View File

@ -1640,9 +1640,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
[[package]] [[package]]
name = "hermit-abi" name = "hermit-abi"
version = "0.3.6" version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd5256b483761cd23699d0da46cc6fd2ee3be420bbe6d020ae4a091e70b7e9fd" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
dependencies = [ dependencies = [
"compiler_builtins", "compiler_builtins",
"rustc-std-workspace-alloc", "rustc-std-workspace-alloc",

View File

@ -48,7 +48,7 @@ dlmalloc = { version = "0.2.4", features = ['rustc-dep-of-std'] }
fortanix-sgx-abi = { version = "0.5.0", features = ['rustc-dep-of-std'], public = true } fortanix-sgx-abi = { version = "0.5.0", features = ['rustc-dep-of-std'], public = true }
[target.'cfg(target_os = "hermit")'.dependencies] [target.'cfg(target_os = "hermit")'.dependencies]
hermit-abi = { version = "0.3.2", features = ['rustc-dep-of-std'], public = true } hermit-abi = { version = "0.3.9", features = ['rustc-dep-of-std'], public = true }
[target.'cfg(target_os = "wasi")'.dependencies] [target.'cfg(target_os = "wasi")'.dependencies]
wasi = { version = "0.11.0", features = ['rustc-dep-of-std'], default-features = false } wasi = { version = "0.11.0", features = ['rustc-dep-of-std'], default-features = false }

View File

@ -14,15 +14,15 @@ use crate::sys::unsupported;
use crate::vec; use crate::vec;
pub fn errno() -> i32 { pub fn errno() -> i32 {
0 unsafe { abi::get_errno() }
} }
pub fn error_string(_errno: i32) -> String { pub fn error_string(errno: i32) -> String {
"operation successful".to_string() abi::error_string(errno).to_string()
} }
pub fn getcwd() -> io::Result<PathBuf> { pub fn getcwd() -> io::Result<PathBuf> {
unsupported() Ok(PathBuf::from("/"))
} }
pub fn chdir(_: &path::Path) -> io::Result<()> { pub fn chdir(_: &path::Path) -> io::Result<()> {
@ -188,7 +188,7 @@ pub fn unsetenv(k: &OsStr) -> io::Result<()> {
} }
pub fn temp_dir() -> PathBuf { pub fn temp_dir() -> PathBuf {
panic!("no filesystem on hermit") PathBuf::from("/tmp")
} }
pub fn home_dir() -> Option<PathBuf> { pub fn home_dir() -> Option<PathBuf> {