aboutsummaryrefslogtreecommitdiff
path: root/patches
diff options
context:
space:
mode:
authorDavid LeGare <legare@google.com>2022-06-13 21:34:52 +0000
committerDavid LeGare <legare@google.com>2022-06-13 23:47:20 +0000
commitfe9c7c0033270097f777546de5ccdcbf6f756722 (patch)
tree9e49ab26b75be509397aac4b7dab60905c80a2e9 /patches
parent24616b79452ca8d578b04999f8d9f4e8d1e39341 (diff)
downloadlibc-fe9c7c0033270097f777546de5ccdcbf6f756722.tar.gz
Update Trusty support patch
Add additional items that were missed in the original patch. Bug: 193278128 Test: make Change-Id: I374108f50a9fc822fa8850fa0244f57c089017c5
Diffstat (limited to 'patches')
-rw-r--r--patches/std.diff9
-rw-r--r--patches/trusty.patch33
2 files changed, 28 insertions, 14 deletions
diff --git a/patches/std.diff b/patches/std.diff
index f9b599df..89e65f99 100644
--- a/patches/std.diff
+++ b/patches/std.diff
@@ -1,12 +1,13 @@
Index: libc/src/lib.rs
===================================================================
---- libc.orig/src/lib.rs
-+++ libc/src/lib.rs
-@@ -30,6 +30,9 @@
- #![cfg_attr(target_os = "redox", feature(static_nobundle))]
+--- a/src/lib.rs
++++ b/src/lib.rs
+@@ -30,6 +30,10 @@
+ )]
#![cfg_attr(libc_const_extern_fn, feature(const_extern_fn))]
+// ANDROID: Use std to allow building as a dylib.
++#[cfg(android_dylib)]
+extern crate std;
+
#[macro_use]
diff --git a/patches/trusty.patch b/patches/trusty.patch
index 205a99e4..94567b1a 100644
--- a/patches/trusty.patch
+++ b/patches/trusty.patch
@@ -1,19 +1,19 @@
-From dc028fa4f316bec221c9b59d02a1c2648bb1cbbd Mon Sep 17 00:00:00 2001
+From e8131d6a00005b4686f26d25d8617dd83540e98d Mon Sep 17 00:00:00 2001
From: David LeGare <legare@google.com>
-Date: Mon, 23 May 2022 17:58:51 +0000
+Date: Mon, 13 Jun 2022 22:23:23 +0000
Subject: [PATCH] Add support for the Trusty OS
---
src/lib.rs | 6 ++++++
- src/trusty.rs | 46 ++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 52 insertions(+)
+ src/trusty.rs | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 66 insertions(+)
create mode 100644 src/trusty.rs
diff --git a/src/lib.rs b/src/lib.rs
-index d87d0d8e1..2eeb88c83 100644
+index cce80f8c..a7eddaf2 100644
--- a/src/lib.rs
+++ b/src/lib.rs
-@@ -141,6 +141,12 @@ cfg_if! {
+@@ -144,6 +144,12 @@ cfg_if! {
mod hermit;
pub use hermit::*;
@@ -28,13 +28,14 @@ index d87d0d8e1..2eeb88c83 100644
pub use fixed_width_ints::*;
diff --git a/src/trusty.rs b/src/trusty.rs
new file mode 100644
-index 000000000..2b7d57285
+index 00000000..f06c0760
--- /dev/null
+++ b/src/trusty.rs
-@@ -0,0 +1,46 @@
+@@ -0,0 +1,60 @@
+pub use core::ffi::c_void;
+
+pub type size_t = usize;
++pub type ssize_t = isize;
+
+#[cfg(any(target_arch = "aarch64", target_arch = "arm"))]
+pub type c_char = u8;
@@ -71,13 +72,25 @@ index 000000000..2b7d57285
+pub type c_int32_t = i32;
+pub type c_int64_t = i64;
+
++pub const STDOUT_FILENO: ::c_int = 1;
++pub const STDERR_FILENO: ::c_int = 2;
++
+extern "C" {
+ pub fn calloc(nobj: size_t, size: size_t) -> *mut c_void;
+ pub fn malloc(size: size_t) -> *mut c_void;
+ pub fn realloc(p: *mut c_void, size: size_t) -> *mut c_void;
+ pub fn free(p: *mut c_void);
++ pub fn memalign(align: ::size_t, size: ::size_t) -> *mut ::c_void;
+ pub fn posix_memalign(memptr: *mut *mut ::c_void, align: ::size_t, size: ::size_t) -> ::c_int;
++ pub fn write(fd: ::c_int, buf: *const ::c_void, count: ::size_t) -> ::ssize_t;
++ pub fn writev(fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int) -> ::ssize_t;
++}
++
++s! {
++ pub struct iovec {
++ pub iov_base: *mut ::c_void,
++ pub iov_len: ::size_t,
++ }
+}
--
-2.36.1.124.g0e6072fb45-goog
-
+2.36.1.476.g0c4daa206d-goog