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

r6181 - in glibc-package/trunk/debian: . patches/powerpc



Author: adconrad
Date: 2014-06-19 12:32:17 +0000 (Thu, 19 Jun 2014)
New Revision: 6181

Modified:
   glibc-package/trunk/debian/changelog
   glibc-package/trunk/debian/patches/powerpc/local-powerpc8xx-dcbz.diff
Log:
debian/patches/powerpc/local-powerpc8xx-dcbz.diff: Restrict the trap
to 32-bit builds, since the Freescale 8xx CPUs aren't 64-bit capable.

Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog	2014-06-19 10:19:40 UTC (rev 6180)
+++ glibc-package/trunk/debian/changelog	2014-06-19 12:32:17 UTC (rev 6181)
@@ -10,6 +10,8 @@
 
   [ Adam Conrad ]
   * debian/control.in/main: glibc-source Conflics/Replaces eglibc-source.
+  * debian/patches/powerpc/local-powerpc8xx-dcbz.diff: Restrict the trap
+    to 32-bit builds, since the Freescale 8xx CPUs aren't 64-bit capable.
 
  -- Aurelien Jarno <aurel32@debian.org>  Tue, 17 Jun 2014 20:33:56 +0200
 

Modified: glibc-package/trunk/debian/patches/powerpc/local-powerpc8xx-dcbz.diff
===================================================================
--- glibc-package/trunk/debian/patches/powerpc/local-powerpc8xx-dcbz.diff	2014-06-19 10:19:40 UTC (rev 6180)
+++ glibc-package/trunk/debian/patches/powerpc/local-powerpc8xx-dcbz.diff	2014-06-19 12:32:17 UTC (rev 6181)
@@ -1,6 +1,6 @@
 --- a/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
 +++ b/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
-@@ -25,9 +25,21 @@
+@@ -25,10 +25,28 @@
  /* Scan the Aux Vector for the "Data Cache Block Size" entry.  If found
     verify that the static extern __cache_line_size is defined by checking
     for not NULL.  If it is defined then assign the cache block size
@@ -11,21 +11,29 @@
 +   correctly.  That requires reading SPR, which is a privileged
 +   operation.  Fortunately 2.2.18 and later emulates PowerPC mfspr
 +   reads from the PVR register.   */
- #define DL_PLATFORM_AUXV						      \
++#ifndef __powerpc64__
++ #define DL_PLATFORM_AUXV						      \
++      case AT_DCACHEBSIZE:						      \
++	{								      \
++	  unsigned pvr = 0;						      \
++	  asm ("mfspr %0, 287" : "=r" (pvr));				      \
++	  if ((pvr & 0xffff0000) == 0x00500000)				      \
++	    break;							      \
++	}								      \
++ 	__cache_line_size = av->a_un.a_val;				      \
++ 	break;
++#else
+-#define DL_PLATFORM_AUXV						      \
++ #define DL_PLATFORM_AUXV						      \
        case AT_DCACHEBSIZE:						      \
-+	if (__LINUX_KERNEL_VERSION >= 0x020218)				      \
-+	  {								      \
-+	    unsigned pvr = 0;						      \
-+	    asm ("mfspr %0, 287" : "=r" (pvr));				      \
-+	    if ((pvr & 0xffff0000) == 0x00500000)			      \
-+	      break;							      \
-+	  }								      \
  	__cache_line_size = av->a_un.a_val;				      \
  	break;
++#endif
  
+ #include <sysdeps/unix/sysv/linux/dl-sysdep.c>
 --- a/sysdeps/unix/sysv/linux/powerpc/libc-start.c
 +++ b/sysdeps/unix/sysv/linux/powerpc/libc-start.c
-@@ -68,11 +68,24 @@
+@@ -68,11 +68,25 @@
        rtld_fini = NULL;
      }
  
@@ -40,14 +48,15 @@
      switch (av->a_type)
        {
        case AT_DCACHEBSIZE:
-+	if (__LINUX_KERNEL_VERSION >= 0x020218)
-+	  {
-+	    unsigned pvr = 0;
-+	    
-+	    asm ("mfspr %0, 287" : "=r" (pvr) :);
-+	    if ((pvr & 0xffff0000) == 0x00500000)
-+	      break;
-+	  }
++#ifndef __powerpc64__
++	{
++	  unsigned pvr = 0;
++
++	  asm ("mfspr %0, 287" : "=r" (pvr) :);
++	  if ((pvr & 0xffff0000) == 0x00500000)
++	    break;
++	}
++#endif
  	__cache_line_size = av->a_un.a_val;
  	break;
        }


Reply to: