[PATCH 2/2] Properly support lseek for n32 and x32
H.J. Lu
hjl.tools at gmail.com
Mon Apr 16 14:28:21 UTC 2012
On Mon, Apr 16, 2012 at 3:22 AM, Denys Vlasenko <dvlasenk at redhat.com> wrote:
> On 04/15/2012 08:21 PM, H.J. Lu wrote:
>>
>> Hi,
>>
>>
>> Linux kernel v3.4 adds x32 support. Both x32 and n32 use 64bit offset
>> for lseek parameter and return value. We need u_lrval to handle it
>> properly. Also we shouldn't check HAVE_LONG_LONG_OFF_T for n32 lseek.
>> This patch fixes it properly and prepares lseek for x32.
>
>
> Applied with some changes:
>
> - Define u_lrval only for arches which have it.
> - Same for RVAL_LUDECIMAL.
> - Comment out other RVAL_Lfoo consstants and code.
>
This patch is needed to support lseek for x32:
diff --git a/file.c b/file.c
index 58585f3..5f3b506 100644
--- a/file.c
+++ b/file.c
@@ -501,7 +501,7 @@ static const struct xlat whence[] = {
{ 0, NULL },
};
-#if defined(LINUX_MIPSN32)
+#if defined(LINUX_MIPSN32) || defined(X32)
int
sys_lseek(struct tcb *tcp)
{
Thanks.
--
H.J.
More information about the Strace-devel
mailing list