-
Notifications
You must be signed in to change notification settings - Fork 266
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
find and fix other _FILE_OFFSET_BITS=64 unified headers breakage #333
Comments
actually, lseek is okay because lseek64 has been here forever too... |
https://android-review.googlesource.com/354934 fixes sys/sendfile.h. |
https://android-review.googlesource.com/354857 fixes stdio.h. |
Without this, setting __FILE_OFFSET_BITS to 64 and targeting pre-L made sendfile entirely unavailable. Bug: android/ndk#333 Test: builds Change-Id: I82d326ff244473dd5443632ff6c19d726d5e29ee
Without this, setting __FILE_OFFSET_BITS to 64 and targeting pre-L made these functions entirely unavailable. Bug: android/ndk#333 Test: builds Change-Id: Id17ae3c070f8b2650a9bc9aa2aa2e92c5fcdf4ad
Just a heads up: this is going to be in r15 but won't be in beta 1. We've got a bunch of new code in the headers (better |
We had several bugs filed saying "if I set _FILE_OFFSET_BITS=64 when targeting an API < L, various functions are missing". Instead of saying "yes, they are", we quietly just modified the header files to expose the non-64-bit variants. This makes no sense. We can't just say "oh, yeah, we don't have a version of this function that agrees with your calling code about how large off_t is, but here's a version that doesn't: I'm sure it'll be fine". _FILE_OFFSET_BITS=64 on Android LP32 has always been a game of chance, but that game should be "are all the functions my code needs available at compile time?", not "will my code actually work at run time?". Bug: android/ndk#449 Bug: android/ndk#442 Bug: android/ndk#333 Bug: android/ndk#332 Bug: android/ndk#324 Test: builds Change-Id: Ib095251d3e21e77ed50cc3575388107fecec4ecd
We had several bugs filed saying "if I set _FILE_OFFSET_BITS=64 when targeting an API < L, various functions are missing". Instead of saying "yes, they are", we quietly just modified the header files to expose the non-64-bit variants. This makes no sense. We can't just say "oh, yeah, we don't have a version of this function that agrees with your calling code about how large off_t is, but here's a version that doesn't: I'm sure it'll be fine". _FILE_OFFSET_BITS=64 on Android LP32 has always been a game of chance, but that game should be "are all the functions my code needs available at compile time?", not "will my code actually work at run time?". Bug: android/ndk#442 Bug: android/ndk#333 Bug: android/ndk#332 Bug: android/ndk#324 Test: builds Change-Id: Ib095251d3e21e77ed50cc3575388107fecec4ecd
#332 had mmap, but anywhere where we have an #if defined(__USE_FILE_OFFSET64) around a function that doesn't have an __INTRODUCED_IN, we have a similar problem.
stdio.h:
sys/sendfile.h:
unistd.h:
The text was updated successfully, but these errors were encountered: