This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On 07/05/2016 03:59 PM, Adhemerval Zanella wrote:
On 05/07/2016 10:18, Florian Weimer wrote:On 07/04/2016 07:08 PM, Adhemerval Zanella wrote:The p{read,write}v{64} consolidation patch [1] added a wrong guard for LO_HI_LONG definition. It currently uses both '__WORDSIZE == 64' and 'defined __ASSUME_WORDSIZE64_ILP32' to set the value to be passed in one argument, otherwise it will be split in two. However it fails on MIPS64n32 where syscalls n32 uses the compat implementation in the kernel meaning the off_t arguments are passed in two separate registers.Was this bug caught by the glibc test suite on the affected architecture?Yes, Joseph reported it [1]. [1] https://sourceware.org/ml/libc-alpha/2016-07/msg00051.html
Thanks. I looked at existing uses of __OFF_T_MATCHES_OFF64_T, and it seems that it is used as if indicating whether off_t and off64_t are the same type.
I'm surprised it's the right conditional here because just because the types are the same in user space, the system call convention supports 64-bit arguments.
Thanks, Florian
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |