Do you have a question? Post it now! No Registration Necessary
Subject
- Posted on
July 13, 2007, 7:43 am

Hi all,
I am writing a driver for GPIO device, gpio_int.c, and I put it under /
linux-2.4.x/drivers/char.
I need to call execve() in a function, v_hwrb_timer_handler() in
gpio_int.c:
void v_hwrb_timer_handler()
{
...
execve(path, argv, argc);
...
}
When I make it, I get the result:
drivers/char/char.o(.text+0xe9c4): In function `v_hwrb_timer_handler':
: undefined reference to `execve'
make[1]: *** [linux] Error 1
make[1]: Leaving directory `/home/uClinux-dist/linux-2.4.x'
make: *** [linux] Error 1
Can anyone present ideas for it?
Sincerely,
Ken
I am writing a driver for GPIO device, gpio_int.c, and I put it under /
linux-2.4.x/drivers/char.
I need to call execve() in a function, v_hwrb_timer_handler() in
gpio_int.c:
void v_hwrb_timer_handler()
{
...
execve(path, argv, argc);
...
}
When I make it, I get the result:
drivers/char/char.o(.text+0xe9c4): In function `v_hwrb_timer_handler':
: undefined reference to `execve'
make[1]: *** [linux] Error 1
make[1]: Leaving directory `/home/uClinux-dist/linux-2.4.x'
make: *** [linux] Error 1
Can anyone present ideas for it?
Sincerely,
Ken

Re: How to call execve() form a function under linux2.4.x/drivers/char/?

execve() is not supported inside the kernel. It is only available in user
space.
Read this:
http://mirror.linux.org.au/linux.conf.au/2005/cdrom-beta-1/linux-mandocs-2.4.31/call_usermodehelper.html
regards
Wolfgang
Site Timeline
- » Global symbol suppression
- — Next thread in » Embedded Linux
-
- » Porting linux kernel on Windriver SBC 7447 board.
- — Previous thread in » Embedded Linux
-
- » Crosscompiling for ARM: reloc type R_ARM_ABS32 is not supported for PIC - ...
- — Newest thread in » Embedded Linux
-
- » Re: Capacitors at RF
- — The site's Newest Thread. Posted in » Electronics Repair
-