Remove libc dependency on non-Unix platforms
diff --git a/src/utils.rs b/src/utils.rs
index 7c71deb..cb9b65e 100644
--- a/src/utils.rs
+++ b/src/utils.rs
@@ -1,6 +1,22 @@
 use core::alloc::Layout;
 use core::mem;
 
+/// Aborts the process.
+///
+/// To abort, this function simply panics while panicking.
+pub(crate) fn abort() -> ! {
+    struct Panic;
+
+    impl Drop for Panic {
+        fn drop(&mut self) {
+            panic!("aborting the process");
+        }
+    }
+
+    let _panic = Panic;
+    panic!("aborting the process");
+}
+
 /// Calls a function and aborts if it panics.
 ///
 /// This is useful in unsafe code where we can't recover from panics.
@@ -10,7 +26,7 @@
 
     impl Drop for Bomb {
         fn drop(&mut self) {
-            unsafe { libc::abort() }
+            abort();
         }
     }