diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2010-12-22 19:38:26 +0000 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2010-12-22 19:38:26 +0000 |
commit | 770ca317ba85b81f5d854bcf72f0fea515ccc99d (patch) | |
tree | 8d19651958b0872f8a83b33d461f1b13bd7264ce /pkgs/applications/virtualization/xen | |
parent | 569ae5fe130d5834fa3fbe8175fff00b5a8004f4 (diff) | |
download | nixlib-770ca317ba85b81f5d854bcf72f0fea515ccc99d.tar nixlib-770ca317ba85b81f5d854bcf72f0fea515ccc99d.tar.gz nixlib-770ca317ba85b81f5d854bcf72f0fea515ccc99d.tar.bz2 nixlib-770ca317ba85b81f5d854bcf72f0fea515ccc99d.tar.lz nixlib-770ca317ba85b81f5d854bcf72f0fea515ccc99d.tar.xz nixlib-770ca317ba85b81f5d854bcf72f0fea515ccc99d.tar.zst nixlib-770ca317ba85b81f5d854bcf72f0fea515ccc99d.zip |
* Get Xen to build with GCC 4.5 and Glibc 2.12.
svn path=/nixpkgs/branches/stdenv-updates/; revision=25247
Diffstat (limited to 'pkgs/applications/virtualization/xen')
-rw-r--r-- | pkgs/applications/virtualization/xen/default.nix | 7 | ||||
-rw-r--r-- | pkgs/applications/virtualization/xen/gcc-4.5.patch | 39 |
2 files changed, 46 insertions, 0 deletions
diff --git a/pkgs/applications/virtualization/xen/default.nix b/pkgs/applications/virtualization/xen/default.nix index b7a7d1ed31f4..4c93a277e984 100644 --- a/pkgs/applications/virtualization/xen/default.nix +++ b/pkgs/applications/virtualization/xen/default.nix @@ -44,6 +44,9 @@ stdenv.mkDerivation { [ # Xen looks for headers in /usr/include and for libraries using # ldconfig. Don't do that. ./has-header.patch + + # GCC 4.5 compatibility. + ./gcc-4.5.patch ]; buildInputs = @@ -101,6 +104,10 @@ stdenv.mkDerivation { ${flip concatMapStrings stubdomSrcs (x: let src = fetchurl x; in '' 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 = diff --git a/pkgs/applications/virtualization/xen/gcc-4.5.patch b/pkgs/applications/virtualization/xen/gcc-4.5.patch new file mode 100644 index 000000000000..a8412d69fd3f --- /dev/null +++ b/pkgs/applications/virtualization/xen/gcc-4.5.patch @@ -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 + + |