* Get Xen to build with GCC 4.5 and Glibc 2.12.
svn path=/nixpkgs/branches/stdenv-updates/; revision=25247
This commit is contained in:
parent
569ae5fe13
commit
770ca317ba
@ -44,6 +44,9 @@ stdenv.mkDerivation {
|
|||||||
[ # Xen looks for headers in /usr/include and for libraries using
|
[ # Xen looks for headers in /usr/include and for libraries using
|
||||||
# ldconfig. Don't do that.
|
# ldconfig. Don't do that.
|
||||||
./has-header.patch
|
./has-header.patch
|
||||||
|
|
||||||
|
# GCC 4.5 compatibility.
|
||||||
|
./gcc-4.5.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
@ -101,6 +104,10 @@ stdenv.mkDerivation {
|
|||||||
${flip concatMapStrings stubdomSrcs (x: let src = fetchurl x; in ''
|
${flip concatMapStrings stubdomSrcs (x: let src = fetchurl x; in ''
|
||||||
cp ${src} stubdom/${src.name}
|
cp ${src} stubdom/${src.name}
|
||||||
'')}
|
'')}
|
||||||
|
|
||||||
|
# Hack to get `gcc -m32' to work without having 32-bit Glibc headers.
|
||||||
|
mkdir -p tools/include/gnu
|
||||||
|
touch tools/include/gnu/stubs-32.h
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postBuild =
|
postBuild =
|
||||||
|
39
pkgs/applications/virtualization/xen/gcc-4.5.patch
Normal file
39
pkgs/applications/virtualization/xen/gcc-4.5.patch
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
http://lists.xensource.com/archives/html/xen-devel/2010-07/msg01276.html
|
||||||
|
|
||||||
|
diff -ru -x '*~' xen-4.0.1-orig//extras/mini-os/arch/x86/mm.c xen-4.0.1//extras/mini-os/arch/x86/mm.c
|
||||||
|
--- xen-4.0.1-orig//extras/mini-os/arch/x86/mm.c 2010-08-25 12:22:07.000000000 +0200
|
||||||
|
+++ xen-4.0.1//extras/mini-os/arch/x86/mm.c 2010-12-22 20:10:05.000000000 +0100
|
||||||
|
@@ -281,7 +281,7 @@
|
||||||
|
/*
|
||||||
|
* Mark portion of the address space read only.
|
||||||
|
*/
|
||||||
|
-extern void shared_info;
|
||||||
|
+extern char shared_info[PAGE_SIZE];
|
||||||
|
static void set_readonly(void *text, void *etext)
|
||||||
|
{
|
||||||
|
unsigned long start_address =
|
||||||
|
diff -ru -x '*~' xen-4.0.1-orig//extras/mini-os/minios.mk xen-4.0.1//extras/mini-os/minios.mk
|
||||||
|
--- xen-4.0.1-orig//extras/mini-os/minios.mk 2010-08-25 12:22:07.000000000 +0200
|
||||||
|
+++ xen-4.0.1//extras/mini-os/minios.mk 2010-12-22 20:03:11.000000000 +0100
|
||||||
|
@@ -10,6 +10,7 @@
|
||||||
|
DEF_CFLAGS += $(call cc-option,$(CC),-fno-stack-protector,)
|
||||||
|
DEF_CFLAGS += $(call cc-option,$(CC),-fgnu89-inline)
|
||||||
|
DEF_CFLAGS += -Wstrict-prototypes -Wnested-externs -Wpointer-arith -Winline
|
||||||
|
+DEF_CFLAGS += -Wno-uninitialized
|
||||||
|
DEF_CPPFLAGS += -D__XEN_INTERFACE_VERSION__=$(XEN_INTERFACE_VERSION)
|
||||||
|
|
||||||
|
DEF_ASFLAGS += -D__ASSEMBLY__
|
||||||
|
diff -ru -x '*~' xen-4.0.1-orig//extras/mini-os/netfront.c xen-4.0.1//extras/mini-os/netfront.c
|
||||||
|
--- xen-4.0.1-orig//extras/mini-os/netfront.c 2010-08-25 12:22:07.000000000 +0200
|
||||||
|
+++ xen-4.0.1//extras/mini-os/netfront.c 2010-12-22 19:56:59.000000000 +0100
|
||||||
|
@@ -25,8 +25,8 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-#define NET_TX_RING_SIZE __RING_SIZE((struct netif_tx_sring *)0, PAGE_SIZE)
|
||||||
|
-#define NET_RX_RING_SIZE __RING_SIZE((struct netif_rx_sring *)0, PAGE_SIZE)
|
||||||
|
+#define NET_TX_RING_SIZE __CONST_RING_SIZE(netif_tx, PAGE_SIZE)
|
||||||
|
+#define NET_RX_RING_SIZE __CONST_RING_SIZE(netif_rx, PAGE_SIZE)
|
||||||
|
#define GRANT_INVALID_REF 0
|
||||||
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user