Hi Rahul, Rahul Bedarkar wrote, > Hi, > > On Wednesday 21 December 2016 12:30 PM, Waldemar Brodkorb wrote: > >Hi, > >Rahul Bedarkar wrote, > > > >>Commit 3a45b87ac36f (modutils: support finit_module syscall) introduced > >>macro finit_module. But it is not defined for uClibc. > >> > >>With uClibc, we get following build errors: > >> > >> modutils/lib.a(modutils.o): In function `bb_init_module': > >> modutils.c:(.text.bb_init_module+0x94): undefined reference to > >> `finit_module' > >> modutils.c:(.text.bb_init_module+0xa0): undefined reference to > >> `finit_module' > >> > >>This commit guards usage of finit_module when not using uClibc. > > > >Do you have an idea why this error is not happening with glibc or > >musl? > > > > As mentioned in commit message, commit 3a45b87ac36f (modutils: support > finit_module syscall) has introduced macro finit_module which is defined in > else part of #ifdef __UCLIBC__ and in actual usage it is only guarded for > __NR_finit_module which leads to this error for uClibc only. Following is > code snippet from modutils.c where finit_module macro is defined. > > #ifdef __UCLIBC__ > extern int init_module(void *module, unsigned long len, const char > *options); > extern int delete_module(const char *module, unsigned int flags); > #else > # include <sys/syscall.h> > # define init_module(mod, len, opts) syscall(__NR_init_module, mod, len, > opts) > # if defined(__NR_finit_module) > # define finit_module(fd, uargs, flags) syscall(__NR_finit_module, fd, > uargs, flags) > # endif > # define delete_module(mod, flags) syscall(__NR_delete_module, mod, flags) > #endif
init_module / delete_module is just a wrapper for the syscalls. Wouldn't it be just better to remove the wrappers in uClibc-ng and just use syscall(..) like for all others? Can you try something like this? best regards Waldemar _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
