[PATCH] off_t: fix register pair calculation for 64-bit case

H.J. Lu hjl.tools@gmail.com
Fri Jun 24 12:30:00 GMT 2016


On Fri, Jun 24, 2016 at 5:23 AM, Yury Norov <ynorov@caviumnetworks.com> wrote:
> There are 3 syscall wrappers under sysdeps/unix/sysv/linux that
> calculate register pair for off_t like this:
>         __LONG_LONG_PAIR (offset >> 31, offset)
>
> While it works for 32-bit off_t, new 32-bit APIs that use 64-bit
> off_t will be broken with it. This patch redirects affected syscalls
> to their 64-bit versions. It also saves few instructions and symbols
> in glibc, as 32-bit syscall wrappers are not generated anymore.

If you have 64-bit register, should you use wordsize-64, like

sysdeps/unix/sysv/linux/wordsize-64



H.J.



More information about the Libc-alpha mailing list