xfs-masters
[Top] [All Lists]

[xfs-masters] [Bug 786] New: libattr (2.4.23) has wrong syscall values

To: xfs-master@xxxxxxxxxxx
Subject: [xfs-masters] [Bug 786] New: libattr (2.4.23) has wrong syscall values for Linux mips64
From: bugzilla-daemon@xxxxxxxxxxx
Date: Sun, 20 Jul 2008 12:22:24 -0700
Reply-to: xfs-masters@xxxxxxxxxxx
Sender: xfs-masters-bounce@xxxxxxxxxxx
http://oss.sgi.com/bugzilla/show_bug.cgi?id=786

           Summary: libattr (2.4.23) has wrong syscall values for Linux
                    mips64
           Product: Linux XFS
           Version: Current
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: xfsprogs
        AssignedTo: xfs-master@xxxxxxxxxxx
        ReportedBy: kelledin@xxxxxxxxxxxx


Current libattr/syscalls.c depends on the arch-specific macro "__mips64__" to be
definedand bases its syscall definitions on that.  However, this macro does NOT
exist as of gcc-4.1.2 (it defines "__mips64" instead, in addition to
"__mips__").  In addition, syscalls.c makes no differentiation between the n32
and n64 ABI (yes, both are MIPS64, and the syscalls are different).  On top of
that, the syscall numbers it defines based on the "__mips64__" macro are
completely wrong for either ABI, so anything using libattr to manage extended
attributes on mips64 frequently produces bad results or gets nonsensical errors
(for example, coreutils-6.12 linked against libacl/libattr gets "Bad address"
when trying to do "cp -pr").

I'm attaching a patch based on examining the arch/mips/kernel/scall64*.S files
for a somewhat tweaked 2.6.21.7 kernel.  This seems to work for my case (using
ext3 on mips64 with pure n64 ABI).  I don't have the opportunity to test the n32
ABI bits at the moment, so that could use some further testing.  FWIW, the
mips32 syscall definitions (under "__mips__") appear to already be correct.

-- 
Configure bugmail: http://oss.sgi.com/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


<Prev in Thread] Current Thread [Next in Thread>
  • [xfs-masters] [Bug 786] New: libattr (2.4.23) has wrong syscall values for Linux mips64, bugzilla-daemon <=