diff --git a/src/unix/linux_like/linux/align.rs b/src/unix/linux_like/linux/align.rs
index 6000b416e0d4a2d7e8268fe37eaef188daa60736..09bf8c85350c607d13b9cf98ee304945861e6c67 100644
--- a/src/unix/linux_like/linux/align.rs
+++ b/src/unix/linux_like/linux/align.rs
@@ -7,7 +7,8 @@ macro_rules! expand_align {
                            target_arch = "mips64",
                            target_arch = "s390x",
                            target_arch = "sparc64",
-                           target_arch = "aarch64"),
+                           target_arch = "aarch64",
+                           target_arch = "riscv64"),
                        repr(align(4)))]
             #[cfg_attr(not(any(target_pointer_width = "32",
                                target_arch = "x86_64",
@@ -15,7 +16,8 @@ macro_rules! expand_align {
                                target_arch = "mips64",
                                target_arch = "s390x",
                                target_arch = "sparc64",
-                               target_arch = "aarch64")),
+                               target_arch = "aarch64",
+                               target_arch = "riscv64")),
                        repr(align(8)))]
             pub struct pthread_mutexattr_t {
                 #[doc(hidden)]
diff --git a/src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs b/src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs
index c45c5b230bed7e5d399ee2a588bb7260a4910853..77cf6f3fcb3605427f64ac4dee22899055ee3f18 100644
--- a/src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs
+++ b/src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs
@@ -205,11 +205,22 @@ s! {
         pub l_len: ::off_t,
         pub l_pid: ::pid_t,
     }
+
+    pub struct flock64 {
+        pub l_type: ::c_short,
+        pub l_whence: ::c_short,
+        pub l_start: ::off64_t,
+        pub l_len: ::off64_t,
+        pub l_pid: ::pid_t,
+    }
 }
 
 pub const POSIX_FADV_DONTNEED: ::c_int = 4;
 pub const POSIX_FADV_NOREUSE: ::c_int = 5;
 pub const VEOF: usize = 4;
+pub const RTLD_DEEPBIND: ::c_int = 0x8;
+pub const RTLD_GLOBAL: ::c_int = 0x100;
+pub const RTLD_NOLOAD: ::c_int = 0x4;
 pub const TIOCGSOFTCAR: ::c_ulong = 21529;
 pub const TIOCSSOFTCAR: ::c_ulong = 21530;
 pub const TIOCGRS485: ::c_int = 21550;
diff --git a/src/unix/linux_like/linux/gnu/mod.rs b/src/unix/linux_like/linux/gnu/mod.rs
index e19144295f25067acbf3f900a85f0adf729eb2a6..39269d792b9f96725007e77c2d5140faf062356a 100644
--- a/src/unix/linux_like/linux/gnu/mod.rs
+++ b/src/unix/linux_like/linux/gnu/mod.rs
@@ -907,7 +907,8 @@ cfg_if! {
         target_arch = "arm",
         target_arch = "x86",
         target_arch = "x86_64",
-        target_arch = "s390x"
+        target_arch = "s390x",
+        target_arch = "riscv64"
     ))] {
         pub const PTHREAD_STACK_MIN: ::size_t = 16384;
     } else if #[cfg(any(
diff --git a/src/unix/linux_like/linux/no_align.rs b/src/unix/linux_like/linux/no_align.rs
index 13c2b71c983949026acfa75e4d0e4f10b1b51844..a59edcb9493a78d08ad3cceb9578fc52b38d5d01 100644
--- a/src/unix/linux_like/linux/no_align.rs
+++ b/src/unix/linux_like/linux/no_align.rs
@@ -7,6 +7,7 @@ macro_rules! expand_align {
                           target_arch = "mips64",
                           target_arch = "s390x",
                           target_arch = "sparc64",
+                          target_arch = "riscv64",
                           all(target_arch = "aarch64",
                               target_env = "musl")))]
                 __align: [::c_int; 0],
@@ -15,6 +16,7 @@ macro_rules! expand_align {
                               target_arch = "mips64",
                               target_arch = "s390x",
                               target_arch = "sparc64",
+                              target_arch = "riscv64",
                               all(target_arch = "aarch64",
                                   target_env = "musl"))))]
                 __align: [::c_long; 0],