Re: Implement new system call in 2.6 (now 2.4)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I found the thread below in the archive, and I am
having the same problem trying to implement a new
system call in a 2.4 kernel.  How did you end up
fixing this?

I am adding a simple call to time.c, and have also
followed the instructions at:

http://fossil.wpi.edu/docs/howto_add_systemcall.html 

I am getting the error:

/tmp/ccYYs1zB.o(.text+0x20): In function
`pedagogictime': 
: undefined reference to `errno' 
collect2: ld returned 1 exit status 

(Yes, this is the lab from the Nutt book ;>)

Thank you.

Jensen

> On Wed, 25 Feb 2004 11:07:41 +0100 (CET) Kristian
Sørensen wrote: 
> 
> | Hi all! 
> | 
> | How do I invoke a newly created system call in the
2.6.3 kernel from 
> | userspace? 
> | 
> | The call is added it arch/i386/kernel/entry.S and
include/asm/unistd.h 
> | and the call is implemented in a security module
called Umbrella(*). 
> | 
> | The kernel compiles and boots nicely. 
> | 
> | The main problem is now to compile a userspace
program that invokes this 
> | call. The guide for implementing the systemcall at

> |
http://fossil.wpi.edu/docs/howto_add_systemcall.html 
> | has been followed, which yields the following
userspace program: 
> | 
> | // test.h 
> | #include
"/home/snc/linux-2.6.3-umbrella/include/linux/unistd.h"

> | _syscall1(int, umbrella_scr, int, arg1); 
> | 
> | // test.c 
> | #include "test.h" 
> | main() { 
> | int test = umbrella_scr(1); 
> | printf ("%i\n", test); 
> | } 
> | 
> | When compiling: 
> | 
> | gcc -I/home/snc/linux-2.6.3/include test.c 
> | 
> | /tmp/ccYYs1zB.o(.text+0x20): In function
`umbrella_scr': 
> | : undefined reference to `errno' 
> | collect2: ld returned 1 exit status 
> | 
> | 
> | It seems like a little stupid error :-( Does some
of you have a solution? 
> | 
> Hm, it builds for me with no errors. 
> I'm using gcc version 3.2. Maybe it's a tools issue.

> 
> | 
> | (*) Umbrella is a security project for securing
handheld devices. Umbrella 
> | for implements a combination of process based
mandatory access control 
> | (MAC) and authentication of files. This is
implemented on top of the Linux 
> | Security Modules framework. The MAC scheme is
enforced by a set of 
> | restrictions for each process. 
> | More information on http://umbrella.sf.net 
> 
> 
> -- 
> ~Randy 


		
__________________________________ 
Yahoo! Mail Mobile 
Take Yahoo! Mail with you! Check email on your mobile phone. 
http://mobile.yahoo.com/learn/mail 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux