summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Januszewski <spock@gentoo.org>2008-11-03 23:38:43 +0000
committerMichael Januszewski <spock@gentoo.org>2008-11-03 23:38:43 +0000
commit19eab6d4d0e464c2384e3d49cb3cf7664c444463 (patch)
tree8f2a9914f45a6b2ea98fda6ada2dcd25497bb97b /sys-apps/v86d
parentNew version for GNOME 2.24. Update code to use xrandr 1.2 capabilities, moder... (diff)
downloadgentoo-2-19eab6d4d0e464c2384e3d49cb3cf7664c444463.tar.gz
gentoo-2-19eab6d4d0e464c2384e3d49cb3cf7664c444463.tar.bz2
gentoo-2-19eab6d4d0e464c2384e3d49cb3cf7664c444463.zip
Add a fix for bug #245254.
(Portage version: 2.2_rc13/cvs/Linux 2.6.27 x86_64)
Diffstat (limited to 'sys-apps/v86d')
-rw-r--r--sys-apps/v86d/ChangeLog6
-rw-r--r--sys-apps/v86d/files/v86d-0.1.9-prot_write.patch28
-rw-r--r--sys-apps/v86d/v86d-0.1.9.ebuild10
3 files changed, 41 insertions, 3 deletions
diff --git a/sys-apps/v86d/ChangeLog b/sys-apps/v86d/ChangeLog
index 9035919051d2..52bb4733c0be 100644
--- a/sys-apps/v86d/ChangeLog
+++ b/sys-apps/v86d/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for sys-apps/v86d
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/v86d/ChangeLog,v 1.28 2008/10/18 17:27:33 spock Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/v86d/ChangeLog,v 1.29 2008/11/03 23:38:43 spock Exp $
+
+ 03 Nov 2008; Michał Januszewski <spock@gentoo.org>
+ +files/v86d-0.1.9-prot_write.patch, v86d-0.1.9.ebuild:
+ Add a fix for bug #245254.
18 Oct 2008; Michał Januszewski <spock@gentoo.org> -v86d-0.1.5.2.ebuild,
-v86d-0.1.6.ebuild, -v86d-0.1.7.ebuild, -v86d-0.1.8.ebuild:
diff --git a/sys-apps/v86d/files/v86d-0.1.9-prot_write.patch b/sys-apps/v86d/files/v86d-0.1.9-prot_write.patch
new file mode 100644
index 000000000000..109c1c731b7b
--- /dev/null
+++ b/sys-apps/v86d/files/v86d-0.1.9-prot_write.patch
@@ -0,0 +1,28 @@
+diff --git a/v86_mem.c b/v86_mem.c
+index 4cedbbe..23eb7c0 100644
+--- a/v86_mem.c
++++ b/v86_mem.c
+@@ -293,7 +293,13 @@ int v86_mem_init(void)
+ }
+ vbios_size = tmp[2] * 0x200;
+ ulog(LOG_DEBUG, "VBIOS at %5x-%5x\n", VBIOS_BASE, VBIOS_BASE + vbios_size - 1);
+- mem_vbios = map_file(NULL, vbios_size, PROT_READ,
++
++ /*
++ * The Video BIOS and the System BIOS have to be mapped with PROT_WRITE.
++ * There is at least one case where mapping them without this flag causes
++ * a segfault during the emulation: https://bugs.gentoo.org/show_bug.cgi?id=245254
++ */
++ mem_vbios = map_file(NULL, vbios_size, PROT_READ | PROT_WRITE,
+ MAP_SHARED, "/dev/mem", VBIOS_BASE);
+
+ if (!mem_vbios) {
+@@ -303,7 +309,7 @@ int v86_mem_init(void)
+ }
+
+ /* Map the system BIOS */
+- mem_sbios = map_file(NULL, SBIOS_SIZE, PROT_READ,
++ mem_sbios = map_file(NULL, SBIOS_SIZE, PROT_READ | PROT_WRITE,
+ MAP_SHARED, "/dev/mem", SBIOS_BASE);
+ if (!mem_sbios) {
+ ulog(LOG_ERR, "Failed to mmap the System BIOS as %5x.", SBIOS_BASE);
diff --git a/sys-apps/v86d/v86d-0.1.9.ebuild b/sys-apps/v86d/v86d-0.1.9.ebuild
index 245308776b0a..8252b76eb366 100644
--- a/sys-apps/v86d/v86d-0.1.9.ebuild
+++ b/sys-apps/v86d/v86d-0.1.9.ebuild
@@ -1,8 +1,8 @@
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/v86d/v86d-0.1.9.ebuild,v 1.2 2008/10/04 09:38:55 spock Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/v86d/v86d-0.1.9.ebuild,v 1.3 2008/11/03 23:38:43 spock Exp $
-inherit linux-info multilib
+inherit eutils linux-info multilib
DESCRIPTION="A daemon to run x86 code in an emulated environment."
HOMEPAGE="http://dev.gentoo.org/~spock/projects/uvesafb/"
@@ -27,6 +27,12 @@ pkg_setup() {
linux-info_pkg_setup
}
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}/${P}-prot_write.patch"
+}
+
src_compile() {
./configure --with-klibc $(use_with debug) $(use_with x86emu) || die
emake KDIR="${KV_DIR}" || die