lkml.org 
[lkml]   [1998]   [Aug]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: why asmlinkage is needed?
    Hi Andi,

    mec> The asmlinkage is for the benefit of user-space C++ programs that
    mec> include kernel headers.

    andi> Not really. System calls are called through the int 0x80 interface
    andi> with stubs in the libc, and the user program never sees the internal
    andi> kernel symbol table. Linux is not a DLL.
    andi>
    andi> asmlinkage is just a historical remnant from the great deays when Linux
    andi> was writen in C++ (somewhere around 0.97 I think).

    What was I thinking? Of course I'm wrong here. I should have said:
    I don't know where the asmlinkage comes from, but it doesn't work
    properly with user-space C++ programs that include kernel headers.
    (That's where I first noticed it).

    For instance, on linux 2.0.33, compile a C++ program that includes
    <linux/md.h>, which has user-space ioctl definitions. The compilation
    will blow up on a typedef for lcall7 in <linux/personality.h>.

    This problem lasted a long ways into the 2.1.XX series.

    Regards,

    Michael Chastain
    <mailto:mec@shout.net>
    "love without fear"

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.rutgers.edu
    Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html

    \
     
     \ /
      Last update: 2005-03-22 13:44    [W:5.027 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site