Messages in this thread | | | Date | Sun, 16 Aug 1998 07:51:55 -0500 | From | Michael Elizabeth Chastain <> | Subject | Re: 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
| |