This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] off_t: fix register pair calculation for 64-bit case
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Yury Norov <ynorov at caviumnetworks dot com>
- Cc: GNU C Library <libc-alpha at sourceware dot org>, Mike Frysinger <vapier at gentoo dot org>, "Joseph S. Myers" <joseph at codesourcery dot com>, Chris Metcalf <cmetcalf at tilera dot com>, Andrew Pinski <pinskia at gmail dot com>, cmetcalf at mellanox dot com
- Date: Fri, 24 Jun 2016 05:30:32 -0700
- Subject: Re: [PATCH] off_t: fix register pair calculation for 64-bit case
- Authentication-results: sourceware.org; auth=none
- References: <1466770980-18933-1-git-send-email-ynorov at caviumnetworks dot com>
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.