diff --git a/tests/Android.bp b/tests/Android.bp
index c254839..7219fc5 100644
--- a/tests/Android.bp
+++ b/tests/Android.bp
@@ -92,6 +92,7 @@
         "fcntl_test.cpp",
         "fdsan_test.cpp",
         "fenv_test.cpp",
+        "_FILE_OFFSET_BITS_test.cpp",
         "float_test.cpp",
         "ftw_test.cpp",
         "getauxval_test.cpp",
diff --git a/tests/_FILE_OFFSET_BITS_test.cpp b/tests/_FILE_OFFSET_BITS_test.cpp
new file mode 100644
index 0000000..cbdb369
--- /dev/null
+++ b/tests/_FILE_OFFSET_BITS_test.cpp
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#define _FILE_OFFSET_BITS 64
+
+#include <gtest/gtest.h>
+
+#include <fcntl.h>
+
+TEST(fcntl, f_getlk_FOB64) {
+  int fd = open("/proc/version", O_RDONLY);
+  ASSERT_TRUE(fd != -1);
+
+  struct flock check_lock;
+  check_lock.l_type = F_WRLCK;
+  check_lock.l_start = 0;
+  check_lock.l_whence = SEEK_SET;
+  check_lock.l_len = 0;
+
+  ASSERT_EQ(0, fcntl(fd, F_GETLK, &check_lock));
+  close(fd);
+}
diff --git a/tests/fcntl_test.cpp b/tests/fcntl_test.cpp
index d7dce31..a8a4cc5 100644
--- a/tests/fcntl_test.cpp
+++ b/tests/fcntl_test.cpp
@@ -148,6 +148,20 @@
   ASSERT_EQ(4, sb.st_size);
 }
 
+TEST(fcntl, f_getlk) {
+  int fd = open("/proc/version", O_RDONLY);
+  ASSERT_TRUE(fd != -1);
+
+  struct flock check_lock;
+  check_lock.l_type = F_WRLCK;
+  check_lock.l_start = 0;
+  check_lock.l_whence = SEEK_SET;
+  check_lock.l_len = 0;
+
+  ASSERT_EQ(0, fcntl(fd, F_GETLK, &check_lock));
+  close(fd);
+}
+
 TEST(fcntl, f_getlk64) {
   int fd = open64("/proc/version", O_RDONLY);
   ASSERT_TRUE(fd != -1);
@@ -158,9 +172,7 @@
   check_lock.l_whence = SEEK_SET;
   check_lock.l_len = 0;
 
-  int rc = fcntl(fd, F_GETLK64, &check_lock);
-  ASSERT_EQ(0, rc);
-
+  ASSERT_EQ(0, fcntl(fd, F_GETLK64, &check_lock));
   close(fd);
 }
 
