On 7 March 2017 at 15:53, Eero Tamminen <[email protected]> wrote: > Hi, > > On 07.03.2017 17:08, Jason Ekstrand wrote: >> >> Interesting... This must only affect android for some weird reason >> because 32-bit builds have been working on regular Linux for some time >> now. > > > There are couple of issues... > > From "ftruncate" manual page: > int ftruncate(int fd, off_t length); > ... > The original Linux truncate() and ftruncate() system calls were not > designed to handle large file offsets. Consequently, Linux 2.4 added > truncate64() and ftruncate64() system calls that handle large files. > However, these details can be ignored by applications using glibc, whose > wrapper functions transparently employ the more recent system calls where > they are available. > > On some 32-bit architectures, the calling signature for these system > calls differ, for the reasons described in syscall(2). > > > And from "ftello" manual page: > On some architectures, both off_t and long are 32-bit types, but > defining _FILE_OFFSET_BITS with the value 64 (before including any header > files) will turn off_t into a 64-bit type. > > > Not sure which one Android libc/build hits. > Afaict 32bit Android has been ... what's a nicer word than broken... See the fun experience we have in gallium [1] to w/a their fun mmap implementation ;-)
Tapani, cannot comment on the patch itself but do take a look at [1] and move/reuse it _everywhere_. Mauro can you lend a hand to Tapani ? -Emil [1] src/gallium/auxiliary/os/os_mman.h _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
