Author: aurel32
Date: 2014-05-21 12:00:44 +0000 (Wed, 21 May 2014)
New Revision: 6096

Added:
   
glibc-package/branches/glibc-2.19/debian/patches/any/local-dynamic-resolvconf.diff
   
glibc-package/branches/glibc-2.19/debian/patches/powerpc/local-powerpc8xx-dcbz.diff
   glibc-package/branches/glibc-2.19/debian/patches/sh4/local-fpscr_values.diff
Modified:
   glibc-package/branches/glibc-2.19/debian/changelog
   glibc-package/branches/glibc-2.19/debian/patches/series
Log:
  - patches/any/local-dynamic-resolvconf.diff: new patch from the eglibc
    tree to dynamically take into account changes in resolv.conf.
  - patches/powerpc/local-powerpc8xx-dcbz.diff: new patch from the eglibc
    tree to workaround dcbz issues on PowerPC 8XX CPUs.
  - patches/sh4/local-fpscr_values.diff: new patch from eglibc tree to
    export the ___fpscr_values symbol on SH4.

Modified: glibc-package/branches/glibc-2.19/debian/changelog
===================================================================
--- glibc-package/branches/glibc-2.19/debian/changelog  2014-05-21 10:59:50 UTC 
(rev 6095)
+++ glibc-package/branches/glibc-2.19/debian/changelog  2014-05-21 12:00:44 UTC 
(rev 6096)
@@ -17,6 +17,12 @@
       to fetch the branch updates through git.
     - patches/any/submitted-nl_langinfo-static.diff: refresh.
     - patches/any/submitted-ldsodefs_rtld_debug.diff: drop.
+    - patches/any/local-dynamic-resolvconf.diff: new patch from the eglibc
+      tree to dynamically take into account changes in resolv.conf.
+    - patches/powerpc/local-powerpc8xx-dcbz.diff: new patch from the eglibc
+      tree to workaround dcbz issues on PowerPC 8XX CPUs.
+    - patches/sh4/local-fpscr_values.diff: new patch from eglibc tree to
+      export the ___fpscr_values symbol on SH4.
 
  -- Aurelien Jarno <[email protected]>  Wed, 21 May 2014 12:38:51 +0200
 

Added: 
glibc-package/branches/glibc-2.19/debian/patches/any/local-dynamic-resolvconf.diff
===================================================================
--- 
glibc-package/branches/glibc-2.19/debian/patches/any/local-dynamic-resolvconf.diff
                          (rev 0)
+++ 
glibc-package/branches/glibc-2.19/debian/patches/any/local-dynamic-resolvconf.diff
  2014-05-21 12:00:44 UTC (rev 6096)
@@ -0,0 +1,44 @@
+--- a/resolv/res_libc.c        
++++ b/resolv/res_libc.c        
+@@ -22,12 +22,13 @@
+ #include <arpa/nameser.h>
+ #include <resolv.h>
+ #include <bits/libc-lock.h>
+-
++#include <sys/stat.h>
+ 
+ /* The following bit is copied from res_data.c (where it is #ifdef'ed
+    out) since res_init() should go into libc.so but the rest of that
+    file should not.  */
+ 
++__libc_lock_define_initialized (static, lock);
+ extern unsigned long long int __res_initstamp attribute_hidden;
+ /* We have atomic increment operations on 64-bit platforms.  */
+ #if __WORDSIZE == 64
+@@ -35,7 +36,6 @@
+ # define atomicincunlock(lock) (void) 0
+ # define atomicinc(var) catomic_increment (&(var))
+ #else
+-__libc_lock_define_initialized (static, lock);
+ # define atomicinclock(lock) __libc_lock_lock (lock)
+ # define atomicincunlock(lock) __libc_lock_unlock (lock)
+ # define atomicinc(var) ++var
+@@ -94,7 +94,18 @@
+ int
+ __res_maybe_init (res_state resp, int preinit)
+ {
++      static time_t last_mtime;
++      struct stat statbuf;
++      int ret;
++
+       if (resp->options & RES_INIT) {
++              ret = stat (_PATH_RESCONF, &statbuf);
++              __libc_lock_lock (lock);
++              if ((ret == 0) && (last_mtime != statbuf.st_mtime)) {
++                      last_mtime = statbuf.st_mtime;
++                      atomicinc (__res_initstamp);
++              }
++              __libc_lock_unlock (lock);
+               if (__res_initstamp != resp->_u._ext.initstamp) {
+                       if (resp->nscount > 0)
+                               __res_iclose (resp, true);

Added: 
glibc-package/branches/glibc-2.19/debian/patches/powerpc/local-powerpc8xx-dcbz.diff
===================================================================
--- 
glibc-package/branches/glibc-2.19/debian/patches/powerpc/local-powerpc8xx-dcbz.diff
                         (rev 0)
+++ 
glibc-package/branches/glibc-2.19/debian/patches/powerpc/local-powerpc8xx-dcbz.diff
 2014-05-21 12:00:44 UTC (rev 6096)
@@ -0,0 +1,53 @@
+--- a/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
++++ b/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
+@@ -25,9 +25,21 @@
+ /* 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
+-   value to __cache_line_size.  */
++   value to __cache_line_size.  This is used by memset to
++   optimize setting to zero.  We have to detect 8xx processors, which
++   have buggy dcbz implementations that cannot report page faults
++   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                                                    \
+       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;
+ 
+--- a/sysdeps/unix/sysv/linux/powerpc/libc-start.c
++++ b/sysdeps/unix/sysv/linux/powerpc/libc-start.c
+@@ -68,11 +68,24 @@
+       rtld_fini = NULL;
+     }
+ 
+-  /* Initialize the __cache_line_size variable from the aux vector.  */
++  /* Initialize the __cache_line_size variable from the aux vector.
++     This is used by memset to optimize setting to zero.  We have to
++     detect 8xx processors, which have buggy dcbz implementations that
++     cannot report page faults correctly.  That requires reading SPR,
++     which is a privileged operation.  Fortunately 2.2.18 and later
++     emulates PowerPC mfspr reads from the PVR register.  */
+   for (ElfW (auxv_t) * av = auxvec; av->a_type != AT_NULL; ++av)
+     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;
++        }
+       __cache_line_size = av->a_un.a_val;
+       break;
+       }

Modified: glibc-package/branches/glibc-2.19/debian/patches/series
===================================================================
--- glibc-package/branches/glibc-2.19/debian/patches/series     2014-05-21 
10:59:50 UTC (rev 6095)
+++ glibc-package/branches/glibc-2.19/debian/patches/series     2014-05-21 
12:00:44 UTC (rev 6096)
@@ -173,9 +173,12 @@
 
 powerpc/local-math-logb.diff
 powerpc/cvs-ibm-branch.diff
+powerpc/local-powerpc8xx-dcbz.diff
 
 s390/submitted-nexttowardf.diff
 
+sh4/local-fpscr_values.diff
+
 sparc/local-fork.diff
 sparc/local-sparcv9-target.diff
 sparc/submitted-timing.diff
@@ -243,3 +246,4 @@
 any/cvs-socketcall-syscall.diff
 any/submitted-nl_langinfo-static.diff
 any/cvs-strtod.diff
+any/local-dynamic-resolvconf.diff

Added: 
glibc-package/branches/glibc-2.19/debian/patches/sh4/local-fpscr_values.diff
===================================================================
--- 
glibc-package/branches/glibc-2.19/debian/patches/sh4/local-fpscr_values.diff    
                            (rev 0)
+++ 
glibc-package/branches/glibc-2.19/debian/patches/sh4/local-fpscr_values.diff    
    2014-05-21 12:00:44 UTC (rev 6096)
@@ -0,0 +1,27 @@
+--- a/sysdeps/unix/sysv/linux/sh/sysdep.S
++++ b/sysdeps/unix/sysv/linux/sh/sysdep.S
+@@ -30,3 +30,14 @@
+ 
+ #define __syscall_error __syscall_error_1
+ #include <sysdeps/unix/sh/sysdep.S>
++
++       .data
++       .align 3
++       .globl ___fpscr_values
++       .type ___fpscr_values, @object
++       .size ___fpscr_values, 8
++___fpscr_values:
++       .long 0
++       .long 0x80000
++weak_alias (___fpscr_values, __fpscr_values)
++
+--- a/sysdeps/unix/sysv/linux/sh/Versions
++++ b/sysdeps/unix/sysv/linux/sh/Versions
+@@ -2,6 +2,7 @@
+   GLIBC_2.2 {
+     # functions used in other libraries
+     __xstat64; __fxstat64; __lxstat64;
++    __fpscr_values;
+ 
+     # a*
+     alphasort64;


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: https://lists.debian.org/[email protected]

Reply via email to