* UML 2.4.24-2 is less buggy.

svn path=/nixpkgs/trunk/; revision=1209
This commit is contained in:
Eelco Dolstra 2004-07-31 17:29:10 +00:00
parent 55b6317300
commit b9b9e8b29e
2 changed files with 81 additions and 10 deletions

View file

@ -3,17 +3,21 @@
assert patch != null && perl != null && m4 != null;
stdenv.mkDerivation {
name = "uml-2.4.25-1";
name = "uml-2.4.24-2";
builder = ./builder.sh;
src = fetchurl {
url = ftp://ftp.nl.kernel.org/pub/linux/kernel/v2.4/linux-2.4.25.tar.bz2;
md5 = "5fc8e9f43fa44ac29ddf9a9980af57d8";
url = ftp://ftp.nl.kernel.org/pub/linux/kernel/v2.4/linux-2.4.24.tar.bz2;
md5 = "1e055c42921b2396a559d84df4c3d9aa";
# url = ftp://ftp.nl.kernel.org/pub/linux/kernel/v2.4/linux-2.4.26.tar.bz2;
# md5 = "88d7aefa03c92739cb70298a0b486e2c";
};
umlPatch = fetchurl {
url = http://heanet.dl.sourceforge.net/sourceforge/user-mode-linux/uml-patch-2.4.25-1.bz2;
md5 = "aacbb7b19ec7599119313a31328e1912";
url = http://heanet.dl.sourceforge.net/sourceforge/user-mode-linux/uml-patch-2.4.24-2.bz2;
md5 = "f2aeb4d44f5734d63e98e6d66cc256de";
};
noAioPatch = ./no-aio.patch;
# hostfsPatch = ./hostfs.patch;
# hostfsAccessPatch = ./hostfs-access.patch;
config = ./config;
buildInputs = [patch perl m4];
}

View file

@ -1,6 +1,74 @@
diff -rc linux-orig/arch/um/os-Linux/Makefile linux-2.4.25/arch/um/os-Linux/Makefile
*** linux-orig/arch/um/os-Linux/Makefile 2004-07-29 21:39:41.000000000 +0200
--- linux-2.4.25/arch/um/os-Linux/Makefile 2004-07-29 21:56:51.000000000 +0200
diff -rc linux-orig/arch/um/os-Linux/aio.c linux-2.4.24/arch/um/os-Linux/aio.c
*** linux-orig/arch/um/os-Linux/aio.c 2004-07-29 23:32:53.000000000 +0200
--- linux-2.4.24/arch/um/os-Linux/aio.c 2004-07-30 12:39:46.000000000 +0200
***************
*** 9,15 ****
--- 9,17 ----
#include <errno.h>
#include <sched.h>
#include <sys/syscall.h>
+ #if defined(HAVE_AIO_ABI)
#include <linux/aio_abi.h>
+ #endif
#include "os.h"
#include "helper.h"
#include "aio.h"
***************
*** 245,250 ****
--- 247,253 ----
return(0);
}
+ #if defined(HAVE_AIO_ABI)
static int init_aio_26(void)
{
unsigned long stack;
***************
*** 282,287 ****
--- 285,297 ----
return(init_aio_24());
else return(init_aio_26());
}
+ #else
+ static int init_aio(void)
+ {
+ printk("Compiled without 2.6 AIO support\n");
+ return(init_aio_24());
+ }
+ #endif
__initcall(init_aio);
***************
*** 313,318 ****
--- 323,329 ----
return(err);
}
+ #if defined(HAVE_AIO_ABI)
int submit_aio_26(enum aio_type type, int io_fd, char *buf, int len,
unsigned long long offset, int reply_fd, void *data)
{
***************
*** 345,350 ****
--- 356,368 ----
data));
}
}
+ #else
+ int submit_aio(enum aio_type type, int io_fd, char *buf, int len,
+ unsigned long long offset, int reply_fd, void *data)
+ {
+ return(submit_aio_24(type, io_fd, buf, len, offset, reply_fd, data));
+ }
+ #endif
/*
* Overrides for Emacs so that we follow Linus's tabbing style.
Only in linux-2.4.24/arch/um/os-Linux: aio.c~
diff -rc linux-orig/arch/um/os-Linux/Makefile linux-2.4.24/arch/um/os-Linux/Makefile
*** linux-orig/arch/um/os-Linux/Makefile 2004-07-29 23:32:53.000000000 +0200
--- linux-2.4.24/arch/um/os-Linux/Makefile 2004-07-29 23:33:15.000000000 +0200
***************
*** 7,16 ****
@ -13,11 +81,10 @@ diff -rc linux-orig/arch/um/os-Linux/Makefile linux-2.4.25/arch/um/os-Linux/Make
CFLAGS_aio.o = $(HAVE_AIO_ABI) $(HAVE_AIO_LIBC)
include $(TOPDIR)/Rules.make
--- 7,15 ----
--- 7,14 ----
obj-y = aio.o file.o process.o time.o tty.o
! # Removed impure check for AIO feature in glibc.
! HAVE_AIO_ABI =
! HAVE_AIO_LIBC =
CFLAGS_aio.o = $(HAVE_AIO_ABI) $(HAVE_AIO_LIBC)