85e430e
diff -up ./node_build/make.js.libuv ./node_build/make.js
915cb90
--- ./node_build/make.js.libuv	2019-05-02 04:02:32.000000000 -0400
915cb90
+++ ./node_build/make.js	2019-09-18 11:01:36.021282700 -0400
85e430e
@@ -101,7 +101,7 @@ Builder.configure({
85e430e
 
85e430e
     if (!builder.config.crossCompiling) {
85e430e
         if (NO_MARCH_FLAG.indexOf(process.arch) == -1) {
85e430e
-            builder.config.cflags.push('-march=native');
85e430e
+            builder.config.cflags.push('-mtune=generic');
85e430e
         }
85e430e
     }
85e430e
 
915cb90
@@ -291,7 +291,7 @@ Builder.configure({
85e430e
 
85e430e
                 if (!builder.config.crossCompiling) {
85e430e
                     if (NO_MARCH_FLAG.indexOf(process.arch) == -1) {
85e430e
-                        args.unshift('-march=native');
85e430e
+                        args.unshift('-mtune=generic');
85e430e
                     }
85e430e
                 }
85e430e
 
915cb90
@@ -305,7 +305,7 @@ Builder.configure({
85e430e
 
85e430e
     }).nThen(function (waitFor) {
85e430e
 
85e430e
-        builder.config.libs.push(libuvLib);
85e430e
+        builder.config.libs.push('-luv');
85e430e
         if (!android) {
85e430e
             builder.config.libs.push('-lpthread');
85e430e
         }
915cb90
@@ -332,15 +332,13 @@ Builder.configure({
85e430e
             );
85e430e
         }
85e430e
 
85e430e
-        builder.config.includeDirs.push(dependencyDir + '/libuv/include/');
85e430e
+        /* builder.config.includeDirs.push('/usr/include/uv/'); */
85e430e
 
85e430e
         var libuvBuilt;
85e430e
         var python;
85e430e
         nThen(function (waitFor) {
85e430e
 
85e430e
-            Fs.exists(libuvLib, waitFor(function (exists) {
85e430e
-                if (exists) { libuvBuilt = true; }
85e430e
-            }));
85e430e
+            libuvBuilt = true;
85e430e
 
85e430e
         }).nThen(function (waitFor) {
85e430e
 
85e430e
diff -up ./test/Beacon_test.c.libuv ./test/Beacon_test.c
915cb90
--- ./test/Beacon_test.c.libuv	2019-05-02 04:02:32.000000000 -0400
915cb90
+++ ./test/Beacon_test.c	2019-09-18 10:56:52.757377575 -0400
85e430e
@@ -256,7 +256,8 @@ int main()
85e430e
     start(alloc, logger, base, rand, runTest);
85e430e
 
85e430e
     EventBase_beginLoop(base);
85e430e
-    Allocator_free(alloc);
85e430e
+    EventBase_endLoop(base);
85e430e
+    /* Allocator_free(alloc); */
85e430e
     return 0;
85e430e
 }
85e430e
 #endif
85e430e
diff -up ./util/events/libuv/FileNo.c.libuv ./util/events/libuv/FileNo.c
915cb90
--- ./util/events/libuv/FileNo.c.libuv	2019-05-02 04:02:32.000000000 -0400
915cb90
+++ ./util/events/libuv/FileNo.c	2019-09-18 10:56:52.757377575 -0400
85e430e
@@ -77,14 +77,14 @@ static void onClose(uv_handle_t* handle)
85e430e
 #endif
85e430e
 #define ALLOC(buff) (((struct Allocator**) &(buff[-(8 + (((uintptr_t)buff) % 8))]))[0])
85e430e
 
85e430e
-static void incoming(uv_pipe_t* stream,
85e430e
+static void incoming(uv_stream_t* stream,
85e430e
                      ssize_t nread,
85e430e
-                     const uv_buf_t* buf,
85e430e
-                     uv_handle_type pending)
85e430e
+                     const uv_buf_t* buf)
85e430e
 {
85e430e
     // Grab out the allocator which was placed there by allocate()
85e430e
     struct Allocator* alloc = buf->base ? ALLOC(buf->base) : NULL;
85e430e
 
85e430e
+    uv_handle_type pending = uv_pipe_pending_type((uv_pipe_t*) stream);
85e430e
     Assert_true(pending == UV_UNKNOWN_HANDLE);
85e430e
 
85e430e
     if (nread < 0) {
85e430e
@@ -134,8 +134,8 @@ static void connected(uv_connect_t* req,
85e430e
                  fileno->pub.pipePath, uv_strerror(status) );
85e430e
         uv_close((uv_handle_t*) &fileno->peer, onClose);
85e430e
 
85e430e
-    } else if ((ret = uv_read2_start((uv_stream_t*)&fileno->peer, allocate, incoming))) {
85e430e
-        Log_info(fileno->pub.logger, "uv_read2_start() failed for pipe [%s] [%s]",
85e430e
+    } else if ((ret = uv_read_start((uv_stream_t*)&fileno->peer, allocate, incoming))) {
85e430e
+        Log_info(fileno->pub.logger, "uv_read_start() failed for pipe [%s] [%s]",
85e430e
                  fileno->pub.pipePath, uv_strerror(ret));
85e430e
         uv_close((uv_handle_t*) &fileno->peer, onClose);
85e430e
 
85e430e
diff -up ./util/events/libuv/Timeout.c.libuv ./util/events/libuv/Timeout.c
915cb90
--- ./util/events/libuv/Timeout.c.libuv	2019-09-18 10:56:52.757377575 -0400
915cb90
+++ ./util/events/libuv/Timeout.c	2019-09-18 10:58:31.190730913 -0400
915cb90
@@ -68,7 +68,7 @@ static void unlinkTo(struct Timeout* tim
85e430e
 /**
85e430e
  * The callback to be called by libuv.
85e430e
  */
85e430e
-static void handleEvent(uv_timer_t* handle, int status)
85e430e
+static void handleEvent(uv_timer_t* handle)
85e430e
 {
85e430e
     struct Timeout* timeout = Identity_check((struct Timeout*) handle);
915cb90
     if (!timeout->isArmed) { return; }
915cb90
@@ -196,4 +196,4 @@ void Timeout_clearAll(struct EventBase*
915cb90
 int Timeout_isActive(struct Timeout* timeout)
915cb90
 {
915cb90
     return (timeout && timeout->selfPtr);
915cb90
-}
915cb90
\ No newline at end of file
915cb90
+}