From 6e6c01b97189a95b59a037fa7dabcf8217f199af Mon Sep 17 00:00:00 2001
From: Pavol Rusnak <stick@gk2.sk>
Date: Fri, 31 Mar 2017 02:21:18 +0200
Subject: [PATCH] unix: Convert mp_uint_t to size_t in alloc.c.

---
 unix/alloc.c        | 6 +++---
 unix/mpconfigport.h | 8 +++++---
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/unix/alloc.c b/unix/alloc.c
index 04c635ee9..54fc1d3c4 100644
--- a/unix/alloc.c
+++ b/unix/alloc.c
@@ -49,7 +49,7 @@ typedef struct _mmap_region_t {
     struct _mmap_region_t *next;
 } mmap_region_t;
 
-void mp_unix_alloc_exec(mp_uint_t min_size, void **ptr, mp_uint_t *size) {
+void mp_unix_alloc_exec(size_t min_size, void **ptr, size_t *size) {
     // size needs to be a multiple of the page size
     *size = (min_size + 0xfff) & (~0xfff);
     *ptr = mmap(NULL, *size, PROT_READ | PROT_WRITE | PROT_EXEC, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
@@ -65,7 +65,7 @@ void mp_unix_alloc_exec(mp_uint_t min_size, void **ptr, mp_uint_t *size) {
     MP_STATE_VM(mmap_region_head) = rg;
 }
 
-void mp_unix_free_exec(void *ptr, mp_uint_t size) {
+void mp_unix_free_exec(void *ptr, size_t size) {
     munmap(ptr, size);
 
     // unlink the mmap'd region from the list
@@ -93,7 +93,7 @@ void *ffi_closure_alloc(size_t size, void **code);
 void ffi_closure_free(void *ptr);
 
 void *ffi_closure_alloc(size_t size, void **code) {
-    mp_uint_t dummy;
+    size_t dummy;
     mp_unix_alloc_exec(size, code, &dummy);
     return *code;
 }
diff --git a/unix/mpconfigport.h b/unix/mpconfigport.h
index 66de0fa96..a85884594 100644
--- a/unix/mpconfigport.h
+++ b/unix/mpconfigport.h
@@ -217,6 +217,9 @@ extern const struct _mp_obj_module_t mp_module_jni;
 
 // type definitions for the specific machine
 
+// For size_t and ssize_t
+#include <unistd.h>
+
 // assume that if we already defined the obj repr then we also defined types
 #ifndef MICROPY_OBJ_REPR
 #ifdef __LP64__
@@ -239,8 +242,8 @@ typedef long long mp_off_t;
 typedef long mp_off_t;
 #endif
 
-void mp_unix_alloc_exec(mp_uint_t min_size, void** ptr, mp_uint_t *size);
-void mp_unix_free_exec(void *ptr, mp_uint_t size);
+void mp_unix_alloc_exec(size_t min_size, void** ptr, size_t *size);
+void mp_unix_free_exec(void *ptr, size_t size);
 void mp_unix_mark_exec(void);
 #define MP_PLAT_ALLOC_EXEC(min_size, ptr, size) mp_unix_alloc_exec(min_size, ptr, size)
 #define MP_PLAT_FREE_EXEC(ptr, size) mp_unix_free_exec(ptr, size)
@@ -253,7 +256,6 @@ void mp_unix_mark_exec(void);
 #if MICROPY_PY_OS_DUPTERM
 #define MP_PLAT_PRINT_STRN(str, len) mp_hal_stdout_tx_strn_cooked(str, len)
 #else
-#include <unistd.h>
 #define MP_PLAT_PRINT_STRN(str, len) do { ssize_t ret = write(1, str, len); (void)ret; } while (0)
 #endif
 
-- 
GitLab