lkml.org 
[lkml]   [2018]   [Apr]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH] x86: ipc: fix x32 version of shmid64_ds and msqid64_ds
    On Fri, Apr 20, 2018 at 7:38 AM, Arnd Bergmann <arnd@arndb.de> wrote:
    > On Fri, Apr 20, 2018 at 3:53 PM, Jeffrey Walton <noloader@gmail.com> wrote:
    >>> +#if !defined(__x86_64__) || !defined(__ilp32__)
    >>> #include <asm-generic/msgbuf.h>
    >>> +#else
    >>
    >> I understand there's some progress having Clang compile the kernel.
    >> Clang treats __ILP32__ and friends differently than GCC. I believe
    >> ILP32 shows up just about everywhere there are 32-bit ints, longs and
    >> pointers. You might find it on Aarch64 or you might find it on MIPS64
    >> when using Clang.
    >>
    >> I think that means this may be a little suspicious:
    >>
    >> > +#if !defined(__x86_64__) || !defined(__ilp32__)
    >>
    >> I kind of felt LLVM was wandering away from the x32 ABI, but the LLVM
    >> devs insisted they were within their purview. Also see
    >> https://lists.llvm.org/pipermail/cfe-dev/2015-December/046300.html.
    >>
    >> Sorry about the top-post. I just wanted to pick out that one piece.
    >
    > It seems I made a typo and it needs to be __ILP32__ rather than
    > __ilp32__ (corrected that locally, will resend once we have resolved
    > this).
    >
    > Aside from that, the #if check seems to be correct to me: this
    > is an x86-specific header, so it won't ever be seen on other
    > architectures. On x86-32, __x86_64__ isn't set, so we don't care
    > about whether __ilp32__ is set or not, and on x86-64 (lp64),
    > __ilp32__ is never set, so we still get the asm-generic header.
    >

    Glibc has correct header files for system calls. I have a very old
    program to check if Linux kernel header files are correct for user
    space:

    https://github.com/hjl-tools/linux-header

    It needs update to check uapi.

    --
    H.J.

    \
     
     \ /
      Last update: 2018-04-22 14:39    [W:5.348 / U:1.308 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site