Message293883
> What is the type of st_ino? It's not off_t?
The type of st_ino is unsigned long long as defined in sys/stat.h for x86 and off_t is defined in sys/types.h this way;, quoting:
/* This historical accident means that we had a 32-bit off_t on 32-bit architectures. */
typedef __kernel_off_t off_t;
There is also a related section in the bionic github repo [1] quoted here:
=========================
This probably belongs in the NDK documentation rather than here, but these are the known ABI bugs in the 32-bit ABI:
time_t is 32-bit. http://b/5819737. In the 64-bit ABI, time_t is 64-bit.
off_t is 32-bit. There is off64_t, and in newer releases there is almost-complete support for _FILE_OFFSET_BITS. Unfortunately our stdio implementation uses 32-bit offsets and -- worse -- function pointers to functions that use 32-bit offsets, so there's no good way to implement the last few pieces http://b/24807045. In the 64-bit ABI, off_t is off64_t.
sigset_t is too small on ARM and x86 (but correct on MIPS), so support for real-time signals is broken. http://b/5828899 In the 64-bit ABI, sigset_t is the correct size for every architecture.
=========================
I will test your patch on x86 and x86_64 on Android and propose a patch if it works.
[1] https://android.googlesource.com/platform/bionic.git/#32_bit-ABI-bugs |
|
Date |
User |
Action |
Args |
2017-05-17 19:55:53 | xdegaye | set | recipients:
+ xdegaye, vstinner, serhiy.storchaka, eryksun, steve.dower, xiang.zhang, mba |
2017-05-17 19:55:53 | xdegaye | set | messageid: <1495050953.68.0.277414717658.issue29619@psf.upfronthosting.co.za> |
2017-05-17 19:55:53 | xdegaye | link | issue29619 messages |
2017-05-17 19:55:53 | xdegaye | create | |
|