[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#687350: unblock: nvclock/0.8b4+cvs20100914-3



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package nvclock

It fixes some segfaults if used with newer graphics cards and newer
versions of the proprietary driver.  #671135
Furthermore enables building for armhf.  #684490

The debdiff contains the addition of fix-CFLAGS.diff, but this patch is
*not enabled* in the series file.


Andreas

unblock nvclock/0.8b4+cvs20100914-3
diffstat for nvclock-0.8b4+cvs20100914 nvclock-0.8b4+cvs20100914

 changelog                 |    9 +++++++++
 control                   |    8 ++++----
 patches/fix-CFLAGS.diff   |   16 ++++++++++++++++
 patches/fix-segfault.diff |   40 ++++++++++++++++++++++++++++++++++++++++
 patches/series            |    1 +
 5 files changed, 70 insertions(+), 4 deletions(-)

diff -Nru nvclock-0.8b4+cvs20100914/debian/changelog nvclock-0.8b4+cvs20100914/debian/changelog
--- nvclock-0.8b4+cvs20100914/debian/changelog	2012-02-16 20:00:20.000000000 +0100
+++ nvclock-0.8b4+cvs20100914/debian/changelog	2012-08-16 17:45:56.000000000 +0200
@@ -1,3 +1,12 @@
+nvclock (0.8b4+cvs20100914-3) unstable; urgency=low
+
+  * Build binary packages for armhf, since it should have similar hardware
+    availability to armel.  (Closes: #684490) 
+  * fix-segfaults.diff: New patch to fix segmentation faults with newer GPUs
+    and newer Nvidia drivers.  (Closes: #671135)
+
+ -- Andreas Beckmann <debian@abeckmann.de>  Thu, 16 Aug 2012 17:45:56 +0200
+
 nvclock (0.8b4+cvs20100914-2) unstable; urgency=low
 
   [ Andreas Beckmann ]
diff -Nru nvclock-0.8b4+cvs20100914/debian/control nvclock-0.8b4+cvs20100914/debian/control
--- nvclock-0.8b4+cvs20100914/debian/control	2012-02-16 19:59:06.000000000 +0100
+++ nvclock-0.8b4+cvs20100914/debian/control	2012-08-15 11:25:36.000000000 +0200
@@ -22,7 +22,7 @@
 Vcs-Browser: http://svn.debian.org/wsvn/pkg-nvidia/packages/nvclock/
 
 Package: nvclock
-Architecture: alpha amd64 armel hppa i386 ia64 powerpc sparc
+Architecture: alpha amd64 armel armhf hppa i386 ia64 powerpc sparc
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Recommends: smartdimmer
 Suggests: ${nvidia:Suggests}
@@ -35,7 +35,7 @@
  versions.
 
 Package: nvclock-gtk
-Architecture: alpha amd64 armel hppa i386 ia64 powerpc sparc
+Architecture: alpha amd64 armel armhf hppa i386 ia64 powerpc sparc
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Suggests: ${nvidia:Suggests}
 Description: Overclock an NVIDIA card (GTK+ interface)
@@ -47,7 +47,7 @@
  for the console version.
 
 Package: nvclock-qt
-Architecture: alpha amd64 armel hppa i386 ia64 powerpc sparc
+Architecture: alpha amd64 armel armhf hppa i386 ia64 powerpc sparc
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Suggests: ${nvidia:Suggests}
 Description: Overclock an NVIDIA card (Qt interface)
@@ -59,7 +59,7 @@
  for the console version.
 
 Package: smartdimmer
-Architecture: alpha amd64 armel hppa i386 ia64 powerpc sparc
+Architecture: alpha amd64 armel armhf hppa i386 ia64 powerpc sparc
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Breaks: nvclock (<< 0.8b4+cvs20100914-2~)
 Replaces: nvclock (<< 0.8b4+cvs20100914-2~)
diff -Nru nvclock-0.8b4+cvs20100914/debian/patches/fix-CFLAGS.diff nvclock-0.8b4+cvs20100914/debian/patches/fix-CFLAGS.diff
--- nvclock-0.8b4+cvs20100914/debian/patches/fix-CFLAGS.diff	1970-01-01 01:00:00.000000000 +0100
+++ nvclock-0.8b4+cvs20100914/debian/patches/fix-CFLAGS.diff	2012-08-16 17:39:49.000000000 +0200
@@ -0,0 +1,16 @@
+--- a/src/backend/Makefile.in
++++ b/src/backend/Makefile.in
+@@ -1,11 +1,11 @@
+-CC=@CC@ -O0
++CC=@CC@
+ AR=ar
+ RANLIB=@RANLIB@
+ 
+ system=@system@
+ HAVE_NVCONTROL=@HAVE_NVCONTROL@
+ OBJECTS=backend.o bios.o config.o error.o nv30.o nv40.o nv50.o info.o overclock.o utils.o i2c.o xf86i2c.o adt7473.o f75375.o lm99.o w83781d.o w83l785r.o libc_wrapper.o
+-CFLAGS=@X11_CFLAGS@ -I../.. -I../nvcontrol
++CFLAGS=@CFLAGS@ @X11_CFLAGS@ -I../.. -I../nvcontrol -O0
+ 
+ ifeq ($(system), FreeBSD)
+     OBJECTS+=back_bsd.o
diff -Nru nvclock-0.8b4+cvs20100914/debian/patches/fix-segfault.diff nvclock-0.8b4+cvs20100914/debian/patches/fix-segfault.diff
--- nvclock-0.8b4+cvs20100914/debian/patches/fix-segfault.diff	1970-01-01 01:00:00.000000000 +0100
+++ nvclock-0.8b4+cvs20100914/debian/patches/fix-segfault.diff	2012-08-16 17:39:28.000000000 +0200
@@ -0,0 +1,40 @@
+Author: Andreas Beckmann <debian@abeckmann.de>
+Subject: fix segmentation faults with newer driver and GPUs
+ fix device mask to exclude new devices
+ error out if mmap()ing PMC failed
+Bug-Debian: http://bugs.debian.org/671135
+
+--- a/src/backend/utils.c
++++ b/src/backend/utils.c
+@@ -88,7 +88,7 @@
+ int get_gpu_arch(int device_id)
+ {
+ 	int arch;
+-	switch(device_id & 0xff0)
++	switch(device_id & 0xfff0)
+ 	{
+ 		case 0x20:
+ 			arch = NV5;
+--- a/src/backend/back_linux.c
++++ b/src/backend/back_linux.c
+@@ -270,6 +270,8 @@
+ 
+ 	base = mmap((caddr_t)0, Size + alignOff, PROT_READ|PROT_WRITE,
+ 	mapflags, dev->fd, (off_t)realBase);
++	if (base == MAP_FAILED)
++		return NULL;
+ 	return (void *) ((char *)base + alignOff);
+ }
+ 
+--- a/src/backend/backend.c
++++ b/src/backend/backend.c
+@@ -41,6 +41,9 @@
+ 	nv_card->PFB     = map_dev_mem(fd, nv_card->reg_address + 0x100000, 0x1000);
+ 	/* normally pmc is till 0x2000 but extended it for nv40 */
+ 	nv_card->PMC     = map_dev_mem(fd, nv_card->reg_address + 0x000000, 0x2ffff);
++	if (!nv_card->PMC)
++		set_error_str("failed to mmap PMC");
++		return 0;
+ 	nv_card->PCIO    = map_dev_mem(fd, nv_card->reg_address + 0x601000, 0x2000);
+ 	nv_card->PDISPLAY = map_dev_mem(fd, nv_card->reg_address + NV_PDISPLAY_OFFSET, NV_PDISPLAY_SIZE);
+ 	nv_card->PRAMDAC = map_dev_mem(fd, nv_card->reg_address + 0x680000, 0x2000);
diff -Nru nvclock-0.8b4+cvs20100914/debian/patches/series nvclock-0.8b4+cvs20100914/debian/patches/series
--- nvclock-0.8b4+cvs20100914/debian/patches/series	2012-02-16 19:58:44.000000000 +0100
+++ nvclock-0.8b4+cvs20100914/debian/patches/series	2012-08-16 17:07:20.000000000 +0200
@@ -4,3 +4,4 @@
 desktop-fixes.diff
 qt4.diff
 multiarch.diff
+fix-segfault.diff

Reply to: