[rust] update RwLock definition in libunwind to match `std`
diff --git a/libunwind/src/UnwindRustSgx.h b/libunwind/src/UnwindRustSgx.h
index 3c54b16..8155b8e 100644
--- a/libunwind/src/UnwindRustSgx.h
+++ b/libunwind/src/UnwindRustSgx.h
@@ -22,24 +22,14 @@
 
 // We have to use RWLock from rust repo, it is defined in:
 // src/libstd/sys/sgx/rwlock.rs.
-// rwlock.rs has compile time check to ensure sizeof(RWLock) = 144.
+// rwlock.rs has a compile time check to ensure the size and alignment matches
+// the Rust definition.
 typedef struct {
-    unsigned char opaque[144];
+  void *opaque;
 } RWLock;
 
-// The below is obtained by printing initialized bytes
-// for RWLock in rust repo: src/libstd/sys/sgx/rwlock.rs.
-#define RWLOCK_INIT { {                                                 \
-    /* 0x00 */ 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, \
-    /* 0x10 */ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, \
-    /* 0x20 */ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, \
-    /* 0x30 */ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, \
-    /* 0x40 */ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, \
-    /* 0x50 */ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, \
-    /* 0x60 */ 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, \
-    /* 0x70 */ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, \
-    /* 0x80 */ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, \
-            } }
+#define RWLOCK_INIT                                                            \
+  { (void *)0 }
 
 // These are the functions exposed by SGX-Rust.
 // The rust changes are available at: