1
- From dc028fa4f316bec221c9b59d02a1c2648bb1cbbd Mon Sep 17 00:00:00 2001
1
+ From e8131d6a00005b4686f26d25d8617dd83540e98d Mon Sep 17 00:00:00 2001
2
2
From: David LeGare <legare@google.com>
3
- Date: Mon, 23 May 2022 17:58:51 +0000
3
+ Date: Mon, 13 Jun 2022 22:23:23 +0000
4
4
Subject: [PATCH] Add support for the Trusty OS
5
5
6
6
---
7
7
src/lib.rs | 6 ++++++
8
- src/trusty.rs | 46 ++++++++++++++++++++++++++++++++++++++++++++++
9
- 2 files changed, 52 insertions(+)
8
+ src/trusty.rs | 60 +++++ ++++++++++++++++++++++++++++++++++++++++++++++
9
+ 2 files changed, 66 insertions(+)
10
10
create mode 100644 src/trusty.rs
11
11
12
12
diff --git a/src/lib.rs b/src/lib.rs
13
- index d87d0d8e1..2eeb88c83 100644
13
+ index cce80f8c..a7eddaf2 100644
14
14
--- a/src/lib.rs
15
15
+++ b/src/lib.rs
16
- @@ -141 ,6 +141 ,12 @@ cfg_if! {
16
+ @@ -144 ,6 +144 ,12 @@ cfg_if! {
17
17
18
18
mod hermit;
19
19
pub use hermit::*;
@@ -28,13 +28,14 @@ index d87d0d8e1..2eeb88c83 100644
28
28
pub use fixed_width_ints::*;
29
29
diff --git a/src/trusty.rs b/src/trusty.rs
30
30
new file mode 100644
31
- index 000000000..2b7d57285
31
+ index 00000000..f06c0760
32
32
--- /dev/null
33
33
+++ b/src/trusty.rs
34
- @@ -0,0 +1,46 @@
34
+ @@ -0,0 +1,60 @@
35
35
+ pub use core::ffi::c_void;
36
36
+
37
37
+ pub type size_t = usize;
38
+ + pub type ssize_t = isize;
38
39
+
39
40
+ #[cfg(any(target_arch = "aarch64", target_arch = "arm"))]
40
41
+ pub type c_char = u8;
@@ -71,13 +72,25 @@ index 000000000..2b7d57285
71
72
+ pub type c_int32_t = i32;
72
73
+ pub type c_int64_t = i64;
73
74
+
75
+ + pub const STDOUT_FILENO: ::c_int = 1;
76
+ + pub const STDERR_FILENO: ::c_int = 2;
77
+ +
74
78
+ extern "C" {
75
79
+ pub fn calloc(nobj: size_t, size: size_t) -> *mut c_void;
76
80
+ pub fn malloc(size: size_t) -> *mut c_void;
77
81
+ pub fn realloc(p: *mut c_void, size: size_t) -> *mut c_void;
78
82
+ pub fn free(p: *mut c_void);
83
+ + pub fn memalign(align: ::size_t, size: ::size_t) -> *mut ::c_void;
79
84
+ pub fn posix_memalign(memptr: *mut *mut ::c_void, align: ::size_t, size: ::size_t) -> ::c_int;
85
+ + pub fn write(fd: ::c_int, buf: *const ::c_void, count: ::size_t) -> ::ssize_t;
86
+ + pub fn writev(fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int) -> ::ssize_t;
87
+ + }
88
+ +
89
+ + s! {
90
+ + pub struct iovec {
91
+ + pub iov_base: *mut ::c_void,
92
+ + pub iov_len: ::size_t,
93
+ + }
80
94
+ }
81
95
- -
82
- 2.36.1.124.g0e6072fb45-goog
83
-
96
+ 2.36.1.476.g0c4daa206d-goog
0 commit comments