OpenJdkJVM: Fix JVM_Lseek
Use lseek64 and remove unnecessary TEMP_FAILURE_RETRY.
bug: 28192631
Change-Id: Ic27aa6c03122b29d53e75ead56870a8cb7867fd3
diff --git a/runtime/openjdkjvm/OpenjdkJvm.cc b/runtime/openjdkjvm/OpenjdkJvm.cc
index aff9b61..d010bab 100644
--- a/runtime/openjdkjvm/OpenjdkJvm.cc
+++ b/runtime/openjdkjvm/OpenjdkJvm.cc
@@ -116,7 +116,12 @@
/* posix lseek() */
JNIEXPORT jlong JVM_Lseek(jint fd, jlong offset, jint whence) {
- return TEMP_FAILURE_RETRY(lseek(fd, offset, whence));
+ // NOTE: Using TEMP_FAILURE_RETRY here is busted for LP32 on glibc - the return
+ // value will be coerced into an int32_t.
+ //
+ // lseek64 isn't specified to return EINTR so it shouldn't be necessary
+ // anyway.
+ return lseek64(fd, offset, whence);
}
/*