%n linuxrc %v 1.0 %c * %l * %b * %d * %f * %t linuxrc-1.0.tgz %w Linux %% %setup patch -u -p1 <<'ENDPATCH' diff -ru2N linuxrc-1.0/linuxrc.c linuxrc-MCC/linuxrc.c --- linuxrc-1.0/linuxrc.c Fri Aug 30 21:55:44 1996 +++ linuxrc-MCC/linuxrc.c Sun Oct 27 13:12:20 1996 @@ -91,8 +91,6 @@ } -static int create_module(const char *name, unsigned long size) -{ - return syscall( __NR_create_module, name, size); -} +static int create_module(const char *name, unsigned long size); +static _syscall2( int, create_module, const char *, name, unsigned long, size); static int init_module(const char *name, void *code, unsigned codesize, @@ -567,4 +565,8 @@ /* We add "sizeof (int)" to skip over the use count */ addr = create_module(modname, progsize) + sizeof (int); + if( errno > 4095 ) { + addr = sizeof(int)-errno; + errno = 0; + } switch (errno) { ENDPATCH make * make install %%