diff options
3 files changed, 94 insertions, 3 deletions
diff --git a/sys-kernel/openvz-sources/ChangeLog b/sys-kernel/openvz-sources/ChangeLog index bc14dc5064fb..a12585132f46 100644 --- a/sys-kernel/openvz-sources/ChangeLog +++ b/sys-kernel/openvz-sources/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sys-kernel/openvz-sources # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/openvz-sources/ChangeLog,v 1.154 2010/11/09 13:55:32 pva Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/openvz-sources/ChangeLog,v 1.155 2010/11/10 05:41:56 pva Exp $ + + 10 Nov 2010; Peter Volkov <pva@gentoo.org> + openvz-sources-2.6.32.10.1.ebuild, + +files/openvz-sources-2.6.32.10.1-VDSO_sysenter_return.patch: + Added patch for gcc-4.5 build issue, bug #329083, thank David Carlos + Manuelda for report. *openvz-sources-2.6.32.10.1 (09 Nov 2010) diff --git a/sys-kernel/openvz-sources/files/openvz-sources-2.6.32.10.1-VDSO_sysenter_return.patch b/sys-kernel/openvz-sources/files/openvz-sources-2.6.32.10.1-VDSO_sysenter_return.patch new file mode 100644 index 000000000000..384fc755e69f --- /dev/null +++ b/sys-kernel/openvz-sources/files/openvz-sources-2.6.32.10.1-VDSO_sysenter_return.patch @@ -0,0 +1,83 @@ +http://bugzilla.openvz.org/show_bug.cgi?id=1586 +http://bugs.gentoo.org/show_bug.cgi?id=329083 + + - Add tricks for hrtimer C/R code + - More vDSO32 conditional compilation on dump/restore + kernel/cpt/cpt_dump.c | 4 ++-- + kernel/cpt/cpt_mm.h | 2 +- + kernel/cpt/rst_mm.c | 2 ++ + kernel/cpt/rst_undump.c | 6 +++--- + 4 files changed, 8 insertions(+), 6 deletions(-) +--- linux-2.6-openvz/kernel/cpt/cpt_dump.c ++++ linux-2.6-openvz/kernel/cpt/cpt_dump.c +@@ -843,7 +843,7 @@ static int cpt_dump_utsname(cpt_context_ + return 0; + } + +-#ifndef CONFIG_IA64 ++#if defined(CONFIG_X86_32) || defined(CONFIG_COMPAT) + static int cpt_dump_vsyscall(cpt_context_t *ctx) + { + struct cpt_page_block *pgb = cpt_get_buf(ctx); +@@ -947,7 +947,7 @@ int cpt_dump(struct cpt_context *ctx) + if (!err) + err = cpt_dump_utsname(ctx); + +-#ifndef CONFIG_IA64 ++#if defined(CONFIG_X86_32) || defined(CONFIG_COMPAT) + if (!err) + err = cpt_dump_vsyscall(ctx); + #endif +--- linux-2.6-openvz/kernel/cpt/cpt_mm.h ++++ linux-2.6-openvz/kernel/cpt/cpt_mm.h +@@ -27,7 +27,7 @@ extern int arch_setup_additional_pages(s + unsigned long map_address); + #endif + +-#ifdef CONFIG_X86 ++#if defined(CONFIG_X86_32) || defined(CONFIG_COMPAT) + extern struct page *vdso32_pages[1]; + #define vsyscall_addr page_address(vdso32_pages[0]) + #endif +--- linux-2.6-openvz/kernel/cpt/rst_mm.c ++++ linux-2.6-openvz/kernel/cpt/rst_mm.c +@@ -982,8 +982,10 @@ static int do_rst_mm(struct cpt_mm_image + #ifndef CONFIG_IA64 + if (ctx->image_version >= CPT_VERSION_9) { + mm->context.vdso = cpt_ptr_import(vmi->cpt_vdso); ++#if defined(CONFIG_X86_32) || defined(CONFIG_COMPAT) + current_thread_info()->sysenter_return = + VDSO32_SYMBOL(mm->context.vdso, SYSENTER_RETURN); ++#endif + } + #endif + +--- linux-2.6-openvz/kernel/cpt/rst_undump.c ++++ linux-2.6-openvz/kernel/cpt/rst_undump.c +@@ -397,7 +397,7 @@ static int hook(void *arg) + + rb = &task_thread_info(current)->restart_block; + rb->fn = hrtimer_nanosleep_restart; +-#ifdef CONFIG_COMPAT ++#if defined(CONFIG_X86_64) && defined(CONFIG_COMPAT) + if (ti->cpt_restart.fn == CPT_RBL_COMPAT_NANOSLEEP) + rb->fn = compat_nanosleep_restart; + #endif +@@ -797,7 +797,7 @@ static int vps_rst_restore_tree(struct c + return err; + } + +-#ifndef CONFIG_IA64 ++#if defined(CONFIG_X86_32) || defined(CONFIG_COMPAT) + int rst_read_vdso(struct cpt_context *ctx) + { + int err; +@@ -871,7 +871,7 @@ int vps_rst_undump(struct cpt_context *c + #ifdef CONFIG_VZ_CHECKPOINT_LAZY + err = rst_setup_pagein(ctx); + #endif +-#ifndef CONFIG_IA64 ++#if defined(CONFIG_X86_32) || defined(CONFIG_COMPAT) + if (err == 0) + err = rst_read_vdso(ctx); + #endif diff --git a/sys-kernel/openvz-sources/openvz-sources-2.6.32.10.1.ebuild b/sys-kernel/openvz-sources/openvz-sources-2.6.32.10.1.ebuild index a231d036b556..c0b6a52b043c 100644 --- a/sys-kernel/openvz-sources/openvz-sources-2.6.32.10.1.ebuild +++ b/sys-kernel/openvz-sources/openvz-sources-2.6.32.10.1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/openvz-sources/openvz-sources-2.6.32.10.1.ebuild,v 1.1 2010/11/09 13:55:32 pva Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/openvz-sources/openvz-sources-2.6.32.10.1.ebuild,v 1.2 2010/11/10 05:41:56 pva Exp $ inherit versionator @@ -50,7 +50,9 @@ SRC_URI="${KERNEL_URI} ${ARCH_URI} UNIPATCH_STRICTORDER=1 UNIPATCH_LIST="${DISTDIR}/patch-${OVZ_KV}-combined.gz ${FILESDIR}/${P}-cpt_process.c-build.patch -${FILESDIR}/${P}-orphans.patch" +${FILESDIR}/${P}-orphans.patch +${FILESDIR}/${P}-VDSO_sysenter_return.patch +" K_EXTRAEINFO="For more information about this kernel take a look at: http://wiki.openvz.org/Download/kernel/${CKV}/${CKV}-${OVZ_KV}" |