xref: /aosp_15_r20/external/libchrome/libchrome_tools/patch/file_posix.patch (revision 635a864187cb8b6c713ff48b7e790a6b21769273)
1*635a8641SAndroid Build Coastguard Worker# On Android, lseek64 should be used, whlie lseek should be in other platfrom.
2*635a8641SAndroid Build Coastguard Worker
3*635a8641SAndroid Build Coastguard Worker--- a/base/files/file_posix.cc
4*635a8641SAndroid Build Coastguard Worker+++ b/base/files/file_posix.cc
5*635a8641SAndroid Build Coastguard Worker@@ -189,7 +189,9 @@ int64_t File::Seek(Whence whence, int64_t offset) {
6*635a8641SAndroid Build Coastguard Worker
7*635a8641SAndroid Build Coastguard Worker   SCOPED_FILE_TRACE_WITH_SIZE("Seek", offset);
8*635a8641SAndroid Build Coastguard Worker
9*635a8641SAndroid Build Coastguard Worker-#if defined(OS_ANDROID)
10*635a8641SAndroid Build Coastguard Worker+// Additionally check __BIONIC__ since older versions of Android don't define
11*635a8641SAndroid Build Coastguard Worker+// _FILE_OFFSET_BITS.
12*635a8641SAndroid Build Coastguard Worker+#if _FILE_OFFSET_BITS != 64 || defined(__BIONIC__)
13*635a8641SAndroid Build Coastguard Worker   static_assert(sizeof(int64_t) == sizeof(off64_t), "off64_t must be 64 bits");
14*635a8641SAndroid Build Coastguard Worker   return lseek64(file_.get(), static_cast<off64_t>(offset),
15*635a8641SAndroid Build Coastguard Worker                  static_cast<int>(whence));
16*635a8641SAndroid Build Coastguard Worker@@ -275,7 +277,7 @@ int File::Write(int64_t offset, const char* data, int size) {
17*635a8641SAndroid Build Coastguard Worker   int bytes_written = 0;
18*635a8641SAndroid Build Coastguard Worker   int rv;
19*635a8641SAndroid Build Coastguard Worker   do {
20*635a8641SAndroid Build Coastguard Worker-#if defined(OS_ANDROID)
21*635a8641SAndroid Build Coastguard Worker+#if _FILE_OFFSET_BITS != 64 || defined(__BIONIC__)
22*635a8641SAndroid Build Coastguard Worker     // In case __USE_FILE_OFFSET64 is not used, we need to call pwrite64()
23*635a8641SAndroid Build Coastguard Worker     // instead of pwrite().
24*635a8641SAndroid Build Coastguard Worker     static_assert(sizeof(int64_t) == sizeof(off64_t),